whale-code 6.5.5 → 6.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (847) hide show
  1. package/README.md +39 -31
  2. package/bin/{swagmanager-mcp.js → whale-code.js} +17 -2
  3. package/dist/cli/app.js +148 -72
  4. package/dist/cli/app.js.map +1 -0
  5. package/dist/cli/chat/AgentSelector.js +105 -10
  6. package/dist/cli/chat/AgentSelector.js.map +1 -0
  7. package/dist/cli/chat/ChatApp.d.ts +31 -0
  8. package/dist/cli/chat/ChatApp.js +539 -286
  9. package/dist/cli/chat/ChatApp.js.map +1 -0
  10. package/dist/cli/chat/ChatInput.js +1088 -770
  11. package/dist/cli/chat/ChatInput.js.map +1 -0
  12. package/dist/cli/chat/MarkdownText.js +39 -14
  13. package/dist/cli/chat/MarkdownText.js.map +1 -0
  14. package/dist/cli/chat/MemoryManager.js +181 -46
  15. package/dist/cli/chat/MemoryManager.js.map +1 -0
  16. package/dist/cli/chat/MessageList.d.ts +2 -3
  17. package/dist/cli/chat/MessageList.js +186 -45
  18. package/dist/cli/chat/MessageList.js.map +1 -0
  19. package/dist/cli/chat/ModelSelector.js +282 -63
  20. package/dist/cli/chat/ModelSelector.js.map +1 -0
  21. package/dist/cli/chat/NodeManager.js +165 -75
  22. package/dist/cli/chat/NodeManager.js.map +1 -0
  23. package/dist/cli/chat/NodeSelector.js +171 -30
  24. package/dist/cli/chat/NodeSelector.js.map +1 -0
  25. package/dist/cli/chat/PlanApproval.js +281 -57
  26. package/dist/cli/chat/PlanApproval.js.map +1 -0
  27. package/dist/cli/chat/RewindViewer.js +559 -144
  28. package/dist/cli/chat/RewindViewer.js.map +1 -0
  29. package/dist/cli/chat/SessionManager.js +137 -30
  30. package/dist/cli/chat/SessionManager.js.map +1 -0
  31. package/dist/cli/chat/SlashMenu.js +293 -164
  32. package/dist/cli/chat/SlashMenu.js.map +1 -0
  33. package/dist/cli/chat/StatusBar.js +172 -9
  34. package/dist/cli/chat/StatusBar.js.map +1 -0
  35. package/dist/cli/chat/StoreSelector.js +147 -18
  36. package/dist/cli/chat/StoreSelector.js.map +1 -0
  37. package/dist/cli/chat/StreamingText.d.ts +1 -5
  38. package/dist/cli/chat/StreamingText.js +22 -7
  39. package/dist/cli/chat/StreamingText.js.map +1 -0
  40. package/dist/cli/chat/SubagentPanel.d.ts +1 -2
  41. package/dist/cli/chat/SubagentPanel.js +612 -72
  42. package/dist/cli/chat/SubagentPanel.js.map +1 -0
  43. package/dist/cli/chat/TeamPanel.d.ts +1 -0
  44. package/dist/cli/chat/TeamPanel.js +230 -30
  45. package/dist/cli/chat/TeamPanel.js.map +1 -0
  46. package/dist/cli/chat/ThemeSelector.js +84 -24
  47. package/dist/cli/chat/ThemeSelector.js.map +1 -0
  48. package/dist/cli/chat/ToolIndicator.js +1476 -371
  49. package/dist/cli/chat/ToolIndicator.js.map +1 -0
  50. package/dist/cli/chat/hooks/useAgentLoop.d.ts +1 -0
  51. package/dist/cli/chat/hooks/useAgentLoop.js +481 -367
  52. package/dist/cli/chat/hooks/useAgentLoop.js.map +1 -0
  53. package/dist/cli/chat/hooks/useSlashCommands.d.ts +3 -14
  54. package/dist/cli/chat/hooks/useSlashCommands.js +744 -572
  55. package/dist/cli/chat/hooks/useSlashCommands.js.map +1 -0
  56. package/dist/cli/commands/config-cmd.js +56 -57
  57. package/dist/cli/commands/config-cmd.js.map +1 -0
  58. package/dist/cli/commands/db.js +184 -169
  59. package/dist/cli/commands/db.js.map +1 -0
  60. package/dist/cli/commands/doctor.js +212 -122
  61. package/dist/cli/commands/doctor.js.map +1 -0
  62. package/dist/cli/commands/init.js +211 -244
  63. package/dist/cli/commands/init.js.map +1 -0
  64. package/dist/cli/commands/mcp.js +127 -122
  65. package/dist/cli/commands/mcp.js.map +1 -0
  66. package/dist/cli/login/LoginApp.js +355 -141
  67. package/dist/cli/login/LoginApp.js.map +1 -0
  68. package/dist/cli/print-mode.js +196 -177
  69. package/dist/cli/print-mode.js.map +1 -0
  70. package/dist/cli/serve-mode.js +615 -530
  71. package/dist/cli/serve-mode.js.map +1 -0
  72. package/dist/cli/services/agent-config.d.ts +5 -1
  73. package/dist/cli/services/agent-config.js +66 -36
  74. package/dist/cli/services/agent-config.js.map +1 -0
  75. package/dist/cli/services/agent-definitions.d.ts +4 -1
  76. package/dist/cli/services/agent-definitions.js +97 -56
  77. package/dist/cli/services/agent-definitions.js.map +1 -0
  78. package/dist/cli/services/agent-events.js +225 -162
  79. package/dist/cli/services/agent-events.js.map +1 -0
  80. package/dist/cli/services/agent-loop.js +976 -688
  81. package/dist/cli/services/agent-loop.js.map +1 -0
  82. package/dist/cli/services/agent-worker-base.d.ts +35 -5
  83. package/dist/cli/services/agent-worker-base.js +337 -153
  84. package/dist/cli/services/agent-worker-base.js.map +1 -0
  85. package/dist/cli/services/api-retry.js +69 -64
  86. package/dist/cli/services/api-retry.js.map +1 -0
  87. package/dist/cli/services/auth-service.d.ts +3 -3
  88. package/dist/cli/services/auth-service.js +209 -132
  89. package/dist/cli/services/auth-service.js.map +1 -0
  90. package/dist/cli/services/background-processes.js +343 -267
  91. package/dist/cli/services/background-processes.js.map +1 -0
  92. package/dist/cli/services/browser-auth.d.ts +2 -2
  93. package/dist/cli/services/browser-auth.js +159 -118
  94. package/dist/cli/services/browser-auth.js.map +1 -0
  95. package/dist/cli/services/claude-md-loader.js +40 -36
  96. package/dist/cli/services/claude-md-loader.js.map +1 -0
  97. package/dist/cli/services/config-store.d.ts +9 -4
  98. package/dist/cli/services/config-store.js +164 -117
  99. package/dist/cli/services/config-store.js.map +1 -0
  100. package/dist/cli/services/debug-log.d.ts +1 -1
  101. package/dist/cli/services/debug-log.js +34 -35
  102. package/dist/cli/services/debug-log.js.map +1 -0
  103. package/dist/cli/services/env-detect.d.ts +7 -0
  104. package/dist/cli/services/env-detect.js +9 -0
  105. package/dist/cli/services/env-detect.js.map +1 -0
  106. package/dist/cli/services/error-logger.js +187 -169
  107. package/dist/cli/services/error-logger.js.map +1 -0
  108. package/dist/cli/services/file-history.d.ts +1 -1
  109. package/dist/cli/services/file-history.js +50 -54
  110. package/dist/cli/services/file-history.js.map +1 -0
  111. package/dist/cli/services/format-server-response.js +332 -372
  112. package/dist/cli/services/format-server-response.js.map +1 -0
  113. package/dist/cli/services/git-context.js +61 -45
  114. package/dist/cli/services/git-context.js.map +1 -0
  115. package/dist/cli/services/hooks.d.ts +2 -2
  116. package/dist/cli/services/hooks.js +195 -180
  117. package/dist/cli/services/hooks.js.map +1 -0
  118. package/dist/cli/services/ink-incremental.d.ts +19 -0
  119. package/dist/cli/services/ink-incremental.js +59 -0
  120. package/dist/cli/services/ink-incremental.js.map +1 -0
  121. package/dist/cli/services/ink-resize-fix.js +54 -44
  122. package/dist/cli/services/ink-resize-fix.js.map +1 -0
  123. package/dist/cli/services/ink-sync-output.d.ts +12 -0
  124. package/dist/cli/services/ink-sync-output.js +16 -0
  125. package/dist/cli/services/ink-sync-output.js.map +1 -0
  126. package/dist/cli/services/interactive-tools.js +268 -212
  127. package/dist/cli/services/interactive-tools.js.map +1 -0
  128. package/dist/cli/services/keybinding-manager.d.ts +11 -1
  129. package/dist/cli/services/keybinding-manager.js +126 -63
  130. package/dist/cli/services/keybinding-manager.js.map +1 -0
  131. package/dist/cli/services/local-tools.d.ts +1 -1
  132. package/dist/cli/services/local-tools.js +939 -656
  133. package/dist/cli/services/local-tools.js.map +1 -0
  134. package/dist/cli/services/lsp-manager.js +757 -594
  135. package/dist/cli/services/lsp-manager.js.map +1 -0
  136. package/dist/cli/services/mcp-client.d.ts +1 -1
  137. package/dist/cli/services/mcp-client.js +173 -134
  138. package/dist/cli/services/mcp-client.js.map +1 -0
  139. package/dist/cli/services/memory-manager.js +53 -40
  140. package/dist/cli/services/memory-manager.js.map +1 -0
  141. package/dist/cli/services/model-manager.js +55 -40
  142. package/dist/cli/services/model-manager.js.map +1 -0
  143. package/dist/cli/services/model-router.js +115 -85
  144. package/dist/cli/services/model-router.js.map +1 -0
  145. package/dist/cli/services/paths.d.ts +30 -0
  146. package/dist/cli/services/paths.js +81 -0
  147. package/dist/cli/services/paths.js.map +1 -0
  148. package/dist/cli/services/permission-modes.js +32 -25
  149. package/dist/cli/services/permission-modes.js.map +1 -0
  150. package/dist/cli/services/rewind.js +182 -168
  151. package/dist/cli/services/rewind.js.map +1 -0
  152. package/dist/cli/services/ripgrep.js +115 -115
  153. package/dist/cli/services/ripgrep.js.map +1 -0
  154. package/dist/cli/services/sandbox.d.ts +1 -1
  155. package/dist/cli/services/sandbox.js +58 -37
  156. package/dist/cli/services/sandbox.js.map +1 -0
  157. package/dist/cli/services/server-tools.js +738 -565
  158. package/dist/cli/services/server-tools.js.map +1 -0
  159. package/dist/cli/services/session-persistence.js +69 -74
  160. package/dist/cli/services/session-persistence.js.map +1 -0
  161. package/dist/cli/services/subagent-worker.js +42 -27
  162. package/dist/cli/services/subagent-worker.js.map +1 -0
  163. package/dist/cli/services/subagent.d.ts +2 -0
  164. package/dist/cli/services/subagent.js +605 -433
  165. package/dist/cli/services/subagent.js.map +1 -0
  166. package/dist/cli/services/system-prompt.js +86 -78
  167. package/dist/cli/services/system-prompt.js.map +1 -0
  168. package/dist/cli/services/task-decomposer.d.ts +1 -1
  169. package/dist/cli/services/task-decomposer.js +172 -139
  170. package/dist/cli/services/task-decomposer.js.map +1 -0
  171. package/dist/cli/services/team-lead.d.ts +2 -2
  172. package/dist/cli/services/team-lead.js +727 -529
  173. package/dist/cli/services/team-lead.js.map +1 -0
  174. package/dist/cli/services/team-state.js +319 -319
  175. package/dist/cli/services/team-state.js.map +1 -0
  176. package/dist/cli/services/teammate.d.ts +8 -2
  177. package/dist/cli/services/teammate.js +857 -569
  178. package/dist/cli/services/teammate.js.map +1 -0
  179. package/dist/cli/services/telemetry.d.ts +6 -1
  180. package/dist/cli/services/telemetry.js +180 -157
  181. package/dist/cli/services/telemetry.js.map +1 -0
  182. package/dist/cli/services/tools/agent-tools.d.ts +3 -3
  183. package/dist/cli/services/tools/agent-tools.js +480 -322
  184. package/dist/cli/services/tools/agent-tools.js.map +1 -0
  185. package/dist/cli/services/tools/file-ops.js +563 -450
  186. package/dist/cli/services/tools/file-ops.js.map +1 -0
  187. package/dist/cli/services/tools/search-tools.js +231 -162
  188. package/dist/cli/services/tools/search-tools.js.map +1 -0
  189. package/dist/cli/services/tools/shell-exec.js +197 -151
  190. package/dist/cli/services/tools/shell-exec.js.map +1 -0
  191. package/dist/cli/services/tools/task-manager.js +206 -173
  192. package/dist/cli/services/tools/task-manager.js.map +1 -0
  193. package/dist/cli/services/tools/web-tools.js +388 -341
  194. package/dist/cli/services/tools/web-tools.js.map +1 -0
  195. package/dist/cli/setup/SetupApp.d.ts +2 -2
  196. package/dist/cli/setup/SetupApp.js +608 -160
  197. package/dist/cli/setup/SetupApp.js.map +1 -0
  198. package/dist/cli/shared/ErrorBoundary.d.ts +22 -0
  199. package/dist/cli/shared/ErrorBoundary.js +73 -0
  200. package/dist/cli/shared/ErrorBoundary.js.map +1 -0
  201. package/dist/cli/shared/MatrixIntro.js +66 -69
  202. package/dist/cli/shared/MatrixIntro.js.map +1 -0
  203. package/dist/cli/shared/SpinnerSlot.d.ts +14 -0
  204. package/dist/cli/shared/SpinnerSlot.js +63 -0
  205. package/dist/cli/shared/SpinnerSlot.js.map +1 -0
  206. package/dist/cli/shared/Theme.d.ts +1 -1
  207. package/dist/cli/shared/Theme.js +136 -92
  208. package/dist/cli/shared/Theme.js.map +1 -0
  209. package/dist/cli/shared/WhaleBanner.js +99 -11
  210. package/dist/cli/shared/WhaleBanner.js.map +1 -0
  211. package/dist/cli/shared/markdown.d.ts +3 -1
  212. package/dist/cli/shared/markdown.js +736 -674
  213. package/dist/cli/shared/markdown.js.map +1 -0
  214. package/dist/cli/shared/marked-terminal.d.js +2 -0
  215. package/dist/cli/shared/marked-terminal.d.js.map +1 -0
  216. package/dist/cli/shared/theme-manager.js +99 -90
  217. package/dist/cli/shared/theme-manager.js.map +1 -0
  218. package/dist/cli/shared/theme-presets.js +256 -254
  219. package/dist/cli/shared/theme-presets.js.map +1 -0
  220. package/dist/cli/status/StatusApp.js +235 -86
  221. package/dist/cli/status/StatusApp.js.map +1 -0
  222. package/dist/cli/stores/StoreApp.js +275 -65
  223. package/dist/cli/stores/StoreApp.js.map +1 -0
  224. package/dist/index.d.ts +2 -2
  225. package/dist/index.js +509 -396
  226. package/dist/index.js.map +1 -0
  227. package/dist/local-agent/connection.d.ts +2 -2
  228. package/dist/local-agent/connection.js +352 -293
  229. package/dist/local-agent/connection.js.map +1 -0
  230. package/dist/local-agent/discovery.js +259 -122
  231. package/dist/local-agent/discovery.js.map +1 -0
  232. package/dist/local-agent/executor.js +216 -193
  233. package/dist/local-agent/executor.js.map +1 -0
  234. package/dist/local-agent/index.d.ts +2 -2
  235. package/dist/local-agent/index.js +156 -156
  236. package/dist/local-agent/index.js.map +1 -0
  237. package/dist/node/adapters/base.js +18 -8
  238. package/dist/node/adapters/base.js.map +1 -0
  239. package/dist/node/adapters/discord.js +286 -275
  240. package/dist/node/adapters/discord.js.map +1 -0
  241. package/dist/node/adapters/email.js +189 -202
  242. package/dist/node/adapters/email.js.map +1 -0
  243. package/dist/node/adapters/imessage.js +145 -142
  244. package/dist/node/adapters/imessage.js.map +1 -0
  245. package/dist/node/adapters/slack.js +237 -236
  246. package/dist/node/adapters/slack.js.map +1 -0
  247. package/dist/node/adapters/sms.js +149 -151
  248. package/dist/node/adapters/sms.js.map +1 -0
  249. package/dist/node/adapters/telegram.js +88 -92
  250. package/dist/node/adapters/telegram.js.map +1 -0
  251. package/dist/node/adapters/webchat.js +160 -136
  252. package/dist/node/adapters/webchat.js.map +1 -0
  253. package/dist/node/adapters/whatsapp.js +212 -215
  254. package/dist/node/adapters/whatsapp.js.map +1 -0
  255. package/dist/node/cli.js +884 -653
  256. package/dist/node/cli.js.map +1 -0
  257. package/dist/node/config.js +20 -18
  258. package/dist/node/config.js.map +1 -0
  259. package/dist/node/gateway-client.js +191 -181
  260. package/dist/node/gateway-client.js.map +1 -0
  261. package/dist/node/portal/clipboard.js +161 -130
  262. package/dist/node/portal/clipboard.js.map +1 -0
  263. package/dist/node/portal/discovery.js +51 -45
  264. package/dist/node/portal/discovery.js.map +1 -0
  265. package/dist/node/portal/forward.js +64 -58
  266. package/dist/node/portal/forward.js.map +1 -0
  267. package/dist/node/portal/index.js +246 -221
  268. package/dist/node/portal/index.js.map +1 -0
  269. package/dist/node/portal/multiplexer.js +192 -182
  270. package/dist/node/portal/multiplexer.js.map +1 -0
  271. package/dist/node/portal/permissions.js +102 -70
  272. package/dist/node/portal/permissions.js.map +1 -0
  273. package/dist/node/portal/protocol.js +153 -116
  274. package/dist/node/portal/protocol.js.map +1 -0
  275. package/dist/node/portal/screen.js +80 -69
  276. package/dist/node/portal/screen.js.map +1 -0
  277. package/dist/node/portal/session.js +124 -117
  278. package/dist/node/portal/session.js.map +1 -0
  279. package/dist/node/portal/shell.js +140 -113
  280. package/dist/node/portal/shell.js.map +1 -0
  281. package/dist/node/portal/stream.js +77 -75
  282. package/dist/node/portal/stream.js.map +1 -0
  283. package/dist/node/portal/transfer.js +190 -167
  284. package/dist/node/portal/transfer.js.map +1 -0
  285. package/dist/node/portal/ui.js +124 -99
  286. package/dist/node/portal/ui.js.map +1 -0
  287. package/dist/node/remote-desktop/compile-helper.js +50 -45
  288. package/dist/node/remote-desktop/compile-helper.js.map +1 -0
  289. package/dist/node/remote-desktop/index.js +215 -187
  290. package/dist/node/remote-desktop/index.js.map +1 -0
  291. package/dist/node/remote-desktop/protocol.js +45 -29
  292. package/dist/node/remote-desktop/protocol.js.map +1 -0
  293. package/dist/node/runtime.js +493 -410
  294. package/dist/node/runtime.js.map +1 -0
  295. package/dist/server/handlers/__test-utils__/test-db.js +39 -89
  296. package/dist/server/handlers/__test-utils__/test-db.js.map +1 -0
  297. package/dist/server/handlers/analytics.js +467 -261
  298. package/dist/server/handlers/analytics.js.map +1 -0
  299. package/dist/server/handlers/api-docs.js +1030 -895
  300. package/dist/server/handlers/api-docs.js.map +1 -0
  301. package/dist/server/handlers/api-keys.js +291 -242
  302. package/dist/server/handlers/api-keys.js.map +1 -0
  303. package/dist/server/handlers/billing.js +330 -239
  304. package/dist/server/handlers/billing.js.map +1 -0
  305. package/dist/server/handlers/browser.js +468 -395
  306. package/dist/server/handlers/browser.js.map +1 -0
  307. package/dist/server/handlers/catalog.js +1377 -978
  308. package/dist/server/handlers/catalog.js.map +1 -0
  309. package/dist/server/handlers/clickhouse.js +157 -109
  310. package/dist/server/handlers/clickhouse.js.map +1 -0
  311. package/dist/server/handlers/comms.js +1439 -984
  312. package/dist/server/handlers/comms.js.map +1 -0
  313. package/dist/server/handlers/creations.js +461 -394
  314. package/dist/server/handlers/creations.js.map +1 -0
  315. package/dist/server/handlers/crm.js +1082 -791
  316. package/dist/server/handlers/crm.js.map +1 -0
  317. package/dist/server/handlers/discovery.js +251 -232
  318. package/dist/server/handlers/discovery.js.map +1 -0
  319. package/dist/server/handlers/embeddings.js +241 -164
  320. package/dist/server/handlers/embeddings.js.map +1 -0
  321. package/dist/server/handlers/enrichment.js +887 -718
  322. package/dist/server/handlers/enrichment.js.map +1 -0
  323. package/dist/server/handlers/image-gen.js +467 -376
  324. package/dist/server/handlers/image-gen.js.map +1 -0
  325. package/dist/server/handlers/inventory.js +797 -424
  326. package/dist/server/handlers/inventory.js.map +1 -0
  327. package/dist/server/handlers/kali.js +272 -230
  328. package/dist/server/handlers/kali.js.map +1 -0
  329. package/dist/server/handlers/llm-providers.js +803 -580
  330. package/dist/server/handlers/llm-providers.js.map +1 -0
  331. package/dist/server/handlers/local-agent.js +133 -105
  332. package/dist/server/handlers/local-agent.js.map +1 -0
  333. package/dist/server/handlers/media.js +1179 -857
  334. package/dist/server/handlers/media.js.map +1 -0
  335. package/dist/server/handlers/meta-ads.js +2669 -2093
  336. package/dist/server/handlers/meta-ads.js.map +1 -0
  337. package/dist/server/handlers/nodes.js +1321 -913
  338. package/dist/server/handlers/nodes.js.map +1 -0
  339. package/dist/server/handlers/operations.js +183 -157
  340. package/dist/server/handlers/operations.js.map +1 -0
  341. package/dist/server/handlers/platform.js +346 -210
  342. package/dist/server/handlers/platform.js.map +1 -0
  343. package/dist/server/handlers/remove-bg.js +118 -86
  344. package/dist/server/handlers/remove-bg.js.map +1 -0
  345. package/dist/server/handlers/storefront.js +586 -446
  346. package/dist/server/handlers/storefront.js.map +1 -0
  347. package/dist/server/handlers/supply-chain.js +546 -326
  348. package/dist/server/handlers/supply-chain.js.map +1 -0
  349. package/dist/server/handlers/transcription.js +106 -97
  350. package/dist/server/handlers/transcription.js.map +1 -0
  351. package/dist/server/handlers/video-gen.js +593 -424
  352. package/dist/server/handlers/video-gen.js.map +1 -0
  353. package/dist/server/handlers/voice.js +1458 -1039
  354. package/dist/server/handlers/voice.js.map +1 -0
  355. package/dist/server/handlers/workflow-steps.js +2837 -2116
  356. package/dist/server/handlers/workflow-steps.js.map +1 -0
  357. package/dist/server/handlers/workflows.js +1630 -933
  358. package/dist/server/handlers/workflows.js.map +1 -0
  359. package/dist/server/index.js +3167 -2422
  360. package/dist/server/index.js.map +1 -0
  361. package/dist/server/lib/batch-client.js +471 -409
  362. package/dist/server/lib/batch-client.js.map +1 -0
  363. package/dist/server/lib/clickhouse-buffer.js +118 -104
  364. package/dist/server/lib/clickhouse-buffer.js.map +1 -0
  365. package/dist/server/lib/clickhouse-client.js +107 -107
  366. package/dist/server/lib/clickhouse-client.js.map +1 -0
  367. package/dist/server/lib/coa-renderer.js +1786 -356
  368. package/dist/server/lib/coa-renderer.js.map +1 -0
  369. package/dist/server/lib/code-worker-pool.js +227 -177
  370. package/dist/server/lib/code-worker-pool.js.map +1 -0
  371. package/dist/server/lib/code-worker.js +174 -164
  372. package/dist/server/lib/code-worker.js.map +1 -0
  373. package/dist/server/lib/compaction-service.d.ts +2 -12
  374. package/dist/server/lib/compaction-service.js +74 -184
  375. package/dist/server/lib/compaction-service.js.map +1 -0
  376. package/dist/server/lib/logger.js +36 -24
  377. package/dist/server/lib/logger.js.map +1 -0
  378. package/dist/server/lib/otel.js +101 -80
  379. package/dist/server/lib/otel.js.map +1 -0
  380. package/dist/server/lib/pdf-renderer.js +952 -788
  381. package/dist/server/lib/pdf-renderer.js.map +1 -0
  382. package/dist/server/lib/prompt-sanitizer.js +188 -108
  383. package/dist/server/lib/prompt-sanitizer.js.map +1 -0
  384. package/dist/server/lib/provider-capabilities.js +136 -138
  385. package/dist/server/lib/provider-capabilities.js.map +1 -0
  386. package/dist/server/lib/provider-failover.js +190 -168
  387. package/dist/server/lib/provider-failover.js.map +1 -0
  388. package/dist/server/lib/rate-limiter.js +186 -117
  389. package/dist/server/lib/rate-limiter.js.map +1 -0
  390. package/dist/server/lib/react-pdf-layout.js +551 -382
  391. package/dist/server/lib/react-pdf-layout.js.map +1 -0
  392. package/dist/server/lib/server-agent-loop.d.ts +4 -1
  393. package/dist/server/lib/server-agent-loop.js +906 -634
  394. package/dist/server/lib/server-agent-loop.js.map +1 -0
  395. package/dist/server/lib/server-subagent.js +260 -164
  396. package/dist/server/lib/server-subagent.js.map +1 -0
  397. package/dist/server/lib/session-checkpoint.js +105 -96
  398. package/dist/server/lib/session-checkpoint.js.map +1 -0
  399. package/dist/server/lib/ssrf-guard.js +193 -184
  400. package/dist/server/lib/ssrf-guard.js.map +1 -0
  401. package/dist/server/lib/supabase-client.js +94 -82
  402. package/dist/server/lib/supabase-client.js.map +1 -0
  403. package/dist/server/lib/template-resolver.js +154 -176
  404. package/dist/server/lib/template-resolver.js.map +1 -0
  405. package/dist/server/lib/utils.js +242 -133
  406. package/dist/server/lib/utils.js.map +1 -0
  407. package/dist/server/local-agent-gateway.d.ts +2 -2
  408. package/dist/server/local-agent-gateway.js +785 -627
  409. package/dist/server/local-agent-gateway.js.map +1 -0
  410. package/dist/server/providers/anthropic.js +250 -172
  411. package/dist/server/providers/anthropic.js.map +1 -0
  412. package/dist/server/providers/bedrock.js +217 -158
  413. package/dist/server/providers/bedrock.js.map +1 -0
  414. package/dist/server/providers/gemini.js +548 -418
  415. package/dist/server/providers/gemini.js.map +1 -0
  416. package/dist/server/providers/openai.js +571 -437
  417. package/dist/server/providers/openai.js.map +1 -0
  418. package/dist/server/providers/registry.js +23 -18
  419. package/dist/server/providers/registry.js.map +1 -0
  420. package/dist/server/providers/shared.js +123 -95
  421. package/dist/server/providers/shared.js.map +1 -0
  422. package/dist/server/providers/types.js +1 -11
  423. package/dist/server/providers/types.js.map +1 -0
  424. package/dist/server/proxy-handlers.js +209 -165
  425. package/dist/server/proxy-handlers.js.map +1 -0
  426. package/dist/server/tool-router.js +959 -599
  427. package/dist/server/tool-router.js.map +1 -0
  428. package/dist/server/validation.js +248 -188
  429. package/dist/server/validation.js.map +1 -0
  430. package/dist/server/worker.js +202 -133
  431. package/dist/server/worker.js.map +1 -0
  432. package/dist/setup.d.ts +2 -2
  433. package/dist/setup.js +151 -147
  434. package/dist/setup.js.map +1 -0
  435. package/dist/shared/agent-core.d.ts +115 -26
  436. package/dist/shared/agent-core.js +956 -522
  437. package/dist/shared/agent-core.js.map +1 -0
  438. package/dist/shared/anthropic-types.js +1 -6
  439. package/dist/shared/anthropic-types.js.map +1 -0
  440. package/dist/shared/api-client.d.ts +16 -9
  441. package/dist/shared/api-client.js +419 -327
  442. package/dist/shared/api-client.js.map +1 -0
  443. package/dist/shared/compaction.d.ts +36 -0
  444. package/dist/shared/compaction.js +138 -0
  445. package/dist/shared/compaction.js.map +1 -0
  446. package/dist/shared/constants.js +67 -64
  447. package/dist/shared/constants.js.map +1 -0
  448. package/dist/shared/sse-parser.js +221 -219
  449. package/dist/shared/sse-parser.js.map +1 -0
  450. package/dist/shared/tool-dispatch.d.ts +4 -0
  451. package/dist/shared/tool-dispatch.js +226 -165
  452. package/dist/shared/tool-dispatch.js.map +1 -0
  453. package/dist/shared/types.js +1 -6
  454. package/dist/shared/types.js.map +1 -0
  455. package/dist/types/cli-highlight.d.js +2 -0
  456. package/dist/types/cli-highlight.d.js.map +1 -0
  457. package/dist/types/diff.d.js +2 -0
  458. package/dist/types/diff.d.js.map +1 -0
  459. package/dist/types/pdf-parse.d.js +2 -0
  460. package/dist/types/pdf-parse.d.js.map +1 -0
  461. package/dist/updater.d.ts +1 -1
  462. package/dist/updater.js +118 -92
  463. package/dist/updater.js.map +1 -0
  464. package/dist/webchat/widget.js +227 -380
  465. package/dist/webchat/widget.js.map +1 -0
  466. package/package.json +22 -10
  467. package/vendor/ink/build/ansi-tokenizer.d.ts +38 -0
  468. package/vendor/ink/build/ansi-tokenizer.js +316 -0
  469. package/vendor/ink/build/ansi-tokenizer.js.map +1 -0
  470. package/vendor/ink/build/apply-styles.js +175 -0
  471. package/vendor/ink/build/build-layout.js +77 -0
  472. package/vendor/ink/build/calculate-wrapped-text.js +53 -0
  473. package/vendor/ink/build/colorize.d.ts +3 -0
  474. package/vendor/ink/build/colorize.js +48 -0
  475. package/vendor/ink/build/colorize.js.map +1 -0
  476. package/vendor/ink/build/components/AccessibilityContext.d.ts +3 -0
  477. package/vendor/ink/build/components/AccessibilityContext.js +5 -0
  478. package/vendor/ink/build/components/AccessibilityContext.js.map +1 -0
  479. package/vendor/ink/build/components/App.d.ts +18 -0
  480. package/vendor/ink/build/components/App.js +351 -0
  481. package/vendor/ink/build/components/App.js.map +1 -0
  482. package/vendor/ink/build/components/AppContext.d.ts +15 -0
  483. package/vendor/ink/build/components/AppContext.js +11 -0
  484. package/vendor/ink/build/components/AppContext.js.map +1 -0
  485. package/vendor/ink/build/components/BackgroundContext.d.ts +4 -0
  486. package/vendor/ink/build/components/BackgroundContext.js +3 -0
  487. package/vendor/ink/build/components/BackgroundContext.js.map +1 -0
  488. package/vendor/ink/build/components/Box.d.ts +117 -0
  489. package/vendor/ink/build/components/Box.js +34 -0
  490. package/vendor/ink/build/components/Box.js.map +1 -0
  491. package/vendor/ink/build/components/Color.js +62 -0
  492. package/vendor/ink/build/components/Cursor.d.ts +83 -0
  493. package/vendor/ink/build/components/Cursor.js +53 -0
  494. package/vendor/ink/build/components/Cursor.js.map +1 -0
  495. package/vendor/ink/build/components/CursorContext.d.ts +11 -0
  496. package/vendor/ink/build/components/CursorContext.js +8 -0
  497. package/vendor/ink/build/components/CursorContext.js.map +1 -0
  498. package/vendor/ink/build/components/ErrorBoundary.d.ts +18 -0
  499. package/vendor/ink/build/components/ErrorBoundary.js +23 -0
  500. package/vendor/ink/build/components/ErrorBoundary.js.map +1 -0
  501. package/vendor/ink/build/components/ErrorOverview.d.ts +6 -0
  502. package/vendor/ink/build/components/ErrorOverview.js +84 -0
  503. package/vendor/ink/build/components/ErrorOverview.js.map +1 -0
  504. package/vendor/ink/build/components/FocusContext.d.ts +16 -0
  505. package/vendor/ink/build/components/FocusContext.js +17 -0
  506. package/vendor/ink/build/components/FocusContext.js.map +1 -0
  507. package/vendor/ink/build/components/Newline.d.ts +13 -0
  508. package/vendor/ink/build/components/Newline.js +8 -0
  509. package/vendor/ink/build/components/Newline.js.map +1 -0
  510. package/vendor/ink/build/components/Spacer.d.ts +7 -0
  511. package/vendor/ink/build/components/Spacer.js +11 -0
  512. package/vendor/ink/build/components/Spacer.js.map +1 -0
  513. package/vendor/ink/build/components/Static.d.ts +24 -0
  514. package/vendor/ink/build/components/Static.js +28 -0
  515. package/vendor/ink/build/components/Static.js.map +1 -0
  516. package/vendor/ink/build/components/StderrContext.d.ts +15 -0
  517. package/vendor/ink/build/components/StderrContext.js +13 -0
  518. package/vendor/ink/build/components/StderrContext.js.map +1 -0
  519. package/vendor/ink/build/components/StdinContext.d.ts +22 -0
  520. package/vendor/ink/build/components/StdinContext.js +19 -0
  521. package/vendor/ink/build/components/StdinContext.js.map +1 -0
  522. package/vendor/ink/build/components/StdoutContext.d.ts +15 -0
  523. package/vendor/ink/build/components/StdoutContext.js +13 -0
  524. package/vendor/ink/build/components/StdoutContext.js.map +1 -0
  525. package/vendor/ink/build/components/Text.d.ts +55 -0
  526. package/vendor/ink/build/components/Text.js +50 -0
  527. package/vendor/ink/build/components/Text.js.map +1 -0
  528. package/vendor/ink/build/components/Transform.d.ts +16 -0
  529. package/vendor/ink/build/components/Transform.js +15 -0
  530. package/vendor/ink/build/components/Transform.js.map +1 -0
  531. package/vendor/ink/build/cursor-helpers.d.ts +38 -0
  532. package/vendor/ink/build/cursor-helpers.js +56 -0
  533. package/vendor/ink/build/cursor-helpers.js.map +1 -0
  534. package/vendor/ink/build/devtools-window-polyfill.d.ts +1 -0
  535. package/vendor/ink/build/devtools-window-polyfill.js +65 -0
  536. package/vendor/ink/build/devtools-window-polyfill.js.map +1 -0
  537. package/vendor/ink/build/devtools.d.ts +1 -0
  538. package/vendor/ink/build/devtools.js +11 -0
  539. package/vendor/ink/build/devtools.js.map +1 -0
  540. package/vendor/ink/build/dom.d.ts +56 -0
  541. package/vendor/ink/build/dom.js +124 -0
  542. package/vendor/ink/build/dom.js.map +1 -0
  543. package/vendor/ink/build/experimental/apply-style.js +140 -0
  544. package/vendor/ink/build/experimental/dom.js +123 -0
  545. package/vendor/ink/build/experimental/output.js +91 -0
  546. package/vendor/ink/build/experimental/reconciler.js +141 -0
  547. package/vendor/ink/build/experimental/renderer.js +81 -0
  548. package/vendor/ink/build/get-max-width.d.ts +3 -0
  549. package/vendor/ink/build/get-max-width.js +10 -0
  550. package/vendor/ink/build/get-max-width.js.map +1 -0
  551. package/vendor/ink/build/hooks/use-app.d.ts +5 -0
  552. package/vendor/ink/build/hooks/use-app.js +8 -0
  553. package/vendor/ink/build/hooks/use-app.js.map +1 -0
  554. package/vendor/ink/build/hooks/use-cursor.d.ts +12 -0
  555. package/vendor/ink/build/hooks/use-cursor.js +29 -0
  556. package/vendor/ink/build/hooks/use-cursor.js.map +1 -0
  557. package/vendor/ink/build/hooks/use-focus-manager.d.ts +28 -0
  558. package/vendor/ink/build/hooks/use-focus-manager.js +17 -0
  559. package/vendor/ink/build/hooks/use-focus-manager.js.map +1 -0
  560. package/vendor/ink/build/hooks/use-focus.d.ts +29 -0
  561. package/vendor/ink/build/hooks/use-focus.js +42 -0
  562. package/vendor/ink/build/hooks/use-focus.js.map +1 -0
  563. package/vendor/ink/build/hooks/use-input.d.ts +131 -0
  564. package/vendor/ink/build/hooks/use-input.js +124 -0
  565. package/vendor/ink/build/hooks/use-input.js.map +1 -0
  566. package/vendor/ink/build/hooks/use-is-screen-reader-enabled.d.ts +5 -0
  567. package/vendor/ink/build/hooks/use-is-screen-reader-enabled.js +11 -0
  568. package/vendor/ink/build/hooks/use-is-screen-reader-enabled.js.map +1 -0
  569. package/vendor/ink/build/hooks/use-stderr.d.ts +5 -0
  570. package/vendor/ink/build/hooks/use-stderr.js +8 -0
  571. package/vendor/ink/build/hooks/use-stderr.js.map +1 -0
  572. package/vendor/ink/build/hooks/use-stdin.d.ts +5 -0
  573. package/vendor/ink/build/hooks/use-stdin.js +8 -0
  574. package/vendor/ink/build/hooks/use-stdin.js.map +1 -0
  575. package/vendor/ink/build/hooks/use-stdout.d.ts +5 -0
  576. package/vendor/ink/build/hooks/use-stdout.js +8 -0
  577. package/vendor/ink/build/hooks/use-stdout.js.map +1 -0
  578. package/vendor/ink/build/hooks/useInput.js +38 -0
  579. package/vendor/ink/build/index.d.ts +34 -0
  580. package/vendor/ink/build/index.js +20 -0
  581. package/vendor/ink/build/index.js.map +1 -0
  582. package/vendor/ink/build/ink.d.ts +90 -0
  583. package/vendor/ink/build/ink.js +654 -0
  584. package/vendor/ink/build/ink.js.map +1 -0
  585. package/vendor/ink/build/input-parser.d.ts +7 -0
  586. package/vendor/ink/build/input-parser.js +154 -0
  587. package/vendor/ink/build/input-parser.js.map +1 -0
  588. package/vendor/ink/build/instance.js +205 -0
  589. package/vendor/ink/build/instances.d.ts +3 -0
  590. package/vendor/ink/build/instances.js +8 -0
  591. package/vendor/ink/build/instances.js.map +1 -0
  592. package/vendor/ink/build/kitty-keyboard.d.ts +23 -0
  593. package/vendor/ink/build/kitty-keyboard.js +32 -0
  594. package/vendor/ink/build/kitty-keyboard.js.map +1 -0
  595. package/vendor/ink/build/layout.d.ts +7 -0
  596. package/vendor/ink/build/layout.js +33 -0
  597. package/vendor/ink/build/layout.js.map +1 -0
  598. package/vendor/ink/build/log-update.d.ts +19 -0
  599. package/vendor/ink/build/log-update.js +243 -0
  600. package/vendor/ink/build/log-update.js.map +1 -0
  601. package/vendor/ink/build/measure-element.d.ts +16 -0
  602. package/vendor/ink/build/measure-element.js +9 -0
  603. package/vendor/ink/build/measure-element.js.map +1 -0
  604. package/vendor/ink/build/measure-text.d.ts +6 -0
  605. package/vendor/ink/build/measure-text.js +21 -0
  606. package/vendor/ink/build/measure-text.js.map +1 -0
  607. package/vendor/ink/build/options.d.ts +52 -0
  608. package/vendor/ink/build/options.js +2 -0
  609. package/vendor/ink/build/options.js.map +1 -0
  610. package/vendor/ink/build/output.d.ts +35 -0
  611. package/vendor/ink/build/output.js +183 -0
  612. package/vendor/ink/build/output.js.map +1 -0
  613. package/vendor/ink/build/parse-keypress.d.ts +22 -0
  614. package/vendor/ink/build/parse-keypress.js +493 -0
  615. package/vendor/ink/build/parse-keypress.js.map +1 -0
  616. package/vendor/ink/build/reconciler.d.ts +4 -0
  617. package/vendor/ink/build/reconciler.js +274 -0
  618. package/vendor/ink/build/reconciler.js.map +1 -0
  619. package/vendor/ink/build/render-background.d.ts +4 -0
  620. package/vendor/ink/build/render-background.js +25 -0
  621. package/vendor/ink/build/render-background.js.map +1 -0
  622. package/vendor/ink/build/render-border.d.ts +4 -0
  623. package/vendor/ink/build/render-border.js +73 -0
  624. package/vendor/ink/build/render-border.js.map +1 -0
  625. package/vendor/ink/build/render-node-to-output.d.ts +14 -0
  626. package/vendor/ink/build/render-node-to-output.js +147 -0
  627. package/vendor/ink/build/render-node-to-output.js.map +1 -0
  628. package/vendor/ink/build/render-to-string.d.ts +38 -0
  629. package/vendor/ink/build/render-to-string.js +115 -0
  630. package/vendor/ink/build/render-to-string.js.map +1 -0
  631. package/vendor/ink/build/render.d.ts +121 -0
  632. package/vendor/ink/build/render.js +55 -0
  633. package/vendor/ink/build/render.js.map +1 -0
  634. package/vendor/ink/build/renderer.d.ts +8 -0
  635. package/vendor/ink/build/renderer.js +55 -0
  636. package/vendor/ink/build/renderer.js.map +1 -0
  637. package/vendor/ink/build/sanitize-ansi.d.ts +2 -0
  638. package/vendor/ink/build/sanitize-ansi.js +27 -0
  639. package/vendor/ink/build/sanitize-ansi.js.map +1 -0
  640. package/vendor/ink/build/screen-reader-update.d.ts +13 -0
  641. package/vendor/ink/build/screen-reader-update.js +38 -0
  642. package/vendor/ink/build/screen-reader-update.js.map +1 -0
  643. package/vendor/ink/build/squash-text-nodes.d.ts +3 -0
  644. package/vendor/ink/build/squash-text-nodes.js +36 -0
  645. package/vendor/ink/build/squash-text-nodes.js.map +1 -0
  646. package/vendor/ink/build/styles.d.ts +240 -0
  647. package/vendor/ink/build/styles.js +232 -0
  648. package/vendor/ink/build/styles.js.map +1 -0
  649. package/vendor/ink/build/utils.d.ts +2 -0
  650. package/vendor/ink/build/utils.js +4 -0
  651. package/vendor/ink/build/utils.js.map +1 -0
  652. package/vendor/ink/build/wrap-text.d.ts +3 -0
  653. package/vendor/ink/build/wrap-text.js +31 -0
  654. package/vendor/ink/build/wrap-text.js.map +1 -0
  655. package/vendor/ink/build/write-synchronized.d.ts +4 -0
  656. package/vendor/ink/build/write-synchronized.js +7 -0
  657. package/vendor/ink/build/write-synchronized.js.map +1 -0
  658. package/vendor/ink/license +10 -0
  659. package/vendor/ink/node_modules/@types/node/LICENSE +21 -0
  660. package/vendor/ink/node_modules/@types/node/README.md +15 -0
  661. package/vendor/ink/node_modules/@types/node/assert/strict.d.ts +105 -0
  662. package/vendor/ink/node_modules/@types/node/assert.d.ts +955 -0
  663. package/vendor/ink/node_modules/@types/node/async_hooks.d.ts +623 -0
  664. package/vendor/ink/node_modules/@types/node/buffer.buffer.d.ts +466 -0
  665. package/vendor/ink/node_modules/@types/node/buffer.d.ts +1810 -0
  666. package/vendor/ink/node_modules/@types/node/child_process.d.ts +1428 -0
  667. package/vendor/ink/node_modules/@types/node/cluster.d.ts +486 -0
  668. package/vendor/ink/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
  669. package/vendor/ink/node_modules/@types/node/console.d.ts +151 -0
  670. package/vendor/ink/node_modules/@types/node/constants.d.ts +20 -0
  671. package/vendor/ink/node_modules/@types/node/crypto.d.ts +4065 -0
  672. package/vendor/ink/node_modules/@types/node/dgram.d.ts +564 -0
  673. package/vendor/ink/node_modules/@types/node/diagnostics_channel.d.ts +576 -0
  674. package/vendor/ink/node_modules/@types/node/dns/promises.d.ts +503 -0
  675. package/vendor/ink/node_modules/@types/node/dns.d.ts +922 -0
  676. package/vendor/ink/node_modules/@types/node/domain.d.ts +166 -0
  677. package/vendor/ink/node_modules/@types/node/events.d.ts +1054 -0
  678. package/vendor/ink/node_modules/@types/node/fs/promises.d.ts +1329 -0
  679. package/vendor/ink/node_modules/@types/node/fs.d.ts +4676 -0
  680. package/vendor/ink/node_modules/@types/node/globals.d.ts +150 -0
  681. package/vendor/ink/node_modules/@types/node/globals.typedarray.d.ts +101 -0
  682. package/vendor/ink/node_modules/@types/node/http.d.ts +2167 -0
  683. package/vendor/ink/node_modules/@types/node/http2.d.ts +2480 -0
  684. package/vendor/ink/node_modules/@types/node/https.d.ts +405 -0
  685. package/vendor/ink/node_modules/@types/node/index.d.ts +115 -0
  686. package/vendor/ink/node_modules/@types/node/inspector/promises.d.ts +41 -0
  687. package/vendor/ink/node_modules/@types/node/inspector.d.ts +224 -0
  688. package/vendor/ink/node_modules/@types/node/inspector.generated.d.ts +4226 -0
  689. package/vendor/ink/node_modules/@types/node/module.d.ts +819 -0
  690. package/vendor/ink/node_modules/@types/node/net.d.ts +933 -0
  691. package/vendor/ink/node_modules/@types/node/os.d.ts +507 -0
  692. package/vendor/ink/node_modules/@types/node/package.json +155 -0
  693. package/vendor/ink/node_modules/@types/node/path/posix.d.ts +8 -0
  694. package/vendor/ink/node_modules/@types/node/path/win32.d.ts +8 -0
  695. package/vendor/ink/node_modules/@types/node/path.d.ts +187 -0
  696. package/vendor/ink/node_modules/@types/node/perf_hooks.d.ts +643 -0
  697. package/vendor/ink/node_modules/@types/node/process.d.ts +2156 -0
  698. package/vendor/ink/node_modules/@types/node/punycode.d.ts +117 -0
  699. package/vendor/ink/node_modules/@types/node/querystring.d.ts +152 -0
  700. package/vendor/ink/node_modules/@types/node/quic.d.ts +910 -0
  701. package/vendor/ink/node_modules/@types/node/readline/promises.d.ts +161 -0
  702. package/vendor/ink/node_modules/@types/node/readline.d.ts +541 -0
  703. package/vendor/ink/node_modules/@types/node/repl.d.ts +415 -0
  704. package/vendor/ink/node_modules/@types/node/sea.d.ts +162 -0
  705. package/vendor/ink/node_modules/@types/node/sqlite.d.ts +955 -0
  706. package/vendor/ink/node_modules/@types/node/stream/consumers.d.ts +38 -0
  707. package/vendor/ink/node_modules/@types/node/stream/promises.d.ts +211 -0
  708. package/vendor/ink/node_modules/@types/node/stream/web.d.ts +296 -0
  709. package/vendor/ink/node_modules/@types/node/stream.d.ts +1760 -0
  710. package/vendor/ink/node_modules/@types/node/string_decoder.d.ts +67 -0
  711. package/vendor/ink/node_modules/@types/node/test/reporters.d.ts +96 -0
  712. package/vendor/ink/node_modules/@types/node/test.d.ts +2240 -0
  713. package/vendor/ink/node_modules/@types/node/timers/promises.d.ts +108 -0
  714. package/vendor/ink/node_modules/@types/node/timers.d.ts +159 -0
  715. package/vendor/ink/node_modules/@types/node/tls.d.ts +1198 -0
  716. package/vendor/ink/node_modules/@types/node/trace_events.d.ts +197 -0
  717. package/vendor/ink/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
  718. package/vendor/ink/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
  719. package/vendor/ink/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
  720. package/vendor/ink/node_modules/@types/node/ts5.6/index.d.ts +117 -0
  721. package/vendor/ink/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
  722. package/vendor/ink/node_modules/@types/node/ts5.7/index.d.ts +117 -0
  723. package/vendor/ink/node_modules/@types/node/tty.d.ts +250 -0
  724. package/vendor/ink/node_modules/@types/node/url.d.ts +519 -0
  725. package/vendor/ink/node_modules/@types/node/util/types.d.ts +558 -0
  726. package/vendor/ink/node_modules/@types/node/util.d.ts +1662 -0
  727. package/vendor/ink/node_modules/@types/node/v8.d.ts +983 -0
  728. package/vendor/ink/node_modules/@types/node/vm.d.ts +1208 -0
  729. package/vendor/ink/node_modules/@types/node/wasi.d.ts +202 -0
  730. package/vendor/ink/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
  731. package/vendor/ink/node_modules/@types/node/web-globals/blob.d.ts +23 -0
  732. package/vendor/ink/node_modules/@types/node/web-globals/console.d.ts +9 -0
  733. package/vendor/ink/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
  734. package/vendor/ink/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  735. package/vendor/ink/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
  736. package/vendor/ink/node_modules/@types/node/web-globals/events.d.ts +106 -0
  737. package/vendor/ink/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
  738. package/vendor/ink/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
  739. package/vendor/ink/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
  740. package/vendor/ink/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
  741. package/vendor/ink/node_modules/@types/node/web-globals/performance.d.ts +45 -0
  742. package/vendor/ink/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  743. package/vendor/ink/node_modules/@types/node/web-globals/streams.d.ts +115 -0
  744. package/vendor/ink/node_modules/@types/node/web-globals/timers.d.ts +44 -0
  745. package/vendor/ink/node_modules/@types/node/web-globals/url.d.ts +24 -0
  746. package/vendor/ink/node_modules/@types/node/worker_threads.d.ts +717 -0
  747. package/vendor/ink/node_modules/@types/node/zlib.d.ts +618 -0
  748. package/vendor/ink/node_modules/node-pty/LICENSE +69 -0
  749. package/vendor/ink/node_modules/node-pty/README.md +164 -0
  750. package/vendor/ink/node_modules/node-pty/binding.gyp +150 -0
  751. package/vendor/ink/node_modules/node-pty/lib/conpty_console_list_agent.js +25 -0
  752. package/vendor/ink/node_modules/node-pty/lib/eventEmitter2.js +47 -0
  753. package/vendor/ink/node_modules/node-pty/lib/index.js +52 -0
  754. package/vendor/ink/node_modules/node-pty/lib/interfaces.js +7 -0
  755. package/vendor/ink/node_modules/node-pty/lib/shared/conout.js +11 -0
  756. package/vendor/ink/node_modules/node-pty/lib/terminal.js +190 -0
  757. package/vendor/ink/node_modules/node-pty/lib/types.js +7 -0
  758. package/vendor/ink/node_modules/node-pty/lib/unixTerminal.js +349 -0
  759. package/vendor/ink/node_modules/node-pty/lib/utils.js +39 -0
  760. package/vendor/ink/node_modules/node-pty/lib/windowsConoutConnection.js +125 -0
  761. package/vendor/ink/node_modules/node-pty/lib/windowsPtyAgent.js +287 -0
  762. package/vendor/ink/node_modules/node-pty/lib/windowsTerminal.js +201 -0
  763. package/vendor/ink/node_modules/node-pty/lib/worker/conoutSocketWorker.js +22 -0
  764. package/vendor/ink/node_modules/node-pty/package.json +65 -0
  765. package/vendor/ink/node_modules/node-pty/prebuilds/darwin-arm64/pty.node +0 -0
  766. package/vendor/ink/node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper +0 -0
  767. package/vendor/ink/node_modules/node-pty/prebuilds/darwin-x64/pty.node +0 -0
  768. package/vendor/ink/node_modules/node-pty/prebuilds/darwin-x64/spawn-helper +0 -0
  769. package/vendor/ink/node_modules/node-pty/prebuilds/linux-arm64/pty.node +0 -0
  770. package/vendor/ink/node_modules/node-pty/prebuilds/linux-x64/pty.node +0 -0
  771. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
  772. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
  773. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
  774. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty.pdb +0 -0
  775. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
  776. package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
  777. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
  778. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
  779. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty.node +0 -0
  780. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty.pdb +0 -0
  781. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
  782. package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
  783. package/vendor/ink/node_modules/node-pty/scripts/post-install.js +76 -0
  784. package/vendor/ink/node_modules/node-pty/scripts/prebuild.js +34 -0
  785. package/vendor/ink/node_modules/node-pty/src/unix/pty.cc +875 -0
  786. package/vendor/ink/node_modules/node-pty/src/unix/spawn-helper.cc +23 -0
  787. package/vendor/ink/node_modules/node-pty/src/win/conpty.cc +582 -0
  788. package/vendor/ink/node_modules/node-pty/src/win/conpty.h +41 -0
  789. package/vendor/ink/node_modules/node-pty/src/win/conpty_console_list.cc +44 -0
  790. package/vendor/ink/node_modules/node-pty/src/win/path_util.cc +95 -0
  791. package/vendor/ink/node_modules/node-pty/src/win/path_util.h +26 -0
  792. package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-arm64/OpenConsole.exe +0 -0
  793. package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-arm64/conpty.dll +0 -0
  794. package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-x64/OpenConsole.exe +0 -0
  795. package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-x64/conpty.dll +0 -0
  796. package/vendor/ink/node_modules/node-pty/typings/node-pty.d.ts +215 -0
  797. package/vendor/ink/node_modules/undici-types/LICENSE +21 -0
  798. package/vendor/ink/node_modules/undici-types/README.md +6 -0
  799. package/vendor/ink/node_modules/undici-types/agent.d.ts +32 -0
  800. package/vendor/ink/node_modules/undici-types/api.d.ts +43 -0
  801. package/vendor/ink/node_modules/undici-types/balanced-pool.d.ts +30 -0
  802. package/vendor/ink/node_modules/undici-types/cache-interceptor.d.ts +173 -0
  803. package/vendor/ink/node_modules/undici-types/cache.d.ts +36 -0
  804. package/vendor/ink/node_modules/undici-types/client-stats.d.ts +15 -0
  805. package/vendor/ink/node_modules/undici-types/client.d.ts +108 -0
  806. package/vendor/ink/node_modules/undici-types/connector.d.ts +34 -0
  807. package/vendor/ink/node_modules/undici-types/content-type.d.ts +21 -0
  808. package/vendor/ink/node_modules/undici-types/cookies.d.ts +30 -0
  809. package/vendor/ink/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
  810. package/vendor/ink/node_modules/undici-types/dispatcher.d.ts +276 -0
  811. package/vendor/ink/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
  812. package/vendor/ink/node_modules/undici-types/errors.d.ts +161 -0
  813. package/vendor/ink/node_modules/undici-types/eventsource.d.ts +66 -0
  814. package/vendor/ink/node_modules/undici-types/fetch.d.ts +211 -0
  815. package/vendor/ink/node_modules/undici-types/formdata.d.ts +108 -0
  816. package/vendor/ink/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  817. package/vendor/ink/node_modules/undici-types/global-origin.d.ts +7 -0
  818. package/vendor/ink/node_modules/undici-types/h2c-client.d.ts +73 -0
  819. package/vendor/ink/node_modules/undici-types/handlers.d.ts +15 -0
  820. package/vendor/ink/node_modules/undici-types/header.d.ts +160 -0
  821. package/vendor/ink/node_modules/undici-types/index.d.ts +88 -0
  822. package/vendor/ink/node_modules/undici-types/interceptors.d.ts +73 -0
  823. package/vendor/ink/node_modules/undici-types/mock-agent.d.ts +68 -0
  824. package/vendor/ink/node_modules/undici-types/mock-call-history.d.ts +111 -0
  825. package/vendor/ink/node_modules/undici-types/mock-client.d.ts +27 -0
  826. package/vendor/ink/node_modules/undici-types/mock-errors.d.ts +12 -0
  827. package/vendor/ink/node_modules/undici-types/mock-interceptor.d.ts +94 -0
  828. package/vendor/ink/node_modules/undici-types/mock-pool.d.ts +27 -0
  829. package/vendor/ink/node_modules/undici-types/package.json +55 -0
  830. package/vendor/ink/node_modules/undici-types/patch.d.ts +29 -0
  831. package/vendor/ink/node_modules/undici-types/pool-stats.d.ts +19 -0
  832. package/vendor/ink/node_modules/undici-types/pool.d.ts +41 -0
  833. package/vendor/ink/node_modules/undici-types/proxy-agent.d.ts +29 -0
  834. package/vendor/ink/node_modules/undici-types/readable.d.ts +68 -0
  835. package/vendor/ink/node_modules/undici-types/retry-agent.d.ts +8 -0
  836. package/vendor/ink/node_modules/undici-types/retry-handler.d.ts +125 -0
  837. package/vendor/ink/node_modules/undici-types/round-robin-pool.d.ts +41 -0
  838. package/vendor/ink/node_modules/undici-types/snapshot-agent.d.ts +109 -0
  839. package/vendor/ink/node_modules/undici-types/util.d.ts +18 -0
  840. package/vendor/ink/node_modules/undici-types/utility.d.ts +7 -0
  841. package/vendor/ink/node_modules/undici-types/webidl.d.ts +341 -0
  842. package/vendor/ink/node_modules/undici-types/websocket.d.ts +186 -0
  843. package/vendor/ink/package.json +201 -0
  844. package/vendor/ink/readme.md +2636 -0
  845. package/bin/swag-agent.js +0 -9
  846. package/dist/server/lib/pg-rate-limiter.d.ts +0 -21
  847. package/dist/server/lib/pg-rate-limiter.js +0 -86
