a2a-memory 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"post-tool-use.d.ts","sourceRoot":"","sources":["../../src/hooks/post-tool-use.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,kBAAkB,EAAqC,MAAM,mBAAmB,CAAC;AAE/F,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0HlF;AAkGD;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAoB1C"}
1
+ {"version":3,"file":"post-tool-use.d.ts","sourceRoot":"","sources":["../../src/hooks/post-tool-use.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,kBAAkB,EAAqC,MAAM,mBAAmB,CAAC;AAE/F,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0HlF;AAkGD;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAqB1C"}
@@ -5,7 +5,7 @@
5
5
  * 중요도가 높은 행동을 로컬 DB에 자동 캡처합니다.
6
6
  * 비동기로 실행되어 Claude Code 응답을 블로킹하지 않습니다.
7
7
  */
8
- import { getSharedDb, closeSharedDb } from './shared.js';
8
+ import { getSharedDb, closeSharedDb, normalizeHookInput } from './shared.js';
9
9
  import { ConfigManager } from '../config/manager.js';
10
10
  import { scoreSignificance } from '../extraction/scorer.js';
11
11
  import { filterSensitiveInfo } from '../extraction/filter.js';
@@ -222,7 +222,8 @@ export async function main() {
222
222
  process.exit(0);
223
223
  }
224
224
  try {
225
- const context = JSON.parse(input);
225
+ const raw = JSON.parse(input);
226
+ const context = normalizeHookInput(raw);
226
227
  await handlePostToolUse(context);
227
228
  }
228
229
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"post-tool-use.js","sourceRoot":"","sources":["../../src/hooks/post-tool-use.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post-tool-use.js","sourceRoot":"","sources":["../../src/hooks/post-tool-use.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-end.d.ts","sourceRoot":"","sources":["../../src/hooks/session-end.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqVhF;AAED;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAqB1C"}
1
+ {"version":3,"file":"session-end.d.ts","sourceRoot":"","sources":["../../src/hooks/session-end.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6FhF;AA2QD;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAsB1C"}
@@ -5,7 +5,7 @@
5
5
  * 세션 전체를 분석하여 요약 메모리를 생성합니다.
6
6
  * autoSync 활성화 시 pending 메모리를 원격 서버로 push합니다.
7
7
  */
8
- import { getSharedDb, closeSharedDb } from './shared.js';
8
+ import { getSharedDb, closeSharedDb, normalizeHookInput } from './shared.js';
9
9
  import { ConfigManager } from '../config/manager.js';
10
10
  import { parseSessionFile, findSessionFiles } from '../session/parser.js';
11
11
  import { extractMemories, extractMemoriesWithLLM, summarizeSession } from '../extraction/extractor.js';
@@ -18,235 +18,29 @@ export async function handleSessionEnd(context) {
18
18
  const startTime = performance.now();
19
19
  try {
20
20
  logger.info('Hook started', { projectPath: context.projectPath });
21
- if (!config.sessionSummary.enabled) {
22
- logger.info('Session summary disabled');
23
- return;
24
- }
25
- // projectPath 필수 검증
21
+ // projectPath 필수 검증 — 없으면 아무 작업도 불가
26
22
  if (!context.projectPath) {
27
23
  logger.warn('No projectPath provided');
28
24
  return;
29
25
  }
30
- // 세션 파일 찾기
31
- const sessionFiles = findSessionFiles(context.projectPath);
32
- if (sessionFiles.length === 0) {
33
- logger.info('No session files found');
34
- return;
35
- }
36
- // 가장 최근 수정된 세션 파일 사용
37
- const latestSession = sessionFiles
38
- .sort((a, b) => (b.modifiedAt - a.modifiedAt))[0];
39
- const messages = parseSessionFile(latestSession.filePath);
40
- // 최소 행동 수 미달 시 스킵
41
- const toolUseCount = messages.filter((m) => Array.isArray(m.message.content) &&
42
- m.message.content.some((b) => b.type === 'tool_use')).length;
43
- logger.info('Session analysis', { messages: messages.length, toolUseCount });
44
- if (toolUseCount < config.sessionSummary.minActions) {
45
- logger.info('Tool use count below threshold', { toolUseCount, threshold: config.sessionSummary.minActions });
46
- return;
47
- }
48
26
  const db = getSharedDb(config.db.path);
49
- // 이미 처리된 세션 확인 메시지가 있으면 증분 추출
50
- const existingSession = db.getSession(latestSession.sessionId);
51
- const previousMessageCount = existingSession?.messageCount ?? 0;
52
- if (existingSession && messages.length <= previousMessageCount) {
53
- logger.info('No new messages since last extraction', {
54
- sessionId: latestSession.sessionId,
55
- previousCount: previousMessageCount,
56
- currentCount: messages.length,
57
- });
58
- return;
59
- }
60
- // 증분 추출: 이전에 처리된 메시지 이후만 추출
61
- const messagesToProcess = existingSession
62
- ? messages.slice(previousMessageCount)
63
- : messages;
64
- logger.info('Processing messages', {
65
- total: messages.length,
66
- new: messagesToProcess.length,
67
- incremental: !!existingSession,
68
- });
69
- // 메모리 추출 (LLM 활성 시 고급 추출)
70
- let result;
71
- if (config.llm?.enabled) {
72
- try {
73
- const { createLLMClient } = await import('../llm/index.js');
74
- const llmClient = createLLMClient(config.llm);
75
- result = await extractMemoriesWithLLM(messagesToProcess, context.projectPath, llmClient);
76
- // 세션 요약 생성 (learning 카테고리)
77
- const summary = await summarizeSession(messagesToProcess, llmClient);
78
- if (summary && summary.length > 10) {
79
- result.memories.push({
80
- content: summary,
81
- category: 'learning',
82
- tier: 'semantic',
83
- tags: ['session-summary'],
84
- projectPath: context.projectPath,
85
- });
86
- }
87
- }
88
- catch (llmErr) {
89
- // LLM 실패 시 기본 추출
90
- logger.warn('LLM extraction failed, using basic', { error: llmErr instanceof Error ? llmErr.message : String(llmErr) });
91
- result = extractMemories(messagesToProcess, context.projectPath);
92
- }
93
- }
94
- else {
95
- result = extractMemories(messagesToProcess, context.projectPath);
96
- }
97
- logger.info('Memories extracted', { count: result.memories.length });
98
- // DB에 저장 + sync_status pending 설정
27
+ // ── Phase 1: 세션 추출 (실패해도 Phase 2 진행) ──
99
28
  const createdIds = [];
100
- for (const memory of result.memories) {
101
- const created = db.createMemory({
102
- ...memory,
103
- sessionId: latestSession.sessionId,
104
- });
105
- db.setSyncStatus(created.id, null, 'pending');
106
- createdIds.push(created.id);
107
- // 로컬 임베딩 자동 생성 (~1ms, 동기 처리 가능)
108
- if (config.embedding?.enabled && config.embedding.provider === 'local') {
109
- try {
110
- const { createEmbeddingProvider } = await import('../embedding/index.js');
111
- const provider = createEmbeddingProvider(config.embedding, config.llm);
112
- const emb = await Promise.resolve(provider.embed(created.content));
113
- if (Array.isArray(emb)) {
114
- db.saveEmbedding(created.id, emb);
115
- }
116
- }
117
- catch {
118
- // 임베딩 생성 실패 무시 — 다음 세션에서 재시도
119
- }
120
- }
121
- }
122
- // OpenAI 임베딩은 일괄 처리 (네트워크 비용 절감)
123
- if (config.embedding?.enabled && config.embedding.provider === 'openai' && config.llm?.apiKey && createdIds.length > 0) {
29
+ if (config.sessionSummary.enabled) {
124
30
  try {
125
- const { createEmbeddingProvider } = await import('../embedding/index.js');
126
- const provider = createEmbeddingProvider(config.embedding, config.llm);
127
- const contents = createdIds.map(id => {
128
- const mem = db.getMemory(id);
129
- return mem ? mem.content : '';
130
- }).filter(Boolean);
131
- if (contents.length > 0) {
132
- const embeddings = await Promise.resolve(provider.embedBatch(contents));
133
- for (let i = 0; i < createdIds.length; i++) {
134
- if (embeddings[i]) {
135
- db.saveEmbedding(createdIds[i], embeddings[i]);
136
- }
137
- }
138
- }
31
+ await extractSessionMemories(context, config, db, logger, createdIds);
139
32
  }
140
- catch {
141
- // 일괄 임베딩 실패 무시
33
+ catch (extractErr) {
34
+ logger.warn('Session extraction failed', { error: extractErr instanceof Error ? extractErr.message : String(extractErr) });
142
35
  }
143
36
  }
144
- // 세션 기록
145
- db.saveSession(latestSession.sessionId, context.projectPath, messages.length);
146
- if (result.memories.length > 0) {
147
- const mode = existingSession ? ' (incremental)' : '';
148
- console.error(`[a2a] Session summary${mode}: ${result.memories.length} memories extracted from ${messagesToProcess.length} messages`);
149
- }
150
- // 스킬 결정화 평가 (N 세션마다)
151
- if (config.skillConversion?.enabled) {
152
- try {
153
- const sessionCount = db.getSessionCount(context.projectPath);
154
- if (sessionCount > 0 && sessionCount % config.skillConversion.evaluationInterval === 0) {
155
- const { SkillEvaluator } = await import('../skill/evaluator.js');
156
- const evaluator = new SkillEvaluator(db, config);
157
- const evalResult = await evaluator.evaluate(context.projectPath);
158
- if (evalResult.created > 0) {
159
- console.error(`[a2a] Skill crystallization: ${evalResult.created} new skills created`);
160
- }
161
- }
162
- }
163
- catch (skillErr) {
164
- logger.warn('Skill evaluation failed', { error: skillErr instanceof Error ? skillErr.message : String(skillErr) });
165
- }
166
- }
167
- // 숙련도 추적 (Phase 5 — Multi-signal detection)
168
- const detectedProficiencyEvents = [];
169
- if (config.proficiency?.enabled) {
170
- try {
171
- const { ProficiencyTracker } = await import('../proficiency/tracker.js');
172
- const { detectSkillPractice } = await import('../proficiency/detection.js');
173
- const tracker = new ProficiencyTracker(db, config.proficiency);
174
- const skills = db.listMemories({ category: 'skill', limit: 100 });
175
- // 세션 메모리 수집 (임베딩 포함)
176
- const sessionMemories = createdIds
177
- .map(id => {
178
- const mem = db.getMemory(id);
179
- if (!mem)
180
- return null;
181
- const emb = db.getEmbedding(id);
182
- return {
183
- content: mem.content,
184
- tags: mem.tags ?? [],
185
- embedding: emb ?? undefined,
186
- };
187
- })
188
- .filter((m) => m !== null);
189
- for (const skill of skills) {
190
- const skillInfo = {
191
- id: skill.id,
192
- content: skill.content,
193
- tags: skill.tags ?? [],
194
- embedding: skill.embedding ?? db.getEmbedding(skill.id) ?? undefined,
195
- };
196
- const detection = detectSkillPractice(skillInfo, sessionMemories);
197
- if (!detection)
198
- continue;
199
- // 로컬 숙련도 기록
200
- const levelResult = tracker.recordPractice(skill.id, detection.outcome, detection.difficulty, detection.contextTags, context.sessionId);
201
- if (levelResult.levelChanged) {
202
- console.error(`[a2a] Proficiency: "${skill.content.split('\n')[0].slice(0, 50)}" level ${levelResult.previousLevel} → ${levelResult.newLevel}`);
203
- }
204
- // 서버 push용 이벤트 수집
205
- detectedProficiencyEvents.push({
206
- skillMemoryId: skill.id,
207
- outcome: detection.outcome,
208
- difficulty: detection.difficulty,
209
- contextTags: detection.contextTags,
210
- });
211
- }
212
- }
213
- catch (profErr) {
214
- logger.warn('Proficiency tracking failed', { error: profErr instanceof Error ? profErr.message : String(profErr) });
215
- }
37
+ else {
38
+ logger.info('Session summary disabled');
216
39
  }
217
- // === Proficiency Server Push ===
218
- if (detectedProficiencyEvents.length > 0 && config.server?.apiKey && config.server?.url) {
219
- try {
220
- const pushClient = new A2AClient({
221
- baseUrl: config.server.url,
222
- apiKey: config.server.apiKey,
223
- });
224
- const connected = await pushClient.testConnection();
225
- if (connected) {
226
- for (const event of detectedProficiencyEvents) {
227
- try {
228
- await pushClient.postProficiencyEvent({
229
- skill_memory_id: event.skillMemoryId,
230
- outcome: event.outcome,
231
- difficulty: event.difficulty,
232
- context_tags: event.contextTags,
233
- session_id: context.sessionId,
234
- });
235
- }
236
- catch (err) {
237
- logger.warn('Failed to push proficiency event', { error: String(err) });
238
- }
239
- }
240
- logger.info('Proficiency events pushed to server', { count: detectedProficiencyEvents.length });
241
- console.error(`[a2a] Proficiency: ${detectedProficiencyEvents.length} event(s) synced to server`);
242
- }
243
- else {
244
- logger.debug('Server not reachable, skipping proficiency push');
245
- }
246
- }
247
- catch (err) {
248
- logger.warn('Proficiency server push failed', { error: String(err) });
249
- }
40
+ // ── Phase 2: 항상 실행 — Sync, Cleanup (세션 추출과 독립) ──
41
+ // 숙련도 추적 + 서버 Push (Phase 5)
42
+ if (config.proficiency?.enabled && createdIds.length > 0) {
43
+ await trackProficiency(context, config, db, logger, createdIds);
250
44
  }
251
45
  // autoSync push (pending 메모리 일괄 전송)
252
46
  if (config.autoSync.enabled && config.autoSync.pushOnSessionEnd && config.server.apiKey) {
@@ -256,7 +50,7 @@ export async function handleSessionEnd(context) {
256
50
  apiKey: config.server.apiKey,
257
51
  });
258
52
  const queue = new SyncQueue(db, client);
259
- const flushResult = await queue.flush({ timeoutMs: config.autoSync.timeoutMs }); // hook: config 값 사용
53
+ const flushResult = await queue.flush({ timeoutMs: config.autoSync.timeoutMs });
260
54
  if (flushResult.pushed > 0) {
261
55
  console.error(`[a2a] Synced ${flushResult.pushed} memories to server`);
262
56
  }
@@ -265,7 +59,6 @@ export async function handleSessionEnd(context) {
265
59
  }
266
60
  }
267
61
  catch (syncErr) {
268
- // sync 실패는 무시 — 다음 세션에서 재시도
269
62
  logger.warn('Sync push failed', { error: syncErr instanceof Error ? syncErr.message : String(syncErr) });
270
63
  }
271
64
  }
@@ -284,7 +77,6 @@ export async function handleSessionEnd(context) {
284
77
  }
285
78
  }
286
79
  catch (teamErr) {
287
- // 팀 sync 실패 무시
288
80
  logger.warn('Team sync failed', { error: teamErr instanceof Error ? teamErr.message : String(teamErr) });
289
81
  }
290
82
  }
@@ -299,7 +91,6 @@ export async function handleSessionEnd(context) {
299
91
  logger.info('Cleanup done', { total: cleanupResult.total });
300
92
  }
301
93
  catch (cleanupErr) {
302
- // cleanup 실패 무시
303
94
  logger.warn('Cleanup failed', { error: cleanupErr instanceof Error ? cleanupErr.message : String(cleanupErr) });
304
95
  }
305
96
  }
@@ -309,6 +100,219 @@ export async function handleSessionEnd(context) {
309
100
  logger.flush();
310
101
  }
311
102
  }
103
+ /**
104
+ * 세션 파일에서 메모리 추출 (Phase 1 내부)
105
+ */
106
+ async function extractSessionMemories(context, config, db, logger, createdIds) {
107
+ const sessionFiles = findSessionFiles(context.projectPath);
108
+ if (sessionFiles.length === 0) {
109
+ logger.info('No session files found');
110
+ return;
111
+ }
112
+ const latestSession = sessionFiles
113
+ .sort((a, b) => (b.modifiedAt - a.modifiedAt))[0];
114
+ const messages = parseSessionFile(latestSession.filePath);
115
+ const toolUseCount = messages.filter((m) => Array.isArray(m.message.content) &&
116
+ m.message.content.some((b) => b.type === 'tool_use')).length;
117
+ logger.info('Session analysis', { messages: messages.length, toolUseCount });
118
+ if (toolUseCount < config.sessionSummary.minActions) {
119
+ logger.info('Tool use count below threshold', { toolUseCount, threshold: config.sessionSummary.minActions });
120
+ return;
121
+ }
122
+ // 이미 처리된 세션 확인 — 새 메시지가 있으면 증분 추출
123
+ const existingSession = db.getSession(latestSession.sessionId);
124
+ const previousMessageCount = existingSession?.messageCount ?? 0;
125
+ if (existingSession && messages.length <= previousMessageCount) {
126
+ logger.info('No new messages since last extraction', {
127
+ sessionId: latestSession.sessionId,
128
+ previousCount: previousMessageCount,
129
+ currentCount: messages.length,
130
+ });
131
+ return;
132
+ }
133
+ const messagesToProcess = existingSession
134
+ ? messages.slice(previousMessageCount)
135
+ : messages;
136
+ logger.info('Processing messages', {
137
+ total: messages.length,
138
+ new: messagesToProcess.length,
139
+ incremental: !!existingSession,
140
+ });
141
+ // 메모리 추출 (LLM 활성 시 고급 추출)
142
+ let result;
143
+ if (config.llm?.enabled) {
144
+ try {
145
+ const { createLLMClient } = await import('../llm/index.js');
146
+ const llmClient = createLLMClient(config.llm);
147
+ result = await extractMemoriesWithLLM(messagesToProcess, context.projectPath, llmClient);
148
+ const summary = await summarizeSession(messagesToProcess, llmClient);
149
+ if (summary && summary.length > 10) {
150
+ result.memories.push({
151
+ content: summary,
152
+ category: 'learning',
153
+ tier: 'semantic',
154
+ tags: ['session-summary'],
155
+ projectPath: context.projectPath,
156
+ });
157
+ }
158
+ }
159
+ catch (llmErr) {
160
+ logger.warn('LLM extraction failed, using basic', { error: llmErr instanceof Error ? llmErr.message : String(llmErr) });
161
+ result = extractMemories(messagesToProcess, context.projectPath);
162
+ }
163
+ }
164
+ else {
165
+ result = extractMemories(messagesToProcess, context.projectPath);
166
+ }
167
+ logger.info('Memories extracted', { count: result.memories.length });
168
+ // DB에 저장 + sync_status pending 설정
169
+ for (const memory of result.memories) {
170
+ const created = db.createMemory({
171
+ ...memory,
172
+ sessionId: latestSession.sessionId,
173
+ });
174
+ db.setSyncStatus(created.id, null, 'pending');
175
+ createdIds.push(created.id);
176
+ if (config.embedding?.enabled && config.embedding.provider === 'local') {
177
+ try {
178
+ const { createEmbeddingProvider } = await import('../embedding/index.js');
179
+ const provider = createEmbeddingProvider(config.embedding, config.llm);
180
+ const emb = await Promise.resolve(provider.embed(created.content));
181
+ if (Array.isArray(emb)) {
182
+ db.saveEmbedding(created.id, emb);
183
+ }
184
+ }
185
+ catch {
186
+ // 임베딩 생성 실패 무시
187
+ }
188
+ }
189
+ }
190
+ // OpenAI 임베딩 일괄 처리
191
+ if (config.embedding?.enabled && config.embedding.provider === 'openai' && config.llm?.apiKey && createdIds.length > 0) {
192
+ try {
193
+ const { createEmbeddingProvider } = await import('../embedding/index.js');
194
+ const provider = createEmbeddingProvider(config.embedding, config.llm);
195
+ const contents = createdIds.map(id => {
196
+ const mem = db.getMemory(id);
197
+ return mem ? mem.content : '';
198
+ }).filter(Boolean);
199
+ if (contents.length > 0) {
200
+ const embeddings = await Promise.resolve(provider.embedBatch(contents));
201
+ for (let i = 0; i < createdIds.length; i++) {
202
+ if (embeddings[i]) {
203
+ db.saveEmbedding(createdIds[i], embeddings[i]);
204
+ }
205
+ }
206
+ }
207
+ }
208
+ catch {
209
+ // 일괄 임베딩 실패 무시
210
+ }
211
+ }
212
+ // 세션 기록
213
+ db.saveSession(latestSession.sessionId, context.projectPath, messages.length);
214
+ if (result.memories.length > 0) {
215
+ const mode = existingSession ? ' (incremental)' : '';
216
+ console.error(`[a2a] Session summary${mode}: ${result.memories.length} memories extracted from ${messagesToProcess.length} messages`);
217
+ }
218
+ // 스킬 결정화 평가 (N 세션마다)
219
+ if (config.skillConversion?.enabled) {
220
+ try {
221
+ const sessionCount = db.getSessionCount(context.projectPath);
222
+ if (sessionCount > 0 && sessionCount % config.skillConversion.evaluationInterval === 0) {
223
+ const { SkillEvaluator } = await import('../skill/evaluator.js');
224
+ const evaluator = new SkillEvaluator(db, config);
225
+ const evalResult = await evaluator.evaluate(context.projectPath);
226
+ if (evalResult.created > 0) {
227
+ console.error(`[a2a] Skill crystallization: ${evalResult.created} new skills created`);
228
+ }
229
+ }
230
+ }
231
+ catch (skillErr) {
232
+ logger.warn('Skill evaluation failed', { error: skillErr instanceof Error ? skillErr.message : String(skillErr) });
233
+ }
234
+ }
235
+ }
236
+ /**
237
+ * 숙련도 추적 + 서버 Push
238
+ */
239
+ async function trackProficiency(context, config, db, logger, createdIds) {
240
+ const detectedEvents = [];
241
+ try {
242
+ const { ProficiencyTracker } = await import('../proficiency/tracker.js');
243
+ const { detectSkillPractice } = await import('../proficiency/detection.js');
244
+ const tracker = new ProficiencyTracker(db, config.proficiency);
245
+ const skills = db.listMemories({ category: 'skill', limit: 100 });
246
+ const sessionMemories = createdIds
247
+ .map(id => {
248
+ const mem = db.getMemory(id);
249
+ if (!mem)
250
+ return null;
251
+ const emb = db.getEmbedding(id);
252
+ return {
253
+ content: mem.content,
254
+ tags: mem.tags ?? [],
255
+ embedding: emb ?? undefined,
256
+ };
257
+ })
258
+ .filter((m) => m !== null);
259
+ for (const skill of skills) {
260
+ const skillInfo = {
261
+ id: skill.id,
262
+ content: skill.content,
263
+ tags: skill.tags ?? [],
264
+ embedding: skill.embedding ?? db.getEmbedding(skill.id) ?? undefined,
265
+ };
266
+ const detection = detectSkillPractice(skillInfo, sessionMemories);
267
+ if (!detection)
268
+ continue;
269
+ const levelResult = tracker.recordPractice(skill.id, detection.outcome, detection.difficulty, detection.contextTags, context.sessionId);
270
+ if (levelResult.levelChanged) {
271
+ console.error(`[a2a] Proficiency: "${skill.content.split('\n')[0].slice(0, 50)}" level ${levelResult.previousLevel} → ${levelResult.newLevel}`);
272
+ }
273
+ detectedEvents.push({
274
+ skillMemoryId: skill.id,
275
+ outcome: detection.outcome,
276
+ difficulty: detection.difficulty,
277
+ contextTags: detection.contextTags,
278
+ });
279
+ }
280
+ }
281
+ catch (profErr) {
282
+ logger.warn('Proficiency tracking failed', { error: profErr instanceof Error ? profErr.message : String(profErr) });
283
+ }
284
+ // Proficiency Server Push
285
+ if (detectedEvents.length > 0 && config.server?.apiKey && config.server?.url) {
286
+ try {
287
+ const pushClient = new A2AClient({
288
+ baseUrl: config.server.url,
289
+ apiKey: config.server.apiKey,
290
+ });
291
+ const connected = await pushClient.testConnection();
292
+ if (connected) {
293
+ for (const event of detectedEvents) {
294
+ try {
295
+ await pushClient.postProficiencyEvent({
296
+ skill_memory_id: event.skillMemoryId,
297
+ outcome: event.outcome,
298
+ difficulty: event.difficulty,
299
+ context_tags: event.contextTags,
300
+ session_id: context.sessionId,
301
+ });
302
+ }
303
+ catch (err) {
304
+ logger.warn('Failed to push proficiency event', { error: String(err) });
305
+ }
306
+ }
307
+ logger.info('Proficiency events pushed to server', { count: detectedEvents.length });
308
+ console.error(`[a2a] Proficiency: ${detectedEvents.length} event(s) synced to server`);
309
+ }
310
+ }
311
+ catch (err) {
312
+ logger.warn('Proficiency server push failed', { error: String(err) });
313
+ }
314
+ }
315
+ }
312
316
  /**
313
317
  * CLI 엔트리포인트
314
318
  */
@@ -323,7 +327,8 @@ export async function main() {
323
327
  process.exit(0);
324
328
  }
325
329
  try {
326
- const context = JSON.parse(input);
330
+ const raw = JSON.parse(input);
331
+ const context = normalizeHookInput(raw);
327
332
  await handleSessionEnd(context);
328
333
  }
329
334
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"session-end.js","sourceRoot":"","sources":["../../src/hooks/session-end.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-end.js","sourceRoot":"","sources":["../../src/hooks/session-end.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export declare function handleSessionStart(context: SessionStartContext): Promis
10
10
  /**
11
11
  * CLI 엔트리포인트
12
12
  * stdin으로 HookContext JSON을 받아 처리
13
+ * 전체 실행에 HOOK_TIMEOUT_MS 안전장치 적용
13
14
  */
14
15
  export declare function main(): Promise<void>;
15
16
  //# sourceMappingURL=session-start.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-start.d.ts","sourceRoot":"","sources":["../../src/hooks/session-start.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,KAAK,EAAE,mBAAmB,EAA8B,MAAM,mBAAmB,CAAC;AAmHzF,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkMtF;AAED;;;GAGG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAwB1C"}
1
+ {"version":3,"file":"session-start.d.ts","sourceRoot":"","sources":["../../src/hooks/session-start.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,KAAK,EAAE,mBAAmB,EAA8B,MAAM,mBAAmB,CAAC;AAmHzF,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqMtF;AAKD;;;;GAIG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAmC1C"}
@@ -6,7 +6,7 @@
6
6
  * 상세 내용은 CLI `a2a-memory search`로 확인 가능.
7
7
  */
8
8
  import { basename } from 'node:path';
9
- import { getSharedDb, closeSharedDb } from './shared.js';
9
+ import { getSharedDb, closeSharedDb, normalizeHookInput } from './shared.js';
10
10
  import { ConfigManager } from '../config/manager.js';
11
11
  import { A2AClient } from '../sync/client.js';
12
12
  import { MemorySynchronizer } from '../sync/synchronizer.js';
@@ -123,11 +123,12 @@ export async function handleSessionStart(context) {
123
123
  }
124
124
  const db = getSharedDb(config.db.path);
125
125
  try {
126
- // 백그라운드 pull (fire-and-forget)
126
+ // 백그라운드 pull (fire-and-forget, 짧은 타임아웃)
127
127
  if (config.autoSync.enabled && config.autoSync.pullOnSessionStart && config.server.apiKey) {
128
128
  const client = new A2AClient({
129
129
  baseUrl: config.server.url,
130
130
  apiKey: config.server.apiKey,
131
+ timeout: 5000, // fire-and-forget이지만 이벤트 루프 유지 방지
131
132
  });
132
133
  if (config.mode === 'team' && config.team) {
133
134
  // 팀 모드: TeamSynchronizer로 pull
@@ -235,13 +236,14 @@ export async function handleSessionStart(context) {
235
236
  for (const { memory } of selectedMemories) {
236
237
  db.getMemory(memory.id); // access_count 증가 트리거
237
238
  }
238
- // 팀 메모리 검색 (team 모드)
239
+ // 팀 메모리 검색 (team 모드, 3초 타임아웃)
239
240
  let teamMemoryData = [];
240
241
  if (config.mode === 'team' && config.team && config.server.apiKey) {
241
242
  try {
242
243
  const teamClient = new A2AClient({
243
244
  baseUrl: config.server.url,
244
245
  apiKey: config.server.apiKey,
246
+ timeout: 3000, // Hook에서는 짧은 타임아웃
245
247
  });
246
248
  const teamMemories = await teamClient.searchTeamMemories(config.team.teamPath, query, { limit: Math.min(3, limit) });
247
249
  teamMemoryData = teamMemories.map((tm) => ({
@@ -254,13 +256,14 @@ export async function handleSessionStart(context) {
254
256
  logger.warn('Team search failed', { error: teamErr instanceof Error ? teamErr.message : String(teamErr) });
255
257
  }
256
258
  }
257
- // === Proficiency Level 표시 (서버에서 pull) ===
259
+ // === Proficiency Level 표시 (서버에서 pull, 3초 타임아웃) ===
258
260
  let proficiencyMap = new Map();
259
261
  if (config.server?.apiKey && config.server?.url) {
260
262
  try {
261
263
  const profClient = new A2AClient({
262
264
  baseUrl: config.server.url,
263
265
  apiKey: config.server.apiKey,
266
+ timeout: 3000, // Hook에서는 짧은 타임아웃 (기본 60초 → 3초)
264
267
  });
265
268
  const proficiencies = await profClient.listProficiencies(context.projectPath);
266
269
  if (proficiencies.length > 0) {
@@ -269,7 +272,7 @@ export async function handleSessionStart(context) {
269
272
  }
270
273
  }
271
274
  catch {
272
- // 서버 연결 실패 시 무시 (로컬 데이터 사용)
275
+ // 서버 연결 실패 또는 타임아웃 시 무시 (Lv. 표시 생략)
273
276
  }
274
277
  }
275
278
  // 구조화된 포맷으로 출력
@@ -285,9 +288,12 @@ export async function handleSessionStart(context) {
285
288
  // DB는 싱글톤으로 관리 — close하지 않음
286
289
  }
287
290
  }
291
+ /** 전체 Hook 안전 타임아웃 (초) */
292
+ const HOOK_TIMEOUT_MS = 10_000;
288
293
  /**
289
294
  * CLI 엔트리포인트
290
295
  * stdin으로 HookContext JSON을 받아 처리
296
+ * 전체 실행에 HOOK_TIMEOUT_MS 안전장치 적용
291
297
  */
292
298
  export async function main() {
293
299
  const chunks = [];
@@ -299,8 +305,17 @@ export async function main() {
299
305
  closeSharedDb();
300
306
  process.exit(0);
301
307
  }
308
+ // 전체 Hook 실행 안전장치: HOOK_TIMEOUT_MS 초과 시 강제 종료
309
+ // unref()로 이 타이머만으로 이벤트 루프가 유지되지 않게 함
310
+ const safetyTimer = setTimeout(() => {
311
+ console.error(`[a2a] SessionStart safety timeout (${HOOK_TIMEOUT_MS}ms) — exiting gracefully`);
312
+ closeSharedDb();
313
+ process.exit(0);
314
+ }, HOOK_TIMEOUT_MS);
315
+ safetyTimer.unref();
302
316
  try {
303
- const context = JSON.parse(input);
317
+ const raw = JSON.parse(input);
318
+ const context = normalizeHookInput(raw);
304
319
  const output = await handleSessionStart(context);
305
320
  if (output) {
306
321
  process.stdout.write(output);
@@ -308,10 +323,11 @@ export async function main() {
308
323
  }
309
324
  catch (err) {
310
325
  console.error('[a2a] SessionStart error:', err instanceof Error ? err.message : err);
311
- process.exit(0);
312
326
  }
313
327
  finally {
314
328
  closeSharedDb();
329
+ // fire-and-forget 프로미스가 이벤트 루프를 붙잡고 있을 수 있으므로 명시적 종료
330
+ process.exit(0);
315
331
  }
316
332
  }
317
333
  // 직접 실행 시에만 main() 호출
@@ -1 +1 @@
1
- {"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../src/hooks/session-start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../src/hooks/session-start.ts"],"names":[],"mappings":"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"}
@@ -15,4 +15,13 @@ export declare function closeSharedDb(): void;
15
15
  * 테스트용 리셋
16
16
  */
17
17
  export declare function resetSharedDb(): void;
18
+ /**
19
+ * Claude Code stdin 입력을 내부 camelCase 형식으로 변환
20
+ *
21
+ * Claude Code는 snake_case로 전송:
22
+ * session_id, hook_event_name, tool_name, tool_input, tool_response, cwd, transcript_path
23
+ * Plugin 내부는 camelCase 사용:
24
+ * sessionId, hookName, toolName, toolInput, toolResult, projectPath, cwd
25
+ */
26
+ export declare function normalizeHookInput(raw: Record<string, unknown>): Record<string, unknown>;
18
27
  //# sourceMappingURL=shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/hooks/shared.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnD;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAW1D;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAMpC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAGpC"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/hooks/shared.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnD;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAW1D;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAMpC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuBxF"}
@@ -43,4 +43,33 @@ export function resetSharedDb() {
43
43
  _sharedDb = null;
44
44
  _sharedDbPath = null;
45
45
  }
46
+ /**
47
+ * Claude Code stdin 입력을 내부 camelCase 형식으로 변환
48
+ *
49
+ * Claude Code는 snake_case로 전송:
50
+ * session_id, hook_event_name, tool_name, tool_input, tool_response, cwd, transcript_path
51
+ * Plugin 내부는 camelCase 사용:
52
+ * sessionId, hookName, toolName, toolInput, toolResult, projectPath, cwd
53
+ */
54
+ export function normalizeHookInput(raw) {
55
+ return {
56
+ // 공통 필드
57
+ hookName: raw.hook_event_name ?? raw.hookName,
58
+ sessionId: raw.session_id ?? raw.sessionId,
59
+ projectPath: raw.cwd ?? raw.projectPath,
60
+ cwd: raw.cwd ?? raw.projectPath,
61
+ transcriptPath: raw.transcript_path ?? raw.transcriptPath,
62
+ // PostToolUse 전용
63
+ toolName: raw.tool_name ?? raw.toolName,
64
+ toolInput: raw.tool_input ?? raw.toolInput ?? {},
65
+ toolResult: typeof (raw.tool_response ?? raw.toolResult) === 'object'
66
+ ? JSON.stringify(raw.tool_response ?? raw.toolResult)
67
+ : String(raw.tool_response ?? raw.toolResult ?? ''),
68
+ // SessionEnd 전용
69
+ capturedMemoryIds: raw.capturedMemoryIds ?? [],
70
+ modifiedFiles: raw.modifiedFiles ?? [],
71
+ // 원본 데이터 보존 (디버깅용)
72
+ _raw: raw,
73
+ };
74
+ }
46
75
  //# sourceMappingURL=shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/hooks/shared.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,IAAI,SAAS,GAA0B,IAAI,CAAC;AAC5C,IAAI,aAAa,GAAkB,IAAI,CAAC;AAExC;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,IAAI,SAAS,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;IACD,SAAS,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,aAAa,GAAG,MAAM,CAAC;IACvB,SAAS,CAAC,UAAU,EAAE,CAAC;IACvB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACjD,SAAS,GAAG,IAAI,CAAC;QACjB,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,SAAS,GAAG,IAAI,CAAC;IACjB,aAAa,GAAG,IAAI,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/hooks/shared.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,IAAI,SAAS,GAA0B,IAAI,CAAC;AAC5C,IAAI,aAAa,GAAkB,IAAI,CAAC;AAExC;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,IAAI,SAAS,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;IACD,SAAS,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,aAAa,GAAG,MAAM,CAAC;IACvB,SAAS,CAAC,UAAU,EAAE,CAAC;IACvB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACjD,SAAS,GAAG,IAAI,CAAC;QACjB,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,SAAS,GAAG,IAAI,CAAC;IACjB,aAAa,GAAG,IAAI,CAAC;AACvB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAA4B;IAC7D,OAAO;QACL,QAAQ;QACR,QAAQ,EAAE,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,QAAQ;QAC7C,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,SAAS;QAC1C,WAAW,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW;QACvC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW;QAC/B,cAAc,EAAE,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,cAAc;QAEzD,iBAAiB;QACjB,QAAQ,EAAE,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,QAAQ;QACvC,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,SAAS,IAAI,EAAE;QAChD,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,QAAQ;YACnE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,UAAU,CAAC;YACrD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;QAErD,gBAAgB;QAChB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE;QAC9C,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,EAAE;QAEtC,mBAAmB;QACnB,IAAI,EAAE,GAAG;KACV,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "a2a-memory",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "description": "Persistent AI memory for Claude Code - Session extraction, local DB, and hook automation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",