aws-runtime-bridge 1.9.33 → 1.9.40

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 (276) hide show
  1. package/dist/adapter/AcodeSdkAdapter.d.ts +35 -1
  2. package/dist/adapter/AcodeSdkAdapter.d.ts.map +1 -1
  3. package/dist/adapter/AcodeSdkAdapter.js +417 -40
  4. package/dist/adapter/ClaudeSdkAdapter.d.ts +6 -0
  5. package/dist/adapter/ClaudeSdkAdapter.d.ts.map +1 -1
  6. package/dist/adapter/ClaudeSdkAdapter.js +23 -1
  7. package/dist/adapter/idle-poll-loop.d.ts +2 -1
  8. package/dist/adapter/idle-poll-loop.d.ts.map +1 -1
  9. package/dist/adapter/types.d.ts +65 -3
  10. package/dist/adapter/types.d.ts.map +1 -1
  11. package/dist/adapter/types.js +5 -4
  12. package/dist/index.js +4 -0
  13. package/dist/routes/acode-todos.d.ts +11 -0
  14. package/dist/routes/acode-todos.d.ts.map +1 -0
  15. package/dist/routes/acode-todos.js +75 -0
  16. package/dist/routes/memory.d.ts +1 -1
  17. package/dist/routes/memory.d.ts.map +1 -1
  18. package/dist/routes/memory.js +3 -3
  19. package/dist/routes/pty.d.ts.map +1 -1
  20. package/dist/routes/pty.js +9 -0
  21. package/dist/routes/sub-agents.d.ts +14 -0
  22. package/dist/routes/sub-agents.d.ts.map +1 -0
  23. package/dist/routes/sub-agents.js +253 -0
  24. package/dist/routes/terminal.d.ts +9 -1
  25. package/dist/routes/terminal.d.ts.map +1 -1
  26. package/dist/routes/terminal.js +207 -22
  27. package/dist/services/agent-event-store.d.ts +1 -0
  28. package/dist/services/agent-event-store.d.ts.map +1 -1
  29. package/dist/services/event-delta-pusher.js +4 -4
  30. package/dist/services/session-output.d.ts +3 -0
  31. package/dist/services/session-output.d.ts.map +1 -1
  32. package/dist/services/session-output.js +38 -2
  33. package/dist/services/sub-agent-manager-instance.d.ts +4 -0
  34. package/dist/services/sub-agent-manager-instance.d.ts.map +1 -0
  35. package/dist/services/sub-agent-manager-instance.js +12 -0
  36. package/dist/services/workspace-files.d.ts +1 -0
  37. package/dist/services/workspace-files.d.ts.map +1 -1
  38. package/dist/services/workspace-files.js +57 -1
  39. package/package/acode/dist/ask-user-question-tool.d.ts +47 -0
  40. package/package/acode/dist/ask-user-question-tool.d.ts.map +1 -0
  41. package/package/acode/dist/ask-user-question-tool.js +233 -0
  42. package/package/acode/dist/built-in-file-tools.d.ts +2 -0
  43. package/package/acode/dist/built-in-file-tools.d.ts.map +1 -1
  44. package/package/acode/dist/compaction.d.ts +206 -0
  45. package/package/acode/dist/compaction.d.ts.map +1 -0
  46. package/package/acode/dist/compaction.js +664 -0
  47. package/package/acode/dist/config.d.ts +6 -1
  48. package/package/acode/dist/config.d.ts.map +1 -1
  49. package/package/acode/dist/config.js +27 -2
  50. package/package/acode/dist/index.d.ts +4 -0
  51. package/package/acode/dist/index.d.ts.map +1 -1
  52. package/package/acode/dist/index.js +4 -0
  53. package/package/acode/dist/runtime.d.ts +137 -0
  54. package/package/acode/dist/runtime.d.ts.map +1 -1
  55. package/package/acode/dist/runtime.js +974 -172
  56. package/package/acode/dist/skill-tool.d.ts +30 -0
  57. package/package/acode/dist/skill-tool.d.ts.map +1 -0
  58. package/package/acode/dist/skill-tool.js +174 -0
  59. package/package/acode/dist/sub-agent-manager.d.ts +169 -0
  60. package/package/acode/dist/sub-agent-manager.d.ts.map +1 -0
  61. package/package/acode/dist/sub-agent-manager.js +535 -0
  62. package/package/acode/dist/sub-agent-store.d.ts +33 -0
  63. package/package/acode/dist/sub-agent-store.d.ts.map +1 -0
  64. package/package/acode/dist/sub-agent-store.js +109 -0
  65. package/package/acode/dist/sub-agent-tools.d.ts +72 -0
  66. package/package/acode/dist/sub-agent-tools.d.ts.map +1 -0
  67. package/package/acode/dist/sub-agent-tools.js +429 -0
  68. package/package/acode/dist/sub-agent-types.d.ts +81 -0
  69. package/package/acode/dist/sub-agent-types.d.ts.map +1 -0
  70. package/package/acode/dist/sub-agent-types.js +8 -0
  71. package/package/acode/dist/todo-store.d.ts +42 -0
  72. package/package/acode/dist/todo-store.d.ts.map +1 -0
  73. package/package/acode/dist/todo-store.js +68 -0
  74. package/package/acode/dist/todo-tool.d.ts +6 -0
  75. package/package/acode/dist/todo-tool.d.ts.map +1 -0
  76. package/package/acode/dist/todo-tool.js +138 -0
  77. package/package/acode/dist/types.d.ts +22 -1
  78. package/package/acode/dist/types.d.ts.map +1 -1
  79. package/package/acode/package.json +13 -2
  80. package/package/aws-client-agent-mcp/dist/context-manager.test.js +0 -3
  81. package/package/aws-client-agent-mcp/dist/context-manager.test.js.map +1 -1
  82. package/package/aws-client-agent-mcp/dist/mcp-server.d.ts +83 -50
  83. package/package/aws-client-agent-mcp/dist/mcp-server.d.ts.map +1 -1
  84. package/package/aws-client-agent-mcp/dist/mcp-server.js +451 -346
  85. package/package/aws-client-agent-mcp/dist/mcp-server.js.map +1 -1
  86. package/package/aws-client-agent-mcp/dist/mcp-server.test.js +259 -241
  87. package/package/aws-client-agent-mcp/dist/mcp-server.test.js.map +1 -1
  88. package/package/aws-client-agent-mcp/dist/mcp-tools.d.ts +1 -19
  89. package/package/aws-client-agent-mcp/dist/mcp-tools.d.ts.map +1 -1
  90. package/package/aws-client-agent-mcp/dist/mcp-tools.js +4 -77
  91. package/package/aws-client-agent-mcp/dist/mcp-tools.js.map +1 -1
  92. package/package/aws-client-agent-mcp/dist/memory-store.d.ts +17 -40
  93. package/package/aws-client-agent-mcp/dist/memory-store.d.ts.map +1 -1
  94. package/package/aws-client-agent-mcp/dist/memory-store.js +62 -149
  95. package/package/aws-client-agent-mcp/dist/memory-store.js.map +1 -1
  96. package/package/aws-client-agent-mcp/dist/memory-store.test.js +175 -164
  97. package/package/aws-client-agent-mcp/dist/memory-store.test.js.map +1 -1
  98. package/package/aws-client-agent-mcp/dist/memory-tools.d.ts +3 -9
  99. package/package/aws-client-agent-mcp/dist/memory-tools.d.ts.map +1 -1
  100. package/package/aws-client-agent-mcp/dist/memory-tools.js +28 -55
  101. package/package/aws-client-agent-mcp/dist/memory-tools.js.map +1 -1
  102. package/package/aws-client-agent-mcp/dist/message-buffer.d.ts +27 -9
  103. package/package/aws-client-agent-mcp/dist/message-buffer.d.ts.map +1 -1
  104. package/package/aws-client-agent-mcp/dist/message-buffer.js +100 -23
  105. package/package/aws-client-agent-mcp/dist/message-buffer.js.map +1 -1
  106. package/package/aws-client-agent-mcp/dist/server-memory-store.d.ts +1 -14
  107. package/package/aws-client-agent-mcp/dist/server-memory-store.d.ts.map +1 -1
  108. package/package/aws-client-agent-mcp/dist/server-memory-store.js +7 -18
  109. package/package/aws-client-agent-mcp/dist/server-memory-store.js.map +1 -1
  110. package/package/aws-client-agent-mcp/dist/status-reporter.d.ts.map +1 -1
  111. package/package/aws-client-agent-mcp/dist/status-reporter.js +8 -5
  112. package/package/aws-client-agent-mcp/dist/status-reporter.js.map +1 -1
  113. package/package/aws-client-agent-mcp/dist/status-reporter.test.js +93 -0
  114. package/package/aws-client-agent-mcp/dist/status-reporter.test.js.map +1 -1
  115. package/package/aws-client-agent-mcp/dist/types.d.ts +3 -25
  116. package/package/aws-client-agent-mcp/dist/types.d.ts.map +1 -1
  117. package/package.json +17 -7
  118. package/dist/adapter/AcodeSdkAdapter.test.d.ts +0 -2
  119. package/dist/adapter/AcodeSdkAdapter.test.d.ts.map +0 -1
  120. package/dist/adapter/AcodeSdkAdapter.test.js +0 -2000
  121. package/dist/adapter/AdapterRegistry.test.d.ts +0 -5
  122. package/dist/adapter/AdapterRegistry.test.d.ts.map +0 -1
  123. package/dist/adapter/AdapterRegistry.test.js +0 -118
  124. package/dist/adapter/ClaudeSdkAdapter.test.d.ts +0 -2
  125. package/dist/adapter/ClaudeSdkAdapter.test.d.ts.map +0 -1
  126. package/dist/adapter/ClaudeSdkAdapter.test.js +0 -311
  127. package/dist/adapter/CodexSdkAdapter.test.d.ts +0 -2
  128. package/dist/adapter/CodexSdkAdapter.test.d.ts.map +0 -1
  129. package/dist/adapter/CodexSdkAdapter.test.js +0 -270
  130. package/dist/adapter/OpencodeSdkAdapter.test.d.ts +0 -2
  131. package/dist/adapter/OpencodeSdkAdapter.test.d.ts.map +0 -1
  132. package/dist/adapter/OpencodeSdkAdapter.test.js +0 -158
  133. package/dist/adapter/acode-tool-names.test.d.ts +0 -2
  134. package/dist/adapter/acode-tool-names.test.d.ts.map +0 -1
  135. package/dist/adapter/acode-tool-names.test.js +0 -28
  136. package/dist/adapter/adapter.test.d.ts +0 -5
  137. package/dist/adapter/adapter.test.d.ts.map +0 -1
  138. package/dist/adapter/adapter.test.js +0 -180
  139. package/dist/adapter/idle-poll-loop.test.d.ts +0 -2
  140. package/dist/adapter/idle-poll-loop.test.d.ts.map +0 -1
  141. package/dist/adapter/idle-poll-loop.test.js +0 -85
  142. package/dist/adapter/types.test.d.ts +0 -2
  143. package/dist/adapter/types.test.d.ts.map +0 -1
  144. package/dist/adapter/types.test.js +0 -50
  145. package/dist/adapters/cc-switch/mcp-acode.test.d.ts +0 -2
  146. package/dist/adapters/cc-switch/mcp-acode.test.d.ts.map +0 -1
  147. package/dist/adapters/cc-switch/mcp-acode.test.js +0 -80
  148. package/dist/adapters/cc-switch/mcp-claudecode.test.d.ts +0 -2
  149. package/dist/adapters/cc-switch/mcp-claudecode.test.d.ts.map +0 -1
  150. package/dist/adapters/cc-switch/mcp-claudecode.test.js +0 -75
  151. package/dist/adapters/cc-switch/mcp-codex.test.d.ts +0 -2
  152. package/dist/adapters/cc-switch/mcp-codex.test.d.ts.map +0 -1
  153. package/dist/adapters/cc-switch/mcp-codex.test.js +0 -126
  154. package/dist/adapters/cc-switch/mcp-opencode.test.d.ts +0 -2
  155. package/dist/adapters/cc-switch/mcp-opencode.test.d.ts.map +0 -1
  156. package/dist/adapters/cc-switch/mcp-opencode.test.js +0 -62
  157. package/dist/adapters/cc-switch/skill-directory.test.d.ts +0 -2
  158. package/dist/adapters/cc-switch/skill-directory.test.d.ts.map +0 -1
  159. package/dist/adapters/cc-switch/skill-directory.test.js +0 -74
  160. package/dist/config.test.d.ts +0 -2
  161. package/dist/config.test.d.ts.map +0 -1
  162. package/dist/config.test.js +0 -107
  163. package/dist/routes/ai-sources.test.d.ts +0 -2
  164. package/dist/routes/ai-sources.test.d.ts.map +0 -1
  165. package/dist/routes/ai-sources.test.js +0 -169
  166. package/dist/routes/file-browser.test.d.ts +0 -5
  167. package/dist/routes/file-browser.test.d.ts.map +0 -1
  168. package/dist/routes/file-browser.test.js +0 -155
  169. package/dist/routes/git.test.d.ts +0 -2
  170. package/dist/routes/git.test.d.ts.map +0 -1
  171. package/dist/routes/git.test.js +0 -330
  172. package/dist/routes/instance.test.d.ts +0 -5
  173. package/dist/routes/instance.test.d.ts.map +0 -1
  174. package/dist/routes/instance.test.js +0 -389
  175. package/dist/routes/mcp.test.d.ts +0 -5
  176. package/dist/routes/mcp.test.d.ts.map +0 -1
  177. package/dist/routes/mcp.test.js +0 -92
  178. package/dist/routes/memory-route-wiring.test.d.ts +0 -2
  179. package/dist/routes/memory-route-wiring.test.d.ts.map +0 -1
  180. package/dist/routes/memory-route-wiring.test.js +0 -15
  181. package/dist/routes/memory.test.d.ts +0 -2
  182. package/dist/routes/memory.test.d.ts.map +0 -1
  183. package/dist/routes/memory.test.js +0 -177
  184. package/dist/routes/properties.test.d.ts +0 -5
  185. package/dist/routes/properties.test.d.ts.map +0 -1
  186. package/dist/routes/properties.test.js +0 -72
  187. package/dist/routes/pty.test.d.ts +0 -2
  188. package/dist/routes/pty.test.d.ts.map +0 -1
  189. package/dist/routes/pty.test.js +0 -82
  190. package/dist/routes/runtime-binding.test.d.ts +0 -2
  191. package/dist/routes/runtime-binding.test.d.ts.map +0 -1
  192. package/dist/routes/runtime-binding.test.js +0 -32
  193. package/dist/routes/sessions.test.d.ts +0 -5
  194. package/dist/routes/sessions.test.d.ts.map +0 -1
  195. package/dist/routes/sessions.test.js +0 -86
  196. package/dist/routes/skills.test.d.ts +0 -5
  197. package/dist/routes/skills.test.d.ts.map +0 -1
  198. package/dist/routes/skills.test.js +0 -50
  199. package/dist/routes/system-metrics.test.d.ts +0 -2
  200. package/dist/routes/system-metrics.test.d.ts.map +0 -1
  201. package/dist/routes/system-metrics.test.js +0 -16
  202. package/dist/routes/terminal.stop-options.test.d.ts +0 -2
  203. package/dist/routes/terminal.stop-options.test.d.ts.map +0 -1
  204. package/dist/routes/terminal.stop-options.test.js +0 -39
  205. package/dist/routes/terminal.test.d.ts +0 -2
  206. package/dist/routes/terminal.test.d.ts.map +0 -1
  207. package/dist/routes/terminal.test.js +0 -746
  208. package/dist/routes/yml.test.d.ts +0 -5
  209. package/dist/routes/yml.test.d.ts.map +0 -1
  210. package/dist/routes/yml.test.js +0 -58
  211. package/dist/services/ai-source-apply.test.d.ts +0 -2
  212. package/dist/services/ai-source-apply.test.d.ts.map +0 -1
  213. package/dist/services/ai-source-apply.test.js +0 -138
  214. package/dist/services/auto-register.test.d.ts +0 -2
  215. package/dist/services/auto-register.test.d.ts.map +0 -1
  216. package/dist/services/auto-register.test.js +0 -184
  217. package/dist/services/aws-client-agent-mcp.test.d.ts +0 -2
  218. package/dist/services/aws-client-agent-mcp.test.d.ts.map +0 -1
  219. package/dist/services/aws-client-agent-mcp.test.js +0 -242
  220. package/dist/services/bridge-package-publish-hooks.test.d.ts +0 -2
  221. package/dist/services/bridge-package-publish-hooks.test.d.ts.map +0 -1
  222. package/dist/services/bridge-package-publish-hooks.test.js +0 -136
  223. package/dist/services/cc-switch-discovery.test.d.ts +0 -2
  224. package/dist/services/cc-switch-discovery.test.d.ts.map +0 -1
  225. package/dist/services/cc-switch-discovery.test.js +0 -56
  226. package/dist/services/cli-commands.test.d.ts +0 -2
  227. package/dist/services/cli-commands.test.d.ts.map +0 -1
  228. package/dist/services/cli-commands.test.js +0 -230
  229. package/dist/services/instance-init-service.test.d.ts +0 -2
  230. package/dist/services/instance-init-service.test.d.ts.map +0 -1
  231. package/dist/services/instance-init-service.test.js +0 -140
  232. package/dist/services/instance-state.test.d.ts +0 -2
  233. package/dist/services/instance-state.test.d.ts.map +0 -1
  234. package/dist/services/instance-state.test.js +0 -245
  235. package/dist/services/mcp-launch-binding-queue.test.d.ts +0 -2
  236. package/dist/services/mcp-launch-binding-queue.test.d.ts.map +0 -1
  237. package/dist/services/mcp-launch-binding-queue.test.js +0 -181
  238. package/dist/services/runtime-binding.test.d.ts +0 -2
  239. package/dist/services/runtime-binding.test.d.ts.map +0 -1
  240. package/dist/services/runtime-binding.test.js +0 -78
  241. package/dist/services/runtime-lifecycle-policy.test.d.ts +0 -2
  242. package/dist/services/runtime-lifecycle-policy.test.d.ts.map +0 -1
  243. package/dist/services/runtime-lifecycle-policy.test.js +0 -41
  244. package/dist/services/session-output.test.d.ts +0 -5
  245. package/dist/services/session-output.test.d.ts.map +0 -1
  246. package/dist/services/session-output.test.js +0 -177
  247. package/dist/services/startup-config-wizard.test.d.ts +0 -2
  248. package/dist/services/startup-config-wizard.test.d.ts.map +0 -1
  249. package/dist/services/startup-config-wizard.test.js +0 -184
  250. package/dist/services/terminal-persistence.test.d.ts +0 -5
  251. package/dist/services/terminal-persistence.test.d.ts.map +0 -1
  252. package/dist/services/terminal-persistence.test.js +0 -159
  253. package/dist/services/tool-installer.test.d.ts +0 -2
  254. package/dist/services/tool-installer.test.d.ts.map +0 -1
  255. package/dist/services/tool-installer.test.js +0 -225
  256. package/dist/services/workspace-files.test.d.ts +0 -2
  257. package/dist/services/workspace-files.test.d.ts.map +0 -1
  258. package/dist/services/workspace-files.test.js +0 -648
  259. package/dist/services/workspace-watch.test.d.ts +0 -2
  260. package/dist/services/workspace-watch.test.d.ts.map +0 -1
  261. package/dist/services/workspace-watch.test.js +0 -38
  262. package/dist/utils/file-utils.test.d.ts +0 -2
  263. package/dist/utils/file-utils.test.d.ts.map +0 -1
  264. package/dist/utils/file-utils.test.js +0 -244
  265. package/dist/utils/logger.test.d.ts +0 -2
  266. package/dist/utils/logger.test.d.ts.map +0 -1
  267. package/dist/utils/logger.test.js +0 -93
  268. package/dist/utils/sdk-package-loader.test.d.ts +0 -2
  269. package/dist/utils/sdk-package-loader.test.d.ts.map +0 -1
  270. package/dist/utils/sdk-package-loader.test.js +0 -84
  271. package/dist/utils/validation.test.d.ts +0 -2
  272. package/dist/utils/validation.test.d.ts.map +0 -1
  273. package/dist/utils/validation.test.js +0 -88
  274. package/dist/utils/yaml-utils.test.d.ts +0 -2
  275. package/dist/utils/yaml-utils.test.d.ts.map +0 -1
  276. package/dist/utils/yaml-utils.test.js +0 -363