package/README.md CHANGED
@@ -1,23 +1,29 @@
1
- # @swagmanager/mcp
1
+ # whale-code
2
2
 
3
- MCP (Model Context Protocol) server for SwagManager — manage inventory, orders, analytics, customers, and more from Claude Code or Claude Desktop.
3
+ Local-first AI agent CLI for inventory, orders, analytics, customers, and more powered by MCP.
4
4
 
5
- ## Setup
5
+ ## Install
6
6
 
7
7
  ```bash
8
- npm install -g @swagmanager/mcp
8
+ npm install -g whale-code
9
9
  ```
10
10
 
11
- ### Environment Variables
12
-
13
- Create a `.env` file or set these environment variables:
11
+ Or use the one-liner:
14
12
 
13
+ ```bash
14
+ curl -fsSL https://whaletools.dev/install.sh | sh
15
15
  ```
16
- SUPABASE_URL=https://your-project.supabase.co
17
- SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
18
- DEFAULT_STORE_ID=your-store-uuid
16
+
17
+ ## Quick Start
18
+
19
+ ```bash
20
+ whale login # Browser-based OAuth to WhaleTools
21
+ whale # Start interactive chat
22
+ whale -p "prompt" # Non-interactive (print) mode
19
23
  ```
20
24
 
25
+ ## MCP Integration
26
+
21
27
  ### Claude Code
