Versions in this module Expand all Collapse all v1 v1.1.0 Apr 1, 2026 Changes in this version + var ErrEmptyAssistantID = errors.New("planner: plan has empty assistant ID") + var ErrEmptyStepName = errors.New("planner: step missing name") + var ErrInvalidStepType = errors.New("planner: invalid step type") + var ErrNilPlan = errors.New("planner: execution plan is nil") + var ErrNoSkillsAvailable = fmt.Errorf("planner: no skills available") + var ErrPlanningFailed = fmt.Errorf("planner: planning failed") + var ErrTooManySteps = errors.New("planner: plan exceeds maximum allowed steps") + var ErrTooManyToolCalls = errors.New("planner: plan exceeds maximum allowed tool calls") + type ContextBuilder struct + func NewContextBuilder(reg registry.SkillRegistry) *ContextBuilder + func (b *ContextBuilder) Build(ctx context.Context, runtime *assistant.AssistantRuntime, userRequest string) (*PlannerContext, error) + type ExecutionLimits struct + MaxExecutionTime time.Duration + MaxSteps int + MaxToolCalls int + func DefaultLimits() ExecutionLimits + type ExecutionPlanner interface + Plan func(ctx context.Context, pCtx *PlannerContext) (*execution.ExecutionPlan, error) + type LLMPlanner struct + func NewLLMPlanner(router providers.ModelRouter, limits *ExecutionLimits) *LLMPlanner + func (p *LLMPlanner) Plan(ctx context.Context, pCtx *PlannerContext) (*execution.ExecutionPlan, error) + type PlannerContext struct + AssistantID string + MemoryContext []assistant.SearchResult + Skills []SkillDescriptor + Soul assistant.AssistantSoul + UserRequest string + type SkillDescriptor struct + Description string + ID string + InputSchema *skills.JSONSchema + Name string + type Validator struct + func NewValidator(limits *ExecutionLimits) *Validator + func (v *Validator) Validate(plan *execution.ExecutionPlan) error