whale-code 6.5.5 → 6.5.6

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 (847) hide show
  1. package/README.md +39 -31
  2. package/bin/{swagmanager-mcp.js → whale-code.js} +17 -2
  3. package/dist/cli/app.js +148 -72
  4. package/dist/cli/app.js.map +1 -0
  5. package/dist/cli/chat/AgentSelector.js +105 -10
  6. package/dist/cli/chat/AgentSelector.js.map +1 -0
  7. package/dist/cli/chat/ChatApp.d.ts +31 -0
  8. package/dist/cli/chat/ChatApp.js +539 -286
  9. package/dist/cli/chat/ChatApp.js.map +1 -0
  10. package/dist/cli/chat/ChatInput.js +1088 -770
  11. package/dist/cli/chat/ChatInput.js.map +1 -0
  12. package/dist/cli/chat/MarkdownText.js +39 -14
  13. package/dist/cli/chat/MarkdownText.js.map +1 -0
  14. package/dist/cli/chat/MemoryManager.js +181 -46
  15. package/dist/cli/chat/MemoryManager.js.map +1 -0
  16. package/dist/cli/chat/MessageList.d.ts +2 -3
  17. package/dist/cli/chat/MessageList.js +186 -45
  18. package/dist/cli/chat/MessageList.js.map +1 -0
  19. package/dist/cli/chat/ModelSelector.js +282 -63
  20. package/dist/cli/chat/ModelSelector.js.map +1 -0
  21. package/dist/cli/chat/NodeManager.js +165 -75
  22. package/dist/cli/chat/NodeManager.js.map +1 -0
  23. package/dist/cli/chat/NodeSelector.js +171 -30
  24. package/dist/cli/chat/NodeSelector.js.map +1 -0
  25. package/dist/cli/chat/PlanApproval.js +281 -57
  26. package/dist/cli/chat/PlanApproval.js.map +1 -0
  27. package/dist/cli/chat/RewindViewer.js +559 -144
  28. package/dist/cli/chat/RewindViewer.js.map +1 -0
  29. package/dist/cli/chat/SessionManager.js +137 -30
  30. package/dist/cli/chat/SessionManager.js.map +1 -0
  31. package/dist/cli/chat/SlashMenu.js +293 -164
  32. package/dist/cli/chat/SlashMenu.js.map +1 -0
  33. package/dist/cli/chat/StatusBar.js +172 -9
  34. package/dist/cli/chat/StatusBar.js.map +1 -0
  35. package/dist/cli/chat/StoreSelector.js +147 -18
  36. package/dist/cli/chat/StoreSelector.js.map +1 -0
  37. package/dist/cli/chat/StreamingText.d.ts +1 -5
  38. package/dist/cli/chat/StreamingText.js +22 -7
  39. package/dist/cli/chat/StreamingText.js.map +1 -0
  40. package/dist/cli/chat/SubagentPanel.d.ts +1 -2
  41. package/dist/cli/chat/SubagentPanel.js +612 -72
  42. package/dist/cli/chat/SubagentPanel.js.map +1 -0
  43. package/dist/cli/chat/TeamPanel.d.ts +1 -0
  44. package/dist/cli/chat/TeamPanel.js +230 -30
  45. package/dist/cli/chat/TeamPanel.js.map +1 -0
  46. package/dist/cli/chat/ThemeSelector.js +84 -24
  47. package/dist/cli/chat/ThemeSelector.js.map +1 -0
  48. package/dist/cli/chat/ToolIndicator.js +1476 -371
  49. package/dist/cli/chat/ToolIndicator.js.map +1 -0
  50. package/dist/cli/chat/hooks/useAgentLoop.d.ts +1 -0
  51. package/dist/cli/chat/hooks/useAgentLoop.js +481 -367
  52. package/dist/cli/chat/hooks/useAgentLoop.js.map +1 -0
  53. package/dist/cli/chat/hooks/useSlashCommands.d.ts +3 -14
  54. package/dist/cli/chat/hooks/useSlashCommands.js +744 -572
  55. package/dist/cli/chat/hooks/useSlashCommands.js.map +1 -0
  56. package/dist/cli/commands/config-cmd.js +56 -57
  57. package/dist/cli/commands/config-cmd.js.map +1 -0
  58. package/dist/cli/commands/db.js +184 -169
  59. package/dist/cli/commands/db.js.map +1 -0
  60. package/dist/cli/commands/doctor.js +212 -122
  61. package/dist/cli/commands/doctor.js.map +1 -0
  62. package/dist/cli/commands/init.js +211 -244
  63. package/dist/cli/commands/init.js.map +1 -0
  64. package/dist/cli/commands/mcp.js +127 -122
  65. package/dist/cli/commands/mcp.js.map +1 -0
  66. package/dist/cli/login/LoginApp.js +355 -141
  67. package/dist/cli/login/LoginApp.js.map +1 -0
  68. package/dist/cli/print-mode.js +196 -177
  69. package/dist/cli/print-mode.js.map +1 -0
  70. package/dist/cli/serve-mode.js +615 -530
  71. package/dist/cli/serve-mode.js.map +1 -0
  72. package/dist/cli/services/agent-config.d.ts +5 -1
  73. package/dist/cli/services/agent-config.js +66 -36
  74. package/dist/cli/services/agent-config.js.map +1 -0
  75. package/dist/cli/services/agent-definitions.d.ts +4 -1
  76. package/dist/cli/services/agent-definitions.js +97 -56
  77. package/dist/cli/services/agent-definitions.js.map +1 -0
  78. package/dist/cli/services/agent-events.js +225 -162
  79. package/dist/cli/services/agent-events.js.map +1 -0
  80. package/dist/cli/services/agent-loop.js +976 -688
  81. package/dist/cli/services/agent-loop.js.map +1 -0
  82. package/dist/cli/services/agent-worker-base.d.ts +35 -5
  83. package/dist/cli/services/agent-worker-base.js +337 -153
  84. package/dist/cli/services/agent-worker-base.js.map +1 -0
  85. package/dist/cli/services/api-retry.js +69 -64
  86. package/dist/cli/services/api-retry.js.map +1 -0
  87. package/dist/cli/services/auth-service.d.ts +3 -3
  88. package/dist/cli/services/auth-service.js +209 -132
  89. package/dist/cli/services/auth-service.js.map +1 -0
  90. package/dist/cli/services/background-processes.js +343 -267
  91. package/dist/cli/services/background-processes.js.map +1 -0
  92. package/dist/cli/services/browser-auth.d.ts +2 -2
  93. package/dist/cli/services/browser-auth.js +159 -118
  94. package/dist/cli/services/browser-auth.js.map +1 -0
  95. package/dist/cli/services/claude-md-loader.js +40 -36
  96. package/dist/cli/services/claude-md-loader.js.map +1 -0
  97. package/dist/cli/services/config-store.d.ts +9 -4
  98. package/dist/cli/services/config-store.js +164 -117
  99. package/dist/cli/services/config-store.js.map +1 -0
  100. package/dist/cli/services/debug-log.d.ts +1 -1
  101. package/dist/cli/services/debug-log.js +34 -35
  102. package/dist/cli/services/debug-log.js.map +1 -0
  103. package/dist/cli/services/env-detect.d.ts +7 -0
  104. package/dist/cli/services/env-detect.js +9 -0
  105. package/dist/cli/services/env-detect.js.map +1 -0
  106. package/dist/cli/services/error-logger.js +187 -169
  107. package/dist/cli/services/error-logger.js.map +1 -0
  108. package/dist/cli/services/file-history.d.ts +1 -1
  109. package/dist/cli/services/file-history.js +50 -54
  110. package/dist/cli/services/file-history.js.map +1 -0
  111. package/dist/cli/services/format-server-response.js +332 -372
  112. package/dist/cli/services/format-server-response.js.map +1 -0
  113. package/dist/cli/services/git-context.js +61 -45
  114. package/dist/cli/services/git-context.js.map +1 -0
  115. package/dist/cli/services/hooks.d.ts +2 -2
  116. package/dist/cli/services/hooks.js +195 -180
  117. package/dist/cli/services/hooks.js.map +1 -0
  118. package/dist/cli/services/ink-incremental.d.ts +19 -0
  119. package/dist/cli/services/ink-incremental.js +59 -0
  120. package/dist/cli/services/ink-incremental.js.map +1 -0
  121. package/dist/cli/services/ink-resize-fix.js +54 -44
  122. package/dist/cli/services/ink-resize-fix.js.map +1 -0
  123. package/dist/cli/services/ink-sync-output.d.ts +12 -0
  124. package/dist/cli/services/ink-sync-output.js +16 -0
  125. package/dist/cli/services/ink-sync-output.js.map +1 -0
  126. package/dist/cli/services/interactive-tools.js +268 -212
  127. package/dist/cli/services/interactive-tools.js.map +1 -0
  128. package/dist/cli/services/keybinding-manager.d.ts +11 -1
  129. package/dist/cli/services/keybinding-manager.js +126 -63
  130. package/dist/cli/services/keybinding-manager.js.map +1 -0
  131. package/dist/cli/services/local-tools.d.ts +1 -1
  132. package/dist/cli/services/local-tools.js +939 -656
  133. package/dist/cli/services/local-tools.js.map +1 -0
  134. package/dist/cli/services/lsp-manager.js +757 -594
  135. package/dist/cli/services/lsp-manager.js.map +1 -0
  136. package/dist/cli/services/mcp-client.d.ts +1 -1
  137. package/dist/cli/services/mcp-client.js +173 -134
  138. package/dist/cli/services/mcp-client.js.map +1 -0
  139. package/dist/cli/services/memory-manager.js +53 -40
  140. package/dist/cli/services/memory-manager.js.map +1 -0
  141. package/dist/cli/services/model-manager.js +55 -40
  142. package/dist/cli/services/model-manager.js.map +1 -0
  143. package/dist/cli/services/model-router.js +115 -85
  144. package/dist/cli/services/model-router.js.map +1 -0
  145. package/dist/cli/services/paths.d.ts +30 -0
  146. package/dist/cli/services/paths.js +81 -0
  147. package/dist/cli/services/paths.js.map +1 -0
  148. package/dist/cli/services/permission-modes.js +32 -25
  149. package/dist/cli/services/permission-modes.js.map +1 -0
  150. package/dist/cli/services/rewind.js +182 -168
  151. package/dist/cli/services/rewind.js.map +1 -0
  152. package/dist/cli/services/ripgrep.js +115 -115
  153. package/dist/cli/services/ripgrep.js.map +1 -0
  154. package/dist/cli/services/sandbox.d.ts +1 -1
  155. package/dist/cli/services/sandbox.js +58 -37
  156. package/dist/cli/services/sandbox.js.map +1 -0
  157. package/dist/cli/services/server-tools.js +738 -565
  158. package/dist/cli/services/server-tools.js.map +1 -0
  159. package/dist/cli/services/session-persistence.js +69 -74
  160. package/dist/cli/services/session-persistence.js.map +1 -0
  161. package/dist/cli/services/subagent-worker.js +42 -27
  162. package/dist/cli/services/subagent-worker.js.map +1 -0
  163. package/dist/cli/services/subagent.d.ts +2 -0
  164. package/dist/cli/services/subagent.js +605 -433
  165. package/dist/cli/services/subagent.js.map +1 -0
  166. package/dist/cli/services/system-prompt.js +86 -78
  167. package/dist/cli/services/system-prompt.js.map +1 -0
  168. package/dist/cli/services/task-decomposer.d.ts +1 -1
  169. package/dist/cli/services/task-decomposer.js +172 -139
  170. package/dist/cli/services/task-decomposer.js.map +1 -0
  171. package/dist/cli/services/team-lead.d.ts +2 -2
  172. package/dist/cli/services/team-lead.js +727 -529
  173. package/dist/cli/services/team-lead.js.map +1 -0
  174. package/dist/cli/services/team-state.js +319 -319
  175. package/dist/cli/services/team-state.js.map +1 -0
  176. package/dist/cli/services/teammate.d.ts +8 -2
  177. package/dist/cli/services/teammate.js +857 -569
  178. package/dist/cli/services/teammate.js.map +1 -0
  179. package/dist/cli/services/telemetry.d.ts +6 -1
  180. package/dist/cli/services/telemetry.js +180 -157
  181. package/dist/cli/services/telemetry.js.map +1 -0
  182. package/dist/cli/services/tools/agent-tools.d.ts +3 -3
  183. package/dist/cli/services/tools/agent-tools.js +480 -322
  184. package/dist/cli/services/tools/agent-tools.js.map +1 -0
  185. package/dist/cli/services/tools/file-ops.js +563 -450
  186. package/dist/cli/services/tools/file-ops.js.map +1 -0
  187. package/dist/cli/services/tools/search-tools.js +231 -162
  188. package/dist/cli/services/tools/search-tools.js.map +1 -0
  189. package/dist/cli/services/tools/shell-exec.js +197 -151
  190. package/dist/cli/services/tools/shell-exec.js.map +1 -0
  191. package/dist/cli/services/tools/task-manager.js +206 -173
  192. package/dist/cli/services/tools/task-manager.js.map +1 -0
  193. package/dist/cli/services/tools/web-tools.js +388 -341
  194. package/dist/cli/services/tools/web-tools.js.map +1 -0
  195. package/dist/cli/setup/SetupApp.d.ts +2 -2
  196. package/dist/cli/setup/SetupApp.js +608 -160
  197. package/dist/cli/setup/SetupApp.js.map +1 -0
  198. package/dist/cli/shared/ErrorBoundary.d.ts +22 -0
  199. package/dist/cli/shared/ErrorBoundary.js +73 -0
  200. package/dist/cli/shared/ErrorBoundary.js.map +1 -0
  201. package/dist/cli/shared/MatrixIntro.js +66 -69
  202. package/dist/cli/shared/MatrixIntro.js.map +1 -0
  203. package/dist/cli/shared/SpinnerSlot.d.ts +14 -0
  204. package/dist/cli/shared/SpinnerSlot.js +63 -0
  205. package/dist/cli/shared/SpinnerSlot.js.map +1 -0
  206. package/dist/cli/shared/Theme.d.ts +1 -1
  207. package/dist/cli/shared/Theme.js +136 -92
  208. package/dist/cli/shared/Theme.js.map +1 -0
  209. package/dist/cli/shared/WhaleBanner.js +99 -11
  210. package/dist/cli/shared/WhaleBanner.js.map +1 -0
  211. package/dist/cli/shared/markdown.d.ts +3 -1
  212. package/dist/cli/shared/markdown.js +736 -674
  213. package/dist/cli/shared/markdown.js.map +1 -0
  214. package/dist/cli/shared/marked-terminal.d.js +2 -0
  215. package/dist/cli/shared/marked-terminal.d.js.map +1 -0
  216. package/dist/cli/shared/theme-manager.js +99 -90
  217. package/dist/cli/shared/theme-manager.js.map +1 -0
  218. package/dist/cli/shared/theme-presets.js +256 -254
  219. package/dist/cli/shared/theme-presets.js.map +1 -0
  220. package/dist/cli/status/StatusApp.js +235 -86
  221. package/dist/cli/status/StatusApp.js.map +1 -0
  222. package/dist/cli/stores/StoreApp.js +275 -65
  223. package/dist/cli/stores/StoreApp.js.map +1 -0
  224. package/dist/index.d.ts +2 -2
  225. package/dist/index.js +509 -396
  226. package/dist/index.js.map +1 -0
  227. package/dist/local-agent/connection.d.ts +2 -2
  228. package/dist/local-agent/connection.js +352 -293
  229. package/dist/local-agent/connection.js.map +1 -0
  230. package/dist/local-agent/discovery.js +259 -122
  231. package/dist/local-agent/discovery.js.map +1 -0
  232. package/dist/local-agent/executor.js +216 -193
  233. package/dist/local-agent/executor.js.map +1 -0
  234. package/dist/local-agent/index.d.ts +2 -2
  235. package/dist/local-agent/index.js +156 -156
  236. package/dist/local-agent/index.js.map +1 -0
  237. package/dist/node/adapters/base.js +18 -8
  238. package/dist/node/adapters/base.js.map +1 -0
  239. package/dist/node/adapters/discord.js +286 -275
  240. package/dist/node/adapters/discord.js.map +1 -0
  241. package/dist/node/adapters/email.js +189 -202
  242. package/dist/node/adapters/email.js.map +1 -0
  243. package/dist/node/adapters/imessage.js +145 -142
  244. package/dist/node/adapters/imessage.js.map +1 -0
  245. package/dist/node/adapters/slack.js +237 -236
  246. package/dist/node/adapters/slack.js.map +1 -0
  247. package/dist/node/adapters/sms.js +149 -151
  248. package/dist/node/adapters/sms.js.map +1 -0
  249. package/dist/node/adapters/telegram.js +88 -92
  250. package/dist/node/adapters/telegram.js.map +1 -0
  251. package/dist/node/adapters/webchat.js +160 -136
  252. package/dist/node/adapters/webchat.js.map +1 -0
  253. package/dist/node/adapters/whatsapp.js +212 -215
  254. package/dist/node/adapters/whatsapp.js.map +1 -0
  255. package/dist/node/cli.js +884 -653
  256. package/dist/node/cli.js.map +1 -0
  257. package/dist/node/config.js +20 -18
  258. package/dist/node/config.js.map +1 -0
  259. package/dist/node/gateway-client.js +191 -181
  260. package/dist/node/gateway-client.js.map +1 -0
  261. package/dist/node/portal/clipboard.js +161 -130
  262. package/dist/node/portal/clipboard.js.map +1 -0
  263. package/dist/node/portal/discovery.js +51 -45
  264. package/dist/node/portal/discovery.js.map +1 -0
  265. package/dist/node/portal/forward.js +64 -58
  266. package/dist/node/portal/forward.js.map +1 -0
  267. package/dist/node/portal/index.js +246 -221
  268. package/dist/node/portal/index.js.map +1 -0
  269. package/dist/node/portal/multiplexer.js +192 -182
  270. package/dist/node/portal/multiplexer.js.map +1 -0
  271. package/dist/node/portal/permissions.js +102 -70
  272. package/dist/node/portal/permissions.js.map +1 -0
  273. package/dist/node/portal/protocol.js +153 -116
  274. package/dist/node/portal/protocol.js.map +1 -0
  275. package/dist/node/portal/screen.js +80 -69
  276. package/dist/node/portal/screen.js.map +1 -0
  277. package/dist/node/portal/session.js +124 -117
  278. package/dist/node/portal/session.js.map +1 -0
  279. package/dist/node/portal/shell.js +140 -113
  280. package/dist/node/portal/shell.js.map +1 -0
  281. package/dist/node/portal/stream.js +77 -75
  282. package/dist/node/portal/stream.js.map +1 -0
  283. package/dist/node/portal/transfer.js +190 -167
  284. package/dist/node/portal/transfer.js.map +1 -0
  285. package/dist/node/portal/ui.js +124 -99
  286. package/dist/node/portal/ui.js.map +1 -0
  287. package/dist/node/remote-desktop/compile-helper.js +50 -45
  288. package/dist/node/remote-desktop/compile-helper.js.map +1 -0
  289. package/dist/node/remote-desktop/index.js +215 -187
  290. package/dist/node/remote-desktop/index.js.map +1 -0
  291. package/dist/node/remote-desktop/protocol.js +45 -29
  292. package/dist/node/remote-desktop/protocol.js.map +1 -0
  293. package/dist/node/runtime.js +493 -410
  294. package/dist/node/runtime.js.map +1 -0
  295. package/dist/server/handlers/__test-utils__/test-db.js +39 -89
  296. package/dist/server/handlers/__test-utils__/test-db.js.map +1 -0
  297. package/dist/server/handlers/analytics.js +467 -261
  298. package/dist/server/handlers/analytics.js.map +1 -0
  299. package/dist/server/handlers/api-docs.js +1030 -895
  300. package/dist/server/handlers/api-docs.js.map +1 -0
  301. package/dist/server/handlers/api-keys.js +291 -242
  302. package/dist/server/handlers/api-keys.js.map +1 -0
  303. package/dist/server/handlers/billing.js +330 -239
  304. package/dist/server/handlers/billing.js.map +1 -0
  305. package/dist/server/handlers/browser.js +468 -395
  306. package/dist/server/handlers/browser.js.map +1 -0
  307. package/dist/server/handlers/catalog.js +1377 -978
  308. package/dist/server/handlers/catalog.js.map +1 -0
  309. package/dist/server/handlers/clickhouse.js +157 -109
  310. package/dist/server/handlers/clickhouse.js.map +1 -0
  311. package/dist/server/handlers/comms.js +1439 -984
  312. package/dist/server/handlers/comms.js.map +1 -0
  313. package/dist/server/handlers/creations.js +461 -394
  314. package/dist/server/handlers/creations.js.map +1 -0
  315. package/dist/server/handlers/crm.js +1082 -791
  316. package/dist/server/handlers/crm.js.map +1 -0
  317. package/dist/server/handlers/discovery.js +251 -232
  318. package/dist/server/handlers/discovery.js.map +1 -0
  319. package/dist/server/handlers/embeddings.js +241 -164
  320. package/dist/server/handlers/embeddings.js.map +1 -0
  321. package/dist/server/handlers/enrichment.js +887 -718
  322. package/dist/server/handlers/enrichment.js.map +1 -0
  323. package/dist/server/handlers/image-gen.js +467 -376
  324. package/dist/server/handlers/image-gen.js.map +1 -0
  325. package/dist/server/handlers/inventory.js +797 -424
  326. package/dist/server/handlers/inventory.js.map +1 -0
  327. package/dist/server/handlers/kali.js +272 -230
  328. package/dist/server/handlers/kali.js.map +1 -0
  329. package/dist/server/handlers/llm-providers.js +803 -580
  330. package/dist/server/handlers/llm-providers.js.map +1 -0
  331. package/dist/server/handlers/local-agent.js +133 -105
  332. package/dist/server/handlers/local-agent.js.map +1 -0
  333. package/dist/server/handlers/media.js +1179 -857
  334. package/dist/server/handlers/media.js.map +1 -0
  335. package/dist/server/handlers/meta-ads.js +2669 -2093
  336. package/dist/server/handlers/meta-ads.js.map +1 -0
  337. package/dist/server/handlers/nodes.js +1321 -913
  338. package/dist/server/handlers/nodes.js.map +1 -0
  339. package/dist/server/handlers/operations.js +183 -157
  340. package/dist/server/handlers/operations.js.map +1 -0
  341. package/dist/server/handlers/platform.js +346 -210
  342. package/dist/server/handlers/platform.js.map +1 -0
  343. package/dist/server/handlers/remove-bg.js +118 -86
  344. package/dist/server/handlers/remove-bg.js.map +1 -0
  345. package/dist/server/handlers/storefront.js +586 -446
  346. package/dist/server/handlers/storefront.js.map +1 -0
  347. package/dist/server/handlers/supply-chain.js +546 -326
  348. package/dist/server/handlers/supply-chain.js.map +1 -0
  349. package/dist/server/handlers/transcription.js +106 -97
  350. package/dist/server/handlers/transcription.js.map +1 -0
  351. package/dist/server/handlers/video-gen.js +593 -424
  352. package/dist/server/handlers/video-gen.js.map +1 -0
  353. package/dist/server/handlers/voice.js +1458 -1039
  354. package/dist/server/handlers/voice.js.map +1 -0
  355. package/dist/server/handlers/workflow-steps.js +2837 -2116
  356. package/dist/server/handlers/workflow-steps.js.map +1 -0
  357. package/dist/server/handlers/workflows.js +1630 -933
  358. package/dist/server/handlers/workflows.js.map +1 -0
  359. package/dist/server/index.js +3167 -2422
  360. package/dist/server/index.js.map +1 -0
  361. package/dist/server/lib/batch-client.js +471 -409
  362. package/dist/server/lib/batch-client.js.map +1 -0
  363. package/dist/server/lib/clickhouse-buffer.js +118 -104
  364. package/dist/server/lib/clickhouse-buffer.js.map +1 -0
  365. package/dist/server/lib/clickhouse-client.js +107 -107
  366. package/dist/server/lib/clickhouse-client.js.map +1 -0
  367. package/dist/server/lib/coa-renderer.js +1786 -356
  368. package/dist/server/lib/coa-renderer.js.map +1 -0
  369. package/dist/server/lib/code-worker-pool.js +227 -177
  370. package/dist/server/lib/code-worker-pool.js.map +1 -0
  371. package/dist/server/lib/code-worker.js +174 -164
  372. package/dist/server/lib/code-worker.js.map +1 -0
  373. package/dist/server/lib/compaction-service.d.ts +2 -12
  374. package/dist/server/lib/compaction-service.js +74 -184
  375. package/dist/server/lib/compaction-service.js.map +1 -0
  376. package/dist/server/lib/logger.js +36 -24
  377. package/dist/server/lib/logger.js.map +1 -0
  378. package/dist/server/lib/otel.js +101 -80
  379. package/dist/server/lib/otel.js.map +1 -0
  380. package/dist/server/lib/pdf-renderer.js +952 -788
  381. package/dist/server/lib/pdf-renderer.js.map +1 -0
  382. package/dist/server/lib/prompt-sanitizer.js +188 -108
  383. package/dist/server/lib/prompt-sanitizer.js.map +1 -0
  384. package/dist/server/lib/provider-capabilities.js +136 -138
  385. package/dist/server/lib/provider-capabilities.js.map +1 -0
  386. package/dist/server/lib/provider-failover.js +190 -168
  387. package/dist/server/lib/provider-failover.js.map +1 -0
  388. package/dist/server/lib/rate-limiter.js +186 -117
  389. package/dist/server/lib/rate-limiter.js.map +1 -0
  390. package/dist/server/lib/react-pdf-layout.js +551 -382
  391. package/dist/server/lib/react-pdf-layout.js.map +1 -0
  392. package/dist/server/lib/server-agent-loop.d.ts +4 -1
  393. package/dist/server/lib/server-agent-loop.js +906 -634
  394. package/dist/server/lib/server-agent-loop.js.map +1 -0
  395. package/dist/server/lib/server-subagent.js +260 -164
  396. package/dist/server/lib/server-subagent.js.map +1 -0
  397. package/dist/server/lib/session-checkpoint.js +105 -96
  398. package/dist/server/lib/session-checkpoint.js.map +1 -0
  399. package/dist/server/lib/ssrf-guard.js +193 -184
  400. package/dist/server/lib/ssrf-guard.js.map +1 -0
  401. package/dist/server/lib/supabase-client.js +94 -82
  402. package/dist/server/lib/supabase-client.js.map +1 -0
  403. package/dist/server/lib/template-resolver.js +154 -176
  404. package/dist/server/lib/template-resolver.js.map +1 -0
  405. package/dist/server/lib/utils.js +242 -133
  406. package/dist/server/lib/utils.js.map +1 -0
  407. package/dist/server/local-agent-gateway.d.ts +2 -2
  408. package/dist/server/local-agent-gateway.js +785 -627
  409. package/dist/server/local-agent-gateway.js.map +1 -0
  410. package/dist/server/providers/anthropic.js +250 -172
  411. package/dist/server/providers/anthropic.js.map +1 -0
  412. package/dist/server/providers/bedrock.js +217 -158
  413. package/dist/server/providers/bedrock.js.map +1 -0
  414. package/dist/server/providers/gemini.js +548 -418
  415. package/dist/server/providers/gemini.js.map +1 -0
  416. package/dist/server/providers/openai.js +571 -437
  417. package/dist/server/providers/openai.js.map +1 -0
  418. package/dist/server/providers/registry.js +23 -18
  419. package/dist/server/providers/registry.js.map +1 -0
  420. package/dist/server/providers/shared.js +123 -95
  421. package/dist/server/providers/shared.js.map +1 -0
  422. package/dist/server/providers/types.js +1 -11
  423. package/dist/server/providers/types.js.map +1 -0
  424. package/dist/server/proxy-handlers.js +209 -165
  425. package/dist/server/proxy-handlers.js.map +1 -0
  426. package/dist/server/tool-router.js +959 -599
  427. package/dist/server/tool-router.js.map +1 -0
  428. package/dist/server/validation.js +248 -188
  429. package/dist/server/validation.js.map +1 -0
  430. package/dist/server/worker.js +202 -133
  431. package/dist/server/worker.js.map +1 -0
  432. package/dist/setup.d.ts +2 -2
  433. package/dist/setup.js +151 -147
  434. package/dist/setup.js.map +1 -0
  435. package/dist/shared/agent-core.d.ts +115 -26
  436. package/dist/shared/agent-core.js +956 -522
  437. package/dist/shared/agent-core.js.map +1 -0
  438. package/dist/shared/anthropic-types.js +1 -6
  439. package/dist/shared/anthropic-types.js.map +1 -0
  440. package/dist/shared/api-client.d.ts +16 -9
  441. package/dist/shared/api-client.js +419 -327
  442. package/dist/shared/api-client.js.map +1 -0
  443. package/dist/shared/compaction.d.ts +36 -0
  444. package/dist/shared/compaction.js +138 -0
  445. package/dist/shared/compaction.js.map +1 -0
  446. package/dist/shared/constants.js +67 -64
  447. package/dist/shared/constants.js.map +1 -0
  448. package/dist/shared/sse-parser.js +221 -219
  449. package/dist/shared/sse-parser.js.map +1 -0
  450. package/dist/shared/tool-dispatch.d.ts +4 -0
  451. package/dist/shared/tool-dispatch.js +226 -165
  452. package/dist/shared/tool-dispatch.js.map +1 -0
  453. package/dist/shared/types.js +1 -6
  454. package/dist/shared/types.js.map +1 -0
  455. package/dist/types/cli-highlight.d.js +2 -0
  456. package/dist/types/cli-highlight.d.js.map +1 -0
  457. package/dist/types/diff.d.js +2 -0
  458. package/dist/types/diff.d.js.map +1 -0
  459. package/dist/types/pdf-parse.d.js +2 -0
  460. package/dist/types/pdf-parse.d.js.map +1 -0
  461. package/dist/updater.d.ts +1 -1
  462. package/dist/updater.js +118 -92
  463. package/dist/updater.js.map +1 -0
  464. package/dist/webchat/widget.js +227 -380
  465. package/dist/webchat/widget.js.map +1 -0
  466. package/package.json +22 -10
  467. package/vendor/ink/build/ansi-tokenizer.d.ts +38 -0
  468. package/vendor/ink/build/ansi-tokenizer.js +316 -0
  469. package/vendor/ink/build/ansi-tokenizer.js.map +1 -0
  470. package/vendor/ink/build/apply-styles.js +175 -0
  471. package/vendor/ink/build/build-layout.js +77 -0
  472. package/vendor/ink/build/calculate-wrapped-text.js +53 -0
  473. package/vendor/ink/build/colorize.d.ts +3 -0
  474. package/vendor/ink/build/colorize.js +48 -0
  475. package/vendor/ink/build/colorize.js.map +1 -0
  476. package/vendor/ink/build/components/AccessibilityContext.d.ts +3 -0
  477. package/vendor/ink/build/components/AccessibilityContext.js +5 -0
  478. package/vendor/ink/build/components/AccessibilityContext.js.map +1 -0
  479. package/vendor/ink/build/components/App.d.ts +18 -0
  480. package/vendor/ink/build/components/App.js +351 -0
  481. package/vendor/ink/build/components/App.js.map +1 -0
  482. package/vendor/ink/build/components/AppContext.d.ts +15 -0
  483. package/vendor/ink/build/components/AppContext.js +11 -0
  484. package/vendor/ink/build/components/AppContext.js.map +1 -0
  485. package/vendor/ink/build/components/BackgroundContext.d.ts +4 -0
  486. package/vendor/ink/build/components/BackgroundContext.js +3 -0
  487. package/vendor/ink/build/components/BackgroundContext.js.map +1 -0
  488. package/vendor/ink/build/components/Box.d.ts +117 -0
  489. package/vendor/ink/build/components/Box.js +34 -0
  490. package/vendor/ink/build/components/Box.js.map +1 -0
  491. package/vendor/ink/build/components/Color.js +62 -0
  492. package/vendor/ink/build/components/Cursor.d.ts +83 -0
  493. package/vendor/ink/build/components/Cursor.js +53 -0
  494. package/vendor/ink/build/components/Cursor.js.map +1 -0
  495. package/vendor/ink/build/components/CursorContext.d.ts +11 -0
  496. package/vendor/ink/build/components/CursorContext.js +8 -0
  497. package/vendor/ink/build/components/CursorContext.js.map +1 -0
  498. package/vendor/ink/build/components/ErrorBoundary.d.ts +18 -0
  499. package/vendor/ink/build/components/ErrorBoundary.js +23 -0
  500. package/vendor/ink/build/components/ErrorBoundary.js.map +1 -0
  501. package/vendor/ink/build/components/ErrorOverview.d.ts +6 -0
  502. package/vendor/ink/build/components/ErrorOverview.js +84 -0
  503. package/vendor/ink/build/components/ErrorOverview.js.map +1 -0
  504. package/vendor/ink/build/components/FocusContext.d.ts +16 -0
  505. package/vendor/ink/build/components/FocusContext.js +17 -0
  506. package/vendor/ink/build/components/FocusContext.js.map +1 -0
  507. package/vendor/ink/build/components/Newline.d.ts +13 -0
  508. package/vendor/ink/build/components/Newline.js +8 -0
  509. package/vendor/ink/build/components/Newline.js.map +1 -0
  510. package/vendor/ink/build/components/Spacer.d.ts +7 -0
  511. package/vendor/ink/build/components/Spacer.js +11 -0
  512. package/vendor/ink/build/components/Spacer.js.map +1 -0
  513. package/vendor/ink/build/components/Static.d.ts +24 -0
  514. package/vendor/ink/build/components/Static.js +28 -0
  515. package/vendor/ink/build/components/Static.js.map +1 -0
  516. package/vendor/ink/build/components/StderrContext.d.ts +15 -0
  517. package/vendor/ink/build/components/StderrContext.js +13 -0
  518. package/vendor/ink/build/components/StderrContext.js.map +1 -0
  519. package/vendor/ink/build/components/StdinContext.d.ts +22 -0
  520. package/vendor/ink/build/components/StdinContext.js +19 -0
  521. package/vendor/ink/build/components/StdinContext.js.map +1 -0
  522. package/vendor/ink/build/components/StdoutContext.d.ts +15 -0
  523. package/vendor/ink/build/components/StdoutContext.js +13 -0
  524. package/vendor/ink/build/components/StdoutContext.js.map +1 -0
  525. package/vendor/ink/build/components/Text.d.ts +55 -0
  526. package/vendor/ink/build/components/Text.js +50 -0
  527. package/vendor/ink/build/components/Text.js.map +1 -0
  528. package/vendor/ink/build/components/Transform.d.ts +16 -0
  529. package/vendor/ink/build/components/Transform.js +15 -0
  530. package/vendor/ink/build/components/Transform.js.map +1 -0
  531. package/vendor/ink/build/cursor-helpers.d.ts +38 -0
  532. package/vendor/ink/build/cursor-helpers.js +56 -0
  533. package/vendor/ink/build/cursor-helpers.js.map +1 -0
  534. package/vendor/ink/build/devtools-window-polyfill.d.ts +1 -0
  535. package/vendor/ink/build/devtools-window-polyfill.js +65 -0
  536. package/vendor/ink/build/devtools-window-polyfill.js.map +1 -0
  537. package/vendor/ink/build/devtools.d.ts +1 -0
  538. package/vendor/ink/build/devtools.js +11 -0
  539. package/vendor/ink/build/devtools.js.map +1 -0
  540. package/vendor/ink/build/dom.d.ts +56 -0
  541. package/vendor/ink/build/dom.js +124 -0
  542. package/vendor/ink/build/dom.js.map +1 -0
  543. package/vendor/ink/build/experimental/apply-style.js +140 -0
  544. package/vendor/ink/build/experimental/dom.js +123 -0
  545. package/vendor/ink/build/experimental/output.js +91 -0
  546. package/vendor/ink/build/experimental/reconciler.js +141 -0
  547. package/vendor/ink/build/experimental/renderer.js +81 -0
  548. package/vendor/ink/build/get-max-width.d.ts +3 -0
  549. package/vendor/ink/build/get-max-width.js +10 -0
  550. package/vendor/ink/build/get-max-width.js.map +1 -0
  551. package/vendor/ink/build/hooks/use-app.d.ts +5 -0
  552. package/vendor/ink/build/hooks/use-app.js +8 -0
  553. package/vendor/ink/build/hooks/use-app.js.map +1 -0
  554. package/vendor/ink/build/hooks/use-cursor.d.ts +12 -0
  555. package/vendor/ink/build/hooks/use-cursor.js +29 -0
  556. package/vendor/ink/build/hooks/use-cursor.js.map +1 -0
  557. package/vendor/ink/build/hooks/use-focus-manager.d.ts +28 -0
  558. package/vendor/ink/build/hooks/use-focus-manager.js +17 -0
  559. package/vendor/ink/build/hooks/use-focus-manager.js.map +1 -0
  560. package/vendor/ink/build/hooks/use-focus.d.ts +29 -0
  561. package/vendor/ink/build/hooks/use-focus.js +42 -0
  562. package/vendor/ink/build/hooks/use-focus.js.map +1 -0
  563. package/vendor/ink/build/hooks/use-input.d.ts +131 -0
  564. package/vendor/ink/build/hooks/use-input.js +124 -0
  565. package/vendor/ink/build/hooks/use-input.js.map +1 -0
  566. package/vendor/ink/build/hooks/use-is-screen-reader-enabled.d.ts +5 -0
  567. package/vendor/ink/build/hooks/use-is-screen-reader-enabled.js +11 -0
  568. package/vendor/ink/build/hooks/use-is-screen-reader-enabled.js.map +1 -0
  569. package/vendor/ink/build/hooks/use-stderr.d.ts +5 -0
  570. package/vendor/ink/build/hooks/use-stderr.js +8 -0
  571. package/vendor/ink/build/hooks/use-stderr.js.map +1 -0
  572. package/vendor/ink/build/hooks/use-stdin.d.ts +5 -0
  573. package/vendor/ink/build/hooks/use-stdin.js +8 -0
  574. package/vendor/ink/build/hooks/use-stdin.js.map +1 -0
  575. package/vendor/ink/build/hooks/use-stdout.d.ts +5 -0
  576. package/vendor/ink/build/hooks/use-stdout.js +8 -0
  577. package/vendor/ink/build/hooks/use-stdout.js.map +1 -0
  578. package/vendor/ink/build/hooks/useInput.js +38 -0
  579. package/vendor/ink/build/index.d.ts +34 -0
  580. package/vendor/ink/build/index.js +20 -0
  581. package/vendor/ink/build/index.js.map +1 -0
  582. package/vendor/ink/build/ink.d.ts +90 -0
  583. package/vendor/ink/build/ink.js +654 -0
  584. package/vendor/ink/build/ink.js.map +1 -0
  585. package/vendor/ink/build/input-parser.d.ts +7 -0
  586. package/vendor/ink/build/input-parser.js +154 -0
  587. package/vendor/ink/build/input-parser.js.map +1 -0
  588. package/vendor/ink/build/instance.js +205 -0
  589. package/vendor/ink/build/instances.d.ts +3 -0
  590. package/vendor/ink/build/instances.js +8 -0
  591. package/vendor/ink/build/instances.js.map +1 -0
  592. package/vendor/ink/build/kitty-keyboard.d.ts +23 -0
  593. package/vendor/ink/build/kitty-keyboard.js +32 -0
  594. package/vendor/ink/build/kitty-keyboard.js.map +1 -0
  595. package/vendor/ink/build/layout.d.ts +7 -0
  596. package/vendor/ink/build/layout.js +33 -0
  597. package/vendor/ink/build/layout.js.map +1 -0
  598. package/vendor/ink/build/log-update.d.ts +19 -0
  599. package/vendor/ink/build/log-update.js +243 -0
  600. package/vendor/ink/build/log-update.js.map +1 -0
  601. package/vendor/ink/build/measure-element.d.ts +16 -0
  602. package/vendor/ink/build/measure-element.js +9 -0
  603. package/vendor/ink/build/measure-element.js.map +1 -0
  604. package/vendor/ink/build/measure-text.d.ts +6 -0
  605. package/vendor/ink/build/measure-text.js +21 -0
  606. package/vendor/ink/build/measure-text.js.map +1 -0
  607. package/vendor/ink/build/options.d.ts +52 -0
  608. package/vendor/ink/build/options.js +2 -0
  609. package/vendor/ink/build/options.js.map +1 -0
  610. package/vendor/ink/build/output.d.ts +35 -0
  611. package/vendor/ink/build/output.js +183 -0
  612. package/vendor/ink/build/output.js.map +1 -0
  613. package/vendor/ink/build/parse-keypress.d.ts +22 -0
  614. package/vendor/ink/build/parse-keypress.js +493 -0
  615. package/vendor/ink/build/parse-keypress.js.map +1 -0
  616. package/vendor/ink/build/reconciler.d.ts +4 -0
  617. package/vendor/ink/build/reconciler.js +274 -0
  618. package/vendor/ink/build/reconciler.js.map +1 -0
  619. package/vendor/ink/build/render-background.d.ts +4 -0
  620. package/vendor/ink/build/render-background.js +25 -0
  621. package/vendor/ink/build/render-background.js.map +1 -0
  622. package/vendor/ink/build/render-border.d.ts +4 -0
  623. package/vendor/ink/build/render-border.js +73 -0
  624. package/vendor/ink/build/render-border.js.map +1 -0
  625. package/vendor/ink/build/render-node-to-output.d.ts +14 -0
  626. package/vendor/ink/build/render-node-to-output.js +147 -0
  627. package/vendor/ink/build/render-node-to-output.js.map +1 -0
  628. package/vendor/ink/build/render-to-string.d.ts +38 -0
  629. package/vendor/ink/build/render-to-string.js +115 -0
  630. package/vendor/ink/build/render-to-string.js.map +1 -0
  631. package/vendor/ink/build/render.d.ts +121 -0
  632. package/vendor/ink/build/render.js +55 -0
  633. package/vendor/ink/build/render.js.map +1 -0
  634. package/vendor/ink/build/renderer.d.ts +8 -0
  635. package/vendor/ink/build/renderer.js +55 -0
  636. package/vendor/ink/build/renderer.js.map +1 -0
  637. package/vendor/ink/build/sanitize-ansi.d.ts +2 -0
  638. package/vendor/ink/build/sanitize-ansi.js +27 -0
  639. package/vendor/ink/build/sanitize-ansi.js.map +1 -0
  640. package/vendor/ink/build/screen-reader-update.d.ts +13 -0
  641. package/vendor/ink/build/screen-reader-update.js +38 -0
  642. package/vendor/ink/build/screen-reader-update.js.map +1 -0
  643. package/vendor/ink/build/squash-text-nodes.d.ts +3 -0
  644. package/vendor/ink/build/squash-text-nodes.js +36 -0
  645. package/vendor/ink/build/squash-text-nodes.js.map +1 -0
  646. package/vendor/ink/build/styles.d.ts +240 -0
  647. package/vendor/ink/build/styles.js +232 -0
  648. package/vendor/ink/build/styles.js.map +1 -0
  649. package/vendor/ink/build/utils.d.ts +2 -0
  650. package/vendor/ink/build/utils.js +4 -0
  651. package/vendor/ink/build/utils.js.map +1 -0
  652. package/vendor/ink/build/wrap-text.d.ts +3 -0
  653. package/vendor/ink/build/wrap-text.js +31 -0
  654. package/vendor/ink/build/wrap-text.js.map +1 -0
  655. package/vendor/ink/build/write-synchronized.d.ts +4 -0
  656. package/vendor/ink/build/write-synchronized.js +7 -0
  657. package/vendor/ink/build/write-synchronized.js.map +1 -0
  658. package/vendor/ink/license +10 -0
  659. package/vendor/ink/node_modules/@types/node/LICENSE +21 -0
  660. package/vendor/ink/node_modules/@types/node/README.md +15 -0
  661. package/vendor/ink/node_modules/@types/node/assert/strict.d.ts +105 -0
  662. package/vendor/ink/node_modules/@types/node/assert.d.ts +955 -0
  663. package/vendor/ink/node_modules/@types/node/async_hooks.d.ts +623 -0
  664. package/vendor/ink/node_modules/@types/node/buffer.buffer.d.ts +466 -0
  665. package/vendor/ink/node_modules/@types/node/buffer.d.ts +1810 -0
  666. package/vendor/ink/node_modules/@types/node/child_process.d.ts +1428 -0
  667. package/vendor/ink/node_modules/@types/node/cluster.d.ts +486 -0
  668. package/vendor/ink/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
  669. package/vendor/ink/node_modules/@types/node/console.d.ts +151 -0
  670. package/vendor/ink/node_modules/@types/node/constants.d.ts +20 -0
  671. package/vendor/ink/node_modules/@types/node/crypto.d.ts +4065 -0
  672. package/vendor/ink/node_modules/@types/node/dgram.d.ts +564 -0
  673. package/vendor/ink/node_modules/@types/node/diagnostics_channel.d.ts +576 -0
  674. package/vendor/ink/node_modules/@types/node/dns/promises.d.ts +503 -0
  675. package/vendor/ink/node_modules/@types/node/dns.d.ts +922 -0
  676. package/vendor/ink/node_modules/@types/node/domain.d.ts +166 -0
  677. package/vendor/ink/node_modules/@types/node/events.d.ts +1054 -0
  678. package/vendor/ink/node_modules/@types/node/fs/promises.d.ts +1329 -0
  679. package/vendor/ink/node_modules/@types/node/fs.d.ts +4676 -0
  680. package/vendor/ink/node_modules/@types/node/globals.d.ts +150 -0
  681. package/vendor/ink/node_modules/@types/node/globals.typedarray.d.ts +101 -0
  682. package/vendor/ink/node_modules/@types/node/http.d.ts +2167 -0
  683. package/vendor/ink/node_modules/@types/node/http2.d.ts +2480 -0
  684. package/vendor/ink/node_modules/@types/node/https.d.ts +405 -0
  685. package/vendor/ink/node_modules/@types/node/index.d.ts +115 -0
  686. package/vendor/ink/node_modules/@types/node/inspector/promises.d.ts +41 -0
  687. package/vendor/ink/node_modules/@types/node/inspector.d.ts +224 -0
  688. package/vendor/ink/node_modules/@types/node/inspector.generated.d.ts +4226 -0
  689. package/vendor/ink/node_modules/@types/node/module.d.ts +819 -0
  690. package/vendor/ink/node_modules/@types/node/net.d.ts +933 -0
  691. package/vendor/ink/node_modules/@types/node/os.d.ts +507 -0
  692. package/vendor/ink/node_modules/@types/node/package.json +155 -0
  693. package/vendor/ink/node_modules/@types/node/path/posix.d.ts +8 -0
  694. package/vendor/ink/node_modules/@types/node/path/win32.d.ts +8 -0
  695. package/vendor/ink/node_modules/@types/node/path.d.ts +187 -0
  696. package/vendor/ink/node_modules/@types/node/perf_hooks.d.ts +643 -0
  697. package/vendor/ink/node_modules/@types/node/process.d.ts +2156 -0
  698. package/vendor/ink/node_modules/@types/node/punycode.d.ts +117 -0
  699. package/vendor/ink/node_modules/@types/node/querystring.d.ts +152 -0
  700. package/vendor/ink/node_modules/@types/node/quic.d.ts +910 -0
  701. package/vendor/ink/node_modules/@types/node/readline/promises.d.ts +161 -0
  702. package/vendor/ink/node_modules/@types/node/readline.d.ts +541 -0
  703. package/vendor/ink/node_modules/@types/node/repl.d.ts +415 -0
  704. package/vendor/ink/node_modules/@types/node/sea.d.ts +162 -0
  705. package/vendor/ink/node_modules/@types/node/sqlite.d.ts +955 -0
  706. package/vendor/ink/node_modules/@types/node/stream/consumers.d.ts +38 -0
  707. package/vendor/ink/node_modules/@types/node/stream/promises.d.ts +211 -0
  708. package/vendor/ink/node_modules/@types/node/stream/web.d.ts +296 -0
  709. package/vendor/ink/node_modules/@types/node/stream.d.ts +1760 -0
  710. package/vendor/ink/node_modules/@types/node/string_decoder.d.ts +67 -0
  711. package/vendor/ink/node_modules/@types/node/test/reporters.d.ts +96 -0
  712. package/vendor/ink/node_modules/@types/node/test.d.ts +2240 -0
  713. package/vendor/ink/node_modules/@types/node/timers/promises.d.ts +108 -0
  714. package/vendor/ink/node_modules/@types/node/timers.d.ts +159 -0
  715. package/vendor/ink/node_modules/@types/node/tls.d.ts +1198 -0
  716. package/vendor/ink/node_modules/@types/node/trace_events.d.ts +197 -0
  717. package/vendor/ink/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
  718. package/vendor/ink/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
  719. package/vendor/ink/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
  720. package/vendor/ink/node_modules/@types/node/ts5.6/index.d.ts +117 -0
  721. package/vendor/ink/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
  722. package/vendor/ink/node_modules/@types/node/ts5.7/index.d.ts +117 -0
  723. package/vendor/ink/node_modules/@types/node/tty.d.ts +250 -0
  724. package/vendor/ink/node_modules/@types/node/url.d.ts +519 -0
  725. package/vendor/ink/node_modules/@types/node/util/types.d.ts +558 -0
  726. package/vendor/ink/node_modules/@types/node/util.d.ts +1662 -0
  727. package/vendor/ink/node_modules/@types/node/v8.d.ts +983 -0
  728. package/vendor/ink/node_modules/@types/node/vm.d.ts +1208 -0
  729. package/vendor/ink/node_modules/@types/node/wasi.d.ts +202 -0
  730. package/vendor/ink/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
  731. package/vendor/ink/node_modules/@types/node/web-globals/blob.d.ts +23 -0
  732. package/vendor/ink/node_modules/@types/node/web-globals/console.d.ts +9 -0
  733. package/vendor/ink/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
  734. package/vendor/ink/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  735. package/vendor/ink/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
  736. package/vendor/ink/node_modules/@types/node/web-globals/events.d.ts +106 -0
  737. package/vendor/ink/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
  738. package/vendor/ink/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
  739. package/vendor/ink/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
  740. package/vendor/ink/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
  741. package/vendor/ink/node_modules/@types/node/web-globals/performance.d.ts +45 -0
  742. package/vendor/ink/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  743. package/vendor/ink/node_modules/@types/node/web-globals/streams.d.ts +115 -0
  744. package/vendor/ink/node_modules/@types/node/web-globals/timers.d.ts +44 -0
  745. package/vendor/ink/node_modules/@types/node/web-globals/url.d.ts +24 -0
  746. package/vendor/ink/node_modules/@types/node/worker_threads.d.ts +717 -0
  747. package/vendor/ink/node_modules/@types/node/zlib.d.ts +618 -0
  748. package/vendor/ink/node_modules/node-pty/LICENSE +69 -0
  749. package/vendor/ink/node_modules/node-pty/README.md +164 -0
  750. package/vendor/ink/node_modules/node-pty/binding.gyp +150 -0
  751. package/vendor/ink/node_modules/node-pty/lib/conpty_console_list_agent.js +25 -0
  752. package/vendor/ink/node_modules/node-pty/lib/eventEmitter2.js +47 -0
  753. package/vendor/ink/node_modules/node-pty/lib/index.js +52 -0
  754. package/vendor/ink/node_modules/node-pty/lib/interfaces.js +7 -0
  755. package/vendor/ink/node_modules/node-pty/lib/shared/conout.js +11 -0
  756. package/vendor/ink/node_modules/node-pty/lib/terminal.js +190 -0
  757. package/vendor/ink/node_modules/node-pty/lib/types.js +7 -0
  758. package/vendor/ink/node_modules/node-pty/lib/unixTerminal.js +349 -0
  759. package/vendor/ink/node_modules/node-pty/lib/utils.js +39 -0
  760. package/vendor/ink/node_modules/node-pty/lib/windowsConoutConnection.js +125 -0
  761. package/vendor/ink/node_modules/node-pty/lib/windowsPtyAgent.js +287 -0
  762. package/vendor/ink/node_modules/node-pty/lib/windowsTerminal.js +201 -0
  763. package/vendor/ink/node_modules/node-pty/lib/worker/conoutSocketWorker.js +22 -0
  764. package/vendor/ink/node_modules/node-pty/package.json +65 -0
  765. package/vendor/ink/node_modules/node-pty/prebuilds/darwin-arm64/pty.node +0 -0
  766. package/vendor/ink/node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper +0 -0
  767. package/vendor/ink/node_modules/node-pty/prebuilds/darwin-x64/pty.node +0 -0
  768. package/vendor/ink/node_modules/node-pty/prebuilds/darwin-x64/spawn-helper +0 -0
  769. package/vendor/ink/node_modules/node-pty/prebuilds/linux-arm64/pty.node +0 -0
  770. package/vendor/ink/node_modules/node-pty/prebuilds/linux-x64/pty.node +0 -0
  771. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
  772. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
  773. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
  774. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty.pdb +0 -0
  775. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
  776. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
  777. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
  778. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
  779. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty.node +0 -0
  780. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty.pdb +0 -0
  781. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
  782. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
  783. package/vendor/ink/node_modules/node-pty/scripts/post-install.js +76 -0
  784. package/vendor/ink/node_modules/node-pty/scripts/prebuild.js +34 -0
  785. package/vendor/ink/node_modules/node-pty/src/unix/pty.cc +875 -0
  786. package/vendor/ink/node_modules/node-pty/src/unix/spawn-helper.cc +23 -0
  787. package/vendor/ink/node_modules/node-pty/src/win/conpty.cc +582 -0
  788. package/vendor/ink/node_modules/node-pty/src/win/conpty.h +41 -0
  789. package/vendor/ink/node_modules/node-pty/src/win/conpty_console_list.cc +44 -0
  790. package/vendor/ink/node_modules/node-pty/src/win/path_util.cc +95 -0
  791. package/vendor/ink/node_modules/node-pty/src/win/path_util.h +26 -0
  792. package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-arm64/OpenConsole.exe +0 -0
  793. package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-arm64/conpty.dll +0 -0
  794. package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-x64/OpenConsole.exe +0 -0
  795. package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-x64/conpty.dll +0 -0
  796. package/vendor/ink/node_modules/node-pty/typings/node-pty.d.ts +215 -0
  797. package/vendor/ink/node_modules/undici-types/LICENSE +21 -0
  798. package/vendor/ink/node_modules/undici-types/README.md +6 -0
  799. package/vendor/ink/node_modules/undici-types/agent.d.ts +32 -0
  800. package/vendor/ink/node_modules/undici-types/api.d.ts +43 -0
  801. package/vendor/ink/node_modules/undici-types/balanced-pool.d.ts +30 -0
  802. package/vendor/ink/node_modules/undici-types/cache-interceptor.d.ts +173 -0
  803. package/vendor/ink/node_modules/undici-types/cache.d.ts +36 -0
  804. package/vendor/ink/node_modules/undici-types/client-stats.d.ts +15 -0
  805. package/vendor/ink/node_modules/undici-types/client.d.ts +108 -0
  806. package/vendor/ink/node_modules/undici-types/connector.d.ts +34 -0
  807. package/vendor/ink/node_modules/undici-types/content-type.d.ts +21 -0
  808. package/vendor/ink/node_modules/undici-types/cookies.d.ts +30 -0
  809. package/vendor/ink/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
  810. package/vendor/ink/node_modules/undici-types/dispatcher.d.ts +276 -0
  811. package/vendor/ink/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
  812. package/vendor/ink/node_modules/undici-types/errors.d.ts +161 -0
  813. package/vendor/ink/node_modules/undici-types/eventsource.d.ts +66 -0
  814. package/vendor/ink/node_modules/undici-types/fetch.d.ts +211 -0
  815. package/vendor/ink/node_modules/undici-types/formdata.d.ts +108 -0
  816. package/vendor/ink/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  817. package/vendor/ink/node_modules/undici-types/global-origin.d.ts +7 -0
  818. package/vendor/ink/node_modules/undici-types/h2c-client.d.ts +73 -0
  819. package/vendor/ink/node_modules/undici-types/handlers.d.ts +15 -0
  820. package/vendor/ink/node_modules/undici-types/header.d.ts +160 -0
  821. package/vendor/ink/node_modules/undici-types/index.d.ts +88 -0
  822. package/vendor/ink/node_modules/undici-types/interceptors.d.ts +73 -0
  823. package/vendor/ink/node_modules/undici-types/mock-agent.d.ts +68 -0
  824. package/vendor/ink/node_modules/undici-types/mock-call-history.d.ts +111 -0
  825. package/vendor/ink/node_modules/undici-types/mock-client.d.ts +27 -0
  826. package/vendor/ink/node_modules/undici-types/mock-errors.d.ts +12 -0
  827. package/vendor/ink/node_modules/undici-types/mock-interceptor.d.ts +94 -0
  828. package/vendor/ink/node_modules/undici-types/mock-pool.d.ts +27 -0
  829. package/vendor/ink/node_modules/undici-types/package.json +55 -0
  830. package/vendor/ink/node_modules/undici-types/patch.d.ts +29 -0
  831. package/vendor/ink/node_modules/undici-types/pool-stats.d.ts +19 -0
  832. package/vendor/ink/node_modules/undici-types/pool.d.ts +41 -0
  833. package/vendor/ink/node_modules/undici-types/proxy-agent.d.ts +29 -0
  834. package/vendor/ink/node_modules/undici-types/readable.d.ts +68 -0
  835. package/vendor/ink/node_modules/undici-types/retry-agent.d.ts +8 -0
  836. package/vendor/ink/node_modules/undici-types/retry-handler.d.ts +125 -0
  837. package/vendor/ink/node_modules/undici-types/round-robin-pool.d.ts +41 -0
  838. package/vendor/ink/node_modules/undici-types/snapshot-agent.d.ts +109 -0
  839. package/vendor/ink/node_modules/undici-types/util.d.ts +18 -0
  840. package/vendor/ink/node_modules/undici-types/utility.d.ts +7 -0
  841. package/vendor/ink/node_modules/undici-types/webidl.d.ts +341 -0
  842. package/vendor/ink/node_modules/undici-types/websocket.d.ts +186 -0
  843. package/vendor/ink/package.json +201 -0
  844. package/vendor/ink/readme.md +2636 -0
  845. package/bin/swag-agent.js +0 -9
  846. package/dist/server/lib/pg-rate-limiter.d.ts +0 -21
  847. package/dist/server/lib/pg-rate-limiter.js +0 -86
