@aitytech/agentkits-memory 1.0.0 → 2.0.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 (110) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +267 -149
  3. package/assets/agentkits-memory-add-memory.png +0 -0
  4. package/assets/agentkits-memory-memory-detail.png +0 -0
  5. package/assets/agentkits-memory-memory-list.png +0 -0
  6. package/assets/logo.svg +24 -0
  7. package/dist/better-sqlite3-backend.d.ts +192 -0
  8. package/dist/better-sqlite3-backend.d.ts.map +1 -0
  9. package/dist/better-sqlite3-backend.js +801 -0
  10. package/dist/better-sqlite3-backend.js.map +1 -0
  11. package/dist/cli/save.js +0 -0
  12. package/dist/cli/setup.d.ts +6 -2
  13. package/dist/cli/setup.d.ts.map +1 -1
  14. package/dist/cli/setup.js +289 -42
  15. package/dist/cli/setup.js.map +1 -1
  16. package/dist/cli/viewer.js +25 -56
  17. package/dist/cli/viewer.js.map +1 -1
  18. package/dist/cli/web-viewer.d.ts +14 -0
  19. package/dist/cli/web-viewer.d.ts.map +1 -0
  20. package/dist/cli/web-viewer.js +1769 -0
  21. package/dist/cli/web-viewer.js.map +1 -0
  22. package/dist/embeddings/embedding-cache.d.ts +131 -0
  23. package/dist/embeddings/embedding-cache.d.ts.map +1 -0
  24. package/dist/embeddings/embedding-cache.js +217 -0
  25. package/dist/embeddings/embedding-cache.js.map +1 -0
  26. package/dist/embeddings/index.d.ts +11 -0
  27. package/dist/embeddings/index.d.ts.map +1 -0
  28. package/dist/embeddings/index.js +11 -0
  29. package/dist/embeddings/index.js.map +1 -0
  30. package/dist/embeddings/local-embeddings.d.ts +140 -0
  31. package/dist/embeddings/local-embeddings.d.ts.map +1 -0
  32. package/dist/embeddings/local-embeddings.js +293 -0
  33. package/dist/embeddings/local-embeddings.js.map +1 -0
  34. package/dist/hooks/context.d.ts +6 -1
  35. package/dist/hooks/context.d.ts.map +1 -1
  36. package/dist/hooks/context.js +12 -2
  37. package/dist/hooks/context.js.map +1 -1
  38. package/dist/hooks/observation.d.ts +6 -1
  39. package/dist/hooks/observation.d.ts.map +1 -1
  40. package/dist/hooks/observation.js +12 -2
  41. package/dist/hooks/observation.js.map +1 -1
  42. package/dist/hooks/service.d.ts +1 -6
  43. package/dist/hooks/service.d.ts.map +1 -1
  44. package/dist/hooks/service.js +33 -85
  45. package/dist/hooks/service.js.map +1 -1
  46. package/dist/hooks/session-init.d.ts +6 -1
  47. package/dist/hooks/session-init.d.ts.map +1 -1
  48. package/dist/hooks/session-init.js +12 -2
  49. package/dist/hooks/session-init.js.map +1 -1
  50. package/dist/hooks/summarize.d.ts +6 -1
  51. package/dist/hooks/summarize.d.ts.map +1 -1
  52. package/dist/hooks/summarize.js +12 -2
  53. package/dist/hooks/summarize.js.map +1 -1
  54. package/dist/index.d.ts +10 -17
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +172 -94
  57. package/dist/index.js.map +1 -1
  58. package/dist/mcp/server.js +17 -3
  59. package/dist/mcp/server.js.map +1 -1
  60. package/dist/migration.js +3 -3
  61. package/dist/migration.js.map +1 -1
  62. package/dist/search/hybrid-search.d.ts +262 -0
  63. package/dist/search/hybrid-search.d.ts.map +1 -0
  64. package/dist/search/hybrid-search.js +688 -0
  65. package/dist/search/hybrid-search.js.map +1 -0
  66. package/dist/search/index.d.ts +13 -0
  67. package/dist/search/index.d.ts.map +1 -0
  68. package/dist/search/index.js +13 -0
  69. package/dist/search/index.js.map +1 -0
  70. package/dist/search/token-economics.d.ts +161 -0
  71. package/dist/search/token-economics.d.ts.map +1 -0
  72. package/dist/search/token-economics.js +239 -0
  73. package/dist/search/token-economics.js.map +1 -0
  74. package/dist/types.d.ts +0 -68
  75. package/dist/types.d.ts.map +1 -1
  76. package/dist/types.js.map +1 -1
  77. package/package.json +23 -8
  78. package/src/__tests__/better-sqlite3-backend.test.ts +1466 -0
  79. package/src/__tests__/cache-manager.test.ts +499 -0
  80. package/src/__tests__/embedding-integration.test.ts +481 -0
  81. package/src/__tests__/hnsw-index.test.ts +727 -0
  82. package/src/__tests__/index.test.ts +432 -0
  83. package/src/better-sqlite3-backend.ts +1000 -0
  84. package/src/cli/setup.ts +358 -47
  85. package/src/cli/viewer.ts +28 -63
  86. package/src/cli/web-viewer.ts +1956 -0
  87. package/src/embeddings/__tests__/embedding-cache.test.ts +269 -0
  88. package/src/embeddings/__tests__/local-embeddings.test.ts +495 -0
  89. package/src/embeddings/embedding-cache.ts +318 -0
  90. package/src/embeddings/index.ts +20 -0
  91. package/src/embeddings/local-embeddings.ts +419 -0
  92. package/src/hooks/__tests__/handlers.test.ts +58 -17
  93. package/src/hooks/__tests__/integration.test.ts +77 -26
  94. package/src/hooks/context.ts +13 -2
  95. package/src/hooks/observation.ts +13 -2
  96. package/src/hooks/service.ts +39 -100
  97. package/src/hooks/session-init.ts +13 -2
  98. package/src/hooks/summarize.ts +13 -2
  99. package/src/index.ts +210 -116
  100. package/src/mcp/server.ts +20 -3
  101. package/src/search/__tests__/hybrid-search.test.ts +669 -0
  102. package/src/search/__tests__/token-economics.test.ts +276 -0
  103. package/src/search/hybrid-search.ts +968 -0
  104. package/src/search/index.ts +29 -0
  105. package/src/search/token-economics.ts +367 -0
  106. package/src/types.ts +0 -96
  107. package/src/__tests__/sqljs-backend.test.ts +0 -410
  108. package/src/migration.ts +0 -574
  109. package/src/sql.js.d.ts +0 -70
  110. package/src/sqljs-backend.ts +0 -789
