andy-stack_vaultkeeper-ai/AIClasses/FunctionDefinitions/Functions/Replan.ts
Andrew Beal ab9ee08281 refactor: implement multi-agent orchestration architecture
Restructure the AI workflow from a single-agent model to a specialized
multi-agent system with distinct roles:

- Add AgentType enum (Main, Orchestration, Planning, Execution) to define
  agent specializations
- Replace AIControllerService and AIFunctionService with modular agent
  classes in Services/AIServices/:
  - MainAgent: Handles user interaction and delegates to orchestration
  - OrchestrationAgent: Coordinates plan execution and step-by-step workflow
  - PlanningAgent: Creates and revises execution plans
  - ExecutionAgent: Executes individual plan steps
  - AIController: Base class providing common agent loop functionality
- Create specialized prompts (OrchestrationPrompt, ExecutionPrompt) for
  agent-specific behavior
- Add OrchestrationResult type to communicate workflow control decisions
  (continue, abort, replan)
- Introduce agent-specific function scoping:
  - ExecuteWorkflow for main agent
  - CompleteTask for execution agent
  - CompleteStep/Replan/CancelPlan for orchestration agent
  - SubmitPlan/AskUserQuestionPlanning for planning agent
- Update BaseAIClass to use agentType property instead of isPlanningAgent
  boolean for model selection
- Simplify ExecutionPlan and ExecutionStep types by removing execution
  state tracking (moved to agent coordination)
- Remove PlanningEnabledAppendix and ExecutionStatus enum (superseded by
  agent architecture)
- Add comprehensive integration tests for agent workflows

This architecture provides better separation of concerns, clearer agent
responsibilities, and more robust plan execution with explicit orchestration
control flow.
2026-01-27 20:29:20 +00:00

23 lines
No EOL
925 B
TypeScript

import { AIFunction } from "Enums/AIFunction";
import type { IAIFunctionDefinition } from "../IAIFunctionDefinition";
export const Replan: IAIFunctionDefinition = {
name: AIFunction.Replan,
description: `Signals that the current plan needs to be revised before execution can continue.
- A planned step fails and you need an alternative approach
- Execution reveals the original plan was based on incorrect assumptions
- The user provides new information mid-execution
- You've completed part of the plan but the remaining steps are no longer valid
- Do NOT use this if the failure is unrecoverable or if the goal is no longer achievable.`,
parameters: {
type: "object",
properties: {
context: {
type: "string",
description: "Explain why replanning is needed. Include what went wrong or changed and be specific about the issue encountered.",
}
},
required: ["context"]
}
}