@@ -4,56 +4,61 @@
4
4
  * Scans the working directory to give the decomposer real filesystem context,
5
5
  * so it can assign specific files/directories to each agent instead of duplicating tasks.
6
6
  *
7
+ * Uses the server proxy (same auth as the main agent loop) — no direct API key needed.
7
8
  * Used by the Team system to auto-decompose tasks before assigning to teammates.
8
9
  */
9
- import Anthropic from "@anthropic-ai/sdk";
10
+
10
11
  import { randomUUID } from "node:crypto";
11
12
  import { readdirSync, statSync } from "node:fs";
12
13
  import { join } from "node:path";
13
- import { callWithRetry } from "./api-retry.js";
14
+ import { MODELS } from "../../shared/constants.js";
15
+ import { callServerProxy, buildAPIRequest } from "../../shared/api-client.js";
16
+ import { parseSSEStream, collectStreamResult } from "../../shared/sse-parser.js";
17
+ import { getProxyUrl } from "./config-store.js";
18
+ import { getValidToken } from "./auth-service.js";
19
+
20
+ // ── Types ──
21
+
14
22
  // ── Constants ──
15
- const DECOMPOSE_FALLBACK_MODEL = "claude-haiku-4-5-20251001";
23
+
16
24
  const DECOMPOSE_MAX_TOKENS = 8192;