@@ -0,0 +1 @@
1
+ {"version":3,"file":"better-sqlite3-backend.js","sourceRoot":"","sources":["../src/better-sqlite3-backend.ts"],"names":[],"mappings":"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"}
package/dist/cli/save.js CHANGED
File without changes
@@ -2,14 +2,18 @@
2
2
  /**
3
3
  * AgentKits Memory Setup CLI
4
4
  *
5
- * Sets up memory hooks in a project's .claude/settings.json
5
+ * Sets up memory hooks, MCP server, and downloads embedding model.
6
+ * Supports multiple AI tools: Claude Code, Cursor, Windsurf, etc.
6
7
  *
7
8
  * Usage:
8
9
  * npx agentkits-memory-setup [options]
9
10
  *
10
11
  * Options:
11
12
  * --project-dir=X Project directory (default: cwd)
12
- * --force Overwrite existing hooks
13
+ * --force Overwrite existing configuration
14
+ * --skip-model Skip embedding model download
15
+ * --skip-mcp Skip MCP server configuration
16
+ * --show-hooks Show full hooks JSON for manual configuration
13
17
  * --json Output result as JSON
14
18
  *
15
19
  * @module @agentkits/memory/cli/setup
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;GAcG"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;GAkBG"}
package/dist/cli/setup.js CHANGED
@@ -2,22 +2,41 @@
2
2
  /**
3
3
  * AgentKits Memory Setup CLI
4
4
  *
5
- * Sets up memory hooks in a project's .claude/settings.json
5
+ * Sets up memory hooks, MCP server, and downloads embedding model.
6
+ * Supports multiple AI tools: Claude Code, Cursor, Windsurf, etc.
6
7
  *
7
8
  * Usage:
8
9
  * npx agentkits-memory-setup [options]
9
10
  *
10
11
  * Options:
11
12
  * --project-dir=X Project directory (default: cwd)
12
- * --force Overwrite existing hooks
13
+ * --force Overwrite existing configuration
14
+ * --skip-model Skip embedding model download
15
+ * --skip-mcp Skip MCP server configuration
16
+ * --show-hooks Show full hooks JSON for manual configuration
13
17
  * --json Output result as JSON
14
18
  *
15
19
  * @module @agentkits/memory/cli/setup
16
20
  */
