aws-runtime-bridge 1.9.172 → 1.9.179

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 (383) hide show
  1. package/CHANGELOG.md +314 -0
  2. package/README.md +61 -2
  3. package/dist/adapter/AcodeSdkAdapter.d.ts +374 -1
  4. package/dist/adapter/AcodeSdkAdapter.js +3 -3
  5. package/dist/adapter/AdapterRegistry.d.ts +28 -0
  6. package/dist/adapter/ClaudeSdkAdapter.d.ts +71 -0
  7. package/dist/adapter/CodexSdkAdapter.d.ts +14 -0
  8. package/dist/adapter/OpencodeSdkAdapter.d.ts +44 -0
  9. package/dist/adapter/acode-tool-names.d.ts +9 -0
  10. package/dist/adapter/idle-poll-loop.d.ts +20 -0
  11. package/dist/adapter/index.d.ts +3 -0
  12. package/dist/adapter/instance-ai-config-resolver.d.ts +20 -0
  13. package/dist/adapter/prompts.d.ts +12 -0
  14. package/dist/adapter/types.d.ts +184 -0
  15. package/dist/browser/browser-bootstrap.d.ts +15 -0
  16. package/dist/browser/browser-connect-token.d.ts +11 -0
  17. package/dist/browser/browser-frame-encode.d.ts +32 -0
  18. package/dist/browser/browser-pool.d.ts +129 -0
  19. package/dist/browser/browser-profile-store.d.ts +41 -0
  20. package/dist/browser/browser-ws-bridge.d.ts +20 -0
  21. package/dist/browser/built-in-browser-tools.d.ts +44 -0
  22. package/dist/browser/element-locator.d.ts +25 -0
  23. package/dist/browser/element-picker.d.ts +30 -0
  24. package/dist/browser/frame-encode.d.ts +19 -0
  25. package/dist/browser/input-dispatcher.d.ts +35 -0
  26. package/dist/browser/listener-store.d.ts +44 -0
  27. package/dist/browser/page-listener-manager.d.ts +88 -0
  28. package/dist/browser/page-listener-types.d.ts +38 -0
  29. package/dist/browser/screencast-differ.d.ts +10 -0
  30. package/dist/browser/screencast-manager.d.ts +94 -0
  31. package/dist/browser/snapshot-serializer.d.ts +56 -0
  32. package/dist/browser/ssrf-guard.d.ts +44 -0
  33. package/dist/browser/stealth.d.ts +21 -0
  34. package/dist/browser/step-archive.d.ts +13 -0
  35. package/dist/browser/types.d.ts +100 -0
  36. package/dist/browser/ws-server.d.ts +54 -0
  37. package/dist/config.d.ts +138 -2
  38. package/dist/config.js +2 -2
  39. package/dist/desktop/built-in-desktop-tools.d.ts +68 -0
  40. package/dist/desktop/built-in-desktop-tools.js +2 -1
  41. package/dist/desktop/desktop-control.d.ts +142 -0
  42. package/dist/desktop/desktop-control.js +2 -0
  43. package/dist/desktop/desktop-mcp-client.d.ts +28 -0
  44. package/dist/desktop/desktop-staleness.d.ts +66 -0
  45. package/dist/desktop/desktop-staleness.js +2 -0
  46. package/dist/index.d.ts +4 -0
  47. package/dist/index.js +1 -1
  48. package/dist/middleware/auth.d.ts +26 -0
  49. package/dist/middleware/auth.js +1 -1
  50. package/dist/remote-desktop/computer-control.d.ts +3 -0
  51. package/dist/remote-desktop/coords.d.ts +6 -0
  52. package/dist/remote-desktop/frame-backpressure.d.ts +10 -0
  53. package/dist/remote-desktop/frame-encode.d.ts +3 -0
  54. package/dist/remote-desktop/index.js +2 -2
  55. package/dist/remote-desktop/input-dispatcher.d.ts +4 -0
  56. package/dist/remote-desktop/permission-manager.d.ts +3 -0
  57. package/dist/remote-desktop/screen-capture.d.ts +91 -0
  58. package/dist/remote-desktop/session-manager.d.ts +47 -0
  59. package/dist/remote-desktop/session-manager.js +1 -1
  60. package/dist/remote-desktop/system-backend.d.ts +64 -0
  61. package/dist/remote-desktop/types.d.ts +25 -0
  62. package/dist/remote-desktop/ui-automation.d.ts +11 -0
  63. package/dist/remote-desktop/win32-api.d.ts +10 -0
  64. package/dist/routes/acode-todos.d.ts +13 -0
  65. package/dist/routes/agent-state.d.ts +15 -0
  66. package/dist/routes/ai-sources.js +1 -1
  67. package/dist/routes/background-tasks.d.ts +18 -0
  68. package/dist/routes/background-tasks.js +2 -2
  69. package/dist/routes/bridge-temp-files.d.ts +1 -0
  70. package/dist/routes/bridge-temp-files.js +2 -0
  71. package/dist/routes/browser-listeners.d.ts +17 -0
  72. package/dist/routes/browser-sessions.d.ts +10 -0
  73. package/dist/routes/capabilities.js +1 -1
  74. package/dist/routes/dashboard-icon.d.ts +9 -0
  75. package/dist/routes/dashboard-icon.js +2 -0
  76. package/dist/routes/dashboard-theme.d.ts +24 -0
  77. package/dist/routes/dashboard-theme.js +157 -0
  78. package/dist/routes/dashboard.d.ts +9 -0
  79. package/dist/routes/dashboard.js +2021 -628
  80. package/dist/routes/debug-mount.d.ts +16 -0
  81. package/dist/routes/desktop-control.d.ts +15 -0
  82. package/dist/routes/desktop-control.js +2 -0
  83. package/dist/routes/events.d.ts +4 -0
  84. package/dist/routes/file-browser.d.ts +15 -10
  85. package/dist/routes/file-browser.js +1 -1
  86. package/dist/routes/file-change-diff.d.ts +25 -0
  87. package/dist/routes/file-diff-rollback.d.ts +28 -0
  88. package/dist/routes/file-snapshot.d.ts +7 -0
  89. package/dist/routes/git.d.ts +185 -0
  90. package/dist/routes/git.js +34 -34
  91. package/dist/routes/instance-tool-status.d.ts +5 -0
  92. package/dist/routes/instance.d.ts +8 -0
  93. package/dist/routes/instance.js +1 -1
  94. package/dist/routes/jdks.d.ts +4 -0
  95. package/dist/routes/launch.d.ts +5 -0
  96. package/dist/routes/lsp-providers.d.ts +11 -0
  97. package/dist/routes/lsp-providers.js +2 -0
  98. package/dist/routes/lsp.d.ts +41 -0
  99. package/dist/routes/lsp.js +4 -2
  100. package/dist/routes/mcp-extra.d.ts +15 -0
  101. package/dist/routes/mcp.d.ts +16 -0
  102. package/dist/routes/mcp.js +1 -1
  103. package/dist/routes/plugins.d.ts +19 -0
  104. package/dist/routes/plugins.js +1 -1
  105. package/dist/routes/processes.d.ts +4 -0
  106. package/dist/routes/properties.d.ts +4 -0
  107. package/dist/routes/pty.d.ts +29 -0
  108. package/dist/routes/runtime-binding.d.ts +3 -0
  109. package/dist/routes/sessions.d.ts +22 -0
  110. package/dist/routes/sessions.js +1 -1
  111. package/dist/routes/skills.d.ts +15 -0
  112. package/dist/routes/skills.js +1 -1
  113. package/dist/routes/sub-agents.d.ts +11 -0
  114. package/dist/routes/sub-agents.js +1 -1
  115. package/dist/routes/task-context.d.ts +5 -0
  116. package/dist/routes/tech-stack.d.ts +6 -0
  117. package/dist/routes/tech-stack.js +2 -0
  118. package/dist/routes/terminal.d.ts +122 -0
  119. package/dist/routes/terminal.js +22 -22
  120. package/dist/routes/workspace-index.d.ts +12 -0
  121. package/dist/routes/workspace-index.js +2 -0
  122. package/dist/routes/yml.d.ts +4 -0
  123. package/dist/scripts/migrate-user-scopes.d.ts +26 -0
  124. package/dist/scripts/migrate-user-scopes.js +2 -0
  125. package/dist/services/access-control.d.ts +21 -0
  126. package/dist/services/acode-bg-manager.d.ts +21 -0
  127. package/dist/services/acode-package.d.ts +10 -0
  128. package/dist/services/acode-package.js +1 -1
  129. package/dist/services/agent-capability-sync.d.ts +26 -0
  130. package/dist/services/agent-capability-sync.js +1 -1
  131. package/dist/services/agent-event-store.d.ts +20 -0
  132. package/dist/services/agent-ownership.d.ts +58 -0
  133. package/dist/services/agent-ownership.js +3 -0
  134. package/dist/services/agent-process-manager.d.ts +154 -0
  135. package/dist/services/agent-pty-manager.d.ts +39 -0
  136. package/dist/services/agent-pty-manager.js +5 -4
  137. package/dist/services/agent-startup-memory.d.ts +34 -0
  138. package/dist/services/agent-startup-memory.js +4 -4
  139. package/dist/services/ai-config-service.d.ts +26 -52
  140. package/dist/services/ai-config-service.js +1 -3
  141. package/dist/services/ai-source-apply.d.ts +7 -15
  142. package/dist/services/ai-source-apply.js +1 -1
  143. package/dist/services/auto-register.d.ts +165 -1
  144. package/dist/services/auto-register.js +1 -1
  145. package/dist/services/aws-client-agent-mcp.d.ts +14 -0
  146. package/dist/services/aws-client-agent-mcp.js +2 -2
  147. package/dist/services/bridge-package-publish-hooks.d.ts +14 -0
  148. package/dist/services/bridge-pairing.d.ts +82 -0
  149. package/dist/services/bridge-pairing.js +2 -0
  150. package/dist/services/bridge-temp-files.d.ts +65 -0
  151. package/dist/services/bridge-temp-files.js +2 -0
  152. package/dist/services/browser-session-manager.d.ts +71 -0
  153. package/dist/services/capability-config.d.ts +60 -15
  154. package/dist/services/capability-config.js +2 -2
  155. package/dist/services/change-cache-retention.d.ts +9 -0
  156. package/dist/services/changelog.d.ts +9 -0
  157. package/dist/services/cli-commands.d.ts +82 -0
  158. package/dist/services/cli-commands.js +6 -6
  159. package/dist/services/connection-key-rotation.d.ts +27 -0
  160. package/dist/services/connection-key-rotation.js +2 -0
  161. package/dist/services/debug-mount.d.ts +49 -0
  162. package/dist/services/desktop-mcp-manager.d.ts +103 -1
  163. package/dist/services/desktop-mcp-manager.js +1 -1
  164. package/dist/services/event-delta-pusher.d.ts +15 -0
  165. package/dist/services/fileSnapshotStore.d.ts +42 -0
  166. package/dist/services/fileSnapshotStore.js +1 -1
  167. package/dist/services/gitignore.d.ts +21 -0
  168. package/dist/services/gitignore.js +2 -0
  169. package/dist/services/instance-ai-config-service.d.ts +9 -0
  170. package/dist/services/instance-ai-config-service.js +1 -1
  171. package/dist/services/instance-features.d.ts +127 -0
  172. package/dist/services/instance-features.js +1 -1
  173. package/dist/services/instance-init-service.d.ts +3 -0
  174. package/dist/services/instance-init-service.js +1 -1
  175. package/dist/services/instance-state.d.ts +23 -0
  176. package/dist/services/jdk-scanner.d.ts +15 -0
  177. package/dist/services/launch-manager.d.ts +138 -0
  178. package/dist/services/launch-metrics.d.ts +42 -0
  179. package/dist/services/launch-streams.d.ts +19 -0
  180. package/dist/services/lifecycle-state.d.ts +5 -0
  181. package/dist/services/log-retention.d.ts +38 -0
  182. package/dist/services/log-retention.js +1 -1
  183. package/dist/services/lsp/install-manager.d.ts +55 -0
  184. package/dist/services/lsp/install-manager.js +2 -0
  185. package/dist/services/lsp/provider-registry.d.ts +108 -0
  186. package/dist/services/lsp/provider-registry.js +2 -0
  187. package/dist/services/lsp/uri-rewrite.d.ts +44 -0
  188. package/dist/services/lsp/uri-rewrite.js +2 -0
  189. package/dist/services/lsp-stdio-bridge.d.ts +41 -4
  190. package/dist/services/lsp-stdio-bridge.js +3 -3
  191. package/dist/services/mcp-deploy.d.ts +45 -4
  192. package/dist/services/mcp-deploy.js +4 -4
  193. package/dist/services/mcp-env-injector.d.ts +52 -0
  194. package/dist/services/mcp-launch-binding-queue.d.ts +12 -0
  195. package/dist/services/mcp-package.d.ts +22 -0
  196. package/dist/services/mcp-package.js +1 -1
  197. package/dist/services/mcp-probe-client.d.ts +19 -0
  198. package/dist/services/mcp-probe-client.js +1 -1
  199. package/dist/services/open-doc-events.d.ts +43 -0
  200. package/dist/services/open-doc-events.js +2 -0
  201. package/dist/services/open-doc-registry.d.ts +59 -0
  202. package/dist/services/open-doc-registry.js +2 -0
  203. package/dist/services/orphan-monitor.d.ts +43 -0
  204. package/dist/services/panel-auth.d.ts +24 -0
  205. package/dist/services/panel-env.d.ts +28 -0
  206. package/dist/services/plugin-deployment.d.ts +34 -1
  207. package/dist/services/plugin-deployment.js +2 -2
  208. package/dist/services/plugin-event-buffer.d.ts +21 -0
  209. package/dist/services/plugin-fs.d.ts +11 -0
  210. package/dist/services/plugin-handler-adapter.d.ts +13 -0
  211. package/dist/services/plugin-listener-runner.d.ts +10 -0
  212. package/dist/services/plugin-loader.d.ts +15 -0
  213. package/dist/services/plugin-manager.d.ts +95 -9
  214. package/dist/services/plugin-manager.js +4 -4
  215. package/dist/services/plugin-manifest.d.ts +14 -0
  216. package/dist/services/plugin-package.d.ts +13 -0
  217. package/dist/services/plugin-runtime.d.ts +15 -0
  218. package/dist/services/port-detector.d.ts +15 -0
  219. package/dist/services/process-detail.d.ts +3 -0
  220. package/dist/services/process-detector.d.ts +132 -0
  221. package/dist/services/process-registry.d.ts +120 -0
  222. package/dist/services/process-top.d.ts +6 -0
  223. package/dist/services/request-identity.d.ts +77 -0
  224. package/dist/services/request-identity.js +2 -0
  225. package/dist/services/request-invalid-dump.d.ts +4 -0
  226. package/dist/services/request-invalid-dump.js +1 -1
  227. package/dist/services/ring-buffer.d.ts +33 -0
  228. package/dist/services/runtime-binding.d.ts +56 -4
  229. package/dist/services/runtime-binding.js +4 -4
  230. package/dist/services/runtime-lifecycle-policy.d.ts +17 -0
  231. package/dist/services/runtime-resources-snapshot.d.ts +26 -0
  232. package/dist/services/runtime-resources-snapshot.js +2 -2
  233. package/dist/services/sdk-tool-file-change-recorder.d.ts +9 -0
  234. package/dist/services/session-output.d.ts +63 -0
  235. package/dist/services/session-output.js +3 -3
  236. package/dist/services/skill-manager.d.ts +42 -5
  237. package/dist/services/skill-manager.js +3 -3
  238. package/dist/services/snapshot-retention.d.ts +30 -0
  239. package/dist/services/snapshot-retention.js +2 -0
  240. package/dist/services/startup-config-wizard.d.ts +7 -1
  241. package/dist/services/startup-config-wizard.js +10 -10
  242. package/dist/services/system-metrics.d.ts +3 -0
  243. package/dist/services/tech-stack-scanner.d.ts +43 -0
  244. package/dist/services/tech-stack-scanner.js +2 -0
  245. package/dist/services/terminal-persistence.d.ts +43 -0
  246. package/dist/services/tool-installer.d.ts +12 -0
  247. package/dist/services/tunnel-client.d.ts +99 -2
  248. package/dist/services/tunnel-client.js +1 -1
  249. package/dist/services/update-log.d.ts +6 -0
  250. package/dist/services/update-notifier.d.ts +17 -0
  251. package/dist/services/update-notifier.js +2 -2
  252. package/dist/services/user-scope.d.ts +115 -0
  253. package/dist/services/user-scope.js +2 -0
  254. package/dist/services/windows-service-manager.d.ts +12 -0
  255. package/dist/services/workspace-files.d.ts +64 -0
  256. package/dist/services/workspace-index/index-manager.d.ts +46 -0
  257. package/dist/services/workspace-index/index-manager.js +2 -0
  258. package/dist/services/workspace-index/indexer.d.ts +15 -0
  259. package/dist/services/workspace-index/indexer.js +2 -0
  260. package/dist/services/workspace-index/query.d.ts +74 -0
  261. package/dist/services/workspace-index/query.js +5 -0
  262. package/dist/services/workspace-index/resolver.d.ts +26 -0
  263. package/dist/services/workspace-index/resolver.js +2 -0
  264. package/dist/services/workspace-index/types.d.ts +89 -0
  265. package/dist/services/workspace-index/types.js +2 -0
  266. package/dist/services/workspace-watch.d.ts +4 -0
  267. package/dist/services/workspaceTaskChangeWatcher.d.ts +49 -0
  268. package/dist/services/workspaceTaskChangeWatcher.js +2 -2
  269. package/dist/types.d.ts +9 -0
  270. package/dist/utils/config-write-queue.d.ts +11 -0
  271. package/dist/utils/env-safety.d.ts +21 -0
  272. package/dist/utils/file-utils.d.ts +15 -0
  273. package/dist/utils/instance-ai-config-debug-logger.d.ts +15 -0
  274. package/dist/utils/lifecycle-log.d.ts +5 -0
  275. package/dist/utils/logger.d.ts +13 -0
  276. package/dist/utils/logger.js +2 -1
  277. package/dist/utils/npm-version.d.ts +10 -0
  278. package/dist/utils/path-utils.d.ts +12 -0
  279. package/dist/utils/scheduler-url.d.ts +18 -0
  280. package/dist/utils/scheduler-url.js +2 -0
  281. package/dist/utils/sdk-package-loader.d.ts +13 -0
  282. package/dist/utils/sdk-package-loader.js +1 -1
  283. package/dist/utils/target-identity.d.ts +31 -0
  284. package/dist/utils/target-identity.js +2 -0
  285. package/dist/utils/validation.d.ts +17 -0
  286. package/dist/utils/yaml-utils.d.ts +48 -0
  287. package/package/acode/dist/__tests__/summary-request-helper.d.ts +12 -0
  288. package/package/acode/dist/__tests__/summary-request-helper.js +2 -0
  289. package/package/acode/dist/ask-user-question-tool.d.ts +17 -0
  290. package/package/acode/dist/await-complete-tool.d.ts +12 -0
  291. package/package/acode/dist/background-command-manager.d.ts +105 -0
  292. package/package/acode/dist/background-command-store.d.ts +27 -0
  293. package/package/acode/dist/background-command-tools.d.ts +8 -0
  294. package/package/acode/dist/background-output-ringbuffer.d.ts +15 -0
  295. package/package/acode/dist/built-in-file-tools.d.ts +65 -0
  296. package/package/acode/dist/built-in-symbols-tool.d.ts +3 -0
  297. package/package/acode/dist/builtins/commandArtifacts.d.ts +3 -0
  298. package/package/acode/dist/builtins/shellCommandPreparation.d.ts +17 -0
  299. package/package/acode/dist/builtins/shellCommandRunner.d.ts +4 -0
  300. package/package/acode/dist/builtins/shellOutputDecoder.d.ts +15 -0
  301. package/package/acode/dist/cache-control.d.ts +71 -0
  302. package/package/acode/dist/cache-control.js +2 -0
  303. package/package/acode/dist/commands/commandLoader.d.ts +3 -0
  304. package/package/acode/dist/commands/commandParser.d.ts +3 -0
  305. package/package/acode/dist/commands/commandRegistry.d.ts +3 -0
  306. package/package/acode/dist/compaction.d.ts +388 -4
  307. package/package/acode/dist/compaction.js +19 -17
  308. package/package/acode/dist/config.d.ts +3 -0
  309. package/package/acode/dist/context-overflow.d.ts +32 -0
  310. package/package/acode/dist/fs-utils.d.ts +18 -0
  311. package/package/acode/dist/hooks/hookBus.d.ts +3 -0
  312. package/package/acode/dist/image-utils.d.ts +35 -0
  313. package/package/acode/dist/index.d.ts +1 -0
  314. package/package/acode/dist/index.js +1 -1
  315. package/package/acode/dist/mcpToolNames.d.ts +32 -0
  316. package/package/acode/dist/microcompact.d.ts +110 -0
  317. package/package/acode/dist/microcompact.js +2 -0
  318. package/package/acode/dist/parsers/ast-cache.d.ts +41 -0
  319. package/package/acode/dist/parsers/file-index.d.ts +83 -0
  320. package/package/acode/dist/parsers/file-index.js +4 -0
  321. package/package/acode/dist/parsers/language-detector.d.ts +4 -0
  322. package/package/acode/dist/parsers/tree-sitter-loader.d.ts +12 -0
  323. package/package/acode/dist/parsers/types.d.ts +11 -0
  324. package/package/acode/dist/paths.d.ts +14 -0
  325. package/package/acode/dist/plugin-types.d.ts +34 -0
  326. package/package/acode/dist/read-file-state.d.ts +15 -0
  327. package/package/acode/dist/runtime-environment.d.ts +16 -0
  328. package/package/acode/dist/runtime.d.ts +828 -9
  329. package/package/acode/dist/runtime.js +40 -33
  330. package/package/acode/dist/skill-tool.d.ts +20 -0
  331. package/package/acode/dist/sub-agent-manager.d.ts +169 -0
  332. package/package/acode/dist/sub-agent-manager.js +1 -1
  333. package/package/acode/dist/sub-agent-store.d.ts +50 -0
  334. package/package/acode/dist/sub-agent-tools.d.ts +15 -0
  335. package/package/acode/dist/sub-agent-types.d.ts +13 -0
  336. package/package/acode/dist/terminal-tool.d.ts +15 -0
  337. package/package/acode/dist/terminal-types.d.ts +10 -0
  338. package/package/acode/dist/todo-store.d.ts +15 -0
  339. package/package/acode/dist/token-estimator.d.ts +32 -0
  340. package/package/acode/dist/token-estimator.js +2 -0
  341. package/package/acode/dist/tool-allocation.d.ts +113 -0
  342. package/package/acode/dist/tool-concurrency/index.d.ts +8 -0
  343. package/package/acode/dist/tool-concurrency/observability.d.ts +32 -0
  344. package/package/acode/dist/tool-concurrency/resource-lock.d.ts +30 -0
  345. package/package/acode/dist/tool-concurrency/scheduler.d.ts +19 -0
  346. package/package/acode/dist/tool-concurrency/types.d.ts +57 -0
  347. package/package/acode/dist/tool-group-manager.d.ts +195 -0
  348. package/package/acode/dist/tool-group-manager.js +4 -4
  349. package/package/acode/dist/types.d.ts +192 -0
  350. package/package/aws-client-agent-mcp/README.md +130 -215
  351. package/package/aws-client-agent-mcp/dist/ability-market-tools.d.ts +57 -0
  352. package/package/aws-client-agent-mcp/dist/ability-market-tools.js +1 -1
  353. package/package/aws-client-agent-mcp/dist/agent-client.d.ts +290 -3
  354. package/package/aws-client-agent-mcp/dist/agent-client.js +1 -1
  355. package/package/aws-client-agent-mcp/dist/config.d.ts +18 -0
  356. package/package/aws-client-agent-mcp/dist/constants.d.ts +2 -0
  357. package/package/aws-client-agent-mcp/dist/context-manager.d.ts +70 -0
  358. package/package/aws-client-agent-mcp/dist/http-client.d.ts +61 -0
  359. package/package/aws-client-agent-mcp/dist/index.d.ts +10 -0
  360. package/package/aws-client-agent-mcp/dist/logger.d.ts +24 -0
  361. package/package/aws-client-agent-mcp/dist/mcp-server.d.ts +610 -0
  362. package/package/aws-client-agent-mcp/dist/mcp-server.js +25 -23
  363. package/package/aws-client-agent-mcp/dist/mcp-tools.d.ts +158 -0
  364. package/package/aws-client-agent-mcp/dist/mcp-tools.js +38 -22
  365. package/package/aws-client-agent-mcp/dist/memory-store.d.ts +102 -2
  366. package/package/aws-client-agent-mcp/dist/memory-store.js +27 -2
  367. package/package/aws-client-agent-mcp/dist/memory-tools.d.ts +18 -0
  368. package/package/aws-client-agent-mcp/dist/memory-tools.js +13 -9
  369. package/package/aws-client-agent-mcp/dist/message-buffer.d.ts +86 -0
  370. package/package/aws-client-agent-mcp/dist/messageContent.d.ts +24 -0
  371. package/package/aws-client-agent-mcp/dist/office/office-equation.d.ts +19 -0
  372. package/package/aws-client-agent-mcp/dist/office/office-image.d.ts +18 -0
  373. package/package/aws-client-agent-mcp/dist/office/office-workspace.d.ts +29 -0
  374. package/package/aws-client-agent-mcp/dist/parent-lifecycle.d.ts +18 -0
  375. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.d.ts +6 -0
  376. package/package/aws-client-agent-mcp/dist/server-memory-store.d.ts +5 -1
  377. package/package/aws-client-agent-mcp/dist/server-memory-store.js +1 -1
  378. package/package/aws-client-agent-mcp/dist/status-reporter.d.ts +41 -0
  379. package/package/aws-client-agent-mcp/dist/tool-groups.d.ts +136 -0
  380. package/package/aws-client-agent-mcp/dist/types.d.ts +174 -0
  381. package/package/aws-client-agent-mcp/dist/watchdog.d.ts +7 -0
  382. package/package/aws-client-agent-mcp/dist/websocket-client.d.ts +108 -0
  383. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,320 @@ files 白名单),供调度中心「查看本次更新内容」弹窗按 `##
5
5
  展示。发布新版本时须在仓库中先写好 `## v<version>` 段(prepack-guard 校验缺段
