Versions in this module Expand all Collapse all v0 v0.1.0 Apr 15, 2026 Changes in this version + type Checkpoint interface + Save func(ctx context.Context, taskIndex int, taskResult *TaskResult, ...) error + type CompositeCheckpoint struct + func NewCompositeCheckpoint(cps ...Checkpoint) *CompositeCheckpoint + func (c *CompositeCheckpoint) Save(ctx context.Context, taskIndex int, taskResult *TaskResult, ...) error + type ContextCompactor interface + Compact func(ctx context.Context, turnResults []TurnResult) ([]TurnResult, error) + type DefaultContextCompactor struct + func NewDefaultContextCompactor(maxRetained int) *DefaultContextCompactor + func (c *DefaultContextCompactor) Compact(ctx context.Context, turnResults []TurnResult) ([]TurnResult, error) + type DefaultInnerLoop struct + func NewDefaultInnerLoop(config InnerLoopConfig, plannerExec planner.ExecutionPlanner, ...) *DefaultInnerLoop + func (l *DefaultInnerLoop) Run(ctx context.Context, task TaskInput, ec *execution.ExecutionContext) (*TaskResult, error) + type DefaultOuterLoop struct + func NewDefaultOuterLoop(config OuterLoopConfig, innerLoop InnerLoop, checkpoint Checkpoint, ...) *DefaultOuterLoop + func (l *DefaultOuterLoop) Run(ctx context.Context, tasks []TaskInput, ec *execution.ExecutionContext) (*WorkflowResult, error) + type InnerLoop interface + Run func(ctx context.Context, task TaskInput, ec *execution.ExecutionContext) (*TaskResult, error) + type InnerLoopConfig struct + MaxToolCalls int + MaxTurnRuntime time.Duration + MaxTurns int + func DefaultInnerConfig() InnerLoopConfig + type InnerState string + const InnerAct + const InnerCheckStop + const InnerDone + const InnerNextTurn + const InnerObserve + const InnerPlan + const InnerTurnInit + type InnerStopEvaluator struct + func NewInnerStopEvaluator(config InnerLoopConfig) *InnerStopEvaluator + func (e *InnerStopEvaluator) Evaluate(turnsElapsed int, toolCallsUsed int, startTime time.Time, plannerStopped bool, ...) StopCondition + type LoopMetrics struct + TotalRuntime time.Duration + TotalToolCalls int + TotalTurns int + WorkflowSteps int + type NoOpCheckpoint struct + func (c *NoOpCheckpoint) Save(_ context.Context, _ int, _ *TaskResult, _ *LoopMetrics) error + type NoOpCompactor struct + func (c *NoOpCompactor) Compact(_ context.Context, turnResults []TurnResult) ([]TurnResult, error) + type NoOpPolicyCheckpoint struct + func (c *NoOpPolicyCheckpoint) Check(_ context.Context, _ int, _ *LoopMetrics) error + type OuterLoop interface + Run func(ctx context.Context, tasks []TaskInput, ec *execution.ExecutionContext) (*WorkflowResult, error) + type OuterLoopConfig struct + MaxSessionRuntime time.Duration + MaxWorkflowSteps int + func DefaultOuterConfig() OuterLoopConfig + type OuterState string + const OuterCheckpoint + const OuterDone + const OuterInit + const OuterNextTask + const OuterTaskExecute + const OuterTaskSelect + type OuterStopEvaluator struct + func NewOuterStopEvaluator(config OuterLoopConfig) *OuterStopEvaluator + func (e *OuterStopEvaluator) Evaluate(stepsElapsed int, startTime time.Time, ctx context.Context) StopCondition + type PolicyCheckpoint interface + Check func(ctx context.Context, taskIndex int, metrics *LoopMetrics) error + type StopCondition struct + Detail string + Reason StopReason + Stopped bool + type StopReason string + const StopReasonContextCanceled + const StopReasonError + const StopReasonGoalAchieved + const StopReasonMaxRuntime + const StopReasonMaxSessionRuntime + const StopReasonMaxToolCalls + const StopReasonMaxTurns + const StopReasonMaxWorkflowSteps + const StopReasonPlannerStopped + type TaskInput struct + PlannerContext *planner.PlannerContext + TaskDescription string + type TaskResult struct + Duration time.Duration + Error error + FinalOutput any + StopReason StopReason + ToolCallsUsed int + TurnCount int + TurnResults []TurnResult + type TurnResult struct + ActionsExecuted []string + Duration time.Duration + Observations []string + PlanText string + StopReason StopReason + ToolCallsUsed int + TurnNumber int + type WorkflowResult struct + Metrics LoopMetrics + StopCondition StopCondition + TaskResults []*TaskResult