@@ -1 +1 @@
1
- {"version":3,"file":"memory-store.test.js","sourceRoot":"","sources":["../src/memory-store.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-store.test.js","sourceRoot":"","sources":["../src/memory-store.test.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,6 @@ export declare const DELETE_MEMORY_TOOL: Tool;
6
6
  export declare const SEARCH_MEMORY_TOOL: Tool;
7
7
  export declare const LIST_MEMORIES_TOOL: Tool;
8
8
  export declare const GET_MEMORY_STATS_TOOL: Tool;
9
- export declare const ARCHIVE_RECENTLY_MEMORY_TOOL: Tool;
10
9
  /**
11
10
  * 按文件查询绑定了该文件的 Memory
12
11
  */
@@ -16,13 +15,8 @@ export declare const LIST_MEMORIES_BY_FILE_TOOL: Tool;
16
15
  */
17
16
  export declare const ABANDON_MEMORY_UPDATE_TOOL: Tool;
18
17
  /**
19
- * 标记 task_list 短期记忆为已完成。
20
- * 标记完成后自动检查:若所有 TODO 均已完成,则清理全部已完成项。
21
- */
22
- export declare const TODO_COMPLETED_TOOL: Tool;
23
- /**
24
- * 获取已过期的近期记忆,供 Agent 回忆整理。
25
- * Agent 调用此工具获取已过期的 recently_memory,这些记忆将被标记为[回忆中]状态。
18
+ * 获取已过期的 agent_memory,供 Agent 回忆整理。
19
+ * Agent 调用此工具获取已过期的 agent_memory,这些记忆将被标记为[回忆中]状态。
26
20
  * 支持分批处理:通过 limit 参数控制每次返回的数量(按过期时间最早优先),
27
21
  * 返回结果包含 remaining 字段表示剩余待处理的过期记忆数量。
28
22
  */
@@ -30,7 +24,7 @@ export declare const MEMORY_RECURRENCE_TOOL: Tool;
30
24
  /**
31
25
  * 完成记忆回忆疏理。
32
26
  * Agent 在审查完 memory_recurrence 返回的过期记忆后调用此工具。
33
- * 系统将删除所有标记为[回忆中](recalling)状态的已过期 recently_memory
27
+ * 系统将删除所有标记为[回忆中](recalling)状态的已过期 agent_memory
34
28
  */
35
29
  export declare const MEMORY_RECURRENCE_COMPLETE_TOOL: Tool;
36
30
  //# 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,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;AAIF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,IA0BxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,IAYxC,CAAC;AAIF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,IAiBjC,CAAC;AAIF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,IAqBpC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,EAAE,IAY7C,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,IAwChC,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;AAIF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,IA0BxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,IAYxC,CAAC;AAIF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,IAoBpC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,EAAE,IAY7C,CAAC"}
@@ -1,12 +1,12 @@
1
1
  const MEMORY_TYPE_SCHEMA = {
2
2
  type: "string",
3
- enum: ["task_list", "recently_memory", "memory"],
4
- description: "记忆类型:task_list 表示临时任务清单,recently_memory 表示近期上下文,memory 表示长期记忆。",
3
+ enum: ["recently_memory", "agent_memory", "project_memory"],
4
+ description: "记忆类型:recently_memory 表示短期工作记忆(24h 过期 + 条数上限),agent_memory 表示 agent 对外部认知(TTL 12h ×2,有回忆流程),project_memory 表示项目理解(角色级共享)。",
5
5
  };
6
6
  const LISTABLE_MEMORY_TYPE_SCHEMA = {
7
7
  type: "string",
8
- enum: ["task_list", "recently_memory"],
9
- description: "可直接列出的记忆类型。长期 memory 请使用 search_memory query 检索,避免一次性暴露过多上下文。",
8
+ enum: ["recently_memory", "agent_memory", "project_memory"],
9
+ description: "可直接列出的记忆类型。agent_memory 主要用 search_memory 检索;project_memory 同样支持 list。",
10
10
  };
11
11
  const MEMORY_URI_SCHEMA = {
12
12
  type: "string",
@@ -14,11 +14,17 @@ const MEMORY_URI_SCHEMA = {
14
14
  };
15
15
  export const CREATE_MEMORY_TOOL = {
16
16
  name: "create_memory",
17
- description: "在当前 Agent 工作区创建一条本地记忆。适合保存长期偏好、近期上下文或任务清单;同一 uri 已存在时会失败,避免意外覆盖。",
17
+ description: "在当前 Agent 工作区创建一条本地记忆。适合保存项目理解、agent 对外部认知或短期工作记忆;同一 uri 已存在时会失败,避免意外覆盖。\n" +
18
+ "【重要】当 memory_type=project_memory 时,应当通过 bound_files 关联到具体文件,未关联文件的 project_memory 不便长期维护与变更追踪,请务必填写。",
18
19
  inputSchema: {
19
20
  type: "object",
20
21
  properties: {
21
- memory_type: MEMORY_TYPE_SCHEMA,
22
+ memory_type: {
23
+ type: "string",
24
+ enum: ["recently_memory", "agent_memory", "project_memory"],
25
+ description: "记忆类型:recently_memory 表示短期工作记忆(24h 过期 + 条数上限),agent_memory 表示 agent 对外部认知(TTL 12h ×2,有回忆流程),project_memory 表示项目理解(角色级共享)。\n" +
26
+ "注意:选择 project_memory 时,应同时填写 bound_files 关联到具体文件,以便长期维护与变更追踪。",
27
+ },
22
28
  uri: MEMORY_URI_SCHEMA,
23
29
  title: {
24
30
  type: "string",
@@ -37,7 +43,8 @@ export const CREATE_MEMORY_TOOL = {
37
43
  bound_files: {
38
44
  type: "array",
39
45
  items: { type: "string" },
40
- description: "绑定的文件路径列表,用于自动检测文件变更并提醒更新记忆,例如 [\"./path/to/file.md\"]。(/ 前缀会被视为工作区根路径,统一转为 ./)",
46
+ description: "绑定的文件路径列表,用于自动检测文件变更并提醒更新记忆,例如 [\"./path/to/file.md\"]。(/ 前缀会被视为工作区根路径,统一转为 ./)\n" +
47
+ "【强烈建议】当 memory_type=project_memory 时,应至少关联一个具体文件(如该条项目记忆所对应的核心源码、配置或文档文件),以便长期维护与变更追踪。",
41
48
  },
42
49
  },
43
50
  required: ["memory_type", "uri", "content"],
@@ -159,7 +166,7 @@ export const SEARCH_MEMORY_TOOL = {
159
166
  };
160
167
  export const LIST_MEMORIES_TOOL = {
161
168
  name: "list_memories",
162
- description: "按类型列出当前 Agent 工作区的 task_listrecently_memory。长期 memory 请使用 search_memory 检索,避免一次性加载过多历史上下文。",
169
+ description: "按类型列出当前 Agent 工作区的 recently_memory、agent_memoryproject_memory。agent_memory 主要用 search_memory 检索;project_memory 同样支持 list。",
163
170
  inputSchema: {
164
171
  type: "object",
165
172
  properties: {
@@ -179,17 +186,6 @@ export const GET_MEMORY_STATS_TOOL = {
179
186
  required: [],
180
187
  },
181
188
  };
182
- export const ARCHIVE_RECENTLY_MEMORY_TOOL = {
183
- name: "archive_recently_memory",
184
- description: "将一条 recently_memory 类型的本地近期记忆归档为长期 memory。若 uri 指向其他类型会失败。",
185
- inputSchema: {
186
- type: "object",
187
- properties: {
188
- uri: MEMORY_URI_SCHEMA,
189
- },
190
- required: ["uri"],
191
- },
192
- };
193
189
  // ========== Memory 增强功能工具 (v1.6.0) ==========
194
190
  /**
195
191
  * 按文件查询绑定了该文件的 Memory
@@ -197,7 +193,7 @@ export const ARCHIVE_RECENTLY_MEMORY_TOOL = {
197
193
  export const LIST_MEMORIES_BY_FILE_TOOL = {
198
194
  name: "list_memories_by_file",
199
195
  description: "查询绑定了指定文件的所有 Memory。" +
200
- "支持scope参数搜索子Agent(工作区路径为当前路径子目录的Agent)绑定了文件的记忆。" +
196
+ "默认合并搜索自身与子Agent(工作区路径为当前路径子目录的Agent)绑定了文件的记忆," +
201
197
  "子Agent的记忆会做path_prefix自动匹配,无需手动计算路径。" +
202
198
  "例如父Agent搜索 ./a/b/c/src/a.txt,子Agent(工作路径./a/b/c)绑定./src/a.txt的记忆会被自动匹配。",
203
199
  inputSchema: {
@@ -212,8 +208,8 @@ export const LIST_MEMORIES_BY_FILE_TOOL = {
212
208
  scope: {
213
209
  type: "string",
214
210
  enum: ["own", "children", "all"],
215
- description: "搜索范围:own(默认,仅搜索自己的记忆)、children(搜索子Agent绑定了文件的记忆,按path_prefix自动匹配)、" +
216
- "all(合并搜索自己和子Agent的记忆)。",
211
+ description: "搜索范围:own(仅搜索自己的记忆)、children(搜索子Agent绑定了文件的记忆,按path_prefix自动匹配)、" +
212
+ "all(默认,合并搜索自己和子Agent的记忆)。",
217
213
  },
218
214
  },
219
215
  required: ["file_path"],
@@ -234,44 +230,21 @@ export const ABANDON_MEMORY_UPDATE_TOOL = {
234
230
  required: ["uri"],
235
231
  },
236
232
  };
237
- // ========== Memory 短期记忆 TODO 完成工具 (v1.14.0) ==========
238
- /**
239
- * 标记 task_list 短期记忆为已完成。
240
- * 标记完成后自动检查:若所有 TODO 均已完成,则清理全部已完成项。
241
- */
242
- export const TODO_COMPLETED_TOOL = {
243
- name: "todo_completed",
244
- description: "将一条 task_list 短期记忆标记为已完成。\n" +
245
- "调用后系统会:\n" +
246
- "1. 将该条 task_list 的状态设为 'completed'\n" +
247
- "2. 检查当前 Agent 所有 task_list 是否均为 completed\n" +
248
- "3. 若全部已完成,自动删除所有 completed 项\n\n" +
249
- "与 update_memory({ todo_status: 'completed' }) 的区别:此工具专为 task_list 设计," +
250
- "无需传 memory_type,且明确返回清理结果(allCleaned / cleanedCount / cleanedUris)。",
251
- inputSchema: {
252
- type: "object",
253
- properties: {
254
- uri: MEMORY_URI_SCHEMA,
255
- },
256
- required: ["uri"],
257
- },
258
- };
259
233
  // ========== Memory 近期记忆过期与回忆工具 (v1.11.0) ==========
260
234
  /**
261
- * 获取已过期的近期记忆,供 Agent 回忆整理。
262
- * Agent 调用此工具获取已过期的 recently_memory,这些记忆将被标记为[回忆中]状态。
235
+ * 获取已过期的 agent_memory,供 Agent 回忆整理。
236
+ * Agent 调用此工具获取已过期的 agent_memory,这些记忆将被标记为[回忆中]状态。
263
237
  * 支持分批处理:通过 limit 参数控制每次返回的数量(按过期时间最早优先),
264
238
  * 返回结果包含 remaining 字段表示剩余待处理的过期记忆数量。
265
239
  */
266
240
  export const MEMORY_RECURRENCE_TOOL = {
267
241
  name: "memory_recurrence",
268
- description: "获取已过期的近期记忆(recently_memory)。\n" +
269
- "过期条件:recently_memory 创建超过 24 小时且未被续期。\n" +
242
+ description: "获取已过期的 agent_memory(agent 对外部环境的认知记忆)。\n" +
243
+ "过期条件:agent_memory expires_at < NOW()。初始 TTL 12h,每次 update_memory 续期时 TTL ×2。\n" +
270
244
  "调用后,系统会将这些记忆标记为[回忆中](recalling)状态。\n" +
271
245
  "Agent 应审查这些记忆内容,决定是:\n" +
272
- "1) 通过 archive_recently_memory 归档为长期记忆\n" +
273
- "2) 通过 update_memory 续期(延长 24 小时)\n" +
274
- "3) 不处理,回忆完成后调用 memory_recurrence_complete 删除它们",
246
+ "1) 通过 update_memory 续期(TTL ×2,状态恢复 normal)\n" +
247
+ "2) 不处理,回忆完成后调用 memory_recurrence_complete 删除它们",
275
248
  inputSchema: {
276
249
  type: "object",
277
250
  properties: {
@@ -287,14 +260,14 @@ export const MEMORY_RECURRENCE_TOOL = {
287
260
  /**
288
261
  * 完成记忆回忆疏理。
289
262
  * Agent 在审查完 memory_recurrence 返回的过期记忆后调用此工具。
290
- * 系统将删除所有标记为[回忆中](recalling)状态的已过期 recently_memory
263
+ * 系统将删除所有标记为[回忆中](recalling)状态的已过期 agent_memory
291
264
  */
292
265
  export const MEMORY_RECURRENCE_COMPLETE_TOOL = {
293
266
  name: "memory_recurrence_complete",
294
267
  description: "完成即将遗忘的记忆疏理工作。\n" +
295
- "Agent 已审查完 memory_recurrence 返回的所有过期近期记忆,\n" +
296
- "已完成必要的归档/续期操作,现在清理这些已标记为[回忆中]的过期记忆。\n" +
297
- "调用后系统将删除所有[回忆中]状态的已过期 recently_memory。",
268
+ "Agent 已审查完 memory_recurrence 返回的所有过期 agent_memory,\n" +
269
+ "已完成必要的续期操作,现在清理这些已标记为[回忆中]的过期记忆。\n" +
270
+ "调用后系统将删除所有[回忆中]状态的已过期 agent_memory。",
298
271
  inputSchema: {
299
272
  type: "object",
300
273
  properties: {},
@@ -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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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * 消息缓冲与派发模块
3
- * 负责消息的缓冲、分类和派发
3
+ * 负责消息的缓冲、分类、去重和派发
4
4
  */
5
5
  import type { DirectMessage, GroupMessage, ProfileInfo } from './types.js';
6
6
  /** 分类后的消息 */
@@ -12,13 +12,14 @@ export interface ClassifiedMessages {
12
12
  export type OnMessageArrivedCallback = () => void;
13
13
  /**
14
14
  * 消息缓冲区
15
- * 管理消息的存储、分类和派发
15
+ * 管理消息的存储、去重、分类和派发
16
16
  */
17
17
  export declare class MessageBuffer {
18
18
  private buffer;
19
19
  private resolvers;
20
20
  private onMessageArrived;
21
21
  private isPolling;
22
+ private seenMsgIds;
22
23
  /**
23
24
  * 设置消息到达回调
24
25
  * 当有新消息到达且正在 poll 等待时,会立即调用此回调
@@ -28,6 +29,19 @@ export declare class MessageBuffer {
28
29
  * 设置是否正在 poll 等待
29
30
  */
30
31
  setIsPolling(polling: boolean): void;
32
+ /**
33
+ * 标记消息为已见(用于去重)
34
+ */
35
+ private markSeen;
36
+ /**
37
+ * 检查消息是否已存在(去重)
38
+ * 如果是新消息,标记为已见并返回 false
39
+ */
40
+ private isDuplicate;
41
+ /**
42
+ * 清理过期的去重记录
43
+ */
44
+ private cleanupSeenMsgIds;
31
45
  /**
32
46
  * 添加消息到缓冲区
33
47
  */
@@ -53,10 +67,14 @@ export declare class MessageBuffer {
53
67
  */
54
68
  getProfileMessage(): null;
55
69
  /**
56
- * 阻塞等待新消息
57
- * 如果缓冲区有消息则立即返回,否则阻塞等待
58
- * @param timeoutMs 可选超时时间(毫秒),超时后返回空消息而不继续阻塞
59
- */
70
+ * 更新 isPolling 状态:resolvers 从 0 变为 1 时设为 true,变为 0 时设为 false
71
+ */
72
+ private updatePollingState;
73
+ /**
74
+ * 阻塞等待新消息
75
+ * 如果缓冲区有消息则立即返回,否则阻塞等待
76
+ * @param timeoutMs 可选超时时间(毫秒),超时后返回空消息而不继续阻塞
77
+ */
60
78
  poll(timeoutMs?: number): Promise<ClassifiedMessages>;
61
79
  /**
62
80
  * 非阻塞获取消息
@@ -71,11 +89,11 @@ export declare class MessageBuffer {
71
89
  */
72
90
  clear(): void;
73
91
  /**
74
- * 尝试派发缓冲区消息给等待的 resolver
75
- */
92
+ * 尝试派发缓冲区消息给等待的 resolver
93
+ */
76
94
  private tryDispatch;
77
95
  /**
78
- * 消费缓冲区所有消息并分类
96
+ * 消费缓冲区所有消息并分类,同时标记为已见
79
97
  */
80
98
  private consumeAll;
81
99
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"message-buffer.d.ts","sourceRoot":"","sources":["../src/message-buffer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE3E,aAAa;AACb,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,aAAa,EAAE,YAAY,EAAE,CAAC;CAC/B;AAKD,eAAe;AACf,MAAM,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAC;AAElD;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,gBAAgB,CAAyC;IACjE,OAAO,CAAC,SAAS,CAAkB;IAEnC;;;OAGG;IACH,mBAAmB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI,GAAG,IAAI;IAIpE;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIpC;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,YAAY,GAAG,IAAI;IAajD;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAI7C;;;OAGG;IACH,oBAAoB,IAAI,IAAI;IAI5B;;;OAGG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;;OAGG;IACH,iBAAiB,IAAI,IAAI;IAI3B;;;;SAIK;IACH,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsDrD;;OAEG;IACH,GAAG,IAAI,kBAAkB;IASzB;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,KAAK,IAAI,IAAI;IAKf;;SAEK;IACH,OAAO,CAAC,WAAW;IAWnB;;OAEG;IACH,OAAO,CAAC,UAAU;IAkBlB;;;OAGG;IACH,OAAO,CAAC,eAAe;CAGxB"}
1
+ {"version":3,"file":"message-buffer.d.ts","sourceRoot":"","sources":["../src/message-buffer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE3E,aAAa;AACb,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,aAAa,EAAE,YAAY,EAAE,CAAC;CAC/B;AAKD,eAAe;AACf,MAAM,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAC;AAclD;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,gBAAgB,CAAyC;IACjE,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,UAAU,CAA2C;IAE7D;;;OAGG;IACH,mBAAmB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI,GAAG,IAAI;IAIpE;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIpC;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAanB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,YAAY,GAAG,IAAI;IAgBjD;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAI7C;;;OAGG;IACH,oBAAoB,IAAI,IAAI;IAI5B;;;OAGG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;;OAGG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;;;OAIG;IACH,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoDrD;;OAEG;IACH,GAAG,IAAI,kBAAkB;IASzB;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,KAAK,IAAI,IAAI;IAUb;;OAEG;IACH,OAAO,CAAC,WAAW;IAWnB;;OAEG;IACH,OAAO,CAAC,UAAU;IAmBlB;;;OAGG;IACH,OAAO,CAAC,eAAe;CAGxB"}
@@ -1,17 +1,29 @@
1
1
  /**
2
2
  * 消息缓冲与派发模块
3
- * 负责消息的缓冲、分类和派发
3
+ * 负责消息的缓冲、分类、去重和派发
4
4
  */
5
5
  import { logger } from './logger.js';
6
+ const MSG_ID_DEDUP_TTL_MS = 5 * 60 * 1000;
7
+ const MSG_ID_DEDUP_MAX_SIZE = 500;
8
+ /**
9
+ * 获取消息的唯一标识
10
+ * DirectMessage 的 msgId 是 string,GroupMessage 的 msgId 是 number
11
+ */
12
+ function getMessageKey(msg) {
13
+ if (msg.msgId === undefined || msg.msgId === null)
14
+ return undefined;
15
+ return msg.msgId;
16
+ }
6
17
  /**
7
18
  * 消息缓冲区
8
- * 管理消息的存储、分类和派发
19
+ * 管理消息的存储、去重、分类和派发
9
20
  */
10
21
  export class MessageBuffer {
11
22
  buffer = [];
12
23
  resolvers = [];
13
24
  onMessageArrived = null;
14
25
  isPolling = false;
26
+ seenMsgIds = new Map();
15
27
  /**
16
28
  * 设置消息到达回调
17
29
  * 当有新消息到达且正在 poll 等待时,会立即调用此回调
@@ -25,13 +37,66 @@ export class MessageBuffer {
25
37
  setIsPolling(polling) {
26
38
  this.isPolling = polling;
27
39
  }
40
+ /**
41
+ * 标记消息为已见(用于去重)
42
+ */
43
+ markSeen(msg) {
44
+ const key = getMessageKey(msg);
45
+ if (key === undefined)
46
+ return;
47
+ this.seenMsgIds.set(key, Date.now());
48
+ this.cleanupSeenMsgIds();
49
+ }
50
+ /**
51
+ * 检查消息是否已存在(去重)
52
+ * 如果是新消息,标记为已见并返回 false
53
+ */
54
+ isDuplicate(msg) {
55
+ const key = getMessageKey(msg);
56
+ if (key === undefined)
57
+ return false;
58
+ const now = Date.now();
59
+ const seenAt = this.seenMsgIds.get(key);
60
+ if (seenAt !== undefined && now - seenAt < MSG_ID_DEDUP_TTL_MS) {
61
+ return true;
62
+ }
63
+ this.seenMsgIds.set(key, now);
64
+ this.cleanupSeenMsgIds();
65
+ return false;
66
+ }
67
+ /**
68
+ * 清理过期的去重记录
69
+ */
70
+ cleanupSeenMsgIds() {
71
+ if (this.seenMsgIds.size <= MSG_ID_DEDUP_MAX_SIZE)
72
+ return;
73
+ const now = Date.now();
74
+ for (const [key, ts] of this.seenMsgIds) {
75
+ if (now - ts >= MSG_ID_DEDUP_TTL_MS) {
76
+ this.seenMsgIds.delete(key);
77
+ }
78
+ }
79
+ if (this.seenMsgIds.size > MSG_ID_DEDUP_MAX_SIZE) {
80
+ let count = 0;
81
+ const toDelete = this.seenMsgIds.size - MSG_ID_DEDUP_MAX_SIZE;
82
+ for (const key of this.seenMsgIds.keys()) {
83
+ if (count >= toDelete)
84
+ break;
85
+ this.seenMsgIds.delete(key);
86
+ count++;
87
+ }
88
+ }
89
+ }
28
90
  /**
29
91
  * 添加消息到缓冲区
30
92
  */
31
93
  push(message) {
94
+ if (this.isDuplicate(message)) {
95
+ logger.info(`[MessageBuffer] 忽略重复消息,msgId: ${message.msgId}`);
96
+ return;
97
+ }
32
98
  this.buffer.push(message);
33
99
  logger.info(`[MessageBuffer] 消息入缓冲区,当前数量: ${this.buffer.length}`);
34
- // 如果正在 poll 等待,立即触发状态变化回调
35
100
  if (this.isPolling && this.onMessageArrived) {
36
101
  logger.info('[MessageBuffer] 检测到 poll 等待中,触发消息到达回调');
37
102
  this.onMessageArrived();
@@ -67,51 +132,57 @@ export class MessageBuffer {
67
132
  return null;
68
133
  }
69
134
  /**
70
- * 阻塞等待新消息
71
- * 如果缓冲区有消息则立即返回,否则阻塞等待
72
- * @param timeoutMs 可选超时时间(毫秒),超时后返回空消息而不继续阻塞
73
- */
135
+ * 更新 isPolling 状态:resolvers 从 0 变为 1 时设为 true,变为 0 时设为 false
136
+ */
137
+ updatePollingState() {
138
+ this.isPolling = this.resolvers.length > 0;
139
+ }
140
+ /**
141
+ * 阻塞等待新消息
142
+ * 如果缓冲区有消息则立即返回,否则阻塞等待
143
+ * @param timeoutMs 可选超时时间(毫秒),超时后返回空消息而不继续阻塞
144
+ */
74
145
  poll(timeoutMs) {
75
146
  logger.info(`[MessageBuffer] poll() 被调用,buffer: ${this.buffer.length}${timeoutMs ? `,超时: ${timeoutMs}ms` : ''}`);
76
- // 缓冲区有消息则立即返回
77
147
  if (this.buffer.length > 0) {
78
148
  const messages = this.consumeAll();
79
149
  logger.info(`[MessageBuffer] poll 立即返回,私聊: ${messages.directMessages.length},群聊: ${messages.groupMessages.length}`);
80
150
  return Promise.resolve(messages);
81
151
  }
82
- // 标记正在 poll 等待
83
- this.isPolling = true;
84
- // 缓冲区为空,阻塞等待
152
+ if (this.resolvers.length === 0) {
153
+ this.isPolling = true;
154
+ }
85
155
  return new Promise((resolve) => {
86
156
  let timer = null;
157
+ let resolved = false;
87
158
  const resolver = (messages) => {
88
- // 从列表中移除自己
159
+ if (resolved)
160
+ return;
161
+ resolved = true;
89
162
  const index = this.resolvers.indexOf(resolver);
90
163
  if (index > -1) {
91
164
  this.resolvers.splice(index, 1);
92
165
  }
93
- // 清除超时定时器
94
166
  if (timer) {
95
167
  clearTimeout(timer);
96
168
  timer = null;
97
169
  }
98
- // 标记不再 poll 等待
99
- this.isPolling = false;
170
+ this.updatePollingState();
100
171
  logger.info(`[MessageBuffer] poll 收到消息,私聊: ${messages.directMessages.length},群聊: ${messages.groupMessages.length}`);
101
172
  resolve(messages);
102
173
  };
103
174
  this.resolvers.push(resolver);
104
- // 处理竞态:注册后立即尝试派发
105
175
  this.tryDispatch();
106
- // 设置超时:超时后移除 resolver 并返回空消息
107
176
  if (timeoutMs && timeoutMs > 0) {
108
177
  timer = setTimeout(() => {
178
+ if (resolved)
179
+ return;
180
+ resolved = true;
109
181
  const index = this.resolvers.indexOf(resolver);
110
182
  if (index > -1) {
111
183
  this.resolvers.splice(index, 1);
112
184
  }
113
- // 标记不再 poll 等待
114
- this.isPolling = false;
185
+ this.updatePollingState();
115
186
  logger.info(`[MessageBuffer] poll 超时(${timeoutMs}ms),返回空消息`);
116
187
  resolve({ directMessages: [], groupMessages: [] });
117
188
  }, timeoutMs);
@@ -140,13 +211,17 @@ export class MessageBuffer {
140
211
  */
141
212
  clear() {
142
213
  this.buffer = [];
214
+ for (const resolver of this.resolvers) {
215
+ resolver({ directMessages: [], groupMessages: [] });
216
+ }
143
217
  this.resolvers = [];
218
+ this.isPolling = false;
219
+ this.seenMsgIds.clear();
144
220
  }
145
221
  /**
146
- * 尝试派发缓冲区消息给等待的 resolver
147
- */
222
+ * 尝试派发缓冲区消息给等待的 resolver
223
+ */
148
224
  tryDispatch() {
149
- // 当有 buffer 消息时,派发给等待的 resolver
150
225
  while (this.resolvers.length > 0 && this.buffer.length > 0) {
151
226
  const resolver = this.resolvers.shift();
152
227
  if (resolver) {
@@ -154,9 +229,10 @@ export class MessageBuffer {
154
229
  resolver(messages);
155
230
  }
156
231
  }
232
+ this.updatePollingState();
157
233
  }
158
234
  /**
159
- * 消费缓冲区所有消息并分类
235
+ * 消费缓冲区所有消息并分类,同时标记为已见
160
236
  */
161
237
  consumeAll() {
162
238
  const directMessages = [];
@@ -164,6 +240,7 @@ export class MessageBuffer {
164
240
  while (this.buffer.length > 0) {
165
241
  const msg = this.buffer.shift();
166
242
  if (msg) {
243
+ this.markSeen(msg);
167
244
  if (this.isDirectMessage(msg)) {
168
245
  directMessages.push(msg);
169
246
  }