22
28
 
23
29
  Add to `~/.claude/settings.json`:
@@ -25,33 +31,21 @@ Add to `~/.claude/settings.json`:
25
31
  ```json
26
32
  {
27
33
  "mcpServers": {
28
- "swagmanager": {
29
- "command": "swagmanager-mcp",
30
- "env": {
31
- "SUPABASE_URL": "https://your-project.supabase.co",
32
- "SUPABASE_SERVICE_ROLE_KEY": "your-key",
33
- "DEFAULT_STORE_ID": "your-store-uuid"
34
- }
34
+ "whale": {
35
+ "command": "whale"
35
36
  }
36
37
  }
37
38
  }
38
39
  ```
39
40
 
40
- ### Claude Desktop
41
-
42
- Add to your Claude Desktop MCP config:
41
+ ### Claude Desktop / Cursor
43
42
 
44
43
  ```json
45
44
  {
46
45
  "mcpServers": {
47
- "swagmanager": {
46
+ "whale": {
48
47
  "command": "npx",
49
- "args": ["@swagmanager/mcp"],
50
- "env": {
51
- "SUPABASE_URL": "https://your-project.supabase.co",
52
- "SUPABASE_SERVICE_ROLE_KEY": "your-key",
53
- "DEFAULT_STORE_ID": "your-store-uuid"
54
- }
48
+ "args": ["whale-code"]
55
49
  }
56
50
  }
57
51
  }
@@ -59,7 +53,7 @@ Add to your Claude Desktop MCP config:
59
53
 
60
54
  ## Tools
61
55
 
62
- Tools are loaded dynamically from the `ai_tool_registry` database table. The default set includes:
56
+ Tools are loaded dynamically from the database no code changes needed when tools are added or updated.
63
57
 
64
58
  | Tool | Description |
65
59
  |------|-------------|
@@ -80,13 +74,27 @@ Tools are loaded dynamically from the `ai_tool_registry` database table. The def
80
74
  | `documents` | Generate COAs and documents |
81
75
  | `audit_trail` | View audit logs |
82
76
 
77
+ ## CLI Commands
78
+
79
+ ```
80
+ whale Start interactive chat
81
+ whale -p "prompt" Non-interactive mode
82
+ whale login Log in to WhaleTools
83
+ whale logout Clear saved session
84
+ whale status Show connection status
85
+ whale mcp list|add|remove Manage MCP servers
86
+ whale doctor Run diagnostics
87
+ whale config [key] [value] View/set configuration
88
+ whale update Update to latest version
89
+ whale help Show help
90
+ ```
91
+
83
92
  ## Development
84
93
 
85
94
  ```bash
