andy-stack_vaultkeeper-ai/Enums/AIFunction.ts
Andrew Beal fb20108dc9 fix: improve conversation filtering and add plan cancellation
- Add toolId matching validation for function call/response pairs
- Filter orphaned function calls and responses with warnings
- Add CancelPlan function to abort plan execution
- Fix planning response handling in execution agent
- Pass clearThoughtOnContent flag through streaming pipeline
2025-12-31 13:42:33 +00:00

33 lines
No EOL
1 KiB
TypeScript

import { Exception } from "Helpers/Exception";
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",
CancelPlan = "cancel_plan"
}
export function fromString(functionName: string): AIFunction {
const enumValue = Object.values(AIFunction).find((value: string) => value === functionName);
if (enumValue) {
return enumValue as AIFunction;
}
Exception.throw(`Unknown function name: ${functionName}`);
}
export function isAIFunction(value: unknown, aiFunction: AIFunction): value is AIFunction {
return value === aiFunction;
}