a2a-memory 0.9.0 → 0.10.0

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.
Files changed (142) hide show
  1. package/dist/cli/commands/add.d.ts.map +1 -1
  2. package/dist/cli/commands/add.js +1 -0
  3. package/dist/cli/commands/add.js.map +1 -1
  4. package/dist/cli/commands/claude-sync.d.ts.map +1 -1
  5. package/dist/cli/commands/claude-sync.js +1 -0
  6. package/dist/cli/commands/claude-sync.js.map +1 -1
  7. package/dist/cli/commands/cleanup.d.ts.map +1 -1
  8. package/dist/cli/commands/cleanup.js +1 -0
  9. package/dist/cli/commands/cleanup.js.map +1 -1
  10. package/dist/cli/commands/config.d.ts.map +1 -1
  11. package/dist/cli/commands/config.js +2 -0
  12. package/dist/cli/commands/config.js.map +1 -1
  13. package/dist/cli/commands/edit.d.ts.map +1 -1
  14. package/dist/cli/commands/edit.js +3 -0
  15. package/dist/cli/commands/edit.js.map +1 -1
  16. package/dist/cli/commands/embed.d.ts.map +1 -1
  17. package/dist/cli/commands/embed.js +1 -0
  18. package/dist/cli/commands/embed.js.map +1 -1
  19. package/dist/cli/commands/proficiency.d.ts.map +1 -1
  20. package/dist/cli/commands/proficiency.js +4 -0
  21. package/dist/cli/commands/proficiency.js.map +1 -1
  22. package/dist/cli/commands/rm.d.ts.map +1 -1
  23. package/dist/cli/commands/rm.js +4 -0
  24. package/dist/cli/commands/rm.js.map +1 -1
  25. package/dist/cli/commands/search.d.ts.map +1 -1
  26. package/dist/cli/commands/search.js +52 -8
  27. package/dist/cli/commands/search.js.map +1 -1
  28. package/dist/cli/commands/setup.js +24 -0
  29. package/dist/cli/commands/setup.js.map +1 -1
  30. package/dist/cli/commands/skill.d.ts.map +1 -1
  31. package/dist/cli/commands/skill.js +16 -1
  32. package/dist/cli/commands/skill.js.map +1 -1
  33. package/dist/cli/commands/sync.d.ts.map +1 -1
  34. package/dist/cli/commands/sync.js +3 -0
  35. package/dist/cli/commands/sync.js.map +1 -1
  36. package/dist/config/manager.d.ts +67 -13
  37. package/dist/config/manager.d.ts.map +1 -1
  38. package/dist/config/manager.js +20 -5
  39. package/dist/config/manager.js.map +1 -1
  40. package/dist/db/database.d.ts +5 -0
  41. package/dist/db/database.d.ts.map +1 -1
  42. package/dist/db/database.js +47 -24
  43. package/dist/db/database.js.map +1 -1
  44. package/dist/embedding/e5-provider.d.ts +41 -0
  45. package/dist/embedding/e5-provider.d.ts.map +1 -0
  46. package/dist/embedding/e5-provider.js +147 -0
  47. package/dist/embedding/e5-provider.js.map +1 -0
  48. package/dist/embedding/index.d.ts +1 -0
  49. package/dist/embedding/index.d.ts.map +1 -1
  50. package/dist/embedding/index.js +5 -0
  51. package/dist/embedding/index.js.map +1 -1
  52. package/dist/extraction/dedup-manager.d.ts +40 -0
  53. package/dist/extraction/dedup-manager.d.ts.map +1 -0
  54. package/dist/extraction/dedup-manager.js +148 -0
  55. package/dist/extraction/dedup-manager.js.map +1 -0
  56. package/dist/extraction/extractor.d.ts.map +1 -1
  57. package/dist/extraction/extractor.js +23 -6
  58. package/dist/extraction/extractor.js.map +1 -1
  59. package/dist/extraction/filter.d.ts.map +1 -1
  60. package/dist/extraction/filter.js +3 -0
  61. package/dist/extraction/filter.js.map +1 -1
  62. package/dist/extraction/scorer.js +23 -12
  63. package/dist/extraction/scorer.js.map +1 -1
  64. package/dist/hooks/client-factory.d.ts +14 -0
  65. package/dist/hooks/client-factory.d.ts.map +1 -0
  66. package/dist/hooks/client-factory.js +22 -0
  67. package/dist/hooks/client-factory.js.map +1 -0
  68. package/dist/hooks/post-tool-use.d.ts.map +1 -1
  69. package/dist/hooks/post-tool-use.js +104 -24
  70. package/dist/hooks/post-tool-use.js.map +1 -1
  71. package/dist/hooks/pre-compact.d.ts +15 -0
  72. package/dist/hooks/pre-compact.d.ts.map +1 -0
  73. package/dist/hooks/pre-compact.js +209 -0
  74. package/dist/hooks/pre-compact.js.map +1 -0
  75. package/dist/hooks/session-end.d.ts.map +1 -1
  76. package/dist/hooks/session-end.js +271 -256
  77. package/dist/hooks/session-end.js.map +1 -1
  78. package/dist/hooks/session-start.d.ts +1 -0
  79. package/dist/hooks/session-start.d.ts.map +1 -1
  80. package/dist/hooks/session-start.js +221 -138
  81. package/dist/hooks/session-start.js.map +1 -1
  82. package/dist/hooks/shared.d.ts +10 -0
  83. package/dist/hooks/shared.d.ts.map +1 -1
  84. package/dist/hooks/shared.js +64 -0
  85. package/dist/hooks/shared.js.map +1 -1
  86. package/dist/hooks/user-prompt-submit.d.ts +15 -0
  87. package/dist/hooks/user-prompt-submit.d.ts.map +1 -0
  88. package/dist/hooks/user-prompt-submit.js +240 -0
  89. package/dist/hooks/user-prompt-submit.js.map +1 -0
  90. package/dist/index.d.ts +11 -3
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +8 -2
  93. package/dist/index.js.map +1 -1
  94. package/dist/lifecycle/quality-scorer.d.ts +2 -2
  95. package/dist/lifecycle/quality-scorer.d.ts.map +1 -1
  96. package/dist/lifecycle/quality-scorer.js +13 -7
  97. package/dist/lifecycle/quality-scorer.js.map +1 -1
  98. package/dist/lifecycle/tiering.d.ts.map +1 -1
  99. package/dist/lifecycle/tiering.js +11 -1
  100. package/dist/lifecycle/tiering.js.map +1 -1
  101. package/dist/proficiency/detection.d.ts +2 -4
  102. package/dist/proficiency/detection.d.ts.map +1 -1
  103. package/dist/proficiency/detection.js +11 -15
  104. package/dist/proficiency/detection.js.map +1 -1
  105. package/dist/proficiency/tracker.d.ts +2 -2
  106. package/dist/proficiency/tracker.d.ts.map +1 -1
  107. package/dist/proficiency/tracker.js +10 -7
  108. package/dist/proficiency/tracker.js.map +1 -1
  109. package/dist/search/adaptive-router.d.ts +28 -0
  110. package/dist/search/adaptive-router.d.ts.map +1 -0
  111. package/dist/search/adaptive-router.js +93 -0
  112. package/dist/search/adaptive-router.js.map +1 -0
  113. package/dist/search/ranker.d.ts +4 -0
  114. package/dist/search/ranker.d.ts.map +1 -1
  115. package/dist/search/ranker.js +4 -0
  116. package/dist/search/ranker.js.map +1 -1
  117. package/dist/search/reranker.d.ts +48 -0
  118. package/dist/search/reranker.d.ts.map +1 -0
  119. package/dist/search/reranker.js +155 -0
  120. package/dist/search/reranker.js.map +1 -0
  121. package/dist/skill/evaluator.d.ts +7 -9
  122. package/dist/skill/evaluator.d.ts.map +1 -1
  123. package/dist/skill/evaluator.js +122 -33
  124. package/dist/skill/evaluator.js.map +1 -1
  125. package/dist/skill/types.d.ts +5 -0
  126. package/dist/skill/types.d.ts.map +1 -1
  127. package/dist/sync/client.d.ts +26 -1
  128. package/dist/sync/client.d.ts.map +1 -1
  129. package/dist/sync/client.js +81 -28
  130. package/dist/sync/client.js.map +1 -1
  131. package/dist/sync/queue.d.ts +1 -1
  132. package/dist/sync/queue.d.ts.map +1 -1
  133. package/dist/sync/queue.js +20 -28
  134. package/dist/sync/queue.js.map +1 -1
  135. package/dist/sync/synchronizer.js +1 -1
  136. package/dist/sync/synchronizer.js.map +1 -1
  137. package/dist/sync/team-synchronizer.js.map +1 -1
  138. package/dist/types/index.d.ts +19 -2
  139. package/dist/types/index.d.ts.map +1 -1
  140. package/dist/types/index.js +11 -3
  141. package/dist/types/index.js.map +1 -1
  142. package/package.json +1 -1