6
6
  即阻断发布);Bridge 自更新成功后的运行时追加仅作为包内缺段时的兜底。
7
7
 
8
+ ## v1.9.179
9
+
10
+ _发布日期:2026-10-27_
11
+
12
+ ### 修复:注册成功后立刻拆掉自己的隧道并退出进程
13
+
14
+ 现象:日志依次出现「隧道客户端已启动」→「目标已不在配置中,停止旧隧道」→
15
+ 「未捕获异常: {}」→ 优雅关闭 → 注销实例。机器明明注册成功却连不上。
16
+
17
+ 三个叠加缺陷:
18
+
19
+ 1. **`instanceId` 预声明用了对象展开重绑定**(`config = {...config, instanceId}`)。
20
+ `autoRegisterAll` 用同一个 `config` 对象数组构造隧道「保留集」,重绑定后外层
21
+ 仍持有旧对象,后续补上的 `credentialId` 传不出去。
22
+ 2. **`credentialId` 同样只改了局部变量**。于是一边按 `credentialId` 启动隧道、
23
+ 一边按 `userKey 指纹` 计算保留集,键不一致 → 刚建的隧道被判定为「已不在配置
24
+ 中」而拆除。两处均改为原地写回。
25
+ 3. **`teardownConnection` 先 `removeAllListeners()` 再 `close()`**。对仍在
26
+ `CONNECTING` 的 socket 调 `close()`,`ws` 会异步 emit `'error'`
27
+ ("WebSocket was closed before the connection was established");此时已无任何
28
+ error 监听,EventEmitter 把它抛成未捕获异常 → 进程级 `uncaughtException` →
29
+ 整个 bridge 优雅关闭。现在保留一个忽略用的 `error` 监听。
30
+
31
+ ### 修复:未捕获异常日志只打印 `{}`
32
+
33
+ `Error` 的 `message` / `stack` 是非可枚举属性,`JSON.stringify(error)` 只得到
34
+ `"{}"`,此前根本看不出崩溃原因。日志格式化现在显式展开
35
+ `name [code]: message` 与 `stack`。
36
+
37
+ ### 代码质量:lint 全量清零
38
+
39
+ `npm run lint`(`eslint src --max-warnings 0`)从 89 error / 34 warning 降到 0 / 0:
40
+ 清理未使用导入与变量、修正 `import/order` 与重复导入;测试文件中的非空断言
41
+ (`!`)按惯例在 eslint 配置里对 `**/*.test.ts` 放宽,避免为消除告警引入无意义判空。
42
+
43
+ ## v1.9.178
44
+
45
+ _发布日期:2026-10-27_
46
+
47
+ ### 目标身份升级为 `credentialId`:轮换 Key 不再断链
48
+
49
+ 上一版用 `serverUrl + userKey 指纹` 作目标身份,解决了同址多账号并行;但**轮换
50
+ API Key 会改变指纹**,导致 runtime token、隧道、注册状态、instanceId 全部重新开始
51
+ (表现为换 Key 后 agent 找不到实例)。本版把身份锚点换成服务端下发的稳定凭据 ID:
52
+
53
+ - `config.json` 的 target 新增 `credentialId` / `credentialType`,注册成功时由
54
+ 服务端回填并持久化(与 instanceId 同一条回写路径)。
55
+ - `targetKeyOfConfig` 改为 `buildTargetKey(serverUrl, credentialId ?? userKey)`:
56
+ 有 credentialId 时身份不随 Key 变化;旧配置无该字段时仍回退 userKey 指纹,平滑迁移。
57
+ - runtime token 存储、隧道槽位、注册重试、instanceId 反查统一用
58
+ `identityKeyOfConfig(config)`(credentialId 优先)。
59
+ - **删除隧道鉴权的 userKey 兜底**:此前取不到 runtime token 时会把 userKey 当
60
+ token 发出去,服务端只认 hash 匹配必然 401,却掩盖了「未注册/注册失败」的真实
61
+ 原因。现在明确报错并提示重新注册。
62
+
63
+ ### 同一调度中心地址支持多账号/多租户并行注册
64
+
65
+ (承接 v1.9.177)身份模型继续保证:同一 `serverUrl` 下不同凭据各自独立隧道、
66
+ 独立 runtime token、独立 instanceId,互不覆盖。
67
+
68
+ ## v1.9.177
69
+
70
+ _发布日期:2026-10-26_
71
+
72
+ ### 同一调度中心地址支持多账号/多租户并行注册
73
+
74
+ 同一用户加入多个组织(租户)时,同一台机器往往需要连接**同一个调度中心地址**、
75
+ 但使用**不同的 API Key** 各自注册一个实例。此前桥内以归一化 `serverUrl` 作为唯一
76
+ 身份键,同址两行会互相覆盖(隧道被拆、runtime token 串用、instanceId 写乱),
77
+ 面板因此直接拒绝保存第二行。
78
+
79
+ 本次把桥内身份模型从「地址」升级为「目标身份」= `归一化 serverUrl + userKey 指纹`:
80
+
81
+ - 新增 `utils/target-identity`:`buildTargetKey(serverUrl, userKey)`,形如
82
+ `http://host:port#a1b2c3d4`(sha256 前 8 位,不落明文;可读、可作 properties 键)。
83
+ 地址归一化(尾斜杠/协议大小写/`ws→http`/`localhost→127.0.0.1`/重复端口)抽到
84
+ `utils/scheduler-url`,由 `config`、`runtime-binding`、`target-identity` 共用一份实现。
85
+ - **runtime token 存储**:`runtime-tokens.properties` 的键由 `md5(serverUrl)` 改为
86
+ 目标身份键,同址多账号各存各的 token。旧键自动兼容读取;未指定 `userKey` 且该地址
87
+ 只有一个身份时仍可命中(单目标老调用点无需改动),多身份时必须显式指定,避免串用
88
+ 别的账号 token 造成「注册成功但回调 401」。新增 `listScopedRuntimeAccessTokens`。
89
+ - **隧道**:`tunnels` Map 改按目标身份键控;同址不同账号各自一条隧道并存。
90
+ 新增 `stopTunnelClientForTarget(serverUrl, userKey)` 精确停止单个身份;
91
+ `stopTunnelClientsExcept` 改为接收身份键集合;`stopTunnelClientForServer` 保留,
92
+ 语义改为「停该地址下所有账号」。
93
+ - **注册状态**:`registrationState.registrations` 键改为目标身份键,instanceId 互不覆盖;
94
+ 新增 `resolveInstanceIdForTarget`。注销只清理本身份的 token/隧道/记录,其余身份保持注册。
95
+ - **instanceId 回写**:只回写与本次注册身份匹配的那一行(此前按地址会把所有同址行写成
96
+ 同一个 instanceId)。
97
+ - **注册重试**:后台重试定时器按身份键去重,同址两个账号各自独立重试。
98
+ - **面板去重规则**:由「同址即重复」改为「同址 + 同一 API Key」才是重复;同址不同 Key
99
+ 属合法配置。去重校验移到「继承原配置」之后,因为编辑行留空 userKey 时真实身份要等
100
+ 继承完成才确定。
101
+ - **面板交互**:列表每行显示 API Key 掩码与租户 ID,便于区分同址多行;编辑行新增
102
+ `originalTargetKey` 精确指代被编辑的那一行(同址多行时仅靠地址无法定位),两行都留空
103
+ userKey 时按写入顺序逐条认领旧身份继承。
104
+ - **目标解析**:`resolveSchedulerBaseUrlFrom` 返回值新增 `userKey`;歧义判定改用
105
+ 「目标身份数量」而非「去重后 URL 数量」——否则同址多账号会被误判为单目标而静默选中
106
+ 其中一个账号。新增 `resolveTargetIdentityFromToken` 按 token 反查身份(含地址与
107
+ userKey),供入站回调确定该用哪个账号的凭据。
108
+
109
+ > **兼容**:单地址单账号的既有配置行为不变;旧 token 文件(md5 键)继续可读。
110
+ > 无需改动 `config.json`。
111
+
112
+ ## v1.9.176
113
+
114
+ _发布日期:2026-10-25_
115
+
116
+ ### 工作区代码导航:语言服务 + 语法索引兜底
117
+
118
+ - `/ws/lsp` 从「仅 TypeScript 单进程」升级为多语言模型:按
119
+ `工作区 + provider + clientId` 隔离进程,同一会话内跨文件复用;不同浏览器
120
+ 标签/面板使用不同 `clientId`(tsserver、pyright 都不支持多客户端共享文档状态)。
121
+ 进程池设并发上限(`AWS_LSP_MAX_PROCESSES`,默认 6)并按最久未用淘汰,断连后
122
+ 保活 60s 供快速重连复用。
123
+ - 新增 provider 注册表(`services/lsp/provider-registry`),覆盖 15 个语言服务:
124
+ TypeScript/JavaScript、Vue、Python、JSON、CSS、HTML、YAML、Bash、Dockerfile、
125
+ PHP、Java、Go、Rust、clangd、C#、Ruby。按扩展名推断 provider,统一
126
+ `languageId` 归并与启动参数拼装;新增 `services/lsp/uri-rewrite` 处理客户端与
127
+ 服务端路径形态差异(Windows 盘符大小写、`file://` 编码)。
128
+ - 新增 `GET /runtime/lsp/providers`、`POST .../install`、`POST .../uninstall`、
129
+ `GET .../task/:id`、`GET /runtime/lsp/processes`:npm provider 按需安装到
130
+ `.aws-bridge/lsp-servers`,安装进度可轮询,进程列表供排障。
131
+ - 新增工作区语法索引(`services/workspace-index`):以 tree-sitter 抽取声明与
132
+ 导入,覆盖 12 种语言(TypeScript/JavaScript、Python、Go、Rust、Java、C、C++、
133
+ Ruby、PHP、Lua、Bash),提供定义/引用/符号/大纲查询。LSP 不可用时前端回退到
134
+ 该索引,不因语言服务缺失而失去跳转能力。端点挂在
135
+ `/api/workspace-index/{status,build,query,drop}`,索引随工作区切换释放。
136
+
137
+ > **兼容**:旧前端只带 `file`/`language`(无 `provider`/`clientId`)时按扩展名
138
+ > 推断 provider、`clientId` 视为 `default`,行为与历史版本一致。
139
+
140
+ ### 桌面控制人工治理:急停与动作审计
141
+
142
+ - 新增 `POST /runtime/desktop-control/:agentId/pause`(急停/恢复)与
143
+ `GET .../state`(控制状态 + 最近动作审计)。急停后所有 `desktop_*` 工具
144
+ 一律拒绝(含读类),并产生 `rejected` 事件而非静默失败。
145
+ - 动作事件流:`desktop_*` 调用映射为 `started`/`done`/`error`/`rejected`
146
+ 四态事件,按 agent 维护 100 条环形审计缓冲,经远程桌面 WS 实时推送,
147
+ 每个 agent 独立自增 `seq` 供前端排序与去重。
148
+ - **坐标陈旧性校验**:截图成功后记录「坐标依据」(截图文件 + 时刻 + 可重放参数);
149
+ 带坐标的动作执行前,若依据超过 `AWS_DESKTOP_STALE_WARN_MS`(默认 60s),
150
+ 用记忆参数重截一次并做内容比对——画面已变则在结果尾部追加警告(不阻断,
151
+ LLM 读到后自行重截),未变则静默刷新依据时刻。5s 内结果缓存,连续动作不重复校验;
152
+ sharp 不可用/截屏失败时退化为时间戳警告(安全方向)。
153
+ - 状态为进程级内存态:Bridge 重启即自动解除急停(重启本身会终止桌面 MCP,
154
+ 等效急停,无需持久化)。
155
+
156
+ ### 桌面安装包 sidecar 模式
157
+
158
+ - 新增 `AWS_BRIDGE_APP_MODE=desktop` 与 `AWS_BRIDGE_LISTEN_HOST`:桌面态只监听
159
+ 回环,不暴露局域网;未显式配置注册地址时默认走隧道(回环地址对外不可达)。
160
+ - 端口探测改为「探测形态 = listen 形态」:指定 host 时只探测该 host,避免把
161
+ 「别的进程占了通配、但 127.0.0.1 仍可绑定」误判为冲突导致端口无谓顺延。
162
+ - 未设置这两个变量时行为与既有一致(通配绑定、服务器部署语义不变)。
163
+
164
+ ### Bridge 面板
165
+
166
+ - 面板 HTML 拆分为独立模块(`routes/dashboard-theme`、`routes/dashboard-icon`),
167
+ 主题令牌与图标不再内联在巨型模板字符串里,便于维护与复用。
168
+
169
+ ### 子 Agent 与工具组
170
+
171
+ - `SubAgentManager` 等待结果时,store 查询失败不再让该项从结果中静默消失:
172
+ 超时后按 `settled` 集合补报未终态项,避免「部分子 agent 结果莫名丢失」。
173
+ - 工具组:新增命名分组与 `tools/list` 名称对齐校验(`named-group-tool-names-alignment`),
174
+ 防止分组配置与实际暴露的工具名漂移。
175
+ - `aws-client-agent-mcp` 补齐邮箱工具组(`send_email`/`list_emails`/`read_email`/
176
+ `reply_email`/`ack_email`)与 `list_project_members` 的转发分支,全部经
177
+ `callAgentScopedTool` 注入 agentId(防越权)。
178
+
179
+ ### 发布链路修复
180
+
181
+ - **修复 `npm publish` 被自身守卫误拦**:`verify-dist-minified` 原先用
182
+ `code.includes("/**")` 判断「未混淆」。但本仓库把 HTML/CSS/内联脚本放在模板
183
+ 字符串里(`DASHBOARD_HTML`、`THEME_CSS`),压缩后字符串内的 `/** ... */`
184
+ 会原样保留(那是要发给浏览器的页面源码,不是 JSDoc),导致
185
+ `dist/routes/dashboard.js` 被误判并直接阻断发布。
186
+ 新增 `scripts/source-comments.mjs`,基于 TypeScript AST + 字面量区间排除
187
+ 判定「代码区注释」;`minify-dist.mjs` 的 .d.ts 注释剥离同步切到同一口径,
188
+ 避免「剥干净了却仍被判为脏」。守卫对真实未压缩文件仍然拦截(已验证)。
189
+
190
+ > **验证**:`npm run typecheck` 与 `npm test` 通过(137 files、1915 passed、
191
+ > 3 skipped);`npm pack` 端到端通过(780 files / 6.6MB,postpack 正确还原)。
192
+ > 新增/覆盖 `workspace-index`、`provider-registry`、`uri-rewrite`、`lsp`、
193
+ > `desktop-control`、`desktop-staleness`、`desktop-mode`、`sub-agent-manager`、
194
+ > `named-group-tool-names-alignment`、`mcp-tools` 等用例。
195
+
196
+ ## v1.9.175
197
+
198
+ _发布日期:2026-10-23_
199
+
200
+ ### 技术栈自动识别:扫描工作区生成启动项候选
201
+
202
+ - 新增端点 `POST /runtime/tech-stack/scan`(body `{ workspacePath }`):只读扫描
203
+ 工作区标记文件,返回可直接创建的启动项候选(名称/类型/命令/工作目录/依据)。
204
+ - 识别范围:`pom.xml`/`build.gradle(.kts)`(Spring Boot 走 `spring-boot:run`/`bootRun`,
205
+ 有 wrapper 优先 `mvnw`/`gradlew`)、`package.json`(按 `pnpm-lock.yaml`/`yarn.lock`/
206
+ `bun.lockb` 推断包管理器,脚本按 dev>develop>serve>start 取)、`manage.py`、
207
+ `pyproject.toml`/`requirements.txt`(FastAPI 出 `uvicorn main:app --reload`,
208
+ uv/poetry 项目自动加 `uv run`/`poetry run` 前缀)、`go.mod`(根 `main.go` 出
209
+ `go run .`,否则展开 `cmd/*/main.go`)、`composer.json`(Laravel `php artisan serve`、
210
+ Symfony `php -S localhost:8000 -t public`),以及 `Cargo.toml`/`deno.json`/
211
+ `docker-compose.yml` 兜底为 generic。
212
+ - 遍历全层级且尊重 `.gitignore`(规则引擎抽到 `services/gitignore.ts`,与文件浏览器
213
+ 目录树共用同一实现);依赖/构建/版本库目录(`node_modules`/`target`/`dist`/
214
+ `.venv`/`.git` 等)恒跳过。目录预算 4000,超限返回 `truncated` 并保留已识别结果。
215
+ - 命中标记文件才读内容,单文件读取上限 64KB;候选 id 为「相对目录+技术栈+命令」
216
+ 的稳定哈希,重复扫描结果一致。
217
+
218
+ > **验证**:bridge `npm run typecheck` 通过;新增 `tech-stack-scanner.test.ts`
219
+ > (16 passed)覆盖 Spring Boot/wrapper 平台分支、Maven 回退、Node 包管理器推断、
220
+ > monorepo 子包、Django/FastAPI/uv 前缀、Go 单入口与 `cmd/*` 展开、Laravel/Symfony、
221
+ > Cargo 可运行 crate 判定与 lib crate 排除、compose 兜底、.gitignore 排除、
222
+ > 同目录多栈、id 稳定性。
223
+
224
+ ### Git 提交历史分页与快照保留策略
225
+
226
+ - `POST /runtime/git/commits` 支持 `skip`/`limit` 分页:新增 `resolveCommitPageLimit`
227
+ / `resolveCommitPageSkip` / `sliceCommitPage`,一次抓取多取一条用于判定 `hasMore`,
228
+ 避免整段历史一次性返回;保留不传 `skip` 的旧单页响应形状。
229
+ - 全分支图按 `--branches --remotes --tags` 收敛引用范围,内部引用(如 cline
230
+ checkpoint)不再混入提交图;detached HEAD 通过显式 revision 保留。
231
+ - 新增工作区快照保留策略(`snapshot-retention`):默认不清理,面板下发保留天数后
232
+ 按 mtime 删除过期快照;与 change-cache 复用同一节流(写缓存时 1h + 24h 兜底扫描),
233
+ 配置变更立即执行一次。面板显式下发的值不会被迟到的 `config.json` 覆盖。
234
+
235
+ ### 终端与隧道稳定性
236
+
237
+ - 隧道请求体分帧:请求体超过单帧上限(2MB WS 文本帧)时,server 改为 `req` 头帧
238
+ + `reqchunk` 数据帧 + `reqend` 收尾,bridge 侧按 id 归集拼装后转发本地服务;
239
+ 半包请求带 5 分钟空闲超时,连接断开时清理残留缓冲。
240
+ - 终端 SDK 作答/取消:新增取消作答链路(含可选原因),与回答共用幂等与回执;
241
+ `compaction_summary` 走独立推送通道,不进 `sdkOutputQueueBySession` 串行队列,
242
+ 摘要流与主输出流互不阻塞。
243
+ - 修复时间线重复卡片:仅刷新用量的 `status-change`(`iteration_usage` 等)不再
244
+ 重放上一次 `ai_request` 动作;抽为 `isUsageOnlyStatusChange` 便于单测覆盖。
245
+ - 终端「等待输入」判定抽到 `lastOutputLine` + `listWaitingForInput`:只取输出末行
246
+ 做启发式匹配,纯读不消费输出游标,供压缩后重建资源快照给出「哪些终端卡在提示符上」。
247
+
248
+ ### Bridge 面板
249
+
250
+ - 仪表盘时间统一按面板当前语言(中/英)与浏览器本地时区渲染,修复切换语言后
251
+ 日期仍按系统语言、以及直接切 ISO 字符串导致显示 UTC 挂钟值的问题。
252
+ - 自更新前增加确认弹窗,明确「更新会重启 Bridge、运行中的实例会停止、进行中的
253
+ 任务会中断」。
254
+
255
+ > **验证**:`npm run typecheck` 与 `npm test` 通过(130 files、1827 passed、
256
+ > 6 skipped);`git-commits-page.test.ts`(4 passed)、`tech-stack.test.ts`、
257
+ > `snapshot-retention.test.ts`、`tunnel-client.test.ts`、`terminal.sdk-answer.test.ts`
258
+ > 均通过。
259
+
260
+ ## v1.9.174
261
+
262
+ _发布日期:2026-10-21_
263
+
264
+ ### 私信附件「存到对方机器」:bridge 临时文件通道
265
+
266
+ - 新增 bridge 临时文件通道:上传的文件直接落到**接收方实例所在机器**的
267
+ `<系统临时目录>/aw-temp/ATT/YYYYMMDD/{uuid}{扩展名}`,服务端不落盘,
268
+ 按天归档并在写入时顺带清理超过 7 天的旧目录。
269
+ - 新增端点:`POST /api/bridge-temp-files/upload`(multipart 上传)、
270
+ `POST /api/bridge-temp-files/read`(按绝对路径读回字节)、
271
+ `POST /api/bridge-temp-files/delete`(删除临时文件)。
272
+ - 落盘文件名用 uuid 而非原始文件名(原始名只回传展示,规避文件名注入);
273
+ 扩展名由原始名清洗而来,保留原扩展名便于 agent 判断读取方式。
274
+ - 回传路径统一为正斜杠:Windows 的 `path.resolve` 接受正斜杠,跨平台一致,
275
+ 且正文标记进 JSON 载荷时不会被反斜杠转义弄乱。
276
+ - 修正 multipart 文件名在部分代理链路被 latin1 解读导致的中文乱码
277
+ (与工作区上传同一口径)。
278
+ - 读/删接口做路径越界校验:只允许访问 `aw-temp/ATT` 目录树内的文件,
279
+ 越界与不存在统一返回 404,不向调用方泄露目录结构。
280
+ - 上传超限(>512MB)返回 413 与明确错误码,不落成 HTML 500。
281
+
282
+ > **验证**:bridge `npm run typecheck` 通过;新增 `bridge-temp-files.test.ts`
283
+ > (10 passed)覆盖上传落盘/扩展名保留/读回/越界 404/删除/正斜杠跨平台往返。
284
+ ## v1.9.173
285
+
286
+ _发布日期:2026-10-21_
287
+
288
+ ### 上下文压缩后补齐「运行时资源事实」,修复命令失忆
289
+
290
+ - 压缩后重建的运行时资源快照新增「当前打开的文档」一类:画布(pencil)、
291
+ 绘图(draw)、Office 文档各自登记**面板当前开着的那一份**。此前快照只列
292
+ 「存在哪些文档」,压缩后 agent 不知道用户正看着哪份文档,容易重复 open
293
+ 或对着已被取代的版本继续改。
294
+ - 打开状态由 bridge 侧按 agentId 维护(`open-doc-registry`):依据工具调用流
295
+ 登记 / 清除,随会话结束清理;识别直调与收纳态 `call_tool` 中转两种形态。
296
+ - 终端快照补「waiting for input」状态:停在 ssh 密码提示等交互提示上的会话
297
+ 单独标出(判定只取输出末行,历史输出里的旧提示符不误判)。
298
+ - 浏览器条目补 `browserId`:同 agent 可有多个独立 chromium 实例,缺 id 时
299
+ agent 无法分辨「已开的那一个」。
300
+ - 修复两条漏掉重建快照的路径:`resetContext`(对话还原到启动基线但真实资源
301
+ 并未消失)与休眠恢复 `importTranscript`(预压缩同样会丢弃资源事实)。
302
+
303
+ - 修复「面板事件顺序与真实运行态相悖」:LLM 同一轮声明 `poll_message` + 兄弟工具
304
+ (如 `get_profile`)时,`call_tool` 事件原在**准备阶段**按声明序发出,但 blocking
305
+ 工具会被调度器排到**批尾串行**执行 —— 于是 poll_message 的「调用中」卡片先落库、
306
+ 实际先跑完的兄弟工具后落库,面板最后一条停在 `get_profile`,而 agent 正阻塞在
307
+ poll_message。现改为「工具真正开始执行时」才发 `call_tool`,事件顺序即真实执行顺序。
308
+ - poll_message 阻塞期间新增**面板事件矫正**:以 runtime 内部的阻塞型调用计数
309
+ (`hasActiveBlockingToolCall`,经 bridge `GET /runtime/sessions/:agentId/current-action`
310
+ 暴露)为权威判据。该判据是运行时事实、不经事件流派生,故不会被兄弟工具的完成
311
+ 事件覆盖;发现权威状态与本地 tag 不一致时补发一次 poll_message 事件矫正面板,
312
+ 并保留 30s 冷却避免刷屏。无法判定(查不到会话/查询失败/无阻塞调用在飞)时一律
313
+ 不矫正,宁可保持现状也不凭猜测改写面板。
314
+
315
+ > **验证**:bridge `npm run typecheck` 与 `npm test` 通过(123 files、
316
+ > 1775 passed、2 skipped);`package/acode` legacy 套件 175 passed / 0 failed、
317
+ > vitest 828 passed。事件顺序修复另行验证:`package/acode` 新增
318
+ > `call-tool-event-order.test.ts`(3 passed)、`aws-client-agent-mcp` 新增
319
+ > 面板矫正用例(mcp-server 162 passed / 0 failed)、bridge `npm test`
320
+ > 1775 passed / 0 failed。
321
+
8
322
  ## v1.9.172
