andy-stack_vaultkeeper-ai/AIClasses/FunctionDefinitions/AIFunctionDefinitions.ts
Andrew Beal 32c478249b housekeeping: remove unused execution agent code and clean up orchestration flow
- Remove unused agentExecutionDefinitions and gatedDefinitions methods
- Delete obsolete CreatePlan.ts (replaced by ExecuteWorkflow.ts)
- Rename PlanningAgentSystemPrompt to PlanningPrompt for consistency
- Fix orchestration agent promise returns and replan flag handling
- Make saveConversation calls async throughout AIController
- Simplify vault cache delete event handling
- Change debug logging from console.log to console.debug
- Fix function name references in execution and main agents
2026-01-29 12:26:41 +00:00

69 lines
No EOL
2.7 KiB
TypeScript

import type { IAIFunctionDefinition } from "./IAIFunctionDefinition";
import { SearchVaultFiles } from "./Functions/SearchVaultFiles";
import { ReadVaultFiles } from "./Functions/ReadVaultFiles";
import { WriteVaultFile } from "./Functions/WriteVaultFile";
import { DeleteVaultFiles } from "./Functions/DeleteVaultFiles";
import { MoveVaultFiles } from "./Functions/MoveVaultFiles";
import { ListVaultFiles } from "./Functions/ListVaultFiles";
import { PatchVaultFile } from "./Functions/PatchVaultFile";
import { Replan } from "./Functions/Replan";
import { CompleteStep } from "./Functions/CompleteStep";
import { SubmitPlan } from "./Functions/SubmitPlan";
import { CancelPlan } from "./Functions/CancelPlan";
import { AskUserQuestionPlanning } from "./Functions/AskUserQuestionPlanning";
import { CompletePlan } from "./Functions/CompletePlan";
import { CompleteTask } from "./Functions/CompleteTask";
import { ExecuteWorkflow } from "./Functions/ExecuteWorkflow";
export abstract class AIFunctionDefinitions {
public static isGated: boolean = false;
// Definitions list provides a list of function definitions that does not include any planning functions (used as reference in planning agent prompt)
private static readonly definitionsList = [SearchVaultFiles, ReadVaultFiles, ListVaultFiles, WriteVaultFile, PatchVaultFile, DeleteVaultFiles, MoveVaultFiles];
public static agentDefinitions(destructive: boolean, planning: boolean): IAIFunctionDefinition[] {
this.isGated = false;
if (planning) {
return [ExecuteWorkflow];
}
let actions = [
SearchVaultFiles,
ReadVaultFiles,
ListVaultFiles
];
if (destructive) {
actions = actions.concat([
WriteVaultFile,
PatchVaultFile,
DeleteVaultFiles,
MoveVaultFiles
]);
}
return actions;
}
public static orchestrationAgentDefinitions(): IAIFunctionDefinition[] {
return [CompleteStep, Replan, CancelPlan, CompletePlan];
}
public static planningAgentDefinitions(): IAIFunctionDefinition[] {
return [SearchVaultFiles, ReadVaultFiles, ListVaultFiles, AskUserQuestionPlanning, SubmitPlan];
}
public static executionAgentDefinitions(): IAIFunctionDefinition[] {
return [...this.agentDefinitions(true, false), CompleteTask];
}
public static compactSummaryForPlanningAgent(): string {
return this.definitionsList.map(definition => {
// Extract first line of description as brief purpose
const description = definition.description.split('\n')[0].trim();
return `- ${description}`;
}).join("\n");
}
}