aws-runtime-bridge 1.9.91 → 1.9.93

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 (134) hide show
  1. package/dist/adapter/AcodeSdkAdapter.d.ts +22 -126
  2. package/dist/adapter/AdapterRegistry.d.ts +10 -38
  3. package/dist/adapter/ClaudeSdkAdapter.d.ts +21 -84
  4. package/dist/adapter/CodexSdkAdapter.d.ts +2 -10
  5. package/dist/adapter/OpencodeSdkAdapter.d.ts +6 -42
  6. package/dist/adapter/acode-tool-names.d.ts +3 -12
  7. package/dist/adapter/idle-poll-loop.d.ts +4 -16
  8. package/dist/adapter/index.d.ts +1 -4
  9. package/dist/adapter/instance-ai-config-resolver.d.ts +9 -29
  10. package/dist/adapter/types.d.ts +124 -242
  11. package/dist/adapters/cc-switch/common.d.ts +4 -14
  12. package/dist/adapters/cc-switch/index.d.ts +3 -11
  13. package/dist/adapters/cc-switch/mcp-acode.d.ts +1 -7
  14. package/dist/adapters/cc-switch/mcp-claude.d.ts +1 -5
  15. package/dist/adapters/cc-switch/mcp-claudecode.d.ts +1 -5
  16. package/dist/adapters/cc-switch/mcp-codex.d.ts +1 -7
  17. package/dist/adapters/cc-switch/mcp-opencode.d.ts +3 -11
  18. package/dist/adapters/cc-switch/mcp-placeholder.d.ts +1 -5
  19. package/dist/adapters/cc-switch/skill-acode.d.ts +1 -6
  20. package/dist/adapters/cc-switch/skill-claude.d.ts +1 -5
  21. package/dist/adapters/cc-switch/skill-claudecode.d.ts +1 -5
  22. package/dist/adapters/cc-switch/skill-opencode.d.ts +1 -5
  23. package/dist/adapters/cc-switch/skill-placeholder.d.ts +1 -5
  24. package/dist/config.d.ts +39 -57
  25. package/dist/index.d.ts +1 -5
  26. package/dist/middleware/auth.d.ts +4 -22
  27. package/dist/routes/acode-todos.d.ts +1 -9
  28. package/dist/routes/dashboard.d.ts +1 -6
  29. package/dist/routes/events.d.ts +1 -5
  30. package/dist/routes/file-browser.d.ts +2 -8
  31. package/dist/routes/file-diff-rollback.d.ts +13 -41
  32. package/dist/routes/file-snapshot.d.ts +1 -8
  33. package/dist/routes/git.d.ts +18 -91
  34. package/dist/routes/instance.d.ts +4 -15
  35. package/dist/routes/processes.d.ts +1 -5
  36. package/dist/routes/properties.d.ts +1 -5
  37. package/dist/routes/pty.d.ts +9 -36
  38. package/dist/routes/runtime-binding.d.ts +1 -4
  39. package/dist/routes/sessions.d.ts +2 -9
  40. package/dist/routes/sub-agents.d.ts +1 -12
  41. package/dist/routes/task-context.d.ts +1 -6
  42. package/dist/routes/terminal.d.ts +18 -92
  43. package/dist/routes/yml.d.ts +1 -5
  44. package/dist/services/acode-package.d.ts +2 -12
  45. package/dist/services/agent-event-store.d.ts +6 -26
  46. package/dist/services/agent-process-manager.d.ts +30 -184
  47. package/dist/services/ai-source-apply.d.ts +1 -3
  48. package/dist/services/auto-register.d.ts +29 -106
  49. package/dist/services/bridge-package-publish-hooks.d.ts +5 -19
  50. package/dist/services/cc-switch-sdk.d.ts +1 -6
  51. package/dist/services/cli-commands.d.ts +12 -33
  52. package/dist/services/cli-commands.js +6 -6
  53. package/dist/services/event-delta-pusher.d.ts +5 -20
  54. package/dist/services/fileSnapshotStore.d.ts +7 -35
  55. package/dist/services/instance-ai-config-service.d.ts +4 -21
  56. package/dist/services/instance-service.d.ts +1 -10
  57. package/dist/services/instance-state.d.ts +5 -30
  58. package/dist/services/legacy-path-migration.d.ts +1 -1
  59. package/dist/services/lifecycle-state.d.ts +1 -4
  60. package/dist/services/mcp-launch-binding-queue.d.ts +2 -8
  61. package/dist/services/orphan-monitor.d.ts +20 -63
  62. package/dist/services/panel-auth.d.ts +12 -28
  63. package/dist/services/process-detector.d.ts +18 -122
  64. package/dist/services/process-registry.d.ts +30 -150
  65. package/dist/services/ring-buffer.d.ts +9 -42
  66. package/dist/services/runtime-binding.d.ts +2 -9
  67. package/dist/services/runtime-lifecycle-policy.d.ts +3 -15
  68. package/dist/services/session-output.d.ts +14 -67
  69. package/dist/services/startup-config-wizard.d.ts +3 -10
  70. package/dist/services/system-metrics.d.ts +1 -4
  71. package/dist/services/terminal-persistence.d.ts +10 -53
  72. package/dist/services/tool-installer.d.ts +6 -18
  73. package/dist/services/tunnel-client.d.ts +3 -18
  74. package/dist/services/windows-service-manager.d.ts +1 -13
  75. package/dist/services/workspace-files.d.ts +17 -57
  76. package/dist/services/workspace-watch.d.ts +2 -6
  77. package/dist/services/workspaceTaskChangeWatcher.d.ts +13 -51
  78. package/dist/types.d.ts +2 -8
  79. package/dist/utils/instance-ai-config-debug-logger.d.ts +5 -20
  80. package/dist/utils/logger.d.ts +7 -20
  81. package/dist/utils/mcp-utils.d.ts +8 -44
  82. package/dist/utils/path-utils.d.ts +3 -15
  83. package/dist/utils/sdk-package-loader.d.ts +2 -8
  84. package/dist/utils/validation.d.ts +3 -20
  85. package/dist/utils/yaml-utils.d.ts +8 -56
  86. package/node_modules/@cc-switch/sdk/dist/index.d.ts +1 -6
  87. package/node_modules/@cc-switch/sdk/dist/sdk.d.ts +11 -42
  88. package/package/acode/dist/ask-user-question-tool.d.ts +7 -20
  89. package/package/acode/dist/built-in-file-tools.d.ts +3 -6
  90. package/package/acode/dist/built-in-symbols-tool.d.ts +1 -4
  91. package/package/acode/dist/builtins/commandArtifacts.d.ts +1 -4
  92. package/package/acode/dist/builtins/shellOutputDecoder.d.ts +3 -18
  93. package/package/acode/dist/commands/commandLoader.d.ts +1 -4
  94. package/package/acode/dist/commands/commandParser.d.ts +1 -4
  95. package/package/acode/dist/compaction.d.ts +38 -175
  96. package/package/acode/dist/config.d.ts +1 -4
  97. package/package/acode/dist/fs-utils.d.ts +1 -19
  98. package/package/acode/dist/hooks/hookBus.d.ts +1 -4
  99. package/package/acode/dist/mcpToolNames.d.ts +2 -8
  100. package/package/acode/dist/parsers/ast-cache.d.ts +7 -20
  101. package/package/acode/dist/parsers/language-detector.d.ts +1 -5
  102. package/package/acode/dist/parsers/language-queries.d.ts +1 -1
  103. package/package/acode/dist/parsers/tree-sitter-loader.d.ts +4 -12
  104. package/package/acode/dist/parsers/types.d.ts +19 -30
  105. package/package/acode/dist/runtime.d.ts +47 -269
  106. package/package/acode/dist/skill-tool.d.ts +3 -23
  107. package/package/acode/dist/sub-agent-manager.d.ts +41 -206
  108. package/package/acode/dist/sub-agent-store.d.ts +12 -61
  109. package/package/acode/dist/sub-agent-tools.d.ts +9 -18
  110. package/package/acode/dist/sub-agent-types.d.ts +32 -38
  111. package/package/acode/dist/todo-store.d.ts +8 -23
  112. package/package/acode/dist/todo-tool.d.ts +2 -2
  113. package/package/acode/dist/types.d.ts +17 -38
  114. package/package/aws-client-agent-mcp/dist/agent-client.d.ts +44 -161
  115. package/package/aws-client-agent-mcp/dist/config.d.ts +4 -18
  116. package/package/aws-client-agent-mcp/dist/constants.d.ts +1 -3
  117. package/package/aws-client-agent-mcp/dist/context-manager.d.ts +25 -95
  118. package/package/aws-client-agent-mcp/dist/context-manager.test.d.ts +1 -4
  119. package/package/aws-client-agent-mcp/dist/http-client.d.ts +15 -56
  120. package/package/aws-client-agent-mcp/dist/index.d.ts +1 -11
  121. package/package/aws-client-agent-mcp/dist/logger.d.ts +5 -22
  122. package/package/aws-client-agent-mcp/dist/mcp-server.d.ts +76 -365
  123. package/package/aws-client-agent-mcp/dist/mcp-tools.d.ts +21 -83
  124. package/package/aws-client-agent-mcp/dist/memory-store.d.ts +15 -70
  125. package/package/aws-client-agent-mcp/dist/memory-tools.d.ts +4 -17
  126. package/package/aws-client-agent-mcp/dist/message-buffer.d.ts +23 -92
  127. package/package/aws-client-agent-mcp/dist/messageContent.d.ts +5 -29
  128. package/package/aws-client-agent-mcp/dist/server-memory-store.d.ts +2 -9
  129. package/package/aws-client-agent-mcp/dist/status-reporter.d.ts +17 -55
  130. package/package/aws-client-agent-mcp/dist/types.d.ts +66 -125
  131. package/package/aws-client-agent-mcp/dist/websocket-client.d.ts +30 -125
  132. package/package/cc-switch-sdk/dist/index.d.ts +1 -6
  133. package/package/cc-switch-sdk/dist/sdk.d.ts +11 -42
  134. package/package.json +1 -1