25
+
17
26
  /** Scan a directory tree up to `maxDepth`, returning a compact file listing. */
18
27
  function scanDirectory(dir, maxDepth = 3, maxEntries = 200) {
19
- const lines = [];
20
- let count = 0;
21
- function walk(current, depth) {
22
- if (depth > maxDepth || count >= maxEntries)
23
- return;
24
- let entries;
25
- try {
26
- entries = readdirSync(current);
27
- }
28
- catch {
29
- return;
30
- }
31
- const skip = new Set(["node_modules", ".git", ".next", "dist", "build", "__pycache__", ".cache", ".turbo", "coverage", ".DS_Store"]);
32
- entries = entries.filter(e => !skip.has(e)).sort();
33
- for (const entry of entries) {
34
- if (count >= maxEntries)
35
- break;
36
- const fullPath = join(current, entry);
37
- let isDir = false;
38
- try {
39
- isDir = statSync(fullPath).isDirectory();
40
- }
41
- catch {
42
- continue;
43
- }
44
- const prefix = " ".repeat(depth);
45
- lines.push(`${prefix}${isDir ? `${entry}/` : entry}`);
46
- count++;
47
- if (isDir) {
48
- walk(fullPath, depth + 1);
49
- }
50
- }
28
+ const lines = [];
29
+ let count = 0;
30
+ function walk(current, depth) {
31
+ if (depth > maxDepth || count >= maxEntries) return;
32
+ let entries;
33
+ try {
34
+ entries = readdirSync(current);
35
+ } catch {
36
+ return;
37
+ }
38
+ const skip = new Set(["node_modules", ".git", ".next", "dist", "build", "__pycache__", ".cache", ".turbo", "coverage", ".DS_Store"]);
39
+ entries = entries.filter(e => !skip.has(e)).sort();
40
+ for (const entry of entries) {
41
+ if (count >= maxEntries) break;
42
+ const fullPath = join(current, entry);
43
+ let isDir = false;
44
+ try {
45
+ isDir = statSync(fullPath).isDirectory();
46
+ } catch {
47
+ continue;
48
+ }
49
+ const prefix = " ".repeat(depth);
50
+ lines.push(`${prefix}${isDir ? `${entry}/` : entry}`);
51
+ count++;
52
+ if (isDir) {
53
+ walk(fullPath, depth + 1);
54
+ }
51
55
  }
52
- walk(dir, 0);
53
- return lines.join("\n");
56
+ }
57
+ walk(dir, 0);
58
+ return lines.join("\n");
54
59
  }
55
60
  function buildSystemPrompt(maxCells) {
56
- return `You are a task decomposition engine for a multi-agent coding system.
61
+ return `You are a task decomposition engine for a multi-agent coding system.
57
62
 
58
63
  Given a user request and the project's file structure, break it into up to ${maxCells} sub-tasks that can be executed by independent coding agents in parallel. Each agent runs in its own thread — it CANNOT see other agents' work until completion.
59
64
 
@@ -73,9 +78,11 @@ Decomposition strategy:
73
78
  3. Each prompt MUST start with "Working directory: <path>" and list the exact files the agent should focus on.
74
79
  4. If the task involves auditing/reviewing, assign different directories to each agent.
75
80
  5. If the task involves refactoring, assign specific files to each agent — NEVER say "refactor all components."
76
- 6. Fewer focused tasks > many vague tasks. Use 2-4 cells for medium tasks, 5-6 only for large codebases.
77
- 7. DO NOT create a "planner" or "coordinator" task each agent plans its own work within its scope.
78
- 8. If the task is simple enough for 1-2 agents, use fewer. Don't pad to ${maxCells}.
81
+ 6. Each sub-task should scope to 3-5 files. If a logical unit involves more than 6 files, split it into multiple sub-tasks with clear boundaries.
82
+ 7. Prefer splitting by module/feature boundary over splitting by operation type. Example: DON'T split "implementer for all components" + "tester for all tests". DO split "agent A owns auth module (src/auth/*.ts + tests)" + "agent B owns billing module (src/billing/*.ts + tests)".
83
+ 8. Fewer focused tasks > many vague tasks. Use 2-4 cells for medium tasks, 5-6 only for large codebases.
84
+ 9. DO NOT create a "planner" or "coordinator" task — each agent plans its own work within its scope.
85
+ 10. If the task is simple enough for 1-2 agents, use fewer. Don't pad to ${maxCells}.
79
86
 
80
87
  Respond with ONLY valid JSON:
81
88
  {
@@ -86,114 +93,140 @@ Respond with ONLY valid JSON:
86
93
  }`;
87
94
  }
88
95
  export async function decomposeTask(task, opts = {}) {
89
- const maxCells = opts.maxCells || 6;
90
- const apiKey = opts.apiKey || process.env.ANTHROPIC_API_KEY;
91
- const model = opts.model || DECOMPOSE_FALLBACK_MODEL;
92
- if (!apiKey) {
93
- console.warn("[decomposer] No API key — falling back to single task");
94
- return singleTaskFallback(task);
96
+ const maxCells = opts.maxCells || 5;
97
+ const model = opts.model || MODELS.HAIKU;
98
+ const token = await getValidToken();
99
+ if (!token) {
100
+ console.warn("[decomposer] No auth token — falling back to single task");
101
+ return singleTaskFallback(task);
102
+ }
103
+ try {
104
+ let fileTree = "";
105
+ if (opts.workingDirectory) {
106
+ try {
107
+ fileTree = scanDirectory(opts.workingDirectory);
108
+ } catch (err) {
109
+ console.warn(`[decomposer] Failed to scan ${opts.workingDirectory}: ${err.message}`);
110
+ }
95
111
  }
96
- try {
97
- const client = new Anthropic({ apiKey });
98
- let fileTree = "";
99
- if (opts.workingDirectory) {
100
- try {
101
- fileTree = scanDirectory(opts.workingDirectory);
102
- }
103
- catch (err) {
104
- console.warn(`[decomposer] Failed to scan ${opts.workingDirectory}: ${err.message}`);
105
- }
106
- }
107
- const parts = [];
108
- if (opts.workingDirectory) {
109
- parts.push(`Working directory: ${opts.workingDirectory}`);
110
- }
111
- if (fileTree) {
112
- parts.push(`\nProject file structure:\n${fileTree}`);
113
- }
114
- if (opts.context) {
115
- parts.push(`\nPrevious round context:\n${opts.context}`);
116
- }
117
- parts.push(`\nTask: ${task}`);
118
- parts.push(`\nMax sub-tasks: ${maxCells}`);
119
- const userMessage = parts.join("\n");
120
- const response = await callWithRetry(() => client.messages.create({
121
- model,
122
- max_tokens: DECOMPOSE_MAX_TOKENS,
123
- system: buildSystemPrompt(maxCells),
124
- messages: [{ role: "user", content: userMessage }],
125
- }), { label: "decomposer" });
126
- const text = response.content
127
- .filter((b) => b.type === "text")
128
- .map(b => b.text)
129
- .join("");
130
- const jsonMatch = text.match(/\{[\s\S]*\}/);
131
- if (!jsonMatch) {
132
- console.warn("[decomposer] No JSON found in response — falling back to single task");
133
- return singleTaskFallback(task);
134
- }
135
- const parsed = JSON.parse(jsonMatch[0]);
136
- if (!parsed.sub_tasks?.length) {
137
- return singleTaskFallback(task);
138
- }
139
- const subTasks = parsed.sub_tasks.slice(0, maxCells).map((st, i) => ({
140
- id: randomUUID(),
141
- role: st.role,
142
- prompt: st.prompt,
143
- cell_index: i,
144
- depends_on: [],
145
- }));
146
- // Resolve depends_on from indices to UUIDs
147
- for (let i = 0; i < subTasks.length; i++) {
148
- const raw = parsed.sub_tasks[i];
149
- subTasks[i].depends_on = (raw.depends_on || [])
150
- .filter(idx => idx >= 0 && idx < subTasks.length && idx !== i)
151
- .map(idx => subTasks[idx].id);
152
- }
153
- return {
154
- sub_tasks: subTasks,
155
- summary: parsed.summary,
156
- };
112
+ const parts = [];
113
+ if (opts.workingDirectory) {
114
+ parts.push(`Working directory: ${opts.workingDirectory}`);
115
+ }
116
+ if (fileTree) {
117
+ parts.push(`\nProject file structure:\n${fileTree}`);
157
118
  }
158
- catch (err) {
159
- console.warn("[decomposer] API call failed — falling back to single task:", err.message);
160
- return singleTaskFallback(task);
119
+ if (opts.context) {
120
+ parts.push(`\nPrevious round context:\n${opts.context}`);
161
121
  }
122
+ parts.push(`\nTask: ${task}`);
123
+ parts.push(`\nMax sub-tasks: ${maxCells}`);
124
+ const userMessage = parts.join("\n");
125
+ const apiConfig = buildAPIRequest({
126
+ model,
127
+ contextProfile: "subagent"
128
+ });
129
+ const stream = await callServerProxy({
130
+ proxyUrl: getProxyUrl(),
131
+ token,
132
+ model,
133
+ system: [{
134
+ type: "text",
135
+ text: buildSystemPrompt(maxCells)
136
+ }],
137
+ messages: [{
138
+ role: "user",
139
+ content: userMessage
140
+ }],
141
+ tools: [],
142
+ apiConfig,
143
+ timeoutMs: 30_000
144
+ });
145
+ const result = await collectStreamResult(parseSSEStream(stream));
146
+ const text = result.text;
147
+ const jsonMatch = text.match(/\{[\s\S]*\}/);
148
+ if (!jsonMatch) {
149
+ console.warn("[decomposer] No JSON found in response — falling back to single task");
150
+ return singleTaskFallback(task);
151
+ }
152
+ const parsed = JSON.parse(jsonMatch[0]);
153
+ if (!parsed.sub_tasks?.length) {
154
+ return singleTaskFallback(task);
155
+ }
156
+ const subTasks = parsed.sub_tasks.slice(0, maxCells).map((st, i) => ({
157
+ id: randomUUID(),
158
+ role: st.role,
159
+ prompt: st.prompt,
160
+ cell_index: i,
161
+ depends_on: []
162
+ }));
163
+
164
+ // Resolve depends_on from indices to UUIDs
165
+ for (let i = 0; i < subTasks.length; i++) {
166
+ const raw = parsed.sub_tasks[i];
167
+ subTasks[i].depends_on = (raw.depends_on || []).filter(idx => idx >= 0 && idx < subTasks.length && idx !== i).map(idx => subTasks[idx].id);
168
+ }
169
+ return {
170
+ sub_tasks: subTasks,
171
+ summary: parsed.summary
172
+ };
173
+ } catch (err) {
174
+ console.warn("[decomposer] API call failed — falling back to single task:", err.message);
175
+ return singleTaskFallback(task);
176
+ }
162
177
  }
178
+
163
179
  /**
164
180
  * Scan decomposed sub-task prompts for suspicious patterns.
165
181
  * Returns an array of human-readable warnings (empty = clean).
166
182
  */
167
183
  export function sanitizePrompts(subTasks) {
168
- const warnings = [];
169
- const dangerous = [
170
- { pattern: /rm\s+-rf\s+[\/~]/i, label: "rm -rf with absolute path" },
171
- { pattern: /curl.*\|\s*(?:ba)?sh/i, label: "curl piped to shell" },
172
- { pattern: /eval\s*\(/i, label: "eval()" },
173
- { pattern: />\s*\/etc\//i, label: "write to /etc" },
174
- { pattern: /chmod\s+777/i, label: "chmod 777" },
175
- { pattern: /ssh\s+/i, label: "SSH command" },
176
- { pattern: /scp\s+/i, label: "SCP command" },
177
- ];
178
- for (const st of subTasks) {
179
- for (const { pattern, label } of dangerous) {
180
- if (pattern.test(st.prompt)) {
181
- const idx = st.cell_index ?? subTasks.indexOf(st);
182
- warnings.push(`Task ${idx} (${st.role}): prompt contains suspicious pattern — ${label}`);
183
- }
184
- }
184
+ const warnings = [];
185
+ const dangerous = [{
186
+ pattern: /rm\s+-rf\s+[\/~]/i,
187
+ label: "rm -rf with absolute path"
188
+ }, {
189
+ pattern: /curl.*\|\s*(?:ba)?sh/i,
190
+ label: "curl piped to shell"
191
+ }, {
192
+ pattern: /eval\s*\(/i,
193
+ label: "eval()"
194
+ }, {
195
+ pattern: />\s*\/etc\//i,
196
+ label: "write to /etc"
197
+ }, {
198
+ pattern: /chmod\s+777/i,
199
+ label: "chmod 777"
200
+ }, {
201
+ pattern: /ssh\s+/i,
202
+ label: "SSH command"
203
+ }, {
204
+ pattern: /scp\s+/i,
205
+ label: "SCP command"
206
+ }];
207
+ for (const st of subTasks) {
208
+ for (const {
209
+ pattern,
210
+ label
211
+ } of dangerous) {
212
+ if (pattern.test(st.prompt)) {
213
+ const idx = st.cell_index ?? subTasks.indexOf(st);
214
+ warnings.push(`Task ${idx} (${st.role}): prompt contains suspicious pattern — ${label}`);
215
+ }
185
216
  }
186
- return warnings;
217
+ }
218
+ return warnings;
187
219
  }
188
220
  function singleTaskFallback(task) {
189
- return {
190
- sub_tasks: [{
191
- id: randomUUID(),
192
- role: "executor",
193
- prompt: task,
194
- cell_index: 0,
195
- depends_on: [],
196
- }],
197
- summary: "Single agent execution",
198
- };
221
+ return {
222
+ sub_tasks: [{
223
+ id: randomUUID(),
224
+ role: "executor",
225
+ prompt: task,
226
+ cell_index: 0,
227
+ depends_on: []
228
+ }],
229
+ summary: "Single agent execution"
230
+ };
199
231
  }
232
+ //# sourceMappingURL=task-decomposer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-decomposer.js","names":["randomUUID","readdirSync","statSync","join","MODELS","callServerProxy","buildAPIRequest","parseSSEStream","collectStreamResult","getProxyUrl","getValidToken","DECOMPOSE_MAX_TOKENS","scanDirectory","dir","maxDepth","maxEntries","lines","count","walk","current","depth","entries","skip","Set","filter","e","has","sort","entry","fullPath","isDir","isDirectory","prefix","repeat","push","buildSystemPrompt","maxCells","decomposeTask","task","opts","model","HAIKU","token","console","warn","singleTaskFallback","fileTree","workingDirectory","err","message","parts","context","userMessage","apiConfig","contextProfile","stream","proxyUrl","system","type","text","messages","role","content","tools","timeoutMs","result","jsonMatch","match","parsed","JSON","parse","sub_tasks","length","subTasks","slice","map","st","i","id","prompt","cell_index","depends_on","raw","idx","summary","sanitizePrompts","warnings","dangerous","pattern","label","test","indexOf"],"sources":["../../../src/cli/services/task-decomposer.ts"],"sourcesContent":["/**\n * Task Decomposer — breaks a user request into N sub-tasks via Claude API.\n *\n * Scans the working directory to give the decomposer real filesystem context,\n * so it can assign specific files/directories to each agent instead of duplicating tasks.\n *\n * Uses the server proxy (same auth as the main agent loop) — no direct API key needed.\n * Used by the Team system to auto-decompose tasks before assigning to teammates.\n */\n\nimport { randomUUID } from \"node:crypto\";\nimport { readdirSync, statSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { MODELS } from \"../../shared/constants.js\";\nimport { callServerProxy, buildAPIRequest } from \"../../shared/api-client.js\";\nimport { parseSSEStream, collectStreamResult } from \"../../shared/sse-parser.js\";\nimport { getProxyUrl } from \"./config-store.js\";\nimport { getValidToken } from \"./auth-service.js\";\n\n// ── Types ──\n\nexport interface SubTask {\n id: string;\n role: string; // implementer, tester, reviewer, researcher, executor\n prompt: string;\n cell_index: number;\n depends_on: string[];\n}\n\nexport interface DecompositionResult {\n sub_tasks: SubTask[];\n summary: string;\n}\n\n// ── Constants ──\n\nconst DECOMPOSE_MAX_TOKENS = 8192;\n\n/** Scan a directory tree up to `maxDepth`, returning a compact file listing. */\nfunction scanDirectory(dir: string, maxDepth = 3, maxEntries = 200): string {\n const lines: string[] = [];\n let count = 0;\n\n function walk(current: string, depth: number) {\n if (depth > maxDepth || count >= maxEntries) return;\n let entries: string[];\n try {\n entries = readdirSync(current);\n } catch {\n return;\n }\n const skip = new Set([\"node_modules\", \".git\", \".next\", \"dist\", \"build\", \"__pycache__\", \".cache\", \".turbo\", \"coverage\", \".DS_Store\"]);\n entries = entries.filter(e => !skip.has(e)).sort();\n\n for (const entry of entries) {\n if (count >= maxEntries) break;\n const fullPath = join(current, entry);\n let isDir = false;\n try {\n isDir = statSync(fullPath).isDirectory();\n } catch {\n continue;\n }\n const prefix = \" \".repeat(depth);\n lines.push(`${prefix}${isDir ? `${entry}/` : entry}`);\n count++;\n if (isDir) {\n walk(fullPath, depth + 1);\n }\n }\n }\n\n walk(dir, 0);\n return lines.join(\"\\n\");\n}\n\nfunction buildSystemPrompt(maxCells: number): string {\n return `You are a task decomposition engine for a multi-agent coding system.\n\nGiven a user request and the project's file structure, break it into up to ${maxCells} sub-tasks that can be executed by independent coding agents in parallel. Each agent runs in its own thread — it CANNOT see other agents' work until completion.\n\nCRITICAL RULES:\n- ALL sub-tasks MUST have depends_on: []\n- Every sub-task MUST target DIFFERENT files/directories — NEVER assign the same file to two agents\n- Each prompt MUST list the SPECIFIC files/directories that agent owns exclusively\n\nEach sub-task has:\n- role: one of \"implementer\", \"tester\", \"reviewer\", or \"researcher\"\n- prompt: the specific instruction for this agent (MUST include exact file paths from the project structure)\n- depends_on: ALWAYS [] (empty array)\n\nDecomposition strategy:\n1. Study the file structure provided. Identify the major areas/modules/directories.\n2. Partition the work so each agent owns a DISTINCT set of files. Example: Agent 0 handles src/components/Header.tsx + src/components/Nav.tsx, Agent 1 handles src/pages/Home.tsx + src/pages/About.tsx, etc.\n3. Each prompt MUST start with \"Working directory: <path>\" and list the exact files the agent should focus on.\n4. If the task involves auditing/reviewing, assign different directories to each agent.\n5. If the task involves refactoring, assign specific files to each agent — NEVER say \"refactor all components.\"\n6. Each sub-task should scope to 3-5 files. If a logical unit involves more than 6 files, split it into multiple sub-tasks with clear boundaries.\n7. Prefer splitting by module/feature boundary over splitting by operation type. Example: DON'T split \"implementer for all components\" + \"tester for all tests\". DO split \"agent A owns auth module (src/auth/*.ts + tests)\" + \"agent B owns billing module (src/billing/*.ts + tests)\".\n8. Fewer focused tasks > many vague tasks. Use 2-4 cells for medium tasks, 5-6 only for large codebases.\n9. DO NOT create a \"planner\" or \"coordinator\" task — each agent plans its own work within its scope.\n10. If the task is simple enough for 1-2 agents, use fewer. Don't pad to ${maxCells}.\n\nRespond with ONLY valid JSON:\n{\n \"summary\": \"One-line description of the split strategy\",\n \"sub_tasks\": [\n { \"role\": \"implementer\", \"prompt\": \"Working directory: /path/to/project\\\\n\\\\nYour scope: src/components/Header.tsx, src/components/Nav.tsx\\\\n\\\\nTask: ...\", \"depends_on\": [] }\n ]\n}`;\n}\n\nexport async function decomposeTask(\n task: string,\n opts: {\n maxCells?: number;\n context?: string;\n model?: string;\n workingDirectory?: string;\n } = {},\n): Promise<DecompositionResult> {\n const maxCells = opts.maxCells || 5;\n const model = opts.model || MODELS.HAIKU;\n\n const token = await getValidToken();\n if (!token) {\n console.warn(\"[decomposer] No auth token — falling back to single task\");\n return singleTaskFallback(task);\n }\n\n try {\n let fileTree = \"\";\n if (opts.workingDirectory) {\n try {\n fileTree = scanDirectory(opts.workingDirectory);\n } catch (err) {\n console.warn(`[decomposer] Failed to scan ${opts.workingDirectory}: ${(err as Error).message}`);\n }\n }\n\n const parts: string[] = [];\n if (opts.workingDirectory) {\n parts.push(`Working directory: ${opts.workingDirectory}`);\n }\n if (fileTree) {\n parts.push(`\\nProject file structure:\\n${fileTree}`);\n }\n if (opts.context) {\n parts.push(`\\nPrevious round context:\\n${opts.context}`);\n }\n parts.push(`\\nTask: ${task}`);\n parts.push(`\\nMax sub-tasks: ${maxCells}`);\n\n const userMessage = parts.join(\"\\n\");\n const apiConfig = buildAPIRequest({ model, contextProfile: \"subagent\" });\n\n const stream = await callServerProxy({\n proxyUrl: getProxyUrl(),\n token,\n model,\n system: [{ type: \"text\", text: buildSystemPrompt(maxCells) }],\n messages: [{ role: \"user\", content: userMessage }],\n tools: [],\n apiConfig,\n timeoutMs: 30_000,\n });\n\n const result = await collectStreamResult(parseSSEStream(stream));\n const text = result.text;\n\n const jsonMatch = text.match(/\\{[\\s\\S]*\\}/);\n if (!jsonMatch) {\n console.warn(\"[decomposer] No JSON found in response — falling back to single task\");\n return singleTaskFallback(task);\n }\n\n const parsed = JSON.parse(jsonMatch[0]) as {\n summary: string;\n sub_tasks: Array<{\n role: string;\n prompt: string;\n depends_on: number[];\n }>;\n };\n\n if (!parsed.sub_tasks?.length) {\n return singleTaskFallback(task);\n }\n\n const subTasks: SubTask[] = parsed.sub_tasks.slice(0, maxCells).map((st, i) => ({\n id: randomUUID(),\n role: st.role,\n prompt: st.prompt,\n cell_index: i,\n depends_on: [],\n }));\n\n // Resolve depends_on from indices to UUIDs\n for (let i = 0; i < subTasks.length; i++) {\n const raw = parsed.sub_tasks[i];\n subTasks[i].depends_on = (raw.depends_on || [])\n .filter(idx => idx >= 0 && idx < subTasks.length && idx !== i)\n .map(idx => subTasks[idx].id);\n }\n\n return {\n sub_tasks: subTasks,\n summary: parsed.summary,\n };\n } catch (err) {\n console.warn(\"[decomposer] API call failed — falling back to single task:\", (err as Error).message);\n return singleTaskFallback(task);\n }\n}\n\n/**\n * Scan decomposed sub-task prompts for suspicious patterns.\n * Returns an array of human-readable warnings (empty = clean).\n */\nexport function sanitizePrompts(subTasks: Array<{ role: string; prompt: string; cell_index?: number }>): string[] {\n const warnings: string[] = [];\n const dangerous: Array<{ pattern: RegExp; label: string }> = [\n { pattern: /rm\\s+-rf\\s+[\\/~]/i, label: \"rm -rf with absolute path\" },\n { pattern: /curl.*\\|\\s*(?:ba)?sh/i, label: \"curl piped to shell\" },\n { pattern: /eval\\s*\\(/i, label: \"eval()\" },\n { pattern: />\\s*\\/etc\\//i, label: \"write to /etc\" },\n { pattern: /chmod\\s+777/i, label: \"chmod 777\" },\n { pattern: /ssh\\s+/i, label: \"SSH command\" },\n { pattern: /scp\\s+/i, label: \"SCP command\" },\n ];\n\n for (const st of subTasks) {\n for (const { pattern, label } of dangerous) {\n if (pattern.test(st.prompt)) {\n const idx = st.cell_index ?? subTasks.indexOf(st);\n warnings.push(`Task ${idx} (${st.role}): prompt contains suspicious pattern — ${label}`);\n }\n }\n }\n return warnings;\n}\n\nfunction singleTaskFallback(task: string): DecompositionResult {\n return {\n sub_tasks: [{\n id: randomUUID(),\n role: \"executor\",\n prompt: task,\n cell_index: 0,\n depends_on: [],\n }],\n summary: \"Single agent execution\",\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -70,13 +70,13 @@ export declare class TeamLead extends EventEmitter {
70
70
  } | null;
71
71
  stop(): void;
72
72
  }
73
- export declare function runAgentTeam(config: TeamConfig): Promise<TeamResult>;
73
+ export declare function runAgentTeam(config: TeamConfig, signal?: AbortSignal): Promise<TeamResult>;
74
74
  export interface AutoTeamOptions {
75
75
  maxTeammates?: number;
76
76
  model?: "sonnet" | "opus" | "haiku";
77
77
  workingDirectory?: string;
78
- apiKey?: string;
79
78
  review?: boolean;
79
+ signal?: AbortSignal;
80
80
  }
81
81
  /**
82
82
  * Auto-decompose a task into sub-tasks and run them as a team.