86
- git clone https://github.com/floradistro/whale-mcp.git
87
- cd whale-mcp
95
+ git clone https://github.com/floradistro/whale-code.git
96
+ cd whale-code
88
97
  npm install
89
- cp .env.example .env # fill in your credentials
90
98
  npm run dev
91
99
  ```
92
100
 
@@ -6,7 +6,7 @@
6
6
  * Usage:
7
7
  * whale Start interactive chat
8
8
  * whale -p "prompt" Non-interactive (print) mode
9
- * whale login Log in with SwagManager credentials
9
+ * whale login Log in to WhaleTools
10
10
  * whale logout Clear saved session
11
11
  * whale status Show connection status
12
12
  * whale mcp list|add|remove Manage MCP servers
@@ -65,6 +65,9 @@ try {
65
65
  // Debug / verbose
66
66
  debug: { type: "boolean" },
67
67
  verbose: { type: "boolean", short: "v" },
68
+ // Output control
69
+ "no-color": { type: "boolean" },
70
+ quiet: { type: "boolean", short: "q" },
68
71
  // Standard
69
72
  help: { type: "boolean", short: "h" },
70
73
  version: { type: "boolean" },
@@ -78,6 +81,16 @@ try {
78
81
 
79
82
  const { values: flags, positionals } = parsed;
80
83
 
84
+ // --no-color: chalk respects NO_COLOR env var
85
+ if (flags["no-color"]) {
86
+ process.env.NO_COLOR = "1";
87
+ }
88
+
89
+ // --quiet: suppress banner, spinners, non-essential output
90
+ if (flags.quiet) {
91
+ process.env.WHALE_QUIET = "1";
92
+ }
93
+
81
94
  // First positional is the subcommand (unless --print is used)
82
95
  const subcommand = positionals[0];
83
96
  // If --print, remaining positionals form the message
@@ -103,7 +116,7 @@ function showHelp() {
103
116
  console.log();
104
117
  console.log(` ${B}Commands:${r}`);
105
118
  console.log(` whale${d} Start chatting (default)${r}`);
106
- console.log(` whale login${d} Log in to SwagManager${r}`);
119
+ console.log(` whale login${d} Log in to WhaleTools${r}`);
107
120
  console.log(` whale logout${d} Clear session${r}`);
108
121
  console.log(` whale stores${d} Switch active store${r}`);
109
122
  console.log(` whale status${d} Connection & tools${r}`);
@@ -137,6 +150,8 @@ function showHelp() {
137
150
  console.log(` --fallback-model <name>${d} Auto-fallback on overload${r}`);
138
151
  console.log(` --debug${d} Debug logging to stderr${r}`);
139
152
  console.log(` -v, --verbose${d} Extra output${r}`);
153
+ console.log(` --no-color${d} Disable ANSI colors${r}`);
154
+ console.log(` -q, --quiet${d} Suppress banner, spinners${r}`);
140
155
  console.log();
141
156
  console.log(` ${B}In chat:${r}`);
142
157
  console.log(` ${d}Type ${r}/${d} to open command menu${r}`);
package/dist/cli/app.js CHANGED
@@ -1,92 +1,168 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { render } from "ink";
1
+ /**
2
+ * CLI App Entry Point
3
+ *
4
+ * Dynamic imports for each mode — keeps MCP server path clean.
5
+ */
6
+
7
+ import React from "react";
3
8
  import chalk from "chalk";
4
9
  import { initErrorLogger, setErrorLoggerUser, captureError } from "./services/error-logger.js";
5
10
  import { loadConfig } from "./services/config-store.js";
11
+
12
+ // ── Deferred Ink loading — don't load Ink/Yoga until UI is needed ──
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ let _render = null;
15
+ async function getInkRender() {
16
+ if (!_render) {
17
+ const ink = await import("ink");
18
+ _render = ink.render;
19
+ }
20
+ return _render;
21
+ }
22
+
23
+ // ============================================================================
24
+ // CHAT OPTIONS — passed from CLI argument parsing
25
+ // ============================================================================
26
+
6
27
  export async function renderLogin() {
7
- const { LoginApp } = await import("./login/LoginApp.js");
8
- const { waitUntilExit } = render(_jsx(LoginApp, {}));
9
- await waitUntilExit();
28
+ const render = await getInkRender();
29
+ const {
30
+ LoginApp
31
+ } = await import("./login/LoginApp.js");
32
+ const {
33
+ waitUntilExit
34
+ } = render(/*#__PURE__*/_jsx(LoginApp, {}));
35
+ await waitUntilExit();
10
36
  }
11
37
  export async function renderLogout() {
12
- const { signOut, isLoggedIn } = await import("./services/auth-service.js");
13
- if (!isLoggedIn()) {
14
- console.log("Not logged in.");
15
- }
16
- else {
17
- signOut();
18
- console.log("Logged out. Tokens cleared.");
19
- }
38
+ const {
39
+ signOut,
40
+ isLoggedIn
41
+ } = await import("./services/auth-service.js");
42
+ if (!isLoggedIn()) {
43
+ console.log("Not logged in.");
44
+ } else {
45
+ signOut();
46
+ console.log("Logged out. Tokens cleared.");
47
+ }
20
48
  }
21
49
  export async function renderChat(options) {
22
- // Initialize error logging before anything else
23
- initErrorLogger({ serviceName: "whale-code" });
24
- const cfg = loadConfig();
25
- if (cfg.user_id || cfg.email || cfg.store_id) {
26
- setErrorLoggerUser(cfg.user_id, cfg.email, cfg.store_id);
27
- }
28
- // Global handlers — catch anything that slips through
29
- process.on("uncaughtException", (err) => {
30
- captureError({ error: err, severity: "fatal", tags: { source: "uncaughtException" } });
50
+ // Initialize error logging before anything else
51
+ initErrorLogger({
52
+ serviceName: "whale-code"
53
+ });
54
+ const cfg = loadConfig();
55
+ if (cfg.user_id || cfg.email || cfg.store_id) {
56
+ setErrorLoggerUser(cfg.user_id, cfg.email, cfg.store_id);
57
+ }
58
+
59
+ // Global handlers — catch anything that slips through
60
+ process.on("uncaughtException", err => {
61
+ captureError({
62
+ error: err,
63
+ severity: "fatal",
64
+ tags: {
65
+ source: "uncaughtException"
66
+ }
31
67
  });
32
- process.on("unhandledRejection", (reason) => {
33
- const err = reason instanceof Error ? reason : new Error(String(reason));
34
- captureError({ error: err, severity: "error", tags: { source: "unhandledRejection" } });
68
+ });
69
+ process.on("unhandledRejection", reason => {
70
+ const err = reason instanceof Error ? reason : new Error(String(reason));
71
+ captureError({
72
+ error: err,
73
+ severity: "error",
74
+ tags: {
75
+ source: "unhandledRejection"
76
+ }
35
77
  });
36
- // Auto-login if not authenticated — seamless browser OAuth
37
- const { isLoggedIn } = await import("./services/auth-service.js");
38
- if (!isLoggedIn()) {
39
- const { signInWithBrowser } = await import("./services/browser-auth.js");
40
- const brand = chalk.hex("#6366F1");
41
- const dim = chalk.hex("#64748B");
42
- const green = chalk.hex("#30D158");
43
- console.log();
44
- console.log(` ${brand.bold("◆")} Opening browser to sign in...`);
45
- const result = await signInWithBrowser(undefined, {
46
- onBrowserOpening: (url) => {
47
- console.log(` ${dim(url)}`);
48
- console.log();
49
- console.log(` ${dim("Waiting for authentication...")}`);
50
- },
51
- });
52
- if (!result.success) {
53
- console.error(` ${chalk.red("✗")} ${result.error}`);
54
- console.error(` ${dim("Run")} whale login ${dim("to try again.")}`);
55
- process.exit(1);
56
- }
57
- console.log(` ${green("✓")} Signed in as ${result.config?.email || "unknown"}`);
58
- if (result.config?.store_name) {
59
- console.log(` ${dim("Store:")} ${result.config.store_name}`);
60
- }
78
+ });
79
+
80
+ // Auto-login if not authenticated — seamless browser OAuth
81
+ const {
82
+ isLoggedIn
83
+ } = await import("./services/auth-service.js");
84
+ if (!isLoggedIn()) {
85
+ const {
86
+ signInWithBrowser
87
+ } = await import("./services/browser-auth.js");
88
+ const brand = chalk.hex("#6366F1");
89
+ const dim = chalk.hex("#64748B");
90
+ const green = chalk.hex("#30D158");
91
+ console.log();
92
+ console.log(` ${brand.bold("◆")} Opening browser to sign in...`);
93
+ const result = await signInWithBrowser(undefined, {
94
+ onBrowserOpening: url => {
95
+ console.log(` ${dim(url)}`);
61
96
  console.log();
97
+ console.log(` ${dim("Waiting for authentication...")}`);
98
+ }
99
+ });
100
+ if (!result.success) {
101
+ console.error(` ${chalk.red("✗")} ${result.error}`);
102
+ console.error(` ${dim("Run")} whale login ${dim("to try again.")}`);
103
+ process.exit(1);
104
+ }
105
+ console.log(` ${green("✓")} Signed in as ${result.config?.email || "unknown"}`);
106
+ if (result.config?.store_name) {
107
+ console.log(` ${dim("Store:")} ${result.config.store_name}`);
62
108
  }
63
- // Clear screen — fresh start
64
- process.stdout.write("\x1b[2J\x1b[3J\x1b[H");
65
- // Apply options before starting chat
66
- if (options?.model || options?.permissionMode) {
67
- const agentLoop = await import("./services/agent-loop.js");
68
- if (options.model)
69
- agentLoop.setModel(options.model);
70
- if (options.permissionMode) {
71
- agentLoop.setPermissionMode(options.permissionMode);
72
- }
109
+ console.log();
110
+ }
111
+
112
+ // Clear screen fresh start
113
+ process.stdout.write("\x1b[2J\x1b[3J\x1b[H");
114
+
115
+ // Apply options before starting chat
116
+ if (options?.model || options?.permissionMode) {
117
+ const agentLoop = await import("./services/agent-loop.js");
118
+ if (options.model) agentLoop.setModel(options.model);
119
+ if (options.permissionMode) {
120
+ agentLoop.setPermissionMode(options.permissionMode);
73
121
  }
74
- const { ChatApp } = await import("./chat/ChatApp.js");
75
- const { waitUntilExit } = render(_jsx(ChatApp, {}));
76
- await waitUntilExit();
122
+ }
123
+
124
+ // Pre-load all modules before render
125
+ const render = await getInkRender();
126
+ const [{
127
+ ChatApp
128
+ }, {
129
+ ErrorBoundary
130
+ }] = await Promise.all([import("./chat/ChatApp.js"), import("./shared/ErrorBoundary.js")]);
131
+ const {
132
+ waitUntilExit
133
+ } = render(/*#__PURE__*/_jsx(ErrorBoundary, {
134
+ children: /*#__PURE__*/_jsx(ChatApp, {})
135
+ }));
136
+ await waitUntilExit();
77
137
  }
78
138
  export async function renderSetup() {
79
- const { SetupApp } = await import("./setup/SetupApp.js");
80
- const { waitUntilExit } = render(_jsx(SetupApp, {}));
81
- await waitUntilExit();
139
+ const render = await getInkRender();
140
+ const {
141
+ SetupApp
142
+ } = await import("./setup/SetupApp.js");
143
+ const {
144
+ waitUntilExit
145
+ } = render(/*#__PURE__*/_jsx(SetupApp, {}));
146
+ await waitUntilExit();
82
147
  }
83
148
  export async function renderStatus() {
84
- const { StatusApp } = await import("./status/StatusApp.js");
85
- const { waitUntilExit } = render(_jsx(StatusApp, {}));
86
- await waitUntilExit();
149
+ const render = await getInkRender();
150
+ const {
151
+ StatusApp
152
+ } = await import("./status/StatusApp.js");
153
+ const {
154
+ waitUntilExit
155
+ } = render(/*#__PURE__*/_jsx(StatusApp, {}));
156
+ await waitUntilExit();
87
157
  }
88
158
  export async function renderStores() {
89
- const { StoreApp } = await import("./stores/StoreApp.js");
90
- const { waitUntilExit } = render(_jsx(StoreApp, {}));
91
- await waitUntilExit();
159
+ const render = await getInkRender();
160
+ const {
161
+ StoreApp
162
+ } = await import("./stores/StoreApp.js");
163
+ const {
164
+ waitUntilExit
165
+ } = render(/*#__PURE__*/_jsx(StoreApp, {}));
166
+ await waitUntilExit();
92
167
  }
168
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","names":["React","chalk","initErrorLogger","setErrorLoggerUser","captureError","loadConfig","jsx","_jsx","_render","getInkRender","ink","render","renderLogin","LoginApp","waitUntilExit","renderLogout","signOut","isLoggedIn","console","log","renderChat","options","serviceName","cfg","user_id","email","store_id","process","on","err","error","severity","tags","source","reason","Error","String","signInWithBrowser","brand","hex","dim","green","bold","result","undefined","onBrowserOpening","url","success","red","exit","config","store_name","stdout","write","model","permissionMode","agentLoop","setModel","setPermissionMode","ChatApp","ErrorBoundary","Promise","all","children","renderSetup","SetupApp","renderStatus","StatusApp","renderStores","StoreApp"],"sources":["../../src/cli/app.tsx"],"sourcesContent":["/**\n * CLI App Entry Point\n *\n * Dynamic imports for each mode — keeps MCP server path clean.\n */\n\nimport React from \"react\";\nimport chalk from \"chalk\";\nimport { initErrorLogger, setErrorLoggerUser, captureError } from \"./services/error-logger.js\";\nimport { loadConfig } from \"./services/config-store.js\";\n\n// ── Deferred Ink loading — don't load Ink/Yoga until UI is needed ──\n\nlet _render: typeof import(\"ink\").render | null = null;\nasync function getInkRender() {\n if (!_render) {\n const ink = await import(\"ink\");\n _render = ink.render;\n }\n return _render;\n}\n\n// ============================================================================\n// CHAT OPTIONS — passed from CLI argument parsing\n// ============================================================================\n\nexport interface ChatOptions {\n model?: string;\n permissionMode?: string;\n resumeSessionId?: string;\n continueLastSession?: boolean;\n sessionId?: string;\n maxTurns?: number;\n maxBudgetUsd?: number;\n effort?: string;\n allowedTools?: string[];\n disallowedTools?: string[];\n fallbackModel?: string;\n debug?: boolean;\n verbose?: boolean;\n}\n\nexport async function renderLogin(): Promise<void> {\n const render = await getInkRender();\n const { LoginApp } = await import(\"./login/LoginApp.js\");\n const { waitUntilExit } = render(<LoginApp />);\n await waitUntilExit();\n}\n\nexport async function renderLogout(): Promise<void> {\n const { signOut, isLoggedIn } = await import(\"./services/auth-service.js\");\n if (!isLoggedIn()) {\n console.log(\"Not logged in.\");\n } else {\n signOut();\n console.log(\"Logged out. Tokens cleared.\");\n }\n}\n\nexport async function renderChat(options?: ChatOptions): Promise<void> {\n // Initialize error logging before anything else\n initErrorLogger({ serviceName: \"whale-code\" });\n const cfg = loadConfig();\n if (cfg.user_id || cfg.email || cfg.store_id) {\n setErrorLoggerUser(cfg.user_id, cfg.email, cfg.store_id);\n }\n\n // Global handlers — catch anything that slips through\n process.on(\"uncaughtException\", (err) => {\n captureError({ error: err, severity: \"fatal\", tags: { source: \"uncaughtException\" } });\n });\n process.on(\"unhandledRejection\", (reason) => {\n const err = reason instanceof Error ? reason : new Error(String(reason));\n captureError({ error: err, severity: \"error\", tags: { source: \"unhandledRejection\" } });\n });\n\n // Auto-login if not authenticated — seamless browser OAuth\n const { isLoggedIn } = await import(\"./services/auth-service.js\");\n if (!isLoggedIn()) {\n const { signInWithBrowser } = await import(\"./services/browser-auth.js\");\n const brand = chalk.hex(\"#6366F1\");\n const dim = chalk.hex(\"#64748B\");\n const green = chalk.hex(\"#30D158\");\n\n console.log();\n console.log(` ${brand.bold(\"◆\")} Opening browser to sign in...`);\n\n const result = await signInWithBrowser(undefined, {\n onBrowserOpening: (url) => {\n console.log(` ${dim(url)}`);\n console.log();\n console.log(` ${dim(\"Waiting for authentication...\")}`);\n },\n });\n\n if (!result.success) {\n console.error(` ${chalk.red(\"✗\")} ${result.error}`);\n console.error(` ${dim(\"Run\")} whale login ${dim(\"to try again.\")}`);\n process.exit(1);\n }\n\n console.log(` ${green(\"✓\")} Signed in as ${result.config?.email || \"unknown\"}`);\n if (result.config?.store_name) {\n console.log(` ${dim(\"Store:\")} ${result.config.store_name}`);\n }\n console.log();\n }\n\n // Clear screen — fresh start\n process.stdout.write(\"\\x1b[2J\\x1b[3J\\x1b[H\");\n\n // Apply options before starting chat\n if (options?.model || options?.permissionMode) {\n const agentLoop = await import(\"./services/agent-loop.js\");\n if (options.model) agentLoop.setModel(options.model);\n if (options.permissionMode) {\n agentLoop.setPermissionMode(options.permissionMode as \"default\" | \"plan\" | \"yolo\");\n }\n }\n\n // Pre-load all modules before render\n const render = await getInkRender();\n const [{ ChatApp }, { ErrorBoundary }] = await Promise.all([\n import(\"./chat/ChatApp.js\"),\n import(\"./shared/ErrorBoundary.js\"),\n ]);\n\n const { waitUntilExit } = render(<ErrorBoundary><ChatApp /></ErrorBoundary>);\n await waitUntilExit();\n}\n\nexport async function renderSetup(): Promise<void> {\n const render = await getInkRender();\n const { SetupApp } = await import(\"./setup/SetupApp.js\");\n const { waitUntilExit } = render(<SetupApp />);\n await waitUntilExit();\n}\n\nexport async function renderStatus(): Promise<void> {\n const render = await getInkRender();\n const { StatusApp } = await import(\"./status/StatusApp.js\");\n const { waitUntilExit } = render(<StatusApp />);\n await waitUntilExit();\n}\n\nexport async function renderStores(): Promise<void> {\n const render = await getInkRender();\n const { StoreApp } = await import(\"./stores/StoreApp.js\");\n const { waitUntilExit } = render(<StoreApp />);\n await waitUntilExit();\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,14 +1,109 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { c as _c } from "react/compiler-runtime";
2
+ /**
3
+ * AgentSelector — polished agent picker with descriptions
4
+ */
5
+
6
+ import React from "react";
2
7
  import { Box, Text } from "ink";
3
8
  import SelectInput from "ink-select-input";
4
9
  import { colors, symbols } from "../shared/Theme.js";
5
- export function AgentSelector({ agents, onSelect }) {
6
- const items = agents.map((a) => ({
7
- label: `${a.name}`,
8
- value: a.id,
9
- }));
10
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.muted, children: "Select an agent:" }), _jsx(Box, { height: 1 }), _jsx(SelectInput, { items: items, onSelect: (item) => onSelect(item.value), indicatorComponent: ({ isSelected }) => (_jsxs(Text, { color: isSelected ? colors.brand : colors.dim, children: [isSelected ? symbols.arrowRight : " ", " "] })), itemComponent: ({ isSelected, label }) => {
11
- const agent = agents.find((a) => a.name === label);
12
- return (_jsxs(Box, { children: [_jsx(Text, { color: isSelected ? colors.brand : colors.text, bold: isSelected, children: label }), agent && (_jsxs(Text, { color: colors.dim, children: [" (", agent.model, ")"] }))] }));
13
- } })] }));
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ export function AgentSelector(t0) {
12
+ const $ = _c(12);
13
+ const {
14
+ agents,
15
+ onSelect
16
+ } = t0;
17
+ let t1;
18
+ if ($[0] !== agents) {
19
+ t1 = agents.map(_temp);
20
+ $[0] = agents;
21
+ $[1] = t1;
22
+ } else {
23
+ t1 = $[1];
24
+ }
25
+ const items = t1;
26
+ let t2;
27
+ let t3;
28
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
29
+ t2 = /*#__PURE__*/_jsx(Text, {
30
+ color: colors.muted,
31
+ children: "Select an agent:"
32
+ });
33
+ t3 = /*#__PURE__*/_jsx(Box, {
34
+ height: 1
35
+ });
36
+ $[2] = t2;
37
+ $[3] = t3;
38
+ } else {
39
+ t2 = $[2];
40
+ t3 = $[3];
41
+ }
42
+ let t4;
43
+ if ($[4] !== onSelect) {
44
+ t4 = item => onSelect(item.value);
45
+ $[4] = onSelect;
46
+ $[5] = t4;
47
+ } else {
48
+ t4 = $[5];
49
+ }
50
+ let t5;
51
+ if ($[6] !== agents) {
52
+ t5 = t6 => {
53
+ const {
54
+ isSelected: isSelected_0,
55
+ label
56
+ } = t6;
57
+ const agent = agents.find(a_0 => a_0.name === label);
58
+ return /*#__PURE__*/_jsxs(Box, {
59
+ children: [/*#__PURE__*/_jsx(Text, {
60
+ color: isSelected_0 ? colors.brand : colors.text,
61
+ bold: isSelected_0,
62
+ children: label
63
+ }), agent && /*#__PURE__*/_jsxs(Text, {
64
+ color: colors.dim,
65
+ children: [" (", agent.model, ")"]
66
+ })]
67
+ });
68
+ };
69
+ $[6] = agents;
70
+ $[7] = t5;
71
+ } else {
72
+ t5 = $[7];
73
+ }
74
+ let t6;
75
+ if ($[8] !== items || $[9] !== t4 || $[10] !== t5) {
76
+ t6 = /*#__PURE__*/_jsxs(Box, {
77
+ flexDirection: "column",
78
+ children: [t2, t3, /*#__PURE__*/_jsx(SelectInput, {
79
+ items: items,
80
+ onSelect: t4,
81
+ indicatorComponent: _temp2,
82
+ itemComponent: t5
83
+ })]
84
+ });
85
+ $[8] = items;
86
+ $[9] = t4;
87
+ $[10] = t5;
88
+ $[11] = t6;
89
+ } else {
90
+ t6 = $[11];
91
+ }
92
+ return t6;
93
+ }
94
+ function _temp2(t0) {
95
+ const {
96
+ isSelected
97
+ } = t0;
98
+ return /*#__PURE__*/_jsxs(Text, {
99
+ color: isSelected ? colors.brand : colors.dim,
100
+ children: [isSelected ? symbols.arrowRight : " ", " "]
101
+ });
102
+ }
103
+ function _temp(a) {
104
+ return {
105
+ label: `${a.name}`,
106
+ value: a.id
107
+ };
14
108
  }