@@ -0,0 +1,209 @@
1
+ /**
2
+ * PreCompact Hook
3
+ *
4
+ * Claude Code 컨텍스트 윈도우 압축 직전 실행됩니다.
5
+ * 장기 세션에서 초기 중요 정보가 압축으로 유실되는 것을 방지합니다.
6
+ *
7
+ * 동작:
8
+ * 1. 현재 transcript에서 핵심 결정/진행 상태/미완료 작업 추출
9
+ * 2. "session_checkpoint" 카테고리로 DB 저장
10
+ * 3. UserPromptSubmit에서 checkpoint 메모리 우선 주입
11
+ */
12
+ import { getSharedDb, closeSharedDb, normalizeHookInput } from './shared.js';
13
+ import { ConfigManager } from '../config/manager.js';
14
+ import { filterSensitiveInfo } from '../extraction/filter.js';
15
+ import { createLogger } from '../utils/logger.js';
16
+ // ============================================================
17
+ // Checkpoint Extraction
18
+ // ============================================================
19
+ /** 핵심 정보 패턴 */
20
+ const DECISION_PATTERNS = [
21
+ /(?:결정|decided|chose|선택|opted for|went with|채택)[::]?\s*(.+)/gi,
22
+ /(?:approach|방법|전략|strategy)[::]?\s*(.+)/gi,
23
+ ];
24
+ const PROGRESS_PATTERNS = [
25
+ /(?:완료|completed|done|finished|구현|implemented)[::]?\s*(.+)/gi,
26
+ /(?:진행 중|in progress|working on|작업 중)[::]?\s*(.+)/gi,
27
+ ];
28
+ const TODO_PATTERNS = [
29
+ /(?:TODO|해야 할|남은 작업|remaining|next step|다음)[::]?\s*(.+)/gi,
30
+ /(?:미완료|not yet|pending|아직|남겨둔)[::]?\s*(.+)/gi,
31
+ ];
32
+ const ERROR_PATTERNS = [
33
+ /(?:에러|error|bug|이슈|issue|문제)[::]?\s*(.+?)(?:→|->|해결|fixed|resolved)\s*(.+)/gi,
34
+ ];
35
+ /**
36
+ * transcript에서 핵심 정보 추출
37
+ */
38
+ function extractCheckpointInfo(transcript) {
39
+ const info = {
40
+ decisions: [],
41
+ progress: [],
42
+ todos: [],
43
+ errorSolutions: [],
44
+ };
45
+ // 최근 부분만 분석 (너무 긴 transcript 방지)
46
+ const recentText = transcript.slice(-10000);
47
+ for (const pattern of DECISION_PATTERNS) {
48
+ pattern.lastIndex = 0;
49
+ let match;
50
+ while ((match = pattern.exec(recentText)) !== null) {
51
+ const text = match[1].trim().slice(0, 200);
52
+ if (text.length > 10)
53
+ info.decisions.push(text);
54
+ }
55
+ }
56
+ for (const pattern of PROGRESS_PATTERNS) {
57
+ pattern.lastIndex = 0;
58
+ let match;
59
+ while ((match = pattern.exec(recentText)) !== null) {
60
+ const text = match[1].trim().slice(0, 200);
61
+ if (text.length > 10)
62
+ info.progress.push(text);
63
+ }
64
+ }
65
+ for (const pattern of TODO_PATTERNS) {
66
+ pattern.lastIndex = 0;
67
+ let match;
68
+ while ((match = pattern.exec(recentText)) !== null) {
69
+ const text = match[1].trim().slice(0, 200);
70
+ if (text.length > 10)
71
+ info.todos.push(text);
72
+ }
73
+ }
74
+ for (const pattern of ERROR_PATTERNS) {
75
+ pattern.lastIndex = 0;
76
+ let match;
77
+ while ((match = pattern.exec(recentText)) !== null) {
78
+ const problem = match[1].trim().slice(0, 100);
79
+ const solution = match[2]?.trim().slice(0, 100) || '';
80
+ if (problem.length > 5) {
81
+ info.errorSolutions.push(`${problem} → ${solution}`);
82
+ }
83
+ }
84
+ }
85
+ // 중복 제거
86
+ info.decisions = [...new Set(info.decisions)].slice(0, 5);
87
+ info.progress = [...new Set(info.progress)].slice(0, 5);
88
+ info.todos = [...new Set(info.todos)].slice(0, 5);
89
+ info.errorSolutions = [...new Set(info.errorSolutions)].slice(0, 5);
90
+ return info;
91
+ }
92
+ /**
93
+ * CheckpointInfo를 메모리 콘텐츠로 포맷
94
+ */
95
+ function formatCheckpointContent(info) {
96
+ const parts = ['[Session Checkpoint]'];
97
+ if (info.decisions.length > 0) {
98
+ parts.push('\nDecisions:');
99
+ for (const d of info.decisions)
100
+ parts.push(`- ${d}`);
101
+ }
102
+ if (info.progress.length > 0) {
103
+ parts.push('\nProgress:');
104
+ for (const p of info.progress)
105
+ parts.push(`- ${p}`);
106
+ }
107
+ if (info.todos.length > 0) {
108
+ parts.push('\nTODO:');
109
+ for (const t of info.todos)
110
+ parts.push(`- ${t}`);
111
+ }
112
+ if (info.errorSolutions.length > 0) {
113
+ parts.push('\nError Solutions:');
114
+ for (const e of info.errorSolutions)
115
+ parts.push(`- ${e}`);
116
+ }
117
+ return parts.join('\n');
118
+ }
119
+ // ============================================================
120
+ // Core Logic
121
+ // ============================================================
122
+ export async function handlePreCompact(context) {
123
+ const config = new ConfigManager().load();
124
+ const logger = createLogger('PreCompact', config.logging);
125
+ const startTime = performance.now();
126
+ logger.info('Hook started', { projectPath: context.projectPath });
127
+ const transcript = context.transcript || '';
128
+ if (transcript.length < 100) {
129
+ logger.info('Transcript too short, skipping checkpoint');
130
+ logger.flush();
131
+ return;
132
+ }
133
+ try {
134
+ const info = extractCheckpointInfo(transcript);
135
+ // 추출된 정보가 없으면 스킵
136
+ const totalItems = info.decisions.length + info.progress.length +
137
+ info.todos.length + info.errorSolutions.length;
138
+ if (totalItems === 0) {
139
+ logger.info('No checkpoint info extracted');
140
+ logger.flush();
141
+ return;
142
+ }
143
+ const content = formatCheckpointContent(info);
144
+ const filtered = filterSensitiveInfo(content);
145
+ const input = {
146
+ content: filtered.filtered,
147
+ category: 'context',
148
+ tier: 'episodic',
149
+ tags: ['session-checkpoint', 'pre-compact'],
150
+ projectPath: context.projectPath,
151
+ sessionId: context.sessionId,
152
+ };
153
+ const db = getSharedDb(config.db.path);
154
+ const created = db.createMemory(input);
155
+ logger.info('Checkpoint saved', {
156
+ memoryId: created.id,
157
+ decisions: info.decisions.length,
158
+ progress: info.progress.length,
159
+ todos: info.todos.length,
160
+ errors: info.errorSolutions.length,
161
+ durationMs: Math.round(performance.now() - startTime),
162
+ });
163
+ }
164
+ catch (err) {
165
+ logger.error('Checkpoint save failed', err instanceof Error ? err : new Error(String(err)));
166
+ }
167
+ finally {
168
+ logger.flush();
169
+ }
170
+ }
171
+ // ============================================================
172
+ // CLI Entrypoint
173
+ // ============================================================
174
+ const HOOK_TIMEOUT_MS = 5_000;
175
+ export async function main() {
176
+ const chunks = [];
177
+ for await (const chunk of process.stdin) {
178
+ chunks.push(chunk);
179
+ }
180
+ const input = Buffer.concat(chunks).toString('utf-8').trim();
181
+ if (!input) {
182
+ closeSharedDb();
183
+ process.exit(0);
184
+ }
185
+ const safetyTimer = setTimeout(() => {
186
+ console.error(`[a2a] PreCompact safety timeout (${HOOK_TIMEOUT_MS}ms)`);
187
+ closeSharedDb();
188
+ process.exit(0);
189
+ }, HOOK_TIMEOUT_MS);
190
+ safetyTimer.unref();
191
+ try {
192
+ const raw = JSON.parse(input);
193
+ const context = normalizeHookInput(raw);
194
+ await handlePreCompact(context);
195
+ }
196
+ catch (err) {
197
+ console.error('[a2a] PreCompact error:', err instanceof Error ? err.message : err);
198
+ }
199
+ finally {
200
+ closeSharedDb();
201
+ process.exit(0);
202
+ }
203
+ }
204
+ const isMainModule = process.argv[1]?.endsWith('pre-compact.js') ||
205
+ process.argv[1]?.endsWith('pre-compact.ts');
206
+ if (isMainModule) {
207
+ main();
208
+ }
209
+ //# sourceMappingURL=pre-compact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pre-compact.js","sourceRoot":"","sources":["../../src/hooks/pre-compact.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;AAUH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AA8C3D,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DhF;AA4QD;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAsB1C"}