53 lines
2.0 KiB
TypeScript
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;
|
|
}
|
|
}
|