9
323
 
10
324
  _发布日期:2026-10-21_
package/README.md CHANGED
@@ -2,7 +2,24 @@
2
2
 
3
3
  AgentsWorkStudio 机器实例运行时桥接服务,用于在实例上管理 Agent 运行时、终端、配置与回调通信。
4
4
 
5
- > `aws-runtime-bridge` 面向机器实例宿主机运行,需要访问本机工作区、终端、运行时配置和文件系统;不要将它作为 Docker/Compose 服务部署。Docker Compose 仅用于仓库根目录的 `aws-dashboard` 与 `aws-mcp-server` Web 服务。
5
+ > `aws-runtime-bridge` 面向机器实例宿主机运行,需要访问本机工作区、终端、运行时配置和文件系统;不要将它作为 Docker/Compose 服务部署。Docker Compose 用于仓库根目录的 `aws-dashboard`、`aws-mcp-server` 与自托管邮件服务 `james`。
6
+
7
+ ## 能力范围
8
+
9
+ Bridge 是执行机器上的能力宿主,调度中心只下发指令与配置,实际执行都在本机:
10
+
11
+ | 领域 | 能力 |
12
+ | --- | --- |
13
+ | Agent 运行时 | 启动/停止/重启自研 ACode 运行时;会话、状态、时间线、调试日志、子 Agent |
14
+ | 工作区 | 文件浏览/读写/上传下载、搜索、变更记录与 diff、快照、文件监听、忽略规则 |
15
+ | 终端 | 多 PTY 会话、断线恢复、系统指标、命令模板、后台任务 |
16
+ | Git | 状态、diff、提交图/分页、提交、重置、历史 |
17
+ | MCP / Skill / Plugin | 持久化配置、包型 MCP 解压装配、市场安装、开发期临时挂载与热重载 |
18
+ | LSP | 语言服务进程池与 WebSocket 桥接,工作区符号/定义/引用索引 |
19
+ | 浏览器 | Playwright 会话、实时画面、截图、人工接管、按 scope 持久化登录态 |
20
+ | 远程桌面 | 屏幕采集、键鼠输入、AI 操作时间线、人工互斥 |
21
+ | 启动项 | 业务程序起停、就绪探测、日志与指标 |
22
+ | 通信 | 主动注册、反向隧道、运行时 token 刷新、配置下发与能力热推 |
6
23
 
