Files
connectai/src/sidebar/chronicleHandlers.ts
T

53 lines
2.0 KiB
TypeScript

import { SidebarChatProvider } from '../sidebarProvider';
/**
* Handles Project Chronicle messages: project CRUD, record listing/opening,
* and the various chronicle-write entry points (planning, discussion, decision,
* development, bug, retrospective).
*/
export async function handleChronicleMessage(provider: SidebarChatProvider, data: any): Promise<boolean> {
switch (data.type) {
case 'getChronicleProjects':
await provider._sendChronicleProjects();
return true;
case 'createChronicleProject':
await provider._createChronicleProject();
return true;
case 'setChronicleProject':
await provider._setActiveChronicleProject(data.id);
return true;
case 'openChronicleFolder':
await provider._openChronicleFolder();
return true;
case 'getChronicleRecords':
await provider._sendChronicleRecords();
return true;
case 'openChronicleRecord':
await provider._openChronicleRecord(data.path);
return true;
case 'writeChroniclePlanning':
await provider._writeChroniclePlanningFromCurrentChat();
return true;
case 'writeChronicleDiscussion':
await provider._writeChronicleDiscussionFromCurrentChat();
return true;
case 'writeChronicleDecision':
await provider._writeChronicleDecisionFromInput();
return true;
case 'writeChronicleDevelopment':
await provider._writeChronicleDevelopmentFromCurrentChat();
return true;
case 'writeChronicleBug':
await provider._writeChronicleBugFromInput();
return true;
case 'writeChronicleRetrospective':
await provider._writeChronicleRetrospectiveFromInput();
return true;
case 'writeChronicleRecord':
await provider._writeChronicleRecord(data.recordType);
return true;
default:
return false;
}
}