@@ -1,16 +1,7 @@
1
- /**
2
- * MCP Server 实现
3
- * 提供 MCP Tools 供 AI Agent 调用
4
- */
5
- /**
6
- * 绑定文件的逐文件状态。
7
- * - no_change: MD5 与基线一致
8
- * - content_changed: 文件存在但 MD5 与基线不一致
9
- * - not_found: 文件读取不到(被删除/移动)
10
- * - no_baseline: 该文件无可用基线(新增绑定尚未建基线,或基线键不匹配),无法判定变更
11
- */
1
+
2
+
12
3
  export type BoundFileStatus = 'no_change' | 'content_changed' | 'not_found' | 'no_baseline';
13
- /** 单条绑定文件的路径与状态。 */
4
+
14
5
  export interface BoundFileStatusEntry {
15
6
  path: string;
16
7
  status: BoundFileStatus;
@@ -25,104 +16,53 @@ export declare class McpServer {
25
16
  private roleMemoryStore;
26
17
  private sessionContextMemoryStore;
27
18
  private initialRoleName;
28
- /** 是否有真实的角色名(非 env 空值 fallback "default-role") */
19
+
29
20
  private hasRoleName;
30
- /** 上下文管理器 (v1.8.0) */
21
+
31
22
  private contextManager;
32
- /** 子 Agent 模式:仅暴露 Memory 工具,拒绝非 Memory 工具调用 */
23
+
33
24
  private isSubAgent;
34
- /**
35
- * 租约续期定时器 (v1.21.0)。
36
- * 每 60 秒续期一次当前 agent 持有的所有 updating memory 的租约。
37
- */
25
+
38
26
  private leaseRenewalTimer;
39
27
  private activeLeaseUris;
40
28
  private static readonly LEASE_DURATION_MINUTES;
41
29
  private static readonly LEASE_RENEW_INTERVAL_MS;
42
- /** profile 是否已同步(防止 activelySyncProfile 与 profileHandler 双重同步) */
30
+
43
31
  private profileSynced;
44
- /**
45
- * poll_message 单例控制:防止并发调用导致消息被第一个消费后第二个空等。
46
- * 当已有 poll 在进行时,后续调用直接等待同一个 Promise。
47
- */
32
+
48
33
  private pendingPollMessage;
49
- /**
50
- * 收到 Profile 后同步角色存储路径。
51
- * 当服务端返回的 roleName 与进程初始化时不一致时,重建 roleMemoryStore 指向正确的目录。
52
- */
34
+
53
35
  private syncRoleMemoryStore;
54
- /**
55
- * 在 profile 到达后检查是否需要将本地永久记忆同步到 server。
56
- * 触发条件:当前角色在 server 上还没有任何 memory 类型记录(通常发生在重部署后 server DB 为空时)。
57
- * 主流程:异步执行,不阻塞 profile 处理链路。
58
- * 1. 调用 server get_memory_stats 获取当前角色 memory 类型计数
59
- * 2. 若 count === 0,读取本地永久记忆(角色子目录 + 遗留父目录 fallback)
60
- * 3. 逐条调用 server create_memory 写入(已存在则静默跳过)
61
- */
36
+
62
37
  private maybeSyncPermanentMemoryToServer;
63
38
  private doMaybeSyncPermanentMemoryToServer;
64
- /**
65
- * 规范化绑定的文件路径。
66
- * 项目约定以下前缀都表示工作区根路径:
67
- * ./xxx → ./xxx (已是相对路径)
68
- * /xxx → ./xxx (/ 视为工作区根路径)
69
- * @/xxx → ./xxx (@/ 视为工作区根路径别名)
70
- * xxx → ./xxx (裸路径视为当前工作区相对)
71
- */
39
+
72
40
  private normalizeBoundFilePath;
73
- /**
74
- * 规范化绑定的文件路径数组。
75
- */
41
+
76
42
  private normalizeBoundFiles;
77
- /**
78
- * 验证绑定文件是否存在。
79
- * 主流程:规范化后的路径 -> 相对于工作区根路径解析 -> 逐文件检查是否存在 -> 汇总缺失列表并抛出错误。
80
- */
43
+
81
44
  private validateBoundFilesExist;
82
- /**
83
- * 记忆写入成功后的 MCP 响应 DTO。
84
- * 主流程:保留定位与版本元数据,刻意不包含 content,避免 create/update 回显大段提交内容。
85
- */
45
+
86
46
  private toMemoryWriteResult;
87
- /**
88
- * 返回完整的 Memory 记录(包含元数据)。
89
- * Memory 增强功能 (v1.6.0)
90
- */
47
+
91
48
  private toMemoryRecordWithMetadata;
92
49
  constructor();
93
50
  private setupHandlers;
94
- /**
95
- * 处理工具调用
96
- */
51
+
97
52
  private handleToolCall;
98
- /**
99
- * 执行具体的工具调用
100
- */
53
+
101
54
  private executeToolCall;
102
55
  private static readonly MEMORY_TYPES;
103
56
  private static readonly MEMORY_TOOL_NAMES;
104
- /**
105
- * 从 startPath 向上逐级查找 .agentswork 目录。
106
- * 主流程:从 startPath 开始检查是否存在 .agentswork -> 递归父目录直到根目录 -> 如果找到返回完整路径,否则在 startPath 创建。
107
- */
57
+
108
58
  private static findAgentsworkDirSync;
109
- /**
110
- * 清理角色名中的非法路径字符,返回安全的目录名。
111
- */
59
+
112
60
  private static sanitizeRoleDirectoryName;
113
- /**
114
- * 解析角色级记忆目录名。
115
- * 主流程:优先使用 AWS_ROLE_NAME,清理路径分隔符等非法字符,避免不同角色的长期 memory 混写。
116
- */
61
+
117
62
  private static resolveRoleMemoryDirectoryName;
118
- /**
119
- * 根据 roleName 构建永久记忆存储路径。
120
- */
63
+
121
64
  private static buildRoleMemoryStorePath;
122
- /**
123
- * 解析记忆存储路径。
124
- * 主流程:recently_memory/agent_memory 走 server 数据库;长期 project_memory 默认写入项目 .agentswork/memory/memory/<roleName>/<domain>.json。
125
- */
65
+
126
66
  private static resolveMemoryStorePaths;
127
67
  private getRequiredString;
128
68
  private getOptionalString;
@@ -131,269 +71,93 @@ export declare class McpServer {
131
71
  private getOptionalMemoryType;
132
72
  private parseMemoryType;
133
73
  private isMemoryType;
134
- /**
135
- * 所有类型的记忆统一走服务端(Server 是唯一权威源)。
136
- * 本地 roleMemoryStore 仅用于 project_memory 的备份写入与启动恢复。
137
- */
74
+
138
75
  private getMemoryStoreForType;
139
- /**
140
- * 读取记忆:直接走服务端(Server 是唯一权威源)。
141
- */
76
+
142
77
  private readMemoryFromScopedStores;
143
- /**
144
- * 将 project_memory 异步备份到本地文件(纯灾备,不作为读取源)。
145
- */
78
+
146
79
  private backupProjectMemoryToLocal;
147
- /**
148
- * 删除 project_memory 的本地备份文件。
149
- */
80
+
150
81
  private removeProjectMemoryLocalBackup;
151
- /**
152
- * 定位可更新/删除的存储:统一走服务端。
153
- */
82
+
154
83
  private findMemoryStoreForMutation;
155
84
  private reportMemoryStatsToServer;
156
- /**
157
- * 系统提示词由 runtime adapter 在会话创建时注入,MCP 层面不再负责返回。
158
- * 详见 startListeningInternal -> profileHandler 中的合并注入逻辑。
159
- *
160
- * @deprecated 启动记忆不再通过 MCP 的 systemMessages 返回。
161
- * 三方 runtime(OpenCode/Claude)在 adapter 层将三层提示词合并为一条 system prompt;
162
- * ACode 则直接注入为前三条 system role 消息。
163
- */
164
- /**
165
- * 生成安全的工具状态上报参数。
166
- * 主流程:memory 工具只上报元数据,避免 content/query/old_string/new_string/append 离开本地记忆边界。
167
- */
85
+
86
+
168
87
  private sanitizeToolUseArgs;
169
- /**
170
- * 过滤工具返回结果中的 _acodeAutoDelegate 消息,避免自动委托通知
171
- * (memory 文件变更/过期/容量整理)作为工具返回数据泄露到时间线。
172
- *
173
- * 背景:ACode 运行时在 processMemoryAutoDelegates 中拦截这些消息并 spawn
174
- * 子 agent 处理,主 agent 不会感知。但 MCP server 的 statusReporter 在
175
- * 拦截之前就已上报原始结果,Java 后端 AgentEventService 会将含 actionResult
176
- * 的状态事件持久化并通过 AGENT_EVENTS_DELTA 推送到 dashboard 时间线,
177
- * 导致本应被隐藏的委托通知暴露给用户。
178
- *
179
- * 返回 null 表示结果全部为委托消息,应跳过 reportToolResult
180
- * (由 ACode 运行时在拦截后上报最终结果)。
181
- */
88
+
182
89
  private stripAutoDelegateForReporting;
183
- /**
184
- * 创建本地记忆。
185
- * 主流程:校验必填字段 -> 交给 MemoryStore 规范化 URI 和类型 -> 返回不含 content 的写入结果。
186
- */
90
+
187
91
  private handleCreateMemory;
188
- /**
189
- * 读取本地记忆。
190
- * 主流程:按 uri 读取;如果传入 memory_type,则由 MemoryStore 执行类型一致性校验。
191
- */
92
+
192
93
  private handleReadMemory;
193
- /**
194
- * 更新本地记忆。
195
- * 主流程:精确替换/追加/仅状态更新 -> MemoryStore 执行变更和版本递增 -> 返回不含 content 的写入结果。
196
- * 支持三种写法:1) 精确替换(old_string + new_string);2) 追加(append);3) 无内容更新(仅传 uri,
197
- * 用于过期续期、刷新绑定文件 MD5、释放 updating 状态等场景)。
198
- */
94
+
199
95
  private handleUpdateMemory;
200
- /**
201
- * 删除本地记忆。
202
- * 主流程:按 uri 删除;如果传入 memory_type,则先校验分类,最后返回 deleted 布尔值。
203
- */
96
+
204
97
  private handleDeleteMemory;
205
- /**
206
- * 删除单条记忆的内部辅助方法。
207
- * - skipStats=true 时跳过 reportMemoryStatsToServer 调用,由批量调用方统一上报一次。
208
- * - 返回 true/false 表示是否实际删除(与 store.deleteMemory 一致)。
209
- */
98
+
210
99
  private deleteMemorySingle;
211
- /**
212
- * 搜索本地记忆与子 Agent 记忆(父子 Agent 可见性)。
213
- * 主流程:解析 scope -> own(默认)仅搜自己 -> children仅搜子Agent的file-scoped记忆 -> all合并。
214
- * 子 Agent 判定规则:同项目且工作区路径为当前路径子目录。
215
- */
100
+
216
101
  private handleSearchMemory;
217
- /**
218
- * 搜索自己工作区的所有记忆。
219
- * 具体逻辑:按 memory_type 分流 -> 无类型时合并 roleMemoryStore(永久)与 memoryStore(recently/agent)。
220
- */
102
+
221
103
  private searchOwnMemories;
222
- /**
223
- * 合并两组搜索结果,按 uri 去重、更新时间排序。
224
- * 具体逻辑:own 结果优先 -> 补充 child 结果中 uri 不重复的 -> 排序 -> 截断到 limit。
225
- */
104
+
226
105
  private mergeSearchResults;
227
- /**
228
- * 列出短期类型记忆。
229
- * 主流程:只允许 recently_memory/agent_memory,拒绝 project_memory(永久记忆仅通过 search 检索)。
230
- * MemoryStore.listByType 内部仍允许 project_memory 供文件变更检测使用,但 MCP 层面不暴露给 Agent。
231
- */
106
+
232
107
  private handleListMemories;
233
- /**
234
- * 获取本地记忆容量统计。
235
- * 主流程:读取 MemoryStore 统计结果,供 Agent 在创建前判断 listable/type 容量。
236
- */
108
+
237
109
  private handleGetMemoryStats;
238
- /**
239
- * 按文件查询绑定了该文件的 Memory
240
- * Memory 增强功能 (v1.6.0)
241
- */
242
- /**
243
- * 按文件路径查询 Memory(支持 scope 跨 Agent 搜索)。
244
- * 主流程:解析scope -> own(默认)仅自己 -> children搜索子Agent -> all合并。
245
- * 子 Agent 搜索同时走两条路径:
246
- * 1. server searchChildByFilePath(查 DB)
247
- * 2. 本地文件系统扫描 child .agentswork/memory/memory/(查本地永久记忆文件)
248
- * 两条路径结果按 id 去重合并,确保无论子 Agent 的永久记忆是否已同步到
249
- * 服务端数据库,父 Agent 都能搜索到。
250
- */
110
+
111
+
251
112
  private handleListMemoriesByFile;
252
- /**
253
- * 按 id 去重合并两批 MemoryRecord,按 updatedAt 倒序排列。
254
- * 首批(left)优先级高,其 id 会标记为 seen,重复的 right 项被丢弃。
255
- */
113
+
256
114
  private mergeIdDedupe;
257
- /**
258
- * 通过文件系统扫描子 Agent 的 .agentswork 目录,
259
- * 读取永久记忆 JSON 文件,按 path_prefix 匹配 bound_files。
260
- *
261
- * 主流程:
262
- * 1. 解析 file_path(如 ./frontend/src/main.ts)的路径层级
263
- * 2. 逐级(从长到短)找到子 Agent 的 .agentswork 目录
264
- * 3. 读取该目录下所有 role 的 JSON 文件
265
- * 4. 对每条记忆,将 bound_files 与 child-relative 路径比较
266
- *
267
- * 作为 server searchChildByFilePath 的本地补充,
268
- * 确保子 Agent 的本地永久记忆(未同步到 server)也能被搜索到。
269
- */
115
+
270
116
  private searchChildMemoriesByFileLocal;
271
- /**
272
- * 按文件路径搜索本 Agent 的记忆。
273
- * 同时查询临时记忆(server)和永久记忆(local roleMemoryStore)。
274
- */
117
+
275
118
  private collectOwnMemoriesByFile;
276
- /**
277
- * 放弃 Memory 更新状态 (v1.21.0 改为走 release API)
278
- * Memory 增强功能 (v1.6.0)
279
- */
119
+
280
120
  private handleAbandonMemoryUpdate;
281
- /**
282
- * 处理 memory_recurrence 工具调用。
283
- * 主流程:调用服务端 list_expired_memories 拉取已过期的 recently_memory / agent_memory ->
284
- * 按过期时间排序(最早优先)-> 取前 limit 条 ->
285
- * 仅标记这 limit 条为「回忆中」状态 -> 返回这些记忆及剩余数量。
286
- */
121
+
287
122
  private handleMemoryRecurrence;
288
- /**
289
- * 处理 memory_recurrence_complete 工具调用。
290
- * 主流程:调用服务端 clear_recalling_expired_memories 删除所有「recalling + 已过期」记录。
291
- */
123
+
292
124
  private handleMemoryRecurrenceComplete;
293
- /**
294
- * 获取最近的消息历史用于压缩。
295
- * 主流程:获取未读消息 + 历史消息 -> 合并排序 -> 返回。
296
- */
125
+
297
126
  private fetchRecentMessages;
298
127
  private handleSendGroup;
299
- /**
300
- * 记录消息发送产生的 token 消耗。
301
- * 主流程:估算内容 token -> 获取会话 ID -> 记录到 ContextManager。
302
- */
128
+
303
129
  private recordMessageTokenUsage;
304
130
  private handleHireColleague;
305
131
  private handleHireColleaguesBatch;
306
132
  private handleSendPrivate;
307
133
  private handleCreateTaskInstanceComment;
308
- /**
309
- * 构建内存通知并前置到消息列表。
310
- * @returns 若生成了通知并已前置,返回 true;否则返回 false。
311
- */
134
+
312
135
  private prependMemoryNotification;
313
136
  private handlePollMessage;
314
- /**
315
- * poll_message 主循环逻辑。
316
- *
317
- * 紧急/非紧急分类策略:
318
- * - 紧急类:未读消息(私信/群聊)、task、todo
319
- * - 非紧急类:memory过期回忆、memory文件变更、memory容量整理
320
- * - 规则:有紧急类时返回所有命中的紧急项(不搭配非紧急类);
321
- * 无紧急类时返回所有命中的非紧急项。
322
- *
323
- * 返回组合(只可能是以下两种之一):
324
- * 1、所有命中的紧急项(未读消息 + todo + task 中命中的全部)
325
- * 2、所有命中的非紧急项(memory过期 + 文件变更 + 容量整理 中命中的全部)
326
- *
327
- * 注:subAgent 终态事件由 ACode 运行时层(runtime.ts callPollMessageWithSubAgentRace)
328
- * 在 MCP 调用前后注入,MCP server 内部不直接检测子 agent 状态。
329
- * 注:Todo 在入口和 while 循环中均检查,确保阻塞期间创建的 Todo 也能被感知。
330
- */
137
+
331
138
  private doPollMessage;
332
- /**
333
- * 检查本地非紧急通知(memory过期回忆、文件变更、容量整理),返回所有命中的通知。
334
- * Task 不在此方法中检查,因为 Task 通过服务端 hydrate 以消息形式返回。
335
- * @param includeFileChange 是否包含文件变更检测,默认 true;循环轮询时传 false 以跳过。
336
- */
139
+
337
140
  private checkAllLocalNonUrgentNotifications;
338
141
  private buildPollResult;
339
- /**
340
- * 解析正整数环境变量。
341
- * 主流程:读取环境变量 -> 转成整数 -> 非法值使用默认值。
342
- */
142
+
343
143
  private parsePositiveIntegerEnv;
344
144
  private sleep;
345
- /**
346
- * 构建本地记忆整理提醒。
347
- * 主流程:读取容量统计 -> 找出超过软限制的 listable 类型 -> 注入一条非持久化系统私信提醒 Agent 整理。
348
- */
145
+
349
146
  private buildMemoryCleanupNotification;
350
- /**
351
- * 构建近期记忆过期回忆通知(有即将遗忘的记忆需要整理)。
352
- * Memory 近期记忆过期 (v1.11.0) / v1.13.0 改用服务端 memory_status 字段 / v1.19.0 扩展
353
- *
354
- * 通知策略(基于服务端 memory_status):
355
- * 1. 有过期 recently_memory / agent_memory 且 memory_status='recalling'(回忆中但未完成疏理):
356
- * 通知 "存在待疏理的即将遗忘记忆,请通过 memory_recurrence 获取进行整理"
357
- * 2. 有过期 recently_memory / agent_memory 且 memory_status='normal'(尚未开始回忆):
358
- * 通知 "有即将遗忘记忆得整理,请通过 memory_recurrence 进行回忆"
359
- * v1.19.0: recently_memory 纳入过期回忆流程,与 agent_memory 一并处理。
360
- */
147
+
361
148
  private buildMemoryRecurrenceNotification;
362
- /**
363
- * 构建 Memory 文件变更检测通知。
364
- * Memory 增强功能 (v1.6.0)
365
- *
366
- * 检测流程(所有数据均从服务端读取,不降级到本地):
367
- * 1. 检查本 Agent 标记为 updating 但未处理的 Memory
368
- * 2. 检查短期记忆、近期记忆绑定的文件是否变更
369
- * 3. 检查永久记忆的文件变更,先走 Server 原子 claim,再标记本地
370
- */
149
+
371
150
  private buildMemoryFileChangeNotification;
372
151
  private isClaimCached;
373
- /**
374
- * 计算某条记忆全部绑定文件的逐文件状态(纯计算,不修改任何状态)。
375
- * - no_change: 文件存在且 MD5 与基线一致(或无基线时保守视为未变)
376
- * - content_changed: 文件存在但 MD5 与基线不一致
377
- * - not_found: 文件读取不到(被删除/移动)
378
- * 注意:无基线(新增绑定文件尚未建基线)的文件保守返回 no_change,避免误报为变更。
379
- */
152
+
380
153
  private computeBoundFileStatuses;
381
- /**
382
- * 检查一组 Memory 的文件变更
383
- * Memory 增强功能 (v1.6.0)
384
- */
154
+
385
155
  private checkMemoriesFileChanges;
386
- /**
387
- * 计算文件 MD5
388
- * Memory 增强功能 (v1.6.0)
389
- */
156
+
390
157
  private calculateFileMd5;
391
158
  private verifyFileNotExist;
392
159
  private handleGetMessage;
393
- /**
394
- * 从服务端补拉未读消息并写入本地缓冲。
395
- * 主流程:按调用方指定的阻塞/流程线任务参数请求服务端 -> 过滤本地不可投递消息 -> 追加到当前消息缓存。
396
- */
160
+
397
161
  private hydrateUnreadMessagesFromServer;
398
162
  private handleGetDmHistory;
399
163
  private handleGetGroupHistory;
@@ -402,88 +166,35 @@ export declare class McpServer {
402
166
  private handleFinishTaskRollback;
403
167
  private handleRejectTask;
404
168
  private handleTerminateTask;
405
- /**
406
- * 处理接收到的消息(WebSocket 推送)
407
- */
169
+
408
170
  private handleIncomingMessage;
409
- /**
410
- * 判断消息是否应该进入本地缓冲区。
411
- * 主流程:过滤结构异常消息 -> 过滤当前 Agent 自发消息 -> 过滤持久化流程线唤醒私信。
412
- */
171
+
413
172
  private shouldBufferIncomingMessage;
414
- /**
415
- * 判断是否为群消息。
416
- * 通过 msgId 类型进行收窄,便于后续安全执行群消息专属过滤逻辑。
417
- */
173
+
418
174
  private isGroupMessage;
419
- /**
420
- * 判断是否为持久化流程线任务待领取私信。
421
- * 主流程:同时检查 content 与 prompt,只要包含 pipeline_task_assigned 就不进入本地缓冲,避免未抢占成功 Agent 收到系统任务提醒。
422
- */
175
+
423
176
  private isPipelineTaskAssignedNotification;
424
- /**
425
- * 判断消息是否由当前 Agent 自己发送。
426
- * 主流程:读取当前 Agent 状态 -> 比较 senderId -> 返回过滤结果。
427
- */
177
+
428
178
  private isSelfSentMessage;
429
- /**
430
- * 安全读取当前 Agent ID。
431
- * 测试替身或异常场景下如果 agentClient 未提供 getState,则返回 null,避免影响消息主流程。
432
- */
179
+
433
180
  private getCurrentAgentId;
434
- /**
435
- * 将 agentId 安全化为文件名片段:仅保留字母数字下划线短横,其余替换为下划线。
436
- * 与 acode 包 TodoStore.filePath 的路径安全化逻辑保持一致。
437
- */
181
+
438
182
  private sanitizeAgentIdForTodoFile;
439
- /**
440
- * 构建 Todo 未完成项提醒通知。
441
- *
442
- * 触发条件(全部满足):
443
- * 1. 当前 agentId 可读取
444
- * 2. ~/.acode/todos/{agentId}.json 存在且可解析
445
- * 3. 存在 status !== "completed" 的未完成项
446
- *
447
- * 行为:
448
- * - 有未完成项:构造轻量系统通知并返回(不持久化)。
449
- * - 全部完成 / 无文件 / 异常:静默返回 null,不阻断 poll_message。
450
- *
451
- * 通知以 DirectMessage 形式注入,senderId="MCP-System",不落库、不持久化。
452
- * 提示内容简洁,仅提醒有未完成待办,Agent 如需查看详情应调用 todo_read。
453
- */
183
+
454
184
  private buildTodoReminderNotification;
455
185
  start(): Promise<void>;
456
- /**
457
- * 启动租约续期定时器 (v1.21.0)。
458
- * 每 60 秒续期一次当前 agent 持有的所有 updating memory 的租约,
459
- * 防止租约过期导致其他实例接管。
460
- */
186
+
461
187
  private startLeaseRenewal;
462
- /**
463
- * 停止租约续期定时器 (v1.21.0)。
464
- */
188
+
465
189
  private stopLeaseRenewal;
466
- /**
467
- * 停止 McpServer,清理后台定时器。
468
- * 主流程:停止租约续期 -> 释放所有 claim -> 停止 Agent 客户端消息循环。
469
- */
190
+
470
191
  stop(): void;
471
192
  private autoRegister;
472
- /**
473
- * 在后台启动注册流程,不阻塞 MCP 工具暴露。
474
- * 主流程:autoRegister 包含重试循环和降级模式逻辑,后台执行避免拖慢 MCP Server 就绪时间。
475
- */
193
+
476
194
  private autoRegisterInBackground;
477
- /**
478
- * 内部方法:启动消息监听(不返回 MCP 响应)
479
- */
195
+
480
196
  private startListeningInternal;
481
- /**
482
- * 主动获取 profile 并同步角色存储路径。
483
- * 当 Java 侧因 hasProfileFetched=true 跳过 PROFILE_INFO 推送时,
484
- * profileHandler 不会被调用,hasRoleName 永远为 false,导致文件变更检测被跳过。
485
- * 此方法在 startListeningInternal 后主动拉取 profile,确保 hasRoleName 被正确设置。
486
- */
197
+
487
198
  private activelySyncProfile;
488
199
  private delay;
489
200
  }
@@ -1,105 +1,43 @@
1
- /**
2
- * MCP 工具定义
3
- * 集中管理所有 MCP Tool 的元数据
4
- */
1
+
5
2
  import type { Tool } from "@modelcontextprotocol/sdk/types.js";
6
3
  export { CREATE_MEMORY_TOOL, DELETE_MEMORY_TOOL, GET_MEMORY_STATS_TOOL, LIST_MEMORIES_TOOL, READ_MEMORY_TOOL, SEARCH_MEMORY_TOOL, UPDATE_MEMORY_TOOL, LIST_MEMORIES_BY_FILE_TOOL, ABANDON_MEMORY_UPDATE_TOOL, MEMORY_RECURRENCE_TOOL, MEMORY_RECURRENCE_COMPLETE_TOOL, } from "./memory-tools.js";
7
- /**
8
- * 获取当前 Agent 可见的同事列表(包含离线 Agent)
9
- */
4
+
10
5
  export declare const GET_COLLEAGUE_TOOL: Tool;
11
- /**
12
- * 获取当前 Agent 可发现的群组列表
13
- */
6
+
14
7
  export declare const GET_GROUP_ROOMS_TOOL: Tool;
15
- /**
16
- * 获取当前 Agent 信息
17
- *
18
- * 系统提示词采用三层分层结构,由 runtime adapter 在会话创建时注入:
19
- * - System 1: 全局系统提示词(globalAgentPrompt)
20
- * - System 2: 角色/实例提示词(prompt)
21
- * - System 3: 启动记忆(短期+近期记忆)
22
- *
23
- * ACode:直接注入为前三条 system role 消息。
24
- * OpenCode/Claude:由 adapter 合并为一条 system prompt 注入。
25
- * poll_message/get_message 不再返回 systemMessages,避免冗余。
26
- */
8
+
27
9
  export declare const GET_PROFILE_TOOL: Tool;
28
- /**
29
- * 招聘同事
30
- */
10
+
31
11
  export declare const HIRE_COLLEAGUE_TOOL: Tool;
32
- /**
33
- * 批量招聘同事
34
- */
12
+
35
13
  export declare const HIRE_COLLEAGUES_BATCH_TOOL: Tool;
36
- /**
37
- * 发送群消息
38
- */
14
+
39
15
  export declare const SEND_GROUP_TOOL: Tool;
40
- /**
41
- * 发送私信
42
- */
16
+
43
17
  export declare const SEND_PRIVATE_TOOL: Tool;
44
- /**
45
- * 轮询消息(阻塞式)
46
- *
47
- * 只返回 directMessages 和 groupMessages。
48
- * 系统提示词(全局提示词、角色提示词、启动记忆)已由 runtime adapter
49
- * 在会话创建时注入,不再通过 MCP 工具返回。
50
- */
18
+
51
19
  export declare const POLL_MESSAGE_TOOL: Tool;
52
- /**
53
- * 获取消息(非阻塞)
54
- *
55
- * 与 poll_message 返回格式一致。系统提示词已由 runtime adapter 注入,
56
- * 不再通过 MCP 返回。
57
- */
20
+
58
21
  export declare const GET_MESSAGE_TOOL: Tool;
59
- /**
60
- * 获取私信历史
61
- */
22
+
62
23
  export declare const GET_DM_HISTORY_TOOL: Tool;
63
- /**
64
- * 获取群聊历史
65
- */
24
+
66
25
  export declare const GET_GROUP_HISTORY_TOOL: Tool;
67
- /**
68
- * 获取我的流程线任务
69
- */
26
+
70
27
  export declare const MY_TASK_TOOL: Tool;
71
- /**
72
- * 创建流程线实例级留言
73
- */
28
+
74
29
  export declare const CREATE_TASK_INSTANCE_COMMENT_TOOL: Tool;
75
- /**
76
- * 提交任务结果
77
- */
30
+
78
31
  export declare const SUBMIT_TASK_RESULT_TOOL: Tool;
79
- /**
80
- * 开始 AI 回退任务
81
- */
32
+
82
33
  export declare const START_TASK_ROLLBACK_TOOL: Tool;
83
- /**
84
- * 完成 AI 回退任务
85
- */
34
+
86
35
  export declare const FINISH_TASK_ROLLBACK_TOOL: Tool;
87
- /**
88
- * 拒绝任务
89
- */
36
+
90
37
  export declare const REJECT_TASK_TOOL: Tool;
91
- /**
92
- * 终止任务
93
- */
38
+
94
39
  export declare const TERMINATE_TASK_TOOL: Tool;
95
- /**
96
- * 子 Agent 可见的 Memory 工具名集合(CRUD + 搜索/列表/统计/文件查询 + 过期回忆)。
97
- * 排除通讯、招聘、流程线、放弃更新等端点。
98
- * 注意:memory_recurrence / memory_recurrence_complete 必须包含在内,
99
- * 否则 memory_expiration 委托子 agent 无法整理过期记忆。
100
- */
40
+
101
41
  export declare const MEMORY_TOOL_NAMES: ReadonlySet<string>;
102
- /**
103
- * 所有 MCP 工具列表
104
- */
42
+
105
43
  export declare const MCP_TOOLS: Tool[];