aws-runtime-bridge 1.9.79 → 1.9.81

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 (596) hide show
  1. package/dist/adapter/AcodeSdkAdapter.d.ts +0 -1
  2. package/dist/adapter/AcodeSdkAdapter.js +11 -1986
  3. package/dist/adapter/AdapterRegistry.d.ts +0 -1
  4. package/dist/adapter/AdapterRegistry.js +2 -100
  5. package/dist/adapter/ClaudeSdkAdapter.d.ts +0 -1
  6. package/dist/adapter/ClaudeSdkAdapter.js +4 -1300
  7. package/dist/adapter/CodexSdkAdapter.d.ts +0 -1
  8. package/dist/adapter/CodexSdkAdapter.js +4 -836
  9. package/dist/adapter/OpencodeSdkAdapter.d.ts +0 -1
  10. package/dist/adapter/OpencodeSdkAdapter.js +4 -879
  11. package/dist/adapter/SdkProviderSpi.d.ts +0 -1
  12. package/dist/adapter/SdkProviderSpi.js +2 -55
  13. package/dist/adapter/acode-tool-names.d.ts +0 -1
  14. package/dist/adapter/acode-tool-names.js +2 -37
  15. package/dist/adapter/idle-poll-loop.d.ts +0 -1
  16. package/dist/adapter/idle-poll-loop.js +2 -59
  17. package/dist/adapter/index.d.ts +0 -1
  18. package/dist/adapter/index.js +2 -11
  19. package/dist/adapter/instance-ai-config-resolver.d.ts +0 -1
  20. package/dist/adapter/instance-ai-config-resolver.js +2 -46
  21. package/dist/adapter/types.d.ts +0 -1
  22. package/dist/adapter/types.js +2 -443
  23. package/dist/adapters/cc-switch/common.d.ts +0 -1
  24. package/dist/adapters/cc-switch/common.js +2 -61
  25. package/dist/adapters/cc-switch/index.d.ts +0 -1
  26. package/dist/adapters/cc-switch/index.js +2 -57
  27. package/dist/adapters/cc-switch/mcp-acode.d.ts +0 -1
  28. package/dist/adapters/cc-switch/mcp-acode.js +2 -71
  29. package/dist/adapters/cc-switch/mcp-claude.d.ts +0 -1
  30. package/dist/adapters/cc-switch/mcp-claude.js +2 -89
  31. package/dist/adapters/cc-switch/mcp-claudecode.d.ts +0 -1
  32. package/dist/adapters/cc-switch/mcp-claudecode.js +2 -77
  33. package/dist/adapters/cc-switch/mcp-codex.d.ts +0 -1
  34. package/dist/adapters/cc-switch/mcp-codex.js +11 -249
  35. package/dist/adapters/cc-switch/mcp-opencode.d.ts +0 -1
  36. package/dist/adapters/cc-switch/mcp-opencode.js +2 -97
  37. package/dist/adapters/cc-switch/mcp-placeholder.d.ts +0 -1
  38. package/dist/adapters/cc-switch/mcp-placeholder.js +2 -19
  39. package/dist/adapters/cc-switch/skill-acode.d.ts +0 -1
  40. package/dist/adapters/cc-switch/skill-acode.js +2 -12
  41. package/dist/adapters/cc-switch/skill-claude.d.ts +0 -1
  42. package/dist/adapters/cc-switch/skill-claude.js +2 -11
  43. package/dist/adapters/cc-switch/skill-claudecode.d.ts +0 -1
  44. package/dist/adapters/cc-switch/skill-claudecode.js +2 -11
  45. package/dist/adapters/cc-switch/skill-codex.d.ts +0 -1
  46. package/dist/adapters/cc-switch/skill-codex.js +2 -6
  47. package/dist/adapters/cc-switch/skill-directory.d.ts +0 -1
  48. package/dist/adapters/cc-switch/skill-directory.js +3 -137
  49. package/dist/adapters/cc-switch/skill-opencode.d.ts +0 -1
  50. package/dist/adapters/cc-switch/skill-opencode.js +2 -11
  51. package/dist/adapters/cc-switch/skill-placeholder.d.ts +0 -1
  52. package/dist/adapters/cc-switch/skill-placeholder.js +2 -19
  53. package/dist/config.d.ts +0 -1
  54. package/dist/config.js +2 -290
  55. package/dist/index.d.ts +0 -1
  56. package/dist/index.js +2 -573
  57. package/dist/middleware/auth.d.ts +0 -1
  58. package/dist/middleware/auth.js +2 -98
  59. package/dist/routes/acode-todos.d.ts +0 -1
  60. package/dist/routes/acode-todos.js +2 -75
  61. package/dist/routes/ai-sources.d.ts +0 -1
  62. package/dist/routes/ai-sources.js +2 -132
  63. package/dist/routes/dashboard.d.ts +0 -1
  64. package/dist/routes/dashboard.js +182 -649
  65. package/dist/routes/events.d.ts +0 -1
  66. package/dist/routes/events.js +2 -22
  67. package/dist/routes/file-browser.d.ts +0 -1
  68. package/dist/routes/file-browser.js +2 -781
  69. package/dist/routes/file-diff-rollback.d.ts +0 -1
  70. package/dist/routes/file-diff-rollback.js +2 -301
  71. package/dist/routes/file-snapshot.d.ts +0 -1
  72. package/dist/routes/file-snapshot.js +2 -156
  73. package/dist/routes/git.d.ts +0 -1
  74. package/dist/routes/git.js +28 -1900
  75. package/dist/routes/instance.d.ts +0 -1
  76. package/dist/routes/instance.js +3 -748
  77. package/dist/routes/mcp.d.ts +0 -1
  78. package/dist/routes/mcp.js +2 -196
  79. package/dist/routes/processes.d.ts +0 -1
  80. package/dist/routes/processes.js +2 -252
  81. package/dist/routes/properties.d.ts +0 -1
  82. package/dist/routes/properties.js +2 -72
  83. package/dist/routes/pty.d.ts +0 -1
  84. package/dist/routes/pty.js +6 -560
  85. package/dist/routes/runtime-binding.d.ts +0 -1
  86. package/dist/routes/runtime-binding.js +2 -263
  87. package/dist/routes/sessions.d.ts +0 -1
  88. package/dist/routes/sessions.js +2 -758
  89. package/dist/routes/skills.d.ts +0 -1
  90. package/dist/routes/skills.js +2 -187
  91. package/dist/routes/sub-agents.d.ts +0 -1
  92. package/dist/routes/sub-agents.js +20 -279
  93. package/dist/routes/system-metrics.d.ts +0 -1
  94. package/dist/routes/system-metrics.js +2 -20
  95. package/dist/routes/task-context.d.ts +0 -1
  96. package/dist/routes/task-context.js +2 -78
  97. package/dist/routes/terminal.d.ts +0 -1
  98. package/dist/routes/terminal.js +54 -2882
  99. package/dist/routes/yml.d.ts +0 -1
  100. package/dist/routes/yml.js +2 -223
  101. package/dist/services/acode-package.d.ts +0 -1
  102. package/dist/services/acode-package.js +2 -111
  103. package/dist/services/agent-event-store.d.ts +0 -1
  104. package/dist/services/agent-event-store.js +2 -81
  105. package/dist/services/agent-process-manager.d.ts +0 -1
  106. package/dist/services/agent-process-manager.js +2 -796
  107. package/dist/services/ai-source-apply.d.ts +0 -1
  108. package/dist/services/ai-source-apply.js +2 -83
  109. package/dist/services/auto-register.d.ts +5 -1
  110. package/dist/services/auto-register.js +2 -1053
  111. package/dist/services/aws-client-agent-mcp.d.ts +0 -1
  112. package/dist/services/aws-client-agent-mcp.js +3 -337
  113. package/dist/services/bridge-package-publish-hooks.d.ts +0 -1
  114. package/dist/services/bridge-package-publish-hooks.js +2 -115
  115. package/dist/services/cc-switch-sdk.d.ts +0 -1
  116. package/dist/services/cc-switch-sdk.js +2 -135
  117. package/dist/services/cli-commands.d.ts +6 -1
  118. package/dist/services/cli-commands.js +6 -645
  119. package/dist/services/event-delta-pusher.d.ts +0 -1
  120. package/dist/services/event-delta-pusher.js +2 -95
  121. package/dist/services/fileSnapshotStore.d.ts +0 -1
  122. package/dist/services/fileSnapshotStore.js +2 -500
  123. package/dist/services/instance-ai-config-service.d.ts +0 -1
  124. package/dist/services/instance-ai-config-service.js +2 -174
  125. package/dist/services/instance-init-service.d.ts +0 -1
  126. package/dist/services/instance-init-service.js +2 -193
  127. package/dist/services/instance-service.d.ts +0 -1
  128. package/dist/services/instance-service.js +2 -237
  129. package/dist/services/instance-state.d.ts +0 -1
  130. package/dist/services/instance-state.js +2 -94
  131. package/dist/services/legacy-path-migration.d.ts +0 -1
  132. package/dist/services/legacy-path-migration.js +2 -66
  133. package/dist/services/lifecycle-state.d.ts +0 -1
  134. package/dist/services/lifecycle-state.js +3 -110
  135. package/dist/services/mcp-launch-binding-queue.d.ts +0 -1
  136. package/dist/services/mcp-launch-binding-queue.js +2 -175
  137. package/dist/services/orphan-monitor.d.ts +0 -1
  138. package/dist/services/orphan-monitor.js +2 -382
  139. package/dist/services/panel-auth.d.ts +0 -1
  140. package/dist/services/panel-auth.js +2 -168
  141. package/dist/services/process-detector.d.ts +0 -1
  142. package/dist/services/process-detector.js +18 -1019
  143. package/dist/services/process-registry.d.ts +0 -1
  144. package/dist/services/process-registry.js +2 -375
  145. package/dist/services/ring-buffer.d.ts +0 -1
  146. package/dist/services/ring-buffer.js +2 -103
  147. package/dist/services/runtime-binding.d.ts +0 -1
  148. package/dist/services/runtime-binding.js +6 -363
  149. package/dist/services/runtime-lifecycle-policy.d.ts +0 -1
  150. package/dist/services/runtime-lifecycle-policy.js +2 -35
  151. package/dist/services/session-output.d.ts +0 -1
  152. package/dist/services/session-output.js +5 -539
  153. package/dist/services/startup-config-wizard.d.ts +0 -1
  154. package/dist/services/startup-config-wizard.js +14 -258
  155. package/dist/services/sub-agent-manager-instance.d.ts +0 -1
  156. package/dist/services/sub-agent-manager-instance.js +2 -12
  157. package/dist/services/system-metrics.d.ts +0 -1
  158. package/dist/services/system-metrics.js +2 -252
  159. package/dist/services/terminal-persistence.d.ts +0 -1
  160. package/dist/services/terminal-persistence.js +2 -176
  161. package/dist/services/tool-installer.d.ts +0 -1
  162. package/dist/services/tool-installer.js +5 -751
  163. package/dist/services/tunnel-client.d.ts +0 -1
  164. package/dist/services/tunnel-client.js +2 -402
  165. package/dist/services/windows-service-manager.d.ts +3 -3
  166. package/dist/services/windows-service-manager.js +2 -59
  167. package/dist/services/workspace-files.d.ts +0 -1
  168. package/dist/services/workspace-files.js +2 -1275
  169. package/dist/services/workspace-watch.d.ts +0 -1
  170. package/dist/services/workspace-watch.js +2 -123
  171. package/dist/services/workspaceTaskChangeWatcher.d.ts +0 -1
  172. package/dist/services/workspaceTaskChangeWatcher.js +2 -483
  173. package/dist/types.d.ts +0 -1
  174. package/dist/types.js +1 -1
  175. package/dist/utils/file-utils.d.ts +0 -1
  176. package/dist/utils/file-utils.js +3 -208
  177. package/dist/utils/instance-ai-config-debug-logger.d.ts +0 -1
  178. package/dist/utils/instance-ai-config-debug-logger.js +4 -63
  179. package/dist/utils/logger.d.ts +0 -1
  180. package/dist/utils/logger.js +2 -154
  181. package/dist/utils/mcp-utils.d.ts +0 -1
  182. package/dist/utils/mcp-utils.js +2 -187
  183. package/dist/utils/path-utils.d.ts +0 -1
  184. package/dist/utils/path-utils.js +2 -44
  185. package/dist/utils/sdk-package-loader.d.ts +0 -1
  186. package/dist/utils/sdk-package-loader.js +2 -78
  187. package/dist/utils/validation.d.ts +0 -1
  188. package/dist/utils/validation.js +2 -53
  189. package/dist/utils/yaml-utils.d.ts +0 -1
  190. package/dist/utils/yaml-utils.js +2 -312
  191. package/node_modules/@cc-switch/sdk/dist/constants.d.ts +0 -1
  192. package/node_modules/@cc-switch/sdk/dist/constants.js +2 -63
  193. package/node_modules/@cc-switch/sdk/dist/errors.d.ts +0 -1
  194. package/node_modules/@cc-switch/sdk/dist/errors.js +2 -8
  195. package/node_modules/@cc-switch/sdk/dist/index.d.ts +0 -1
  196. package/node_modules/@cc-switch/sdk/dist/index.js +2 -9
  197. package/node_modules/@cc-switch/sdk/dist/schemas.d.ts +0 -1
  198. package/node_modules/@cc-switch/sdk/dist/schemas.js +2 -38
  199. package/node_modules/@cc-switch/sdk/dist/sdk.d.ts +0 -1
  200. package/node_modules/@cc-switch/sdk/dist/sdk.js +2 -470
  201. package/node_modules/@cc-switch/sdk/dist/services/ai-config-service.d.ts +0 -1
  202. package/node_modules/@cc-switch/sdk/dist/services/ai-config-service.js +4 -307
  203. package/node_modules/@cc-switch/sdk/dist/services/mcp-model.d.ts +0 -1
  204. package/node_modules/@cc-switch/sdk/dist/services/mcp-model.js +2 -37
  205. package/node_modules/@cc-switch/sdk/dist/services/mcp-service.d.ts +0 -1
  206. package/node_modules/@cc-switch/sdk/dist/services/mcp-service.js +2 -9
  207. package/node_modules/@cc-switch/sdk/dist/services/skill-model.d.ts +0 -1
  208. package/node_modules/@cc-switch/sdk/dist/services/skill-model.js +2 -41
  209. package/node_modules/@cc-switch/sdk/dist/services/skill-service.d.ts +0 -1
  210. package/node_modules/@cc-switch/sdk/dist/services/skill-service.js +2 -9
  211. package/node_modules/@cc-switch/sdk/dist/state.d.ts +0 -1
  212. package/node_modules/@cc-switch/sdk/dist/state.js +2 -19
  213. package/node_modules/@cc-switch/sdk/dist/types.d.ts +0 -1
  214. package/node_modules/@cc-switch/sdk/dist/types.js +1 -1
  215. package/node_modules/@cc-switch/sdk/dist/utils/fs.d.ts +0 -1
  216. package/node_modules/@cc-switch/sdk/dist/utils/fs.js +3 -114
  217. package/node_modules/@cc-switch/sdk/dist/utils/id.d.ts +0 -1
  218. package/node_modules/@cc-switch/sdk/dist/utils/id.js +2 -12
  219. package/node_modules/@cc-switch/sdk/package.json +1 -1
  220. package/package/acode/dist/ask-user-question-tool.d.ts +0 -1
  221. package/package/acode/dist/ask-user-question-tool.js +4 -233
  222. package/package/acode/dist/built-in-file-tools.d.ts +0 -1
  223. package/package/acode/dist/built-in-file-tools.js +4 -966
  224. package/package/acode/dist/built-in-symbols-tool.d.ts +0 -1
  225. package/package/acode/dist/built-in-symbols-tool.js +2 -117
  226. package/package/acode/dist/builtins/commandArtifacts.d.ts +0 -1
  227. package/package/acode/dist/builtins/commandArtifacts.js +9 -97
  228. package/package/acode/dist/builtins/commandOutputEvents.d.ts +0 -1
  229. package/package/acode/dist/builtins/commandOutputEvents.js +2 -56
  230. package/package/acode/dist/builtins/shellCommandPreparation.d.ts +0 -1
  231. package/package/acode/dist/builtins/shellCommandPreparation.js +5 -44
  232. package/package/acode/dist/builtins/shellCommandResult.d.ts +0 -1
  233. package/package/acode/dist/builtins/shellCommandResult.js +2 -71
  234. package/package/acode/dist/builtins/shellCommandRunner.d.ts +0 -1
  235. package/package/acode/dist/builtins/shellCommandRunner.js +2 -115
  236. package/package/acode/dist/builtins/shellOutputDecoder.d.ts +0 -1
  237. package/package/acode/dist/builtins/shellOutputDecoder.js +2 -94
  238. package/package/acode/dist/cli.d.ts +0 -1
  239. package/package/acode/dist/cli.js +4 -38
  240. package/package/acode/dist/commands/commandLoader.d.ts +0 -1
  241. package/package/acode/dist/commands/commandLoader.js +2 -33
  242. package/package/acode/dist/commands/commandParser.d.ts +0 -1
  243. package/package/acode/dist/commands/commandParser.js +3 -77
  244. package/package/acode/dist/commands/commandRegistry.d.ts +0 -1
  245. package/package/acode/dist/commands/commandRegistry.js +2 -30
  246. package/package/acode/dist/compaction.d.ts +0 -1
  247. package/package/acode/dist/compaction.js +7 -919
  248. package/package/acode/dist/config.d.ts +0 -1
  249. package/package/acode/dist/config.js +5 -105
  250. package/package/acode/dist/fs-utils.d.ts +0 -1
  251. package/package/acode/dist/fs-utils.js +2 -79
  252. package/package/acode/dist/hooks/hookBus.d.ts +0 -1
  253. package/package/acode/dist/hooks/hookBus.js +2 -40
  254. package/package/acode/dist/index.d.ts +0 -1
  255. package/package/acode/dist/index.js +2 -19
  256. package/package/acode/dist/mcpToolNames.d.ts +0 -1
  257. package/package/acode/dist/mcpToolNames.js +2 -17
  258. package/package/acode/dist/parsers/ast-cache.d.ts +0 -1
  259. package/package/acode/dist/parsers/ast-cache.js +2 -76
  260. package/package/acode/dist/parsers/language-detector.d.ts +0 -1
  261. package/package/acode/dist/parsers/language-detector.js +2 -44
  262. package/package/acode/dist/parsers/language-queries.d.ts +0 -1
  263. package/package/acode/dist/parsers/language-queries.js +12 -602
  264. package/package/acode/dist/parsers/symbol-extractor.d.ts +0 -1
  265. package/package/acode/dist/parsers/symbol-extractor.js +3 -164
  266. package/package/acode/dist/parsers/tree-sitter-loader.d.ts +0 -1
  267. package/package/acode/dist/parsers/tree-sitter-loader.js +2 -64
  268. package/package/acode/dist/parsers/types.d.ts +0 -1
  269. package/package/acode/dist/parsers/types.js +1 -7
  270. package/package/acode/dist/runtime.d.ts +0 -1
  271. package/package/acode/dist/runtime.js +86 -3771
  272. package/package/acode/dist/skill-tool.d.ts +0 -1
  273. package/package/acode/dist/skill-tool.js +5 -174
  274. package/package/acode/dist/sub-agent-manager.d.ts +0 -1
  275. package/package/acode/dist/sub-agent-manager.js +2 -1159
  276. package/package/acode/dist/sub-agent-store.d.ts +0 -1
  277. package/package/acode/dist/sub-agent-store.js +4 -236
  278. package/package/acode/dist/sub-agent-tools.d.ts +0 -1
  279. package/package/acode/dist/sub-agent-tools.js +15 -369
  280. package/package/acode/dist/sub-agent-types.d.ts +0 -1
  281. package/package/acode/dist/sub-agent-types.js +1 -8
  282. package/package/acode/dist/todo-store.d.ts +0 -1
  283. package/package/acode/dist/todo-store.js +2 -73
  284. package/package/acode/dist/todo-tool.d.ts +0 -1
  285. package/package/acode/dist/todo-tool.js +5 -121
  286. package/package/acode/dist/types.d.ts +0 -1
  287. package/package/acode/dist/types.js +1 -1
  288. package/package/acode/package.json +2 -2
  289. package/package/aws-client-agent-mcp/dist/agent-client.d.ts +0 -1
  290. package/package/aws-client-agent-mcp/dist/agent-client.js +2 -890
  291. package/package/aws-client-agent-mcp/dist/agent-client.test.d.ts +0 -1
  292. package/package/aws-client-agent-mcp/dist/agent-client.test.js +0 -1
  293. package/package/aws-client-agent-mcp/dist/config.d.ts +0 -1
  294. package/package/aws-client-agent-mcp/dist/config.js +2 -243
  295. package/package/aws-client-agent-mcp/dist/config.test.d.ts +0 -1
  296. package/package/aws-client-agent-mcp/dist/config.test.js +0 -1
  297. package/package/aws-client-agent-mcp/dist/constants.d.ts +0 -1
  298. package/package/aws-client-agent-mcp/dist/constants.js +2 -24
  299. package/package/aws-client-agent-mcp/dist/context-manager.d.ts +0 -1
  300. package/package/aws-client-agent-mcp/dist/context-manager.js +2 -477
  301. package/package/aws-client-agent-mcp/dist/context-manager.test.d.ts +0 -1
  302. package/package/aws-client-agent-mcp/dist/context-manager.test.js +0 -1
  303. package/package/aws-client-agent-mcp/dist/http-client.d.ts +0 -1
  304. package/package/aws-client-agent-mcp/dist/http-client.js +2 -446
  305. package/package/aws-client-agent-mcp/dist/http-client.test.d.ts +0 -1
  306. package/package/aws-client-agent-mcp/dist/http-client.test.js +0 -1
  307. package/package/aws-client-agent-mcp/dist/index.d.ts +0 -1
  308. package/package/aws-client-agent-mcp/dist/index.js +2 -34
  309. package/package/aws-client-agent-mcp/dist/logger.d.ts +0 -1
  310. package/package/aws-client-agent-mcp/dist/logger.js +3 -178
  311. package/package/aws-client-agent-mcp/dist/logger.test.d.ts +0 -1
  312. package/package/aws-client-agent-mcp/dist/logger.test.js +0 -1
  313. package/package/aws-client-agent-mcp/dist/mcp-server.d.ts +0 -1
  314. package/package/aws-client-agent-mcp/dist/mcp-server.js +38 -2709
  315. package/package/aws-client-agent-mcp/dist/mcp-server.test.d.ts +0 -1
  316. package/package/aws-client-agent-mcp/dist/mcp-server.test.js +0 -1
  317. package/package/aws-client-agent-mcp/dist/mcp-tools.d.ts +0 -1
  318. package/package/aws-client-agent-mcp/dist/mcp-tools.js +22 -562
  319. package/package/aws-client-agent-mcp/dist/mcp-tools.test.d.ts +0 -1
  320. package/package/aws-client-agent-mcp/dist/mcp-tools.test.js +0 -1
  321. package/package/aws-client-agent-mcp/dist/memory-store.d.ts +0 -1
  322. package/package/aws-client-agent-mcp/dist/memory-store.js +4 -826
  323. package/package/aws-client-agent-mcp/dist/memory-store.test.d.ts +0 -1
  324. package/package/aws-client-agent-mcp/dist/memory-store.test.js +0 -1
  325. package/package/aws-client-agent-mcp/dist/memory-tools.d.ts +0 -1
  326. package/package/aws-client-agent-mcp/dist/memory-tools.js +31 -294
  327. package/package/aws-client-agent-mcp/dist/message-buffer.d.ts +0 -1
  328. package/package/aws-client-agent-mcp/dist/message-buffer.js +2 -288
  329. package/package/aws-client-agent-mcp/dist/message-buffer.test.d.ts +0 -1
  330. package/package/aws-client-agent-mcp/dist/message-buffer.test.js +0 -1
  331. package/package/aws-client-agent-mcp/dist/messageContent.d.ts +0 -1
  332. package/package/aws-client-agent-mcp/dist/messageContent.js +2 -125
  333. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.d.ts +0 -1
  334. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.js +2 -103
  335. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.test.d.ts +0 -1
  336. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.test.js +0 -1
  337. package/package/aws-client-agent-mcp/dist/server-memory-store.d.ts +0 -1
  338. package/package/aws-client-agent-mcp/dist/server-memory-store.js +2 -96
  339. package/package/aws-client-agent-mcp/dist/status-reporter.d.ts +0 -1
  340. package/package/aws-client-agent-mcp/dist/status-reporter.js +3 -327
  341. package/package/aws-client-agent-mcp/dist/status-reporter.test.d.ts +0 -1
  342. package/package/aws-client-agent-mcp/dist/status-reporter.test.js +0 -1
  343. package/package/aws-client-agent-mcp/dist/types.d.ts +0 -1
  344. package/package/aws-client-agent-mcp/dist/types.js +2 -9
  345. package/package/aws-client-agent-mcp/dist/websocket-client.d.ts +0 -1
  346. package/package/aws-client-agent-mcp/dist/websocket-client.js +2 -677
  347. package/package/aws-client-agent-mcp/dist/websocket-client.test.d.ts +0 -1
  348. package/package/aws-client-agent-mcp/dist/websocket-client.test.js +0 -1
  349. package/package/aws-client-agent-mcp/package.json +1 -1
  350. package/package/cc-switch-sdk/dist/constants.d.ts +0 -1
  351. package/package/cc-switch-sdk/dist/constants.js +2 -63
  352. package/package/cc-switch-sdk/dist/errors.d.ts +0 -1
  353. package/package/cc-switch-sdk/dist/errors.js +2 -8
  354. package/package/cc-switch-sdk/dist/index.d.ts +0 -1
  355. package/package/cc-switch-sdk/dist/index.js +2 -9
  356. package/package/cc-switch-sdk/dist/schemas.d.ts +0 -1
  357. package/package/cc-switch-sdk/dist/schemas.js +2 -38
  358. package/package/cc-switch-sdk/dist/sdk.d.ts +0 -1
  359. package/package/cc-switch-sdk/dist/sdk.js +2 -470
  360. package/package/cc-switch-sdk/dist/services/ai-config-service.d.ts +0 -1
  361. package/package/cc-switch-sdk/dist/services/ai-config-service.js +4 -307
  362. package/package/cc-switch-sdk/dist/services/mcp-model.d.ts +0 -1
  363. package/package/cc-switch-sdk/dist/services/mcp-model.js +2 -37
  364. package/package/cc-switch-sdk/dist/services/mcp-service.d.ts +0 -1
  365. package/package/cc-switch-sdk/dist/services/mcp-service.js +2 -9
  366. package/package/cc-switch-sdk/dist/services/skill-model.d.ts +0 -1
  367. package/package/cc-switch-sdk/dist/services/skill-model.js +2 -41
  368. package/package/cc-switch-sdk/dist/services/skill-service.d.ts +0 -1
  369. package/package/cc-switch-sdk/dist/services/skill-service.js +2 -9
  370. package/package/cc-switch-sdk/dist/state.d.ts +0 -1
  371. package/package/cc-switch-sdk/dist/state.js +2 -19
  372. package/package/cc-switch-sdk/dist/types.d.ts +0 -1
  373. package/package/cc-switch-sdk/dist/types.js +1 -1
  374. package/package/cc-switch-sdk/dist/utils/fs.d.ts +0 -1
  375. package/package/cc-switch-sdk/dist/utils/fs.js +3 -114
  376. package/package/cc-switch-sdk/dist/utils/id.d.ts +0 -1
  377. package/package/cc-switch-sdk/dist/utils/id.js +2 -12
  378. package/package/cc-switch-sdk/package.json +1 -1
  379. package/package.json +4 -2
  380. package/dist/adapter/AcodeSdkAdapter.d.ts.map +0 -1
  381. package/dist/adapter/AdapterRegistry.d.ts.map +0 -1
  382. package/dist/adapter/ClaudeSdkAdapter.d.ts.map +0 -1
  383. package/dist/adapter/CodexSdkAdapter.d.ts.map +0 -1
  384. package/dist/adapter/OpencodeSdkAdapter.d.ts.map +0 -1
  385. package/dist/adapter/SdkProviderSpi.d.ts.map +0 -1
  386. package/dist/adapter/acode-tool-names.d.ts.map +0 -1
  387. package/dist/adapter/idle-poll-loop.d.ts.map +0 -1
  388. package/dist/adapter/index.d.ts.map +0 -1
  389. package/dist/adapter/instance-ai-config-resolver.d.ts.map +0 -1
  390. package/dist/adapter/types.d.ts.map +0 -1
  391. package/dist/adapters/cc-switch/common.d.ts.map +0 -1
  392. package/dist/adapters/cc-switch/index.d.ts.map +0 -1
  393. package/dist/adapters/cc-switch/mcp-acode.d.ts.map +0 -1
  394. package/dist/adapters/cc-switch/mcp-claude.d.ts.map +0 -1
  395. package/dist/adapters/cc-switch/mcp-claudecode.d.ts.map +0 -1
  396. package/dist/adapters/cc-switch/mcp-codex.d.ts.map +0 -1
  397. package/dist/adapters/cc-switch/mcp-opencode.d.ts.map +0 -1
  398. package/dist/adapters/cc-switch/mcp-placeholder.d.ts.map +0 -1
  399. package/dist/adapters/cc-switch/skill-acode.d.ts.map +0 -1
  400. package/dist/adapters/cc-switch/skill-claude.d.ts.map +0 -1
  401. package/dist/adapters/cc-switch/skill-claudecode.d.ts.map +0 -1
  402. package/dist/adapters/cc-switch/skill-codex.d.ts.map +0 -1
  403. package/dist/adapters/cc-switch/skill-directory.d.ts.map +0 -1
  404. package/dist/adapters/cc-switch/skill-opencode.d.ts.map +0 -1
  405. package/dist/adapters/cc-switch/skill-placeholder.d.ts.map +0 -1
  406. package/dist/config.d.ts.map +0 -1
  407. package/dist/index.d.ts.map +0 -1
  408. package/dist/middleware/auth.d.ts.map +0 -1
  409. package/dist/routes/acode-todos.d.ts.map +0 -1
  410. package/dist/routes/ai-sources.d.ts.map +0 -1
  411. package/dist/routes/dashboard.d.ts.map +0 -1
  412. package/dist/routes/events.d.ts.map +0 -1
  413. package/dist/routes/file-browser.d.ts.map +0 -1
  414. package/dist/routes/file-diff-rollback.d.ts.map +0 -1
  415. package/dist/routes/file-snapshot.d.ts.map +0 -1
  416. package/dist/routes/git.d.ts.map +0 -1
  417. package/dist/routes/instance.d.ts.map +0 -1
  418. package/dist/routes/mcp.d.ts.map +0 -1
  419. package/dist/routes/processes.d.ts.map +0 -1
  420. package/dist/routes/properties.d.ts.map +0 -1
  421. package/dist/routes/pty.d.ts.map +0 -1
  422. package/dist/routes/runtime-binding.d.ts.map +0 -1
  423. package/dist/routes/sessions.d.ts.map +0 -1
  424. package/dist/routes/skills.d.ts.map +0 -1
  425. package/dist/routes/sub-agents.d.ts.map +0 -1
  426. package/dist/routes/system-metrics.d.ts.map +0 -1
  427. package/dist/routes/task-context.d.ts.map +0 -1
  428. package/dist/routes/terminal.d.ts.map +0 -1
  429. package/dist/routes/yml.d.ts.map +0 -1
  430. package/dist/services/acode-package.d.ts.map +0 -1
  431. package/dist/services/agent-event-store.d.ts.map +0 -1
  432. package/dist/services/agent-process-manager.d.ts.map +0 -1
  433. package/dist/services/ai-source-apply.d.ts.map +0 -1
  434. package/dist/services/auto-register.d.ts.map +0 -1
  435. package/dist/services/aws-client-agent-mcp.d.ts.map +0 -1
  436. package/dist/services/bridge-package-publish-hooks.d.ts.map +0 -1
  437. package/dist/services/cc-switch-sdk.d.ts.map +0 -1
  438. package/dist/services/cli-commands.d.ts.map +0 -1
  439. package/dist/services/event-delta-pusher.d.ts.map +0 -1
  440. package/dist/services/fileSnapshotStore.d.ts.map +0 -1
  441. package/dist/services/instance-ai-config-service.d.ts.map +0 -1
  442. package/dist/services/instance-init-service.d.ts.map +0 -1
  443. package/dist/services/instance-service.d.ts.map +0 -1
  444. package/dist/services/instance-state.d.ts.map +0 -1
  445. package/dist/services/legacy-path-migration.d.ts.map +0 -1
  446. package/dist/services/lifecycle-state.d.ts.map +0 -1
  447. package/dist/services/mcp-launch-binding-queue.d.ts.map +0 -1
  448. package/dist/services/orphan-monitor.d.ts.map +0 -1
  449. package/dist/services/panel-auth.d.ts.map +0 -1
  450. package/dist/services/process-detector.d.ts.map +0 -1
  451. package/dist/services/process-registry.d.ts.map +0 -1
  452. package/dist/services/ring-buffer.d.ts.map +0 -1
  453. package/dist/services/runtime-binding.d.ts.map +0 -1
  454. package/dist/services/runtime-lifecycle-policy.d.ts.map +0 -1
  455. package/dist/services/session-output.d.ts.map +0 -1
  456. package/dist/services/startup-config-wizard.d.ts.map +0 -1
  457. package/dist/services/sub-agent-manager-instance.d.ts.map +0 -1
  458. package/dist/services/system-metrics.d.ts.map +0 -1
  459. package/dist/services/terminal-persistence.d.ts.map +0 -1
  460. package/dist/services/tool-installer.d.ts.map +0 -1
  461. package/dist/services/tunnel-client.d.ts.map +0 -1
  462. package/dist/services/windows-service-manager.d.ts.map +0 -1
  463. package/dist/services/workspace-files.d.ts.map +0 -1
  464. package/dist/services/workspace-watch.d.ts.map +0 -1
  465. package/dist/services/workspaceTaskChangeWatcher.d.ts.map +0 -1
  466. package/dist/types.d.ts.map +0 -1
  467. package/dist/utils/file-utils.d.ts.map +0 -1
  468. package/dist/utils/instance-ai-config-debug-logger.d.ts.map +0 -1
  469. package/dist/utils/logger.d.ts.map +0 -1
  470. package/dist/utils/mcp-utils.d.ts.map +0 -1
  471. package/dist/utils/path-utils.d.ts.map +0 -1
  472. package/dist/utils/sdk-package-loader.d.ts.map +0 -1
  473. package/dist/utils/validation.d.ts.map +0 -1
  474. package/dist/utils/yaml-utils.d.ts.map +0 -1
  475. package/node_modules/@cc-switch/sdk/dist/constants.d.ts.map +0 -1
  476. package/node_modules/@cc-switch/sdk/dist/errors.d.ts.map +0 -1
  477. package/node_modules/@cc-switch/sdk/dist/index.d.ts.map +0 -1
  478. package/node_modules/@cc-switch/sdk/dist/schemas.d.ts.map +0 -1
  479. package/node_modules/@cc-switch/sdk/dist/sdk.d.ts.map +0 -1
  480. package/node_modules/@cc-switch/sdk/dist/services/ai-config-service.d.ts.map +0 -1
  481. package/node_modules/@cc-switch/sdk/dist/services/mcp-model.d.ts.map +0 -1
  482. package/node_modules/@cc-switch/sdk/dist/services/mcp-service.d.ts.map +0 -1
  483. package/node_modules/@cc-switch/sdk/dist/services/skill-model.d.ts.map +0 -1
  484. package/node_modules/@cc-switch/sdk/dist/services/skill-service.d.ts.map +0 -1
  485. package/node_modules/@cc-switch/sdk/dist/state.d.ts.map +0 -1
  486. package/node_modules/@cc-switch/sdk/dist/types.d.ts.map +0 -1
  487. package/node_modules/@cc-switch/sdk/dist/utils/fs.d.ts.map +0 -1
  488. package/node_modules/@cc-switch/sdk/dist/utils/id.d.ts.map +0 -1
  489. package/package/acode/dist/ask-user-question-tool.d.ts.map +0 -1
  490. package/package/acode/dist/built-in-file-tools.d.ts.map +0 -1
  491. package/package/acode/dist/built-in-symbols-tool.d.ts.map +0 -1
  492. package/package/acode/dist/builtins/commandArtifacts.d.ts.map +0 -1
  493. package/package/acode/dist/builtins/commandOutputEvents.d.ts.map +0 -1
  494. package/package/acode/dist/builtins/shellCommandPreparation.d.ts.map +0 -1
  495. package/package/acode/dist/builtins/shellCommandResult.d.ts.map +0 -1
  496. package/package/acode/dist/builtins/shellCommandRunner.d.ts.map +0 -1
  497. package/package/acode/dist/builtins/shellOutputDecoder.d.ts.map +0 -1
  498. package/package/acode/dist/cli.d.ts.map +0 -1
  499. package/package/acode/dist/commands/commandLoader.d.ts.map +0 -1
  500. package/package/acode/dist/commands/commandParser.d.ts.map +0 -1
  501. package/package/acode/dist/commands/commandRegistry.d.ts.map +0 -1
  502. package/package/acode/dist/compaction.d.ts.map +0 -1
  503. package/package/acode/dist/config.d.ts.map +0 -1
  504. package/package/acode/dist/fs-utils.d.ts.map +0 -1
  505. package/package/acode/dist/hooks/hookBus.d.ts.map +0 -1
  506. package/package/acode/dist/index.d.ts.map +0 -1
  507. package/package/acode/dist/mcpToolNames.d.ts.map +0 -1
  508. package/package/acode/dist/parsers/ast-cache.d.ts.map +0 -1
  509. package/package/acode/dist/parsers/language-detector.d.ts.map +0 -1
  510. package/package/acode/dist/parsers/language-queries.d.ts.map +0 -1
  511. package/package/acode/dist/parsers/symbol-extractor.d.ts.map +0 -1
  512. package/package/acode/dist/parsers/tree-sitter-loader.d.ts.map +0 -1
  513. package/package/acode/dist/parsers/types.d.ts.map +0 -1
  514. package/package/acode/dist/runtime.d.ts.map +0 -1
  515. package/package/acode/dist/skill-tool.d.ts.map +0 -1
  516. package/package/acode/dist/sub-agent-manager.d.ts.map +0 -1
  517. package/package/acode/dist/sub-agent-store.d.ts.map +0 -1
  518. package/package/acode/dist/sub-agent-tools.d.ts.map +0 -1
  519. package/package/acode/dist/sub-agent-types.d.ts.map +0 -1
  520. package/package/acode/dist/todo-store.d.ts.map +0 -1
  521. package/package/acode/dist/todo-tool.d.ts.map +0 -1
  522. package/package/acode/dist/types.d.ts.map +0 -1
  523. package/package/aws-client-agent-mcp/dist/agent-client.d.ts.map +0 -1
  524. package/package/aws-client-agent-mcp/dist/agent-client.js.map +0 -1
  525. package/package/aws-client-agent-mcp/dist/agent-client.test.d.ts.map +0 -1
  526. package/package/aws-client-agent-mcp/dist/agent-client.test.js.map +0 -1
  527. package/package/aws-client-agent-mcp/dist/config.d.ts.map +0 -1
  528. package/package/aws-client-agent-mcp/dist/config.js.map +0 -1
  529. package/package/aws-client-agent-mcp/dist/config.test.d.ts.map +0 -1
  530. package/package/aws-client-agent-mcp/dist/config.test.js.map +0 -1
  531. package/package/aws-client-agent-mcp/dist/constants.d.ts.map +0 -1
  532. package/package/aws-client-agent-mcp/dist/constants.js.map +0 -1
  533. package/package/aws-client-agent-mcp/dist/context-manager.d.ts.map +0 -1
  534. package/package/aws-client-agent-mcp/dist/context-manager.js.map +0 -1
  535. package/package/aws-client-agent-mcp/dist/context-manager.test.d.ts.map +0 -1
  536. package/package/aws-client-agent-mcp/dist/context-manager.test.js.map +0 -1
  537. package/package/aws-client-agent-mcp/dist/http-client.d.ts.map +0 -1
  538. package/package/aws-client-agent-mcp/dist/http-client.js.map +0 -1
  539. package/package/aws-client-agent-mcp/dist/http-client.test.d.ts.map +0 -1
  540. package/package/aws-client-agent-mcp/dist/http-client.test.js.map +0 -1
  541. package/package/aws-client-agent-mcp/dist/index.d.ts.map +0 -1
  542. package/package/aws-client-agent-mcp/dist/index.js.map +0 -1
  543. package/package/aws-client-agent-mcp/dist/logger.d.ts.map +0 -1
  544. package/package/aws-client-agent-mcp/dist/logger.js.map +0 -1
  545. package/package/aws-client-agent-mcp/dist/logger.test.d.ts.map +0 -1
  546. package/package/aws-client-agent-mcp/dist/logger.test.js.map +0 -1
  547. package/package/aws-client-agent-mcp/dist/mcp-server.d.ts.map +0 -1
  548. package/package/aws-client-agent-mcp/dist/mcp-server.js.map +0 -1
  549. package/package/aws-client-agent-mcp/dist/mcp-server.test.d.ts.map +0 -1
  550. package/package/aws-client-agent-mcp/dist/mcp-server.test.js.map +0 -1
  551. package/package/aws-client-agent-mcp/dist/mcp-tools.d.ts.map +0 -1
  552. package/package/aws-client-agent-mcp/dist/mcp-tools.js.map +0 -1
  553. package/package/aws-client-agent-mcp/dist/mcp-tools.test.d.ts.map +0 -1
  554. package/package/aws-client-agent-mcp/dist/mcp-tools.test.js.map +0 -1
  555. package/package/aws-client-agent-mcp/dist/memory-store.d.ts.map +0 -1
  556. package/package/aws-client-agent-mcp/dist/memory-store.js.map +0 -1
  557. package/package/aws-client-agent-mcp/dist/memory-store.test.d.ts.map +0 -1
  558. package/package/aws-client-agent-mcp/dist/memory-store.test.js.map +0 -1
  559. package/package/aws-client-agent-mcp/dist/memory-tools.d.ts.map +0 -1
  560. package/package/aws-client-agent-mcp/dist/memory-tools.js.map +0 -1
  561. package/package/aws-client-agent-mcp/dist/message-buffer.d.ts.map +0 -1
  562. package/package/aws-client-agent-mcp/dist/message-buffer.js.map +0 -1
  563. package/package/aws-client-agent-mcp/dist/message-buffer.test.d.ts.map +0 -1
  564. package/package/aws-client-agent-mcp/dist/message-buffer.test.js.map +0 -1
  565. package/package/aws-client-agent-mcp/dist/messageContent.d.ts.map +0 -1
  566. package/package/aws-client-agent-mcp/dist/messageContent.js.map +0 -1
  567. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.d.ts.map +0 -1
  568. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.js.map +0 -1
  569. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.test.d.ts.map +0 -1
  570. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.test.js.map +0 -1
  571. package/package/aws-client-agent-mcp/dist/server-memory-store.d.ts.map +0 -1
  572. package/package/aws-client-agent-mcp/dist/server-memory-store.js.map +0 -1
  573. package/package/aws-client-agent-mcp/dist/status-reporter.d.ts.map +0 -1
  574. package/package/aws-client-agent-mcp/dist/status-reporter.js.map +0 -1
  575. package/package/aws-client-agent-mcp/dist/status-reporter.test.d.ts.map +0 -1
  576. package/package/aws-client-agent-mcp/dist/status-reporter.test.js.map +0 -1
  577. package/package/aws-client-agent-mcp/dist/types.d.ts.map +0 -1
  578. package/package/aws-client-agent-mcp/dist/types.js.map +0 -1
  579. package/package/aws-client-agent-mcp/dist/websocket-client.d.ts.map +0 -1
  580. package/package/aws-client-agent-mcp/dist/websocket-client.js.map +0 -1
  581. package/package/aws-client-agent-mcp/dist/websocket-client.test.d.ts.map +0 -1
  582. package/package/aws-client-agent-mcp/dist/websocket-client.test.js.map +0 -1
  583. package/package/cc-switch-sdk/dist/constants.d.ts.map +0 -1
  584. package/package/cc-switch-sdk/dist/errors.d.ts.map +0 -1
  585. package/package/cc-switch-sdk/dist/index.d.ts.map +0 -1
  586. package/package/cc-switch-sdk/dist/schemas.d.ts.map +0 -1
  587. package/package/cc-switch-sdk/dist/sdk.d.ts.map +0 -1
  588. package/package/cc-switch-sdk/dist/services/ai-config-service.d.ts.map +0 -1
  589. package/package/cc-switch-sdk/dist/services/mcp-model.d.ts.map +0 -1
  590. package/package/cc-switch-sdk/dist/services/mcp-service.d.ts.map +0 -1
  591. package/package/cc-switch-sdk/dist/services/skill-model.d.ts.map +0 -1
  592. package/package/cc-switch-sdk/dist/services/skill-service.d.ts.map +0 -1
  593. package/package/cc-switch-sdk/dist/state.d.ts.map +0 -1
  594. package/package/cc-switch-sdk/dist/types.d.ts.map +0 -1
  595. package/package/cc-switch-sdk/dist/utils/fs.d.ts.map +0 -1
  596. package/package/cc-switch-sdk/dist/utils/id.d.ts.map +0 -1
