v2.2.15: Astra Office Refactor & Multi-Service Integration

This commit is contained in:
g1nation
2026-05-16 22:07:06 +09:00
parent 9dcc98ad33
commit 9ca95ab997
46 changed files with 5648 additions and 1299 deletions
+17
View File
@@ -566,6 +566,21 @@ async function _dispatchOne(
}
const memory = readAgentMemory(deps.context, agentId);
const decisions = readDecisions(deps.context, 2000);
// Google Calendar iCal 캐시 (선택 사항). 셋업 안 된 사용자는 빈 문자열 → 무시.
// 매 dispatch 마다 디스크 read 1회 발생하지만 캐시는 KB 단위라 비용 무시 가능.
let calendarContext = '';
try {
const { readCalendarCache } = require('../calendar') as typeof import('../calendar');
calendarContext = readCalendarCache(deps.context) ?? '';
} catch { /* feature 미설치 / 캐시 없음 — silent skip */ }
// Task tracker — _shared/tasks.md 의 active 항목 요약. 모든 agent 가 진척 상황을
// 한 눈에 볼 수 있도록. 비어있으면 빈 문자열 → 프롬프트에서 섹션 자체 생략.
let tasksContext = '';
try {
const { readTaskStore, summarizeActiveTasks } = require('../tasks') as typeof import('../tasks');
tasksContext = summarizeActiveTasks(readTaskStore(deps.context));
} catch { /* silent */ }
const peerOutputs = earlierOutputs
.filter((o) => !o.error) // skip failed peers — they'd just confuse the next agent
.map((o) => {
@@ -624,6 +639,8 @@ async function _dispatchOne(
const system = buildSpecialistPrompt({
agentId, state,
agentMemory: memory, sharedDecisions: decisions,
calendarContext,
tasksContext,
peerOutputs,
brainContext, // injected as `[SECOND BRAIN CONTEXT]` block
knowledgeMixPolicy: policyBlock, // injected as `[KNOWLEDGE MIX POLICY]` block