Add text and JSON formatters with real-time progress via traverser hooks, summary statistics, and CLI integration for --show-* and --json flags. Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
co-authored by
multica-agent
parent
876542b2de
commit
5a54834c5f
@@ -0,0 +1,31 @@
|
||||
package traverse
|
||||
|
||||
type EventStage int
|
||||
|
||||
const (
|
||||
EventStart EventStage = iota
|
||||
EventComplete
|
||||
)
|
||||
|
||||
type TraversalEvent struct {
|
||||
Stage EventStage
|
||||
Result TraversalResult
|
||||
IsResolve bool
|
||||
}
|
||||
|
||||
type EventHandler func(TraversalEvent)
|
||||
|
||||
type TraverserHooks struct {
|
||||
OnEvent EventHandler
|
||||
}
|
||||
|
||||
func (h *TraverserHooks) emit(stage EventStage, result TraversalResult, isResolve bool) {
|
||||
if h == nil || h.OnEvent == nil {
|
||||
return
|
||||
}
|
||||
h.OnEvent(TraversalEvent{
|
||||
Stage: stage,
|
||||
Result: result,
|
||||
IsResolve: isResolve,
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user