package/dist/index.js CHANGED
@@ -1,574 +1,3 @@
1
1
  #!/usr/bin/env node
2
- /**
3
- * Runtime Bridge 服务主入口
4
- *
5
- * 提供 Agent 运行时与调度器之间的桥接功能
6
- */
7
- import express from "express";
8
- import cors from "cors";
9
- import { existsSync, readFileSync } from "node:fs";
10
- import path from "node:path";
11
- import os from "node:os";
12
- import { allowedCorsOrigins, port, validateProductionToken } from "./config.js";
13
- import { propertiesRouter } from "./routes/properties.js";
14
- import { ymlRouter } from "./routes/yml.js";
15
- import { instanceRouter, setGracefulShutdownFn } from "./routes/instance.js";
16
- import { skillsRouter } from "./routes/skills.js";
17
- import { mcpRouter } from "./routes/mcp.js";
18
- import { terminalRouter, sdkSessions } from "./routes/terminal.js";
19
- import { sessionsRouter } from "./routes/sessions.js";
20
- import { gitRouter } from "./routes/git.js";
21
- import { fileSnapshotRouter } from "./routes/file-snapshot.js";
22
- import { acodeTodosRouter } from "./routes/acode-todos.js";
23
- import { subAgentsRouter } from "./routes/sub-agents.js";
24
- import { fileBrowserRouter } from "./routes/file-browser.js";
25
- import { aiSourcesRouter } from "./routes/ai-sources.js";
26
- import { processesRouter } from "./routes/processes.js";
27
- import { systemMetricsRouter } from "./routes/system-metrics.js";
28
- import { taskContextRouter } from "./routes/task-context.js";
29
- import { fileDiffRollbackRouter } from "./routes/file-diff-rollback.js";
30
- import { attachPtyWebSocketServer, closeAllPtySessions, ptyRouter, ptySessions, } from "./routes/pty.js";
31
- import { runtimeBindingRouter, logRuntimeBindingStartupState, } from "./routes/runtime-binding.js";
32
- import { dashboardRouter } from "./routes/dashboard.js";
33
- import { eventsRouter } from "./routes/events.js";
34
- import { loadPersistedSessions, savePersistedSessions, } from "./services/terminal-persistence.js";
35
- import { detectOrphanProcesses } from "./services/process-detector.js";
36
- import { startOrphanMonitor, stopOrphanMonitor, } from "./services/orphan-monitor.js";
37
- import { getAgentProcessManager } from "./services/agent-process-manager.js";
38
- import { adapterRegistry } from "./adapter/index.js";
39
- import { logger } from "./utils/logger.js";
40
- import { autoRegister, unregister, bridgeRestartCleanup, cancelBackgroundRegisterRetries, } from "./services/auto-register.js";
41
- import { stopTunnelClient } from "./services/tunnel-client.js";
42
- import { ensureAwsClientAgentMcpReleased } from "./services/aws-client-agent-mcp.js";
43
- import { ensureAcodePackageReleased } from "./services/acode-package.js";
44
- import { ensureStartupConfig } from "./services/startup-config-wizard.js";
45
- import { handleCliCommand } from "./services/cli-commands.js";
46
- import { migrateOldPathsOnStartup } from "./services/legacy-path-migration.js";
47
- import { subAgentStore } from "./services/sub-agent-manager-instance.js";
48
- import { buildGracefulShutdownPlan, shouldCleanupPersistedSessionsOnStartup, } from "./services/runtime-lifecycle-policy.js";
49
- import { deliverPendingBridgeLifecycleNotifications } from "./services/lifecycle-state.js";
50
- const cliCommandResult = await handleCliCommand();
51
- if (cliCommandResult.handled) {
52
- process.exit(cliCommandResult.exitCode);
53
- }
54
- // 验证生产环境配置
55
- await ensureStartupConfig();
56
- validateProductionToken();
57
- ensureAwsClientAgentMcpReleased();
58
- ensureAcodePackageReleased();
59
- migrateOldPathsOnStartup();
60
- logRuntimeBindingStartupState();
61
- // ★ 启动时自动注册
62
- async function performAutoRegister() {
63
- try {
64
- const success = await autoRegister();
65
- if (success) {
66
- logger.info("[runtime-bridge] 自动注册成功");
67
- }
68
- else {
69
- // 检查注册状态
70
- const { loadConfig } = await import("./services/auto-register.js");
71
- const config = loadConfig();
72
- // 判断是否有配置(userKey 为必填项;tenantId 可自动推导,不参与判断)
73
- const hasConfig = Boolean(config.userKey);
74
- if (hasConfig && config.enabled) {
75
- // 有配置但暂时注册失败(如 server 尚未启动):
76
- // autoRegisterSingle 已调度后台持续重试,连上后自动完成注册与隧道建立,
77
- // bridge 继续正常提供本地服务
78
- logger.warn("[runtime-bridge] 自动注册暂时失败,将在后台持续重试直到与调度中心建立连接");
79
- }
80
- else {
81
- // 没有配置,正常启动服务
82
- logger.info("[runtime-bridge] 自动注册未配置,继续启动服务");
83
- logger.info("[runtime-bridge] 要启用自动注册,请创建配置文件 ~/.aws-bridge/config.json");
84
- }
85
- }
86
- }
87
- catch (error) {
88
- const err = error;
89
- logger.warn("[runtime-bridge] 自动注册出错:", err.message);
90
- }
91
- }
92
- performAutoRegister()
93
- .then(() => {
94
- // Bridge 启动后只做非破坏性同步:调度中心会通过 /runtime/sessions 恢复运行态。
95
- // 不再默认把该 bridge 下的 Agent 标记为 offline/stopped,避免 server/bridge
96
- // 短暂重启导致正在运行的 Agent 被误停。
97
- return performBridgeRestartCleanup();
98
- })
99
- .then(() => deliverPendingBridgeLifecycleNotifications())
100
- .then(() => {
101
- logger.info("[runtime-bridge] Bridge 生命周期通知同步完成");
102
- })
103
- .catch((err) => {
104
- logger.warn("[runtime-bridge] 自动注册或清理出错:", err);
105
- });
106
- // Bridge 启动状态同步。
107
- // 默认不清理 Agent 状态;只有显式设置 AWS_BRIDGE_RESTART_CLEANUP=true 时才保留旧行为。
108
- async function performBridgeRestartCleanup() {
109
- try {
110
- if (process.env.AWS_BRIDGE_RESTART_CLEANUP !== "true") {
111
- logger.info("[runtime-bridge] 跳过 Bridge 重启清理,保留 Agent 状态供调度中心恢复");
112
- return;
113
- }
114
- // 只有在已注册的情况下才执行清理
115
- const { getRegistrationState } = await import("./services/auto-register.js");
116
- const state = getRegistrationState();
117
- if (!state.registered || !state.instanceId) {
118
- logger.info("[runtime-bridge] 实例未注册,跳过 Bridge 重启清理");
119
- return;
120
- }
121
- logger.info("[runtime-bridge] ★ Bridge 重启清理已显式启用,正在通知调度中心清理 Agent 状态...");
122
- const result = await bridgeRestartCleanup();
123
- if (result.success) {
124
- logger.info(`[runtime-bridge] ★ Bridge 重启清理成功,清理了 ${result.agentCount || 0} 个 Agent`);
125
- }
126
- else {
127
- logger.warn(`[runtime-bridge] ★ Bridge 重启清理失败: ${result.error}`);
128
- }
129
- }
130
- catch (error) {
131
- const err = error;
132
- logger.warn("[runtime-bridge] Bridge 重启清理出错:", err.message);
133
- }
134
- }
135
- // ★ 启动时重建进程注册表
136
- async function rebuildProcessRegistry() {
137
- try {
138
- const persistedSessions = await loadPersistedSessions();
139
- if (persistedSessions.length === 0) {
140
- logger.info("[runtime-bridge] 无持久化会话,跳过进程注册表重建");
141
- return;
142
- }
143
- const manager = getAgentProcessManager();
144
- await manager.rebuildRegistry(persistedSessions.map((s) => ({
145
- agentId: s.agentId,
146
- sessionId: s.sessionId,
147
- pid: s.pid,
148
- workspacePath: s.workspacePath,
149
- command: s.command,
150
- mode: "sdk",
151
- })));
152
- logger.info(`[runtime-bridge] 进程注册表重建完成: ${persistedSessions.length} 条记录`);
153
- }
154
- catch (error) {
155
- const err = error;
156
- logger.warn("[runtime-bridge] 进程注册表重建失败:", err.message);
157
- }
158
- }
159
- rebuildProcessRegistry().catch((err) => {
160
- logger.warn("[runtime-bridge] 进程注册表重建出错:", err);
161
- });
162
- // ★ 启动时检测孤儿进程。
163
- // 默认保留持久化 running 会话并重建进程注册表,避免 runtime-bridge/server
164
- // 重启误杀仍在运行的 SDK 进程。只有显式设置
165
- // AWS_BRIDGE_CLEAN_ORPHANS_ON_STARTUP=true 时才执行历史清理逻辑。
166
- async function detectOrphansOnStartup() {
167
- try {
168
- // ★★★ 检查是否存在保留会话标记文件
169
- const fs = await import("node:fs/promises");
170
- const path = await import("node:path");
171
- const os = await import("node:os");
172
- const restartFlagFile = path.join(os.tmpdir(), "agentswork-runtime-bridge", ".preserve-sessions");
173
- let preserveSessions = false;
174
- try {
175
- const flagContent = await fs.readFile(restartFlagFile, "utf-8");
176
- const flag = JSON.parse(flagContent);
177
- preserveSessions = flag.preserveSessions === true;
178
- // 读取后删除标记文件
179
- await fs.unlink(restartFlagFile);
180
- logger.info(`[runtime-bridge] ★ 检测到保留会话标记,preserveSessions=${preserveSessions}`);
181
- }
182
- catch {
183
- // 标记文件不存在,正常启动
184
- }
185
- const persistedSessions = await loadPersistedSessions();
186
- if (persistedSessions.length === 0) {
187
- logger.info("[runtime-bridge] 启动时无持久化会话,无需检测孤儿进程");
188
- return;
189
- }
190
- const shouldCleanup = shouldCleanupPersistedSessionsOnStartup(preserveSessions);
191
- if (!shouldCleanup) {
192
- logger.info(`[runtime-bridge] ★ 保留 ${persistedSessions.length} 个持久化会话并重建进程注册表`);
193
- // 重建进程注册表
194
- const manager = getAgentProcessManager();
195
- await manager.rebuildRegistry(persistedSessions.map((s) => ({
196
- agentId: s.agentId,
197
- sessionId: s.sessionId,
198
- pid: s.pid,
199
- workspacePath: s.workspacePath,
200
- command: s.command,
201
- mode: "sdk",
202
- })));
203
- return;
204
- }
205
- logger.info(`[runtime-bridge] ★ 已显式启用启动清理,检测 ${persistedSessions.length} 个持久化会话的孤儿进程...`);
206
- const orphans = await detectOrphanProcesses(persistedSessions.map((s) => ({
207
- agentId: s.agentId,
208
- pid: s.pid,
209
- workspacePath: s.workspacePath,
210
- command: s.command,
211
- })));
212
- if (orphans.length > 0) {
213
- logger.warn(`[runtime-bridge] ★ 检测到 ${orphans.length} 个孤儿进程仍在运行:`);
214
- for (const orphan of orphans) {
215
- logger.warn(` - agentId=${orphan.agentId}, pid=${orphan.process.pid}, command=${orphan.process.command?.slice(0, 50)}`);
216
- }
217
- // ★ 自动清理所有孤儿进程
218
- logger.info("[runtime-bridge] 正在自动清理所有孤儿进程...");
219
- for (const orphan of orphans) {
220
- try {
221
- if (orphan.process.pid) {
222
- // 使用跨平台方式终止进程
223
- if (process.platform === "win32") {
224
- const { execSync } = await import("node:child_process");
225
- execSync(`taskkill /PID ${orphan.process.pid} /T /F`, {
226
- encoding: "utf8",
227
- timeout: 3000,
228
- });
229
- logger.info(`[runtime-bridge] 已自动终止孤儿进程: agentId=${orphan.agentId}, PID=${orphan.process.pid}`);
230
- }
231
- else {
232
- process.kill(orphan.process.pid, "SIGKILL");
233
- logger.info(`[runtime-bridge] 已自动终止孤儿进程: agentId=${orphan.agentId}, PID=${orphan.process.pid}`);
234
- }
235
- }
236
- }
237
- catch (killError) {
238
- const err = killError;
239
- logger.warn(`[runtime-bridge] 自动终止孤儿进程失败: agentId=${orphan.agentId}, PID=${orphan.process.pid}, error=${err.message}`);
240
- }
241
- }
242
- // 等待进程完全终止
243
- await new Promise((resolve) => setTimeout(resolve, 1000));
244
- }
245
- await savePersistedSessions([]);
246
- logger.info(`[runtime-bridge] ★ 启动清理完成,已清空所有持久化会话(清理了 ${orphans.length} 个孤儿进程)`);
247
- }
248
- catch (error) {
249
- const err = error;
250
- logger.warn("[runtime-bridge] 启动时孤儿进程检测失败:", err.message);
251
- }
252
- }
253
- // 执行孤儿进程检测
254
- detectOrphansOnStartup().catch((err) => {
255
- logger.warn("[runtime-bridge] 孤儿进程检测出错:", err);
256
- });
257
- // ★ 启动孤儿进程定期监控
258
- startOrphanMonitor().catch((err) => {
259
- logger.warn("[runtime-bridge] 启动孤儿进程监控失败:", err);
260
- });
261
- // 创建 Express 应用
262
- const app = express();
263
- // 中间件配置
264
- app.use(cors({
265
- origin(origin, callback) {
266
- // 允许无来源请求(非浏览器客户端、curl 等)
267
- if (!origin) {
268
- callback(null, true);
269
- return;
270
- }
271
- // AWS_RUNTIME_CORS_ORIGINS=* 时放行所有来源
272
- if (allowedCorsOrigins.includes("*")) {
273
- callback(null, true);
274
- return;
275
- }
276
- if (allowedCorsOrigins.includes(origin)) {
277
- callback(null, true);
278
- return;
279
- }
280
- // 允许 bridge 自身端口的来源(dashboard/登录页面同源请求)
281
- // 无论主机名是 localhost、127.0.0.1 还是外部 IP,只要端口匹配就放行
282
- try {
283
- const url = new URL(origin);
284
- if (url.port === String(port)) {
285
- callback(null, true);
286
- return;
287
- }
288
- }
289
- catch {
290
- // URL 解析失败,继续拒绝
291
- }
292
- callback(new Error(`[runtime-bridge] CORS origin is not allowed: ${origin}`));
293
- },
294
- }));
295
- app.use(express.json({ limit: "1mb" }));
296
- // 注册路由
297
- app.use("/runtime", runtimeBindingRouter);
298
- app.use("/runtime", propertiesRouter);
299
- app.use("/runtime", ymlRouter);
300
- app.use("/runtime", instanceRouter);
301
- app.use("/runtime", skillsRouter);
302
- app.use("/runtime", mcpRouter);
303
- app.use("/runtime", terminalRouter);
304
- app.use("/runtime", sessionsRouter);
305
- app.use("/runtime", processesRouter);
306
- app.use("/runtime", systemMetricsRouter);
307
- app.use("/runtime", eventsRouter);
308
- app.use("/runtime", gitRouter);
309
- app.use("/runtime", fileSnapshotRouter);
310
- app.use("/runtime", acodeTodosRouter);
311
- app.use("/runtime", subAgentsRouter);
312
- app.use("/runtime", aiSourcesRouter);
313
- app.use("/runtime", taskContextRouter);
314
- app.use("/runtime", fileDiffRollbackRouter);
315
- app.use("/pty", ptyRouter);
316
- app.use("/", dashboardRouter);
317
- app.use("/api/file-browser", fileBrowserRouter);
318
- /**
319
- * 启动 HTTP 服务并对端口占用给出可诊断错误,避免未捕获异常直接崩溃。
320
- */
321
- function startServer() {
322
- const server = app.listen(port, () => {
323
- logger.info(`[runtime-bridge] listening on ${port}`);
324
- });
325
- attachPtyWebSocketServer(server);
326
- server.on("error", (error) => {
327
- if (error.code === "EADDRINUSE") {
328
- logger.error(`[runtime-bridge] port ${port} is already in use. ` +
329
- "Stop the existing runtime-bridge process or set AWS_RUNTIME_BRIDGE_PORT to another port before starting.");
330
- process.exitCode = 1;
331
- return;
332
- }
333
- logger.error("[runtime-bridge] failed to start server:", error);
334
- process.exitCode = 1;
335
- });
336
- return server;
337
- }
338
- /**
339
- * 优雅关闭处理
340
- *
341
- * 在收到终止信号时:
342
- * 1. 停止所有 SDK 会话(终止 Agent 进程)
343
- * 2. 验证所有进程已终止
344
- * 3. 清空持久化状态(避免恢复残留会话)
345
- * 4. 关闭 HTTP 服务器
346
- *
347
- * ★★★ 修复:添加 preserveSessions 参数
348
- * - preserveSessions=true: aws-mcp-server 触发的关闭,保留会话状态
349
- * - preserveSessions=false: bridge 自己关闭,清理所有会话
350
- */
351
- let isShuttingDown = false;
352
- async function gracefulShutdown(signal, server, preserveSessions = false) {
353
- if (isShuttingDown) {
354
- logger.info(`[runtime-bridge] 已在关闭中,忽略 ${signal}`);
355
- return;
356
- }
357
- isShuttingDown = true;
358
- // ★★★ 防御性检测:如果 preserveSessions 未显式设为 true,
359
- // 检查 .preserve-sessions 标记文件是否存在。
360
- // 这是为了覆盖所有调用路径(包括非信号处理器路径)都能正确识别 aws-mcp-server 重启场景。
361
- if (!preserveSessions) {
362
- const flagExists = checkPreserveFlagSync();
363
- if (flagExists) {
364
- preserveSessions = true;
365
- logger.info(`[runtime-bridge] ★ 检测到 .preserve-sessions 标记文件,自动升级为保留会话模式`);
366
- }
367
- }
368
- logger.info(`[runtime-bridge] 收到 ${signal} 信号,开始优雅关闭... (preserveSessions=${preserveSessions})`);
369
- const startTime = Date.now();
370
- const shutdownPlan = buildGracefulShutdownPlan(preserveSessions);
371
- try {
372
- // 1. 停止所有 SDK 会话
373
- const sdkCount = sdkSessions.size;
374
- if (shutdownPlan.terminateSdkSessions) {
375
- logger.info(`[runtime-bridge] 正在停止 ${sdkCount} 个 SDK 会话...`);
376
- for (const [sessionId, entry] of sdkSessions.entries()) {
377
- try {
378
- const providerId = entry.providerId || "claude-code";
379
- const adapter = adapterRegistry.get(providerId);
380
- // 尝试获取 PID 用于日志
381
- let pidInfo = "";
382
- try {
383
- const pid = adapter.getSessionPid?.(sessionId);
384
- if (pid) {
385
- pidInfo = ` (PID: ${pid})`;
386
- }
387
- }
388
- catch {
389
- // 忽略 PID 获取错误
390
- }
391
- await adapter.terminateSession(sessionId);
392
- logger.info(`[runtime-bridge] SDK 会话 ${sessionId} 已终止${pidInfo}`);
393
- sdkSessions.delete(sessionId);
394
- }
395
- catch (e) {
396
- const err = e;
397
- logger.error(`[runtime-bridge] SDK 会话 ${sessionId} 终止失败:`, err.message);
398
- // 即使失败也从内存中移除
399
- sdkSessions.delete(sessionId);
400
- }
401
- }
402
- }
403
- else {
404
- logger.info(`[runtime-bridge] ★ 保留 ${sdkCount} 个 SDK 会话,不在重启恢复场景中终止 Agent 进程`);
405
- }
406
- const ptyCount = ptySessions.size;
407
- if (shutdownPlan.closePtySessions) {
408
- logger.info(`[runtime-bridge] 正在停止 ${ptyCount} 个 PTY 会话...`);
409
- closeAllPtySessions("shutdown");
410
- }
411
- else {
412
- logger.info(`[runtime-bridge] ★ 保留 ${ptyCount} 个 PTY 会话,不在重启恢复场景中关闭终端进程`);
413
- }
414
- // 3. 停止孤儿进程监控
415
- logger.info("[runtime-bridge] 正在停止孤儿进程监控...");
416
- stopOrphanMonitor();
417
- // 4. ★ 验证所有进程已终止(等待一小段时间让进程完全退出)
418
- if (shutdownPlan.terminateResidualProcesses) {
419
- logger.info("[runtime-bridge] 等待进程完全终止...");
420
- await new Promise((resolve) => setTimeout(resolve, 1000));
421
- }
422
- // 5. 检查是否还有残留进程,如果有则强制终止
423
- if (shutdownPlan.terminateResidualProcesses) {
424
- try {
425
- const { detectOrphanProcesses, terminateProcessTree } = await import("./services/process-detector.js");
426
- const { loadPersistedSessions } = await import("./services/terminal-persistence.js");
427
- const persistedSessions = await loadPersistedSessions();
428
- if (persistedSessions.length > 0) {
429
- const orphans = await detectOrphanProcesses(persistedSessions.map((s) => ({
430
- agentId: s.agentId,
431
- pid: s.pid,
432
- workspacePath: s.workspacePath,
433
- command: s.command,
434
- })));
435
- if (orphans.length > 0) {
436
- logger.warn(`[runtime-bridge] 检测到 ${orphans.length} 个残留进程,正在强制终止...`);
437
- for (const orphan of orphans) {
438
- if (orphan.process.pid) {
439
- // 使用进程树终止(跨平台)
440
- const result = await terminateProcessTree(orphan.process.pid);
441
- logger.info(`[runtime-bridge] 已强制终止残留进程树:agentId=${orphan.agentId}, PID=${orphan.process.pid}, 终止了 ${result.terminated} 个进程`);
442
- }
443
- }
444
- }
445
- }
446
- }
447
- catch (checkError) {
448
- const err = checkError;
449
- logger.warn("[runtime-bridge] 残留进程检查失败:", err.message);
450
- }
451
- }
452
- else {
453
- logger.info("[runtime-bridge] ★ 保留模式跳过残留进程强制终止,等待调度中心恢复会话");
454
- }
455
- // 6. 注销实例
456
- if (shutdownPlan.unregisterInstance) {
457
- logger.info("[runtime-bridge] 正在注销实例...");
458
- try {
459
- await unregister();
460
- }
461
- catch (e) {
462
- const err = e;
463
- logger.error("[runtime-bridge] 注销实例失败:", err.message);
464
- }
465
- }
466
- else {
467
- logger.info("[runtime-bridge] ★ 保留模式跳过实例注销,避免调度中心将 Agent 标记为 stopped");
468
- }
469
- // 6.5 停止后台注册重试 + 关闭隧道客户端(若运行中)
470
- cancelBackgroundRegisterRetries();
471
- if (shutdownPlan.stopTunnelClient) {
472
- logger.info("[runtime-bridge] 正在关闭隧道客户端...");
473
- stopTunnelClient();
474
- }
475
- // 7. ★★★ 修复:根据 preserveSessions 决定是否清空持久化状态
476
- // - preserveSessions=true (aws-mcp-server 触发): 保留会话状态,aws-mcp-server 重启后可恢复
477
- // - preserveSessions=false (bridge 自己关闭): 清空所有会话,agent 应被清理
478
- if (shutdownPlan.clearPersistedSessions) {
479
- logger.info("[runtime-bridge] 正在清空持久化会话状态...");
480
- try {
481
- await savePersistedSessions([]);
482
- }
483
- catch (e) {
484
- const err = e;
485
- logger.error("[runtime-bridge] 清空持久化状态失败:", err.message);
486
- }
487
- }
488
- else {
489
- logger.info("[runtime-bridge] ★ 保留持久化会话状态(aws-mcp-server 重启恢复场景)");
490
- }
491
- // 8. 关闭 HTTP 服务器
492
- const elapsed = Date.now() - startTime;
493
- logger.info(`[runtime-bridge] 优雅关闭完成 (耗时 ${elapsed}ms),停止 ${sdkCount} SDK 会话`);
494
- server.close(() => {
495
- logger.info("[runtime-bridge] HTTP 服务器已关闭");
496
- process.exit(process.exitCode || 0);
497
- });
498
- // 强制退出超时(防止卡住)
499
- setTimeout(() => {
500
- logger.warn("[runtime-bridge] 优雅关闭超时,强制退出");
501
- process.exit(1);
502
- }, 15000);
503
- }
504
- catch (e) {
505
- const err = e;
506
- logger.error("[runtime-bridge] 优雅关闭过程中发生错误:", err);
507
- process.exit(1);
508
- }
509
- }
510
- // 启动前清理僵尸 sub-agent 记录(bridge 重启前未完成的 running/pending 记录)
511
- subAgentStore.reconcileZombies().then((fixed) => {
512
- if (fixed > 0) {
513
- logger.info(`[runtime-bridge] 已清理 ${fixed} 个僵尸 sub-agent 记录`);
514
- }
515
- }).catch((err) => {
516
- logger.warn("[runtime-bridge] 清理僵尸 sub-agent 记录失败:", err.message);
517
- });
518
- // 启动服务器
519
- const server = startServer();
520
- /**
521
- * ★★★ 修复:同步检测 .preserve-sessions 标记文件
522
- *
523
- * 当 aws-mcp-server 调用 /runtime/prepare-restart 后,
524
- * 会在临时目录创建该标记文件。桥接器收到 SIGTERM/SIGINT 时,
525
- * 应检查此文件来决定是否保留会话。
526
- *
527
- * 信号处理器必须使用同步 I/O,因为异步操作在信号上下文中不可靠。
528
- */
529
- const RESTART_FLAG_FILE = path.join(os.tmpdir(), "agentswork-runtime-bridge", ".preserve-sessions");
530
- function checkPreserveFlagSync() {
531
- try {
532
- if (existsSync(RESTART_FLAG_FILE)) {
533
- const content = readFileSync(RESTART_FLAG_FILE, "utf-8");
534
- const flag = JSON.parse(content);
535
- return flag.preserveSessions === true;
536
- }
537
- }
538
- catch {
539
- // 文件不存在或无法解析,按不保留处理
540
- }
541
- return false;
542
- }
543
- // ★★★ 设置 gracefulShutdown 函数引用,供 instance router 使用
544
- setGracefulShutdownFn(async (signal, preserveSessions) => {
545
- await gracefulShutdown(signal, server, preserveSessions);
546
- });
547
- // 注册终止信号处理器
548
- // ★★★ 修复:收到终止信号时先检查 aws-mcp-server 是否已调用 prepare-restart
549
- // 如果标记文件存在,说明是 aws-mcp-server 重启场景,需要保留会话状态
550
- process.on("SIGTERM", () => {
551
- const preserve = checkPreserveFlagSync();
552
- gracefulShutdown("SIGTERM", server, preserve);
553
- });
554
- process.on("SIGINT", () => {
555
- const preserve = checkPreserveFlagSync();
556
- gracefulShutdown("SIGINT", server, preserve);
557
- });
558
- // Windows 支持(Ctrl+C 在 Windows 上触发 SIGBREAK)
559
- if (process.platform === "win32") {
560
- process.on("SIGBREAK", () => {
561
- const preserve = checkPreserveFlagSync();
562
- gracefulShutdown("SIGBREAK", server, preserve);
563
- });
564
- }
565
- // 未捕获异常处理
566
- process.on("uncaughtException", (error) => {
567
- logger.error("[runtime-bridge] 未捕获异常:", error);
568
- // ★ 未捕获异常时不检查标记文件 — 异常重启需要完整清理
569
- gracefulShutdown("uncaughtException", server);
570
- });
571
- process.on("unhandledRejection", (reason) => {
572
- logger.error("[runtime-bridge] 未处理的 Promise 拒绝:", reason);
573
- // 不立即退出,只记录错误
574
- });
2
+ import I from"express";import E from"cors";import{existsSync as D,readFileSync as B}from"node:fs";import x from"node:path";import O from"node:os";import{allowedCorsOrigins as P,port as w,validateProductionToken as G}from"./config.js";import{propertiesRouter as F}from"./routes/properties.js";import{ymlRouter as K}from"./routes/yml.js";import{instanceRouter as M,setGracefulShutdownFn as N}from"./routes/instance.js";import{skillsRouter as _}from"./routes/skills.js";import{mcpRouter as L}from"./routes/mcp.js";import{terminalRouter as j,sdkSessions as S}from"./routes/terminal.js";import{sessionsRouter as U}from"./routes/sessions.js";import{gitRouter as W}from"./routes/git.js";import{fileSnapshotRouter as z}from"./routes/file-snapshot.js";import{acodeTodosRouter as J}from"./routes/acode-todos.js";import{subAgentsRouter as Y}from"./routes/sub-agents.js";import{fileBrowserRouter as H}from"./routes/file-browser.js";import{aiSourcesRouter as Z}from"./routes/ai-sources.js";import{processesRouter as q}from"./routes/processes.js";import{systemMetricsRouter as Q}from"./routes/system-metrics.js";import{taskContextRouter as V}from"./routes/task-context.js";import{fileDiffRollbackRouter as X}from"./routes/file-diff-rollback.js";import{attachPtyWebSocketServer as ee,closeAllPtySessions as re,ptyRouter as te,ptySessions as ie}from"./routes/pty.js";import{runtimeBindingRouter as ne,logRuntimeBindingStartupState as oe}from"./routes/runtime-binding.js";import{dashboardRouter as se}from"./routes/dashboard.js";import{eventsRouter as ae}from"./routes/events.js";import{loadPersistedSessions as y,savePersistedSessions as $}from"./services/terminal-persistence.js";import{detectOrphanProcesses as me}from"./services/process-detector.js";import{startOrphanMonitor as ue,stopOrphanMonitor as ce}from"./services/orphan-monitor.js";import{getAgentProcessManager as C}from"./services/agent-process-manager.js";import{adapterRegistry as de}from"./adapter/index.js";import{logger as e}from"./utils/logger.js";import{autoRegister as pe,unregister as ge,bridgeRestartCleanup as fe,cancelBackgroundRegisterRetries as le}from"./services/auto-register.js";import{stopTunnelClient as be}from"./services/tunnel-client.js";import{ensureAwsClientAgentMcpReleased as he}from"./services/aws-client-agent-mcp.js";import{ensureAcodePackageReleased as we}from"./services/acode-package.js";import{ensureStartupConfig as Se}from"./services/startup-config-wizard.js";import{handleCliCommand as Re}from"./services/cli-commands.js";import{migrateOldPathsOnStartup as Ie}from"./services/legacy-path-migration.js";import{subAgentStore as Pe}from"./services/sub-agent-manager-instance.js";import{buildGracefulShutdownPlan as ye,shouldCleanupPersistedSessionsOnStartup as $e}from"./services/runtime-lifecycle-policy.js";import{deliverPendingBridgeLifecycleNotifications as Ce}from"./services/lifecycle-state.js";const k=await Re();k.handled&&process.exit(k.exitCode),await Se(),G(),he(),we(),Ie(),oe();async function ke(){try{if(await pe())e.info("[runtime-bridge] \u81EA\u52A8\u6CE8\u518C\u6210\u529F");else{const{loadConfig:i}=await import("./services/auto-register.js"),o=i();!!o.userKey&&o.enabled?e.warn("[runtime-bridge] \u81EA\u52A8\u6CE8\u518C\u6682\u65F6\u5931\u8D25\uFF0C\u5C06\u5728\u540E\u53F0\u6301\u7EED\u91CD\u8BD5\u76F4\u5230\u4E0E\u8C03\u5EA6\u4E2D\u5FC3\u5EFA\u7ACB\u8FDE\u63A5"):(e.info("[runtime-bridge] \u81EA\u52A8\u6CE8\u518C\u672A\u914D\u7F6E\uFF0C\u7EE7\u7EED\u542F\u52A8\u670D\u52A1"),e.info("[runtime-bridge] \u8981\u542F\u7528\u81EA\u52A8\u6CE8\u518C\uFF0C\u8BF7\u521B\u5EFA\u914D\u7F6E\u6587\u4EF6 ~/.aws-bridge/config.json"))}}catch(r){const i=r;e.warn("[runtime-bridge] \u81EA\u52A8\u6CE8\u518C\u51FA\u9519:",i.message)}}ke().then(()=>Te()).then(()=>Ce()).then(()=>{e.info("[runtime-bridge] Bridge \u751F\u547D\u5468\u671F\u901A\u77E5\u540C\u6B65\u5B8C\u6210")}).catch(r=>{e.warn("[runtime-bridge] \u81EA\u52A8\u6CE8\u518C\u6216\u6E05\u7406\u51FA\u9519:",r)});async function Te(){try{if(process.env.AWS_BRIDGE_RESTART_CLEANUP!=="true"){e.info("[runtime-bridge] \u8DF3\u8FC7 Bridge \u91CD\u542F\u6E05\u7406\uFF0C\u4FDD\u7559 Agent \u72B6\u6001\u4F9B\u8C03\u5EA6\u4E2D\u5FC3\u6062\u590D");return}const{getRegistrationState:r}=await import("./services/auto-register.js"),i=r();if(!i.registered||!i.instanceId){e.info("[runtime-bridge] \u5B9E\u4F8B\u672A\u6CE8\u518C\uFF0C\u8DF3\u8FC7 Bridge \u91CD\u542F\u6E05\u7406");return}e.info("[runtime-bridge] \u2605 Bridge \u91CD\u542F\u6E05\u7406\u5DF2\u663E\u5F0F\u542F\u7528\uFF0C\u6B63\u5728\u901A\u77E5\u8C03\u5EA6\u4E2D\u5FC3\u6E05\u7406 Agent \u72B6\u6001...");const o=await fe();o.success?e.info(`[runtime-bridge] \u2605 Bridge \u91CD\u542F\u6E05\u7406\u6210\u529F\uFF0C\u6E05\u7406\u4E86 ${o.agentCount||0} \u4E2A Agent`):e.warn(`[runtime-bridge] \u2605 Bridge \u91CD\u542F\u6E05\u7406\u5931\u8D25: ${o.error}`)}catch(r){const i=r;e.warn("[runtime-bridge] Bridge \u91CD\u542F\u6E05\u7406\u51FA\u9519:",i.message)}}async function ve(){try{const r=await y();if(r.length===0){e.info("[runtime-bridge] \u65E0\u6301\u4E45\u5316\u4F1A\u8BDD\uFF0C\u8DF3\u8FC7\u8FDB\u7A0B\u6CE8\u518C\u8868\u91CD\u5EFA");return}await C().rebuildRegistry(r.map(o=>({agentId:o.agentId,sessionId:o.sessionId,pid:o.pid,workspacePath:o.workspacePath,command:o.command,mode:"sdk"}))),e.info(`[runtime-bridge] \u8FDB\u7A0B\u6CE8\u518C\u8868\u91CD\u5EFA\u5B8C\u6210: ${r.length} \u6761\u8BB0\u5F55`)}catch(r){const i=r;e.warn("[runtime-bridge] \u8FDB\u7A0B\u6CE8\u518C\u8868\u91CD\u5EFA\u5931\u8D25:",i.message)}}ve().catch(r=>{e.warn("[runtime-bridge] \u8FDB\u7A0B\u6CE8\u518C\u8868\u91CD\u5EFA\u51FA\u9519:",r)});async function Ae(){try{const r=await import("node:fs/promises"),i=await import("node:path"),o=await import("node:os"),f=i.join(o.tmpdir(),"agentswork-runtime-bridge",".preserve-sessions");let u=!1;try{const t=await r.readFile(f,"utf-8");u=JSON.parse(t).preserveSessions===!0,await r.unlink(f),e.info(`[runtime-bridge] \u2605 \u68C0\u6D4B\u5230\u4FDD\u7559\u4F1A\u8BDD\u6807\u8BB0\uFF0CpreserveSessions=${u}`)}catch{}const a=await y();if(a.length===0){e.info("[runtime-bridge] \u542F\u52A8\u65F6\u65E0\u6301\u4E45\u5316\u4F1A\u8BDD\uFF0C\u65E0\u9700\u68C0\u6D4B\u5B64\u513F\u8FDB\u7A0B");return}if(!$e(u)){e.info(`[runtime-bridge] \u2605 \u4FDD\u7559 ${a.length} \u4E2A\u6301\u4E45\u5316\u4F1A\u8BDD\u5E76\u91CD\u5EFA\u8FDB\u7A0B\u6CE8\u518C\u8868`),await C().rebuildRegistry(a.map(s=>({agentId:s.agentId,sessionId:s.sessionId,pid:s.pid,workspacePath:s.workspacePath,command:s.command,mode:"sdk"})));return}e.info(`[runtime-bridge] \u2605 \u5DF2\u663E\u5F0F\u542F\u7528\u542F\u52A8\u6E05\u7406\uFF0C\u68C0\u6D4B ${a.length} \u4E2A\u6301\u4E45\u5316\u4F1A\u8BDD\u7684\u5B64\u513F\u8FDB\u7A0B...`);const c=await me(a.map(t=>({agentId:t.agentId,pid:t.pid,workspacePath:t.workspacePath,command:t.command})));if(c.length>0){e.warn(`[runtime-bridge] \u2605 \u68C0\u6D4B\u5230 ${c.length} \u4E2A\u5B64\u513F\u8FDB\u7A0B\u4ECD\u5728\u8FD0\u884C\uFF1A`);for(const t of c)e.warn(` - agentId=${t.agentId}, pid=${t.process.pid}, command=${t.process.command?.slice(0,50)}`);e.info("[runtime-bridge] \u6B63\u5728\u81EA\u52A8\u6E05\u7406\u6240\u6709\u5B64\u513F\u8FDB\u7A0B...");for(const t of c)try{if(t.process.pid)if(process.platform==="win32"){const{execSync:s}=await import("node:child_process");s(`taskkill /PID ${t.process.pid} /T /F`,{encoding:"utf8",timeout:3e3}),e.info(`[runtime-bridge] \u5DF2\u81EA\u52A8\u7EC8\u6B62\u5B64\u513F\u8FDB\u7A0B: agentId=${t.agentId}, PID=${t.process.pid}`)}else process.kill(t.process.pid,"SIGKILL"),e.info(`[runtime-bridge] \u5DF2\u81EA\u52A8\u7EC8\u6B62\u5B64\u513F\u8FDB\u7A0B: agentId=${t.agentId}, PID=${t.process.pid}`)}catch(s){const d=s;e.warn(`[runtime-bridge] \u81EA\u52A8\u7EC8\u6B62\u5B64\u513F\u8FDB\u7A0B\u5931\u8D25: agentId=${t.agentId}, PID=${t.process.pid}, error=${d.message}`)}await new Promise(t=>setTimeout(t,1e3))}await $([]),e.info(`[runtime-bridge] \u2605 \u542F\u52A8\u6E05\u7406\u5B8C\u6210\uFF0C\u5DF2\u6E05\u7A7A\u6240\u6709\u6301\u4E45\u5316\u4F1A\u8BDD\uFF08\u6E05\u7406\u4E86 ${c.length} \u4E2A\u5B64\u513F\u8FDB\u7A0B\uFF09`)}catch(r){const i=r;e.warn("[runtime-bridge] \u542F\u52A8\u65F6\u5B64\u513F\u8FDB\u7A0B\u68C0\u6D4B\u5931\u8D25:",i.message)}}Ae().catch(r=>{e.warn("[runtime-bridge] \u5B64\u513F\u8FDB\u7A0B\u68C0\u6D4B\u51FA\u9519:",r)}),ue().catch(r=>{e.warn("[runtime-bridge] \u542F\u52A8\u5B64\u513F\u8FDB\u7A0B\u76D1\u63A7\u5931\u8D25:",r)});const n=I();n.use(E({origin(r,i){if(!r){i(null,!0);return}if(P.includes("*")){i(null,!0);return}if(P.includes(r)){i(null,!0);return}try{if(new URL(r).port===String(w)){i(null,!0);return}}catch{}i(new Error(`[runtime-bridge] CORS origin is not allowed: ${r}`))}})),n.use(I.json({limit:"1mb"})),n.use("/runtime",ne),n.use("/runtime",F),n.use("/runtime",K),n.use("/runtime",M),n.use("/runtime",_),n.use("/runtime",L),n.use("/runtime",j),n.use("/runtime",U),n.use("/runtime",q),n.use("/runtime",Q),n.use("/runtime",ae),n.use("/runtime",W),n.use("/runtime",z),n.use("/runtime",J),n.use("/runtime",Y),n.use("/runtime",Z),n.use("/runtime",V),n.use("/runtime",X),n.use("/pty",te),n.use("/",se),n.use("/api/file-browser",H);function Ee(){const r=n.listen(w,()=>{e.info(`[runtime-bridge] listening on ${w}`)});return ee(r),r.on("error",i=>{if(i.code==="EADDRINUSE"){e.error(`[runtime-bridge] port ${w} is already in use. Stop the existing runtime-bridge process or set AWS_RUNTIME_BRIDGE_PORT to another port before starting.`),process.exitCode=1;return}e.error("[runtime-bridge] failed to start server:",i),process.exitCode=1}),r}let T=!1;async function b(r,i,o=!1){if(T){e.info(`[runtime-bridge] \u5DF2\u5728\u5173\u95ED\u4E2D\uFF0C\u5FFD\u7565 ${r}`);return}T=!0,o||R()&&(o=!0,e.info("[runtime-bridge] \u2605 \u68C0\u6D4B\u5230 .preserve-sessions \u6807\u8BB0\u6587\u4EF6\uFF0C\u81EA\u52A8\u5347\u7EA7\u4E3A\u4FDD\u7559\u4F1A\u8BDD\u6A21\u5F0F")),e.info(`[runtime-bridge] \u6536\u5230 ${r} \u4FE1\u53F7\uFF0C\u5F00\u59CB\u4F18\u96C5\u5173\u95ED... (preserveSessions=${o})`);const f=Date.now(),u=ye(o);try{const a=S.size;if(u.terminateSdkSessions){e.info(`[runtime-bridge] \u6B63\u5728\u505C\u6B62 ${a} \u4E2A SDK \u4F1A\u8BDD...`);for(const[t,s]of S.entries())try{const d=s.providerId||"claude-code",p=de.get(d);let g="";try{const m=p.getSessionPid?.(t);m&&(g=` (PID: ${m})`)}catch{}await p.terminateSession(t),e.info(`[runtime-bridge] SDK \u4F1A\u8BDD ${t} \u5DF2\u7EC8\u6B62${g}`),S.delete(t)}catch(d){const p=d;e.error(`[runtime-bridge] SDK \u4F1A\u8BDD ${t} \u7EC8\u6B62\u5931\u8D25:`,p.message),S.delete(t)}}else e.info(`[runtime-bridge] \u2605 \u4FDD\u7559 ${a} \u4E2A SDK \u4F1A\u8BDD\uFF0C\u4E0D\u5728\u91CD\u542F\u6062\u590D\u573A\u666F\u4E2D\u7EC8\u6B62 Agent \u8FDB\u7A0B`);const l=ie.size;if(u.closePtySessions?(e.info(`[runtime-bridge] \u6B63\u5728\u505C\u6B62 ${l} \u4E2A PTY \u4F1A\u8BDD...`),re("shutdown")):e.info(`[runtime-bridge] \u2605 \u4FDD\u7559 ${l} \u4E2A PTY \u4F1A\u8BDD\uFF0C\u4E0D\u5728\u91CD\u542F\u6062\u590D\u573A\u666F\u4E2D\u5173\u95ED\u7EC8\u7AEF\u8FDB\u7A0B`),e.info("[runtime-bridge] \u6B63\u5728\u505C\u6B62\u5B64\u513F\u8FDB\u7A0B\u76D1\u63A7..."),ce(),u.terminateResidualProcesses&&(e.info("[runtime-bridge] \u7B49\u5F85\u8FDB\u7A0B\u5B8C\u5168\u7EC8\u6B62..."),await new Promise(t=>setTimeout(t,1e3))),u.terminateResidualProcesses)try{const{detectOrphanProcesses:t,terminateProcessTree:s}=await import("./services/process-detector.js"),{loadPersistedSessions:d}=await import("./services/terminal-persistence.js"),p=await d();if(p.length>0){const g=await t(p.map(m=>({agentId:m.agentId,pid:m.pid,workspacePath:m.workspacePath,command:m.command})));if(g.length>0){e.warn(`[runtime-bridge] \u68C0\u6D4B\u5230 ${g.length} \u4E2A\u6B8B\u7559\u8FDB\u7A0B\uFF0C\u6B63\u5728\u5F3A\u5236\u7EC8\u6B62...`);for(const m of g)if(m.process.pid){const A=await s(m.process.pid);e.info(`[runtime-bridge] \u5DF2\u5F3A\u5236\u7EC8\u6B62\u6B8B\u7559\u8FDB\u7A0B\u6811\uFF1AagentId=${m.agentId}, PID=${m.process.pid}, \u7EC8\u6B62\u4E86 ${A.terminated} \u4E2A\u8FDB\u7A0B`)}}}}catch(t){const s=t;e.warn("[runtime-bridge] \u6B8B\u7559\u8FDB\u7A0B\u68C0\u67E5\u5931\u8D25:",s.message)}else e.info("[runtime-bridge] \u2605 \u4FDD\u7559\u6A21\u5F0F\u8DF3\u8FC7\u6B8B\u7559\u8FDB\u7A0B\u5F3A\u5236\u7EC8\u6B62\uFF0C\u7B49\u5F85\u8C03\u5EA6\u4E2D\u5FC3\u6062\u590D\u4F1A\u8BDD");if(u.unregisterInstance){e.info("[runtime-bridge] \u6B63\u5728\u6CE8\u9500\u5B9E\u4F8B...");try{await ge()}catch(t){const s=t;e.error("[runtime-bridge] \u6CE8\u9500\u5B9E\u4F8B\u5931\u8D25:",s.message)}}else e.info("[runtime-bridge] \u2605 \u4FDD\u7559\u6A21\u5F0F\u8DF3\u8FC7\u5B9E\u4F8B\u6CE8\u9500\uFF0C\u907F\u514D\u8C03\u5EA6\u4E2D\u5FC3\u5C06 Agent \u6807\u8BB0\u4E3A stopped");if(le(),u.stopTunnelClient&&(e.info("[runtime-bridge] \u6B63\u5728\u5173\u95ED\u96A7\u9053\u5BA2\u6237\u7AEF..."),be()),u.clearPersistedSessions){e.info("[runtime-bridge] \u6B63\u5728\u6E05\u7A7A\u6301\u4E45\u5316\u4F1A\u8BDD\u72B6\u6001...");try{await $([])}catch(t){const s=t;e.error("[runtime-bridge] \u6E05\u7A7A\u6301\u4E45\u5316\u72B6\u6001\u5931\u8D25:",s.message)}}else e.info("[runtime-bridge] \u2605 \u4FDD\u7559\u6301\u4E45\u5316\u4F1A\u8BDD\u72B6\u6001\uFF08aws-mcp-server \u91CD\u542F\u6062\u590D\u573A\u666F\uFF09");const c=Date.now()-f;e.info(`[runtime-bridge] \u4F18\u96C5\u5173\u95ED\u5B8C\u6210 (\u8017\u65F6 ${c}ms)\uFF0C\u505C\u6B62 ${a} SDK \u4F1A\u8BDD`),i.close(()=>{e.info("[runtime-bridge] HTTP \u670D\u52A1\u5668\u5DF2\u5173\u95ED"),process.exit(process.exitCode||0)}),setTimeout(()=>{e.warn("[runtime-bridge] \u4F18\u96C5\u5173\u95ED\u8D85\u65F6\uFF0C\u5F3A\u5236\u9000\u51FA"),process.exit(1)},15e3)}catch(a){const l=a;e.error("[runtime-bridge] \u4F18\u96C5\u5173\u95ED\u8FC7\u7A0B\u4E2D\u53D1\u751F\u9519\u8BEF:",l),process.exit(1)}}Pe.reconcileZombies().then(r=>{r>0&&e.info(`[runtime-bridge] \u5DF2\u6E05\u7406 ${r} \u4E2A\u50F5\u5C38 sub-agent \u8BB0\u5F55`)}).catch(r=>{e.warn("[runtime-bridge] \u6E05\u7406\u50F5\u5C38 sub-agent \u8BB0\u5F55\u5931\u8D25:",r.message)});const h=Ee(),v=x.join(O.tmpdir(),"agentswork-runtime-bridge",".preserve-sessions");function R(){try{if(D(v)){const r=B(v,"utf-8");return JSON.parse(r).preserveSessions===!0}}catch{}return!1}N(async(r,i)=>{await b(r,h,i)}),process.on("SIGTERM",()=>{const r=R();b("SIGTERM",h,r)}),process.on("SIGINT",()=>{const r=R();b("SIGINT",h,r)}),process.platform==="win32"&&process.on("SIGBREAK",()=>{const r=R();b("SIGBREAK",h,r)}),process.on("uncaughtException",r=>{e.error("[runtime-bridge] \u672A\u6355\u83B7\u5F02\u5E38:",r),b("uncaughtException",h)}),process.on("unhandledRejection",r=>{e.error("[runtime-bridge] \u672A\u5904\u7406\u7684 Promise \u62D2\u7EDD:",r)});
3
+
@@ -24,4 +24,3 @@ export declare function validateToken(req: Request, res: Response, next: NextFun
24
24
  * 适用于可从面板 UI 或外部 API 两种途径触发的操作。
25
25
  */
26
26
  export declare function validateTokenOrPanelSession(req: Request, res: Response, next: NextFunction): void;
27
- //# sourceMappingURL=auth.d.ts.map