andy-stack_vaultkeeper-ai/Enums/AIFunction.ts
Andrew Beal 7e71861a4d refactor: improve plan execution with stricter scope and error handling
- Add currentProvider getter to AI classes for provider access
- Enhance planning prompt to discourage over-engineering and scope creep
- Return Unknown enum instead of throwing for invalid AI functions
- Add completion reminders to execution steps
- Fix ChatPlanArea height calculation timing
- Update tests to handle Unknown function gracefully
2026-01-06 20:49:02 +00:00

35 lines
No EOL
1 KiB
TypeScript

export enum AIFunction {
SearchVaultFiles = "search_vault_files",
ReadVaultFiles = "read_vault_files",
WriteVaultFile = "write_vault_file",
PatchVaultFile = "patch_vault_file",
DeleteVaultFiles = "delete_vault_files",
MoveVaultFiles = "move_vault_files",
ListVaultFiles = "list_vault_files",
// only used by gemini
RequestWebSearch = "request_web_search",
// multi agent calls
CreatePlan = "create_plan",
Replan = "replan",
SubmitPlan = "submit_plan",
CompleteStep = "complete_step",
CompletePlan = "complete_plan",
CancelPlan = "cancel_plan",
AskUserQuestion = "ask_user_question",
Unknown = "unknown"
}
export function fromString(functionName: string): AIFunction {
const enumValue = Object.values(AIFunction).find((value: string) => value === functionName);
if (enumValue) {
return enumValue as AIFunction;
}
return AIFunction.Unknown;
}
export function isAIFunction(value: unknown, aiFunction: AIFunction): value is AIFunction {
return value === aiFunction;
}