whale-code 6.5.5 → 6.5.7

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 (2089) hide show
  1. package/README.md +39 -31
  2. package/bin/{swagmanager-mcp.js → whale-code.js} +40 -2
  3. package/dist/cli/__tests__/print-mode-streaming.test.js +270 -0
  4. package/dist/cli/__tests__/print-mode.basic-output.test.js +230 -0
  5. package/dist/cli/__tests__/print-mode.session-errors.test.js +252 -0
  6. package/dist/cli/__tests__/print-mode.test.js +273 -0
  7. package/dist/cli/__tests__/serve-mode-messages.test.js +338 -0
  8. package/dist/cli/__tests__/serve-mode.messages.part2.test.js +266 -0
  9. package/dist/cli/__tests__/serve-mode.messages.test.js +277 -0
  10. package/dist/cli/__tests__/serve-mode.startup-http.test.js +279 -0
  11. package/dist/cli/__tests__/serve-mode.test.js +345 -0
  12. package/dist/cli/app.d.ts +1 -0
  13. package/dist/cli/app.js +154 -72
  14. package/dist/cli/app.js.map +1 -0
  15. package/dist/cli/chat/AgentSelector.js +105 -10
  16. package/dist/cli/chat/AgentSelector.js.map +1 -0
  17. package/dist/cli/chat/ChatApp.d.ts +8 -5
  18. package/dist/cli/chat/ChatApp.js +253 -315
  19. package/dist/cli/chat/ChatApp.js.map +1 -0
  20. package/dist/cli/chat/ChatInput.d.ts +3 -2
  21. package/dist/cli/chat/ChatInput.js +1111 -770
  22. package/dist/cli/chat/ChatInput.js.map +1 -0
  23. package/dist/cli/chat/ImsgManager.d.ts +20 -0
  24. package/dist/cli/chat/ImsgManager.js +341 -0
  25. package/dist/cli/chat/ImsgManager.js.map +1 -0
  26. package/dist/cli/chat/MarkdownText.d.ts +2 -1
  27. package/dist/cli/chat/MarkdownText.js +44 -15
  28. package/dist/cli/chat/MarkdownText.js.map +1 -0
  29. package/dist/cli/chat/MemoryManager.js +182 -46
  30. package/dist/cli/chat/MemoryManager.js.map +1 -0
  31. package/dist/cli/chat/MessageList.d.ts +3 -4
  32. package/dist/cli/chat/MessageList.js +195 -49
  33. package/dist/cli/chat/MessageList.js.map +1 -0
  34. package/dist/cli/chat/ModelSelector.js +282 -63
  35. package/dist/cli/chat/ModelSelector.js.map +1 -0
  36. package/dist/cli/chat/NodeManager.js +61 -84
  37. package/dist/cli/chat/NodeManager.js.map +1 -0
  38. package/dist/cli/chat/NodeSelector.js +171 -30
  39. package/dist/cli/chat/NodeSelector.js.map +1 -0
  40. package/dist/cli/chat/OverlayContext.d.ts +27 -0
  41. package/dist/cli/chat/OverlayContext.js +2 -0
  42. package/dist/cli/chat/OverlayContext.js.map +1 -0
  43. package/dist/cli/chat/PlanApproval.js +282 -57
  44. package/dist/cli/chat/PlanApproval.js.map +1 -0
  45. package/dist/cli/chat/RewindConfirmation.d.ts +12 -0
  46. package/dist/cli/chat/RewindConfirmation.js +243 -0
  47. package/dist/cli/chat/RewindConfirmation.js.map +1 -0
  48. package/dist/cli/chat/RewindViewer.js +560 -144
  49. package/dist/cli/chat/RewindViewer.js.map +1 -0
  50. package/dist/cli/chat/SessionManager.js +138 -30
  51. package/dist/cli/chat/SessionManager.js.map +1 -0
  52. package/dist/cli/chat/SlashMenu.d.ts +7 -24
  53. package/dist/cli/chat/SlashMenu.js +150 -190
  54. package/dist/cli/chat/SlashMenu.js.map +1 -0
  55. package/dist/cli/chat/StatusBar.d.ts +5 -2
  56. package/dist/cli/chat/StatusBar.js +188 -10
  57. package/dist/cli/chat/StatusBar.js.map +1 -0
  58. package/dist/cli/chat/StoreSelector.js +147 -18
  59. package/dist/cli/chat/StoreSelector.js.map +1 -0
  60. package/dist/cli/chat/StreamingText.d.ts +0 -3
  61. package/dist/cli/chat/StreamingText.js +21 -6
  62. package/dist/cli/chat/StreamingText.js.map +1 -0
  63. package/dist/cli/chat/SubagentPanel.d.ts +6 -7
  64. package/dist/cli/chat/SubagentPanel.js +253 -91
  65. package/dist/cli/chat/SubagentPanel.js.map +1 -0
  66. package/dist/cli/chat/TeamPanel.d.ts +1 -0
  67. package/dist/cli/chat/TeamPanel.js +201 -29
  68. package/dist/cli/chat/TeamPanel.js.map +1 -0
  69. package/dist/cli/chat/ThemeSelector.js +84 -24
  70. package/dist/cli/chat/ThemeSelector.js.map +1 -0
  71. package/dist/cli/chat/ToolIndicator.d.ts +7 -23
  72. package/dist/cli/chat/ToolIndicator.js +635 -430
  73. package/dist/cli/chat/ToolIndicator.js.map +1 -0
  74. package/dist/cli/chat/chat-input-menu-handler.d.ts +32 -0
  75. package/dist/cli/chat/components/LiveArea.d.ts +12 -0
  76. package/dist/cli/chat/components/LiveArea.js +252 -0
  77. package/dist/cli/chat/components/LiveArea.js.map +1 -0
  78. package/dist/cli/chat/components/OverlayRouter.d.ts +13 -0
  79. package/dist/cli/chat/components/OverlayRouter.js +257 -0
  80. package/dist/cli/chat/components/OverlayRouter.js.map +1 -0
  81. package/dist/cli/chat/components/StaticMessages.d.ts +9 -0
  82. package/dist/cli/chat/components/StaticMessages.js +132 -0
  83. package/dist/cli/chat/components/StaticMessages.js.map +1 -0
  84. package/dist/cli/chat/hooks/agent-loop-events.d.ts +77 -0
  85. package/dist/cli/chat/hooks/agent-loop-events.js +171 -0
  86. package/dist/cli/chat/hooks/agent-loop-events.js.map +1 -0
  87. package/dist/cli/chat/hooks/slash-command-config-system.d.ts +11 -0
  88. package/dist/cli/chat/hooks/slash-command-config-system.js +177 -0
  89. package/dist/cli/chat/hooks/slash-command-config-system.js.map +1 -0
  90. package/dist/cli/chat/hooks/slash-command-handlers-system.d.ts +12 -0
  91. package/dist/cli/chat/hooks/slash-command-handlers-system.js +127 -0
  92. package/dist/cli/chat/hooks/slash-command-handlers-system.js.map +1 -0
  93. package/dist/cli/chat/hooks/slash-command-handlers.d.ts +21 -0
  94. package/dist/cli/chat/hooks/slash-command-handlers.js +222 -0
  95. package/dist/cli/chat/hooks/slash-command-handlers.js.map +1 -0
  96. package/dist/cli/chat/hooks/slash-imsg-handlers.js +148 -0
  97. package/dist/cli/chat/hooks/slash-imsg-handlers.js.map +1 -0
  98. package/dist/cli/chat/hooks/slash-node-handlers.d.ts +26 -0
  99. package/dist/cli/chat/hooks/slash-node-handlers.js +226 -0
  100. package/dist/cli/chat/hooks/slash-node-handlers.js.map +1 -0
  101. package/dist/cli/chat/hooks/useAgentLoop.d.ts +2 -20
  102. package/dist/cli/chat/hooks/useAgentLoop.js +344 -373
  103. package/dist/cli/chat/hooks/useAgentLoop.js.map +1 -0
  104. package/dist/cli/chat/hooks/useElapsedClock.d.ts +19 -0
  105. package/dist/cli/chat/hooks/useElapsedClock.js +80 -0
  106. package/dist/cli/chat/hooks/useElapsedClock.js.map +1 -0
  107. package/dist/cli/chat/hooks/useOverlayHandlers.d.ts +23 -0
  108. package/dist/cli/chat/hooks/useOverlayHandlers.js +125 -0
  109. package/dist/cli/chat/hooks/useOverlayHandlers.js.map +1 -0
  110. package/dist/cli/chat/hooks/useSlashCommands.d.ts +14 -33
  111. package/dist/cli/chat/hooks/useSlashCommands.js +167 -616
  112. package/dist/cli/chat/hooks/useSlashCommands.js.map +1 -0
  113. package/dist/cli/chat/hooks/useStreamingReducer.d.ts +66 -0
  114. package/dist/cli/chat/imsg-manager-render.d.ts +29 -0
  115. package/dist/cli/chat/imsg-manager-render.js +294 -0
  116. package/dist/cli/chat/imsg-manager-render.js.map +1 -0
  117. package/dist/cli/chat/slash-commands.d.ts +37 -0
  118. package/dist/cli/chat/slash-commands.js +194 -0
  119. package/dist/cli/chat/slash-commands.js.map +1 -0
  120. package/dist/cli/chat/store.d.ts +115 -0
  121. package/dist/cli/chat/store.js +177 -0
  122. package/dist/cli/chat/store.js.map +1 -0
  123. package/dist/cli/chat/tool-indicator-helpers.d.ts +14 -0
  124. package/dist/cli/chat/tool-indicator-helpers.js +167 -0
  125. package/dist/cli/chat/tool-indicator-helpers.js.map +1 -0
  126. package/dist/cli/chat/tool-indicator-summary.d.ts +6 -0
  127. package/dist/cli/chat/tool-indicator-summary.js +103 -0
  128. package/dist/cli/chat/tool-indicator-summary.js.map +1 -0
  129. package/dist/cli/chat/tool-indicator-types.d.ts +66 -0
  130. package/dist/cli/chat/tool-indicator-types.js +177 -0
  131. package/dist/cli/chat/tool-indicator-types.js.map +1 -0
  132. package/dist/cli/commands/__tests__/config-cmd.test.js +270 -0
  133. package/dist/cli/commands/__tests__/doctor.test.js +257 -0
  134. package/dist/cli/commands/__tests__/imsg-node-bridge.test.js +99 -0
  135. package/dist/cli/commands/__tests__/imsg-utils.test.js +73 -0
  136. package/dist/cli/commands/__tests__/init.test.js +214 -0
  137. package/dist/cli/commands/__tests__/mcp.test.js +287 -0
  138. package/dist/cli/commands/config-cmd.js +56 -57
  139. package/dist/cli/commands/config-cmd.js.map +1 -0
  140. package/dist/cli/commands/db.js +184 -169
  141. package/dist/cli/commands/db.js.map +1 -0
  142. package/dist/cli/commands/doctor.js +212 -122
  143. package/dist/cli/commands/doctor.js.map +1 -0
  144. package/dist/cli/commands/imsg-config.d.ts +31 -0
  145. package/dist/cli/commands/imsg-config.js +104 -0
  146. package/dist/cli/commands/imsg-config.js.map +1 -0
  147. package/dist/cli/commands/imsg-node-bridge.d.ts +25 -0
  148. package/dist/cli/commands/imsg-node-bridge.js +229 -0
  149. package/dist/cli/commands/imsg-node-bridge.js.map +1 -0
  150. package/dist/cli/commands/imsg-utils.d.ts +14 -0
  151. package/dist/cli/commands/imsg-utils.js +42 -0
  152. package/dist/cli/commands/imsg-utils.js.map +1 -0
  153. package/dist/cli/commands/imsg-watcher-helpers.d.ts +40 -0
  154. package/dist/cli/commands/imsg-watcher-helpers.js +184 -0
  155. package/dist/cli/commands/imsg-watcher-helpers.js.map +1 -0
  156. package/dist/cli/commands/imsg-watcher.d.ts +11 -0
  157. package/dist/cli/commands/imsg-watcher.js +230 -0
  158. package/dist/cli/commands/imsg-watcher.js.map +1 -0
  159. package/dist/cli/commands/imsg.d.ts +14 -0
  160. package/dist/cli/commands/imsg.js +181 -0
  161. package/dist/cli/commands/imsg.js.map +1 -0
  162. package/dist/cli/commands/init.js +211 -244
  163. package/dist/cli/commands/init.js.map +1 -0
  164. package/dist/cli/commands/mcp.js +127 -122
  165. package/dist/cli/commands/mcp.js.map +1 -0
  166. package/dist/cli/commands/sessions.d.ts +9 -0
  167. package/dist/cli/commands/sessions.js +93 -0
  168. package/dist/cli/commands/sessions.js.map +1 -0
  169. package/dist/cli/login/LoginApp.js +358 -141
  170. package/dist/cli/login/LoginApp.js.map +1 -0
  171. package/dist/cli/print-mode.js +196 -177
  172. package/dist/cli/print-mode.js.map +1 -0
  173. package/dist/cli/serve-mode-persistence.d.ts +18 -0
  174. package/dist/cli/serve-mode-persistence.js +157 -0
  175. package/dist/cli/serve-mode-persistence.js.map +1 -0
  176. package/dist/cli/serve-mode-query.d.ts +9 -0
  177. package/dist/cli/serve-mode-query.js +247 -0
  178. package/dist/cli/serve-mode-query.js.map +1 -0
  179. package/dist/cli/serve-mode-types.d.ts +29 -0
  180. package/dist/cli/serve-mode-types.js +56 -0
  181. package/dist/cli/serve-mode-types.js.map +1 -0
  182. package/dist/cli/serve-mode.js +615 -530
  183. package/dist/cli/serve-mode.js.map +1 -0
  184. package/dist/cli/services/__tests__/agent-definitions.test.js +153 -0
  185. package/dist/cli/services/__tests__/agent-events-global.test.js +39 -0
  186. package/dist/cli/services/__tests__/agent-events.part2.test.js +113 -0
  187. package/dist/cli/services/__tests__/agent-events.test.js +157 -0
  188. package/dist/cli/services/__tests__/agent-loop-auth.test.js +392 -0
  189. package/dist/cli/services/__tests__/agent-loop-budget.test.js +389 -0
  190. package/dist/cli/services/__tests__/agent-loop-tools-lifecycle.test.js +430 -0
  191. package/dist/cli/services/__tests__/agent-loop-tools-maxturns.test.js +486 -0
  192. package/dist/cli/services/__tests__/agent-loop-utils-execution.test.js +528 -0
  193. package/dist/cli/services/__tests__/agent-loop-utils-helpers.test.js +466 -0
  194. package/dist/cli/services/__tests__/agent-worker-base-execute.test.js +257 -0
  195. package/dist/cli/services/__tests__/agent-worker-base-helpers.test.js +198 -0
  196. package/dist/cli/services/__tests__/agent-worker-base.test.js +278 -0
  197. package/dist/cli/services/__tests__/auth-service-exports.test.js +41 -0
  198. package/dist/cli/services/__tests__/auth-service.part2.test.js +169 -0
  199. package/dist/cli/services/__tests__/auth-service.test.js +242 -0
  200. package/dist/cli/services/__tests__/background-processes.test.js +282 -0
  201. package/dist/cli/services/__tests__/claude-md-loader.test.js +134 -0
  202. package/dist/cli/services/__tests__/config-store.test.js +247 -0
  203. package/dist/cli/services/__tests__/debug-log.test.js +199 -0
  204. package/dist/cli/services/__tests__/edge-cases-caching.test.js +174 -0
  205. package/dist/cli/services/__tests__/edge-cases-compaction-core.test.js +226 -0
  206. package/dist/cli/services/__tests__/edge-cases-compaction-openai.test.js +152 -0
  207. package/dist/cli/services/__tests__/edge-cases-compaction-shapes.test.js +53 -0
  208. package/dist/cli/services/__tests__/edge-cases-compaction-thinking.test.js +226 -0
  209. package/dist/cli/services/__tests__/edge-cases-compaction.test.js +131 -0
  210. package/dist/cli/services/__tests__/edge-cases-paths.test.js +86 -0
  211. package/dist/cli/services/__tests__/error-logger-messages.test.js +81 -0
  212. package/dist/cli/services/__tests__/error-logger-transport.test.js +119 -0
  213. package/dist/cli/services/__tests__/error-logger.test.js +264 -0
  214. package/dist/cli/services/__tests__/file-history.test.js +136 -0
  215. package/dist/cli/services/__tests__/git-context-cache-reset.test.js +223 -0
  216. package/dist/cli/services/__tests__/git-context.test.js +241 -0
  217. package/dist/cli/services/__tests__/interactive-tools-execute.test.js +166 -0
  218. package/dist/cli/services/__tests__/interactive-tools-plan.test.js +197 -0
  219. package/dist/cli/services/__tests__/interactive-tools.part2.test.js +168 -0
  220. package/dist/cli/services/__tests__/interactive-tools.test.js +179 -0
  221. package/dist/cli/services/__tests__/keybinding-manager.test.js +205 -0
  222. package/dist/cli/services/__tests__/local-tools-dispatch.test.js +404 -0
  223. package/dist/cli/services/__tests__/local-tools.test.js +238 -0
  224. package/dist/cli/services/__tests__/lsp-manager.test.js +364 -0
  225. package/dist/cli/services/__tests__/mcp-client-connect-disconnect.test.js +310 -0
  226. package/dist/cli/services/__tests__/mcp-client.test.js +93 -0
  227. package/dist/cli/services/__tests__/memory-manager.test.js +154 -0
  228. package/dist/cli/services/__tests__/model-manager-utils.test.js +154 -0
  229. package/dist/cli/services/__tests__/model-manager.test.js +175 -0
  230. package/dist/cli/services/__tests__/permission-modes.test.js +222 -0
  231. package/dist/cli/services/__tests__/ripgrep.test.js +328 -0
  232. package/dist/cli/services/__tests__/server-tools-execute.test.js +317 -0
  233. package/dist/cli/services/__tests__/server-tools.test.js +272 -0
  234. package/dist/cli/services/__tests__/session-persistence.test.js +245 -0
  235. package/dist/cli/services/__tests__/subagent-basic.test.js +489 -0
  236. package/dist/cli/services/__tests__/subagent-edge.test.js +545 -0
  237. package/dist/cli/services/__tests__/subagent-prompts.test.js +558 -0
  238. package/dist/cli/services/__tests__/subagent-worker-errors.test.js +255 -0
  239. package/dist/cli/services/__tests__/subagent-worker.test.js +242 -0
  240. package/dist/cli/services/__tests__/system-prompt.test.js +210 -0
  241. package/dist/cli/services/__tests__/team-lead-comms-messaging.test.js +250 -0
  242. package/dist/cli/services/__tests__/team-lead-comms-result.test.js +232 -0
  243. package/dist/cli/services/__tests__/team-lead-comms-stop.test.js +344 -0
  244. package/dist/cli/services/__tests__/team-lead-comms.test.js +285 -0
  245. package/dist/cli/services/__tests__/team-lead-create.test.js +327 -0
  246. package/dist/cli/services/__tests__/team-lead-run.test.js +318 -0
  247. package/dist/cli/services/__tests__/team-lead-stop.test.js +199 -0
  248. package/dist/cli/services/__tests__/team-state-comms.test.js +240 -0
  249. package/dist/cli/services/__tests__/team-state-core.test.js +230 -0
  250. package/dist/cli/services/__tests__/team-state-tasks-complete-fail-available.test.js +224 -0
  251. package/dist/cli/services/__tests__/team-state-tasks.test.js +184 -0
  252. package/dist/cli/services/__tests__/telemetry-ai-metadata.test.js +116 -0
  253. package/dist/cli/services/__tests__/telemetry.part2.test.js +195 -0
  254. package/dist/cli/services/__tests__/telemetry.test.js +176 -0
  255. package/dist/cli/services/agent-config.d.ts +5 -1
  256. package/dist/cli/services/agent-config.js +66 -36
  257. package/dist/cli/services/agent-config.js.map +1 -0
  258. package/dist/cli/services/agent-definitions.d.ts +4 -1
  259. package/dist/cli/services/agent-definitions.js +97 -56
  260. package/dist/cli/services/agent-definitions.js.map +1 -0
  261. package/dist/cli/services/agent-event-types.d.ts +148 -0
  262. package/dist/cli/services/agent-event-types.js +2 -0
  263. package/dist/cli/services/agent-event-types.js.map +1 -0
  264. package/dist/cli/services/agent-events.js +225 -162
  265. package/dist/cli/services/agent-events.js.map +1 -0
  266. package/dist/cli/services/agent-loop-iteration.d.ts +13 -0
  267. package/dist/cli/services/agent-loop-setup.d.ts +32 -0
  268. package/dist/cli/services/agent-loop-shell-summarize.d.ts +11 -0
  269. package/dist/cli/services/agent-loop-shell-summarize.js +94 -0
  270. package/dist/cli/services/agent-loop-shell-summarize.js.map +1 -0
  271. package/dist/cli/services/agent-loop-tools.d.ts +37 -0
  272. package/dist/cli/services/agent-loop-tools.js +243 -0
  273. package/dist/cli/services/agent-loop-tools.js.map +1 -0
  274. package/dist/cli/services/agent-loop-types.d.ts +52 -0
  275. package/dist/cli/services/agent-loop-types.js +25 -0
  276. package/dist/cli/services/agent-loop-types.js.map +1 -0
  277. package/dist/cli/services/agent-loop.d.ts +2 -2
  278. package/dist/cli/services/agent-loop.js +1135 -702
  279. package/dist/cli/services/agent-loop.js.map +1 -0
  280. package/dist/cli/services/agent-worker-base-api.d.ts +19 -0
  281. package/dist/cli/services/agent-worker-base-helpers.d.ts +27 -0
  282. package/dist/cli/services/agent-worker-base-tools.d.ts +16 -0
  283. package/dist/cli/services/agent-worker-base-types.d.ts +81 -0
  284. package/dist/cli/services/agent-worker-base.d.ts +35 -5
  285. package/dist/cli/services/agent-worker-base.js +337 -153
  286. package/dist/cli/services/agent-worker-base.js.map +1 -0
  287. package/dist/cli/services/api-retry.js +69 -64
  288. package/dist/cli/services/api-retry.js.map +1 -0
  289. package/dist/cli/services/auth-service.d.ts +3 -3
  290. package/dist/cli/services/auth-service.js +213 -136
  291. package/dist/cli/services/auth-service.js.map +1 -0
  292. package/dist/cli/services/background-agents.d.ts +26 -0
  293. package/dist/cli/services/background-processes-ops.d.ts +24 -0
  294. package/dist/cli/services/background-processes.d.ts +2 -1
  295. package/dist/cli/services/background-processes.js +347 -267
  296. package/dist/cli/services/background-processes.js.map +1 -0
  297. package/dist/cli/services/background-tool-defs.d.ts +50 -0
  298. package/dist/cli/services/browser-auth.d.ts +2 -2
  299. package/dist/cli/services/browser-auth.js +159 -118
  300. package/dist/cli/services/browser-auth.js.map +1 -0
  301. package/dist/cli/services/claude-md-loader.js +40 -36
  302. package/dist/cli/services/claude-md-loader.js.map +1 -0
  303. package/dist/cli/services/cli-agent-loop.d.ts +41 -0
  304. package/dist/cli/services/cli-agent-loop.js +104 -0
  305. package/dist/cli/services/cli-agent-loop.js.map +1 -0
  306. package/dist/cli/services/config-modules-model.test.js +133 -0
  307. package/dist/cli/services/config-modules-permission.test.js +85 -0
  308. package/dist/cli/services/config-modules-permissions.test.js +85 -0
  309. package/dist/cli/services/config-modules-session.test.js +297 -0
  310. package/dist/cli/services/config-store.d.ts +14 -4
  311. package/dist/cli/services/config-store.js +249 -117
  312. package/dist/cli/services/config-store.js.map +1 -0
  313. package/dist/cli/services/debug-log.d.ts +1 -1
  314. package/dist/cli/services/debug-log.js +34 -35
  315. package/dist/cli/services/debug-log.js.map +1 -0
  316. package/dist/cli/services/env-detect.d.ts +7 -0
  317. package/dist/cli/services/env-detect.js +9 -0
  318. package/dist/cli/services/env-detect.js.map +1 -0
  319. package/dist/cli/services/error-logger-internals.d.ts +25 -0
  320. package/dist/cli/services/error-logger-internals.js +111 -0
  321. package/dist/cli/services/error-logger-internals.js.map +1 -0
  322. package/dist/cli/services/error-logger.js +187 -169
  323. package/dist/cli/services/error-logger.js.map +1 -0
  324. package/dist/cli/services/file-history.d.ts +1 -1
  325. package/dist/cli/services/file-history.js +50 -54
  326. package/dist/cli/services/file-history.js.map +1 -0
  327. package/dist/cli/services/format-server-response-columns.test.js +265 -0
  328. package/dist/cli/services/format-server-response-fallback.test.js +65 -0
  329. package/dist/cli/services/format-server-response-formatters.d.ts +18 -0
  330. package/dist/cli/services/format-server-response-formatters.js +195 -0
  331. package/dist/cli/services/format-server-response-formatters.js.map +1 -0
  332. package/dist/cli/services/format-server-response-primitives-basic.test.js +261 -0
  333. package/dist/cli/services/format-server-response-primitives-nested.test.js +188 -0
  334. package/dist/cli/services/format-server-response-primitives.test.js +300 -0
  335. package/dist/cli/services/format-server-response-realworld.test.js +248 -0
  336. package/dist/cli/services/format-server-response-values.test.js +247 -0
  337. package/dist/cli/services/format-server-response.js +334 -372
  338. package/dist/cli/services/format-server-response.js.map +1 -0
  339. package/dist/cli/services/git-context.js +61 -45
  340. package/dist/cli/services/git-context.js.map +1 -0
  341. package/dist/cli/services/hooks-execute.d.ts +47 -0
  342. package/dist/cli/services/hooks-execute.js +181 -0
  343. package/dist/cli/services/hooks-execute.js.map +1 -0
  344. package/dist/cli/services/hooks-runners.test.js +184 -0
  345. package/dist/cli/services/hooks.d.ts +2 -2
  346. package/dist/cli/services/hooks.glob-load.test.js +233 -0
  347. package/dist/cli/services/hooks.js +195 -180
  348. package/dist/cli/services/hooks.js.map +1 -0
  349. package/dist/cli/services/hooks.run-hooks.test.js +184 -0
  350. package/dist/cli/services/hooks.test.js +233 -0
  351. package/dist/cli/services/ink-incremental.d.ts +19 -0
  352. package/dist/cli/services/ink-incremental.js +59 -0
  353. package/dist/cli/services/ink-incremental.js.map +1 -0
  354. package/dist/cli/services/ink-resize-fix.js +54 -44
  355. package/dist/cli/services/ink-resize-fix.js.map +1 -0
  356. package/dist/cli/services/ink-sync-output.d.ts +12 -0
  357. package/dist/cli/services/ink-sync-output.js +16 -0
  358. package/dist/cli/services/ink-sync-output.js.map +1 -0
  359. package/dist/cli/services/interactive-tool-defs.d.ts +80 -0
  360. package/dist/cli/services/interactive-tools.d.ts +5 -2
  361. package/dist/cli/services/interactive-tools.js +283 -213
  362. package/dist/cli/services/interactive-tools.js.map +1 -0
  363. package/dist/cli/services/keybinding-manager.d.ts +13 -1
  364. package/dist/cli/services/keybinding-manager.js +131 -63
  365. package/dist/cli/services/keybinding-manager.js.map +1 -0
  366. package/dist/cli/services/local-tools-agent-defs-tasks.d.ts +6 -0
  367. package/dist/cli/services/local-tools-agent-defs-tasks.js +245 -0
  368. package/dist/cli/services/local-tools-agent-defs-tasks.js.map +1 -0
  369. package/dist/cli/services/local-tools-agent-defs-utils.d.ts +6 -0
  370. package/dist/cli/services/local-tools-agent-defs-utils.js +198 -0
  371. package/dist/cli/services/local-tools-agent-defs-utils.js.map +1 -0
  372. package/dist/cli/services/local-tools-agent-defs.d.ts +10 -0
  373. package/dist/cli/services/local-tools-agent-defs.js +13 -0
  374. package/dist/cli/services/local-tools-agent-defs.js.map +1 -0
  375. package/dist/cli/services/local-tools-definitions.d.ts +6 -0
  376. package/dist/cli/services/local-tools-files.test.js +256 -0
  377. package/dist/cli/services/local-tools-read-many.d.ts +6 -0
  378. package/dist/cli/services/local-tools.d.ts +1 -1
  379. package/dist/cli/services/local-tools.js +938 -657
  380. package/dist/cli/services/local-tools.js.map +1 -0
  381. package/dist/cli/services/lsp-config.d.ts +13 -0
  382. package/dist/cli/services/lsp-config.js +72 -0
  383. package/dist/cli/services/lsp-config.js.map +1 -0
  384. package/dist/cli/services/lsp-formatters.d.ts +11 -0
  385. package/dist/cli/services/lsp-formatters.js +209 -0
  386. package/dist/cli/services/lsp-formatters.js.map +1 -0
  387. package/dist/cli/services/lsp-manager.js +757 -594
  388. package/dist/cli/services/lsp-manager.js.map +1 -0
  389. package/dist/cli/services/lsp-protocol.d.ts +9 -0
  390. package/dist/cli/services/lsp-protocol.js +40 -0
  391. package/dist/cli/services/lsp-protocol.js.map +1 -0
  392. package/dist/cli/services/lsp-server-docs.d.ts +8 -0
  393. package/dist/cli/services/lsp-server-docs.js +132 -0
  394. package/dist/cli/services/lsp-server-docs.js.map +1 -0
  395. package/dist/cli/services/lsp-server-documents.d.ts +8 -0
  396. package/dist/cli/services/lsp-server-documents.js +132 -0
  397. package/dist/cli/services/lsp-server-documents.js.map +1 -0
  398. package/dist/cli/services/lsp-server.d.ts +40 -0
  399. package/dist/cli/services/lsp-server.js +270 -0
  400. package/dist/cli/services/lsp-server.js.map +1 -0
  401. package/dist/cli/services/mcp-client.d.ts +1 -1
  402. package/dist/cli/services/mcp-client.js +173 -134
  403. package/dist/cli/services/mcp-client.js.map +1 -0
  404. package/dist/cli/services/memory-manager.js +53 -40
  405. package/dist/cli/services/memory-manager.js.map +1 -0
  406. package/dist/cli/services/model-manager.js +55 -40
  407. package/dist/cli/services/model-manager.js.map +1 -0
  408. package/dist/cli/services/model-router.js +115 -85
  409. package/dist/cli/services/model-router.js.map +1 -0
  410. package/dist/cli/services/model-router.test.js +245 -0
  411. package/dist/cli/services/paths.d.ts +30 -0
  412. package/dist/cli/services/paths.js +81 -0
  413. package/dist/cli/services/paths.js.map +1 -0
  414. package/dist/cli/services/permission-modes.js +45 -25
  415. package/dist/cli/services/permission-modes.js.map +1 -0
  416. package/dist/cli/services/project-index.d.ts +41 -0
  417. package/dist/cli/services/project-index.js +286 -0
  418. package/dist/cli/services/project-index.js.map +1 -0
  419. package/dist/cli/services/rewind-rewindTo.test.js +202 -0
  420. package/dist/cli/services/rewind.js +182 -168
  421. package/dist/cli/services/rewind.js.map +1 -0
  422. package/dist/cli/services/rewind.test.js +175 -0
  423. package/dist/cli/services/ripgrep.js +115 -115
  424. package/dist/cli/services/ripgrep.js.map +1 -0
  425. package/dist/cli/services/sandbox.d.ts +1 -1
  426. package/dist/cli/services/sandbox.js +58 -37
  427. package/dist/cli/services/sandbox.js.map +1 -0
  428. package/dist/cli/services/sandbox.test.js +198 -0
  429. package/dist/cli/services/server-tools-client.d.ts +46 -0
  430. package/dist/cli/services/server-tools-client.js +211 -0
  431. package/dist/cli/services/server-tools-client.js.map +1 -0
  432. package/dist/cli/services/server-tools-media.d.ts +21 -0
  433. package/dist/cli/services/server-tools-media.js +163 -0
  434. package/dist/cli/services/server-tools-media.js.map +1 -0
  435. package/dist/cli/services/server-tools-preprocess.d.ts +23 -0
  436. package/dist/cli/services/server-tools-preprocess.js +386 -0
  437. package/dist/cli/services/server-tools-preprocess.js.map +1 -0
  438. package/dist/cli/services/server-tools.d.ts +2 -0
  439. package/dist/cli/services/server-tools.js +763 -565
  440. package/dist/cli/services/server-tools.js.map +1 -0
  441. package/dist/cli/services/session-client.d.ts +78 -0
  442. package/dist/cli/services/session-client.js +197 -0
  443. package/dist/cli/services/session-client.js.map +1 -0
  444. package/dist/cli/services/session-persistence.d.ts +3 -0
  445. package/dist/cli/services/session-persistence.js +81 -74
  446. package/dist/cli/services/session-persistence.js.map +1 -0
  447. package/dist/cli/services/subagent-execution.d.ts +12 -0
  448. package/dist/cli/services/subagent-loop-v2.d.ts +36 -0
  449. package/dist/cli/services/subagent-loop-v2.js +238 -0
  450. package/dist/cli/services/subagent-loop-v2.js.map +1 -0
  451. package/dist/cli/services/subagent-tools.d.ts +10 -0
  452. package/dist/cli/services/subagent-tools.js +96 -0
  453. package/dist/cli/services/subagent-tools.js.map +1 -0
  454. package/dist/cli/services/subagent-types.d.ts +57 -0
  455. package/dist/cli/services/subagent-types.js +218 -0
  456. package/dist/cli/services/subagent-types.js.map +1 -0
  457. package/dist/cli/services/subagent-worker.js +42 -27
  458. package/dist/cli/services/subagent-worker.js.map +1 -0
  459. package/dist/cli/services/subagent.d.ts +2 -0
  460. package/dist/cli/services/subagent.js +606 -433
  461. package/dist/cli/services/subagent.js.map +1 -0
  462. package/dist/cli/services/system-prompt.js +111 -80
  463. package/dist/cli/services/system-prompt.js.map +1 -0
  464. package/dist/cli/services/task-decomposer.d.ts +1 -1
  465. package/dist/cli/services/task-decomposer.js +172 -139
  466. package/dist/cli/services/task-decomposer.js.map +1 -0
  467. package/dist/cli/services/team-lead-auto.d.ts +11 -0
  468. package/dist/cli/services/team-lead-execution.d.ts +28 -0
  469. package/dist/cli/services/team-lead-types.d.ts +37 -0
  470. package/dist/cli/services/team-lead-types.js +2 -0
  471. package/dist/cli/services/team-lead-types.js.map +1 -0
  472. package/dist/cli/services/team-lead.d.ts +62 -2
  473. package/dist/cli/services/team-lead.js +863 -528
  474. package/dist/cli/services/team-lead.js.map +1 -0
  475. package/dist/cli/services/team-state-members.d.ts +11 -0
  476. package/dist/cli/services/team-state-members.js +185 -0
  477. package/dist/cli/services/team-state-members.js.map +1 -0
  478. package/dist/cli/services/team-state-messaging.d.ts +16 -0
  479. package/dist/cli/services/team-state-messaging.js +90 -0
  480. package/dist/cli/services/team-state-messaging.js.map +1 -0
  481. package/dist/cli/services/team-state-tasks.d.ts +12 -0
  482. package/dist/cli/services/team-state-tasks.js +23 -0
  483. package/dist/cli/services/team-state-tasks.js.map +1 -0
  484. package/dist/cli/services/team-state-types.d.ts +54 -0
  485. package/dist/cli/services/team-state-types.js +129 -0
  486. package/dist/cli/services/team-state-types.js.map +1 -0
  487. package/dist/cli/services/team-state.d.ts +5 -0
  488. package/dist/cli/services/team-state.js +348 -319
  489. package/dist/cli/services/team-state.js.map +1 -0
  490. package/dist/cli/services/teammate-loop.js +557 -0
  491. package/dist/cli/services/teammate-loop.js.map +1 -0
  492. package/dist/cli/services/teammate-prompt.d.ts +2 -0
  493. package/dist/cli/services/teammate-prompt.js +68 -0
  494. package/dist/cli/services/teammate-prompt.js.map +1 -0
  495. package/dist/cli/services/teammate-tools.d.ts +6 -0
  496. package/dist/cli/services/teammate-tools.js +158 -0
  497. package/dist/cli/services/teammate-tools.js.map +1 -0
  498. package/dist/cli/services/teammate-types.d.ts +36 -0
  499. package/dist/cli/services/teammate-types.js +43 -0
  500. package/dist/cli/services/teammate-types.js.map +1 -0
  501. package/dist/cli/services/teammate-worker-helpers.d.ts +71 -0
  502. package/dist/cli/services/teammate-worker-helpers.js +183 -0
  503. package/dist/cli/services/teammate-worker-helpers.js.map +1 -0
  504. package/dist/cli/services/teammate-worker-task-cleanup.d.ts +27 -0
  505. package/dist/cli/services/teammate-worker-task-cleanup.js +91 -0
  506. package/dist/cli/services/teammate-worker-task-cleanup.js.map +1 -0
  507. package/dist/cli/services/teammate-worker-task-loop.d.ts +35 -0
  508. package/dist/cli/services/teammate-worker-task-loop.js +273 -0
  509. package/dist/cli/services/teammate-worker-task-loop.js.map +1 -0
  510. package/dist/cli/services/teammate-worker.d.ts +13 -0
  511. package/dist/cli/services/teammate-worker.js +294 -0
  512. package/dist/cli/services/teammate-worker.js.map +1 -0
  513. package/dist/cli/services/teammate.d.ts +8 -2
  514. package/dist/cli/services/teammate.js +857 -569
  515. package/dist/cli/services/teammate.js.map +1 -0
  516. package/dist/cli/services/telemetry-spans.d.ts +17 -0
  517. package/dist/cli/services/telemetry-spans.js +172 -0
  518. package/dist/cli/services/telemetry-spans.js.map +1 -0
  519. package/dist/cli/services/telemetry.d.ts +6 -1
  520. package/dist/cli/services/telemetry.js +180 -157
  521. package/dist/cli/services/telemetry.js.map +1 -0
  522. package/dist/cli/services/tools/__tests__/agent-tools-tasks-teams.test.js +250 -0
  523. package/dist/cli/services/tools/__tests__/agent-tools-teams.test.js +200 -0
  524. package/dist/cli/services/tools/__tests__/agent-tools.test.js +340 -0
  525. package/dist/cli/services/tools/__tests__/file-ops-cache.test.js +152 -0
  526. package/dist/cli/services/tools/__tests__/file-ops-notebook.test.js +249 -0
  527. package/dist/cli/services/tools/__tests__/file-ops-read.test.js +261 -0
  528. package/dist/cli/services/tools/__tests__/file-ops-write.test.js +292 -0
  529. package/dist/cli/services/tools/__tests__/search-tools-rg.test.js +92 -0
  530. package/dist/cli/services/tools/__tests__/search-tools.part2.test.js +174 -0
  531. package/dist/cli/services/tools/__tests__/search-tools.test.js +227 -0
  532. package/dist/cli/services/tools/__tests__/shell-exec-allowed-core.test.js +163 -0
  533. package/dist/cli/services/tools/__tests__/shell-exec-allowed-extended.test.js +220 -0
  534. package/dist/cli/services/tools/__tests__/shell-exec-allowed.part2.test.js +215 -0
  535. package/dist/cli/services/tools/__tests__/shell-exec-allowed.test.js +154 -0
  536. package/dist/cli/services/tools/__tests__/shell-exec-blocked.test.js +132 -0
  537. package/dist/cli/services/tools/__tests__/shell-exec-execution.test.js +245 -0
  538. package/dist/cli/services/tools/__tests__/task-manager-create.test.js +110 -0
  539. package/dist/cli/services/tools/__tests__/task-manager-crud.test.js +339 -0
  540. package/dist/cli/services/tools/__tests__/task-manager-list-get.test.js +343 -0
  541. package/dist/cli/services/tools/__tests__/task-manager-query.test.js +346 -0
  542. package/dist/cli/services/tools/__tests__/task-manager-routing.test.js +58 -0
  543. package/dist/cli/services/tools/__tests__/task-manager-update.test.js +224 -0
  544. package/dist/cli/services/tools/__tests__/task-manager.test.js +159 -0
  545. package/dist/cli/services/tools/__tests__/web-tools-html-search.test.js +227 -0
  546. package/dist/cli/services/tools/__tests__/web-tools.test.js +285 -0
  547. package/dist/cli/services/tools/agent-tools-tasks.d.ts +10 -0
  548. package/dist/cli/services/tools/agent-tools-tasks.js +216 -0
  549. package/dist/cli/services/tools/agent-tools-tasks.js.map +1 -0
  550. package/dist/cli/services/tools/agent-tools-team.d.ts +8 -0
  551. package/dist/cli/services/tools/agent-tools-team.js +101 -0
  552. package/dist/cli/services/tools/agent-tools-team.js.map +1 -0
  553. package/dist/cli/services/tools/agent-tools.d.ts +3 -3
  554. package/dist/cli/services/tools/agent-tools.js +555 -324
  555. package/dist/cli/services/tools/agent-tools.js.map +1 -0
  556. package/dist/cli/services/tools/file-ops-notebook.d.ts +9 -0
  557. package/dist/cli/services/tools/file-ops-notebook.js +186 -0
  558. package/dist/cli/services/tools/file-ops-notebook.js.map +1 -0
  559. package/dist/cli/services/tools/file-ops-read.d.ts +11 -0
  560. package/dist/cli/services/tools/file-ops-read.js +237 -0
  561. package/dist/cli/services/tools/file-ops-read.js.map +1 -0
  562. package/dist/cli/services/tools/file-ops-write.d.ts +8 -0
  563. package/dist/cli/services/tools/file-ops-write.js +260 -0
  564. package/dist/cli/services/tools/file-ops-write.js.map +1 -0
  565. package/dist/cli/services/tools/file-ops.d.ts +1 -0
  566. package/dist/cli/services/tools/file-ops.js +727 -447
  567. package/dist/cli/services/tools/file-ops.js.map +1 -0
  568. package/dist/cli/services/tools/html-to-text.d.ts +6 -0
  569. package/dist/cli/services/tools/html-to-text.js +118 -0
  570. package/dist/cli/services/tools/html-to-text.js.map +1 -0
  571. package/dist/cli/services/tools/search-tools.js +231 -162
  572. package/dist/cli/services/tools/search-tools.js.map +1 -0
  573. package/dist/cli/services/tools/shell-exec.js +197 -151
  574. package/dist/cli/services/tools/shell-exec.js.map +1 -0
  575. package/dist/cli/services/tools/shell-exec.test.js +148 -0
  576. package/dist/cli/services/tools/ssrf-guard.d.ts +6 -0
  577. package/dist/cli/services/tools/ssrf-guard.js +80 -0
  578. package/dist/cli/services/tools/ssrf-guard.js.map +1 -0
  579. package/dist/cli/services/tools/task-manager.js +206 -173
  580. package/dist/cli/services/tools/task-manager.js.map +1 -0
  581. package/dist/cli/services/tools/web-tools.js +388 -341
  582. package/dist/cli/services/tools/web-tools.js.map +1 -0
  583. package/dist/cli/setup/SetupApp.d.ts +2 -2
  584. package/dist/cli/setup/SetupApp.js +608 -160
  585. package/dist/cli/setup/SetupApp.js.map +1 -0
  586. package/dist/cli/setup/SetupComponents.d.ts +10 -0
  587. package/dist/cli/setup/SetupComponents.js +144 -0
  588. package/dist/cli/setup/SetupComponents.js.map +1 -0
  589. package/dist/cli/setup/setup-cli-targets.d.ts +9 -0
  590. package/dist/cli/setup/setup-cli-targets.js +49 -0
  591. package/dist/cli/setup/setup-cli-targets.js.map +1 -0
  592. package/dist/cli/shared/ErrorBoundary.d.ts +22 -0
  593. package/dist/cli/shared/ErrorBoundary.js +73 -0
  594. package/dist/cli/shared/ErrorBoundary.js.map +1 -0
  595. package/dist/cli/shared/InlineErrorBoundary.d.ts +22 -0
  596. package/dist/cli/shared/InlineErrorBoundary.js +35 -0
  597. package/dist/cli/shared/InlineErrorBoundary.js.map +1 -0
  598. package/dist/cli/shared/MatrixIntro.js +67 -69
  599. package/dist/cli/shared/MatrixIntro.js.map +1 -0
  600. package/dist/cli/shared/SharedTick.d.ts +10 -0
  601. package/dist/cli/shared/SpinnerSlot.d.ts +22 -0
  602. package/dist/cli/shared/SpinnerSlot.js +156 -0
  603. package/dist/cli/shared/SpinnerSlot.js.map +1 -0
  604. package/dist/cli/shared/Theme.d.ts +1 -1
  605. package/dist/cli/shared/Theme.js +136 -92
  606. package/dist/cli/shared/Theme.js.map +1 -0
  607. package/dist/cli/shared/WhaleBanner.js +100 -11
  608. package/dist/cli/shared/WhaleBanner.js.map +1 -0
  609. package/dist/cli/shared/__tests__/markdown.test.js +188 -0
  610. package/dist/cli/shared/format-utils.d.ts +16 -0
  611. package/dist/cli/shared/format-utils.js +121 -0
  612. package/dist/cli/shared/format-utils.js.map +1 -0
  613. package/dist/cli/shared/markdown-chart.d.ts +8 -0
  614. package/dist/cli/shared/markdown-chart.js +92 -0
  615. package/dist/cli/shared/markdown-chart.js.map +1 -0
  616. package/dist/cli/shared/markdown-diff.d.ts +15 -0
  617. package/dist/cli/shared/markdown-diff.js +205 -0
  618. package/dist/cli/shared/markdown-diff.js.map +1 -0
  619. package/dist/cli/shared/markdown-helpers.d.ts +33 -0
  620. package/dist/cli/shared/markdown-helpers.js +129 -0
  621. package/dist/cli/shared/markdown-helpers.js.map +1 -0
  622. package/dist/cli/shared/markdown-table.d.ts +10 -0
  623. package/dist/cli/shared/markdown-table.js +227 -0
  624. package/dist/cli/shared/markdown-table.js.map +1 -0
  625. package/dist/cli/shared/markdown.d.ts +2 -4
  626. package/dist/cli/shared/markdown.js +658 -703
  627. package/dist/cli/shared/markdown.js.map +1 -0
  628. package/dist/cli/shared/marked-terminal.d.js +2 -0
  629. package/dist/cli/shared/marked-terminal.d.js.map +1 -0
  630. package/dist/cli/shared/theme-manager.js +99 -90
  631. package/dist/cli/shared/theme-manager.js.map +1 -0
  632. package/dist/cli/shared/theme-presets.js +256 -254
  633. package/dist/cli/shared/theme-presets.js.map +1 -0
  634. package/dist/cli/shared/useLatestRef.d.ts +11 -0
  635. package/dist/cli/shared/useLatestRef.js +34 -0
  636. package/dist/cli/shared/useLatestRef.js.map +1 -0
  637. package/dist/cli/shared/useSyncState.d.ts +11 -0
  638. package/dist/cli/shared/useSyncState.js +39 -0
  639. package/dist/cli/shared/useSyncState.js.map +1 -0
  640. package/dist/cli/status/StatusApp.js +235 -86
  641. package/dist/cli/status/StatusApp.js.map +1 -0
  642. package/dist/cli/stores/StoreApp.js +278 -66
  643. package/dist/cli/stores/StoreApp.js.map +1 -0
  644. package/dist/index-agent.d.ts +11 -0
  645. package/dist/index-agent.js +83 -0
  646. package/dist/index-agent.js.map +1 -0
  647. package/dist/index-auth.d.ts +22 -0
  648. package/dist/index-auth.js +114 -0
  649. package/dist/index-auth.js.map +1 -0
  650. package/dist/index-handlers.d.ts +25 -0
  651. package/dist/index-handlers.js +164 -0
  652. package/dist/index-handlers.js.map +1 -0
  653. package/dist/index-tools.d.ts +22 -0
  654. package/dist/index-tools.js +115 -0
  655. package/dist/index-tools.js.map +1 -0
  656. package/dist/index.d.ts +2 -2
  657. package/dist/index.js +509 -396
  658. package/dist/index.js.map +1 -0
  659. package/dist/local-agent/__tests__/connection-disconnect.test.js +201 -0
  660. package/dist/local-agent/__tests__/connection-lifecycle.test.js +289 -0
  661. package/dist/local-agent/__tests__/connection-msghandling.test.js +311 -0
  662. package/dist/local-agent/__tests__/connection-reconnect.test.js +230 -0
  663. package/dist/local-agent/__tests__/connection-toolexec.test.js +253 -0
  664. package/dist/local-agent/__tests__/discovery.test.js +328 -0
  665. package/dist/local-agent/__tests__/executor-background.test.js +219 -0
  666. package/dist/local-agent/__tests__/executor-exec.test.js +221 -0
  667. package/dist/local-agent/__tests__/executor-jobs-sessions.test.js +220 -0
  668. package/dist/local-agent/__tests__/executor-system-info.test.js +133 -0
  669. package/dist/local-agent/__tests__/executor-systeminfo.test.js +109 -0
  670. package/dist/local-agent/__tests__/executor.test.js +235 -0
  671. package/dist/local-agent/__tests__/index.test.js +139 -0
  672. package/dist/local-agent/connection-handlers.d.ts +8 -0
  673. package/dist/local-agent/connection-handlers.js +112 -0
  674. package/dist/local-agent/connection-handlers.js.map +1 -0
  675. package/dist/local-agent/connection-tools.d.ts +8 -0
  676. package/dist/local-agent/connection-tools.js +111 -0
  677. package/dist/local-agent/connection-tools.js.map +1 -0
  678. package/dist/local-agent/connection.d.ts +2 -2
  679. package/dist/local-agent/connection.js +352 -293
  680. package/dist/local-agent/connection.js.map +1 -0
  681. package/dist/local-agent/discovery.js +259 -122
  682. package/dist/local-agent/discovery.js.map +1 -0
  683. package/dist/local-agent/executor-jobs.d.ts +12 -0
  684. package/dist/local-agent/executor-jobs.js +143 -0
  685. package/dist/local-agent/executor-jobs.js.map +1 -0
  686. package/dist/local-agent/executor.d.ts +3 -0
  687. package/dist/local-agent/executor.js +218 -195
  688. package/dist/local-agent/executor.js.map +1 -0
  689. package/dist/local-agent/index.d.ts +2 -2
  690. package/dist/local-agent/index.js +156 -156
  691. package/dist/local-agent/index.js.map +1 -0
  692. package/dist/node/__tests__/cli-channels.test.js +293 -0
  693. package/dist/node/__tests__/cli-config-edge.test.js +154 -0
  694. package/dist/node/__tests__/cli-config.test.js +215 -0
  695. package/dist/node/__tests__/config.test.js +292 -0
  696. package/dist/node/__tests__/runtime-heartbeat.test.js +153 -0
  697. package/dist/node/__tests__/runtime-lifecycle-init.test.js +263 -0
  698. package/dist/node/__tests__/runtime-lifecycle-stats.test.js +180 -0
  699. package/dist/node/__tests__/runtime-lifecycle.test.js +305 -0
  700. package/dist/node/__tests__/runtime-relay.test.js +341 -0
  701. package/dist/node/adapters/__tests__/base.test.js +286 -0
  702. package/dist/node/adapters/__tests__/discord.test.js +284 -0
  703. package/dist/node/adapters/__tests__/email-send.test.js +295 -0
  704. package/dist/node/adapters/__tests__/email.inbound-send.test.js +217 -0
  705. package/dist/node/adapters/__tests__/email.lifecycle.test.js +211 -0
  706. package/dist/node/adapters/__tests__/email.test.js +290 -0
  707. package/dist/node/adapters/__tests__/email.webhook-send.test.js +251 -0
  708. package/dist/node/adapters/__tests__/imessage-filter.test.js +183 -0
  709. package/dist/node/adapters/__tests__/imessage-lifecycle.test.js +215 -0
  710. package/dist/node/adapters/__tests__/imessage-send-restart.test.js +227 -0
  711. package/dist/node/adapters/__tests__/slack.part2.test.js +135 -0
  712. package/dist/node/adapters/__tests__/slack.test.js +241 -0
  713. package/dist/node/adapters/__tests__/sms-extras.test.js +108 -0
  714. package/dist/node/adapters/__tests__/sms-lifecycle.test.js +203 -0
  715. package/dist/node/adapters/__tests__/sms-messaging.test.js +266 -0
  716. package/dist/node/adapters/__tests__/sms.part2.test.js +174 -0
  717. package/dist/node/adapters/__tests__/sms.test.js +253 -0
  718. package/dist/node/adapters/__tests__/telegram-polling.test.js +256 -0
  719. package/dist/node/adapters/__tests__/telegram-send.test.js +166 -0
  720. package/dist/node/adapters/__tests__/webchat-inbound.test.js +188 -0
  721. package/dist/node/adapters/__tests__/webchat-outbound.test.js +178 -0
  722. package/dist/node/adapters/__tests__/whatsapp-inbound.test.js +200 -0
  723. package/dist/node/adapters/__tests__/whatsapp-send.test.js +212 -0
  724. package/dist/node/adapters/__tests__/whatsapp.test.js +280 -0
  725. package/dist/node/adapters/base.js +18 -8
  726. package/dist/node/adapters/base.js.map +1 -0
  727. package/dist/node/adapters/discord-gateway.d.ts +42 -0
  728. package/dist/node/adapters/discord-gateway.js +169 -0
  729. package/dist/node/adapters/discord-gateway.js.map +1 -0
  730. package/dist/node/adapters/discord.js +286 -275
  731. package/dist/node/adapters/discord.js.map +1 -0
  732. package/dist/node/adapters/email.js +189 -202
  733. package/dist/node/adapters/email.js.map +1 -0
  734. package/dist/node/adapters/imessage.d.ts +11 -0
  735. package/dist/node/adapters/imessage.js +165 -145
  736. package/dist/node/adapters/imessage.js.map +1 -0
  737. package/dist/node/adapters/slack.js +237 -236
  738. package/dist/node/adapters/slack.js.map +1 -0
  739. package/dist/node/adapters/sms.js +149 -151
  740. package/dist/node/adapters/sms.js.map +1 -0
  741. package/dist/node/adapters/telegram.js +88 -92
  742. package/dist/node/adapters/telegram.js.map +1 -0
  743. package/dist/node/adapters/webchat.js +160 -136
  744. package/dist/node/adapters/webchat.js.map +1 -0
  745. package/dist/node/adapters/whatsapp.js +212 -215
  746. package/dist/node/adapters/whatsapp.js.map +1 -0
  747. package/dist/node/cli-channels.d.ts +6 -0
  748. package/dist/node/cli-channels.js +229 -0
  749. package/dist/node/cli-channels.js.map +1 -0
  750. package/dist/node/cli-node.d.ts +9 -0
  751. package/dist/node/cli-node.js +186 -0
  752. package/dist/node/cli-node.js.map +1 -0
  753. package/dist/node/cli-portal.d.ts +11 -0
  754. package/dist/node/cli-portal.js +503 -0
  755. package/dist/node/cli-portal.js.map +1 -0
  756. package/dist/node/cli.js +884 -653
  757. package/dist/node/cli.js.map +1 -0
  758. package/dist/node/config.js +20 -18
  759. package/dist/node/config.js.map +1 -0
  760. package/dist/node/gateway-client.js +191 -181
  761. package/dist/node/gateway-client.js.map +1 -0
  762. package/dist/node/portal/clipboard.js +161 -130
  763. package/dist/node/portal/clipboard.js.map +1 -0
  764. package/dist/node/portal/discovery.js +51 -45
  765. package/dist/node/portal/discovery.js.map +1 -0
  766. package/dist/node/portal/forward.js +64 -58
  767. package/dist/node/portal/forward.js.map +1 -0
  768. package/dist/node/portal/index.js +246 -221
  769. package/dist/node/portal/index.js.map +1 -0
  770. package/dist/node/portal/multiplexer.js +192 -182
  771. package/dist/node/portal/multiplexer.js.map +1 -0
  772. package/dist/node/portal/permissions.js +102 -70
  773. package/dist/node/portal/permissions.js.map +1 -0
  774. package/dist/node/portal/portal-target.d.ts +16 -0
  775. package/dist/node/portal/portal-target.js +102 -0
  776. package/dist/node/portal/portal-target.js.map +1 -0
  777. package/dist/node/portal/protocol-frames.d.ts +33 -0
  778. package/dist/node/portal/protocol-frames.js +170 -0
  779. package/dist/node/portal/protocol-frames.js.map +1 -0
  780. package/dist/node/portal/protocol.js +153 -116
  781. package/dist/node/portal/protocol.js.map +1 -0
  782. package/dist/node/portal/screen.js +80 -69
  783. package/dist/node/portal/screen.js.map +1 -0
  784. package/dist/node/portal/session.js +124 -117
  785. package/dist/node/portal/session.js.map +1 -0
  786. package/dist/node/portal/shell.js +140 -113
  787. package/dist/node/portal/shell.js.map +1 -0
  788. package/dist/node/portal/stream.js +77 -75
  789. package/dist/node/portal/stream.js.map +1 -0
  790. package/dist/node/portal/transfer.js +190 -167
  791. package/dist/node/portal/transfer.js.map +1 -0
  792. package/dist/node/portal/ui.js +124 -99
  793. package/dist/node/portal/ui.js.map +1 -0
  794. package/dist/node/remote-desktop/compile-helper.js +50 -45
  795. package/dist/node/remote-desktop/compile-helper.js.map +1 -0
  796. package/dist/node/remote-desktop/index.js +215 -187
  797. package/dist/node/remote-desktop/index.js.map +1 -0
  798. package/dist/node/remote-desktop/protocol.js +45 -29
  799. package/dist/node/remote-desktop/protocol.js.map +1 -0
  800. package/dist/node/runtime-network.d.ts +25 -0
  801. package/dist/node/runtime-network.js +226 -0
  802. package/dist/node/runtime-network.js.map +1 -0
  803. package/dist/node/runtime-utils.d.ts +27 -0
  804. package/dist/node/runtime-utils.js +99 -0
  805. package/dist/node/runtime-utils.js.map +1 -0
  806. package/dist/node/runtime.d.ts +1 -0
  807. package/dist/node/runtime.js +562 -409
  808. package/dist/node/runtime.js.map +1 -0
  809. package/dist/node/task-runner.d.ts +33 -0
  810. package/dist/node/task-runner.js +276 -0
  811. package/dist/node/task-runner.js.map +1 -0
  812. package/dist/server/__tests__/gateway-fast-fail.test.js +160 -0
  813. package/dist/server/__tests__/local-agent-gateway.test.js +186 -0
  814. package/dist/server/__tests__/proxy-handlers-delegation.test.js +240 -0
  815. package/dist/server/__tests__/proxy-handlers-validation.test.js +211 -0
  816. package/dist/server/__tests__/proxy-handlers.part2.test.js +240 -0
  817. package/dist/server/__tests__/proxy-handlers.test.js +213 -0
  818. package/dist/server/__tests__/strip-base64-e2e.test.js +303 -0
  819. package/dist/server/__tests__/strip-base64.test.js +256 -0
  820. package/dist/server/__tests__/tool-router-agent-tools.test.js +324 -0
  821. package/dist/server/__tests__/tool-router-execute-core.test.js +357 -0
  822. package/dist/server/__tests__/tool-router-execute-permissions.test.js +332 -0
  823. package/dist/server/__tests__/tool-router-execute.test.js +348 -0
  824. package/dist/server/__tests__/tool-router-load.test.js +432 -0
  825. package/dist/server/__tests__/tool-router-permissions.test.js +359 -0
  826. package/dist/server/__tests__/tool-router-registry-cache.test.js +383 -0
  827. package/dist/server/__tests__/tool-router-registry-handlers.test.js +272 -0
  828. package/dist/server/__tests__/tool-router-registry.test.js +331 -0
  829. package/dist/server/__tests__/validation-inventory.test.js +250 -0
  830. package/dist/server/__tests__/validation-misc.test.js +243 -0
  831. package/dist/server/__tests__/validation-supply-chain.test.js +188 -0
  832. package/dist/server/__tests__/worker.test.js +265 -0
  833. package/dist/server/handlers/__test-utils__/test-db.d.ts +2 -0
  834. package/dist/server/handlers/__test-utils__/test-db.js +52 -89
  835. package/dist/server/handlers/__test-utils__/test-db.js.map +1 -0
  836. package/dist/server/handlers/__tests__/conversation-lock.test.js +117 -0
  837. package/dist/server/handlers/__tests__/e2e/auth-cross-platform-login.e2e.test.js +268 -0
  838. package/dist/server/handlers/__tests__/e2e/auth-cross-platform-tokens.e2e.test.js +264 -0
  839. package/dist/server/handlers/__tests__/e2e/email-pipeline-send.e2e.test.js +214 -0
  840. package/dist/server/handlers/__tests__/e2e/email-pipeline-threads.e2e.test.js +168 -0
  841. package/dist/server/handlers/__tests__/e2e/error-logging-pipeline-dedup.e2e.test.js +229 -0
  842. package/dist/server/handlers/__tests__/e2e/error-logging-pipeline.e2e.test.js +239 -0
  843. package/dist/server/handlers/__tests__/e2e/error-logging-rate-limit.e2e.test.js +150 -0
  844. package/dist/server/handlers/__tests__/e2e/inventory-sync-guards.e2e.test.js +177 -0
  845. package/dist/server/handlers/__tests__/e2e/inventory-sync.e2e.test.js +228 -0
  846. package/dist/server/handlers/__tests__/e2e/inventory-sync.part2.e2e.test.js +188 -0
  847. package/dist/server/handlers/__tests__/e2e/order-lifecycle-fulfillment.e2e.test.js +295 -0
  848. package/dist/server/handlers/__tests__/e2e/order-lifecycle.e2e.test.js +277 -0
  849. package/dist/server/handlers/__tests__/e2e/order-lifecycle.fulfillment.e2e.test.js +307 -0
  850. package/dist/server/handlers/__tests__/e2e/order-lifecycle.setup.e2e.test.js +177 -0
  851. package/dist/server/handlers/__tests__/e2e/storefront-checkout-cart.e2e.test.js +255 -0
  852. package/dist/server/handlers/__tests__/e2e/storefront-checkout-webhook.e2e.test.js +231 -0
  853. package/dist/server/handlers/__tests__/e2e/workflow-execution-failures.e2e.test.js +235 -0
  854. package/dist/server/handlers/__tests__/e2e/workflow-execution.e2e.test.js +294 -0
  855. package/dist/server/handlers/__tests__/e2e/workflow-security.e2e.test.js +311 -0
  856. package/dist/server/handlers/__tests__/e2e/workflow-security.part2.e2e.test.js +267 -0
  857. package/dist/server/handlers/__tests__/workflow-cache.test.js +237 -0
  858. package/dist/server/handlers/analytics-errors-edge.test.js +173 -0
  859. package/dist/server/handlers/analytics.js +553 -260
  860. package/dist/server/handlers/analytics.js.map +1 -0
  861. package/dist/server/handlers/analytics.test.js +280 -0
  862. package/dist/server/handlers/api-docs-examples-ext.d.ts +9 -0
  863. package/dist/server/handlers/api-docs-examples-ext.js +278 -0
  864. package/dist/server/handlers/api-docs-examples-ext.js.map +1 -0
  865. package/dist/server/handlers/api-docs-examples.d.ts +8 -0
  866. package/dist/server/handlers/api-docs-examples.js +221 -0
  867. package/dist/server/handlers/api-docs-examples.js.map +1 -0
  868. package/dist/server/handlers/api-docs-sections-ext.d.ts +2 -0
  869. package/dist/server/handlers/api-docs-sections-ext.js +497 -0
  870. package/dist/server/handlers/api-docs-sections-ext.js.map +1 -0
  871. package/dist/server/handlers/api-docs-sections.d.ts +21 -0
  872. package/dist/server/handlers/api-docs-sections.js +293 -0
  873. package/dist/server/handlers/api-docs-sections.js.map +1 -0
  874. package/dist/server/handlers/api-docs.d.ts +2 -0
  875. package/dist/server/handlers/api-docs.js +1205 -893
  876. package/dist/server/handlers/api-docs.js.map +1 -0
  877. package/dist/server/handlers/api-keys.js +291 -242
  878. package/dist/server/handlers/api-keys.js.map +1 -0
  879. package/dist/server/handlers/api-keys.part2.test.js +157 -0
  880. package/dist/server/handlers/api-keys.test.js +161 -0
  881. package/dist/server/handlers/billing-core.d.ts +28 -0
  882. package/dist/server/handlers/billing-core.js +126 -0
  883. package/dist/server/handlers/billing-core.js.map +1 -0
  884. package/dist/server/handlers/billing-routes.d.ts +9 -0
  885. package/dist/server/handlers/billing-routes.js +243 -0
  886. package/dist/server/handlers/billing-routes.js.map +1 -0
  887. package/dist/server/handlers/billing-routes.test.js +123 -0
  888. package/dist/server/handlers/billing.js +330 -239
  889. package/dist/server/handlers/billing.js.map +1 -0
  890. package/dist/server/handlers/billing.test.js +215 -0
  891. package/dist/server/handlers/browser-actions-errors.test.js +94 -0
  892. package/dist/server/handlers/browser-actions.d.ts +35 -0
  893. package/dist/server/handlers/browser-actions.js +171 -0
  894. package/dist/server/handlers/browser-actions.js.map +1 -0
  895. package/dist/server/handlers/browser-actions.part2.test.js +190 -0
  896. package/dist/server/handlers/browser-actions.test.js +190 -0
  897. package/dist/server/handlers/browser-captcha.d.ts +6 -0
  898. package/dist/server/handlers/browser-captcha.js +172 -0
  899. package/dist/server/handlers/browser-captcha.js.map +1 -0
  900. package/dist/server/handlers/browser-lifecycle.d.ts +9 -0
  901. package/dist/server/handlers/browser-lifecycle.js +142 -0
  902. package/dist/server/handlers/browser-lifecycle.js.map +1 -0
  903. package/dist/server/handlers/browser-validation.test.js +257 -0
  904. package/dist/server/handlers/browser.js +468 -395
  905. package/dist/server/handlers/browser.js.map +1 -0
  906. package/dist/server/handlers/catalog-advanced.d.ts +9 -0
  907. package/dist/server/handlers/catalog-advanced.js +352 -0
  908. package/dist/server/handlers/catalog-advanced.js.map +1 -0
  909. package/dist/server/handlers/catalog-categories.d.ts +5 -0
  910. package/dist/server/handlers/catalog-categories.js +181 -0
  911. package/dist/server/handlers/catalog-categories.js.map +1 -0
  912. package/dist/server/handlers/catalog-products.d.ts +5 -0
  913. package/dist/server/handlers/catalog-products.js +404 -0
  914. package/dist/server/handlers/catalog-products.js.map +1 -0
  915. package/dist/server/handlers/catalog-schemas.d.ts +5 -0
  916. package/dist/server/handlers/catalog-schemas.js +426 -0
  917. package/dist/server/handlers/catalog-schemas.js.map +1 -0
  918. package/dist/server/handlers/catalog.js +1377 -978
  919. package/dist/server/handlers/catalog.js.map +1 -0
  920. package/dist/server/handlers/catalog.test.js +297 -0
  921. package/dist/server/handlers/clickhouse.js +157 -109
  922. package/dist/server/handlers/clickhouse.js.map +1 -0
  923. package/dist/server/handlers/comms-documents-advanced.d.ts +8 -0
  924. package/dist/server/handlers/comms-documents-advanced.js +159 -0
  925. package/dist/server/handlers/comms-documents-advanced.js.map +1 -0
  926. package/dist/server/handlers/comms-documents.d.ts +10 -0
  927. package/dist/server/handlers/comms-documents.js +445 -0
  928. package/dist/server/handlers/comms-documents.js.map +1 -0
  929. package/dist/server/handlers/comms-email.d.ts +10 -0
  930. package/dist/server/handlers/comms-email.js +492 -0
  931. package/dist/server/handlers/comms-email.js.map +1 -0
  932. package/dist/server/handlers/comms-pdf-generation.d.ts +8 -0
  933. package/dist/server/handlers/comms-pdf-generation.js +327 -0
  934. package/dist/server/handlers/comms-pdf-generation.js.map +1 -0
  935. package/dist/server/handlers/comms-pdf-helpers.d.ts +9 -0
  936. package/dist/server/handlers/comms-pdf-helpers.js +126 -0
  937. package/dist/server/handlers/comms-pdf-helpers.js.map +1 -0
  938. package/dist/server/handlers/comms-shared.d.ts +3 -0
  939. package/dist/server/handlers/comms-shared.js +28 -0
  940. package/dist/server/handlers/comms-shared.js.map +1 -0
  941. package/dist/server/handlers/comms.js +1439 -984
  942. package/dist/server/handlers/comms.js.map +1 -0
  943. package/dist/server/handlers/comms.test.js +289 -0
  944. package/dist/server/handlers/creations-actions.d.ts +21 -0
  945. package/dist/server/handlers/creations-actions.js +250 -0
  946. package/dist/server/handlers/creations-actions.js.map +1 -0
  947. package/dist/server/handlers/creations-advanced-collections.test.js +214 -0
  948. package/dist/server/handlers/creations-advanced-generate.test.js +142 -0
  949. package/dist/server/handlers/creations-advanced.test.js +171 -0
  950. package/dist/server/handlers/creations-collections-preview.test.js +214 -0
  951. package/dist/server/handlers/creations-crud.d.ts +35 -0
  952. package/dist/server/handlers/creations-crud.js +248 -0
  953. package/dist/server/handlers/creations-crud.js.map +1 -0
  954. package/dist/server/handlers/creations-crud.test.js +260 -0
  955. package/dist/server/handlers/creations-generate.d.ts +21 -0
  956. package/dist/server/handlers/creations-generate.js +256 -0
  957. package/dist/server/handlers/creations-generate.js.map +1 -0
  958. package/dist/server/handlers/creations-mutations.test.js +197 -0
  959. package/dist/server/handlers/creations.js +461 -394
  960. package/dist/server/handlers/creations.js.map +1 -0
  961. package/dist/server/handlers/crm-customers-read.d.ts +58 -0
  962. package/dist/server/handlers/crm-customers-read.js +208 -0
  963. package/dist/server/handlers/crm-customers-read.js.map +1 -0
  964. package/dist/server/handlers/crm-customers-write.d.ts +54 -0
  965. package/dist/server/handlers/crm-customers-write.js +414 -0
  966. package/dist/server/handlers/crm-customers-write.js.map +1 -0
  967. package/dist/server/handlers/crm-utils.d.ts +6 -0
  968. package/dist/server/handlers/crm-utils.js +19 -0
  969. package/dist/server/handlers/crm-utils.js.map +1 -0
  970. package/dist/server/handlers/crm.js +1082 -791
  971. package/dist/server/handlers/crm.js.map +1 -0
  972. package/dist/server/handlers/crm.test.js +179 -0
  973. package/dist/server/handlers/discovery-advertise.d.ts +18 -0
  974. package/dist/server/handlers/discovery-advertise.js +101 -0
  975. package/dist/server/handlers/discovery-advertise.js.map +1 -0
  976. package/dist/server/handlers/discovery-advertise.test.js +185 -0
  977. package/dist/server/handlers/discovery-scan.d.ts +19 -0
  978. package/dist/server/handlers/discovery-scan.js +107 -0
  979. package/dist/server/handlers/discovery-scan.js.map +1 -0
  980. package/dist/server/handlers/discovery-scan.test.js +233 -0
  981. package/dist/server/handlers/discovery.js +251 -232
  982. package/dist/server/handlers/discovery.js.map +1 -0
  983. package/dist/server/handlers/embeddings-embed-search.test.js +196 -0
  984. package/dist/server/handlers/embeddings-index-delete-stats.test.js +140 -0
  985. package/dist/server/handlers/embeddings-search.test.js +221 -0
  986. package/dist/server/handlers/embeddings.js +241 -164
  987. package/dist/server/handlers/embeddings.js.map +1 -0
  988. package/dist/server/handlers/embeddings.test.js +137 -0
  989. package/dist/server/handlers/enrichment-breach.d.ts +8 -0
  990. package/dist/server/handlers/enrichment-breach.js +266 -0
  991. package/dist/server/handlers/enrichment-breach.js.map +1 -0
  992. package/dist/server/handlers/enrichment-data.d.ts +13 -0
  993. package/dist/server/handlers/enrichment-data.js +145 -0
  994. package/dist/server/handlers/enrichment-data.js.map +1 -0
  995. package/dist/server/handlers/enrichment-enrich.d.ts +6 -0
  996. package/dist/server/handlers/enrichment-enrich.js +235 -0
  997. package/dist/server/handlers/enrichment-enrich.js.map +1 -0
  998. package/dist/server/handlers/enrichment-helpers.d.ts +10 -0
  999. package/dist/server/handlers/enrichment-helpers.js +17 -0
  1000. package/dist/server/handlers/enrichment-helpers.js.map +1 -0
  1001. package/dist/server/handlers/enrichment-mutations.test.js +240 -0
  1002. package/dist/server/handlers/enrichment-queries.test.js +181 -0
  1003. package/dist/server/handlers/enrichment-validation.test.js +177 -0
  1004. package/dist/server/handlers/enrichment-writes.d.ts +16 -0
  1005. package/dist/server/handlers/enrichment-writes.js +226 -0
  1006. package/dist/server/handlers/enrichment-writes.js.map +1 -0
  1007. package/dist/server/handlers/enrichment.js +887 -718
  1008. package/dist/server/handlers/enrichment.js.map +1 -0
  1009. package/dist/server/handlers/image-gen-actions.d.ts +18 -0
  1010. package/dist/server/handlers/image-gen-actions.js +183 -0
  1011. package/dist/server/handlers/image-gen-actions.js.map +1 -0
  1012. package/dist/server/handlers/image-gen-providers.d.ts +29 -0
  1013. package/dist/server/handlers/image-gen-providers.js +161 -0
  1014. package/dist/server/handlers/image-gen-providers.js.map +1 -0
  1015. package/dist/server/handlers/image-gen.js +467 -376
  1016. package/dist/server/handlers/image-gen.js.map +1 -0
  1017. package/dist/server/handlers/image-gen.test.js +205 -0
  1018. package/dist/server/handlers/inventory-audit.d.ts +10 -0
  1019. package/dist/server/handlers/inventory-audit.js +90 -0
  1020. package/dist/server/handlers/inventory-audit.js.map +1 -0
  1021. package/dist/server/handlers/inventory-helpers.d.ts +8 -0
  1022. package/dist/server/handlers/inventory-helpers.js +19 -0
  1023. package/dist/server/handlers/inventory-helpers.js.map +1 -0
  1024. package/dist/server/handlers/inventory-query.d.ts +67 -0
  1025. package/dist/server/handlers/inventory-query.js +299 -0
  1026. package/dist/server/handlers/inventory-query.js.map +1 -0
  1027. package/dist/server/handlers/inventory.js +797 -424
  1028. package/dist/server/handlers/inventory.js.map +1 -0
  1029. package/dist/server/handlers/inventory.test.js +380 -0
  1030. package/dist/server/handlers/kali-background.test.js +222 -0
  1031. package/dist/server/handlers/kali-errors.test.js +92 -0
  1032. package/dist/server/handlers/kali-validation.test.js +234 -0
  1033. package/dist/server/handlers/kali.js +272 -230
  1034. package/dist/server/handlers/kali.js.map +1 -0
  1035. package/dist/server/handlers/llm-providers-actions.test.js +220 -0
  1036. package/dist/server/handlers/llm-providers-anthropic.test.js +239 -0
  1037. package/dist/server/handlers/llm-providers-clients.d.ts +6 -0
  1038. package/dist/server/handlers/llm-providers-clients.js +296 -0
  1039. package/dist/server/handlers/llm-providers-clients.js.map +1 -0
  1040. package/dist/server/handlers/llm-providers-credentials.d.ts +3 -0
  1041. package/dist/server/handlers/llm-providers-credentials.js +109 -0
  1042. package/dist/server/handlers/llm-providers-credentials.js.map +1 -0
  1043. package/dist/server/handlers/llm-providers-failover.test.js +232 -0
  1044. package/dist/server/handlers/llm-providers-models.d.ts +67 -0
  1045. package/dist/server/handlers/llm-providers-models.js +213 -0
  1046. package/dist/server/handlers/llm-providers-models.js.map +1 -0
  1047. package/dist/server/handlers/llm-providers-providers.test.js +300 -0
  1048. package/dist/server/handlers/llm-providers-validation.test.js +239 -0
  1049. package/dist/server/handlers/llm-providers.js +803 -580
  1050. package/dist/server/handlers/llm-providers.js.map +1 -0
  1051. package/dist/server/handlers/local-agent-tools.test.js +224 -0
  1052. package/dist/server/handlers/local-agent.js +133 -105
  1053. package/dist/server/handlers/local-agent.js.map +1 -0
  1054. package/dist/server/handlers/local-agent.test.js +198 -0
  1055. package/dist/server/handlers/local-agent.tools-status.test.js +204 -0
  1056. package/dist/server/handlers/local-agent.validation-exec.test.js +182 -0
  1057. package/dist/server/handlers/media-actions.d.ts +14 -0
  1058. package/dist/server/handlers/media-actions.js +398 -0
  1059. package/dist/server/handlers/media-actions.js.map +1 -0
  1060. package/dist/server/handlers/media-crud.d.ts +9 -0
  1061. package/dist/server/handlers/media-crud.js +365 -0
  1062. package/dist/server/handlers/media-crud.js.map +1 -0
  1063. package/dist/server/handlers/media-upload.d.ts +4 -0
  1064. package/dist/server/handlers/media-upload.js +179 -0
  1065. package/dist/server/handlers/media-upload.js.map +1 -0
  1066. package/dist/server/handlers/media-utils.d.ts +14 -0
  1067. package/dist/server/handlers/media-utils.js +33 -0
  1068. package/dist/server/handlers/media-utils.js.map +1 -0
  1069. package/dist/server/handlers/media.js +1179 -857
  1070. package/dist/server/handlers/media.js.map +1 -0
  1071. package/dist/server/handlers/meta-ads-advanced.d.ts +46 -0
  1072. package/dist/server/handlers/meta-ads-advanced.js +222 -0
  1073. package/dist/server/handlers/meta-ads-advanced.js.map +1 -0
  1074. package/dist/server/handlers/meta-ads-audience-rules.test.js +243 -0
  1075. package/dist/server/handlers/meta-ads-audience-targeting.test.js +205 -0
  1076. package/dist/server/handlers/meta-ads-audiences-targeting.test.js +383 -0
  1077. package/dist/server/handlers/meta-ads-audiences.d.ts +48 -0
  1078. package/dist/server/handlers/meta-ads-audiences.js +214 -0
  1079. package/dist/server/handlers/meta-ads-audiences.js.map +1 -0
  1080. package/dist/server/handlers/meta-ads-crud-ads.test.js +136 -0
  1081. package/dist/server/handlers/meta-ads-crud-campaigns.test.js +189 -0
  1082. package/dist/server/handlers/meta-ads-crud-create.test.js +303 -0
  1083. package/dist/server/handlers/meta-ads-crud-list-update.test.js +259 -0
  1084. package/dist/server/handlers/meta-ads-crud-read.d.ts +78 -0
  1085. package/dist/server/handlers/meta-ads-crud-read.js +204 -0
  1086. package/dist/server/handlers/meta-ads-crud-read.js.map +1 -0
  1087. package/dist/server/handlers/meta-ads-crud-write.d.ts +105 -0
  1088. package/dist/server/handlers/meta-ads-crud-write.js +390 -0
  1089. package/dist/server/handlers/meta-ads-crud-write.js.map +1 -0
  1090. package/dist/server/handlers/meta-ads-crud.d.ts +9 -0
  1091. package/dist/server/handlers/meta-ads-crud.js +12 -0
  1092. package/dist/server/handlers/meta-ads-crud.js.map +1 -0
  1093. package/dist/server/handlers/meta-ads-delete-publish-sync.test.js +282 -0
  1094. package/dist/server/handlers/meta-ads-graph-api.d.ts +25 -0
  1095. package/dist/server/handlers/meta-ads-graph-api.js +155 -0
  1096. package/dist/server/handlers/meta-ads-graph-api.js.map +1 -0
  1097. package/dist/server/handlers/meta-ads-insights.test.js +80 -0
  1098. package/dist/server/handlers/meta-ads-list-get.test.js +237 -0
  1099. package/dist/server/handlers/meta-ads-media.d.ts +16 -0
  1100. package/dist/server/handlers/meta-ads-media.js +205 -0
  1101. package/dist/server/handlers/meta-ads-media.js.map +1 -0
  1102. package/dist/server/handlers/meta-ads-pixels-rules.d.ts +127 -0
  1103. package/dist/server/handlers/meta-ads-pixels-rules.js +463 -0
  1104. package/dist/server/handlers/meta-ads-pixels-rules.js.map +1 -0
  1105. package/dist/server/handlers/meta-ads-publish-ad.d.ts +11 -0
  1106. package/dist/server/handlers/meta-ads-publish-ad.js +229 -0
  1107. package/dist/server/handlers/meta-ads-publish-ad.js.map +1 -0
  1108. package/dist/server/handlers/meta-ads-publish-delete.test.js +254 -0
  1109. package/dist/server/handlers/meta-ads-publish-helpers.js +117 -0
  1110. package/dist/server/handlers/meta-ads-publish-helpers.js.map +1 -0
  1111. package/dist/server/handlers/meta-ads-publish-sync.test.js +205 -0
  1112. package/dist/server/handlers/meta-ads-publish.d.ts +14 -0
  1113. package/dist/server/handlers/meta-ads-publish.js +194 -0
  1114. package/dist/server/handlers/meta-ads-publish.js.map +1 -0
  1115. package/dist/server/handlers/meta-ads-publish.test.js +254 -0
  1116. package/dist/server/handlers/meta-ads-sync-insights.test.js +184 -0
  1117. package/dist/server/handlers/meta-ads-targeting.d.ts +27 -0
  1118. package/dist/server/handlers/meta-ads-targeting.js +323 -0
  1119. package/dist/server/handlers/meta-ads-targeting.js.map +1 -0
  1120. package/dist/server/handlers/meta-ads-types.d.ts +49 -0
  1121. package/dist/server/handlers/meta-ads-types.js +59 -0
  1122. package/dist/server/handlers/meta-ads-types.js.map +1 -0
  1123. package/dist/server/handlers/meta-ads-update.test.js +117 -0
  1124. package/dist/server/handlers/meta-ads.d.ts +25 -0
  1125. package/dist/server/handlers/meta-ads.js +3049 -2084
  1126. package/dist/server/handlers/meta-ads.js.map +1 -0
  1127. package/dist/server/handlers/nodes-channels.test.js +413 -0
  1128. package/dist/server/handlers/nodes-events.test.js +131 -0
  1129. package/dist/server/handlers/nodes-handlers-channels-messages.d.ts +20 -0
  1130. package/dist/server/handlers/nodes-handlers-channels-messages.js +314 -0
  1131. package/dist/server/handlers/nodes-handlers-channels-messages.js.map +1 -0
  1132. package/dist/server/handlers/nodes-handlers-channels.d.ts +19 -0
  1133. package/dist/server/handlers/nodes-handlers-channels.js +225 -0
  1134. package/dist/server/handlers/nodes-handlers-channels.js.map +1 -0
  1135. package/dist/server/handlers/nodes-handlers-mgmt.d.ts +33 -0
  1136. package/dist/server/handlers/nodes-handlers-mgmt.js +418 -0
  1137. package/dist/server/handlers/nodes-handlers-mgmt.js.map +1 -0
  1138. package/dist/server/handlers/nodes-list-delete.test.js +171 -0
  1139. package/dist/server/handlers/nodes-messages-delivery.test.js +208 -0
  1140. package/dist/server/handlers/nodes-messages.test.js +211 -0
  1141. package/dist/server/handlers/nodes-register.test.js +277 -0
  1142. package/dist/server/handlers/nodes-routes-channels.d.ts +9 -0
  1143. package/dist/server/handlers/nodes-routes-channels.js +217 -0
  1144. package/dist/server/handlers/nodes-routes-channels.js.map +1 -0
  1145. package/dist/server/handlers/nodes-routes-crud.d.ts +9 -0
  1146. package/dist/server/handlers/nodes-routes-crud.js +290 -0
  1147. package/dist/server/handlers/nodes-routes-crud.js.map +1 -0
  1148. package/dist/server/handlers/nodes-routes-delivery.d.ts +9 -0
  1149. package/dist/server/handlers/nodes-routes-delivery.js +226 -0
  1150. package/dist/server/handlers/nodes-routes-delivery.js.map +1 -0
  1151. package/dist/server/handlers/nodes-routes-messages.d.ts +9 -0
  1152. package/dist/server/handlers/nodes-routes-messages.js +218 -0
  1153. package/dist/server/handlers/nodes-routes-messages.js.map +1 -0
  1154. package/dist/server/handlers/nodes-routes-register.d.ts +9 -0
  1155. package/dist/server/handlers/nodes-routes-register.js +239 -0
  1156. package/dist/server/handlers/nodes-routes-register.js.map +1 -0
  1157. package/dist/server/handlers/nodes-types.d.ts +82 -0
  1158. package/dist/server/handlers/nodes-types.js +220 -0
  1159. package/dist/server/handlers/nodes-types.js.map +1 -0
  1160. package/dist/server/handlers/nodes-utils.d.ts +70 -0
  1161. package/dist/server/handlers/nodes-utils.js +214 -0
  1162. package/dist/server/handlers/nodes-utils.js.map +1 -0
  1163. package/dist/server/handlers/nodes.js +1321 -913
  1164. package/dist/server/handlers/nodes.js.map +1 -0
  1165. package/dist/server/handlers/nodes.test.js +353 -0
  1166. package/dist/server/handlers/operations.js +183 -157
  1167. package/dist/server/handlers/operations.js.map +1 -0
  1168. package/dist/server/handlers/operations.test.js +136 -0
  1169. package/dist/server/handlers/platform-telemetry.d.ts +10 -0
  1170. package/dist/server/handlers/platform-telemetry.js +372 -0
  1171. package/dist/server/handlers/platform-telemetry.js.map +1 -0
  1172. package/dist/server/handlers/platform-telemetry.test.js +200 -0
  1173. package/dist/server/handlers/platform-websearch.test.js +160 -0
  1174. package/dist/server/handlers/platform.js +346 -210
  1175. package/dist/server/handlers/platform.js.map +1 -0
  1176. package/dist/server/handlers/remove-bg.js +118 -86
  1177. package/dist/server/handlers/remove-bg.js.map +1 -0
  1178. package/dist/server/handlers/sessions-handlers.d.ts +23 -0
  1179. package/dist/server/handlers/sessions-handlers.js +374 -0
  1180. package/dist/server/handlers/sessions-handlers.js.map +1 -0
  1181. package/dist/server/handlers/storefront-cart.d.ts +31 -0
  1182. package/dist/server/handlers/storefront-cart.js +381 -0
  1183. package/dist/server/handlers/storefront-cart.js.map +1 -0
  1184. package/dist/server/handlers/storefront.js +586 -446
  1185. package/dist/server/handlers/storefront.js.map +1 -0
  1186. package/dist/server/handlers/storefront.test.js +329 -0
  1187. package/dist/server/handlers/supply-chain-transfers.d.ts +10 -0
  1188. package/dist/server/handlers/supply-chain-transfers.js +214 -0
  1189. package/dist/server/handlers/supply-chain-transfers.js.map +1 -0
  1190. package/dist/server/handlers/supply-chain-utils.d.ts +2 -0
  1191. package/dist/server/handlers/supply-chain-utils.js +21 -0
  1192. package/dist/server/handlers/supply-chain-utils.js.map +1 -0
  1193. package/dist/server/handlers/supply-chain.js +546 -326
  1194. package/dist/server/handlers/supply-chain.js.map +1 -0
  1195. package/dist/server/handlers/supply-chain.test.js +347 -0
  1196. package/dist/server/handlers/transcription.js +106 -97
  1197. package/dist/server/handlers/transcription.js.map +1 -0
  1198. package/dist/server/handlers/transcription.test.js +118 -0
  1199. package/dist/server/handlers/video-gen-providers.d.ts +30 -0
  1200. package/dist/server/handlers/video-gen-providers.js +205 -0
  1201. package/dist/server/handlers/video-gen-providers.js.map +1 -0
  1202. package/dist/server/handlers/video-gen-sora.d.ts +5 -0
  1203. package/dist/server/handlers/video-gen-sora.js +87 -0
  1204. package/dist/server/handlers/video-gen-sora.js.map +1 -0
  1205. package/dist/server/handlers/video-gen-veo.js +114 -0
  1206. package/dist/server/handlers/video-gen-veo.js.map +1 -0
  1207. package/dist/server/handlers/video-gen.js +593 -424
  1208. package/dist/server/handlers/video-gen.js.map +1 -0
  1209. package/dist/server/handlers/video-gen.test.js +146 -0
  1210. package/dist/server/handlers/voice-handlers-audio.d.ts +9 -0
  1211. package/dist/server/handlers/voice-handlers-audio.js +229 -0
  1212. package/dist/server/handlers/voice-handlers-audio.js.map +1 -0
  1213. package/dist/server/handlers/voice-handlers-music.d.ts +5 -0
  1214. package/dist/server/handlers/voice-handlers-music.js +124 -0
  1215. package/dist/server/handlers/voice-handlers-music.js.map +1 -0
  1216. package/dist/server/handlers/voice-handlers-pvc.d.ts +8 -0
  1217. package/dist/server/handlers/voice-handlers-pvc.js +345 -0
  1218. package/dist/server/handlers/voice-handlers-pvc.js.map +1 -0
  1219. package/dist/server/handlers/voice-handlers-tts.d.ts +5 -0
  1220. package/dist/server/handlers/voice-handlers-tts.js +142 -0
  1221. package/dist/server/handlers/voice-handlers-tts.js.map +1 -0
  1222. package/dist/server/handlers/voice-handlers-voices.d.ts +8 -0
  1223. package/dist/server/handlers/voice-handlers-voices.js +321 -0
  1224. package/dist/server/handlers/voice-handlers-voices.js.map +1 -0
  1225. package/dist/server/handlers/voice-utils.d.ts +32 -0
  1226. package/dist/server/handlers/voice-utils.js +281 -0
  1227. package/dist/server/handlers/voice-utils.js.map +1 -0
  1228. package/dist/server/handlers/voice.js +1458 -1039
  1229. package/dist/server/handlers/voice.js.map +1 -0
  1230. package/dist/server/handlers/voice.test.js +153 -0
  1231. package/dist/server/handlers/workflow-crud-advanced.d.ts +8 -0
  1232. package/dist/server/handlers/workflow-crud-advanced.js +275 -0
  1233. package/dist/server/handlers/workflow-crud-advanced.js.map +1 -0
  1234. package/dist/server/handlers/workflow-crud-core.d.ts +8 -0
  1235. package/dist/server/handlers/workflow-crud-core.js +286 -0
  1236. package/dist/server/handlers/workflow-crud-core.js.map +1 -0
  1237. package/dist/server/handlers/workflow-crud-events.d.ts +8 -0
  1238. package/dist/server/handlers/workflow-crud-events.js +483 -0
  1239. package/dist/server/handlers/workflow-crud-events.js.map +1 -0
  1240. package/dist/server/handlers/workflow-crud-runs-lifecycle.d.ts +8 -0
  1241. package/dist/server/handlers/workflow-crud-runs-lifecycle.js +231 -0
  1242. package/dist/server/handlers/workflow-crud-runs-lifecycle.js.map +1 -0
  1243. package/dist/server/handlers/workflow-crud-runs-versioning.d.ts +8 -0
  1244. package/dist/server/handlers/workflow-crud-runs-versioning.js +319 -0
  1245. package/dist/server/handlers/workflow-crud-runs-versioning.js.map +1 -0
  1246. package/dist/server/handlers/workflow-crud-runs.d.ts +8 -0
  1247. package/dist/server/handlers/workflow-crud-runs.js +18 -0
  1248. package/dist/server/handlers/workflow-crud-runs.js.map +1 -0
  1249. package/dist/server/handlers/workflow-steps-advancement.d.ts +13 -0
  1250. package/dist/server/handlers/workflow-steps-advancement.js +197 -0
  1251. package/dist/server/handlers/workflow-steps-advancement.js.map +1 -0
  1252. package/dist/server/handlers/workflow-steps-circuit-breaker.d.ts +7 -0
  1253. package/dist/server/handlers/workflow-steps-circuit-breaker.js +131 -0
  1254. package/dist/server/handlers/workflow-steps-circuit-breaker.js.map +1 -0
  1255. package/dist/server/handlers/workflow-steps-completion.d.ts +5 -0
  1256. package/dist/server/handlers/workflow-steps-completion.js +254 -0
  1257. package/dist/server/handlers/workflow-steps-completion.js.map +1 -0
  1258. package/dist/server/handlers/workflow-steps-cron.d.ts +4 -0
  1259. package/dist/server/handlers/workflow-steps-cron.js +259 -0
  1260. package/dist/server/handlers/workflow-steps-cron.js.map +1 -0
  1261. package/dist/server/handlers/workflow-steps-engine-execute.d.ts +3 -0
  1262. package/dist/server/handlers/workflow-steps-engine-execute.js +388 -0
  1263. package/dist/server/handlers/workflow-steps-engine-execute.js.map +1 -0
  1264. package/dist/server/handlers/workflow-steps-engine-inline.d.ts +2 -0
  1265. package/dist/server/handlers/workflow-steps-engine-inline.js +91 -0
  1266. package/dist/server/handlers/workflow-steps-engine-inline.js.map +1 -0
  1267. package/dist/server/handlers/workflow-steps-engine-persist.d.ts +5 -0
  1268. package/dist/server/handlers/workflow-steps-engine-persist.js +192 -0
  1269. package/dist/server/handlers/workflow-steps-engine-persist.js.map +1 -0
  1270. package/dist/server/handlers/workflow-steps-engine-process.d.ts +7 -0
  1271. package/dist/server/handlers/workflow-steps-engine-process.js +290 -0
  1272. package/dist/server/handlers/workflow-steps-engine-process.js.map +1 -0
  1273. package/dist/server/handlers/workflow-steps-engine.d.ts +3 -0
  1274. package/dist/server/handlers/workflow-steps-engine.js +10 -0
  1275. package/dist/server/handlers/workflow-steps-engine.js.map +1 -0
  1276. package/dist/server/handlers/workflow-steps-executors-llm.d.ts +7 -0
  1277. package/dist/server/handlers/workflow-steps-executors-llm.js +265 -0
  1278. package/dist/server/handlers/workflow-steps-executors-llm.js.map +1 -0
  1279. package/dist/server/handlers/workflow-steps-executors.d.ts +9 -0
  1280. package/dist/server/handlers/workflow-steps-executors.js +188 -0
  1281. package/dist/server/handlers/workflow-steps-executors.js.map +1 -0
  1282. package/dist/server/handlers/workflow-steps-maintenance.d.ts +4 -0
  1283. package/dist/server/handlers/workflow-steps-maintenance.js +256 -0
  1284. package/dist/server/handlers/workflow-steps-maintenance.js.map +1 -0
  1285. package/dist/server/handlers/workflow-steps-types.d.ts +84 -0
  1286. package/dist/server/handlers/workflow-steps-types.js +179 -0
  1287. package/dist/server/handlers/workflow-steps-types.js.map +1 -0
  1288. package/dist/server/handlers/workflow-steps-webhook.d.ts +5 -0
  1289. package/dist/server/handlers/workflow-steps-webhook.js +179 -0
  1290. package/dist/server/handlers/workflow-steps-webhook.js.map +1 -0
  1291. package/dist/server/handlers/workflow-steps.js +2837 -2116
  1292. package/dist/server/handlers/workflow-steps.js.map +1 -0
  1293. package/dist/server/handlers/workflow-steps.test.js +330 -0
  1294. package/dist/server/handlers/workflows-extras.test.js +65 -0
  1295. package/dist/server/handlers/workflows.js +1630 -933
  1296. package/dist/server/handlers/workflows.js.map +1 -0
  1297. package/dist/server/handlers/workflows.part2.test.js +170 -0
  1298. package/dist/server/handlers/workflows.test.js +281 -0
  1299. package/dist/server/index.js +1702 -2596
  1300. package/dist/server/index.js.map +1 -0
  1301. package/dist/server/lib/__tests__/batch-client-conversion-jsonl.test.js +171 -0
  1302. package/dist/server/lib/__tests__/batch-client-polling.test.js +292 -0
  1303. package/dist/server/lib/__tests__/batch-client-queue.test.js +270 -0
  1304. package/dist/server/lib/__tests__/clickhouse-buffer.test.js +236 -0
  1305. package/dist/server/lib/__tests__/code-worker-edge-cases.test.js +118 -0
  1306. package/dist/server/lib/__tests__/code-worker-pool-execute.test.js +193 -0
  1307. package/dist/server/lib/__tests__/code-worker-pool-execution.test.js +165 -0
  1308. package/dist/server/lib/__tests__/code-worker-pool-init.test.js +131 -0
  1309. package/dist/server/lib/__tests__/code-worker-pool.test.js +194 -0
  1310. package/dist/server/lib/__tests__/code-worker-sandbox-ops.test.js +123 -0
  1311. package/dist/server/lib/__tests__/code-worker-sandbox.test.js +217 -0
  1312. package/dist/server/lib/__tests__/code-worker.test.js +179 -0
  1313. package/dist/server/lib/__tests__/compaction-service-generate.test.js +229 -0
  1314. package/dist/server/lib/__tests__/compaction-service.test.js +319 -0
  1315. package/dist/server/lib/__tests__/otel.test.js +146 -0
  1316. package/dist/server/lib/__tests__/prompt-sanitizer-validation.test.js +165 -0
  1317. package/dist/server/lib/__tests__/prompt-sanitizer.sanitize.test.js +343 -0
  1318. package/dist/server/lib/__tests__/prompt-sanitizer.test.js +328 -0
  1319. package/dist/server/lib/__tests__/prompt-sanitizer.validate-tool.test.js +145 -0
  1320. package/dist/server/lib/__tests__/provider-capabilities.test.js +263 -0
  1321. package/dist/server/lib/__tests__/provider-failover-routing.test.js +145 -0
  1322. package/dist/server/lib/__tests__/provider-failover-state.test.js +131 -0
  1323. package/dist/server/lib/__tests__/rate-limiter-budgets.test.js +216 -0
  1324. package/dist/server/lib/__tests__/rate-limiter.budgets-tools.test.js +113 -0
  1325. package/dist/server/lib/__tests__/rate-limiter.check-request.test.js +141 -0
  1326. package/dist/server/lib/__tests__/rate-limiter.stats-lifecycle.test.js +135 -0
  1327. package/dist/server/lib/__tests__/rate-limiter.test.js +207 -0
  1328. package/dist/server/lib/__tests__/server-agent-loop-abort-conditions.test.js +544 -0
  1329. package/dist/server/lib/__tests__/server-agent-loop-abort.part2.test.js +504 -0
  1330. package/dist/server/lib/__tests__/server-agent-loop-abort.test.js +396 -0
  1331. package/dist/server/lib/__tests__/server-agent-loop-compaction.test.js +397 -0
  1332. package/dist/server/lib/__tests__/server-agent-loop-failover.test.js +356 -0
  1333. package/dist/server/lib/__tests__/server-agent-loop-features-caching.test.js +519 -0
  1334. package/dist/server/lib/__tests__/server-agent-loop-features-edges.test.js +512 -0
  1335. package/dist/server/lib/__tests__/server-subagent-bailout.test.js +194 -0
  1336. package/dist/server/lib/__tests__/server-subagent-basics.test.js +348 -0
  1337. package/dist/server/lib/__tests__/server-subagent-errors-abort.test.js +319 -0
  1338. package/dist/server/lib/__tests__/server-subagent-errors-progress.test.js +253 -0
  1339. package/dist/server/lib/__tests__/server-subagent-errors.part2.test.js +253 -0
  1340. package/dist/server/lib/__tests__/server-subagent-errors.test.js +319 -0
  1341. package/dist/server/lib/__tests__/session-checkpoint-load.test.js +275 -0
  1342. package/dist/server/lib/__tests__/session-checkpoint-save.test.js +159 -0
  1343. package/dist/server/lib/__tests__/ssrf-guard.test.js +93 -0
  1344. package/dist/server/lib/__tests__/supabase-client.test.js +111 -0
  1345. package/dist/server/lib/__tests__/template-resolver.test.js +317 -0
  1346. package/dist/server/lib/__tests__/utils-timeout.test.js +49 -0
  1347. package/dist/server/lib/__tests__/utils.test.js +322 -0
  1348. package/dist/server/lib/agent-loop-executor.d.ts +7 -0
  1349. package/dist/server/lib/agent-loop-executor.js +224 -0
  1350. package/dist/server/lib/agent-loop-executor.js.map +1 -0
  1351. package/dist/server/lib/agent-loop-turn.d.ts +53 -0
  1352. package/dist/server/lib/agent-loop-turn.js +166 -0
  1353. package/dist/server/lib/agent-loop-turn.js.map +1 -0
  1354. package/dist/server/lib/agent-loop-types.d.ts +118 -0
  1355. package/dist/server/lib/agent-loop-types.js +53 -0
  1356. package/dist/server/lib/agent-loop-types.js.map +1 -0
  1357. package/dist/server/lib/batch-client-anthropic.d.ts +10 -0
  1358. package/dist/server/lib/batch-client-anthropic.js +144 -0
  1359. package/dist/server/lib/batch-client-anthropic.js.map +1 -0
  1360. package/dist/server/lib/batch-client-openai.d.ts +10 -0
  1361. package/dist/server/lib/batch-client-openai.js +172 -0
  1362. package/dist/server/lib/batch-client-openai.js.map +1 -0
  1363. package/dist/server/lib/batch-client-types.d.ts +54 -0
  1364. package/dist/server/lib/batch-client-types.js +27 -0
  1365. package/dist/server/lib/batch-client-types.js.map +1 -0
  1366. package/dist/server/lib/batch-client.js +471 -409
  1367. package/dist/server/lib/batch-client.js.map +1 -0
  1368. package/dist/server/lib/clickhouse-buffer.js +118 -104
  1369. package/dist/server/lib/clickhouse-buffer.js.map +1 -0
  1370. package/dist/server/lib/clickhouse-client.js +107 -107
  1371. package/dist/server/lib/clickhouse-client.js.map +1 -0
  1372. package/dist/server/lib/coa-renderer-components.d.ts +15 -0
  1373. package/dist/server/lib/coa-renderer-components.js +361 -0
  1374. package/dist/server/lib/coa-renderer-components.js.map +1 -0
  1375. package/dist/server/lib/coa-renderer-pages.d.ts +15 -0
  1376. package/dist/server/lib/coa-renderer-pages.js +467 -0
  1377. package/dist/server/lib/coa-renderer-pages.js.map +1 -0
  1378. package/dist/server/lib/coa-renderer-styles.d.ts +525 -0
  1379. package/dist/server/lib/coa-renderer-styles.js +540 -0
  1380. package/dist/server/lib/coa-renderer-styles.js.map +1 -0
  1381. package/dist/server/lib/coa-renderer-tokens.d.ts +107 -0
  1382. package/dist/server/lib/coa-renderer-tokens.js +46 -0
  1383. package/dist/server/lib/coa-renderer-tokens.js.map +1 -0
  1384. package/dist/server/lib/coa-renderer.js +1786 -356
  1385. package/dist/server/lib/coa-renderer.js.map +1 -0
  1386. package/dist/server/lib/code-worker-pool.js +227 -177
  1387. package/dist/server/lib/code-worker-pool.js.map +1 -0
  1388. package/dist/server/lib/code-worker.js +174 -164
  1389. package/dist/server/lib/code-worker.js.map +1 -0
  1390. package/dist/server/lib/compaction-service.d.ts +2 -12
  1391. package/dist/server/lib/compaction-service.js +74 -184
  1392. package/dist/server/lib/compaction-service.js.map +1 -0
  1393. package/dist/server/lib/logger.js +36 -24
  1394. package/dist/server/lib/logger.js.map +1 -0
  1395. package/dist/server/lib/otel.js +101 -80
  1396. package/dist/server/lib/otel.js.map +1 -0
  1397. package/dist/server/lib/pdf-renderer-calc.d.ts +7 -0
  1398. package/dist/server/lib/pdf-renderer-calc.js +272 -0
  1399. package/dist/server/lib/pdf-renderer-calc.js.map +1 -0
  1400. package/dist/server/lib/pdf-renderer-generation.d.ts +73 -0
  1401. package/dist/server/lib/pdf-renderer-generation.js +298 -0
  1402. package/dist/server/lib/pdf-renderer-generation.js.map +1 -0
  1403. package/dist/server/lib/pdf-renderer-layout.d.ts +2 -0
  1404. package/dist/server/lib/pdf-renderer-layout.js +144 -0
  1405. package/dist/server/lib/pdf-renderer-layout.js.map +1 -0
  1406. package/dist/server/lib/pdf-renderer-validation.d.ts +14 -0
  1407. package/dist/server/lib/pdf-renderer-validation.js +220 -0
  1408. package/dist/server/lib/pdf-renderer-validation.js.map +1 -0
  1409. package/dist/server/lib/pdf-renderer.js +952 -788
  1410. package/dist/server/lib/pdf-renderer.js.map +1 -0
  1411. package/dist/server/lib/prompt-sanitizer.js +188 -108
  1412. package/dist/server/lib/prompt-sanitizer.js.map +1 -0
  1413. package/dist/server/lib/provider-capabilities.js +136 -138
  1414. package/dist/server/lib/provider-capabilities.js.map +1 -0
  1415. package/dist/server/lib/provider-failover.js +190 -168
  1416. package/dist/server/lib/provider-failover.js.map +1 -0
  1417. package/dist/server/lib/rate-limiter.js +186 -117
  1418. package/dist/server/lib/rate-limiter.js.map +1 -0
  1419. package/dist/server/lib/react-pdf-layout-elements.d.ts +8 -0
  1420. package/dist/server/lib/react-pdf-layout-elements.js +366 -0
  1421. package/dist/server/lib/react-pdf-layout-elements.js.map +1 -0
  1422. package/dist/server/lib/react-pdf-layout-labels.d.ts +38 -0
  1423. package/dist/server/lib/react-pdf-layout-labels.js +217 -0
  1424. package/dist/server/lib/react-pdf-layout-labels.js.map +1 -0
  1425. package/dist/server/lib/react-pdf-layout.js +551 -382
  1426. package/dist/server/lib/react-pdf-layout.js.map +1 -0
  1427. package/dist/server/lib/server-agent-loop-init.d.ts +28 -0
  1428. package/dist/server/lib/server-agent-loop-init.js +138 -0
  1429. package/dist/server/lib/server-agent-loop-init.js.map +1 -0
  1430. package/dist/server/lib/server-agent-loop-v2.d.ts +110 -0
  1431. package/dist/server/lib/server-agent-loop-v2.js +340 -0
  1432. package/dist/server/lib/server-agent-loop-v2.js.map +1 -0
  1433. package/dist/server/lib/server-agent-loop.d.ts +4 -1
  1434. package/dist/server/lib/server-agent-loop.js +907 -634
  1435. package/dist/server/lib/server-agent-loop.js.map +1 -0
  1436. package/dist/server/lib/server-subagent-loop.d.ts +3 -0
  1437. package/dist/server/lib/server-subagent-loop.js +267 -0
  1438. package/dist/server/lib/server-subagent-loop.js.map +1 -0
  1439. package/dist/server/lib/server-subagent.js +260 -164
  1440. package/dist/server/lib/server-subagent.js.map +1 -0
  1441. package/dist/server/lib/session-checkpoint.js +105 -96
  1442. package/dist/server/lib/session-checkpoint.js.map +1 -0
  1443. package/dist/server/lib/session-types.d.ts +106 -0
  1444. package/dist/server/lib/session-types.js +2 -0
  1445. package/dist/server/lib/session-types.js.map +1 -0
  1446. package/dist/server/lib/ssrf-guard.js +193 -184
  1447. package/dist/server/lib/ssrf-guard.js.map +1 -0
  1448. package/dist/server/lib/supabase-client.js +94 -82
  1449. package/dist/server/lib/supabase-client.js.map +1 -0
  1450. package/dist/server/lib/template-resolver.js +154 -176
  1451. package/dist/server/lib/template-resolver.js.map +1 -0
  1452. package/dist/server/lib/utils.js +242 -133
  1453. package/dist/server/lib/utils.js.map +1 -0
  1454. package/dist/server/local-agent-gateway-api.d.ts +34 -0
  1455. package/dist/server/local-agent-gateway-api.js +156 -0
  1456. package/dist/server/local-agent-gateway-api.js.map +1 -0
  1457. package/dist/server/local-agent-gateway-handler.d.ts +3 -0
  1458. package/dist/server/local-agent-gateway-handler.js +292 -0
  1459. package/dist/server/local-agent-gateway-handler.js.map +1 -0
  1460. package/dist/server/local-agent-gateway-init.d.ts +21 -0
  1461. package/dist/server/local-agent-gateway-init.js +143 -0
  1462. package/dist/server/local-agent-gateway-init.js.map +1 -0
  1463. package/dist/server/local-agent-gateway-messages.d.ts +12 -0
  1464. package/dist/server/local-agent-gateway-messages.js +108 -0
  1465. package/dist/server/local-agent-gateway-messages.js.map +1 -0
  1466. package/dist/server/local-agent-gateway-stats.d.ts +53 -0
  1467. package/dist/server/local-agent-gateway-stats.js +129 -0
  1468. package/dist/server/local-agent-gateway-stats.js.map +1 -0
  1469. package/dist/server/local-agent-gateway-types.d.ts +94 -0
  1470. package/dist/server/local-agent-gateway-types.js +78 -0
  1471. package/dist/server/local-agent-gateway-types.js.map +1 -0
  1472. package/dist/server/local-agent-gateway.d.ts +8 -2
  1473. package/dist/server/local-agent-gateway.js +825 -627
  1474. package/dist/server/local-agent-gateway.js.map +1 -0
  1475. package/dist/server/providers/__tests__/anthropic-adapter.test.js +228 -0
  1476. package/dist/server/providers/__tests__/anthropic-betas-toolchoice.test.js +257 -0
  1477. package/dist/server/providers/__tests__/anthropic-errors.test.js +262 -0
  1478. package/dist/server/providers/__tests__/anthropic-stream-core.test.js +275 -0
  1479. package/dist/server/providers/__tests__/anthropic-streaming-betas.test.js +247 -0
  1480. package/dist/server/providers/__tests__/anthropic-streaming-core.test.js +275 -0
  1481. package/dist/server/providers/__tests__/bedrock-config.test.js +177 -0
  1482. package/dist/server/providers/__tests__/bedrock-stream-behavior-streaming.test.js +272 -0
  1483. package/dist/server/providers/__tests__/bedrock-stream-behavior-toolchoice.test.js +214 -0
  1484. package/dist/server/providers/__tests__/bedrock-stream-behavior.part2.test.js +165 -0
  1485. package/dist/server/providers/__tests__/bedrock-stream-behavior.test.js +309 -0
  1486. package/dist/server/providers/__tests__/bedrock-stream-body-credentials.test.js +170 -0
  1487. package/dist/server/providers/__tests__/bedrock-stream-body-extras.test.js +183 -0
  1488. package/dist/server/providers/__tests__/bedrock-stream-body-request.test.js +305 -0
  1489. package/dist/server/providers/__tests__/bedrock-stream-body.part2.test.js +305 -0
  1490. package/dist/server/providers/__tests__/bedrock-stream-body.test.js +175 -0
  1491. package/dist/server/providers/__tests__/bedrock-stream-errors.test.js +165 -0
  1492. package/dist/server/providers/__tests__/gemini-config-methods.test.js +182 -0
  1493. package/dist/server/providers/__tests__/gemini-config-streaming.test.js +257 -0
  1494. package/dist/server/providers/__tests__/gemini-conversion-messages.test.js +247 -0
  1495. package/dist/server/providers/__tests__/gemini-conversion-schema.test.js +365 -0
  1496. package/dist/server/providers/__tests__/gemini-tools-choice.test.js +221 -0
  1497. package/dist/server/providers/__tests__/gemini-tools-fn.test.js +252 -0
  1498. package/dist/server/providers/__tests__/openai-config.test.js +194 -0
  1499. package/dist/server/providers/__tests__/openai-conversion.test.js +276 -0
  1500. package/dist/server/providers/__tests__/openai-messages.test.js +261 -0
  1501. package/dist/server/providers/__tests__/openai-streaming.test.js +394 -0
  1502. package/dist/server/providers/__tests__/openai-tools-cache.test.js +227 -0
  1503. package/dist/server/providers/__tests__/registry.test.js +183 -0
  1504. package/dist/server/providers/__tests__/shared.test.js +297 -0
  1505. package/dist/server/providers/anthropic.js +250 -172
  1506. package/dist/server/providers/anthropic.js.map +1 -0
  1507. package/dist/server/providers/bedrock.js +217 -158
  1508. package/dist/server/providers/bedrock.js.map +1 -0
  1509. package/dist/server/providers/gemini-conversion.d.ts +17 -0
  1510. package/dist/server/providers/gemini-conversion.js +185 -0
  1511. package/dist/server/providers/gemini-conversion.js.map +1 -0
  1512. package/dist/server/providers/gemini-streaming.d.ts +18 -0
  1513. package/dist/server/providers/gemini-streaming.js +187 -0
  1514. package/dist/server/providers/gemini-streaming.js.map +1 -0
  1515. package/dist/server/providers/gemini.js +548 -418
  1516. package/dist/server/providers/gemini.js.map +1 -0
  1517. package/dist/server/providers/openai-adapter.d.ts +15 -0
  1518. package/dist/server/providers/openai-adapter.js +423 -0
  1519. package/dist/server/providers/openai-adapter.js.map +1 -0
  1520. package/dist/server/providers/openai-conversion.d.ts +21 -0
  1521. package/dist/server/providers/openai-conversion.js +191 -0
  1522. package/dist/server/providers/openai-conversion.js.map +1 -0
  1523. package/dist/server/providers/openai.js +571 -437
  1524. package/dist/server/providers/openai.js.map +1 -0
  1525. package/dist/server/providers/registry.js +23 -18
  1526. package/dist/server/providers/registry.js.map +1 -0
  1527. package/dist/server/providers/shared.js +123 -95
  1528. package/dist/server/providers/shared.js.map +1 -0
  1529. package/dist/server/providers/types.js +1 -11
  1530. package/dist/server/providers/types.js.map +1 -0
  1531. package/dist/server/proxy-handlers.js +209 -165
  1532. package/dist/server/proxy-handlers.js.map +1 -0
  1533. package/dist/server/server-agent.d.ts +21 -0
  1534. package/dist/server/server-agent.js +162 -0
  1535. package/dist/server/server-agent.js.map +1 -0
  1536. package/dist/server/server-chat.d.ts +6 -0
  1537. package/dist/server/server-chat.js +210 -0
  1538. package/dist/server/server-chat.js.map +1 -0
  1539. package/dist/server/server-cost-guard.d.ts +16 -0
  1540. package/dist/server/server-cost-guard.js +141 -0
  1541. package/dist/server/server-cost-guard.js.map +1 -0
  1542. package/dist/server/server-executors.d.ts +10 -0
  1543. package/dist/server/server-executors.js +110 -0
  1544. package/dist/server/server-executors.js.map +1 -0
  1545. package/dist/server/server-helpers.d.ts +49 -0
  1546. package/dist/server/server-helpers.js +210 -0
  1547. package/dist/server/server-helpers.js.map +1 -0
  1548. package/dist/server/server-persist.d.ts +43 -0
  1549. package/dist/server/server-persist.js +249 -0
  1550. package/dist/server/server-persist.js.map +1 -0
  1551. package/dist/server/server-rate-limit.d.ts +9 -0
  1552. package/dist/server/server-rate-limit.js +77 -0
  1553. package/dist/server/server-rate-limit.js.map +1 -0
  1554. package/dist/server/server-routes-approvals.d.ts +4 -0
  1555. package/dist/server/server-routes-approvals.js +238 -0
  1556. package/dist/server/server-routes-approvals.js.map +1 -0
  1557. package/dist/server/server-routes-auth.d.ts +7 -0
  1558. package/dist/server/server-routes-auth.js +532 -0
  1559. package/dist/server/server-routes-auth.js.map +1 -0
  1560. package/dist/server/server-routes-events.d.ts +4 -0
  1561. package/dist/server/server-routes-events.js +167 -0
  1562. package/dist/server/server-routes-events.js.map +1 -0
  1563. package/dist/server/server-routes-public.d.ts +24 -0
  1564. package/dist/server/server-routes-public.js +453 -0
  1565. package/dist/server/server-routes-public.js.map +1 -0
  1566. package/dist/server/server-routes-waitpoints.d.ts +4 -0
  1567. package/dist/server/server-routes-waitpoints.js +190 -0
  1568. package/dist/server/server-routes-waitpoints.js.map +1 -0
  1569. package/dist/server/server-routes-webchat.d.ts +14 -0
  1570. package/dist/server/server-routes-webchat.js +307 -0
  1571. package/dist/server/server-routes-webchat.js.map +1 -0
  1572. package/dist/server/server-routes-workflows.d.ts +5 -0
  1573. package/dist/server/server-routes-workflows.js +289 -0
  1574. package/dist/server/server-routes-workflows.js.map +1 -0
  1575. package/dist/server/server-sse.d.ts +13 -0
  1576. package/dist/server/server-sse.js +197 -0
  1577. package/dist/server/server-sse.js.map +1 -0
  1578. package/dist/server/server-store-circuit-breaker.d.ts +32 -0
  1579. package/dist/server/server-store-circuit-breaker.js +211 -0
  1580. package/dist/server/server-store-circuit-breaker.js.map +1 -0
  1581. package/dist/server/server-store.d.ts +5 -0
  1582. package/dist/server/server-store.js +71 -0
  1583. package/dist/server/server-store.js.map +1 -0
  1584. package/dist/server/server-trace.d.ts +41 -0
  1585. package/dist/server/server-trace.js +133 -0
  1586. package/dist/server/server-trace.js.map +1 -0
  1587. package/dist/server/server-worker.d.ts +4 -0
  1588. package/dist/server/server-worker.js +127 -0
  1589. package/dist/server/server-worker.js.map +1 -0
  1590. package/dist/server/session-events.d.ts +27 -0
  1591. package/dist/server/session-events.js +69 -0
  1592. package/dist/server/session-events.js.map +1 -0
  1593. package/dist/server/session-manager.d.ts +52 -0
  1594. package/dist/server/session-manager.js +502 -0
  1595. package/dist/server/session-manager.js.map +1 -0
  1596. package/dist/server/tool-router-discovery.d.ts +33 -0
  1597. package/dist/server/tool-router-discovery.js +218 -0
  1598. package/dist/server/tool-router-discovery.js.map +1 -0
  1599. package/dist/server/tool-router-types.d.ts +91 -0
  1600. package/dist/server/tool-router-types.js +336 -0
  1601. package/dist/server/tool-router-types.js.map +1 -0
  1602. package/dist/server/tool-router-user-tools.d.ts +16 -0
  1603. package/dist/server/tool-router-user-tools.js +269 -0
  1604. package/dist/server/tool-router-user-tools.js.map +1 -0
  1605. package/dist/server/tool-router.js +959 -599
  1606. package/dist/server/tool-router.js.map +1 -0
  1607. package/dist/server/validation-schemas.d.ts +12 -0
  1608. package/dist/server/validation-schemas.js +251 -0
  1609. package/dist/server/validation-schemas.js.map +1 -0
  1610. package/dist/server/validation.js +248 -188
  1611. package/dist/server/validation.js.map +1 -0
  1612. package/dist/server/worker.js +202 -133
  1613. package/dist/server/worker.js.map +1 -0
  1614. package/dist/setup.d.ts +2 -2
  1615. package/dist/setup.js +151 -147
  1616. package/dist/setup.js.map +1 -0
  1617. package/dist/shared/agent-core-config.d.ts +12 -0
  1618. package/dist/shared/agent-core-config.js +77 -0
  1619. package/dist/shared/agent-core-config.js.map +1 -0
  1620. package/dist/shared/agent-core-config.test.js +132 -0
  1621. package/dist/shared/agent-core-context-thinking.test.js +293 -0
  1622. package/dist/shared/agent-core-loop-calls.test.js +174 -0
  1623. package/dist/shared/agent-core-loop-detector-bail.test.js +201 -0
  1624. package/dist/shared/agent-core-loop-detector.test.js +195 -0
  1625. package/dist/shared/agent-core-loop-errors.test.js +258 -0
  1626. package/dist/shared/agent-core-loop.d.ts +53 -0
  1627. package/dist/shared/agent-core-loop.js +251 -0
  1628. package/dist/shared/agent-core-loop.js.map +1 -0
  1629. package/dist/shared/agent-core-pricing.test.js +191 -0
  1630. package/dist/shared/agent-core-sanitize-retry.test.js +129 -0
  1631. package/dist/shared/agent-core-tools.d.ts +32 -0
  1632. package/dist/shared/agent-core-tools.js +323 -0
  1633. package/dist/shared/agent-core-tools.js.map +1 -0
  1634. package/dist/shared/agent-core-types.d.ts +182 -0
  1635. package/dist/shared/agent-core-types.js +265 -0
  1636. package/dist/shared/agent-core-types.js.map +1 -0
  1637. package/dist/shared/agent-core.d.ts +115 -26
  1638. package/dist/shared/agent-core.js +956 -522
  1639. package/dist/shared/agent-core.js.map +1 -0
  1640. package/dist/shared/agent-loop-base.d.ts +130 -0
  1641. package/dist/shared/agent-loop-base.js +347 -0
  1642. package/dist/shared/agent-loop-base.js.map +1 -0
  1643. package/dist/shared/anthropic-types.js +1 -6
  1644. package/dist/shared/anthropic-types.js.map +1 -0
  1645. package/dist/shared/api-client-build-request.test.js +228 -0
  1646. package/dist/shared/api-client-build-system-caching.test.js +107 -0
  1647. package/dist/shared/api-client-build.test.js +223 -0
  1648. package/dist/shared/api-client-config.d.ts +21 -0
  1649. package/dist/shared/api-client-helpers.d.ts +57 -0
  1650. package/dist/shared/api-client-helpers.test.js +261 -0
  1651. package/dist/shared/api-client-proxy-happy.test.js +255 -0
  1652. package/dist/shared/api-client-proxy-retry.test.js +307 -0
  1653. package/dist/shared/api-client-proxy.d.ts +26 -0
  1654. package/dist/shared/api-client-proxy.test.js +255 -0
  1655. package/dist/shared/api-client-retry.test.js +307 -0
  1656. package/dist/shared/api-client-system-trimming.test.js +261 -0
  1657. package/dist/shared/api-client-trimming.d.ts +36 -0
  1658. package/dist/shared/api-client.d.ts +16 -9
  1659. package/dist/shared/api-client.js +419 -327
  1660. package/dist/shared/api-client.js.map +1 -0
  1661. package/dist/shared/api-client.test.js +228 -0
  1662. package/dist/shared/compaction-thinking.test.js +315 -0
  1663. package/dist/shared/compaction-trimming.test.js +223 -0
  1664. package/dist/shared/compaction.d.ts +36 -0
  1665. package/dist/shared/compaction.js +138 -0
  1666. package/dist/shared/compaction.js.map +1 -0
  1667. package/dist/shared/constants.js +67 -64
  1668. package/dist/shared/constants.js.map +1 -0
  1669. package/dist/shared/exec-validator.d.ts +29 -0
  1670. package/dist/shared/exec-validator.js +106 -0
  1671. package/dist/shared/exec-validator.js.map +1 -0
  1672. package/dist/shared/imsg-constants.d.ts +8 -0
  1673. package/dist/shared/imsg-constants.js +13 -0
  1674. package/dist/shared/imsg-constants.js.map +1 -0
  1675. package/dist/shared/sse-parser-callbacks.test.js +422 -0
  1676. package/dist/shared/sse-parser-collect.test.js +252 -0
  1677. package/dist/shared/sse-parser-e2e.test.js +558 -0
  1678. package/dist/shared/sse-parser-parse.test.js +253 -0
  1679. package/dist/shared/sse-parser.js +221 -219
  1680. package/dist/shared/sse-parser.js.map +1 -0
  1681. package/dist/shared/tool-dispatch-advanced-batch-build.test.js +405 -0
  1682. package/dist/shared/tool-dispatch-advanced.test.js +320 -0
  1683. package/dist/shared/tool-dispatch-basic.test.js +278 -0
  1684. package/dist/shared/tool-dispatch-content.d.ts +14 -0
  1685. package/dist/shared/tool-dispatch-parallel.test.js +378 -0
  1686. package/dist/shared/tool-dispatch.d.ts +4 -0
  1687. package/dist/shared/tool-dispatch.js +226 -165
  1688. package/dist/shared/tool-dispatch.js.map +1 -0
  1689. package/dist/shared/types.js +1 -6
  1690. package/dist/shared/types.js.map +1 -0
  1691. package/dist/types/cli-highlight.d.js +2 -0
  1692. package/dist/types/cli-highlight.d.js.map +1 -0
  1693. package/dist/types/diff.d.js +2 -0
  1694. package/dist/types/diff.d.js.map +1 -0
  1695. package/dist/types/pdf-parse.d.js +2 -0
  1696. package/dist/types/pdf-parse.d.js.map +1 -0
  1697. package/dist/updater.d.ts +1 -1
  1698. package/dist/updater.js +118 -92
  1699. package/dist/updater.js.map +1 -0
  1700. package/dist/webchat/__tests__/widget-messaging.test.js +323 -0
  1701. package/dist/webchat/__tests__/widget.test.js +273 -0
  1702. package/dist/webchat/widget-styles.d.ts +7 -0
  1703. package/dist/webchat/widget-styles.js +11 -0
  1704. package/dist/webchat/widget-styles.js.map +1 -0
  1705. package/dist/webchat/widget.js +227 -380
  1706. package/dist/webchat/widget.js.map +1 -0
  1707. package/package.json +24 -11
  1708. package/src/cli/services/builtin-skills/verify.md +72 -0
  1709. package/vendor/ink/build/ansi-tokenizer.d.ts +38 -0
  1710. package/vendor/ink/build/ansi-tokenizer.js +316 -0
  1711. package/vendor/ink/build/ansi-tokenizer.js.map +1 -0
  1712. package/vendor/ink/build/apply-styles.js +175 -0
  1713. package/vendor/ink/build/build-layout.js +77 -0
  1714. package/vendor/ink/build/calculate-wrapped-text.js +53 -0
  1715. package/vendor/ink/build/colorize.d.ts +3 -0
  1716. package/vendor/ink/build/colorize.js +48 -0
  1717. package/vendor/ink/build/colorize.js.map +1 -0
  1718. package/vendor/ink/build/components/AccessibilityContext.d.ts +3 -0
  1719. package/vendor/ink/build/components/AccessibilityContext.js +5 -0
  1720. package/vendor/ink/build/components/AccessibilityContext.js.map +1 -0
  1721. package/vendor/ink/build/components/App.d.ts +18 -0
  1722. package/vendor/ink/build/components/App.js +351 -0
  1723. package/vendor/ink/build/components/App.js.map +1 -0
  1724. package/vendor/ink/build/components/AppContext.d.ts +15 -0
  1725. package/vendor/ink/build/components/AppContext.js +11 -0
  1726. package/vendor/ink/build/components/AppContext.js.map +1 -0
  1727. package/vendor/ink/build/components/BackgroundContext.d.ts +4 -0
  1728. package/vendor/ink/build/components/BackgroundContext.js +3 -0
  1729. package/vendor/ink/build/components/BackgroundContext.js.map +1 -0
  1730. package/vendor/ink/build/components/Box.d.ts +117 -0
  1731. package/vendor/ink/build/components/Box.js +34 -0
  1732. package/vendor/ink/build/components/Box.js.map +1 -0
  1733. package/vendor/ink/build/components/Color.js +62 -0
  1734. package/vendor/ink/build/components/Cursor.d.ts +83 -0
  1735. package/vendor/ink/build/components/Cursor.js +53 -0
  1736. package/vendor/ink/build/components/Cursor.js.map +1 -0
  1737. package/vendor/ink/build/components/CursorContext.d.ts +11 -0
  1738. package/vendor/ink/build/components/CursorContext.js +8 -0
  1739. package/vendor/ink/build/components/CursorContext.js.map +1 -0
  1740. package/vendor/ink/build/components/ErrorBoundary.d.ts +18 -0
  1741. package/vendor/ink/build/components/ErrorBoundary.js +23 -0
  1742. package/vendor/ink/build/components/ErrorBoundary.js.map +1 -0
  1743. package/vendor/ink/build/components/ErrorOverview.d.ts +6 -0
  1744. package/vendor/ink/build/components/ErrorOverview.js +84 -0
  1745. package/vendor/ink/build/components/ErrorOverview.js.map +1 -0
  1746. package/vendor/ink/build/components/FocusContext.d.ts +16 -0
  1747. package/vendor/ink/build/components/FocusContext.js +17 -0
  1748. package/vendor/ink/build/components/FocusContext.js.map +1 -0
  1749. package/vendor/ink/build/components/Newline.d.ts +13 -0
  1750. package/vendor/ink/build/components/Newline.js +8 -0
  1751. package/vendor/ink/build/components/Newline.js.map +1 -0
  1752. package/vendor/ink/build/components/Spacer.d.ts +7 -0
  1753. package/vendor/ink/build/components/Spacer.js +11 -0
  1754. package/vendor/ink/build/components/Spacer.js.map +1 -0
  1755. package/vendor/ink/build/components/Static.d.ts +24 -0
  1756. package/vendor/ink/build/components/Static.js +28 -0
  1757. package/vendor/ink/build/components/Static.js.map +1 -0
  1758. package/vendor/ink/build/components/StderrContext.d.ts +15 -0
  1759. package/vendor/ink/build/components/StderrContext.js +13 -0
  1760. package/vendor/ink/build/components/StderrContext.js.map +1 -0
  1761. package/vendor/ink/build/components/StdinContext.d.ts +22 -0
  1762. package/vendor/ink/build/components/StdinContext.js +19 -0
  1763. package/vendor/ink/build/components/StdinContext.js.map +1 -0
  1764. package/vendor/ink/build/components/StdoutContext.d.ts +15 -0
  1765. package/vendor/ink/build/components/StdoutContext.js +13 -0
  1766. package/vendor/ink/build/components/StdoutContext.js.map +1 -0
  1767. package/vendor/ink/build/components/Text.d.ts +55 -0
  1768. package/vendor/ink/build/components/Text.js +50 -0
  1769. package/vendor/ink/build/components/Text.js.map +1 -0
  1770. package/vendor/ink/build/components/Transform.d.ts +16 -0
  1771. package/vendor/ink/build/components/Transform.js +15 -0
  1772. package/vendor/ink/build/components/Transform.js.map +1 -0
  1773. package/vendor/ink/build/cursor-helpers.d.ts +38 -0
  1774. package/vendor/ink/build/cursor-helpers.js +56 -0
  1775. package/vendor/ink/build/cursor-helpers.js.map +1 -0
  1776. package/vendor/ink/build/devtools-window-polyfill.d.ts +1 -0
  1777. package/vendor/ink/build/devtools-window-polyfill.js +65 -0
  1778. package/vendor/ink/build/devtools-window-polyfill.js.map +1 -0
  1779. package/vendor/ink/build/devtools.d.ts +1 -0
  1780. package/vendor/ink/build/devtools.js +11 -0
  1781. package/vendor/ink/build/devtools.js.map +1 -0
  1782. package/vendor/ink/build/dom.d.ts +56 -0
  1783. package/vendor/ink/build/dom.js +124 -0
  1784. package/vendor/ink/build/dom.js.map +1 -0
  1785. package/vendor/ink/build/experimental/apply-style.js +140 -0
  1786. package/vendor/ink/build/experimental/dom.js +123 -0
  1787. package/vendor/ink/build/experimental/output.js +91 -0
  1788. package/vendor/ink/build/experimental/reconciler.js +141 -0
  1789. package/vendor/ink/build/experimental/renderer.js +81 -0
  1790. package/vendor/ink/build/get-max-width.d.ts +3 -0
  1791. package/vendor/ink/build/get-max-width.js +10 -0
  1792. package/vendor/ink/build/get-max-width.js.map +1 -0
  1793. package/vendor/ink/build/hooks/use-app.d.ts +5 -0
  1794. package/vendor/ink/build/hooks/use-app.js +8 -0
  1795. package/vendor/ink/build/hooks/use-app.js.map +1 -0
  1796. package/vendor/ink/build/hooks/use-cursor.d.ts +12 -0
  1797. package/vendor/ink/build/hooks/use-cursor.js +29 -0
  1798. package/vendor/ink/build/hooks/use-cursor.js.map +1 -0
  1799. package/vendor/ink/build/hooks/use-focus-manager.d.ts +28 -0
  1800. package/vendor/ink/build/hooks/use-focus-manager.js +17 -0
  1801. package/vendor/ink/build/hooks/use-focus-manager.js.map +1 -0
  1802. package/vendor/ink/build/hooks/use-focus.d.ts +29 -0
  1803. package/vendor/ink/build/hooks/use-focus.js +42 -0
  1804. package/vendor/ink/build/hooks/use-focus.js.map +1 -0
  1805. package/vendor/ink/build/hooks/use-input.d.ts +131 -0
  1806. package/vendor/ink/build/hooks/use-input.js +124 -0
  1807. package/vendor/ink/build/hooks/use-input.js.map +1 -0
  1808. package/vendor/ink/build/hooks/use-is-screen-reader-enabled.d.ts +5 -0
  1809. package/vendor/ink/build/hooks/use-is-screen-reader-enabled.js +11 -0
  1810. package/vendor/ink/build/hooks/use-is-screen-reader-enabled.js.map +1 -0
  1811. package/vendor/ink/build/hooks/use-stderr.d.ts +5 -0
  1812. package/vendor/ink/build/hooks/use-stderr.js +8 -0
  1813. package/vendor/ink/build/hooks/use-stderr.js.map +1 -0
  1814. package/vendor/ink/build/hooks/use-stdin.d.ts +5 -0
  1815. package/vendor/ink/build/hooks/use-stdin.js +8 -0
  1816. package/vendor/ink/build/hooks/use-stdin.js.map +1 -0
  1817. package/vendor/ink/build/hooks/use-stdout.d.ts +5 -0
  1818. package/vendor/ink/build/hooks/use-stdout.js +8 -0
  1819. package/vendor/ink/build/hooks/use-stdout.js.map +1 -0
  1820. package/vendor/ink/build/hooks/useInput.js +38 -0
  1821. package/vendor/ink/build/index.d.ts +34 -0
  1822. package/vendor/ink/build/index.js +20 -0
  1823. package/vendor/ink/build/index.js.map +1 -0
  1824. package/vendor/ink/build/ink.d.ts +90 -0
  1825. package/vendor/ink/build/ink.js +677 -0
  1826. package/vendor/ink/build/ink.js.map +1 -0
  1827. package/vendor/ink/build/input-parser.d.ts +7 -0
  1828. package/vendor/ink/build/input-parser.js +154 -0
  1829. package/vendor/ink/build/input-parser.js.map +1 -0
  1830. package/vendor/ink/build/instance.js +205 -0
  1831. package/vendor/ink/build/instances.d.ts +3 -0
  1832. package/vendor/ink/build/instances.js +8 -0
  1833. package/vendor/ink/build/instances.js.map +1 -0
  1834. package/vendor/ink/build/kitty-keyboard.d.ts +23 -0
  1835. package/vendor/ink/build/kitty-keyboard.js +32 -0
  1836. package/vendor/ink/build/kitty-keyboard.js.map +1 -0
  1837. package/vendor/ink/build/layout.d.ts +7 -0
  1838. package/vendor/ink/build/layout.js +33 -0
  1839. package/vendor/ink/build/layout.js.map +1 -0
  1840. package/vendor/ink/build/log-update.d.ts +19 -0
  1841. package/vendor/ink/build/log-update.js +250 -0
  1842. package/vendor/ink/build/log-update.js.map +1 -0
  1843. package/vendor/ink/build/measure-element.d.ts +16 -0
  1844. package/vendor/ink/build/measure-element.js +9 -0
  1845. package/vendor/ink/build/measure-element.js.map +1 -0
  1846. package/vendor/ink/build/measure-text.d.ts +6 -0
  1847. package/vendor/ink/build/measure-text.js +21 -0
  1848. package/vendor/ink/build/measure-text.js.map +1 -0
  1849. package/vendor/ink/build/options.d.ts +52 -0
  1850. package/vendor/ink/build/options.js +2 -0
  1851. package/vendor/ink/build/options.js.map +1 -0
  1852. package/vendor/ink/build/output.d.ts +35 -0
  1853. package/vendor/ink/build/output.js +183 -0
  1854. package/vendor/ink/build/output.js.map +1 -0
  1855. package/vendor/ink/build/parse-keypress.d.ts +22 -0
  1856. package/vendor/ink/build/parse-keypress.js +493 -0
  1857. package/vendor/ink/build/parse-keypress.js.map +1 -0
  1858. package/vendor/ink/build/reconciler.d.ts +4 -0
  1859. package/vendor/ink/build/reconciler.js +274 -0
  1860. package/vendor/ink/build/reconciler.js.map +1 -0
  1861. package/vendor/ink/build/render-background.d.ts +4 -0
  1862. package/vendor/ink/build/render-background.js +25 -0
  1863. package/vendor/ink/build/render-background.js.map +1 -0
  1864. package/vendor/ink/build/render-border.d.ts +4 -0
  1865. package/vendor/ink/build/render-border.js +73 -0
  1866. package/vendor/ink/build/render-border.js.map +1 -0
  1867. package/vendor/ink/build/render-node-to-output.d.ts +14 -0
  1868. package/vendor/ink/build/render-node-to-output.js +147 -0
  1869. package/vendor/ink/build/render-node-to-output.js.map +1 -0
  1870. package/vendor/ink/build/render-to-string.d.ts +38 -0
  1871. package/vendor/ink/build/render-to-string.js +115 -0
  1872. package/vendor/ink/build/render-to-string.js.map +1 -0
  1873. package/vendor/ink/build/render.d.ts +121 -0
  1874. package/vendor/ink/build/render.js +55 -0
  1875. package/vendor/ink/build/render.js.map +1 -0
  1876. package/vendor/ink/build/renderer.d.ts +8 -0
  1877. package/vendor/ink/build/renderer.js +55 -0
  1878. package/vendor/ink/build/renderer.js.map +1 -0
  1879. package/vendor/ink/build/sanitize-ansi.d.ts +2 -0
  1880. package/vendor/ink/build/sanitize-ansi.js +27 -0
  1881. package/vendor/ink/build/sanitize-ansi.js.map +1 -0
  1882. package/vendor/ink/build/screen-reader-update.d.ts +13 -0
  1883. package/vendor/ink/build/screen-reader-update.js +38 -0
  1884. package/vendor/ink/build/screen-reader-update.js.map +1 -0
  1885. package/vendor/ink/build/squash-text-nodes.d.ts +3 -0
  1886. package/vendor/ink/build/squash-text-nodes.js +36 -0
  1887. package/vendor/ink/build/squash-text-nodes.js.map +1 -0
  1888. package/vendor/ink/build/styles.d.ts +240 -0
  1889. package/vendor/ink/build/styles.js +232 -0
  1890. package/vendor/ink/build/styles.js.map +1 -0
  1891. package/vendor/ink/build/utils.d.ts +2 -0
  1892. package/vendor/ink/build/utils.js +4 -0
  1893. package/vendor/ink/build/utils.js.map +1 -0
  1894. package/vendor/ink/build/wrap-text.d.ts +3 -0
  1895. package/vendor/ink/build/wrap-text.js +31 -0
  1896. package/vendor/ink/build/wrap-text.js.map +1 -0
  1897. package/vendor/ink/build/write-synchronized.d.ts +4 -0
  1898. package/vendor/ink/build/write-synchronized.js +7 -0
  1899. package/vendor/ink/build/write-synchronized.js.map +1 -0
  1900. package/vendor/ink/license +10 -0
  1901. package/vendor/ink/node_modules/@types/node/LICENSE +21 -0
  1902. package/vendor/ink/node_modules/@types/node/README.md +15 -0
  1903. package/vendor/ink/node_modules/@types/node/assert/strict.d.ts +105 -0
  1904. package/vendor/ink/node_modules/@types/node/assert.d.ts +955 -0
  1905. package/vendor/ink/node_modules/@types/node/async_hooks.d.ts +623 -0
  1906. package/vendor/ink/node_modules/@types/node/buffer.buffer.d.ts +466 -0
  1907. package/vendor/ink/node_modules/@types/node/buffer.d.ts +1810 -0
  1908. package/vendor/ink/node_modules/@types/node/child_process.d.ts +1428 -0
  1909. package/vendor/ink/node_modules/@types/node/cluster.d.ts +486 -0
  1910. package/vendor/ink/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
  1911. package/vendor/ink/node_modules/@types/node/console.d.ts +151 -0
  1912. package/vendor/ink/node_modules/@types/node/constants.d.ts +20 -0
  1913. package/vendor/ink/node_modules/@types/node/crypto.d.ts +4065 -0
  1914. package/vendor/ink/node_modules/@types/node/dgram.d.ts +564 -0
  1915. package/vendor/ink/node_modules/@types/node/diagnostics_channel.d.ts +576 -0
  1916. package/vendor/ink/node_modules/@types/node/dns/promises.d.ts +503 -0
  1917. package/vendor/ink/node_modules/@types/node/dns.d.ts +922 -0
  1918. package/vendor/ink/node_modules/@types/node/domain.d.ts +166 -0
  1919. package/vendor/ink/node_modules/@types/node/events.d.ts +1054 -0
  1920. package/vendor/ink/node_modules/@types/node/fs/promises.d.ts +1329 -0
  1921. package/vendor/ink/node_modules/@types/node/fs.d.ts +4676 -0
  1922. package/vendor/ink/node_modules/@types/node/globals.d.ts +150 -0
  1923. package/vendor/ink/node_modules/@types/node/globals.typedarray.d.ts +101 -0
  1924. package/vendor/ink/node_modules/@types/node/http.d.ts +2167 -0
  1925. package/vendor/ink/node_modules/@types/node/http2.d.ts +2480 -0
  1926. package/vendor/ink/node_modules/@types/node/https.d.ts +405 -0
  1927. package/vendor/ink/node_modules/@types/node/index.d.ts +115 -0
  1928. package/vendor/ink/node_modules/@types/node/inspector/promises.d.ts +41 -0
  1929. package/vendor/ink/node_modules/@types/node/inspector.d.ts +224 -0
  1930. package/vendor/ink/node_modules/@types/node/inspector.generated.d.ts +4226 -0
  1931. package/vendor/ink/node_modules/@types/node/module.d.ts +819 -0
  1932. package/vendor/ink/node_modules/@types/node/net.d.ts +933 -0
  1933. package/vendor/ink/node_modules/@types/node/os.d.ts +507 -0
  1934. package/vendor/ink/node_modules/@types/node/package.json +155 -0
  1935. package/vendor/ink/node_modules/@types/node/path/posix.d.ts +8 -0
  1936. package/vendor/ink/node_modules/@types/node/path/win32.d.ts +8 -0
  1937. package/vendor/ink/node_modules/@types/node/path.d.ts +187 -0
  1938. package/vendor/ink/node_modules/@types/node/perf_hooks.d.ts +643 -0
  1939. package/vendor/ink/node_modules/@types/node/process.d.ts +2156 -0
  1940. package/vendor/ink/node_modules/@types/node/punycode.d.ts +117 -0
  1941. package/vendor/ink/node_modules/@types/node/querystring.d.ts +152 -0
  1942. package/vendor/ink/node_modules/@types/node/quic.d.ts +910 -0
  1943. package/vendor/ink/node_modules/@types/node/readline/promises.d.ts +161 -0
  1944. package/vendor/ink/node_modules/@types/node/readline.d.ts +541 -0
  1945. package/vendor/ink/node_modules/@types/node/repl.d.ts +415 -0
  1946. package/vendor/ink/node_modules/@types/node/sea.d.ts +162 -0
  1947. package/vendor/ink/node_modules/@types/node/sqlite.d.ts +955 -0
  1948. package/vendor/ink/node_modules/@types/node/stream/consumers.d.ts +38 -0
  1949. package/vendor/ink/node_modules/@types/node/stream/promises.d.ts +211 -0
  1950. package/vendor/ink/node_modules/@types/node/stream/web.d.ts +296 -0
  1951. package/vendor/ink/node_modules/@types/node/stream.d.ts +1760 -0
  1952. package/vendor/ink/node_modules/@types/node/string_decoder.d.ts +67 -0
  1953. package/vendor/ink/node_modules/@types/node/test/reporters.d.ts +96 -0
  1954. package/vendor/ink/node_modules/@types/node/test.d.ts +2240 -0
  1955. package/vendor/ink/node_modules/@types/node/timers/promises.d.ts +108 -0
  1956. package/vendor/ink/node_modules/@types/node/timers.d.ts +159 -0
  1957. package/vendor/ink/node_modules/@types/node/tls.d.ts +1198 -0
  1958. package/vendor/ink/node_modules/@types/node/trace_events.d.ts +197 -0
  1959. package/vendor/ink/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
  1960. package/vendor/ink/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
  1961. package/vendor/ink/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
  1962. package/vendor/ink/node_modules/@types/node/ts5.6/index.d.ts +117 -0
  1963. package/vendor/ink/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
  1964. package/vendor/ink/node_modules/@types/node/ts5.7/index.d.ts +117 -0
  1965. package/vendor/ink/node_modules/@types/node/tty.d.ts +250 -0
  1966. package/vendor/ink/node_modules/@types/node/url.d.ts +519 -0
  1967. package/vendor/ink/node_modules/@types/node/util/types.d.ts +558 -0
  1968. package/vendor/ink/node_modules/@types/node/util.d.ts +1662 -0
  1969. package/vendor/ink/node_modules/@types/node/v8.d.ts +983 -0
  1970. package/vendor/ink/node_modules/@types/node/vm.d.ts +1208 -0
  1971. package/vendor/ink/node_modules/@types/node/wasi.d.ts +202 -0
  1972. package/vendor/ink/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
  1973. package/vendor/ink/node_modules/@types/node/web-globals/blob.d.ts +23 -0
  1974. package/vendor/ink/node_modules/@types/node/web-globals/console.d.ts +9 -0
  1975. package/vendor/ink/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
  1976. package/vendor/ink/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  1977. package/vendor/ink/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
  1978. package/vendor/ink/node_modules/@types/node/web-globals/events.d.ts +106 -0
  1979. package/vendor/ink/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
  1980. package/vendor/ink/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
  1981. package/vendor/ink/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
  1982. package/vendor/ink/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
  1983. package/vendor/ink/node_modules/@types/node/web-globals/performance.d.ts +45 -0
  1984. package/vendor/ink/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  1985. package/vendor/ink/node_modules/@types/node/web-globals/streams.d.ts +115 -0
  1986. package/vendor/ink/node_modules/@types/node/web-globals/timers.d.ts +44 -0
  1987. package/vendor/ink/node_modules/@types/node/web-globals/url.d.ts +24 -0
  1988. package/vendor/ink/node_modules/@types/node/worker_threads.d.ts +717 -0
  1989. package/vendor/ink/node_modules/@types/node/zlib.d.ts +618 -0
  1990. package/vendor/ink/node_modules/node-pty/LICENSE +69 -0
  1991. package/vendor/ink/node_modules/node-pty/README.md +164 -0
  1992. package/vendor/ink/node_modules/node-pty/binding.gyp +150 -0
  1993. package/vendor/ink/node_modules/node-pty/lib/conpty_console_list_agent.js +25 -0
  1994. package/vendor/ink/node_modules/node-pty/lib/eventEmitter2.js +47 -0
  1995. package/vendor/ink/node_modules/node-pty/lib/index.js +52 -0
  1996. package/vendor/ink/node_modules/node-pty/lib/interfaces.js +7 -0
  1997. package/vendor/ink/node_modules/node-pty/lib/shared/conout.js +11 -0
  1998. package/vendor/ink/node_modules/node-pty/lib/terminal.js +190 -0
  1999. package/vendor/ink/node_modules/node-pty/lib/types.js +7 -0
  2000. package/vendor/ink/node_modules/node-pty/lib/unixTerminal.js +349 -0
  2001. package/vendor/ink/node_modules/node-pty/lib/utils.js +39 -0
  2002. package/vendor/ink/node_modules/node-pty/lib/windowsConoutConnection.js +125 -0
  2003. package/vendor/ink/node_modules/node-pty/lib/windowsPtyAgent.js +287 -0
  2004. package/vendor/ink/node_modules/node-pty/lib/windowsTerminal.js +201 -0
  2005. package/vendor/ink/node_modules/node-pty/lib/worker/conoutSocketWorker.js +22 -0
  2006. package/vendor/ink/node_modules/node-pty/package.json +65 -0
  2007. package/vendor/ink/node_modules/node-pty/prebuilds/darwin-arm64/pty.node +0 -0
  2008. package/vendor/ink/node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper +0 -0
  2009. package/vendor/ink/node_modules/node-pty/prebuilds/darwin-x64/pty.node +0 -0
  2010. package/vendor/ink/node_modules/node-pty/prebuilds/darwin-x64/spawn-helper +0 -0
  2011. package/vendor/ink/node_modules/node-pty/prebuilds/linux-arm64/pty.node +0 -0
  2012. package/vendor/ink/node_modules/node-pty/prebuilds/linux-x64/pty.node +0 -0
  2013. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
  2014. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
  2015. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
  2016. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty.pdb +0 -0
  2017. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
  2018. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
  2019. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
  2020. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
  2021. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty.node +0 -0
  2022. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty.pdb +0 -0
  2023. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
  2024. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
  2025. package/vendor/ink/node_modules/node-pty/scripts/post-install.js +76 -0
  2026. package/vendor/ink/node_modules/node-pty/scripts/prebuild.js +34 -0
  2027. package/vendor/ink/node_modules/node-pty/src/unix/pty.cc +875 -0
  2028. package/vendor/ink/node_modules/node-pty/src/unix/spawn-helper.cc +23 -0
  2029. package/vendor/ink/node_modules/node-pty/src/win/conpty.cc +582 -0
  2030. package/vendor/ink/node_modules/node-pty/src/win/conpty.h +41 -0
  2031. package/vendor/ink/node_modules/node-pty/src/win/conpty_console_list.cc +44 -0
  2032. package/vendor/ink/node_modules/node-pty/src/win/path_util.cc +95 -0
  2033. package/vendor/ink/node_modules/node-pty/src/win/path_util.h +26 -0
  2034. package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-arm64/OpenConsole.exe +0 -0
  2035. package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-arm64/conpty.dll +0 -0
  2036. package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-x64/OpenConsole.exe +0 -0
  2037. package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-x64/conpty.dll +0 -0
  2038. package/vendor/ink/node_modules/node-pty/typings/node-pty.d.ts +215 -0
  2039. package/vendor/ink/node_modules/undici-types/LICENSE +21 -0
  2040. package/vendor/ink/node_modules/undici-types/README.md +6 -0
  2041. package/vendor/ink/node_modules/undici-types/agent.d.ts +32 -0
  2042. package/vendor/ink/node_modules/undici-types/api.d.ts +43 -0
  2043. package/vendor/ink/node_modules/undici-types/balanced-pool.d.ts +30 -0
  2044. package/vendor/ink/node_modules/undici-types/cache-interceptor.d.ts +173 -0
  2045. package/vendor/ink/node_modules/undici-types/cache.d.ts +36 -0
  2046. package/vendor/ink/node_modules/undici-types/client-stats.d.ts +15 -0
  2047. package/vendor/ink/node_modules/undici-types/client.d.ts +108 -0
  2048. package/vendor/ink/node_modules/undici-types/connector.d.ts +34 -0
  2049. package/vendor/ink/node_modules/undici-types/content-type.d.ts +21 -0
  2050. package/vendor/ink/node_modules/undici-types/cookies.d.ts +30 -0
  2051. package/vendor/ink/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
  2052. package/vendor/ink/node_modules/undici-types/dispatcher.d.ts +276 -0
  2053. package/vendor/ink/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
  2054. package/vendor/ink/node_modules/undici-types/errors.d.ts +161 -0
  2055. package/vendor/ink/node_modules/undici-types/eventsource.d.ts +66 -0
  2056. package/vendor/ink/node_modules/undici-types/fetch.d.ts +211 -0
  2057. package/vendor/ink/node_modules/undici-types/formdata.d.ts +108 -0
  2058. package/vendor/ink/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  2059. package/vendor/ink/node_modules/undici-types/global-origin.d.ts +7 -0
  2060. package/vendor/ink/node_modules/undici-types/h2c-client.d.ts +73 -0
  2061. package/vendor/ink/node_modules/undici-types/handlers.d.ts +15 -0
  2062. package/vendor/ink/node_modules/undici-types/header.d.ts +160 -0
  2063. package/vendor/ink/node_modules/undici-types/index.d.ts +88 -0
  2064. package/vendor/ink/node_modules/undici-types/interceptors.d.ts +73 -0
  2065. package/vendor/ink/node_modules/undici-types/mock-agent.d.ts +68 -0
  2066. package/vendor/ink/node_modules/undici-types/mock-call-history.d.ts +111 -0
  2067. package/vendor/ink/node_modules/undici-types/mock-client.d.ts +27 -0
  2068. package/vendor/ink/node_modules/undici-types/mock-errors.d.ts +12 -0
  2069. package/vendor/ink/node_modules/undici-types/mock-interceptor.d.ts +94 -0
  2070. package/vendor/ink/node_modules/undici-types/mock-pool.d.ts +27 -0
  2071. package/vendor/ink/node_modules/undici-types/package.json +55 -0
  2072. package/vendor/ink/node_modules/undici-types/patch.d.ts +29 -0
  2073. package/vendor/ink/node_modules/undici-types/pool-stats.d.ts +19 -0
  2074. package/vendor/ink/node_modules/undici-types/pool.d.ts +41 -0
  2075. package/vendor/ink/node_modules/undici-types/proxy-agent.d.ts +29 -0
  2076. package/vendor/ink/node_modules/undici-types/readable.d.ts +68 -0
  2077. package/vendor/ink/node_modules/undici-types/retry-agent.d.ts +8 -0
  2078. package/vendor/ink/node_modules/undici-types/retry-handler.d.ts +125 -0
  2079. package/vendor/ink/node_modules/undici-types/round-robin-pool.d.ts +41 -0
  2080. package/vendor/ink/node_modules/undici-types/snapshot-agent.d.ts +109 -0
  2081. package/vendor/ink/node_modules/undici-types/util.d.ts +18 -0
  2082. package/vendor/ink/node_modules/undici-types/utility.d.ts +7 -0
  2083. package/vendor/ink/node_modules/undici-types/webidl.d.ts +341 -0
  2084. package/vendor/ink/node_modules/undici-types/websocket.d.ts +186 -0
  2085. package/vendor/ink/package.json +201 -0
  2086. package/vendor/ink/readme.md +2636 -0
  2087. package/bin/swag-agent.js +0 -9
  2088. package/dist/server/lib/pg-rate-limiter.d.ts +0 -21
  2089. package/dist/server/lib/pg-rate-limiter.js +0 -86
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent.js","names":["readFileSync","existsSync","writeFileSync","mkdirSync","appendFileSync","join","homedir","tmpdir","LOCAL_TOOL_DEFINITIONS","LoopDetector","estimateCostUsd","demoteSubagentModel","AGENT_DEFAULTS","resolveAgentLoopConfig","preCompact","loadCLIAgentConfig","MODEL_MAP","loadServerToolDefinitions","logSpan","generateSpanId","generateTraceId","PKG_VERSION","loadClaudeMd","getGlobalEmitter","getAgentDefinition","callAgentAPI","executeToolBlocks","extractTextBlocks","extractToolUseBlocks","getResponseText","yieldToEventLoop","yieldForRender","deduplicateTools","assertUniqueToolNames","AGENTS_DIR","buildAgentPrompt","type","cwd","cwdContext","custom","prompt","prompts","explore","plan","research","ensureAgentsDir","recursive","saveAgentState","state","path","id","JSON","stringify","loadAgentState","agentId","parse","generateAgentId","Date","now","Math","random","toString","slice","getToolsForAgent","tools","length","getFilteredTools","allowedNames","Set","localTools","filter","t","has","name","map","description","input_schema","serverTools","allowedServerTools","push","getAgentIcon","icons","getAgentColor","colors","emitSubagentProgress","agentType","message","turn","toolName","emitter","runSubagent","options","subagent_type","model","resume","max_turns","parentContext","parentTraceContext","taskContext","signal","process","systemPrompt","startTime","customDef","effectiveModelAlias","modelId","dbAgent","resolved","dbMaxTurns","subagentMaxTurns","dbMaxTokens","max_tokens","subagentMaxTokens","rawMaxTurns","max","effectiveMaxTurns","Number","MAX_SAFE_INTEGER","maxToolResultChars","maxRetries","subagentMaxRetries","maxContinuations","subagentMaxContinuations","descMatch","match","shortDescription","emitSubagentStart","messages","toolsUsed","createdAt","toISOString","updatedAt","loopDetector","fromResolved","fullSystemPrompt","claudeMd","content","role","totalIn","totalOut","totalCacheRead","totalCacheCreate","finalText","subagentSpanId","turnCtx","source","serviceName","serviceVersion","agentName","traceId","spanId","parentSpanId","conversationId","turnNumber","userId","userEmail","traceFlags","aborted","emitSubagentDone","input","output","success","tokensUsed","apiStart","response","lastError","attempt","contextProfile","thinkingEnabled","maxOutputTokens","cacheLastTool","abortSignal","err","status","Promise","r","setTimeout","pow","apiDuration","usage","input_tokens","output_tokens","cache_read_tokens","cache_creation_tokens","apiCostUsd","action","durationMs","context","inputTokens","outputTokens","cacheReadTokens","cacheCreationTokens","totalCost","details","agent_id","agent_type","stop_reason","is_subagent_api","textBlocks","toolBlocks","compactionBlock","find","b","compactionCount","text","continuations","contCount","contText","toolNames","toolResults","turnToolsUsed","callbacks","onToolStart","emitSubagentToolStart","onToolEnd","emitSubagentToolEnd","tu","error","undefined","tool_type","tool_input","is_subagent_tool","iteration","tn","includes","turnsRemaining","nudgeThreshold","ceil","editTools","hasEdited","some","compactedMessages","stripThinking","subagentTotalCost","getTime","turns","tools_used","tool_count","is_subagent","parent_trace_id","parent_span_id","display_name","charAt","toUpperCase","display_icon","display_color","summary","prompt_preview","runSubagentBackground","outputFile","bgModule","abortController","registerBackgroundAgent","then","result","m","markAgentDone","catch","TASK_TOOL_DEFINITION","properties","enum","required"],"sources":["../../../src/cli/services/subagent.ts"],"sourcesContent":["/**\n * Subagent System — Claude Code-style Task tool for spawning specialized agents\n *\n * Subagents run in isolated context, enabling:\n * - Parallel exploration without polluting main context\n * - Specialized prompts per agent type\n * - Cost optimization (Haiku for simple tasks)\n * - Resume capability for long-running tasks\n */\n\nimport type Anthropic from \"@anthropic-ai/sdk\";\nimport { readFileSync, existsSync, writeFileSync, mkdirSync, appendFileSync } from \"fs\";\nimport { join } from \"path\";\nimport { homedir, tmpdir } from \"os\";\nimport {\n LOCAL_TOOL_DEFINITIONS,\n} from \"./local-tools.js\";\nimport { LoopDetector, estimateCostUsd, demoteSubagentModel, AGENT_DEFAULTS, resolveAgentLoopConfig } from \"../../shared/agent-core.js\";\nimport { preCompact } from \"../../shared/compaction.js\";\nimport { loadCLIAgentConfig } from \"./agent-config.js\";\nimport { MODEL_MAP } from \"../../shared/constants.js\";\nimport {\n loadServerToolDefinitions,\n} from \"./server-tools.js\";\nimport { logSpan, generateSpanId, generateTraceId, PKG_VERSION } from \"./telemetry.js\";\nimport { loadClaudeMd } from \"./agent-loop.js\";\nimport { getGlobalEmitter } from \"./agent-events.js\";\nimport { getAgentDefinition } from \"./agent-definitions.js\";\nimport {\n callAgentAPI,\n executeToolBlocks,\n extractTextBlocks,\n extractToolUseBlocks,\n getResponseText,\n yieldToEventLoop,\n yieldForRender,\n deduplicateTools,\n assertUniqueToolNames,\n} from \"./agent-worker-base.js\";\nimport type { AgentAPIResponse } from \"./agent-worker-base.js\";\n\n// ============================================================================\n// TYPES\n// ============================================================================\n\nexport type BuiltinSubagentType =\n | \"explore\" // Fast codebase exploration\n | \"plan\" // Planning complex implementations\n | \"general-purpose\" // Multi-step autonomous tasks\n | \"research\"; // Documentation lookups, web research\n\n// Accepts built-in types + custom agent names from .whale/agents/\nexport type SubagentType = BuiltinSubagentType | (string & {});\n\nexport interface ParentTraceContext {\n traceId: string; // 32 hex chars - inherited from parent\n spanId: string; // 16 hex chars - becomes our parentSpanId\n conversationId?: string;\n turnNumber: number; // Required - subagent inherits parent turn number\n userId?: string;\n userEmail?: string;\n}\n\nexport interface SubagentOptions {\n prompt: string;\n subagent_type: SubagentType;\n model?: \"sonnet\" | \"opus\" | \"haiku\";\n resume?: string; // Agent ID to resume from\n run_in_background?: boolean; // Write output to file, return immediately\n max_turns?: number; // Override default MAX_TURNS (clamped 1-50)\n name?: string; // Display name for agent\n parentContext?: string; // Summary of parent conversation for context\n parentTraceContext?: ParentTraceContext; // W3C trace context for hierarchical spans\n taskContext?: string; // Context about other parallel agents to avoid work duplication\n signal?: AbortSignal; // AbortSignal for cancellation (ESC)\n}\n\nexport interface SubagentResult {\n success: boolean;\n output: string;\n agentId: string;\n tokensUsed: { input: number; output: number };\n toolsUsed: string[];\n}\n\ninterface AgentState {\n id: string;\n type: SubagentType;\n model: string;\n messages: Anthropic.MessageParam[];\n toolsUsed: string[];\n continuations?: number; // max_tokens continuation count (capped by DB config)\n compactionCount?: number; // server-side compaction count\n createdAt: string;\n updatedAt: string;\n}\n\n// ============================================================================\n// CONSTANTS\n// ============================================================================\n\nconst AGENTS_DIR = join(homedir(), \".whale\", \"agents\");\n\n// No hard cap on subagent turns — agent self-regulates via end_turn (Claude Code parity).\n// DB config (subagent_max_turns) controls the default. Callers can override via max_turns param.\n\n// ============================================================================\n// AGENT PROMPTS — specialized per type\n// ============================================================================\n\n// Build agent prompt with working directory context\nfunction buildAgentPrompt(type: SubagentType | string, cwd: string): string {\n const cwdContext = `\n## Working Directory\nYou are working in: ${cwd}\nAll file paths should be relative to or absolute from this directory.\nIMPORTANT: Focus ONLY on files within this directory. Do not get confused by other projects.\n`;\n\n // Check for custom agent definition first\n const custom = getAgentDefinition(type);\n if (custom) return custom.prompt + cwdContext;\n\n const prompts: Record<SubagentType, string> = {\n explore: `You are an exploration agent. Your ONLY job is to quickly find specific information in the codebase, then STOP.\n\nTools available:\n- glob: Find files by pattern (e.g., \"**/*.ts\")\n- grep: Search file contents with regex\n- read_file: Read file contents\n- list_directory: List directory contents\n${cwdContext}\n## STOP CONDITIONS — You MUST stop when ANY of these are met:\n1. You found the specific information requested\n2. You've searched 3+ patterns without finding anything new\n3. You've read the key files that answer the question\n4. You've exhausted reasonable search patterns\n\n## Guidelines:\n- Call multiple tools per turn — batch glob + grep + read_file in a single response\n- Read only the necessary files to answer the question\n- DO NOT continue exploring after you have the answer\n- DO NOT read files that aren't directly relevant\n\n## Output Format:\nReturn a concise summary with:\n- File paths and line numbers for relevant code\n- Key code snippets (brief)\n- Direct answer to the question asked\n\nIMPORTANT: Complete in 2-4 turns. If you haven't found it by turn 4, summarize what you found and STOP.`,\n\n plan: `You are a planning agent. Your ONLY job is to analyze the codebase and create an implementation plan, then STOP.\n\nTools available:\n- glob: Find files by pattern\n- grep: Search file contents\n- read_file: Read file contents\n- list_directory: List directory contents\n${cwdContext}\n## STOP CONDITIONS — You MUST stop when:\n1. You've identified the files that need changes\n2. You've understood the existing patterns/architecture\n3. You've created a concrete plan with specific steps\n\n## Guidelines:\n- FIRST: Quick search to find relevant files\n- Read only files needed to understand the architecture\n- DO NOT read every file — focus on entry points and key modules\n- Create the plan as soon as you understand the structure\n\n## Output Format — Return EXACTLY this structure:\n### Summary\n[1-2 sentences on the approach]\n\n### Files to Modify\n- path/to/file.ts: [what changes]\n\n### Implementation Steps\n1. [Specific step]\n2. [Specific step]\n\n### Risks\n- [Any considerations]\n\nIMPORTANT: Complete in 3-5 turns. If you haven't finished by turn 5, output your best plan and STOP.`,\n\n \"general-purpose\": `You are an autonomous agent for discrete tasks. Complete the task, then STOP.\n\nTools available:\n- File operations: read_file, write_file, edit_file, glob, grep\n- Shell: run_command\n- Search: search_files, search_content\n- Web: web_fetch\n${cwdContext}\n## STOP CONDITIONS — You MUST stop when:\n1. The specific task is complete\n2. You've verified the changes work (if applicable)\n3. You encounter a blocker you cannot resolve\n\n## Guidelines:\n- Understand what exists before making changes\n- Make targeted changes — don't over-engineer\n- Verify your changes if possible (run tests, check syntax)\n- If blocked, explain the blocker and STOP\n\n## Output Format:\n### What I Did\n[Brief summary of actions taken]\n\n### Files Modified\n- path/to/file.ts: [change description]\n\n### Verification\n[How you verified it works, or N/A]\n\n### Issues (if any)\n[Any problems encountered]\n\nIMPORTANT: This is a discrete task. Complete it in 4-6 turns maximum. Do not loop.`,\n\n research: `You are a research agent. Find the specific information requested, then STOP.\n\nTools available:\n- web_fetch: Fetch and parse web content\n- web_search: Search the web\n- read_file: Read local files\n- grep: Search local file contents\n${cwdContext}\n## STOP CONDITIONS — You MUST stop when:\n1. You found the answer to the question\n2. You've checked 2-3 authoritative sources\n3. You've gathered enough information to answer\n\n## Guidelines:\n- Search for official documentation first\n- Check 2-3 sources, not 10\n- DO NOT keep searching after you have the answer\n- Summarize findings immediately when you have enough\n\n## Output Format:\n### Answer\n[Direct answer to the question]\n\n### Key Points\n- [Important detail 1]\n- [Important detail 2]\n\n### Sources\n- [URL 1]: [what it says]\n- [URL 2]: [what it says]\n\n### Caveats\n[Any version requirements or limitations]\n\nIMPORTANT: Complete in 2-4 turns. Stop as soon as you have a good answer.`,\n };\n\n return prompts[type] || prompts[\"general-purpose\"];\n}\n\n// ============================================================================\n// AGENT STATE PERSISTENCE\n// ============================================================================\n\nfunction ensureAgentsDir(): void {\n if (!existsSync(AGENTS_DIR)) mkdirSync(AGENTS_DIR, { recursive: true });\n}\n\nfunction saveAgentState(state: AgentState): void {\n ensureAgentsDir();\n const path = join(AGENTS_DIR, `${state.id}.json`);\n writeFileSync(path, JSON.stringify(state, null, 2), \"utf-8\");\n}\n\nfunction loadAgentState(agentId: string): AgentState | null {\n const path = join(AGENTS_DIR, `${agentId}.json`);\n if (!existsSync(path)) return null;\n try {\n return JSON.parse(readFileSync(path, \"utf-8\"));\n } catch {\n return null;\n }\n}\n\nfunction generateAgentId(): string {\n return `agent-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;\n}\n\n// ============================================================================\n// TOOL FILTERING — restrict tools per agent type\n// ============================================================================\n\nfunction getToolsForAgent(type: SubagentType | string): string[] {\n // Check for custom agent definition with explicit tools\n const custom = getAgentDefinition(type);\n if (custom?.tools && custom.tools.length > 0) return custom.tools;\n\n switch (type) {\n case \"explore\":\n return [\"glob\", \"grep\", \"read_file\", \"list_directory\", \"search_files\", \"search_content\"];\n case \"plan\":\n return [\"glob\", \"grep\", \"read_file\", \"list_directory\", \"search_files\", \"search_content\"];\n case \"research\":\n return [\"web_fetch\", \"web_search\", \"read_file\", \"grep\", \"glob\"];\n case \"general-purpose\":\n // All tools EXCEPT delegation — \"Subagents cannot spawn other subagents\" (Claude Code parity)\n return [\n \"read_file\", \"write_file\", \"edit_file\", \"list_directory\",\n \"search_files\", \"search_content\", \"run_command\",\n \"glob\", \"grep\", \"notebook_edit\", \"web_fetch\",\n ];\n default:\n return [\"read_file\", \"glob\", \"grep\"];\n }\n}\n\nasync function getFilteredTools(type: SubagentType): Promise<Anthropic.Tool[]> {\n const allowedNames = new Set(getToolsForAgent(type));\n\n // Local tools\n const localTools: Anthropic.Tool[] = LOCAL_TOOL_DEFINITIONS\n .filter((t) => allowedNames.has(t.name))\n .map((t) => ({\n name: t.name,\n description: t.description,\n input_schema: t.input_schema as Anthropic.Tool[\"input_schema\"],\n }));\n\n // Add server tools if available, filtering by allowed names\n try {\n const serverTools = await loadServerToolDefinitions();\n const allowedServerTools = serverTools.filter(t => allowedNames.has(t.name));\n localTools.push(...allowedServerTools);\n } catch { /* server tools unavailable */ }\n\n // Deduplicate: local tools take priority over server tools with same name\n return deduplicateTools(localTools);\n}\n\n// ============================================================================\n// DISPLAY HELPERS — icons and colors for trace visualization\n// ============================================================================\n\nfunction getAgentIcon(type: SubagentType): string {\n const icons: Record<SubagentType, string> = {\n explore: \"🔍\", // Magnifying glass for exploration\n plan: \"📋\", // Clipboard for planning\n \"general-purpose\": \"🤖\", // Robot for autonomous work\n research: \"📚\", // Books for research\n };\n return icons[type] || \"⚙️\";\n}\n\nfunction getAgentColor(type: SubagentType): string {\n const colors: Record<SubagentType, string> = {\n explore: \"#3B82F6\", // Blue for exploration\n plan: \"#8B5CF6\", // Purple for planning\n \"general-purpose\": \"#10B981\", // Green for general work\n research: \"#F59E0B\", // Amber for research\n };\n return colors[type] || \"#6B7280\";\n}\n\n// ============================================================================\n// SUBAGENT EXECUTION\n// ============================================================================\n\n// Progress emitter — uses event system instead of stderr to avoid UI conflicts\n// The global emitter batches and routes these to ChatApp without causing re-renders\n// NOTE: No module-level mutable state — agentId/turn passed through function params for parallel safety\n\nfunction emitSubagentProgress(agentType: SubagentType, agentId: string, message: string, turn?: number, toolName?: string): void {\n const emitter = getGlobalEmitter();\n emitter.emitSubagentProgress(agentId, agentType, message, turn, toolName);\n}\n\nexport async function runSubagent(options: SubagentOptions): Promise<SubagentResult> {\n const { prompt, subagent_type, model, resume, max_turns, name, parentContext, parentTraceContext, taskContext, signal } = options;\n\n const agentId = resume || generateAgentId();\n const cwd = process.cwd();\n const systemPrompt = buildAgentPrompt(subagent_type, cwd);\n const startTime = Date.now();\n\n // Check for custom agent definition with per-agent config\n const customDef = getAgentDefinition(subagent_type);\n\n // Model resolution: caller override → agent definition → demotion logic → haiku\n const effectiveModelAlias = model || customDef?.model || demoteSubagentModel(model, subagent_type);\n const modelId = MODEL_MAP[effectiveModelAlias] || MODEL_MAP[\"haiku\"];\n\n // Resolve all config from DB → AGENT_DEFAULTS fallback (single source of truth)\n const dbAgent = await loadCLIAgentConfig();\n const resolved = dbAgent ? resolveAgentLoopConfig(dbAgent, \"sse\") : null;\n const dbMaxTurns = resolved?.subagentMaxTurns ?? AGENT_DEFAULTS.subagentMaxTurns;\n const dbMaxTokens = customDef?.max_tokens ?? resolved?.subagentMaxTokens ?? AGENT_DEFAULTS.subagentMaxTokens;\n // 0 = no limit (agent self-regulates via end_turn, Claude Code parity)\n // Safety: LoopDetector + cost budget + stall detection are the real guards.\n const rawMaxTurns = max_turns ? Math.max(1, max_turns) : dbMaxTurns;\n const effectiveMaxTurns = rawMaxTurns === 0 ? Number.MAX_SAFE_INTEGER : rawMaxTurns;\n const maxToolResultChars = resolved?.maxToolResultChars ?? AGENT_DEFAULTS.maxToolResultChars;\n const maxRetries = resolved?.subagentMaxRetries ?? AGENT_DEFAULTS.subagentMaxRetries;\n const maxContinuations = resolved?.subagentMaxContinuations ?? AGENT_DEFAULTS.subagentMaxContinuations;\n\n // Extract short description from prompt (first sentence or 60 chars)\n const descMatch = prompt.match(/^[^.!?\\n]+/);\n const shortDescription = name || (descMatch\n ? descMatch[0].slice(0, 60) + (descMatch[0].length > 60 ? \"…\" : \"\")\n : prompt.slice(0, 60) + (prompt.length > 60 ? \"…\" : \"\"));\n\n // Emit subagent start event\n const emitter = getGlobalEmitter();\n emitter.emitSubagentStart(agentId, subagent_type, model || \"inherited\", shortDescription);\n\n // Load or create agent state\n let state = resume ? loadAgentState(resume) : null;\n if (!state) {\n state = {\n id: agentId,\n type: subagent_type,\n model: modelId,\n messages: [],\n toolsUsed: [],\n createdAt: new Date().toISOString(),\n updatedAt: new Date().toISOString(),\n };\n }\n\n const loopDetector = resolved\n ? LoopDetector.fromResolved(resolved)\n : new LoopDetector();\n\n // Get filtered tools for this agent type (deduped)\n const tools = await getFilteredTools(subagent_type);\n assertUniqueToolNames(tools);\n\n // Build full system prompt with optional parent context and task dedup context\n let fullSystemPrompt = systemPrompt;\n if (parentContext) {\n fullSystemPrompt += `\\n\\n## Parent Conversation Context\\n${parentContext}`;\n }\n if (taskContext) {\n fullSystemPrompt += `\\n\\n## Other Agents\\n${taskContext}\\nDo NOT duplicate research or work that other agents are handling. Focus only on your assigned task.`;\n }\n\n // Add CLAUDE.md if available\n const claudeMd = loadClaudeMd();\n if (claudeMd) {\n fullSystemPrompt += `\\n\\n## Project Instructions\\n${claudeMd.content}`;\n }\n\n // Add user prompt to messages\n state.messages.push({ role: \"user\", content: prompt });\n\n let totalIn = 0;\n let totalOut = 0;\n let totalCacheRead = 0;\n let totalCacheCreate = 0;\n let finalText = \"\";\n\n // Create subagent span context — inherit parent's trace context for hierarchy\n // IMPORTANT: Don't increment global turn number — subagent is part of parent turn\n const subagentSpanId = generateSpanId();\n const turnCtx = {\n source: \"claude_code\" as const,\n serviceName: \"whale-cli\",\n serviceVersion: PKG_VERSION,\n model: modelId,\n agentId,\n agentName: name || `subagent-${subagent_type}`,\n // Inherit parent's trace to keep hierarchy intact\n traceId: parentTraceContext?.traceId || generateTraceId(),\n spanId: subagentSpanId,\n parentSpanId: parentTraceContext?.spanId, // Parent's spanId becomes our parentSpanId\n conversationId: parentTraceContext?.conversationId,\n turnNumber: parentTraceContext?.turnNumber, // Inherit parent turn, don't increment\n userId: parentTraceContext?.userId,\n userEmail: parentTraceContext?.userEmail,\n traceFlags: 1,\n };\n\n try {\n for (let turn = 0; turn < effectiveMaxTurns; turn++) {\n // Check for cancellation at start of each turn\n if (signal?.aborted) {\n emitSubagentProgress(subagent_type, agentId, \"cancelled\", turn + 1);\n emitter.emitSubagentDone(agentId, subagent_type, false, \"Cancelled\", { input: totalIn, output: totalOut }, state.toolsUsed, Date.now() - startTime);\n return { success: false, output: \"Cancelled\", agentId, tokensUsed: { input: totalIn, output: totalOut }, toolsUsed: state.toolsUsed };\n }\n\n // Emit progress and yield before API call to keep UI responsive\n emitSubagentProgress(subagent_type, agentId, `turn ${turn + 1}: calling API...`, turn + 1);\n await yieldForRender(); // Give Ink time to render the progress update\n\n // Adaptive thinking enabled — model decides when to think (Claude Code parity).\n // Opus 4.6 uses adaptive thinking by default; no separate enable/disable needed.\n const apiStart = Date.now();\n let response!: AgentAPIResponse;\n let lastError: Error | null = null;\n for (let attempt = 0; attempt < maxRetries; attempt++) {\n try {\n response = await callAgentAPI({\n modelId,\n contextProfile: \"subagent\",\n systemPrompt: fullSystemPrompt,\n messages: state.messages,\n tools,\n thinkingEnabled: true,\n maxOutputTokens: dbMaxTokens,\n cacheLastTool: true,\n abortSignal: signal,\n });\n lastError = null;\n break;\n } catch (err: any) {\n lastError = err;\n if (attempt < maxRetries - 1 && (err.status === 429 || err.status === 500 || err.status === 529)) {\n await new Promise(r => setTimeout(r, 1000 * Math.pow(2, attempt)));\n continue;\n }\n throw err;\n }\n }\n if (lastError) throw lastError;\n const apiDuration = Date.now() - apiStart;\n\n // Yield after API call\n await yieldToEventLoop();\n\n totalIn += response.usage.input_tokens;\n totalOut += response.usage.output_tokens;\n totalCacheRead += response.usage.cache_read_tokens;\n totalCacheCreate += response.usage.cache_creation_tokens;\n\n // Log API call as child span — include cache tokens for accurate cost\n const apiCostUsd = estimateCostUsd(\n response.usage.input_tokens,\n response.usage.output_tokens,\n modelId,\n 0, // thinkingTokens (disabled for subagents)\n response.usage.cache_read_tokens,\n response.usage.cache_creation_tokens,\n );\n logSpan({\n action: \"claude_api_request\",\n durationMs: apiDuration,\n context: {\n ...turnCtx,\n spanId: generateSpanId(), // New span for this API call\n parentSpanId: turnCtx.spanId, // Parent is the subagent\n inputTokens: response.usage.input_tokens,\n outputTokens: response.usage.output_tokens,\n cacheReadTokens: response.usage.cache_read_tokens,\n cacheCreationTokens: response.usage.cache_creation_tokens,\n totalCost: apiCostUsd,\n model: modelId,\n },\n details: {\n \"gen_ai.request.model\": modelId,\n \"gen_ai.usage.input_tokens\": response.usage.input_tokens,\n \"gen_ai.usage.output_tokens\": response.usage.output_tokens,\n \"gen_ai.usage.cache_read_tokens\": response.usage.cache_read_tokens,\n \"gen_ai.usage.cache_creation_tokens\": response.usage.cache_creation_tokens,\n \"gen_ai.usage.cost\": apiCostUsd,\n agent_id: agentId,\n agent_type: subagent_type,\n turn: turn + 1,\n stop_reason: response.stop_reason,\n is_subagent_api: true,\n },\n });\n\n // Yield to event loop to keep UI responsive\n await yieldToEventLoop();\n\n // Extract text and tool use using shared helpers\n const textBlocks = extractTextBlocks(response.content);\n const toolBlocks = extractToolUseBlocks(response.content);\n\n if (textBlocks.length) {\n finalText = getResponseText(response.content);\n }\n\n // Compaction handling — API paused after generating summary.\n // Per Anthropic docs: just use the compaction block, don't preserve old messages.\n if (response.stop_reason === \"compaction\") {\n const compactionBlock = response.content.find((b: any) => b.type === \"compaction\") as any;\n if (compactionBlock) {\n state.compactionCount = (state.compactionCount ?? 0) + 1;\n state.messages = [\n { role: \"assistant\", content: [{ type: \"compaction\", content: compactionBlock.content }] },\n { role: \"user\", content: [{ type: \"text\", text: \"Continue with your task.\" }] },\n ] as any;\n turn--; // Don't count compaction as a turn\n continue;\n }\n }\n\n // No tool calls — check stop reason\n if (toolBlocks.length === 0 || response.stop_reason === \"end_turn\") {\n // max_tokens: response was truncated mid-generation — give the model a chance to finish\n // Cap at 2 continuations to prevent infinite loops on very large outputs\n if (response.stop_reason === \"max_tokens\" && (state.continuations ?? 0) < maxContinuations) {\n state.continuations = (state.continuations ?? 0) + 1;\n state.messages.push({\n role: \"assistant\",\n content: response.content,\n });\n const contCount = state.continuations ?? 1;\n const contText = contCount === 1\n ? \"[Your response was truncated due to the output token limit. If writing a large file, split into multiple smaller write_file calls (~200 lines each). Continue concisely.]\"\n : `[Truncated again (${contCount}/${maxContinuations}). You MUST reduce output size — use multiple small write_file calls, not one large one.]`;\n state.messages.push({\n role: \"user\",\n content: [{ type: \"text\", text: contText }],\n });\n continue;\n }\n emitSubagentProgress(subagent_type, agentId, `done (${turn + 1} turn${turn > 0 ? \"s\" : \"\"})`, turn + 1);\n break;\n }\n\n // Emit tool usage progress\n const toolNames = toolBlocks.map(b => b.name).join(\", \");\n emitSubagentProgress(subagent_type, agentId, `using: ${toolNames}`, turn + 1);\n\n // Execute tools using shared executeToolBlocks\n const { toolResults, toolsUsed: turnToolsUsed } = await executeToolBlocks({\n toolBlocks,\n loopDetector,\n signal,\n callbacks: {\n onToolStart: (toolName, input) => {\n emitSubagentProgress(subagent_type, agentId, `running ${toolName}`, turn + 1, toolName);\n emitter.emitSubagentToolStart(agentId, toolName, input);\n },\n onToolEnd: (toolName, success, durationMs) => {\n emitter.emitSubagentToolEnd(agentId, toolName, success, durationMs);\n\n // Log tool call as child span of the subagent\n const tu = toolBlocks.find(b => b.name === toolName);\n logSpan({\n action: `tool.${toolName}`,\n durationMs,\n context: {\n ...turnCtx,\n spanId: generateSpanId(),\n parentSpanId: turnCtx.spanId,\n },\n error: success ? undefined : \"(see tool result)\",\n details: {\n tool_type: \"subagent_tool\",\n tool_input: tu?.input,\n agent_id: agentId,\n agent_type: subagent_type,\n is_subagent_tool: true,\n iteration: turn,\n },\n });\n },\n },\n });\n\n // Track tool usage\n for (const tn of turnToolsUsed) {\n if (!state.toolsUsed.includes(tn)) {\n state.toolsUsed.push(tn);\n }\n }\n\n // Append assistant response + tool results\n state.messages.push({\n role: \"assistant\",\n content: response.content,\n });\n state.messages.push({\n role: \"user\",\n content: toolResults,\n });\n\n // Progress nudge: when approaching turn limit without any edits, warn the agent\n const turnsRemaining = effectiveMaxTurns - turn - 1;\n const nudgeThreshold = Math.ceil(effectiveMaxTurns * 0.25); // Last 25% of turns\n if (turnsRemaining === nudgeThreshold && turnsRemaining > 0) {\n const editTools = [\"write_file\", \"edit_file\", \"create_file\", \"notebook_edit\"];\n const hasEdited = state.toolsUsed.some(t => editTools.includes(t));\n if (!hasEdited) {\n state.messages.push({\n role: \"user\",\n content: [{\n type: \"text\",\n text: `⚠️ TURN LIMIT WARNING: You have ${turnsRemaining} turns remaining out of ${effectiveMaxTurns} and have NOT made any file edits yet. Stop exploring and start producing your output NOW. If you need to write or edit files, do it immediately. Prioritize delivering results over gathering more information.`,\n }],\n });\n }\n }\n\n // Pre-compact: trim large tool results and thinking blocks to prevent context bloat.\n // Without this, context grows unbounded (4K→28K→73K tokens per turn).\n const { messages: compactedMessages } = preCompact(\n state.messages,\n { maxToolResultChars, stripThinking: true },\n );\n state.messages = compactedMessages;\n\n // Yield to event loop after tool execution\n await yieldToEventLoop();\n }\n\n // Save state for potential resume\n state.updatedAt = new Date().toISOString();\n saveAgentState(state);\n\n // Log single subagent span with all metadata for trace visualization\n const subagentTotalCost = estimateCostUsd(totalIn, totalOut, modelId, 0, totalCacheRead, totalCacheCreate);\n logSpan({\n action: `subagent.${subagent_type}`,\n durationMs: Date.now() - new Date(state.createdAt).getTime(),\n context: {\n ...turnCtx,\n inputTokens: totalIn,\n outputTokens: totalOut,\n totalCost: subagentTotalCost,\n },\n details: {\n agent_id: agentId,\n agent_type: subagent_type,\n model: modelId,\n\n // OpenTelemetry gen_ai semantic conventions\n \"gen_ai.request.model\": modelId,\n \"gen_ai.usage.input_tokens\": totalIn,\n \"gen_ai.usage.output_tokens\": totalOut,\n \"gen_ai.usage.cache_read_tokens\": totalCacheRead,\n \"gen_ai.usage.cache_creation_tokens\": totalCacheCreate,\n \"gen_ai.usage.cost\": subagentTotalCost,\n\n // Execution metrics\n turns: state.messages.length / 2,\n tools_used: state.toolsUsed,\n tool_count: state.toolsUsed.length,\n\n // Hierarchy\n is_subagent: true,\n parent_trace_id: parentTraceContext?.traceId,\n parent_span_id: parentTraceContext?.spanId,\n\n // Display metadata\n display_name: `${subagent_type.charAt(0).toUpperCase() + subagent_type.slice(1)} Agent`,\n display_icon: getAgentIcon(subagent_type),\n display_color: getAgentColor(subagent_type),\n\n // Content previews\n summary: finalText.slice(0, 2000) + (finalText.length > 2000 ? \"...\" : \"\"),\n prompt_preview: prompt.slice(0, 200) + (prompt.length > 200 ? \"...\" : \"\"),\n },\n });\n\n // Emit subagent done event\n emitter.emitSubagentDone(\n agentId,\n subagent_type,\n true,\n finalText || \"(No output from agent)\",\n { input: totalIn, output: totalOut },\n state.toolsUsed,\n Date.now() - startTime\n );\n\n return {\n success: true,\n output: finalText || \"(No output from agent)\",\n agentId,\n tokensUsed: { input: totalIn, output: totalOut },\n toolsUsed: state.toolsUsed,\n };\n } catch (err: any) {\n // Emit subagent error event\n emitter.emitSubagentDone(\n agentId,\n subagent_type,\n false,\n `Agent error: ${err.message || err}`,\n { input: totalIn, output: totalOut },\n state.toolsUsed,\n Date.now() - startTime\n );\n\n return {\n success: false,\n output: `Agent error: ${err.message || err}`,\n agentId,\n tokensUsed: { input: totalIn, output: totalOut },\n toolsUsed: state.toolsUsed,\n };\n }\n}\n\n// ============================================================================\n// BACKGROUND AGENT EXECUTION\n// ============================================================================\n\nexport async function runSubagentBackground(options: SubagentOptions): Promise<{ agentId: string; outputFile: string }> {\n const agentId = options.resume || generateAgentId();\n const outputFile = join(tmpdir(), `whale-agent-${agentId}.output`);\n\n // Write initial status\n writeFileSync(outputFile, `Agent ${agentId} started (${options.subagent_type})\\n`, \"utf-8\");\n\n // Import background process tracker (dynamic to avoid circular deps)\n const bgModule = await import(\"./background-processes.js\");\n const abortController = bgModule.registerBackgroundAgent(agentId, options.subagent_type, outputFile);\n\n // Start agent in detached async — don't await\n runSubagent({ ...options, resume: undefined, signal: abortController.signal }).then(result => {\n appendFileSync(outputFile, `\\n---DONE---\\n${JSON.stringify({ success: result.success, agentId: result.agentId, output: result.output })}\\n`, \"utf-8\");\n import(\"./background-processes.js\").then(m => m.markAgentDone(agentId, result.success));\n }).catch(err => {\n appendFileSync(outputFile, `\\n---ERROR---\\n${err.message}\\n`, \"utf-8\");\n import(\"./background-processes.js\").then(m => m.markAgentDone(agentId, false));\n });\n\n return { agentId, outputFile };\n}\n\n// ============================================================================\n// TOOL DEFINITION — for integration with main agent loop\n// ============================================================================\n\n// Following Claude Code pattern: discrete, focused tasks with clear completion criteria\nexport const TASK_TOOL_DEFINITION: Anthropic.Tool = {\n name: \"task\",\n description: `Launch a subagent in isolated context. Subagents have full tool access and batch multiple tool calls per turn (glob + grep + read_file in parallel). Launch multiple task calls in one response for parallel execution.\n\nUse for any work requiring 3+ tool calls or touching multiple parts of the codebase.\n\nAgent types:\n- explore: Find specific files/code (2-4 turns, uses batch glob+grep)\n- plan: Create implementation plan (3-5 turns)\n- general-purpose: Complete a specific task (4-8 turns, full tool access)\n- research: Look up specific info (2-4 turns)\n\nEach agent completes autonomously and returns results.`,\n input_schema: {\n type: \"object\",\n properties: {\n prompt: {\n type: \"string\",\n description: \"Specific task with clear completion criteria. Include: what to find/do, where to look, what to return.\",\n },\n subagent_type: {\n type: \"string\",\n enum: [\"explore\", \"plan\", \"general-purpose\", \"research\"],\n description: \"Agent type: explore=find, plan=design, general-purpose=do, research=lookup.\",\n },\n model: {\n type: \"string\",\n enum: [\"sonnet\", \"haiku\"],\n description: \"Optional model. haiku (default) for fast tasks, sonnet for complex reasoning.\",\n },\n resume: {\n type: \"string\",\n description: \"Agent ID to resume (rarely needed).\",\n },\n },\n required: [\"prompt\", \"subagent_type\"],\n },\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,YAAY,EAAEC,UAAU,EAAEC,aAAa,EAAEC,SAAS,EAAEC,cAAc,QAAQ,IAAI;AACvF,SAASC,IAAI,QAAQ,MAAM;AAC3B,SAASC,OAAO,EAAEC,MAAM,QAAQ,IAAI;AACpC,SACEC,sBAAsB,QACjB,kBAAkB;AACzB,SAASC,YAAY,EAAEC,eAAe,EAAEC,mBAAmB,EAAEC,cAAc,EAAEC,sBAAsB,QAAQ,4BAA4B;AACvI,SAASC,UAAU,QAAQ,4BAA4B;AACvD,SAASC,kBAAkB,QAAQ,mBAAmB;AACtD,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SACEC,yBAAyB,QACpB,mBAAmB;AAC1B,SAASC,OAAO,EAAEC,cAAc,EAAEC,eAAe,EAAEC,WAAW,QAAQ,gBAAgB;AACtF,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,gBAAgB,QAAQ,mBAAmB;AACpD,SAASC,kBAAkB,QAAQ,wBAAwB;AAC3D,SACEC,YAAY,EACZC,iBAAiB,EACjBC,iBAAiB,EACjBC,oBAAoB,EACpBC,eAAe,EACfC,gBAAgB,EAChBC,cAAc,EACdC,gBAAgB,EAChBC,qBAAqB,QAChB,wBAAwB;;AAG/B;AACA;AACA;;AAMwB;;AAExB;;AA8CA;AACA;AACA;;AAEA,MAAMC,UAAU,GAAG7B,IAAI,CAACC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC;;AAEtD;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS6B,gBAAgBA,CAACC,IAA2B,EAAEC,GAAW,EAAU;EAC1E,MAAMC,UAAU,GAAG;AACrB;AACA,sBAAsBD,GAAG;AACzB;AACA;AACA,CAAC;;EAEC;EACA,MAAME,MAAM,GAAGf,kBAAkB,CAACY,IAAI,CAAC;EACvC,IAAIG,MAAM,EAAE,OAAOA,MAAM,CAACC,MAAM,GAAGF,UAAU;EAE7C,MAAMG,OAAqC,GAAG;IAC5CC,OAAO,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA,EAAEJ,UAAU;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wGAAwG;IAEpGK,IAAI,EAAE;AACV;AACA;AACA;AACA;AACA;AACA;AACA,EAAEL,UAAU;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qGAAqG;IAEjG,iBAAiB,EAAE;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,EAAEA,UAAU;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF;IAE/EM,QAAQ,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA,EAAEN,UAAU;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,CAAC;EAED,OAAOG,OAAO,CAACL,IAAI,CAAC,IAAIK,OAAO,CAAC,iBAAiB,CAAC;AACpD;;AAEA;AACA;AACA;;AAEA,SAASI,eAAeA,CAAA,EAAS;EAC/B,IAAI,CAAC5C,UAAU,CAACiC,UAAU,CAAC,EAAE/B,SAAS,CAAC+B,UAAU,EAAE;IAAEY,SAAS,EAAE;EAAK,CAAC,CAAC;AACzE;AAEA,SAASC,cAAcA,CAACC,KAAiB,EAAQ;EAC/CH,eAAe,CAAC,CAAC;EACjB,MAAMI,IAAI,GAAG5C,IAAI,CAAC6B,UAAU,EAAE,GAAGc,KAAK,CAACE,EAAE,OAAO,CAAC;EACjDhD,aAAa,CAAC+C,IAAI,EAAEE,IAAI,CAACC,SAAS,CAACJ,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC;AAC9D;AAEA,SAASK,cAAcA,CAACC,OAAe,EAAqB;EAC1D,MAAML,IAAI,GAAG5C,IAAI,CAAC6B,UAAU,E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","ignoreList":[]}
@@ -4,45 +4,46 @@
4
4
  * Extracted from agent-loop.ts for single-responsibility.