17
21
  import * as fs from 'node:fs';
18
22
  import * as path from 'node:path';
23
+ import { LocalEmbeddingsService } from '../embeddings/local-embeddings.js';
19
24
  const args = process.argv.slice(2);
25
+ const MEMORY_MCP_SERVER = {
26
+ command: 'npx',
27
+ args: ['-y', 'agentkits-memory-server'],
28
+ };
29
+ /**
30
+ * Memory hooks for Claude Code lifecycle events
31
+ *
32
+ * Hook Events:
33
+ * - SessionStart: Load memory context at session start
34
+ * - UserPromptSubmit: Capture user intent when prompt submitted
35
+ * - PostToolUse: Capture observations after tool execution (Edit, Write, Bash, Task)
36
+ * - Stop: Generate summary when session ends
37
+ */
20
38
  const MEMORY_HOOKS = {
39
+ // Load memory context at session start
21
40
  SessionStart: [
22
41
  {
23
42
  matcher: '',
@@ -25,11 +44,39 @@ const MEMORY_HOOKS = {
25
44
  {
26
45
  type: 'command',
27
46
  command: 'npx --yes agentkits-memory-hook context',
47
+ timeout: 15,
48
+ },
49
+ ],
50
+ },
51
+ ],
52
+ // Capture user intent when prompt submitted
53
+ UserPromptSubmit: [
54
+ {
55
+ matcher: '',
56
+ hooks: [
57
+ {
58
+ type: 'command',
59
+ command: 'npx --yes agentkits-memory-hook session-init',
28
60
  timeout: 10,
29
61
  },
30
62
  ],
31
63
  },
32
64
  ],
65
+ // Capture observations after tool execution
66
+ // Only track meaningful tools: Edit, Write, Bash, Task
67
+ PostToolUse: [
68
+ {
69
+ matcher: 'Edit|Write|Bash|Task',
70
+ hooks: [
71
+ {
72
+ type: 'command',
73
+ command: 'npx --yes agentkits-memory-hook observation',
74
+ timeout: 15,
75
+ },
76
+ ],
77
+ },
78
+ ],
79
+ // Generate summary when session ends
33
80
  Stop: [
34
81
  {
35
82
  matcher: '',
@@ -37,7 +84,7 @@ const MEMORY_HOOKS = {
37
84
  {
38
85
  type: 'command',
39
86
  command: 'npx --yes agentkits-memory-hook summarize',
40
- timeout: 10,
87
+ timeout: 15,
41
88
  },
42
89
  ],
43
90
  },
@@ -60,38 +107,196 @@ function parseArgs() {
60
107
  }
61
108
  return parsed;
62
109
  }
110
+ /**
111
+ * Merge memory hooks with existing hooks configuration
112
+ * Always preserves existing hooks, never overwrites
113
+ */
63
114
  function mergeHooks(existing, newHooks, force) {
64
- if (!existing || force) {
65
- return { ...existing, ...newHooks };
115
+ const result = {
116
+ merged: { ...existing },
117
+ added: [],
118
+ skipped: [],
119
+ manualRequired: [],
120
+ };
121
+ // If no existing hooks, add all memory hooks
122
+ if (!existing) {
123
+ result.merged = { ...newHooks };
124
+ result.added = Object.keys(newHooks);
125
+ return result;
66
126
  }
67
- const merged = { ...existing };
68
- for (const [event, hooks] of Object.entries(newHooks)) {
69
- if (!hooks)
127
+ for (const [event, memoryHooks] of Object.entries(newHooks)) {
128
+ if (!memoryHooks)
70
129
  continue;
71
- const existingHooks = merged[event];
130
+ const existingHooks = result.merged[event];
131
+ // Case 1: No existing hooks for this event → add ours
72
132
  if (!existingHooks) {
73
- merged[event] = hooks;
133
+ result.merged[event] = memoryHooks;
134
+ result.added.push(event);
135
+ continue;
74
136
  }
75
- else {
76
- // Check if memory hook already exists
77
- const hasMemoryHook = existingHooks.some((h) => h.hooks.some((hook) => hook.command.includes('agentkits-memory')));
78
- if (!hasMemoryHook) {
79
- // Append memory hooks
80
- merged[event] = [...existingHooks, ...hooks];
137
+ // Case 2: Check if our memory hook already exists
138
+ const hasMemoryHook = existingHooks.some((h) => h.hooks.some((hook) => hook.command.includes('agentkits-memory')));
139
+ if (hasMemoryHook) {
140
+ if (force) {
141
+ // Remove old memory hooks, add new ones
142
+ const filtered = existingHooks.filter((h) => !h.hooks.some((hook) => hook.command.includes('agentkits-memory')));
143
+ result.merged[event] = [...filtered, ...memoryHooks];
144
+ result.added.push(`${event} (updated)`);
145
+ }
146
+ else {
147
+ result.skipped.push(`${event} (already configured)`);
148
+ }
149
+ continue;
150
+ }
151
+ // Case 3: PostToolUse with different matcher - needs attention
152
+ if (event === 'PostToolUse') {
153
+ const ourMatcher = memoryHooks[0]?.matcher || '';
154
+ const existingMatchers = existingHooks.map((h) => h.matcher || '');
155
+ // Check for potential conflicts (different matchers that might overlap)
156
+ const hasConflict = existingMatchers.some((m) => m && m !== ourMatcher && (m === '*' || ourMatcher.split('|').some((t) => m.includes(t))));
157
+ if (hasConflict) {
158
+ // Add anyway but warn user
159
+ result.merged[event] = [...existingHooks, ...memoryHooks];
160
+ result.added.push(event);
161
+ result.manualRequired.push(`PostToolUse: Added with matcher "${ourMatcher}", existing has different matchers - verify no conflicts`);
162
+ continue;
163
+ }
164
+ }
165
+ // Case 4: Append our hooks to existing
166
+ result.merged[event] = [...existingHooks, ...memoryHooks];
167
+ result.added.push(event);
168
+ }
169
+ return result;
170
+ }
171
+ /**
172
+ * Configure MCP server for different AI tools
173
+ * Creates/updates config files for: Claude Code, Cursor, Windsurf, etc.
174
+ */
175
+ function configureMcp(projectDir, claudeSettings, force, asJson) {
176
+ const configured = [];
177
+ const skipped = [];
178
+ // 1. Add to Claude Code settings.json (mcpServers key)
179
+ // Always merge with existing servers, never overwrite
180
+ if (!claudeSettings.mcpServers) {
181
+ claudeSettings.mcpServers = {};
182
+ }
183
+ if (!claudeSettings.mcpServers.memory || force) {
184
+ claudeSettings.mcpServers.memory = MEMORY_MCP_SERVER;
185
+ configured.push('Claude Code (.claude/settings.json)');
186
+ }
187
+ else {
188
+ skipped.push('Claude Code (already configured)');
189
+ }
190
+ // 2. Create/update root .mcp.json for other tools (Cursor, Windsurf, Claude Code, etc.)
191
+ // Always merge with existing servers, never overwrite
192
+ const mcpJsonPath = path.join(projectDir, '.mcp.json');
193
+ try {
194
+ let existing = { mcpServers: {} };
195
+ // Load existing config if present
196
+ if (fs.existsSync(mcpJsonPath)) {
197
+ try {
198
+ existing = JSON.parse(fs.readFileSync(mcpJsonPath, 'utf-8'));
199
+ existing.mcpServers = existing.mcpServers || {};
200
+ }
201
+ catch {
202
+ // If parse fails, start fresh but warn
203
+ if (!asJson) {
204
+ console.warn(' ⚠ .mcp.json parse error, creating new config');
205
+ }
206
+ existing = { mcpServers: {} };
81
207
  }
82
208
  }
209
+ // Add or update memory server
210
+ if (!existing.mcpServers.memory || force) {
211
+ existing.mcpServers.memory = MEMORY_MCP_SERVER;
212
+ fs.writeFileSync(mcpJsonPath, JSON.stringify(existing, null, 2));
213
+ configured.push('Universal (.mcp.json)');
214
+ }
215
+ else {
216
+ skipped.push('.mcp.json (already configured)');
217
+ }
218
+ }
219
+ catch (error) {
220
+ skipped.push(`.mcp.json (error: ${error instanceof Error ? error.message : 'unknown'})`);
221
+ }
222
+ if (!asJson && configured.length > 0) {
223
+ console.log('\n🔌 MCP Server configured for:');
224
+ for (const tool of configured) {
225
+ console.log(` ✓ ${tool}`);
226
+ }
83
227
  }
84
- return merged;
228
+ return { configured, skipped };
229
+ }
230
+ async function downloadModel(cacheDir, asJson) {
231
+ if (!asJson) {
232
+ console.log('\n📥 Downloading embedding model...');
233
+ console.log(' Model: multilingual-e5-small (~470MB)');
234
+ console.log(' This enables semantic search in 100+ languages.\n');
235
+ }
236
+ try {
237
+ const embeddingsService = new LocalEmbeddingsService({
238
+ showProgress: !asJson,
239
+ cacheDir: path.join(cacheDir, 'embeddings-cache'),
240
+ });
241
+ await embeddingsService.initialize();
242
+ // Verify model works with a test embedding
243
+ const testResult = await embeddingsService.embed('Test embedding');
244
+ if (testResult.embedding.length !== 384) {
245
+ throw new Error(`Unexpected embedding dimension: ${testResult.embedding.length}`);
246
+ }
247
+ if (!asJson) {
248
+ console.log(' ✓ Model downloaded and verified\n');
249
+ }
250
+ return true;
251
+ }
252
+ catch (error) {
253
+ if (!asJson) {
254
+ console.error(' ⚠ Model download failed:', error instanceof Error ? error.message : error);
255
+ console.log(' Model will be downloaded on first use.\n');
256
+ }
257
+ return false;
258
+ }
259
+ }
260
+ /**
261
+ * Print full hooks configuration for manual setup
262
+ */
263
+ function printHooksConfig() {
264
+ console.log('\n' + '━'.repeat(60));
265
+ console.log('📋 MEMORY HOOKS CONFIGURATION\n');
266
+ console.log('Copy and paste this JSON into your settings file.\n');
267
+ console.log('For Claude Code: .claude/settings.json');
268
+ console.log('─'.repeat(40));
269
+ console.log(JSON.stringify({ hooks: MEMORY_HOOKS }, null, 2));
270
+ console.log('\nFor Cursor/Windsurf: .cursor/mcp.json or settings');
271
+ console.log('─'.repeat(40));
272
+ console.log('Add hooks section with the same configuration above.\n');
273
+ console.log('Hook Events:');
274
+ console.log(' • SessionStart - Load memory context when session begins');
275
+ console.log(' • UserPromptSubmit - Capture user intent on each prompt');
276
+ console.log(' • PostToolUse - Record actions (Edit, Write, Bash, Task)');
277
+ console.log(' • Stop - Generate summary when session ends');
278
+ console.log('━'.repeat(60) + '\n');
85
279
  }
86
280
  async function main() {
87
281
  const options = parseArgs();
88
282
  const projectDir = options['project-dir'] || process.env.CLAUDE_PROJECT_DIR || process.cwd();
89
283
  const force = !!options.force;
90
284
  const asJson = !!options.json;
285
+ const skipModel = !!options['skip-model'];
286
+ const skipMcp = !!options['skip-mcp'];
287
+ const showHooks = !!options['show-hooks'];
288
+ // Just show hooks config and exit
289
+ if (showHooks) {
290
+ printHooksConfig();
291
+ return;
292
+ }
91
293
  const claudeDir = path.join(projectDir, '.claude');
92
294
  const settingsPath = path.join(claudeDir, 'settings.json');
93
295
  const memoryDir = path.join(claudeDir, 'memory');
94
296
  try {
297
+ if (!asJson) {
298
+ console.log('\n🧠 AgentKits Memory Setup\n');
299
+ }
95
300
  // Create directories
96
301
  if (!fs.existsSync(claudeDir)) {
97
302
  fs.mkdirSync(claudeDir, { recursive: true });
@@ -106,43 +311,85 @@ async function main() {
106
311
  settings = JSON.parse(content);
107
312
  }
108
313
  // Merge hooks
109
- settings.hooks = mergeHooks(settings.hooks, MEMORY_HOOKS, force);
314
+ const hooksResult = mergeHooks(settings.hooks, MEMORY_HOOKS, force);
315
+ settings.hooks = hooksResult.merged;
316
+ // Configure MCP server
317
+ let mcpResult = { configured: [], skipped: [] };
318
+ if (!skipMcp) {
319
+ mcpResult = configureMcp(projectDir, settings, force, asJson);
320
+ }
110
321
  // Write settings
111
322
  fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
112
- // Create initial memory files if they don't exist
113
- const activeContextPath = path.join(memoryDir, 'active-context.md');
114
- if (!fs.existsSync(activeContextPath)) {
115
- fs.writeFileSync(activeContextPath, `# Active Context
116
-
117
- **Task**: None
118
- **Status**: Ready
119
- **Updated**: ${new Date().toISOString()}
120
-
121
- ## Current Focus
122
-
123
- No active task.
124
-
125
- ## Notes
126
-
127
- Memory system initialized.
128
- `);
323
+ // Download embedding model
324
+ let modelDownloaded = false;
325
+ if (!skipModel) {
326
+ modelDownloaded = await downloadModel(memoryDir, asJson);
129
327
  }
130
328
  const result = {
131
329
  success: true,
132
330
  settingsPath,
133
331
  memoryDir,
134
- hooksAdded: Object.keys(MEMORY_HOOKS),
135
- message: 'Memory hooks configured successfully',
332
+ hooksAdded: hooksResult.added,
333
+ hooksSkipped: hooksResult.skipped,
334
+ hooksManualRequired: hooksResult.manualRequired,
335
+ mcpConfigured: mcpResult.configured,
336
+ modelDownloaded,
337
+ message: 'Memory setup complete',
136
338
  };
137
339
  if (asJson) {
138
340
  console.log(JSON.stringify(result, null, 2));
139
341
  }
140
342
  else {
141
- console.log('\nAgentKits Memory Setup Complete\n');
142
- console.log(`Settings: ${settingsPath}`);
143
- console.log(`Memory: ${memoryDir}`);
144
- console.log(`\nHooks added: ${result.hooksAdded.join(', ')}`);
145
- console.log('\nRestart Claude Code to activate memory hooks.\n');
343
+ console.log('✅ Setup Complete\n');
344
+ console.log(`📁 Settings: ${settingsPath}`);
345
+ console.log(`📁 Memory: ${memoryDir}`);
346
+ // Show hooks status
347
+ if (hooksResult.added.length > 0) {
348
+ console.log(`\n📋 Hooks added: ${hooksResult.added.join(', ')}`);
349
+ }
350
+ if (hooksResult.skipped.length > 0) {
351
+ console.log(` Skipped: ${hooksResult.skipped.join(', ')}`);
352
+ }
353
+ // Show manual action required
354
+ if (hooksResult.manualRequired.length > 0) {
355
+ console.log('\n⚠️ Manual review recommended:');
356
+ for (const msg of hooksResult.manualRequired) {
357
+ console.log(` • ${msg}`);
358
+ }
359
+ }
360
+ // Model status
361
+ if (modelDownloaded) {
362
+ console.log('\n📦 Model: Downloaded and ready');
363
+ }
364
+ else if (skipModel) {
365
+ console.log('\n📦 Model: Skipped (will download on first use)');
366
+ }
367
+ console.log('\n👉 Restart your AI tool to activate.');
368
+ console.log('💡 Open web viewer: npx agentkits-memory-web');
369
+ console.log('📋 Show hooks config: npx agentkits-memory-setup --show-hooks\n');
370
+ // Show manual hook instructions if some hooks couldn't be added
371
+ const allHookEvents = Object.keys(MEMORY_HOOKS);
372
+ const addedEvents = hooksResult.added.map((h) => h.replace(/ \(.*\)$/, ''));
373
+ const missingEvents = allHookEvents.filter((e) => !addedEvents.includes(e) && !hooksResult.skipped.some((s) => s.startsWith(e)));
374
+ if (missingEvents.length > 0) {
375
+ console.log('━'.repeat(60));
376
+ console.log('📝 MANUAL SETUP REQUIRED\n');
377
+ console.log(`Some hooks could not be auto-configured.`);
378
+ console.log(`Missing: ${missingEvents.join(', ')}\n`);
379
+ console.log(`To add manually:`);
380
+ console.log(`1. Open: ${settingsPath}`);
381
+ console.log(`2. Add/merge the following into the "hooks" section:\n`);
382
+ // Generate copy-paste JSON for missing hooks only
383
+ const missingHooksJson = {};
384
+ for (const event of missingEvents) {
385
+ const hookConfig = MEMORY_HOOKS[event];
386
+ if (hookConfig) {
387
+ missingHooksJson[event] = hookConfig;
388
+ }
389
+ }
390
+ console.log(JSON.stringify(missingHooksJson, null, 2));
391
+ console.log('\n━'.repeat(60));
392
+ }
146
393
  }
147
394
  }
148
395
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAgCnC,MAAM,iBAAiB,GAAoB;IACzC,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,CAAC,IAAI,EAAE,yBAAyB,CAAC;CACxC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,YAAY,GAAgB;IAChC,uCAAuC;IACvC,YAAY,EAAE;QACZ;YACE,OAAO,EAAE,EAAE;YACX,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,yCAAyC;oBAClD,OAAO,EAAE,EAAE;iBACZ;aACF;SACF;KACF;IAED,4CAA4C;IAC5C,gBAAgB,EAAE;QAChB;YACE,OAAO,EAAE,EAAE;YACX,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,8CAA8C;oBACvD,OAAO,EAAE,EAAE;iBACZ;aACF;SACF;KACF;IAED,4CAA4C;IAC5C,uDAAuD;IACvD,WAAW,EAAE;QACX;YACE,OAAO,EAAE,sBAAsB;YAC/B,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,6CAA6C;oBACtD,OAAO,EAAE,EAAE;iBACZ;aACF;SACF;KACF;IAED,qCAAqC;IACrC,IAAI,EAAE;QACJ;YACE,OAAO,EAAE,EAAE;YACX,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,2CAA2C;oBACpD,OAAO,EAAE,EAAE;iBACZ;aACF;SACF;KACF;CACF,CAAC;AAEF,SAAS,SAAS;IAChB,MAAM,MAAM,GAAqC,EAAE,CAAC;IACpD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAClC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBACrC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AASD;;;GAGG;AACH,SAAS,UAAU,CACjB,QAAiC,EACjC,QAAqB,EACrB,KAAc;IAEd,MAAM,MAAM,GAAgB;QAC1B,MAAM,EAAE,EAAE,GAAG,QAAQ,EAAE;QACvB,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;QACX,cAAc,EAAE,EAAE;KACnB,CAAC;IAEF,6CAA6C;IAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAChC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC,WAAW;YAAE,SAAS;QAE3B,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE3C,sDAAsD;QACtD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QAED,kDAAkD;QAClD,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAY,EAAE,EAAE,CACxD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAClE,CAAC;QAEF,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,KAAK,EAAE,CAAC;gBACV,wCAAwC;gBACxC,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CACnC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CACrF,CAAC;gBACF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,WAAW,CAAC,CAAC;gBACrD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,uBAAuB,CAAC,CAAC;YACvD,CAAC;YACD,SAAS;QACX,CAAC;QAED,+DAA+D;QAC/D,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;YACjD,MAAM,gBAAgB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAE9E,wEAAwE;YACxE,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAChG,CAAC;YAEF,IAAI,WAAW,EAAE,CAAC;gBAChB,2BAA2B;gBAC3B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,WAAW,CAAC,CAAC;gBAC1D,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzB,MAAM,CAAC,cAAc,CAAC,IAAI,CACxB,oCAAoC,UAAU,0DAA0D,CACzG,CAAC;gBACF,SAAS;YACX,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,WAAW,CAAC,CAAC;QAC1D,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CACnB,UAAkB,EAClB,cAA8B,EAC9B,KAAc,EACd,MAAe;IAEf,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,uDAAuD;IACvD,sDAAsD;IACtD,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QAC/B,cAAc,CAAC,UAAU,GAAG,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;QAC/C,cAAc,CAAC,UAAU,CAAC,MAAM,GAAG,iBAAiB,CAAC;QACrD,UAAU,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACnD,CAAC;IAED,wFAAwF;IACxF,sDAAsD;IACtD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,IAAI,QAAQ,GAAc,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QAE7C,kCAAkC;QAClC,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAc,CAAC;gBAC1E,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBACP,uCAAuC;gBACvC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;gBAClE,CAAC;gBACD,QAAQ,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAChC,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;YACzC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,iBAAiB,CAAC;YAC/C,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACjE,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,qBAAqB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAgB,EAAE,MAAe;IAC5D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,CAAC;QACH,MAAM,iBAAiB,GAAG,IAAI,sBAAsB,CAAC;YACnD,YAAY,EAAE,CAAC,MAAM;YACrB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC;SAClD,CAAC,CAAC;QAEH,MAAM,iBAAiB,CAAC,UAAU,EAAE,CAAC;QAErC,2CAA2C;QAC3C,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAEnE,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,mCAAmC,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC7F,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB;IACvB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IAEnE,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE9D,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IAEtE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAI,OAAO,CAAC,aAAa,CAAY,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzG,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAC9B,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE1C,kCAAkC;IAClC,IAAI,SAAS,EAAE,CAAC;QACd,gBAAgB,EAAE,CAAC;QACnB,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEjD,IAAI,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC/C,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,0BAA0B;QAC1B,IAAI,QAAQ,GAAmB,EAAE,CAAC;QAClC,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACvD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,cAAc;QACd,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QACpE,QAAQ,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;QAEpC,uBAAuB;QACvB,IAAI,SAAS,GAAG,EAAE,UAAU,EAAE,EAAc,EAAE,OAAO,EAAE,EAAc,EAAE,CAAC;QACxE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS,GAAG,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC;QAED,iBAAiB;QACjB,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAElE,2BAA2B;QAC3B,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,eAAe,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,MAAM,GAAG;YACb,OAAO,EAAE,IAAI;YACb,YAAY;YACZ,SAAS;YACT,UAAU,EAAE,WAAW,CAAC,KAAK;YAC7B,YAAY,EAAE,WAAW,CAAC,OAAO;YACjC,mBAAmB,EAAE,WAAW,CAAC,cAAc;YAC/C,aAAa,EAAE,SAAS,CAAC,UAAU;YACnC,eAAe;YACf,OAAO,EAAE,uBAAuB;SACjC,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,gBAAgB,YAAY,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC;YAEzC,oBAAoB;YACpB,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,eAAe,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC;YAED,8BAA8B;YAC9B,IAAI,WAAW,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;gBAChD,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;oBAC7C,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YAED,eAAe;YACf,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAClD,CAAC;iBAAM,IAAI,SAAS,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YAClE,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;YAE/E,gEAAgE;YAChE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChD,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5E,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CACrF,CAAC;YAEF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,YAAY,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtD,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,YAAY,YAAY,EAAE,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;gBAEtE,kDAAkD;gBAClD,MAAM,gBAAgB,GAAgC,EAAE,CAAC;gBACzD,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;oBAClC,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;oBACvC,IAAI,UAAU,EAAE,CAAC;wBACf,gBAAgB,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC;oBACvC,CAAC;gBACH,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG;YACb,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}