7
24
  ## 全局安装
8
25
 
@@ -76,7 +93,7 @@ If an existing runtime binding still stores an old scheduler URL such as `http:/
76
93
  `aws-runtime-bridge` 命令仍作为兼容别名保留。安装 `aws-runtime-bridge` 后,包内会随附
77
94
  `aws-client-agent-mcp` 的编译产物;bridge 启动时只负责准备该 MCP 产物,不再在 Agent 启动时默认动态注入 `aws-mcp`。
78
95
 
79
- 请在面板中为目标运行时安装/配置 MCP;这样 Claude Code、Codex、OpenCode 等 SDK 启动模式都走一致的持久化 MCP 配置链路。
96
+ 请在面板中为 ACode 运行时安装/配置 MCP,走统一的持久化 MCP 配置链路。
80
97
 
81
98
  如需使用自定义 MCP 可执行文件,可设置:
82
99
 
@@ -182,6 +199,46 @@ awsb service uninstall
182
199
 
183
200
  服务未安装或日志文件未生成时会返回明确错误提示。
184
201
 
202
+ ## 多用户隔离
203
+
204
+ Bridge 以 `(tenantId, userId)` 为命名空间隔离所有「用户配置」,与 Java 侧
205
+ `t_agent.owner_user_id` / `tenant_id` 及浏览器 `scopeKey`(`t:{tenant}:u:{user}`)对齐:
206
+
207
+ ```
208
+ {root}/.aws-bridge/
209
+ users/{tenantId}/{userId}/
210
+ ai/acode.json 每用户 AI 配置(provider/model/apiKey)
211
+ skills/deployed/{name}/ + manifest.json 每用户技能库
212
+ skills/{name}/ 每用户全局技能
213
+ mcp/deployed/{name}.json + manifest.json 每用户 MCP 库
214
+ mcp/packages/{name}/ 每用户 MCP 包
215
+ plugins/deployed/{name}/ + manifest.json 每用户插件库
216
+ capability/{skills,mcp,plugins}/config.json 每用户默认开关
217
+ capability/{skills,mcp,plugins}/agents/{agentId}.json per-agent 覆盖 + 继承
218
+ instance-runtime/{agentId}/
219
+ owner.json 实例归属(多用户解析依据)
220
+ skills/ + plugins/ 每实例链接农场
221
+ config.json + mcp-extra.json 每实例装配结果
222
+ config.json / binding.json / … 机器级配置(面板凭据、配对、访问控制)
223
+ ```
224
+
225
+ 身份契约:
226
+
227
+ - Java `RuntimeBridgeService` 在每次 bridge 调用上注入 `X-Tenant-Id` / `X-User-Id`;
228
+ `/runtime/start` 与 `/runtime/init-instance` 的 body 另带 `tenantId` + `ownerUserId`。
229
+ - Bridge 侧 `requireUserScope` 强制用户配置类路由携带身份,`requireAgentOwnership`
230
+ 校验实例归属(`owner.json`),不匹配返回 `403 agent-ownership-mismatch`。
231
+ - 实例归属在 `/runtime/start`、`/runtime/init-instance` 时登记;存量实例无 `owner.json`
232
+ 时按只读遗留层兜底(`AWS_BRIDGE_DISABLE_LEGACY_FALLBACK=1` 可关闭)。
233
+
234
+ 迁移:执行
235
+ `node dist/scripts/migrate-user-scopes.js --tenant <tenantId> --user <userId> [--dry-run] [--overwrite]`
236
+ 把原有 bridge 级共享配置一次性复制进指定用户命名空间(幂等、不删除遗留数据)。
237
+
238
+ > **版本要求**:多用户隔离需要 bridge 与 aws-mcp-server 同版本部署。旧版 Java 不带身份头时,
239
+ > 用户配置类写操作会返回 `400 user-scope-required`;迁移期可临时设
240
+ > `AWS_BRIDGE_LEGACY_SCOPE=1` 回退。
241
+
185
242
  ## 关键环境变量
186
243
 
187
244
  | 变量名 | 说明 | 默认值 |
@@ -193,5 +250,7 @@ awsb service uninstall
193
250
  | `AWS_REGISTER_IP` | 已废弃,仅做向后兼容;等同 `registerAddr` 但只接受纯 IP,端口由 `AWS_RUNTIME_BRIDGE_PORT` 决定 | 未设置时读取配置文件 |
194
251
  | `AWS_RUNTIME_HOME_DIR` | Bridge 管理配置与状态的主目录;显式设置时优先于开发/生产环境的默认主目录 | 当前用户 Home(开发态为 `<仓库根>/.dev-home`) |
195
252
  | `AWS_RUNTIME_CORS_ORIGINS` | 允许访问 bridge 的来源,逗号分隔 | 本地开发地址 |
253
+ | `AWS_BRIDGE_LEGACY_SCOPE` | 迁移期逃生门:设为 `1` 时,缺少 `(tenantId, userId)` 身份的请求回退到 `users/_legacy/_legacy` 命名空间;默认严格模式直接拒绝用户配置类写操作 | 未设置(严格) |
254
+ | `AWS_BRIDGE_DISABLE_LEGACY_FALLBACK` | 设为 `1` 关闭对遗留 `instance-template/` 层的只读回退(迁移完成后可启用) | 未设置(允许回退) |
196
255
 
197
256
  生产环境中,bridge 最终解析出的调度中心地址必须是机器实例可访问的 `aws-mcp-server` 地址,不能使用不可达的容器内 `localhost`。如果配置了多个 `autoRegisterTargets`,bridge 不会静默选择第一个目标,需通过 `AWS_RUNTIME_SCHEDULER_BASE_URL` 或后续多调度中心身份路由明确目标。