5
5
  * All consumers should import from agent-loop.ts (re-export facade).
6
6
  */
7
+
7
8
  import { readdirSync } from "fs";
9
+ import { execFileSync } from "child_process";
8
10
  import { loadConfig } from "./config-store.js";
9
11
  import { loadMemory } from "./memory-manager.js";
10
12
  import { loadClaudeMd } from "./claude-md-loader.js";
11
13
  import { gatherGitContext } from "./git-context.js";
12
14
  import { getPermissionMode } from "./permission-modes.js";
13
15
  export async function buildSystemPrompt(hasServerTools, effort) {
14
- const sections = [];
15
- // ── Identity ──
16
- sections.push(`You are whale code, an interactive CLI agent for software engineering and business operations.
16
+ const sections = [];
17
+
18
+ // ── Identity ──
19
+ sections.push(`You are whale code, an interactive CLI agent for software engineering and business operations.
17
20
  You help users with coding tasks, debugging, refactoring, and managing business data through tools.`);
18
- // ── Environment ──
19
- const envLines = [
20
- `Working directory: ${process.cwd()}`,
21
- `Platform: ${process.platform}`,
22
- `Date: ${new Date().toISOString().split("T")[0]}`,
23
- ];
24
- // Store context critical for server tools to operate on the right data
25
- const storeConfig = loadConfig();
26
- if (storeConfig.store_name || storeConfig.store_id) {
27
- envLines.push(`Active store: ${storeConfig.store_name || storeConfig.store_id}`);
28
- }
29
- const gitContext = await gatherGitContext();
30
- if (gitContext)
31
- envLines.push(`\n${gitContext}`);
32
- // Directory listing — top-level files/folders for spatial awareness
33
- try {
34
- const entries = readdirSync(process.cwd(), { withFileTypes: true });
35
- const dirs = entries.filter(e => e.isDirectory() && !e.name.startsWith(".")).map(e => e.name + "/").sort();
36
- const fileNames = entries.filter(e => e.isFile()).map(e => e.name).sort();
37
- const listing = [...dirs, ...fileNames].slice(0, 30);
38
- if (listing.length > 0) {
39
- envLines.push(`\nDirectory contents:\n${listing.join("\n")}`);
40
- }
21
+
22
+ // ── Environment ──
23
+ const envLines = [`Working directory: ${process.cwd()}`, `Platform: ${process.platform}`, `Date: ${new Date().toISOString().split("T")[0]}`];
24
+ // Store context — critical for server tools to operate on the right data
25
+ const storeConfig = loadConfig();
26
+ if (storeConfig.store_name || storeConfig.store_id) {
27
+ envLines.push(`Active store: ${storeConfig.store_name || storeConfig.store_id}`);
28
+ }
29
+ const gitContext = await gatherGitContext();
30
+ if (gitContext) envLines.push(`\n${gitContext}`);
31
+ // Directory listing — top-level files/folders for spatial awareness
32
+ try {
33
+ const entries = readdirSync(process.cwd(), {
34
+ withFileTypes: true
35
+ });
36
+ const dirs = entries.filter(e => e.isDirectory() && !e.name.startsWith(".")).map(e => e.name + "/").sort();
37
+ const fileNames = entries.filter(e => e.isFile()).map(e => e.name).sort();
38
+ const listing = [...dirs, ...fileNames].slice(0, 30);
39
+ if (listing.length > 0) {
40
+ envLines.push(`\nDirectory contents:\n${listing.join("\n")}`);
41
41
  }
42
- catch { /* cwd not readable */ }
43
- sections.push(`# Environment\n${envLines.join("\n")}`);
44
- // ── Doing tasks ──
45
- sections.push(`# Doing tasks
42
+ } catch {/* cwd not readable */}
43
+ sections.push(`# Environment\n${envLines.join("\n")}`);
44
+
45
+ // ── Doing tasks ──
46
+ sections.push(`# Doing tasks
46
47
  - The user will primarily request software engineering tasks: solving bugs, adding features, refactoring, explaining code, and more.
47
48
  - You are highly capable and can complete ambitious, multi-step tasks autonomously. Defer to user judgement about scope.
48
49
  - ALWAYS read relevant code before proposing changes. Do not modify files you haven't read. Understand existing patterns before editing.
@@ -53,8 +54,9 @@ You help users with coding tasks, debugging, refactoring, and managing business
53
54
  - Don't create abstractions for one-time operations.
54
55
  - Be careful not to introduce security vulnerabilities (command injection, XSS, SQL injection, etc.). If you notice insecure code you wrote, fix it immediately.
55
56
  - If your approach is blocked, do not brute force. Consider alternative approaches or ask the user.`);
56
- // ── Coding workflow ──
57
- sections.push(`# Mandatory coding workflow
57
+
58
+ // ── Coding workflow ──
59
+ sections.push(`# Mandatory coding workflow
58
60
  When making code changes, ALWAYS follow this sequence:
59
61
 
60
62
  1. **Read** — Read the files you intend to modify. Understand the existing code, imports, types, and patterns.
@@ -69,15 +71,17 @@ CRITICAL RULES:
69
71
  - If a build or test fails, read the error output carefully before attempting a fix. Do not guess.
70
72
  - If the same fix approach fails twice, STOP. Re-read the relevant code and try a fundamentally different approach.
71
73
  - If you are stuck after 3 failed attempts, explain what you've tried and ask the user for guidance.`);
72
- // ── Actions with care ──
73
- sections.push(`# Executing actions with care
74
+
75
+ // ── Actions with care ──
76
+ sections.push(`# Executing actions with care
74
77
  Consider the reversibility and blast radius of your actions:
75
78
  - Freely take local, reversible actions like editing files or running tests.
76
79
  - For hard-to-reverse or shared-state actions (deleting files, force-pushing, modifying CI, sending messages), check with the user first.
77
80
  - Do not use destructive actions as shortcuts. Identify root causes rather than bypassing safety checks.
78
81
  - If you encounter unexpected state (unfamiliar files, branches, config), investigate before overwriting — it may be the user's in-progress work.`);
79
- // ── Tool use ──
80
- let toolSection = `# Using tools
82
+
83
+ // ── Tool use ──
84
+ let toolSection = `# Using tools
81
85
  - Use the RIGHT tool for the job. Do NOT use run_command when a dedicated tool exists:
82
86
  - read_file to read files (not \`cat\` or \`head\`)
83
87
  - edit_file or multi_edit to edit files (not \`sed\` or \`awk\`)
@@ -90,27 +94,29 @@ Consider the reversibility and blast radius of your actions:
90
94
  - If a tool fails, read the error. If it fails 3 times, try a different tool or approach entirely.
91
95
  - All file paths in tool calls should be relative to the working directory when possible (e.g. "src/foo.ts" not "/Users/name/project/src/foo.ts").
92
96
  - When the user drops a file path, read it with read_file before responding.
97
+ - For large files (>200 lines): split across multiple write_file calls. Write the first ~200 lines, then use edit_file to append the rest in chunks. NEVER try to write an entire large file in a single tool call — it will be truncated.
93
98
 
94
- ## Subagents (task tool)
95
- - Subagents run in isolated context use them freely for parallel work without polluting your main conversation.
96
- - Use subagents when a task requires 3+ tool calls or touches multiple parts of the codebase.
97
- - Launch multiple subagents in parallel for independent research (e.g., searching different directories simultaneously).
99
+ ## Subagents (task tool) — DELEGATE AGGRESSIVELY
100
+ - Your input tokens are expensive. Delegate ALL multi-step research to subagents instead of using tools directly.
101
+ - ALWAYS delegate: grep/glob searches, reading multiple files, codebase exploration, test runs, linting.
102
+ - Only use tools directly when: (1) a single read_file answers the question, or (2) you need the result in THIS turn for a decision.
103
+ - Launch multiple subagents in parallel for independent work — this is faster AND cheaper than serial tool calls.
98
104
  - Use task with run_in_background:true for long-running tasks; check with task_output, stop with task_stop.
99
- - Skip subagents only when a single glob or read_file gives you the answer directly.
100
105
  - Prefer "explore" type for quick codebase searches (2-4 turns). Prefer "general-purpose" for autonomous multi-step tasks.
101
- - Cost-aware model routing:
102
- - model:"haiku" — file searches, schema lookups, simple reads, pattern matching ($1/$5 per 1M tokens)
103
- - model:"sonnet" — code analysis, multi-step research, plan design ($3/$15 per 1M tokens)
104
- - model:"opus" — complex reasoning, judgment calls ($5/$25 per 1M tokens, use sparingly)
106
+ - Cost-aware model routing (delegate to cheapest model that can handle the task):
107
+ - model:"haiku" — file searches, schema lookups, simple reads, pattern matching ($1/$5 per 1M tokens). DEFAULT for most delegation.
108
+ - model:"sonnet" — code analysis, multi-step research, plan design, code writing ($3/$15 per 1M tokens)
109
+ - model:"opus" — never delegate to opus subagents (you are opus, defeats the purpose)
105
110
 
106
111
  ## Teams (team_create / team_auto)
107
112
  - Do NOT use teams for bug fixes or single-file changes — work directly. Teams are for large features with 3+ independent workstreams.
108
- - **team_auto**: Give it a single task string — it auto-decomposes into parallel sub-tasks with file ownership, runs them, and reviews results. Best for refactoring, audits, and multi-file features.
109
- - **team_create**: Use when you want explicit control over task breakdown, file assignments, and models.
110
- - When creating teams manually, assign per-task models based on complexity. Most tasks should use haiku or sonnet.`;
111
- if (hasServerTools) {
112
- const storeCtx = storeConfig.store_name ? ` All operations are scoped to the active store: **${storeConfig.store_name}**.` : "";
113
- toolSection += `
113
+ - **team_auto**: Give it a single task string — it auto-decomposes into parallel sub-tasks and spawns them. Returns immediately with a task_id.
114
+ - **team_create**: Explicit control over task breakdown, file assignments, and models. Returns immediately with a task_id.
115
+ - Teams run in the background like any other background task. Use **task_output** to check progress, **task_stop** to kill the team or individual teammates (task_id="team-xxx/teammate-yyy").
116
+ - When creating teams, assign per-task models based on complexity. Most tasks should use haiku or sonnet.`;
117
+ if (hasServerTools) {
118
+ const storeCtx = storeConfig.store_name ? ` All operations are scoped to the active store: **${storeConfig.store_name}**.` : "";
119
+ toolSection += `
114
120
 
115
121
  ## Server tools (business operations)
116
122
  - Server tools (analytics, products, inventory, customers, orders, email, workflows, etc.) operate on the active store's data.${storeCtx}
@@ -152,29 +158,51 @@ Consider the reversibility and blast radius of your actions:
152
158
  - If given a directory of clips, use glob to find all MP3s, then pass all paths at once.
153
159
  - **Voice settings**: Cloned voices auto-use optimized settings (higher similarity, lower stability). Override with explicit stability/similarity_boost params if needed.
154
160
  - **Voice tool**: Accepts voice names (e.g. "Daniel", "Sarah") — no need to look up voice IDs. Use search_voices to find voices by style/accent/gender.`;
161
+ }
162
+ sections.push(toolSection);
163
+
164
+ // ── Local CLI utilities (auto-detected) ──
165
+ if (process.platform === "darwin") {
166
+ const localTools = [];
167
+ try {
168
+ const imsgPath = execFileSync("which", ["imsg"], {
169
+ encoding: "utf-8",
170
+ timeout: 2000
171
+ }).trim();
172
+ if (imsgPath) {
173
+ localTools.push(`- **iMessage**: Use \`imsg send --to <email_or_phone> --text "<message>"\` to send iMessages. Do NOT use osascript or AppleScript — it lacks automation permissions. The \`imsg\` binary handles Messages.app integration natively.
174
+ - Query chats: \`imsg chats --limit 20 --json\`
175
+ - List messages: \`imsg list --limit 20 --json\`
176
+ - Send to address: \`imsg send --to "+14155551234" --text "Hello"\`
177
+ - Send to chat: \`imsg send --chat-id 42 --text "Hello"\``);
178
+ }
179
+ } catch {/* imsg not installed */}
180
+ if (localTools.length > 0) {
181
+ sections.push(`# Local CLI utilities (macOS)\n${localTools.join("\n")}`);
155
182
  }
156
- sections.push(toolSection);
157
- // ── Permission mode ──
158
- const permissionMode = getPermissionMode();
159
- if (permissionMode === "plan") {
160
- sections.push(`# Mode: Plan (read-only)
183
+ }
184
+
185
+ // ── Permission mode ──
186
+ const permissionMode = getPermissionMode();
187
+ if (permissionMode === "plan") {
188
+ sections.push(`# Mode: Plan (read-only)
161
189
  You are in plan mode. Only read and search tools are available. No file writes or commands.`);
162
- }
163
- else if (permissionMode === "yolo") {
164
- sections.push(`# Mode: Yolo
190
+ } else if (permissionMode === "yolo") {
191
+ sections.push(`# Mode: Yolo
165
192
  All tools available without confirmation prompts.`);
166
- }
167
- // ── Effort ──
168
- if (effort === "low") {
169
- sections.push(`# Effort: Low
193
+ }
194
+
195
+ // ── Effort ──
196
+ if (effort === "low") {
197
+ sections.push(`# Effort: Low
170
198
  Be concise and direct. Minimize exploration. Give brief answers. Skip verification for trivial changes.`);
171
- }
172
- else if (effort === "high") {
173
- sections.push(`# Effort: High
199
+ } else if (effort === "high") {
200
+ sections.push(`# Effort: High
174
201
  Be thorough and exhaustive. Explore deeply. Verify all changes. Consider edge cases.`);
175
- }
176
- // ── Tone and style ──
177
- sections.push(`# Tone and style
202
+ }
203
+
204
+ // ── Tone and style ──
205
+ sections.push(`# Tone and style
178
206
  - Be concise. Use tools to do work — don't just explain what you would do.
179
207
  - NEVER use emojis — terminal renders them as broken glyphs.
180
208
  - Include $ on monetary values, % on percentages.
@@ -186,15 +214,18 @@ Be thorough and exhaustive. Explore deeply. Verify all changes. Consider edge ca
186
214
  Title
187
215
  Label: $value
188
216
  \`\`\``);
189
- // ── Persistent memory ──
190
- const memory = loadMemory();
191
- if (memory) {
192
- sections.push(`# Memory (persistent across sessions)\n${memory}`);
193
- }
194
- // ── Project instructions ──
195
- const claudeMd = loadClaudeMd();
196
- if (claudeMd) {
197
- sections.push(`# Project Instructions (${claudeMd.path})\n${claudeMd.content}`);
198
- }
199
- return sections.join("\n\n");
217
+
218
+ // ── Persistent memory ──
219
+ const memory = loadMemory();
220
+ if (memory) {
221
+ sections.push(`# Memory (persistent across sessions)\n${memory}`);
222
+ }
223
+
224
+ // ── Project instructions ──
225
+ const claudeMd = loadClaudeMd();
226
+ if (claudeMd) {
227
+ sections.push(`# Project Instructions (${claudeMd.path})\n${claudeMd.content}`);
228
+ }
229
+ return sections.join("\n\n");
200
230
  }
231
+ //# sourceMappingURL=system-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-prompt.js","names":["readdirSync","execFileSync","loadConfig","loadMemory","loadClaudeMd","gatherGitContext","getPermissionMode","buildSystemPrompt","hasServerTools","effort","sections","push","envLines","process","cwd","platform","Date","toISOString","split","storeConfig","store_name","store_id","gitContext","entries","withFileTypes","dirs","filter","e","isDirectory","name","startsWith","map","sort","fileNames","isFile","listing","slice","length","join","toolSection","storeCtx","localTools","imsgPath","encoding","timeout","trim","permissionMode","memory","claudeMd","path","content"],"sources":["../../../src/cli/services/system-prompt.ts"],"sourcesContent":["/**\n * System Prompt Builder — assembles the full system prompt for the agent loop\n *\n * Extracted from agent-loop.ts for single-responsibility.\n * All consumers should import from agent-loop.ts (re-export facade).\n */\n\nimport { readdirSync, existsSync } from \"fs\";\nimport { execFileSync } from \"child_process\";\nimport { loadConfig } from \"./config-store.js\";\nimport { loadMemory } from \"./memory-manager.js\";\nimport { loadClaudeMd } from \"./claude-md-loader.js\";\nimport { gatherGitContext } from \"./git-context.js\";\nimport { getPermissionMode } from \"./permission-modes.js\";\n\nexport async function buildSystemPrompt(hasServerTools: boolean, effort?: \"low\" | \"medium\" | \"high\"): Promise<string> {\n const sections: string[] = [];\n\n // ── Identity ──\n sections.push(`You are whale code, an interactive CLI agent for software engineering and business operations.\nYou help users with coding tasks, debugging, refactoring, and managing business data through tools.`);\n\n // ── Environment ──\n const envLines = [\n `Working directory: ${process.cwd()}`,\n `Platform: ${process.platform}`,\n `Date: ${new Date().toISOString().split(\"T\")[0]}`,\n ];\n // Store context — critical for server tools to operate on the right data\n const storeConfig = loadConfig();\n if (storeConfig.store_name || storeConfig.store_id) {\n envLines.push(`Active store: ${storeConfig.store_name || storeConfig.store_id}`);\n }\n const gitContext = await gatherGitContext();\n if (gitContext) envLines.push(`\\n${gitContext}`);\n // Directory listing — top-level files/folders for spatial awareness\n try {\n const entries = readdirSync(process.cwd(), { withFileTypes: true });\n const dirs = entries.filter(e => e.isDirectory() && !e.name.startsWith(\".\")).map(e => e.name + \"/\").sort();\n const fileNames = entries.filter(e => e.isFile()).map(e => e.name).sort();\n const listing = [...dirs, ...fileNames].slice(0, 30);\n if (listing.length > 0) {\n envLines.push(`\\nDirectory contents:\\n${listing.join(\"\\n\")}`);\n }\n } catch { /* cwd not readable */ }\n sections.push(`# Environment\\n${envLines.join(\"\\n\")}`);\n\n // ── Doing tasks ──\n sections.push(`# Doing tasks\n- The user will primarily request software engineering tasks: solving bugs, adding features, refactoring, explaining code, and more.\n- You are highly capable and can complete ambitious, multi-step tasks autonomously. Defer to user judgement about scope.\n- ALWAYS read relevant code before proposing changes. Do not modify files you haven't read. Understand existing patterns before editing.\n- Prefer editing existing files over creating new ones. Do not create files unless absolutely necessary.\n- Avoid over-engineering. Only make changes that are directly requested or clearly necessary. Keep solutions simple and focused.\n - Don't add features, refactor code, or make \"improvements\" beyond what was asked.\n - Don't add error handling or validation for scenarios that can't happen.\n - Don't create abstractions for one-time operations.\n- Be careful not to introduce security vulnerabilities (command injection, XSS, SQL injection, etc.). If you notice insecure code you wrote, fix it immediately.\n- If your approach is blocked, do not brute force. Consider alternative approaches or ask the user.`);\n\n // ── Coding workflow ──\n sections.push(`# Mandatory coding workflow\nWhen making code changes, ALWAYS follow this sequence:\n\n1. **Read** — Read the files you intend to modify. Understand the existing code, imports, types, and patterns.\n2. **Plan** — For non-trivial changes, briefly state what you'll change and why BEFORE editing. For multi-file changes, list the files and the change for each.\n3. **Edit** — Make targeted, minimal changes. Keep edit batches small (5 or fewer edits before verifying).\n4. **Verify** — After each batch of edits, run the build or tests (e.g. \\`npm run build\\`, \\`tsc --noEmit\\`, \\`pytest\\`). Read the output. Fix errors before making more edits.\n5. **Report** — Summarize what you changed and the verification results.\n\nCRITICAL RULES:\n- NEVER skip step 1. Do not edit files you haven't read in this session.\n- NEVER make more than 5-8 edits without running a verification step.\n- If a build or test fails, read the error output carefully before attempting a fix. Do not guess.\n- If the same fix approach fails twice, STOP. Re-read the relevant code and try a fundamentally different approach.\n- If you are stuck after 3 failed attempts, explain what you've tried and ask the user for guidance.`);\n\n // ── Actions with care ──\n sections.push(`# Executing actions with care\nConsider the reversibility and blast radius of your actions:\n- Freely take local, reversible actions like editing files or running tests.\n- For hard-to-reverse or shared-state actions (deleting files, force-pushing, modifying CI, sending messages), check with the user first.\n- Do not use destructive actions as shortcuts. Identify root causes rather than bypassing safety checks.\n- If you encounter unexpected state (unfamiliar files, branches, config), investigate before overwriting — it may be the user's in-progress work.`);\n\n // ── Tool use ──\n let toolSection = `# Using tools\n- Use the RIGHT tool for the job. Do NOT use run_command when a dedicated tool exists:\n - read_file to read files (not \\`cat\\` or \\`head\\`)\n - edit_file or multi_edit to edit files (not \\`sed\\` or \\`awk\\`)\n - write_file to create files (not \\`echo >\\` or heredocs)\n - glob to find files by pattern (not \\`find\\` or \\`ls\\`)\n - grep to search content (not \\`grep\\` or \\`rg\\` via run_command)\n - run_command ONLY for shell operations: build, test, git, install, etc.\n- Call multiple INDEPENDENT tools in a single response for parallel execution. Do not chain when results are independent.\n- Only chain across turns when a result is needed for the next call.\n- If a tool fails, read the error. If it fails 3 times, try a different tool or approach entirely.\n- All file paths in tool calls should be relative to the working directory when possible (e.g. \"src/foo.ts\" not \"/Users/name/project/src/foo.ts\").\n- When the user drops a file path, read it with read_file before responding.\n- For large files (>200 lines): split across multiple write_file calls. Write the first ~200 lines, then use edit_file to append the rest in chunks. NEVER try to write an entire large file in a single tool call — it will be truncated.\n\n## Subagents (task tool) — DELEGATE AGGRESSIVELY\n- Your input tokens are expensive. Delegate ALL multi-step research to subagents instead of using tools directly.\n- ALWAYS delegate: grep/glob searches, reading multiple files, codebase exploration, test runs, linting.\n- Only use tools directly when: (1) a single read_file answers the question, or (2) you need the result in THIS turn for a decision.\n- Launch multiple subagents in parallel for independent work — this is faster AND cheaper than serial tool calls.\n- Use task with run_in_background:true for long-running tasks; check with task_output, stop with task_stop.\n- Prefer \"explore\" type for quick codebase searches (2-4 turns). Prefer \"general-purpose\" for autonomous multi-step tasks.\n- Cost-aware model routing (delegate to cheapest model that can handle the task):\n - model:\"haiku\" — file searches, schema lookups, simple reads, pattern matching ($1/$5 per 1M tokens). DEFAULT for most delegation.\n - model:\"sonnet\" — code analysis, multi-step research, plan design, code writing ($3/$15 per 1M tokens)\n - model:\"opus\" — never delegate to opus subagents (you are opus, defeats the purpose)\n\n## Teams (team_create / team_auto)\n- Do NOT use teams for bug fixes or single-file changes — work directly. Teams are for large features with 3+ independent workstreams.\n- **team_auto**: Give it a single task string — it auto-decomposes into parallel sub-tasks and spawns them. Returns immediately with a task_id.\n- **team_create**: Explicit control over task breakdown, file assignments, and models. Returns immediately with a task_id.\n- Teams run in the background like any other background task. Use **task_output** to check progress, **task_stop** to kill the team or individual teammates (task_id=\"team-xxx/teammate-yyy\").\n- When creating teams, assign per-task models based on complexity. Most tasks should use haiku or sonnet.`;\n\n if (hasServerTools) {\n const storeCtx = storeConfig.store_name ? ` All operations are scoped to the active store: **${storeConfig.store_name}**.` : \"\";\n toolSection += `\n\n## Server tools (business operations)\n- Server tools (analytics, products, inventory, customers, orders, email, workflows, etc.) operate on the active store's data.${storeCtx}\n- These tools require UUIDs for mutations. ALWAYS look up IDs first: use find/list actions to resolve names to UUIDs before calling create/update/delete.\n- The store_id is automatically included in every server tool call — you do NOT need to pass it manually.\n- Use analytics for sales, revenue, and performance data. Use inventory for stock levels. Use products for the catalog.\n- Use audit_trail for store activity history (inventory changes, orders, transfers).\n- Use telemetry for AI system metrics (conversations, tool performance, errors).\n- **Inventory workflow**: (1) Find product with products tool (action=find), (2) Look up location with inventory tool (action=summary or by_location) to get location_id, (3) Use inventory tool with adjust/set and the resolved UUIDs. Always provide a reason for adjustments.\n- **Purchase Order workflow**: (1) Find supplier with supply_chain (action=find_suppliers), (2) Find products with products (action=find), (3) supply_chain action=po_create with supplier_id, location_id, items array, (4) supply_chain action=po_approve, (5) supply_chain action=po_receive to add inventory.\n- **Transfer workflow**: supply_chain action=transfer_create with from_location_id, to_location_id, items → supply_chain action=transfer_receive.\n- The inventory tool has a quick one-step transfer (action=transfer) for simple moves. Use supply_chain transfers for formal tracked transfers with approval flow.\n- Media tools (voice, image_gen, video_gen) auto-download generated files to the current working directory. The result contains a local_file path — report that path to the user. NEVER construct, guess, or curl URLs yourself.\n- **Music generation workflow** (use this for ALL song requests):\n 1. For best vocal clarity, call music_plan first to get a structured composition_plan with proper sections, lyrics per line, and timing\n 2. Review/tweak the plan (edit lyrics, adjust section durations, add style cues)\n 3. Pass the composition_plan to music_compose to generate the final song\n 4. music_compose auto-injects vocal clarity styles (clear vocals, crisp pronunciation) and uses 192kbps quality\n - For quick/simple songs, music_compose with a prompt still works but may have less clear vocals\n - For complex songs with multiple sections, use music_compose_detailed — supports section-by-section control with with_timestamps for precise timing\n - Set force_instrumental:false (default) for vocals. NEVER use speak (TTS) for song vocals — TTS speaks, it doesn't sing\n - Only set force_instrumental:true when the user explicitly wants a karaoke/backing track\n - For clear lyrics: use [Verse], [Chorus], [Bridge] markers, include BPM and key (e.g. \"120 BPM, key of C major\")\n - For vocal style: add descriptors like \"clear female vocals\", \"male rapper\", \"a cappella chorus\"\n - Exclude bad qualities: composition_plan supports negative_global_styles like \"distorted vocals\", \"mumbled lyrics\"\n- **Batch TTS**: For generating multiple audio clips at once (up to 10), use voice tool with action=batch and items=[{text, voice_name?, voice_id?}, ...]. More efficient than sequential speak calls.\n- **Voice cloning** (two tiers):\n - **Instant (IVC)**: action=clone_voice — quick, ~70% accuracy. Good for casual use. Pass file_paths=[...], CLI reads files automatically.\n - **Professional (PVC)**: Near-perfect accuracy, multi-step workflow:\n 1. pvc_create(voice_name=\"Name\") — creates PVC voice slot\n 2. pvc_upload(voice_id=..., file_paths=[...]) — upload 30+ min audio for best results\n 3. pvc_separate_speakers(voice_id=..., sample_id=...) — if audio has multiple speakers\n 4. pvc_status(voice_id=..., sample_id=...) — check separation progress\n 5. pvc_select_speaker(voice_id=..., sample_id=..., speaker_ids=[...]) — pick the right speaker\n 6. pvc_verify(voice_id=...) — submit for manual verification (required by ElevenLabs)\n 7. pvc_train(voice_id=...) — start training (5-30 min). Check with pvc_status(voice_id=...).\n - Use IVC for quick tests, PVC for production-quality voice clones.\n - file_path (single) or file_paths (array) works for clone_voice, pvc_upload, pvc_verify, voice_design, speech_to_text, voice_changer, audio_isolation, stem_separation, forced_alignment — pass file paths directly, NEVER base64-encode via bash.\n - If given a directory of clips, use glob to find all MP3s, then pass all paths at once.\n- **Voice settings**: Cloned voices auto-use optimized settings (higher similarity, lower stability). Override with explicit stability/similarity_boost params if needed.\n- **Voice tool**: Accepts voice names (e.g. \"Daniel\", \"Sarah\") — no need to look up voice IDs. Use search_voices to find voices by style/accent/gender.`;\n }\n sections.push(toolSection);\n\n // ── Local CLI utilities (auto-detected) ──\n if (process.platform === \"darwin\") {\n const localTools: string[] = [];\n try {\n const imsgPath = execFileSync(\"which\", [\"imsg\"], { encoding: \"utf-8\", timeout: 2000 }).trim();\n if (imsgPath) {\n localTools.push(`- **iMessage**: Use \\`imsg send --to <email_or_phone> --text \"<message>\"\\` to send iMessages. Do NOT use osascript or AppleScript — it lacks automation permissions. The \\`imsg\\` binary handles Messages.app integration natively.\n - Query chats: \\`imsg chats --limit 20 --json\\`\n - List messages: \\`imsg list --limit 20 --json\\`\n - Send to address: \\`imsg send --to \"+14155551234\" --text \"Hello\"\\`\n - Send to chat: \\`imsg send --chat-id 42 --text \"Hello\"\\``);\n }\n } catch { /* imsg not installed */ }\n if (localTools.length > 0) {\n sections.push(`# Local CLI utilities (macOS)\\n${localTools.join(\"\\n\")}`);\n }\n }\n\n // ── Permission mode ──\n const permissionMode = getPermissionMode();\n if (permissionMode === \"plan\") {\n sections.push(`# Mode: Plan (read-only)\nYou are in plan mode. Only read and search tools are available. No file writes or commands.`);\n } else if (permissionMode === \"yolo\") {\n sections.push(`# Mode: Yolo\nAll tools available without confirmation prompts.`);\n }\n\n // ── Effort ──\n if (effort === \"low\") {\n sections.push(`# Effort: Low\nBe concise and direct. Minimize exploration. Give brief answers. Skip verification for trivial changes.`);\n } else if (effort === \"high\") {\n sections.push(`# Effort: High\nBe thorough and exhaustive. Explore deeply. Verify all changes. Consider edge cases.`);\n }\n\n // ── Tone and style ──\n sections.push(`# Tone and style\n- Be concise. Use tools to do work — don't just explain what you would do.\n- NEVER use emojis — terminal renders them as broken glyphs.\n- Include $ on monetary values, % on percentages.\n- When referencing code, include file_path:line_number for easy navigation.\n- Keep output clean and monospace-aligned.\n- Use markdown tables for multi-column data.\n- Use \\`\\`\\`chart code blocks for bar charts:\n\\`\\`\\`chart\nTitle\nLabel: $value\n\\`\\`\\``);\n\n // ── Persistent memory ──\n const memory = loadMemory();\n if (memory) {\n sections.push(`# Memory (persistent across sessions)\\n${memory}`);\n }\n\n // ── Project instructions ──\n const claudeMd = loadClaudeMd();\n if (claudeMd) {\n sections.push(`# Project Instructions (${claudeMd.path})\\n${claudeMd.content}`);\n }\n\n return sections.join(\"\\n\\n\");\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@
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
10
  export interface SubTask {
@@ -20,7 +21,6 @@ export interface DecompositionResult {
20
21
  export declare function decomposeTask(task: string, opts?: {
21
22
  maxCells?: number;
22
23
  context?: string;
23
- apiKey?: string;
24
24
  model?: string;
25
25
  workingDirectory?: string;
26
26
  }): Promise<DecompositionResult>;