debug

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 9, 2025 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EdgeInfo

type EdgeInfo struct {
	From      string                 `json:"from"`
	To        string                 `json:"to"`
	Condition string                 `json:"condition,omitempty"`
	Metadata  map[string]interface{} `json:"metadata"`
}

EdgeInfo represents information about a graph edge

type ExecutionStep

type ExecutionStep struct {
	ID            string                 `json:"id"`
	ThreadID      string                 `json:"thread_id"`
	NodeID        string                 `json:"node_id"`
	StepType      string                 `json:"step_type"` // "enter", "exit", "error"
	Timestamp     time.Time              `json:"timestamp"`
	Duration      time.Duration          `json:"duration,omitempty"`
	Input         interface{}            `json:"input,omitempty"`
	Output        interface{}            `json:"output,omitempty"`
	Error         string                 `json:"error,omitempty"`
	Metadata      map[string]interface{} `json:"metadata"`
	StateSnapshot *core.BaseState        `json:"state_snapshot,omitempty"`
}

ExecutionStep represents a single step in graph execution

type GraphTopology

type GraphTopology struct {
	Nodes []NodeInfo `json:"nodes"`
	Edges []EdgeInfo `json:"edges"`
}

GraphTopology represents the structure of a graph

type GraphVisualizer

type GraphVisualizer struct {
	// contains filtered or unexported fields
}

GraphVisualizer provides graph visualization and debugging capabilities

func NewGraphVisualizer

func NewGraphVisualizer(config *VisualizerConfig, checkpointer persistence.Checkpointer) *GraphVisualizer

NewGraphVisualizer creates a new graph visualizer

func (*GraphVisualizer) GenerateDotDiagram

func (gv *GraphVisualizer) GenerateDotDiagram(topology *GraphTopology) string

GenerateDotDiagram generates a DOT diagram from graph topology

func (*GraphVisualizer) GenerateExecutionTrace

func (gv *GraphVisualizer) GenerateExecutionTrace(threadID string) string

GenerateExecutionTrace generates an execution trace visualization

func (*GraphVisualizer) GenerateMermaidDiagram

func (gv *GraphVisualizer) GenerateMermaidDiagram(topology *GraphTopology) string

GenerateMermaidDiagram generates a Mermaid diagram from graph topology

func (*GraphVisualizer) GetDebugInfo

func (gv *GraphVisualizer) GetDebugInfo(threadID string) map[string]interface{}

GetDebugInfo returns debug information for a specific execution

func (*GraphVisualizer) GetExecutionHistory

func (gv *GraphVisualizer) GetExecutionHistory(threadID string) []ExecutionStep

GetExecutionHistory returns the execution history

func (*GraphVisualizer) GetGraphTopology

func (gv *GraphVisualizer) GetGraphTopology(graph *core.Graph) *GraphTopology

GetGraphTopology extracts topology information from a graph

func (*GraphVisualizer) RecordStep

func (gv *GraphVisualizer) RecordStep(step *ExecutionStep)

RecordStep records an execution step

func (*GraphVisualizer) Subscribe

func (gv *GraphVisualizer) Subscribe(subscriber VisualizationSubscriber)

Subscribe adds a visualization subscriber

type NodeInfo

type NodeInfo struct {
	ID          string                 `json:"id"`
	Name        string                 `json:"name"`
	Type        string                 `json:"type"`
	Metadata    map[string]interface{} `json:"metadata"`
	IsStartNode bool                   `json:"is_start_node"`
	IsEndNode   bool                   `json:"is_end_node"`
	Position    *Position              `json:"position,omitempty"`
}

NodeInfo represents information about a graph node

type Position

type Position struct {
	X int `json:"x"`
	Y int `json:"y"`
}

Position represents node position for visualization

type VisualizationSubscriber

type VisualizationSubscriber interface {
	OnStepExecuted(step *ExecutionStep)
	OnGraphCompleted(threadID string, steps []ExecutionStep)
	OnError(err error)
}

VisualizationSubscriber defines interface for visualization subscribers

type VisualizerConfig

type VisualizerConfig struct {
	EnableRealTimeUpdates bool   `json:"enable_real_time_updates"`
	MaxHistorySize        int    `json:"max_history_size"`
	OutputFormat          string `json:"output_format"` // "mermaid", "dot", "json"
	IncludeMetadata       bool   `json:"include_metadata"`
	IncludeTimestamps     bool   `json:"include_timestamps"`
}

VisualizerConfig represents visualizer configuration

func DefaultVisualizerConfig

func DefaultVisualizerConfig() *VisualizerConfig

DefaultVisualizerConfig returns default visualizer configuration

type WebSocketSubscriber

type WebSocketSubscriber struct {
	SendMessage func(message interface{}) error
	// contains filtered or unexported fields
}

WebSocketSubscriber implements VisualizationSubscriber for WebSocket updates

func NewWebSocketSubscriber

func NewWebSocketSubscriber(sendMessage func(message interface{}) error) *WebSocketSubscriber

NewWebSocketSubscriber creates a new WebSocket subscriber

func (*WebSocketSubscriber) OnError

func (ws *WebSocketSubscriber) OnError(err error)

OnError handles error events

func (*WebSocketSubscriber) OnGraphCompleted

func (ws *WebSocketSubscriber) OnGraphCompleted(threadID string, steps []ExecutionStep)

OnGraphCompleted handles graph completion events

func (*WebSocketSubscriber) OnStepExecuted

func (ws *WebSocketSubscriber) OnStepExecuted(step *ExecutionStep)

OnStepExecuted handles step execution events

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL