Interface PlanningStrategyPayload

Planning strategy payload for custom planning algorithms. Strategies can override how plans are generated, refined, and executed.

interface PlanningStrategyPayload {
    name: string;
    description: string;
    priority: number;
    shouldActivate?: ((context) => boolean);
    generatePlan: ((goal, context) => Promise<unknown>);
    refinePlan?: ((plan, feedback) => Promise<unknown>);
}

Properties

name: string

Unique strategy name (e.g., 'tree-of-thought', 'reflexion', 'custom-heuristic')

description: string

Strategy description

priority: number

Priority order when multiple strategies match (higher = preferred)

shouldActivate?: ((context) => boolean)

Optional condition function to determine if this strategy should be used

Type declaration

    • (context): boolean
    • Parameters

      • context: {
            goal: string;
            complexity: number;
            agentCapabilities: string[];
        }
        • goal: string
        • complexity: number
        • agentCapabilities: string[]

      Returns boolean

generatePlan: ((goal, context) => Promise<unknown>)

The planning function to execute

Type declaration

    • (goal, context): Promise<unknown>
    • Parameters

      • goal: string
      • context: Record<string, unknown>

      Returns Promise<unknown>

refinePlan?: ((plan, feedback) => Promise<unknown>)

Optional refinement function

Type declaration

    • (plan, feedback): Promise<unknown>
    • Parameters

      • plan: unknown
      • feedback: unknown

      Returns Promise<unknown>