aws-runtime-bridge 1.9.78 → 1.9.80

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 +0 -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 -2
  166. package/dist/services/windows-service-manager.js +2 -54
  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
@@ -1,258 +1,14 @@
1
- import { randomBytes } from "node:crypto";
2
- import { existsSync, readFileSync } from "node:fs";
3
- import os from "node:os";
4
- import { stdin as input, stdout as output } from "node:process";
5
- import { createInterface } from "node:readline/promises";
6
- import { atomicWriteJsonFile } from "../utils/file-utils.js";
7
- import { logger } from "../utils/logger.js";
8
- import { getAutoRegisterConfigFilePath } from "./auto-register.js";
9
- /**
10
- * 最小配置示例模板(占位符,不含任何真实密钥)。
11
- * `awsb config example` 与向导中的「最小配置」选项都会基于它生成示例。
12
- * 注意:模板内的 value 均为 <占位符>,切勿写入真实凭据——真实值应由用户手填。
13
- */
14
- export const MINIMAL_CONFIG_TEMPLATE = {
15
- autoRegisterTargets: [
16
- {
17
- instanceName: "<实例名称,例如 我的主机>",
18
- serverUrl: "http://<调度中心IP>:<端口>",
19
- userKey: "<你的 userKey>",
20
- instanceId: "<实例ID,首次可留空由服务端生成>",
21
- },
22
- ],
23
- connectionKey: "<面板连接 Bridge 的密钥>",
24
- panelUsername: "<面板用户名>",
25
- panelPassword: "<面板密码>",
26
- };
27
- /** 将最小配置模板格式化为可读的示例文本(占位符版)。 */
28
- export function formatConfigExample(template = MINIMAL_CONFIG_TEMPLATE) {
29
- const json = JSON.stringify(template, null, 2);
30
- return ("[runtime-bridge] 最小配置示例(请将 <占位符> 替换为真实值后保存):\n" +
31
- `${json}\n` +
32
- "[runtime-bridge] 说明:autoRegisterTargets 可包含多个目标;instanceId 首次可省略,由服务端生成;panelUsername / panelPassword 为可选面板认证。");
33
- }
34
- function normalizeAnswer(answer) {
35
- return answer.trim().toLowerCase();
36
- }
37
- function isYes(answer) {
38
- return ["", "y", "yes", "是", "好", "配置"].includes(normalizeAnswer(answer));
39
- }
40
- function isNo(answer) {
41
- return ["n", "no", "否", "不", "跳过", "skip", "s"].includes(normalizeAnswer(answer));
42
- }
43
- function readExistingConfig(configPath) {
44
- if (!existsSync(configPath)) {
45
- return {};
46
- }
47
- try {
48
- const parsed = JSON.parse(readFileSync(configPath, "utf-8"));
49
- return parsed && typeof parsed === "object" && !Array.isArray(parsed)
50
- ? parsed
51
- : {};
52
- }
53
- catch (error) {
54
- const err = error;
55
- logger.warn(`[runtime-bridge] 读取现有配置失败,将使用空默认值: ${err.message}`);
56
- return {};
57
- }
58
- }
59
- function generateDefaultConnectionKey() {
60
- return `awsb_${randomBytes(24).toString("base64url")}`;
61
- }
62
- async function writeConfigFile(configPath, config) {
63
- await atomicWriteJsonFile(configPath, config);
64
- }
65
- async function writeSkippedConfig(configPath, generateConnectionKey) {
66
- const connectionKey = generateConnectionKey();
67
- await writeConfigFile(configPath, { connectionKey });
68
- const message = `[runtime-bridge] 已创建配置文件: ${configPath}\n` +
69
- `[runtime-bridge] 自动生成 connectionKey: ${connectionKey}\n` +
70
- "[runtime-bridge] 请保存该 connectionKey;server/面板连接此 Bridge 时需要使用它。";
71
- logger.info(message);
72
- output.write(`${message}\n`);
73
- }
74
- async function askOptional(prompt, label, defaultValue) {
75
- const answer = await prompt.question(`${label}(默认使用当前值 ${defaultValue},直接回车保留): `);
76
- return answer.trim() || defaultValue;
77
- }
78
- const ASK_REQUIRED_MAX_RETRIES = 10;
79
- async function askRequired(prompt, label, currentValue) {
80
- let retries = 0;
81
- for (;;) {
82
- const answer = (await prompt.question(currentValue
83
- ? `${label}(默认使用当前值 ${currentValue},直接回车保留): `
84
- : `${label}: `)).trim();
85
- if (answer) {
86
- return answer;
87
- }
88
- if (currentValue) {
89
- return currentValue;
90
- }
91
- retries++;
92
- if (retries >= ASK_REQUIRED_MAX_RETRIES) {
93
- throw new Error(`${label} 输入超过最大重试次数(${ASK_REQUIRED_MAX_RETRIES}),退出配置引导`);
94
- }
95
- output.write(`${label} 不能为空,请重新输入。\n`);
96
- }
97
- }
98
- async function askShouldConfigure(prompt) {
99
- for (;;) {
100
- const answer = await prompt.question("未检测到 ~/.aws-bridge/config.json,是否现在进入自动注册配置引导?(Y/n): ");
101
- if (isYes(answer)) {
102
- return true;
103
- }
104
- if (isNo(answer)) {
105
- return false;
106
- }
107
- output.write("请输入 Y 继续配置,或输入 n 跳过。\n");
108
- }
109
- }
110
- /** 无配置文件时,询问用户走「完整逐步引导」还是「最小配置示例」。 */
111
- async function askConfigMode(prompt) {
112
- for (;;) {
113
- const answer = await prompt.question("未检测到配置文件,请选择配置方式:[1] 完整逐步引导 [2] 最小配置示例(生成占位符模板,稍后手动填写) (默认 1): ");
114
- const n = normalizeAnswer(answer);
115
- if (n === "" || n === "1" || n === "full" || n === "完整" || n === "引导") {
116
- return "full";
117
- }
118
- if (n === "2" || n === "minimal" || n === "最小" || n === "示例") {
119
- return "minimal";
120
- }
121
- output.write("请输入 1(完整引导)或 2(最小配置示例)。\n");
122
- }
123
- }
124
- async function collectStartupConfig(prompt, existingConfig = {}) {
125
- const existingTarget = existingConfig.autoRegisterTargets?.[0] || {};
126
- const defaultServerUrl = "http://127.0.0.1:8080";
127
- const defaultInstanceName = os.hostname() || "AgentsWork Runtime Bridge";
128
- const defaultRegisterAddr = "127.0.0.1";
129
- // 读取已有 registerAddr;若老配置只有 registerIp 则迁移过来
130
- const existingRegisterAddr = existingTarget.registerAddr ||
131
- existingTarget.registerIp ||
132
- defaultRegisterAddr;
133
- const connectionKey = await askRequired(prompt, "connectionKey(面板连接 Bridge 的密钥)", existingConfig.connectionKey);
134
- const serverUrl = await askOptional(prompt, "serverUrl(调度中心地址)", existingTarget.serverUrl || defaultServerUrl);
135
- const instanceName = await askOptional(prompt, "instanceName(实例名称)", existingTarget.instanceName || defaultInstanceName);
136
- const userKey = await askRequired(prompt, "userKey(用户 API Key)", existingTarget.userKey);
137
- const registerAddr = await askOptional(prompt, "registerAddr(Bridge 对外访问地址,支持 host:port / 纯 host / 完整 URL)", existingRegisterAddr);
138
- // 显式剥离老 registerIp 字段,避免输出中两字段共存
139
- const { registerIp: _legacyRegisterIp, ...targetWithoutRegisterIp } = existingTarget;
140
- return {
141
- ...existingConfig,
142
- connectionKey,
143
- autoRegisterTargets: [
144
- {
145
- ...targetWithoutRegisterIp,
146
- serverUrl,
147
- instanceName,
148
- userKey,
149
- registerAddr,
150
- },
151
- ],
152
- };
153
- }
154
- async function createPrompt(options) {
155
- return {
156
- prompt: options.prompt || createInterface({ input, output, terminal: true }),
157
- shouldClosePrompt: !options.prompt,
158
- };
159
- }
160
- export async function ensureStartupConfig(options = {}) {
161
- const configPath = options.configPath || getAutoRegisterConfigFilePath();
162
- const generateConnectionKey = options.generateConnectionKey || generateDefaultConnectionKey;
163
- if (existsSync(configPath)) {
164
- return "exists";
165
- }
166
- const env = options.env || process.env;
167
- if (env.AWS_BRIDGE_SKIP_SETUP === "true") {
168
- await writeSkippedConfig(configPath, generateConnectionKey);
169
- logger.info("[runtime-bridge] AWS_BRIDGE_SKIP_SETUP=true,跳过首次配置引导");
170
- return "skipped";
171
- }
172
- const interactive = options.interactive ?? Boolean(process.stdin.isTTY && process.stdout.isTTY);
173
- if (!interactive) {
174
- await writeSkippedConfig(configPath, generateConnectionKey);
175
- logger.info(`[runtime-bridge] 未检测到配置文件: ${configPath};当前为非交互环境,跳过首次配置引导`);
176
- return "non-interactive";
177
- }
178
- const { prompt, shouldClosePrompt } = await createPrompt(options);
179
- try {
180
- const shouldConfigure = await askShouldConfigure(prompt);
181
- if (!shouldConfigure) {
182
- await writeSkippedConfig(configPath, generateConnectionKey);
183
- logger.info("[runtime-bridge] 已跳过首次配置引导");
184
- return "skipped";
185
- }
186
- const config = await collectStartupConfig(prompt);
187
- await writeConfigFile(configPath, config);
188
- logger.info(`[runtime-bridge] 已写入配置文件: ${configPath}`);
189
- return "created";
190
- }
191
- catch (error) {
192
- const err = error;
193
- logger.warn(`[runtime-bridge] 首次配置引导失败: ${err.message}`);
194
- return "failed";
195
- }
196
- finally {
197
- if (shouldClosePrompt) {
198
- prompt.close();
199
- }
200
- }
201
- }
202
- export async function configureStartupConfig(options = {}) {
203
- const configPath = options.configPath || getAutoRegisterConfigFilePath();
204
- const interactive = options.interactive ?? Boolean(process.stdin.isTTY && process.stdout.isTTY);
205
- if (!interactive) {
206
- logger.warn("[runtime-bridge] awsb config 需要交互式终端");
207
- return "failed";
208
- }
209
- const { prompt, shouldClosePrompt } = await createPrompt(options);
210
- try {
211
- const existingConfig = readExistingConfig(configPath);
212
- const noExistingConfig = !existsSync(configPath);
213
- // 无配置文件时,先让用户选择「完整引导」或「最小配置示例」
214
- if (noExistingConfig) {
215
- const mode = await askConfigMode(prompt);
216
- if (mode === "minimal") {
217
- output.write(formatConfigExample());
218
- await writeConfigFile(configPath, MINIMAL_CONFIG_TEMPLATE);
219
- output.write(`[runtime-bridge] 已将最小配置示例模板写入: ${configPath}\n`);
220
- output.write("[runtime-bridge] 请将 <占位符> 替换为真实值后保存。\n");
221
- return "created";
222
- }
223
- }
224
- const config = await collectStartupConfig(prompt, existingConfig);
225
- await writeConfigFile(configPath, config);
226
- logger.info(`[runtime-bridge] 已更新配置文件: ${configPath}`);
227
- return "configured";
228
- }
229
- catch (error) {
230
- const err = error;
231
- logger.warn(`[runtime-bridge] 配置引导失败: ${err.message}`);
232
- return "failed";
233
- }
234
- finally {
235
- if (shouldClosePrompt) {
236
- prompt.close();
237
- }
238
- }
239
- }
240
- /**
241
- * `awsb config example`:直接打印最小配置示例(占位符版),
242
- * 并把模板写入 config.json 供用户稍后手动填值。非交互环境也能用。
243
- */
244
- export async function printConfigExampleCommand(options = {}) {
245
- const configPath = options.configPath || getAutoRegisterConfigFilePath();
246
- output.write(formatConfigExample());
247
- try {
248
- await writeConfigFile(configPath, MINIMAL_CONFIG_TEMPLATE);
249
- output.write(`[runtime-bridge] 已将最小配置示例模板写入: ${configPath}\n`);
250
- output.write("[runtime-bridge] 请将 <占位符> 替换为真实值后保存。\n");
251
- return "created";
252
- }
253
- catch (error) {
254
- const err = error;
255
- logger.warn(`[runtime-bridge] 写入示例模板失败: ${err.message}`);
256
- return "failed";
257
- }
258
- }
1
+ import{randomBytes as P}from"node:crypto";import{existsSync as d,readFileSync as T}from"node:fs";import v from"node:os";import{stdin as E,stdout as i}from"node:process";import{createInterface as x}from"node:readline/promises";import{atomicWriteJsonFile as _}from"../utils/file-utils.js";import{logger as o}from"../utils/logger.js";import{getAutoRegisterConfigFilePath as m}from"./auto-register.js";const w={autoRegisterTargets:[{instanceName:"<\u5B9E\u4F8B\u540D\u79F0\uFF0C\u4F8B\u5982 \u6211\u7684\u4E3B\u673A>",serverUrl:"http://<\u8C03\u5EA6\u4E2D\u5FC3IP>:<\u7AEF\u53E3>",userKey:"<\u4F60\u7684 userKey>",instanceId:"<\u5B9E\u4F8BID\uFF0C\u9996\u6B21\u53EF\u7559\u7A7A\u7531\u670D\u52A1\u7AEF\u751F\u6210>"}],connectionKey:"<\u9762\u677F\u8FDE\u63A5 Bridge \u7684\u5BC6\u94A5>",panelUsername:"<\u9762\u677F\u7528\u6237\u540D>",panelPassword:"<\u9762\u677F\u5BC6\u7801>"};function C(t=w){return`[runtime-bridge] \u6700\u5C0F\u914D\u7F6E\u793A\u4F8B\uFF08\u8BF7\u5C06 <\u5360\u4F4D\u7B26> \u66FF\u6362\u4E3A\u771F\u5B9E\u503C\u540E\u4FDD\u5B58\uFF09:
2
+ ${JSON.stringify(t,null,2)}
3
+ [runtime-bridge] \u8BF4\u660E\uFF1AautoRegisterTargets \u53EF\u5305\u542B\u591A\u4E2A\u76EE\u6807\uFF1BinstanceId \u9996\u6B21\u53EF\u7701\u7565\uFF0C\u7531\u670D\u52A1\u7AEF\u751F\u6210\uFF1BpanelUsername / panelPassword \u4E3A\u53EF\u9009\u9762\u677F\u8BA4\u8BC1\u3002`}function l(t){return t.trim().toLowerCase()}function U(t){return["","y","yes","\u662F","\u597D","\u914D\u7F6E"].includes(l(t))}function B(t){return["n","no","\u5426","\u4E0D","\u8DF3\u8FC7","skip","s"].includes(l(t))}function N(t){if(!d(t))return{};try{const e=JSON.parse(T(t,"utf-8"));return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}catch(e){const r=e;return o.warn(`[runtime-bridge] \u8BFB\u53D6\u73B0\u6709\u914D\u7F6E\u5931\u8D25\uFF0C\u5C06\u4F7F\u7528\u7A7A\u9ED8\u8BA4\u503C: ${r.message}`),{}}}function k(){return`awsb_${P(24).toString("base64url")}`}async function g(t,e){await _(t,e)}async function p(t,e){const r=e();await g(t,{connectionKey:r});const n=`[runtime-bridge] \u5DF2\u521B\u5EFA\u914D\u7F6E\u6587\u4EF6: ${t}
4
+ [runtime-bridge] \u81EA\u52A8\u751F\u6210 connectionKey: ${r}
5
+ [runtime-bridge] \u8BF7\u4FDD\u5B58\u8BE5 connectionKey\uFF1Bserver/\u9762\u677F\u8FDE\u63A5\u6B64 Bridge \u65F6\u9700\u8981\u4F7F\u7528\u5B83\u3002`;o.info(n),i.write(`${n}
6
+ `)}async function y(t,e,r){return(await t.question(`${e}\uFF08\u9ED8\u8BA4\u4F7F\u7528\u5F53\u524D\u503C ${r}\uFF0C\u76F4\u63A5\u56DE\u8F66\u4FDD\u7559\uFF09: `)).trim()||r}const h=10;async function $(t,e,r){let n=0;for(;;){const a=(await t.question(r?`${e}\uFF08\u9ED8\u8BA4\u4F7F\u7528\u5F53\u524D\u503C ${r}\uFF0C\u76F4\u63A5\u56DE\u8F66\u4FDD\u7559\uFF09: `:`${e}: `)).trim();if(a)return a;if(r)return r;if(n++,n>=h)throw new Error(`${e} \u8F93\u5165\u8D85\u8FC7\u6700\u5927\u91CD\u8BD5\u6B21\u6570\uFF08${h}\uFF09\uFF0C\u9000\u51FA\u914D\u7F6E\u5F15\u5BFC`);i.write(`${e} \u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\u3002
7
+ `)}}async function Y(t){for(;;){const e=await t.question("\u672A\u68C0\u6D4B\u5230 ~/.aws-bridge/config.json\uFF0C\u662F\u5426\u73B0\u5728\u8FDB\u5165\u81EA\u52A8\u6CE8\u518C\u914D\u7F6E\u5F15\u5BFC\uFF1F(Y/n): ");if(U(e))return!0;if(B(e))return!1;i.write(`\u8BF7\u8F93\u5165 Y \u7EE7\u7EED\u914D\u7F6E\uFF0C\u6216\u8F93\u5165 n \u8DF3\u8FC7\u3002
8
+ `)}}async function q(t){for(;;){const e=await t.question("\u672A\u68C0\u6D4B\u5230\u914D\u7F6E\u6587\u4EF6\uFF0C\u8BF7\u9009\u62E9\u914D\u7F6E\u65B9\u5F0F\uFF1A[1] \u5B8C\u6574\u9010\u6B65\u5F15\u5BFC [2] \u6700\u5C0F\u914D\u7F6E\u793A\u4F8B\uFF08\u751F\u6210\u5360\u4F4D\u7B26\u6A21\u677F\uFF0C\u7A0D\u540E\u624B\u52A8\u586B\u5199\uFF09 (\u9ED8\u8BA4 1): "),r=l(e);if(r===""||r==="1"||r==="full"||r==="\u5B8C\u6574"||r==="\u5F15\u5BFC")return"full";if(r==="2"||r==="minimal"||r==="\u6700\u5C0F"||r==="\u793A\u4F8B")return"minimal";i.write(`\u8BF7\u8F93\u5165 1\uFF08\u5B8C\u6574\u5F15\u5BFC\uFF09\u6216 2\uFF08\u6700\u5C0F\u914D\u7F6E\u793A\u4F8B\uFF09\u3002
9
+ `)}}async function b(t,e={}){const r=e.autoRegisterTargets?.[0]||{},n="http://127.0.0.1:8080",a=v.hostname()||"AgentsWork Runtime Bridge",c=r.registerAddr||r.registerIp||"127.0.0.1",u=await $(t,"connectionKey\uFF08\u9762\u677F\u8FDE\u63A5 Bridge \u7684\u5BC6\u94A5\uFF09",e.connectionKey),f=await y(t,"serverUrl\uFF08\u8C03\u5EA6\u4E2D\u5FC3\u5730\u5740\uFF09",r.serverUrl||n),K=await y(t,"instanceName\uFF08\u5B9E\u4F8B\u540D\u79F0\uFF09",r.instanceName||a),R=await $(t,"userKey\uFF08\u7528\u6237 API Key\uFF09",r.userKey),S=await y(t,"registerAddr\uFF08Bridge \u5BF9\u5916\u8BBF\u95EE\u5730\u5740\uFF0C\u652F\u6301 host:port / \u7EAF host / \u5B8C\u6574 URL\uFF09",c),{registerIp:D,...A}=r;return{...e,connectionKey:u,autoRegisterTargets:[{...A,serverUrl:f,instanceName:K,userKey:R,registerAddr:S}]}}async function I(t){return{prompt:t.prompt||x({input:E,output:i,terminal:!0}),shouldClosePrompt:!t.prompt}}async function z(t={}){const e=t.configPath||m(),r=t.generateConnectionKey||k;if(d(e))return"exists";if((t.env||process.env).AWS_BRIDGE_SKIP_SETUP==="true")return await p(e,r),o.info("[runtime-bridge] AWS_BRIDGE_SKIP_SETUP=true\uFF0C\u8DF3\u8FC7\u9996\u6B21\u914D\u7F6E\u5F15\u5BFC"),"skipped";if(!(t.interactive??!!(process.stdin.isTTY&&process.stdout.isTTY)))return await p(e,r),o.info(`[runtime-bridge] \u672A\u68C0\u6D4B\u5230\u914D\u7F6E\u6587\u4EF6: ${e}\uFF1B\u5F53\u524D\u4E3A\u975E\u4EA4\u4E92\u73AF\u5883\uFF0C\u8DF3\u8FC7\u9996\u6B21\u914D\u7F6E\u5F15\u5BFC`),"non-interactive";const{prompt:s,shouldClosePrompt:c}=await I(t);try{if(!await Y(s))return await p(e,r),o.info("[runtime-bridge] \u5DF2\u8DF3\u8FC7\u9996\u6B21\u914D\u7F6E\u5F15\u5BFC"),"skipped";const f=await b(s);return await g(e,f),o.info(`[runtime-bridge] \u5DF2\u5199\u5165\u914D\u7F6E\u6587\u4EF6: ${e}`),"created"}catch(u){const f=u;return o.warn(`[runtime-bridge] \u9996\u6B21\u914D\u7F6E\u5F15\u5BFC\u5931\u8D25: ${f.message}`),"failed"}finally{c&&s.close()}}async function Q(t={}){const e=t.configPath||m();if(!(t.interactive??!!(process.stdin.isTTY&&process.stdout.isTTY)))return o.warn("[runtime-bridge] awsb config \u9700\u8981\u4EA4\u4E92\u5F0F\u7EC8\u7AEF"),"failed";const{prompt:n,shouldClosePrompt:a}=await I(t);try{const s=N(e);if(!d(e)&&await q(n)==="minimal")return i.write(C()),await g(e,w),i.write(`[runtime-bridge] \u5DF2\u5C06\u6700\u5C0F\u914D\u7F6E\u793A\u4F8B\u6A21\u677F\u5199\u5165: ${e}
10
+ `),i.write(`[runtime-bridge] \u8BF7\u5C06 <\u5360\u4F4D\u7B26> \u66FF\u6362\u4E3A\u771F\u5B9E\u503C\u540E\u4FDD\u5B58\u3002
11
+ `),"created";const u=await b(n,s);return await g(e,u),o.info(`[runtime-bridge] \u5DF2\u66F4\u65B0\u914D\u7F6E\u6587\u4EF6: ${e}`),"configured"}catch(s){const c=s;return o.warn(`[runtime-bridge] \u914D\u7F6E\u5F15\u5BFC\u5931\u8D25: ${c.message}`),"failed"}finally{a&&n.close()}}async function X(t={}){const e=t.configPath||m();i.write(C());try{return await g(e,w),i.write(`[runtime-bridge] \u5DF2\u5C06\u6700\u5C0F\u914D\u7F6E\u793A\u4F8B\u6A21\u677F\u5199\u5165: ${e}
12
+ `),i.write(`[runtime-bridge] \u8BF7\u5C06 <\u5360\u4F4D\u7B26> \u66FF\u6362\u4E3A\u771F\u5B9E\u503C\u540E\u4FDD\u5B58\u3002
13
+ `),"created"}catch(r){const n=r;return o.warn(`[runtime-bridge] \u5199\u5165\u793A\u4F8B\u6A21\u677F\u5931\u8D25: ${n.message}`),"failed"}}export{w as MINIMAL_CONFIG_TEMPLATE,Q as configureStartupConfig,z as ensureStartupConfig,C as formatConfigExample,X as printConfigExampleCommand};
14
+
@@ -1,4 +1,3 @@
1
1
  import { SubAgentManager, SubAgentStore } from "@agentswork/acode";
