Files
connectai/src/sidebar/chronicleHandlers.ts
T
g1nation 0712014fcb chore: v2.2.73 — ASTRA-DEBUG 로그 레벨 + webview CSP font-src 보강
- ASTRA-DEBUG 정상 흐름 로그를 console.error → logInfo/console.log 로 강등
  (chatHandlers, extension, slashRouter): DevTools에 ERR로 찍히던 오탐 제거
- sidebar webview에 명시적 CSP meta 추가 + font-src에 data: 허용
  (sidebar.html, sidebarProvider._getHtml): VS Code outer iframe이 codicon.ttf를
  data:font/ttf 로 inject하면서 기본 CSP에 막혀 매 prompt 마다 violation
  경고가 찍히던 문제 해소
- 누적된 LM Studio / agent / 컨텍스트 매니저 / 테스트 갱신 동반

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 15:52:19 +09:00

60 lines
2.4 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;
case 'setChronicleAutoRecord':
// v2.2.70 — 자동 기록 On/Off 토글. 도구 드롭다운 메뉴에서 호출.
await provider._setChronicleAutoRecord(!!data.enabled);
return true;
case 'getChronicleAutoRecord':
await provider._sendChronicleAutoRecordStatus();
return true;
default:
return false;
}
}