Documentation
¶
Index ¶
- type EdgeInfo
- type ExecutionStep
- type GraphTopology
- type GraphVisualizer
- func (gv *GraphVisualizer) GenerateDotDiagram(topology *GraphTopology) string
- func (gv *GraphVisualizer) GenerateExecutionTrace(threadID string) string
- func (gv *GraphVisualizer) GenerateMermaidDiagram(topology *GraphTopology) string
- func (gv *GraphVisualizer) GetDebugInfo(threadID string) map[string]interface{}
- func (gv *GraphVisualizer) GetExecutionHistory(threadID string) []ExecutionStep
- func (gv *GraphVisualizer) GetGraphTopology(graph *core.Graph) *GraphTopology
- func (gv *GraphVisualizer) RecordStep(step *ExecutionStep)
- func (gv *GraphVisualizer) Subscribe(subscriber VisualizationSubscriber)
- type NodeInfo
- type Position
- type VisualizationSubscriber
- type VisualizerConfig
- type WebSocketSubscriber
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 ¶
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 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