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.
Files changed (132) hide show
  1. package/dist/adapter/AcodeSdkAdapter.d.ts +40 -0
  2. package/dist/adapter/AcodeSdkAdapter.d.ts.map +1 -1
  3. package/dist/adapter/AcodeSdkAdapter.js +376 -10
  4. package/dist/adapter/AcodeSdkAdapter.test.js +155 -8
  5. package/dist/adapter/ClaudeSdkAdapter.d.ts.map +1 -1
  6. package/dist/adapter/ClaudeSdkAdapter.js +17 -1
  7. package/dist/adapter/CodexSdkAdapter.d.ts.map +1 -1
  8. package/dist/adapter/CodexSdkAdapter.js +15 -1
  9. package/dist/adapter/OpencodeSdkAdapter.d.ts.map +1 -1
  10. package/dist/adapter/OpencodeSdkAdapter.js +56 -4
  11. package/dist/adapter/instance-ai-config-resolver.d.ts +49 -0
  12. package/dist/adapter/instance-ai-config-resolver.d.ts.map +1 -0
  13. package/dist/adapter/instance-ai-config-resolver.js +46 -0
  14. package/dist/adapter/types.d.ts +29 -2
  15. package/dist/adapter/types.d.ts.map +1 -1
  16. package/dist/index.js +5 -1
  17. package/dist/routes/dashboard.d.ts.map +1 -1
  18. package/dist/routes/dashboard.js +749 -15
  19. package/dist/routes/events.d.ts +7 -0
  20. package/dist/routes/events.d.ts.map +1 -0
  21. package/dist/routes/events.js +22 -0
  22. package/dist/routes/file-browser.d.ts +1 -1
  23. package/dist/routes/file-browser.d.ts.map +1 -1
  24. package/dist/routes/file-browser.js +25 -9
  25. package/dist/routes/file-snapshot.d.ts +10 -0
  26. package/dist/routes/file-snapshot.d.ts.map +1 -0
  27. package/dist/routes/file-snapshot.js +156 -0
  28. package/dist/routes/git.d.ts +10 -0
  29. package/dist/routes/git.d.ts.map +1 -1
  30. package/dist/routes/git.js +405 -2
  31. package/dist/routes/git.test.js +39 -2
  32. package/dist/routes/instance.js +3 -1
  33. package/dist/routes/memory.d.ts +3 -0
  34. package/dist/routes/memory.d.ts.map +1 -1
  35. package/dist/routes/memory.js +3 -0
  36. package/dist/routes/terminal.d.ts +17 -3
  37. package/dist/routes/terminal.d.ts.map +1 -1
  38. package/dist/routes/terminal.js +464 -47
  39. package/dist/routes/terminal.test.js +37 -9
  40. package/dist/services/agent-event-store.d.ts +60 -0
  41. package/dist/services/agent-event-store.d.ts.map +1 -0
  42. package/dist/services/agent-event-store.js +68 -0
  43. package/dist/services/event-delta-pusher.d.ts +40 -0
  44. package/dist/services/event-delta-pusher.d.ts.map +1 -0
  45. package/dist/services/event-delta-pusher.js +95 -0
  46. package/dist/services/fileSnapshotStore.d.ts +96 -0
  47. package/dist/services/fileSnapshotStore.d.ts.map +1 -0
  48. package/dist/services/fileSnapshotStore.js +500 -0
  49. package/dist/services/instance-ai-config-service.d.ts +49 -0
  50. package/dist/services/instance-ai-config-service.d.ts.map +1 -0
  51. package/dist/services/instance-ai-config-service.js +174 -0
  52. package/dist/services/panel-auth.d.ts +8 -0
  53. package/dist/services/panel-auth.d.ts.map +1 -1
  54. package/dist/services/panel-auth.js +8 -0
  55. package/dist/services/ring-buffer.d.ts +67 -0
  56. package/dist/services/ring-buffer.d.ts.map +1 -0
  57. package/dist/services/ring-buffer.js +103 -0
  58. package/dist/services/session-output.d.ts +49 -3
  59. package/dist/services/session-output.d.ts.map +1 -1
  60. package/dist/services/session-output.js +115 -2
  61. package/dist/utils/instance-ai-config-debug-logger.d.ts +37 -0
  62. package/dist/utils/instance-ai-config-debug-logger.d.ts.map +1 -0
  63. package/dist/utils/instance-ai-config-debug-logger.js +63 -0
  64. package/dist/utils/logger.d.ts +18 -0
  65. package/dist/utils/logger.d.ts.map +1 -1
  66. package/dist/utils/logger.js +48 -4
  67. package/package/acode/dist/built-in-file-tools.d.ts +1 -1
  68. package/package/acode/dist/built-in-file-tools.d.ts.map +1 -1
  69. package/package/acode/dist/built-in-file-tools.js +5 -3
  70. package/package/acode/dist/builtins/commandArtifacts.d.ts +8 -1
  71. package/package/acode/dist/builtins/commandArtifacts.d.ts.map +1 -1
  72. package/package/acode/dist/builtins/commandArtifacts.js +24 -4
  73. package/package/acode/dist/builtins/shellCommandResult.d.ts +1 -0
  74. package/package/acode/dist/builtins/shellCommandResult.d.ts.map +1 -1
  75. package/package/acode/dist/builtins/shellCommandResult.js +3 -3
  76. package/package/acode/dist/builtins/shellCommandRunner.d.ts +1 -0
  77. package/package/acode/dist/builtins/shellCommandRunner.d.ts.map +1 -1
  78. package/package/acode/dist/builtins/shellCommandRunner.js +1 -0
  79. package/package/acode/dist/builtins/shellOutputDecoder.d.ts +25 -2
  80. package/package/acode/dist/builtins/shellOutputDecoder.d.ts.map +1 -1
  81. package/package/acode/dist/builtins/shellOutputDecoder.js +69 -5
  82. package/package/acode/dist/cli.js +2 -0
  83. package/package/acode/dist/runtime.d.ts.map +1 -1
  84. package/package/acode/dist/runtime.js +156 -5
  85. package/package/acode/dist/types.d.ts +1 -0
  86. package/package/acode/dist/types.d.ts.map +1 -1
  87. package/package/aws-client-agent-mcp/dist/agent-client.d.ts +10 -3
  88. package/package/aws-client-agent-mcp/dist/agent-client.d.ts.map +1 -1
  89. package/package/aws-client-agent-mcp/dist/agent-client.js +33 -11
  90. package/package/aws-client-agent-mcp/dist/agent-client.js.map +1 -1
  91. package/package/aws-client-agent-mcp/dist/context-manager.d.ts +136 -0
  92. package/package/aws-client-agent-mcp/dist/context-manager.d.ts.map +1 -0
  93. package/package/aws-client-agent-mcp/dist/context-manager.js +473 -0
  94. package/package/aws-client-agent-mcp/dist/context-manager.js.map +1 -0
  95. package/package/aws-client-agent-mcp/dist/context-manager.test.d.ts +6 -0
  96. package/package/aws-client-agent-mcp/dist/context-manager.test.d.ts.map +1 -0
  97. package/package/aws-client-agent-mcp/dist/context-manager.test.js +307 -0
  98. package/package/aws-client-agent-mcp/dist/context-manager.test.js.map +1 -0
  99. package/package/aws-client-agent-mcp/dist/http-client.d.ts +11 -0
  100. package/package/aws-client-agent-mcp/dist/http-client.d.ts.map +1 -1
  101. package/package/aws-client-agent-mcp/dist/http-client.js +67 -0
  102. package/package/aws-client-agent-mcp/dist/http-client.js.map +1 -1
  103. package/package/aws-client-agent-mcp/dist/mcp-server.d.ts +166 -10
  104. package/package/aws-client-agent-mcp/dist/mcp-server.d.ts.map +1 -1
  105. package/package/aws-client-agent-mcp/dist/mcp-server.js +933 -41
  106. package/package/aws-client-agent-mcp/dist/mcp-server.js.map +1 -1
  107. package/package/aws-client-agent-mcp/dist/mcp-server.test.js +150 -130
  108. package/package/aws-client-agent-mcp/dist/mcp-server.test.js.map +1 -1
  109. package/package/aws-client-agent-mcp/dist/mcp-tools.d.ts +15 -1
  110. package/package/aws-client-agent-mcp/dist/mcp-tools.d.ts.map +1 -1
  111. package/package/aws-client-agent-mcp/dist/mcp-tools.js +62 -2
  112. package/package/aws-client-agent-mcp/dist/mcp-tools.js.map +1 -1
  113. package/package/aws-client-agent-mcp/dist/memory-store.d.ts +58 -1
  114. package/package/aws-client-agent-mcp/dist/memory-store.d.ts.map +1 -1
  115. package/package/aws-client-agent-mcp/dist/memory-store.js +246 -15
  116. package/package/aws-client-agent-mcp/dist/memory-store.js.map +1 -1
  117. package/package/aws-client-agent-mcp/dist/memory-tools.d.ts +8 -0
  118. package/package/aws-client-agent-mcp/dist/memory-tools.d.ts.map +1 -1
  119. package/package/aws-client-agent-mcp/dist/memory-tools.js +106 -2
  120. package/package/aws-client-agent-mcp/dist/memory-tools.js.map +1 -1
  121. package/package/aws-client-agent-mcp/dist/server-memory-store.d.ts +7 -1
  122. package/package/aws-client-agent-mcp/dist/server-memory-store.d.ts.map +1 -1
  123. package/package/aws-client-agent-mcp/dist/server-memory-store.js +18 -0
  124. package/package/aws-client-agent-mcp/dist/server-memory-store.js.map +1 -1
  125. package/package/aws-client-agent-mcp/dist/types.d.ts +103 -2
  126. package/package/aws-client-agent-mcp/dist/types.d.ts.map +1 -1
  127. package/package/aws-client-agent-mcp/dist/types.js.map +1 -1
  128. package/package/aws-client-agent-mcp/dist/websocket-client.d.ts +27 -2
  129. package/package/aws-client-agent-mcp/dist/websocket-client.d.ts.map +1 -1
  130. package/package/aws-client-agent-mcp/dist/websocket-client.js +123 -5
  131. package/package/aws-client-agent-mcp/dist/websocket-client.js.map +1 -1
  132. 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: LISTABLE_MEMORY_TYPES.includes(record.memory_type) ? LISTABLE_MEMORY_TYPE_LIMIT : null,
211
- hardLimit: LISTABLE_MEMORY_TYPES.includes(record.memory_type) ? LISTABLE_MEMORY_TYPE_HARD_LIMIT : null,
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.loadData();
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
- async searchMemory(input) {
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
- const query = String(input.query || '').trim().toLowerCase();
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
- if (!query) {
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
- const haystack = `${record.uri}\n${record.content}`.toLowerCase();
416
- if (!haystack.includes(query)) {
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
- const listType = this.normalizeMemoryType(memory_type, LISTABLE_MEMORY_TYPES);
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,IAgBhC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,IAY9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,IA0BhC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,IAYhC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,IAmBhC,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"}
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":"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"}
1
+ {"version":3,"file":"memory-tools.js","sourceRoot":"","sources":["../src/memory-tools.ts"],"names":[],"mappings":"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"}