aws-runtime-bridge 1.9.10 → 1.9.21
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.
- package/dist/adapter/AcodeSdkAdapter.d.ts +40 -0
- package/dist/adapter/AcodeSdkAdapter.d.ts.map +1 -1
- package/dist/adapter/AcodeSdkAdapter.js +376 -10
- package/dist/adapter/AcodeSdkAdapter.test.js +155 -8
- package/dist/adapter/ClaudeSdkAdapter.d.ts.map +1 -1
- package/dist/adapter/ClaudeSdkAdapter.js +17 -1
- package/dist/adapter/CodexSdkAdapter.d.ts.map +1 -1
- package/dist/adapter/CodexSdkAdapter.js +15 -1
- package/dist/adapter/OpencodeSdkAdapter.d.ts.map +1 -1
- package/dist/adapter/OpencodeSdkAdapter.js +56 -4
- package/dist/adapter/instance-ai-config-resolver.d.ts +49 -0
- package/dist/adapter/instance-ai-config-resolver.d.ts.map +1 -0
- package/dist/adapter/instance-ai-config-resolver.js +46 -0
- package/dist/adapter/types.d.ts +29 -2
- package/dist/adapter/types.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/routes/dashboard.d.ts.map +1 -1
- package/dist/routes/dashboard.js +749 -15
- package/dist/routes/events.d.ts +7 -0
- package/dist/routes/events.d.ts.map +1 -0
- package/dist/routes/events.js +22 -0
- package/dist/routes/file-browser.d.ts +1 -1
- package/dist/routes/file-browser.d.ts.map +1 -1
- package/dist/routes/file-browser.js +25 -9
- package/dist/routes/file-snapshot.d.ts +10 -0
- package/dist/routes/file-snapshot.d.ts.map +1 -0
- package/dist/routes/file-snapshot.js +156 -0
- package/dist/routes/git.d.ts +10 -0
- package/dist/routes/git.d.ts.map +1 -1
- package/dist/routes/git.js +405 -2
- package/dist/routes/git.test.js +39 -2
- package/dist/routes/instance.js +3 -1
- package/dist/routes/memory.d.ts +3 -0
- package/dist/routes/memory.d.ts.map +1 -1
- package/dist/routes/memory.js +3 -0
- package/dist/routes/terminal.d.ts +17 -3
- package/dist/routes/terminal.d.ts.map +1 -1
- package/dist/routes/terminal.js +464 -47
- package/dist/routes/terminal.test.js +37 -9
- package/dist/services/agent-event-store.d.ts +60 -0
- package/dist/services/agent-event-store.d.ts.map +1 -0
- package/dist/services/agent-event-store.js +68 -0
- package/dist/services/event-delta-pusher.d.ts +40 -0
- package/dist/services/event-delta-pusher.d.ts.map +1 -0
- package/dist/services/event-delta-pusher.js +95 -0
- package/dist/services/fileSnapshotStore.d.ts +96 -0
- package/dist/services/fileSnapshotStore.d.ts.map +1 -0
- package/dist/services/fileSnapshotStore.js +500 -0
- package/dist/services/instance-ai-config-service.d.ts +49 -0
- package/dist/services/instance-ai-config-service.d.ts.map +1 -0
- package/dist/services/instance-ai-config-service.js +174 -0
- package/dist/services/panel-auth.d.ts +8 -0
- package/dist/services/panel-auth.d.ts.map +1 -1
- package/dist/services/panel-auth.js +8 -0
- package/dist/services/ring-buffer.d.ts +67 -0
- package/dist/services/ring-buffer.d.ts.map +1 -0
- package/dist/services/ring-buffer.js +103 -0
- package/dist/services/session-output.d.ts +49 -3
- package/dist/services/session-output.d.ts.map +1 -1
- package/dist/services/session-output.js +115 -2
- package/dist/utils/instance-ai-config-debug-logger.d.ts +37 -0
- package/dist/utils/instance-ai-config-debug-logger.d.ts.map +1 -0
- package/dist/utils/instance-ai-config-debug-logger.js +63 -0
- package/dist/utils/logger.d.ts +18 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +48 -4
- package/package/acode/dist/built-in-file-tools.d.ts +1 -1
- package/package/acode/dist/built-in-file-tools.d.ts.map +1 -1
- package/package/acode/dist/built-in-file-tools.js +5 -3
- package/package/acode/dist/builtins/commandArtifacts.d.ts +8 -1
- package/package/acode/dist/builtins/commandArtifacts.d.ts.map +1 -1
- package/package/acode/dist/builtins/commandArtifacts.js +24 -4
- package/package/acode/dist/builtins/shellCommandResult.d.ts +1 -0
- package/package/acode/dist/builtins/shellCommandResult.d.ts.map +1 -1
- package/package/acode/dist/builtins/shellCommandResult.js +3 -3
- package/package/acode/dist/builtins/shellCommandRunner.d.ts +1 -0
- package/package/acode/dist/builtins/shellCommandRunner.d.ts.map +1 -1
- package/package/acode/dist/builtins/shellCommandRunner.js +1 -0
- package/package/acode/dist/builtins/shellOutputDecoder.d.ts +25 -2
- package/package/acode/dist/builtins/shellOutputDecoder.d.ts.map +1 -1
- package/package/acode/dist/builtins/shellOutputDecoder.js +69 -5
- package/package/acode/dist/cli.js +2 -0
- package/package/acode/dist/runtime.d.ts.map +1 -1
- package/package/acode/dist/runtime.js +156 -5
- package/package/acode/dist/types.d.ts +1 -0
- package/package/acode/dist/types.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/agent-client.d.ts +10 -3
- package/package/aws-client-agent-mcp/dist/agent-client.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/agent-client.js +33 -11
- package/package/aws-client-agent-mcp/dist/agent-client.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/context-manager.d.ts +136 -0
- package/package/aws-client-agent-mcp/dist/context-manager.d.ts.map +1 -0
- package/package/aws-client-agent-mcp/dist/context-manager.js +473 -0
- package/package/aws-client-agent-mcp/dist/context-manager.js.map +1 -0
- package/package/aws-client-agent-mcp/dist/context-manager.test.d.ts +6 -0
- package/package/aws-client-agent-mcp/dist/context-manager.test.d.ts.map +1 -0
- package/package/aws-client-agent-mcp/dist/context-manager.test.js +307 -0
- package/package/aws-client-agent-mcp/dist/context-manager.test.js.map +1 -0
- package/package/aws-client-agent-mcp/dist/http-client.d.ts +11 -0
- package/package/aws-client-agent-mcp/dist/http-client.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/http-client.js +67 -0
- package/package/aws-client-agent-mcp/dist/http-client.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/mcp-server.d.ts +166 -10
- package/package/aws-client-agent-mcp/dist/mcp-server.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/mcp-server.js +933 -41
- package/package/aws-client-agent-mcp/dist/mcp-server.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/mcp-server.test.js +150 -130
- package/package/aws-client-agent-mcp/dist/mcp-server.test.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/mcp-tools.d.ts +15 -1
- package/package/aws-client-agent-mcp/dist/mcp-tools.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/mcp-tools.js +62 -2
- package/package/aws-client-agent-mcp/dist/mcp-tools.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/memory-store.d.ts +58 -1
- package/package/aws-client-agent-mcp/dist/memory-store.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/memory-store.js +246 -15
- package/package/aws-client-agent-mcp/dist/memory-store.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/memory-tools.d.ts +8 -0
- package/package/aws-client-agent-mcp/dist/memory-tools.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/memory-tools.js +106 -2
- package/package/aws-client-agent-mcp/dist/memory-tools.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/server-memory-store.d.ts +7 -1
- package/package/aws-client-agent-mcp/dist/server-memory-store.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/server-memory-store.js +18 -0
- package/package/aws-client-agent-mcp/dist/server-memory-store.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/types.d.ts +103 -2
- package/package/aws-client-agent-mcp/dist/types.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/types.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/websocket-client.d.ts +27 -2
- package/package/aws-client-agent-mcp/dist/websocket-client.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/websocket-client.js +123 -5
- package/package/aws-client-agent-mcp/dist/websocket-client.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,30 @@
|
|
|
1
|
-
const ALL_MEMORY_TYPES = ['task_list', 'recently_memory', 'memory'];
|
|
1
|
+
const ALL_MEMORY_TYPES = ['task_list', 'recently_memory', 'memory', 'session_context'];
|
|
2
2
|
const LISTABLE_MEMORY_TYPES = ['task_list', 'recently_memory'];
|
|
3
3
|
const LISTABLE_MEMORY_TOTAL_LIMIT = 64;
|
|
4
4
|
const LISTABLE_MEMORY_TYPE_LIMIT = 32;
|
|
5
5
|
const LISTABLE_MEMORY_TOTAL_HARD_LIMIT = LISTABLE_MEMORY_TOTAL_LIMIT * 2;
|
|
6
6
|
const LISTABLE_MEMORY_TYPE_HARD_LIMIT = LISTABLE_MEMORY_TYPE_LIMIT * 2;
|
|
7
|
+
/** session_context 类型的硬限制(每 domain),避免无限增长 */
|
|
8
|
+
const SESSION_CONTEXT_HARD_LIMIT = 1024;
|
|
9
|
+
/**
|
|
10
|
+
* 规范化绑定的文件路径。
|
|
11
|
+
* 项目约定以下前缀都表示工作区根路径:
|
|
12
|
+
* ./xxx → ./xxx (已是相对路径)
|
|
13
|
+
* /xxx → ./xxx (/ 视为工作区根路径)
|
|
14
|
+
* @/xxx → ./xxx (@/ 视为工作区根路径别名)
|
|
15
|
+
* xxx → ./xxx (裸路径视为当前工作区相对)
|
|
16
|
+
*/
|
|
17
|
+
export function normalizeBoundFilePath(filePath) {
|
|
18
|
+
const trimmed = String(filePath || "").trim();
|
|
19
|
+
if (!trimmed)
|
|
20
|
+
return trimmed;
|
|
21
|
+
// 去掉 @/ 前缀(@ 视为工作区根路径)
|
|
22
|
+
const noAt = trimmed.startsWith("@/") ? trimmed.substring(1) : trimmed;
|
|
23
|
+
if (noAt.startsWith("./"))
|
|
24
|
+
return noAt;
|
|
25
|
+
// /xxx 和 xxx 都统一成 ./xxx
|
|
26
|
+
return `./${noAt.replace(/^\//, "")}`;
|
|
27
|
+
}
|
|
7
28
|
export class MemoryCapacityError extends Error {
|
|
8
29
|
details;
|
|
9
30
|
constructor(message, details) {
|
|
@@ -13,6 +34,36 @@ export class MemoryCapacityError extends Error {
|
|
|
13
34
|
}
|
|
14
35
|
}
|
|
15
36
|
const URI_PATTERN = /^([a-zA-Z_][a-zA-Z0-9_]*):\/\/(.*)$/;
|
|
37
|
+
const MEMORY_CACHE_TTL_MS = 5_000; // 5 秒缓存
|
|
38
|
+
const memoryDataCache = new Map();
|
|
39
|
+
/** 解析 query 为 OR-AND 词组:
|
|
40
|
+
* 1. 按 `|` 分隔得到 OR 词组列表
|
|
41
|
+
* 2. 每个 OR 词组内按空白分隔得到 AND 词列表
|
|
42
|
+
* 例如: "架构|技术 设计" → [["架构"], ["技术", "设计"]]
|
|
43
|
+
* "架构 技术" → [["架构", "技术"]]
|
|
44
|
+
* "架构" → [["架构"]]
|
|
45
|
+
*/
|
|
46
|
+
function parseQueryTerms(rawQuery) {
|
|
47
|
+
const trimmed = (rawQuery || '').trim();
|
|
48
|
+
if (!trimmed)
|
|
49
|
+
return [];
|
|
50
|
+
return trimmed
|
|
51
|
+
.split('|')
|
|
52
|
+
.map(orPart => orPart.trim())
|
|
53
|
+
.filter(Boolean)
|
|
54
|
+
.map(orPart => orPart.split(/\s+/).filter(Boolean));
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* 检查一段文本是否匹配指定词组。
|
|
58
|
+
* @param terms OR-AND 词组列表,外层 OR、内层 AND
|
|
59
|
+
* @param haystack 要搜索的文本(已小写)
|
|
60
|
+
* @returns true 如果任意 OR 组内的所有 AND 词都匹配
|
|
61
|
+
*/
|
|
62
|
+
function matchTerms(terms, haystack) {
|
|
63
|
+
if (terms.length === 0)
|
|
64
|
+
return false;
|
|
65
|
+
return terms.some(andGroup => andGroup.every(word => haystack.includes(word)));
|
|
66
|
+
}
|
|
16
67
|
export class MemoryStore {
|
|
17
68
|
storePath;
|
|
18
69
|
constructor(storePath) {
|
|
@@ -130,7 +181,11 @@ export class MemoryStore {
|
|
|
130
181
|
* 保存记忆数据。
|
|
131
182
|
* 主流程:按 domain 分组写入 <domain>.json 并移除空域旧文件。
|
|
132
183
|
*/
|
|
184
|
+
invalidateCache() {
|
|
185
|
+
memoryDataCache.delete(this.storePath);
|
|
186
|
+
}
|
|
133
187
|
async saveData(data) {
|
|
188
|
+
this.invalidateCache();
|
|
134
189
|
const { readdir, rm } = await import('node:fs/promises');
|
|
135
190
|
const path = await import('node:path');
|
|
136
191
|
await this.ensureStoreDir();
|
|
@@ -191,6 +246,16 @@ export class MemoryStore {
|
|
|
191
246
|
listable: false,
|
|
192
247
|
domainCount: 0,
|
|
193
248
|
by_domain: {}
|
|
249
|
+
},
|
|
250
|
+
session_context: {
|
|
251
|
+
count: 0,
|
|
252
|
+
limit: null,
|
|
253
|
+
hardLimit: SESSION_CONTEXT_HARD_LIMIT,
|
|
254
|
+
exceeded: false,
|
|
255
|
+
hardExceeded: false,
|
|
256
|
+
listable: false,
|
|
257
|
+
domainCount: 0,
|
|
258
|
+
by_domain: {}
|
|
194
259
|
}
|
|
195
260
|
}
|
|
196
261
|
};
|
|
@@ -205,10 +270,24 @@ export class MemoryStore {
|
|
|
205
270
|
stats.total += 1;
|
|
206
271
|
const typeStats = stats.by_type[record.memory_type];
|
|
207
272
|
typeStats.count += 1;
|
|
273
|
+
const domainLimitFor = (mt) => {
|
|
274
|
+
if (LISTABLE_MEMORY_TYPES.includes(mt))
|
|
275
|
+
return LISTABLE_MEMORY_TYPE_LIMIT;
|
|
276
|
+
if (mt === 'session_context')
|
|
277
|
+
return null; // no soft limit
|
|
278
|
+
return null;
|
|
279
|
+
};
|
|
280
|
+
const domainHardLimitFor = (mt) => {
|
|
281
|
+
if (LISTABLE_MEMORY_TYPES.includes(mt))
|
|
282
|
+
return LISTABLE_MEMORY_TYPE_HARD_LIMIT;
|
|
283
|
+
if (mt === 'session_context')
|
|
284
|
+
return SESSION_CONTEXT_HARD_LIMIT;
|
|
285
|
+
return null;
|
|
286
|
+
};
|
|
208
287
|
const domainStats = typeStats.by_domain[record.domain] ?? {
|
|
209
288
|
count: 0,
|
|
210
|
-
limit:
|
|
211
|
-
hardLimit:
|
|
289
|
+
limit: domainLimitFor(record.memory_type),
|
|
290
|
+
hardLimit: domainHardLimitFor(record.memory_type),
|
|
212
291
|
exceeded: false,
|
|
213
292
|
hardExceeded: false
|
|
214
293
|
};
|
|
@@ -298,8 +377,32 @@ export class MemoryStore {
|
|
|
298
377
|
});
|
|
299
378
|
}
|
|
300
379
|
}
|
|
380
|
+
/**
|
|
381
|
+
* 校验 session_context 记忆容量。
|
|
382
|
+
* 主流程:按 domain 限制最多 SESSION_CONTEXT_HARD_LIMIT 条记录,拒绝超限创建。
|
|
383
|
+
*/
|
|
384
|
+
ensureSessionContextCapacity(data, memory_type, normalizedUri) {
|
|
385
|
+
if (memory_type !== 'session_context') {
|
|
386
|
+
return;
|
|
387
|
+
}
|
|
388
|
+
const existingCount = Object.values(data.by_uri).filter((r) => r.memory_type === 'session_context' && r.domain === normalizedUri.domain).length;
|
|
389
|
+
if (existingCount >= SESSION_CONTEXT_HARD_LIMIT) {
|
|
390
|
+
throw new MemoryCapacityError(`Cannot create session_context: hard limit ${SESSION_CONTEXT_HARD_LIMIT} reached under domain ${normalizedUri.domain}. ` +
|
|
391
|
+
`Please delete existing session_context memories before creating a new one.`, {
|
|
392
|
+
code: 'MEMORY_TYPE_LIMIT_REACHED',
|
|
393
|
+
memory_type,
|
|
394
|
+
domain: normalizedUri.domain,
|
|
395
|
+
limit: SESSION_CONTEXT_HARD_LIMIT,
|
|
396
|
+
current: existingCount,
|
|
397
|
+
recommended_actions: [
|
|
398
|
+
"list_memories({ memory_type: 'session_context' })",
|
|
399
|
+
"delete_memory({ uri, memory_type: 'session_context' })"
|
|
400
|
+
]
|
|
401
|
+
});
|
|
402
|
+
}
|
|
403
|
+
}
|
|
301
404
|
async getStats() {
|
|
302
|
-
const data = await this.
|
|
405
|
+
const data = await this.loadDataCached();
|
|
303
406
|
return this.calculateStats(data);
|
|
304
407
|
}
|
|
305
408
|
async createMemory(input) {
|
|
@@ -310,17 +413,26 @@ export class MemoryStore {
|
|
|
310
413
|
throw new Error(`Memory already exists: ${normalized.uri}`);
|
|
311
414
|
}
|
|
312
415
|
this.ensureListableMemoryCapacity(data, normalizedType, normalized);
|
|
416
|
+
this.ensureSessionContextCapacity(data, normalizedType, normalized);
|
|
313
417
|
const now = this.nowIso();
|
|
314
418
|
const record = {
|
|
315
419
|
id: this.generateId(normalized.uri),
|
|
316
420
|
uri: normalized.uri,
|
|
317
421
|
domain: normalized.domain,
|
|
318
422
|
path: normalized.path,
|
|
423
|
+
title: input.title || undefined,
|
|
319
424
|
content: String(input.content || ''),
|
|
320
425
|
memory_type: normalizedType,
|
|
321
426
|
createdAt: now,
|
|
322
427
|
updatedAt: now,
|
|
323
|
-
version: 1
|
|
428
|
+
version: 1,
|
|
429
|
+
// Memory 增强字段 (v1.6.0)
|
|
430
|
+
keywords: input.keywords,
|
|
431
|
+
bound_files: input.bound_files,
|
|
432
|
+
file_md5_map: input.file_md5_map || undefined,
|
|
433
|
+
update_status: 'normal',
|
|
434
|
+
updating_agent_id: undefined,
|
|
435
|
+
last_check_time: input.last_check_time || undefined
|
|
324
436
|
};
|
|
325
437
|
data.by_uri[normalized.uri] = record;
|
|
326
438
|
await this.saveData(data);
|
|
@@ -371,8 +483,24 @@ export class MemoryStore {
|
|
|
371
483
|
const updated = {
|
|
372
484
|
...existing,
|
|
373
485
|
content: nextContent,
|
|
486
|
+
title: input.title !== undefined ? input.title : existing.title,
|
|
374
487
|
updatedAt: this.nowIso(),
|
|
375
|
-
version: existing.version + 1
|
|
488
|
+
version: existing.version + 1,
|
|
489
|
+
// Memory 增强字段更新 (v1.6.0)
|
|
490
|
+
keywords: input.keywords !== undefined ? input.keywords : existing.keywords,
|
|
491
|
+
bound_files: input.bound_files !== undefined ? input.bound_files : existing.bound_files,
|
|
492
|
+
// file_md5_map: 显式传入则使用新值,否则若 bound_files 变更则重置(需重新计算),否则保留原值
|
|
493
|
+
file_md5_map: input.file_md5_map !== undefined
|
|
494
|
+
? input.file_md5_map
|
|
495
|
+
: (input.bound_files !== undefined ? undefined : existing.file_md5_map),
|
|
496
|
+
// 当显式传入 update_status 时使用传入值(如标记 updating),否则重置为 normal
|
|
497
|
+
update_status: input.update_status !== undefined ? input.update_status : 'normal',
|
|
498
|
+
updating_agent_id: input.update_status !== undefined
|
|
499
|
+
? (input.updating_agent_id || undefined)
|
|
500
|
+
: undefined,
|
|
501
|
+
last_check_time: input.last_check_time !== undefined
|
|
502
|
+
? input.last_check_time
|
|
503
|
+
: existing.last_check_time,
|
|
376
504
|
};
|
|
377
505
|
data.by_uri[normalized.uri] = updated;
|
|
378
506
|
await this.saveData(data);
|
|
@@ -393,14 +521,38 @@ export class MemoryStore {
|
|
|
393
521
|
await this.saveData(data);
|
|
394
522
|
return true;
|
|
395
523
|
}
|
|
396
|
-
|
|
524
|
+
/**
|
|
525
|
+
* 从缓存或磁盘加载记忆数据。
|
|
526
|
+
* 具体逻辑:检查 memoryDataCache 是否有未过期的缓存 -> 有则返回 -> 无则从磁盘加载并写入缓存。
|
|
527
|
+
*/
|
|
528
|
+
async loadDataCached() {
|
|
529
|
+
const now = Date.now();
|
|
530
|
+
const cached = memoryDataCache.get(this.storePath);
|
|
531
|
+
if (cached && (now - cached.timestamp) < MEMORY_CACHE_TTL_MS) {
|
|
532
|
+
return cached.data;
|
|
533
|
+
}
|
|
397
534
|
const data = await this.loadData();
|
|
398
|
-
|
|
535
|
+
memoryDataCache.set(this.storePath, { data, timestamp: now });
|
|
536
|
+
return data;
|
|
537
|
+
}
|
|
538
|
+
/**
|
|
539
|
+
* 搜索本地记忆。
|
|
540
|
+
* 主流程:支持 OR 分隔符(|)和空格 AND 词组搜索,支持 keyword_mode(any/all) 关键词过滤。
|
|
541
|
+
* 搜索效率:使用 5 秒内存缓存避免多次 searchMemory 重复读盘。
|
|
542
|
+
*/
|
|
543
|
+
async searchMemory(input) {
|
|
544
|
+
const data = await this.loadDataCached();
|
|
545
|
+
const rawQuery = String(input.query || '').trim();
|
|
546
|
+
const query = rawQuery.toLowerCase();
|
|
399
547
|
const memoryTypeFilter = input.memory_type
|
|
400
548
|
? this.normalizeMemoryType(input.memory_type)
|
|
401
549
|
: undefined;
|
|
402
550
|
const limit = typeof input.limit === 'number' && input.limit > 0 ? input.limit : 10;
|
|
403
|
-
|
|
551
|
+
const keywordsFilter = input.keywords?.map(k => k.toLowerCase());
|
|
552
|
+
const keywordMode = input.keyword_mode === 'all' ? 'all' : 'any';
|
|
553
|
+
// 解析 OR-AND 词组
|
|
554
|
+
const terms = parseQueryTerms(query);
|
|
555
|
+
if (terms.length === 0 && (!keywordsFilter || keywordsFilter.length === 0)) {
|
|
404
556
|
return { query, results: [] };
|
|
405
557
|
}
|
|
406
558
|
const seenById = new Set();
|
|
@@ -412,13 +564,52 @@ export class MemoryStore {
|
|
|
412
564
|
if (seenById.has(record.id)) {
|
|
413
565
|
continue;
|
|
414
566
|
}
|
|
415
|
-
|
|
416
|
-
|
|
567
|
+
let score = 0;
|
|
568
|
+
// 关键词匹配(优先级最高)
|
|
569
|
+
if (keywordsFilter && keywordsFilter.length > 0 && record.keywords) {
|
|
570
|
+
const recordKeywords = record.keywords.map(k => k.toLowerCase());
|
|
571
|
+
if (keywordMode === 'all') {
|
|
572
|
+
// ALL 模式:所有关键词都需匹配
|
|
573
|
+
const allMatched = keywordsFilter.every(kw => recordKeywords.includes(kw));
|
|
574
|
+
if (allMatched) {
|
|
575
|
+
score += 10 * keywordsFilter.length;
|
|
576
|
+
}
|
|
577
|
+
else {
|
|
578
|
+
// 关键词 ALL 模式不满足时,若无 query 则跳过,有 query 则依赖 query 是否命中
|
|
579
|
+
if (terms.length === 0)
|
|
580
|
+
continue;
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
else {
|
|
584
|
+
// ANY 模式(默认):任一关键词匹配即加分
|
|
585
|
+
for (const keyword of keywordsFilter) {
|
|
586
|
+
if (recordKeywords.includes(keyword)) {
|
|
587
|
+
score += 10;
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
// 内容搜索(title + content)
|
|
593
|
+
if (terms.length > 0) {
|
|
594
|
+
const haystack = `${record.uri}\n${record.title || ''}\n${record.content}`.toLowerCase();
|
|
595
|
+
// 使用 OR-AND 词组匹配
|
|
596
|
+
if (!matchTerms(terms, haystack) && score === 0) {
|
|
597
|
+
continue; // 内容不匹配且无关键词命中,跳过
|
|
598
|
+
}
|
|
599
|
+
// 计算内容匹配分数:按每个 OR 组匹配的 AND 词数量加权
|
|
600
|
+
for (const andGroup of terms) {
|
|
601
|
+
const matchedCount = andGroup.filter(word => haystack.includes(word)).length;
|
|
602
|
+
if (matchedCount > 0) {
|
|
603
|
+
// URI 中出现的词权重更高
|
|
604
|
+
const uriLower = record.uri.toLowerCase();
|
|
605
|
+
const uriMatches = andGroup.filter(word => uriLower.includes(word)).length;
|
|
606
|
+
score += matchedCount + uriMatches;
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
if (score === 0) {
|
|
417
611
|
continue;
|
|
418
612
|
}
|
|
419
|
-
const inUri = record.uri.toLowerCase().includes(query) ? 2 : 0;
|
|
420
|
-
const inContent = record.content.toLowerCase().includes(query) ? 1 : 0;
|
|
421
|
-
const score = inUri + inContent;
|
|
422
613
|
seenById.add(record.id);
|
|
423
614
|
ranked.push({ score, record });
|
|
424
615
|
}
|
|
@@ -434,7 +625,11 @@ export class MemoryStore {
|
|
|
434
625
|
};
|
|
435
626
|
}
|
|
436
627
|
async listByType(memory_type) {
|
|
437
|
-
|
|
628
|
+
// session_context 和 memory 类型可以通过 listByType 列出
|
|
629
|
+
// memory 类型原本设计为仅通过 search 检索,但文件变更检测(buildMemoryFileChangeNotification)
|
|
630
|
+
// 需要枚举所有永久记忆以检查绑定文件的 MD5 变化,因此放开此限制。
|
|
631
|
+
const allowedTypes = (memory_type === 'session_context' || memory_type === 'memory') ? ALL_MEMORY_TYPES : LISTABLE_MEMORY_TYPES;
|
|
632
|
+
const listType = this.normalizeMemoryType(memory_type, allowedTypes);
|
|
438
633
|
const data = await this.loadData();
|
|
439
634
|
const seenById = new Set();
|
|
440
635
|
const list = [];
|
|
@@ -484,5 +679,41 @@ export class MemoryStore {
|
|
|
484
679
|
await this.saveData(data);
|
|
485
680
|
return archived;
|
|
486
681
|
}
|
|
682
|
+
/**
|
|
683
|
+
* 按文件查询绑定了该文件的所有 Memory
|
|
684
|
+
* Memory 增强功能 (v1.6.0)
|
|
685
|
+
*/
|
|
686
|
+
async listByFile(filePath, memory_type) {
|
|
687
|
+
const data = await this.loadData();
|
|
688
|
+
// 兼容 options 对象和 bare memory_type 两种调用方式
|
|
689
|
+
const resolvedMemoryType = typeof memory_type === 'object' && memory_type !== null
|
|
690
|
+
? memory_type.memory_type
|
|
691
|
+
: memory_type;
|
|
692
|
+
const memoryTypeFilter = resolvedMemoryType
|
|
693
|
+
? this.normalizeMemoryType(resolvedMemoryType)
|
|
694
|
+
: undefined;
|
|
695
|
+
// 规范化查询路径:./xxx → ./xxx, xxx → ./xxx, /xxx → /xxx
|
|
696
|
+
const normalizedQuery = normalizeBoundFilePath(filePath);
|
|
697
|
+
const seenById = new Set();
|
|
698
|
+
const list = [];
|
|
699
|
+
for (const record of Object.values(data.by_uri)) {
|
|
700
|
+
if (memoryTypeFilter && record.memory_type !== memoryTypeFilter) {
|
|
701
|
+
continue;
|
|
702
|
+
}
|
|
703
|
+
if (seenById.has(record.id)) {
|
|
704
|
+
continue;
|
|
705
|
+
}
|
|
706
|
+
// 检查是否绑定了指定文件(两端均规范化后比较)
|
|
707
|
+
if (record.bound_files && record.bound_files.length > 0) {
|
|
708
|
+
const matched = record.bound_files.some(f => normalizeBoundFilePath(f) === normalizedQuery);
|
|
709
|
+
if (matched) {
|
|
710
|
+
seenById.add(record.id);
|
|
711
|
+
list.push(record);
|
|
712
|
+
}
|
|
713
|
+
}
|
|
714
|
+
}
|
|
715
|
+
list.sort((a, b) => b.updatedAt.localeCompare(a.updatedAt));
|
|
716
|
+
return list;
|
|
717
|
+
}
|
|
487
718
|
}
|
|
488
719
|
//# sourceMappingURL=memory-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../src/memory-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../src/memory-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,4 +8,12 @@ export declare const LIST_MEMORIES_TOOL: Tool;
|
|
|
8
8
|
export declare const GET_MEMORY_STATS_TOOL: Tool;
|
|
9
9
|
export declare const REMOVE_TASK_LIST_MEMORY_TOOL: Tool;
|
|
10
10
|
export declare const ARCHIVE_RECENTLY_MEMORY_TOOL: Tool;
|
|
11
|
+
/**
|
|
12
|
+
* 按文件查询绑定了该文件的 Memory
|
|
13
|
+
*/
|
|
14
|
+
export declare const LIST_MEMORIES_BY_FILE_TOOL: Tool;
|
|
15
|
+
/**
|
|
16
|
+
* 放弃 Memory 更新状态
|
|
17
|
+
*/
|
|
18
|
+
export declare const ABANDON_MEMORY_UPDATE_TOOL: Tool;
|
|
11
19
|
//# sourceMappingURL=memory-tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-tools.d.ts","sourceRoot":"","sources":["../src/memory-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAsB/D,eAAO,MAAM,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"memory-tools.d.ts","sourceRoot":"","sources":["../src/memory-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAsB/D,eAAO,MAAM,kBAAkB,EAAE,IA+BhC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,IAY9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,IAyChC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,IAYhC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,IAiDhC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,IAWhC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,IAWnC,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,IAW1C,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,IAW1C,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,IA0BxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,IAYxC,CAAC"}
|
|
@@ -20,10 +20,25 @@ export const CREATE_MEMORY_TOOL = {
|
|
|
20
20
|
properties: {
|
|
21
21
|
memory_type: MEMORY_TYPE_SCHEMA,
|
|
22
22
|
uri: MEMORY_URI_SCHEMA,
|
|
23
|
+
title: {
|
|
24
|
+
type: "string",
|
|
25
|
+
description: "记忆标题,用于快速识别记忆内容。",
|
|
26
|
+
},
|
|
23
27
|
content: {
|
|
24
28
|
type: "string",
|
|
25
29
|
description: "记忆内容。",
|
|
26
30
|
},
|
|
31
|
+
// Memory 增强字段 (v1.6.0)
|
|
32
|
+
keywords: {
|
|
33
|
+
type: "array",
|
|
34
|
+
items: { type: "string" },
|
|
35
|
+
description: "关键词列表,用于快速搜索和分类,例如 [\"React\", \"前端\", \"最佳实践\"]。",
|
|
36
|
+
},
|
|
37
|
+
bound_files: {
|
|
38
|
+
type: "array",
|
|
39
|
+
items: { type: "string" },
|
|
40
|
+
description: "绑定的文件路径列表,用于自动检测文件变更并提醒更新记忆,例如 [\"./path/to/file.md\"]。(/ 前缀会被视为工作区根路径,统一转为 ./)",
|
|
41
|
+
},
|
|
27
42
|
},
|
|
28
43
|
required: ["memory_type", "uri", "content"],
|
|
29
44
|
},
|
|
@@ -48,6 +63,10 @@ export const UPDATE_MEMORY_TOOL = {
|
|
|
48
63
|
properties: {
|
|
49
64
|
uri: MEMORY_URI_SCHEMA,
|
|
50
65
|
memory_type: MEMORY_TYPE_SCHEMA,
|
|
66
|
+
title: {
|
|
67
|
+
type: "string",
|
|
68
|
+
description: "更新标题。传入此字段会覆盖现有标题。",
|
|
69
|
+
},
|
|
51
70
|
old_string: {
|
|
52
71
|
type: "string",
|
|
53
72
|
minLength: 1,
|
|
@@ -62,6 +81,17 @@ export const UPDATE_MEMORY_TOOL = {
|
|
|
62
81
|
minLength: 1,
|
|
63
82
|
description: "追加到记忆末尾的内容。追加时只传 append,不要传 old_string/new_string。",
|
|
64
83
|
},
|
|
84
|
+
// Memory 增强字段 (v1.6.0)
|
|
85
|
+
keywords: {
|
|
86
|
+
type: "array",
|
|
87
|
+
items: { type: "string" },
|
|
88
|
+
description: "更新关键词列表。",
|
|
89
|
+
},
|
|
90
|
+
bound_files: {
|
|
91
|
+
type: "array",
|
|
92
|
+
items: { type: "string" },
|
|
93
|
+
description: "更新绑定文件路径列表。更新后会重新计算文件 MD5。",
|
|
94
|
+
},
|
|
65
95
|
},
|
|
66
96
|
required: ["uri"],
|
|
67
97
|
},
|
|
@@ -80,19 +110,49 @@ export const DELETE_MEMORY_TOOL = {
|
|
|
80
110
|
};
|
|
81
111
|
export const SEARCH_MEMORY_TOOL = {
|
|
82
112
|
name: "search_memory",
|
|
83
|
-
description: "按关键字搜索当前 Agent 工作区的本地记忆。会同时匹配 uri 与 content
|
|
113
|
+
description: "按关键字搜索当前 Agent 工作区的本地记忆。会同时匹配 uri、title 与 content,优先按关键词匹配,然后按内容匹配。" +
|
|
114
|
+
"支持scope参数搜索子Agent(工作区路径为当前路径子目录的Agent)绑定了文件的记忆。\n\n" +
|
|
115
|
+
"【搜索语法】\n" +
|
|
116
|
+
"- OR 搜索:使用 | 分隔多个词,匹配任一即返回。例如「架构|技术」匹配包含「架构」或「技术」的记录。\n" +
|
|
117
|
+
"- AND 搜索:使用空格分隔多个词,同一 OR 组内所有词都必须匹配。例如「架构 设计」匹配同时包含「架构」和「设计」的记录。\n" +
|
|
118
|
+
"- 混合搜索:| 优先级高于空格。「架构 设计|技术 实现」匹配「架构+设计」或「技术+实现」。\n" +
|
|
119
|
+
"- 单个词:按原语义搜索(向后兼容)。\n\n" +
|
|
120
|
+
"【keyword_mode 参数】\n" +
|
|
121
|
+
"- 'any'(默认):keywords 中任一关键词匹配即视为命中(OR 逻辑)。\n" +
|
|
122
|
+
"- 'all':keywords 中所有关键词都需匹配才视为命中(AND 逻辑)。\n\n" +
|
|
123
|
+
"【搜索效率】\n" +
|
|
124
|
+
"- 搜索结果使用 5 秒内存缓存,连续搜索不会重复读盘。\n" +
|
|
125
|
+
"- 记忆写入操作会自动清除缓存,确保数据一致性。",
|
|
84
126
|
inputSchema: {
|
|
85
127
|
type: "object",
|
|
86
128
|
properties: {
|
|
87
129
|
query: {
|
|
88
130
|
type: "string",
|
|
89
|
-
description: "
|
|
131
|
+
description: "搜索关键字。支持 | OR 分隔符和空格 AND 词组。例如「架构|技术 设计」表示搜索包含「架构」或同时包含「技术+设计」的记录。",
|
|
90
132
|
},
|
|
91
133
|
limit: {
|
|
92
134
|
type: "number",
|
|
93
135
|
description: "最多返回条数,默认 10。",
|
|
94
136
|
},
|
|
95
137
|
memory_type: MEMORY_TYPE_SCHEMA,
|
|
138
|
+
// Memory 增强字段 (v1.6.0)
|
|
139
|
+
keywords: {
|
|
140
|
+
type: "array",
|
|
141
|
+
items: { type: "string" },
|
|
142
|
+
description: "按关键词过滤。配合 keyword_mode 控制匹配逻辑(any=任一匹配,all=全部匹配)。关键词匹配优先级高于内容匹配。",
|
|
143
|
+
},
|
|
144
|
+
// Memory 搜索增强 (v1.10.0)
|
|
145
|
+
keyword_mode: {
|
|
146
|
+
type: "string",
|
|
147
|
+
enum: ["any", "all"],
|
|
148
|
+
description: "关键词过滤模式:any(默认,任一关键词匹配即选中)、all(所有关键词都需匹配)。",
|
|
149
|
+
},
|
|
150
|
+
// 父子 Agent 可见性 (v1.7.0)
|
|
151
|
+
scope: {
|
|
152
|
+
type: "string",
|
|
153
|
+
enum: ["own", "children", "all"],
|
|
154
|
+
description: "搜索范围:own(默认,仅搜索自己的记忆)、children(搜索子Agent绑定了文件的记忆)、all(合并搜索自己和子Agent的记忆)。",
|
|
155
|
+
},
|
|
96
156
|
},
|
|
97
157
|
required: ["query"],
|
|
98
158
|
},
|
|
@@ -141,4 +201,48 @@ export const ARCHIVE_RECENTLY_MEMORY_TOOL = {
|
|
|
141
201
|
required: ["uri"],
|
|
142
202
|
},
|
|
143
203
|
};
|
|
204
|
+
// ========== Memory 增强功能工具 (v1.6.0) ==========
|
|
205
|
+
/**
|
|
206
|
+
* 按文件查询绑定了该文件的 Memory
|
|
207
|
+
*/
|
|
208
|
+
export const LIST_MEMORIES_BY_FILE_TOOL = {
|
|
209
|
+
name: "list_memories_by_file",
|
|
210
|
+
description: "查询绑定了指定文件的所有 Memory。" +
|
|
211
|
+
"支持scope参数搜索子Agent(工作区路径为当前路径子目录的Agent)绑定了文件的记忆。" +
|
|
212
|
+
"子Agent的记忆会做path_prefix自动匹配,无需手动计算路径。" +
|
|
213
|
+
"例如父Agent搜索 ./a/b/c/src/a.txt,子Agent(工作路径./a/b/c)绑定./src/a.txt的记忆会被自动匹配。",
|
|
214
|
+
inputSchema: {
|
|
215
|
+
type: "object",
|
|
216
|
+
properties: {
|
|
217
|
+
file_path: {
|
|
218
|
+
type: "string",
|
|
219
|
+
description: "文件路径,例如 /path/to/file.md",
|
|
220
|
+
},
|
|
221
|
+
memory_type: MEMORY_TYPE_SCHEMA,
|
|
222
|
+
// 父子 Agent 可见性 (v1.7.0)
|
|
223
|
+
scope: {
|
|
224
|
+
type: "string",
|
|
225
|
+
enum: ["own", "children", "all"],
|
|
226
|
+
description: "搜索范围:own(默认,仅搜索自己的记忆)、children(搜索子Agent绑定了文件的记忆,按path_prefix自动匹配)、" +
|
|
227
|
+
"all(合并搜索自己和子Agent的记忆)。",
|
|
228
|
+
},
|
|
229
|
+
},
|
|
230
|
+
required: ["file_path"],
|
|
231
|
+
},
|
|
232
|
+
};
|
|
233
|
+
/**
|
|
234
|
+
* 放弃 Memory 更新状态
|
|
235
|
+
*/
|
|
236
|
+
export const ABANDON_MEMORY_UPDATE_TOOL = {
|
|
237
|
+
name: "abandon_memory_update",
|
|
238
|
+
description: "放弃指定 Memory 的更新中状态。当系统检测到文件变更并自动标记为更新中后,如果 Agent 决定暂不更新,可以调用此工具清除更新标记。",
|
|
239
|
+
inputSchema: {
|
|
240
|
+
type: "object",
|
|
241
|
+
properties: {
|
|
242
|
+
uri: MEMORY_URI_SCHEMA,
|
|
243
|
+
memory_type: MEMORY_TYPE_SCHEMA,
|
|
244
|
+
},
|
|
245
|
+
required: ["uri"],
|
|
246
|
+
},
|
|
247
|
+
};
|
|
144
248
|
//# sourceMappingURL=memory-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-tools.js","sourceRoot":"","sources":["../src/memory-tools.ts"],"names":[],"mappings":"AAEA,MAAM,kBAAkB,GAAG;IACzB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,CAAC;IAChD,WAAW,EACT,gEAAgE;CAC1D,CAAC;AAEX,MAAM,2BAA2B,GAAG;IAClC,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACtC,WAAW,EACT,iEAAiE;CAC3D,CAAC;AAEX,MAAM,iBAAiB,GAAG;IACxB,IAAI,EAAE,QAAQ;IACd,WAAW,EACT,uFAAuF;CACjF,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAS;IACtC,IAAI,EAAE,eAAe;IACrB,WAAW,EACT,kEAAkE;IACpE,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE,kBAAkB;YAC/B,GAAG,EAAE,iBAAiB;YACtB,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,OAAO;aACrB;SACF;QACD,QAAQ,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC;KAC5C;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAS;IACpC,IAAI,EAAE,aAAa;IACnB,WAAW,EACT,0DAA0D;IAC5D,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,GAAG,EAAE,iBAAiB;YACtB,WAAW,EAAE,kBAAkB;SAChC;QACD,QAAQ,EAAE,CAAC,KAAK,CAAC;KAClB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAS;IACtC,IAAI,EAAE,eAAe;IACrB,WAAW,EACT,+GAA+G;IACjH,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,GAAG,EAAE,iBAAiB;YACtB,WAAW,EAAE,kBAAkB;YAC/B,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,4CAA4C;aAC1D;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0DAA0D;aACxE;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,oDAAoD;aAClE;SACF;QACD,QAAQ,EAAE,CAAC,KAAK,CAAC;KAClB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAS;IACtC,IAAI,EAAE,eAAe;IACrB,WAAW,EACT,uEAAuE;IACzE,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,GAAG,EAAE,iBAAiB;YACtB,WAAW,EAAE,kBAAkB;SAChC;QACD,QAAQ,EAAE,CAAC,KAAK,CAAC;KAClB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAS;IACtC,IAAI,EAAE,eAAe;IACrB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"memory-tools.js","sourceRoot":"","sources":["../src/memory-tools.ts"],"names":[],"mappings":"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"}
|