109
+ //# sourceMappingURL=AgentSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentSelector.js","names":["React","Box","Text","SelectInput","colors","symbols","jsx","_jsx","jsxs","_jsxs","AgentSelector","t0","$","_c","agents","onSelect","t1","map","_temp","items","t2","t3","Symbol","for","color","muted","children","height","t4","item","value","t5","t6","isSelected","isSelected_0","label","agent","find","a_0","a","name","brand","text","dim","model","flexDirection","indicatorComponent","_temp2","itemComponent","arrowRight","id"],"sources":["../../../src/cli/chat/AgentSelector.tsx"],"sourcesContent":["/**\n * AgentSelector — polished agent picker with descriptions\n */\n\nimport React from \"react\";\nimport { Box, Text } from \"ink\";\nimport SelectInput from \"ink-select-input\";\nimport { colors, symbols } from \"../shared/Theme.js\";\n\ninterface Agent {\n id: string;\n name: string;\n model: string;\n}\n\ninterface AgentSelectorProps {\n agents: Agent[];\n onSelect: (agentId: string) => void;\n}\n\nexport function AgentSelector({ agents, onSelect }: AgentSelectorProps) {\n const items = agents.map((a) => ({\n label: `${a.name}`,\n value: a.id,\n }));\n\n return (\n <Box flexDirection=\"column\">\n <Text color={colors.muted}>Select an agent:</Text>\n <Box height={1} />\n <SelectInput\n items={items}\n onSelect={(item) => onSelect(item.value)}\n indicatorComponent={({ isSelected }) => (\n <Text color={isSelected ? colors.brand : colors.dim}>\n {isSelected ? symbols.arrowRight : \" \"}{\" \"}\n </Text>\n )}\n itemComponent={({ isSelected, label }) => {\n const agent = agents.find((a) => a.name === label);\n return (\n <Box>\n <Text color={isSelected ? colors.brand : colors.text} bold={isSelected}>\n {label}\n </Text>\n {agent && (\n <Text color={colors.dim}> ({agent.model})</Text>\n )}\n </Box>\n );\n }}\n />\n </Box>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,4 +6,35 @@
6
6
  * thinking spinner, input) is in Ink's render loop.
7
7
  * This prevents screen overwriting and allows scrolling during generation.
8
8
  */
9
+ import { type NodeInfo } from "./NodeSelector.js";
10
+ import { type NodeStatus } from "./NodeManager.js";
11
+ import type { StoreInfo } from "../services/auth-service.js";
12
+ export type OverlayState = {
13
+ type: "none";
14
+ } | {
15
+ type: "storeSelect";
16
+ stores: StoreInfo[];
17
+ } | {
18
+ type: "nodeSelect";
19
+ nodes: NodeInfo[];
20
+ } | {
21
+ type: "sessionManager";
22
+ sessions: import("../services/session-persistence.js").SessionMeta[];
23
+ } | {
24
+ type: "memoryManager";
25
+ memories: string[];
26
+ } | {
27
+ type: "nodeManager";
28
+ status: NodeStatus;
29
+ } | {
30
+ type: "modelSelect";
31
+ } | {
32
+ type: "themeSelect";
33
+ } | {
34
+ type: "planApproval";
35
+ planContent: string;
36
+ planFile: string;
37
+ } | {
38
+ type: "rewind";
39
+ };
9
40
  export declare function ChatApp(): import("react/jsx-runtime").JSX.Element;