mirror of
https://github.com/andy-stack/vaultkeeper-ai.git
synced 2026-07-22 16:30:27 +00:00
- Change ChatMode enum values from numeric (0,1,2) to string literals ("read_only", "edit", "planning")
- Move chat mode state management from ChatWindow to SettingsService with persistence
- Add chat mode awareness to system prompts and tool validation
- Replace Map with WeakMap for settings subscribers to prevent memory leaks
- Add type-safe event handlers to EventService
- Update esbuild and TypeScript targets from ES2018/ES2020 to ES2022
- Add requiresEditModeEnabled() validation to prevent tool hallucination in read-only mode
- Update all test fixtures to include chatMode in mock settings
20 lines
No EOL
479 B
TypeScript
20 lines
No EOL
479 B
TypeScript
export enum ChatMode {
|
|
ReadOnly = "read_only",
|
|
Edit = "edit",
|
|
Planning = "planning"
|
|
}
|
|
|
|
export function chatModeAllowsEdits(mode: ChatMode) {
|
|
return mode === ChatMode.Edit || mode === ChatMode.Planning;
|
|
}
|
|
|
|
export function iconForChatMode(mode: ChatMode) {
|
|
switch (mode) {
|
|
case ChatMode.ReadOnly:
|
|
return "eye";
|
|
case ChatMode.Edit:
|
|
return "pencil";
|
|
case ChatMode.Planning:
|
|
return "list-checks";
|
|
}
|
|
} |