2
2
  export declare const subAgentManager: SubAgentManager;
3
3
  export declare const subAgentStore: SubAgentStore;
4
- //# sourceMappingURL=sub-agent-manager-instance.d.ts.map
@@ -1,12 +1,2 @@
1
- import { SubAgentManager, SubAgentStore } from "@agentswork/acode";
2
- /**
3
- * Bridge 层 SubAgentManager 单例。
4
- *
5
- * 每个 bridge 进程持有一个 SubAgentManager 实例,
6
- * 所有 ACodeRuntime 实例共享(通过 ACodeRuntimeConfig.subAgentManager 注入)。
7
- *
8
- * SubAgentStore 同样单例,所有 agent 共用(按 agentId 文件隔离)。
9
- */
10
- const store = new SubAgentStore();
11
- export const subAgentManager = new SubAgentManager({ store });
12
- export const subAgentStore = store;
1
+ import{SubAgentManager as t,SubAgentStore as n}from"@agentswork/acode";const e=new n,r=new t({store:e}),g=e;export{r as subAgentManager,g as subAgentStore};
2
+
@@ -37,4 +37,3 @@ export interface SystemMetricsSnapshot {
37
37
  * 主流程:并行采集内存/存储/网络,CPU 做短采样后合并为前端可展示结构。
38
38
  */
39
39
  export declare function collectSystemMetrics(): Promise<SystemMetricsSnapshot>;
40
- //# sourceMappingURL=system-metrics.d.ts.map
@@ -1,252 +1,2 @@
1
- import { execFileSync, execSync } from "node:child_process";
2
- import os from "node:os";
3
- import { createLogger } from "../utils/logger.js";
4
- const log = createLogger("system-metrics");
5
- const CPU_SAMPLE_INTERVAL_MS = 120;
6
- const BYTES_PER_GIB = 1024 ** 3;
7
- let previousNetworkTotals = null;
8
- function roundToTwo(value) {
9
- return Math.round(value * 100) / 100;
10
- }
11
- function clampPercent(value) {
12
- if (!Number.isFinite(value)) {
13
- return 0;
14
- }
15
- return roundToTwo(Math.min(100, Math.max(0, value)));
16
- }
17
- function bytesToGiB(value) {
18
- return roundToTwo(value / BYTES_PER_GIB);
19
- }
20
- function sumCpuTimes() {
21
- return os.cpus().reduce((snapshot, cpu) => {
22
- const total = Object.values(cpu.times).reduce((sum, time) => sum + time, 0);
23
- return {
24
- idle: snapshot.idle + cpu.times.idle,
25
- total: snapshot.total + total,
26
- };
27
- }, { idle: 0, total: 0 });
28
- }
29
- function wait(ms) {
30
- return new Promise((resolve) => {
31
- setTimeout(resolve, ms);
32
- });
33
- }
34
- /**
35
- * 采样整机 CPU 使用率。
36
- * 主流程:读取两次 CPU times -> 计算非 idle 增量占比 -> 返回核心数与型号信息。
37
- */
38
- async function collectCpuMetrics() {
39
- const before = sumCpuTimes();
40
- await wait(CPU_SAMPLE_INTERVAL_MS);
41
- const after = sumCpuTimes();
42
- const totalDelta = after.total - before.total;
43
- const idleDelta = after.idle - before.idle;
44
- const usagePercent = totalDelta <= 0 ? 0 : ((totalDelta - idleDelta) / totalDelta) * 100;
45
- const cpus = os.cpus();
46
- return {
47
- usagePercent: clampPercent(usagePercent),
48
- coreCount: cpus.length,
49
- model: cpus[0]?.model || os.arch(),
50
- };
51
- }
52
- function collectMemoryMetrics() {
53
- const totalBytes = os.totalmem();
54
- const freeBytes = os.freemem();
55
- const usedBytes = Math.max(0, totalBytes - freeBytes);
56
- return {
57
- usedBytes,
58
- freeBytes,
59
- totalBytes,
60
- usagePercent: totalBytes > 0 ? clampPercent((usedBytes / totalBytes) * 100) : 0,
61
- };
62
- }
63
- function resolveStorageProbePath() {
64
- return process.env.AWS_SYSTEM_METRICS_STORAGE_PATH || process.cwd();
65
- }
66
- function collectWindowsDiskUsage(targetPath) {
67
- const root = os.platform() === "win32" ? targetPath.slice(0, 2).toUpperCase() : targetPath;
68
- const script = `Get-CimInstance Win32_LogicalDisk -Filter "DeviceID='${root.replace(/'/g, "''")}'" | Select-Object Size,FreeSpace | ConvertTo-Json -Compress`;
69
- const output = execFileSync("powershell", ["-NoProfile", "-NonInteractive", "-Command", script], { encoding: "utf8", timeout: 5000, windowsHide: true }).trim();
70
- const parsed = JSON.parse(output);
71
- return {
72
- freeBytes: Number(parsed.FreeSpace || 0),
73
- totalBytes: Number(parsed.Size || 0),
74
- };
75
- }
76
- function collectUnixDiskUsage(targetPath) {
77
- const output = execFileSync("df", ["-kP", targetPath], {
78
- encoding: "utf8",
79
- timeout: 5000,
80
- }).trim();
81
- const lines = output.split(/\r?\n/).filter(Boolean);
82
- const columns = lines[1]?.trim().split(/\s+/) || [];
83
- const totalKiB = Number(columns[1] || 0);
84
- const usedKiB = Number(columns[2] || 0);
85
- const freeKiB = Number(columns[3] || Math.max(0, totalKiB - usedKiB));
86
- return {
87
- freeBytes: freeKiB * 1024,
88
- totalBytes: totalKiB * 1024,
89
- };
90
- }
91
- /**
92
- * 采集工作区所在磁盘容量。
93
- * 主流程:优先查询当前工作目录所在卷 -> 失败时回退为 0,避免影响终端主流程。
94
- */
95
- function collectStorageMetrics() {
96
- const targetPath = resolveStorageProbePath();
97
- try {
98
- const usage = os.platform() === "win32"
99
- ? collectWindowsDiskUsage(targetPath)
100
- : collectUnixDiskUsage(targetPath);
101
- const totalBytes = Math.max(0, usage.totalBytes);
102
- const freeBytes = Math.max(0, usage.freeBytes);
103
- const usedBytes = Math.max(0, totalBytes - freeBytes);
104
- return {
105
- path: targetPath,
106
- usedBytes,
107
- freeBytes,
108
- totalBytes,
109
- usagePercent: totalBytes > 0 ? clampPercent((usedBytes / totalBytes) * 100) : 0,
110
- freeGiB: bytesToGiB(freeBytes),
111
- totalGiB: bytesToGiB(totalBytes),
112
- };
113
- }
114
- catch (error) {
115
- log.debug("Failed to collect storage metrics:", error);
116
- return {
117
- path: targetPath,
118
- usedBytes: 0,
119
- freeBytes: 0,
120
- totalBytes: 0,
121
- usagePercent: 0,
122
- freeGiB: 0,
123
- totalGiB: 0,
124
- };
125
- }
126
- }
127
- function collectLinuxNetworkTotals() {
128
- try {
129
- const output = execSync("cat /proc/net/dev", { encoding: "utf8", timeout: 5000 });
130
- let uploadTotalBytes = 0;
131
- let downloadTotalBytes = 0;
132
- for (const line of output.split(/\r?\n/)) {
133
- const [rawName, rawValues] = line.split(":");
134
- if (!rawName || !rawValues) {
135
- continue;
136
- }
137
- const name = rawName.trim();
138
- if (!name || name === "lo") {
139
- continue;
140
- }
141
- const values = rawValues.trim().split(/\s+/).map(Number);
142
- downloadTotalBytes += Number.isFinite(values[0]) ? values[0] : 0;
143
- uploadTotalBytes += Number.isFinite(values[8]) ? values[8] : 0;
144
- }
145
- return { uploadTotalBytes, downloadTotalBytes };
146
- }
147
- catch (error) {
148
- log.debug("Failed to collect Linux network metrics:", error);
149
- return null;
150
- }
151
- }
152
- function collectDarwinNetworkTotals() {
153
- try {
154
- const output = execFileSync("netstat", ["-ibn"], { encoding: "utf8", timeout: 5000 });
155
- const seen = new Set();
156
- let uploadTotalBytes = 0;
157
- let downloadTotalBytes = 0;
158
- for (const line of output.split(/\r?\n/).slice(1)) {
159
- const columns = line.trim().split(/\s+/);
160
- const name = columns[0];
161
- if (!name || name === "lo0" || seen.has(name)) {
162
- continue;
163
- }
164
- const inputBytes = Number(columns[6] || 0);
165
- const outputBytes = Number(columns[9] || 0);
166
- downloadTotalBytes += Number.isFinite(inputBytes) ? inputBytes : 0;
167
- uploadTotalBytes += Number.isFinite(outputBytes) ? outputBytes : 0;
168
- seen.add(name);
169
- }
170
- return { uploadTotalBytes, downloadTotalBytes };
171
- }
172
- catch (error) {
173
- log.debug("Failed to collect macOS network metrics:", error);
174
- return null;
175
- }
176
- }
177
- function collectWindowsNetworkTotals() {
178
- try {
179
- const script = "Get-NetAdapterStatistics | Select-Object ReceivedBytes,SentBytes | ConvertTo-Json -Compress";
180
- const output = execFileSync("powershell", ["-NoProfile", "-NonInteractive", "-Command", script], { encoding: "utf8", timeout: 5000, windowsHide: true }).trim();
181
- if (!output) {
182
- return null;
183
- }
184
- const parsed = JSON.parse(output);
185
- const rows = Array.isArray(parsed) ? parsed : [parsed];
186
- return rows.reduce((totals, row) => ({
187
- downloadTotalBytes: totals.downloadTotalBytes + Number(row.ReceivedBytes || 0),
188
- uploadTotalBytes: totals.uploadTotalBytes + Number(row.SentBytes || 0),
189
- }), { uploadTotalBytes: 0, downloadTotalBytes: 0 });
190
- }
191
- catch (error) {
192
- log.debug("Failed to collect Windows network metrics:", error);
193
- return null;
194
- }
195
- }
196
- function collectNetworkTotals() {
197
- const platform = os.platform();
198
- const totals = platform === "win32"
199
- ? collectWindowsNetworkTotals()
200
- : platform === "darwin"
201
- ? collectDarwinNetworkTotals()
202
- : collectLinuxNetworkTotals();
203
- return {
204
- uploadTotalBytes: totals?.uploadTotalBytes || 0,
205
- downloadTotalBytes: totals?.downloadTotalBytes || 0,
206
- sampledAt: Date.now(),
207
- };
208
- }
209
- /**
210
- * 采集网络上下行速率。
211
- * 主流程:读取累计收发字节 -> 与上次采样做时间差分 -> 首次采样速率为 0。
212
- */
213
- function collectNetworkMetrics() {
214
- const current = collectNetworkTotals();
215
- const previous = previousNetworkTotals;
216
- previousNetworkTotals = current;
217
- if (!previous) {
218
- return {
219
- uploadBytesPerSecond: 0,
220
- downloadBytesPerSecond: 0,
221
- uploadTotalBytes: current.uploadTotalBytes,
222
- downloadTotalBytes: current.downloadTotalBytes,
223
- };
224
- }
225
- const elapsedSeconds = Math.max(1, (current.sampledAt - previous.sampledAt) / 1000);
226
- return {
227
- uploadBytesPerSecond: Math.max(0, Math.round((current.uploadTotalBytes - previous.uploadTotalBytes) / elapsedSeconds)),
228
- downloadBytesPerSecond: Math.max(0, Math.round((current.downloadTotalBytes - previous.downloadTotalBytes) / elapsedSeconds)),
229
- uploadTotalBytes: current.uploadTotalBytes,
230
- downloadTotalBytes: current.downloadTotalBytes,
231
- };
232
- }
233
- /**
234
- * 汇总机器关键指标快照。
235
- * 主流程:并行采集内存/存储/网络,CPU 做短采样后合并为前端可展示结构。
236
- */
237
- export async function collectSystemMetrics() {
238
- const [cpu, memory, storage, network] = await Promise.all([
239
- collectCpuMetrics(),
240
- Promise.resolve(collectMemoryMetrics()),
241
- Promise.resolve(collectStorageMetrics()),
242
- Promise.resolve(collectNetworkMetrics()),
243
- ]);
244
- return {
245
- ok: true,
246
- collectedAt: new Date().toISOString(),
247
- cpu,
248
- memory,
249
- storage,
250
- network,
251
- };
252
- }
1
+ import{execFileSync as i,execSync as w}from"node:child_process";import c from"node:os";import{createLogger as T}from"../utils/logger.js";const u=T("system-metrics"),S=120,N=1024**3;let p=null;function y(t){return Math.round(t*100)/100}function d(t){return Number.isFinite(t)?y(Math.min(100,Math.max(0,t))):0}function B(t){return y(t/N)}function f(){return c.cpus().reduce((t,e)=>{const o=Object.values(e.times).reduce((n,r)=>n+r,0);return{idle:t.idle+e.times.idle,total:t.total+o}},{idle:0,total:0})}function g(t){return new Promise(e=>{setTimeout(e,t)})}async function b(){const t=f();await g(S);const e=f(),o=e.total-t.total,n=e.idle-t.idle,r=o<=0?0:(o-n)/o*100,s=c.cpus();return{usagePercent:d(r),coreCount:s.length,model:s[0]?.model||c.arch()}}function h(){const t=c.totalmem(),e=c.freemem(),o=Math.max(0,t-e);return{usedBytes:o,freeBytes:e,totalBytes:t,usagePercent:t>0?d(o/t*100):0}}function P(){return process.env.AWS_SYSTEM_METRICS_STORAGE_PATH||process.cwd()}function M(t){const o=`Get-CimInstance Win32_LogicalDisk -Filter "DeviceID='${(c.platform()==="win32"?t.slice(0,2).toUpperCase():t).replace(/'/g,"''")}'" | Select-Object Size,FreeSpace | ConvertTo-Json -Compress`,n=i("powershell",["-NoProfile","-NonInteractive","-Command",o],{encoding:"utf8",timeout:5e3,windowsHide:!0}).trim(),r=JSON.parse(n);return{freeBytes:Number(r.FreeSpace||0),totalBytes:Number(r.Size||0)}}function v(t){const n=i("df",["-kP",t],{encoding:"utf8",timeout:5e3}).trim().split(/\r?\n/).filter(Boolean)[1]?.trim().split(/\s+/)||[],r=Number(n[1]||0),s=Number(n[2]||0);return{freeBytes:Number(n[3]||Math.max(0,r-s))*1024,totalBytes:r*1024}}function k(){const t=P();try{const e=c.platform()==="win32"?M(t):v(t),o=Math.max(0,e.totalBytes),n=Math.max(0,e.freeBytes),r=Math.max(0,o-n);return{path:t,usedBytes:r,freeBytes:n,totalBytes:o,usagePercent:o>0?d(r/o*100):0,freeGiB:B(n),totalGiB:B(o)}}catch(e){return u.debug("Failed to collect storage metrics:",e),{path:t,usedBytes:0,freeBytes:0,totalBytes:0,usagePercent:0,freeGiB:0,totalGiB:0}}}function x(){try{const t=w("cat /proc/net/dev",{encoding:"utf8",timeout:5e3});let e=0,o=0;for(const n of t.split(/\r?\n/)){const[r,s]=n.split(":");if(!r||!s)continue;const l=r.trim();if(!l||l==="lo")continue;const a=s.trim().split(/\s+/).map(Number);o+=Number.isFinite(a[0])?a[0]:0,e+=Number.isFinite(a[8])?a[8]:0}return{uploadTotalBytes:e,downloadTotalBytes:o}}catch(t){return u.debug("Failed to collect Linux network metrics:",t),null}}function C(){try{const t=i("netstat",["-ibn"],{encoding:"utf8",timeout:5e3}),e=new Set;let o=0,n=0;for(const r of t.split(/\r?\n/).slice(1)){const s=r.trim().split(/\s+/),l=s[0];if(!l||l==="lo0"||e.has(l))continue;const a=Number(s[6]||0),m=Number(s[9]||0);n+=Number.isFinite(a)?a:0,o+=Number.isFinite(m)?m:0,e.add(l)}return{uploadTotalBytes:o,downloadTotalBytes:n}}catch(t){return u.debug("Failed to collect macOS network metrics:",t),null}}function F(){try{const e=i("powershell",["-NoProfile","-NonInteractive","-Command","Get-NetAdapterStatistics | Select-Object ReceivedBytes,SentBytes | ConvertTo-Json -Compress"],{encoding:"utf8",timeout:5e3,windowsHide:!0}).trim();if(!e)return null;const o=JSON.parse(e);return(Array.isArray(o)?o:[o]).reduce((r,s)=>({downloadTotalBytes:r.downloadTotalBytes+Number(s.ReceivedBytes||0),uploadTotalBytes:r.uploadTotalBytes+Number(s.SentBytes||0)}),{uploadTotalBytes:0,downloadTotalBytes:0})}catch(t){return u.debug("Failed to collect Windows network metrics:",t),null}}function A(){const t=c.platform(),e=t==="win32"?F():t==="darwin"?C():x();return{uploadTotalBytes:e?.uploadTotalBytes||0,downloadTotalBytes:e?.downloadTotalBytes||0,sampledAt:Date.now()}}function D(){const t=A(),e=p;if(p=t,!e)return{uploadBytesPerSecond:0,downloadBytesPerSecond:0,uploadTotalBytes:t.uploadTotalBytes,downloadTotalBytes:t.downloadTotalBytes};const o=Math.max(1,(t.sampledAt-e.sampledAt)/1e3);return{uploadBytesPerSecond:Math.max(0,Math.round((t.uploadTotalBytes-e.uploadTotalBytes)/o)),downloadBytesPerSecond:Math.max(0,Math.round((t.downloadTotalBytes-e.downloadTotalBytes)/o)),uploadTotalBytes:t.uploadTotalBytes,downloadTotalBytes:t.downloadTotalBytes}}async function O(){const[t,e,o,n]=await Promise.all([b(),Promise.resolve(h()),Promise.resolve(k()),Promise.resolve(D())]);return{ok:!0,collectedAt:new Date().toISOString(),cpu:t,memory:e,storage:o,network:n}}export{O as collectSystemMetrics};
2
+
@@ -69,4 +69,3 @@ export declare function findPersistedSessionByAgentId(agentId: string): Promise<
69
69
  * @param agentId - Agent ID
70
70
  */
71
71
  export declare function removePersistedSessionByAgentId(agentId: string): Promise<void>;
72
- //# sourceMappingURL=terminal-persistence.d.ts.map