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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeManager.js","names":["useState","useEffect","Box","Text","useInput","SpinnerSlot","colors","symbols","jsx","_jsx","jsxs","_jsxs","NodeManager","initialStatus","onToggle","onRegister","onClose","status","setStatus","phase","setPhase","busyLabel","setBusyLabel","result","setResult","lastResult","setLastResult","timer","setTimeout","clearTimeout","executeAction","action","label","running","res","newStatus","success","text","message","_input","key","escape","return","registered","termWidth","process","stdout","columns","boxWidth","Math","min","port","actionLabel","flexDirection","borderStyle","borderColor","brand","border","paddingX","paddingY","width","children","marginBottom","bold","color","marginLeft","secondary","marginTop","dimColor","dim","nodeId","length","slice","error","check","cross","arrowRight"],"sources":["../../../src/cli/chat/NodeManager.tsx"],"sourcesContent":["/**\n * NodeManager — animated interactive node status panel\n *\n * Stays open during operations, shows spinners in-place,\n * and updates the status display after each action.\n *\n * Phases:\n * idle → status + action button\n * busy → spinner with action label\n * result → updated status + success/failure flash\n */\n\nimport { useState, useEffect } from \"react\";\nimport { Box, Text, useInput } from \"ink\";\nimport { SpinnerSlot } from \"../shared/SpinnerSlot.js\";\nimport { colors, symbols } from \"../shared/Theme.js\";\n\nexport interface NodeStatus {\n registered: boolean;\n running: boolean;\n nodeId?: string;\n port?: number;\n}\n\nexport interface NodeActionResult {\n success: boolean;\n message: string;\n newStatus: NodeStatus;\n}\n\ntype Phase = \"idle\" | \"busy\" | \"result\";\n\ninterface NodeManagerProps {\n initialStatus: NodeStatus;\n onToggle: () => Promise<NodeActionResult>;\n onRegister: () => Promise<NodeActionResult>;\n onClose: (resultMessage?: string) => void;\n}\n\nexport function NodeManager({ initialStatus, onToggle, onRegister, onClose }: NodeManagerProps) {\n const [status, setStatus] = useState<NodeStatus>(initialStatus);\n const [phase, setPhase] = useState<Phase>(\"idle\");\n const [busyLabel, setBusyLabel] = useState(\"\");\n const [result, setResult] = useState<{ success: boolean; text: string } | null>(null);\n const [lastResult, setLastResult] = useState<string | undefined>();\n\n // Auto-transition result → idle after 2.5s\n useEffect(() => {\n if (phase !== \"result\") return;\n const timer = setTimeout(() => setPhase(\"idle\"), 2500);\n return () => clearTimeout(timer);\n }, [phase]);\n\n const executeAction = async (action: \"toggle\" | \"register\") => {\n const label = action === \"register\"\n ? \"Registering node\"\n : status.running\n ? \"Stopping node\"\n : \"Starting node\";\n\n setPhase(\"busy\");\n setBusyLabel(label);\n setResult(null);\n\n try {\n const res = action === \"register\" ? await onRegister() : await onToggle();\n setStatus(res.newStatus);\n setResult({ success: res.success, text: res.message });\n setLastResult(res.message);\n setPhase(\"result\");\n } catch {\n setResult({ success: false, text: \"Unexpected error\" });\n setLastResult(\"Unexpected error\");\n setPhase(\"result\");\n }\n };\n\n useInput((_input, key) => {\n if (phase === \"busy\") return; // ignore input during operation\n\n if (key.escape) {\n onClose(lastResult);\n return;\n }\n\n if (key.return) {\n if (!status.registered) {\n executeAction(\"register\");\n } else {\n executeAction(\"toggle\");\n }\n return;\n }\n });\n\n const termWidth = process.stdout.columns || 80;\n const boxWidth = Math.min(termWidth - 2, 52);\n const port = status.port || 7890;\n\n // Action label for the button\n const actionLabel = !status.registered\n ? \"Register this machine\"\n : status.running\n ? \"Stop node\"\n : \"Start node\";\n\n return (\n <Box\n flexDirection=\"column\"\n borderStyle=\"round\"\n borderColor={phase === \"busy\" ? colors.brand : colors.border}\n paddingX={1}\n paddingY={1}\n width={boxWidth}\n >\n {/* Title */}\n <Box marginBottom={1}>\n <Text bold color={colors.brand}>Node</Text>\n </Box>\n\n {/* Status section */}\n <Box flexDirection=\"column\" marginLeft={1}>\n <Text color={colors.secondary}>Local node</Text>\n\n {phase === \"busy\" ? (\n /* ── Busy: animated spinner ── */\n <Box marginLeft={1} marginTop={0}>\n <Text color={colors.brand}><SpinnerSlot /></Text>\n <Text color={colors.secondary}> {busyLabel}...</Text>\n </Box>\n ) : !status.registered ? (\n /* ── Not registered ── */\n <Box marginLeft={1}>\n <Text dimColor>Not registered.</Text>\n </Box>\n ) : (\n /* ── Registered: show status details ── */\n <Box flexDirection=\"column\" marginLeft={1}>\n <Box>\n <Text dimColor>{\"Status \"}</Text>\n {status.running ? (\n <Text color={colors.success}>{\"● running\"}</Text>\n ) : (\n <Text color={colors.dim}>{\"○ stopped\"}</Text>\n )}\n {status.running && (\n <Text dimColor>{\" (port \"}{port}{\")\"}</Text>\n )}\n </Box>\n {status.nodeId && (\n <Box>\n <Text dimColor>{\"Node ID \"}</Text>\n <Text color={colors.secondary}>\n {status.nodeId.length > 24\n ? status.nodeId.slice(0, 23) + \"…\"\n : status.nodeId}\n </Text>\n </Box>\n )}\n </Box>\n )}\n\n {/* Result flash */}\n {phase === \"result\" && result && (\n <Box marginLeft={1} marginTop={0}>\n <Text color={result.success ? colors.success : colors.error}>\n {result.success ? symbols.check : symbols.cross} {result.text}\n </Text>\n </Box>\n )}\n </Box>\n\n {/* Action button — hidden during busy */}\n {phase !== \"busy\" && (\n <Box marginTop={1}>\n <Text color={colors.brand}>{symbols.arrowRight} </Text>\n <Text bold color={colors.text}>{actionLabel}</Text>\n </Box>\n )}\n\n {/* Footer */}\n <Box marginTop={1}>\n <Text dimColor>\n {phase === \"busy\"\n ? \"please wait...\"\n : \"enter execute esc close\"}\n </Text>\n </Box>\n </Box>\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAC3C,SAASC,GAAG,EAAEC,IAAI,EAAEC,QAAQ,QAAQ,KAAK;AACzC,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,MAAM,EAAEC,OAAO,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAwBrD,OAAO,SAASC,WAAWA,CAAC;EAAEC,aAAa;EAAEC,QAAQ;EAAEC,UAAU;EAAEC;AAA0B,CAAC,EAAE;EAC9F,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGlB,QAAQ,CAAaa,aAAa,CAAC;EAC/D,MAAM,CAACM,KAAK,EAAEC,QAAQ,CAAC,GAAGpB,QAAQ,CAAQ,MAAM,CAAC;EACjD,MAAM,CAACqB,SAAS,EAAEC,YAAY,CAAC,GAAGtB,QAAQ,CAAC,EAAE,CAAC;EAC9C,MAAM,CAACuB,MAAM,EAAEC,SAAS,CAAC,GAAGxB,QAAQ,CAA4C,IAAI,CAAC;EACrF,MAAM,CAACyB,UAAU,EAAEC,aAAa,CAAC,GAAG1B,QAAQ,CAAqB,CAAC;;EAElE;EACAC,SAAS,CAAC,MAAM;IACd,IAAIkB,KAAK,KAAK,QAAQ,EAAE;IACxB,MAAMQ,KAAK,GAAGC,UAAU,CAAC,MAAMR,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;IACtD,OAAO,MAAMS,YAAY,CAACF,KAAK,CAAC;EAClC,CAAC,EAAE,CAACR,KAAK,CAAC,CAAC;EAEX,MAAMW,aAAa,GAAG,MAAOC,MAA6B,IAAK;IAC7D,MAAMC,KAAK,GAAGD,MAAM,KAAK,UAAU,GAC/B,kBAAkB,GAClBd,MAAM,CAACgB,OAAO,GACZ,eAAe,GACf,eAAe;IAErBb,QAAQ,CAAC,MAAM,CAAC;IAChBE,YAAY,CAACU,KAAK,CAAC;IACnBR,SAAS,CAAC,IAAI,CAAC;IAEf,IAAI;MACF,MAAMU,GAAG,GAAGH,MAAM,KAAK,UAAU,GAAG,MAAMhB,UAAU,CAAC,CAAC,GAAG,MAAMD,QAAQ,CAAC,CAAC;MACzEI,SAAS,CAACgB,GAAG,CAACC,SAAS,CAAC;MACxBX,SAAS,CAAC;QAAEY,OAAO,EAAEF,GAAG,CAACE,OAAO;QAAEC,IAAI,EAAEH,GAAG,CAACI;MAAQ,CAAC,CAAC;MACtDZ,aAAa,CAACQ,GAAG,CAACI,OAAO,CAAC;MAC1BlB,QAAQ,CAAC,QAAQ,CAAC;IACpB,CAAC,CAAC,MAAM;MACNI,SAAS,CAAC;QAAEY,OAAO,EAAE,KAAK;QAAEC,IAAI,EAAE;MAAmB,CAAC,CAAC;MACvDX,aAAa,CAAC,kBAAkB,CAAC;MACjCN,QAAQ,CAAC,QAAQ,CAAC;IACpB;EACF,CAAC;EAEDhB,QAAQ,CAAC,CAACmC,MAAM,EAAEC,GAAG,KAAK;IACxB,IAAIrB,KAAK,KAAK,MAAM,EAAE,OAAO,CAAC;;IAE9B,IAAIqB,GAAG,CAACC,MAAM,EAAE;MACdzB,OAAO,CAACS,UAAU,CAAC;MACnB;IACF;IAEA,IAAIe,GAAG,CAACE,MAAM,EAAE;MACd,IAAI,CAACzB,MAAM,CAAC0B,UAAU,EAAE;QACtBb,aAAa,CAAC,UAAU,CAAC;MAC3B,CAAC,MAAM;QACLA,aAAa,CAAC,QAAQ,CAAC;MACzB;MACA;IACF;EACF,CAAC,CAAC;EAEF,MAAMc,SAAS,GAAGC,OAAO,CAACC,MAAM,CAACC,OAAO,IAAI,EAAE;EAC9C,MAAMC,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAACN,SAAS,GAAG,CAAC,EAAE,EAAE,CAAC;EAC5C,MAAMO,IAAI,GAAGlC,MAAM,CAACkC,IAAI,IAAI,IAAI;;EAEhC;EACA,MAAMC,WAAW,GAAG,CAACnC,MAAM,CAAC0B,UAAU,GAClC,uBAAuB,GACvB1B,MAAM,CAACgB,OAAO,GACZ,WAAW,GACX,YAAY;EAElB,oBACEtB,KAAA,CAACT,GAAG;IACFmD,aAAa,EAAC,QAAQ;IACtBC,WAAW,EAAC,OAAO;IACnBC,WAAW,EAAEpC,KAAK,KAAK,MAAM,GAAGb,MAAM,CAACkD,KAAK,GAAGlD,MAAM,CAACmD,MAAO;IAC7DC,QAAQ,EAAE,CAAE;IACZC,QAAQ,EAAE,CAAE;IACZC,KAAK,EAAEZ,QAAS;IAAAa,QAAA,gBAGhBpD,IAAA,CAACP,GAAG;MAAC4D,YAAY,EAAE,CAAE;MAAAD,QAAA,eACnBpD,IAAA,CAACN,IAAI;QAAC4D,IAAI;QAACC,KAAK,EAAE1D,MAAM,CAACkD,KAAM;QAAAK,QAAA,EAAC;MAAI,CAAM;IAAC,CACxC,CAAC,eAGNlD,KAAA,CAACT,GAAG;MAACmD,aAAa,EAAC,QAAQ;MAACY,UAAU,EAAE,CAAE;MAAAJ,QAAA,gBACxCpD,IAAA,CAACN,IAAI;QAAC6D,KAAK,EAAE1D,MAAM,CAAC4D,SAAU;QAAAL,QAAA,EAAC;MAAU,CAAM,CAAC,EAE/C1C,KAAK,KAAK,MAAM;MAAA;MACf;MACAR,KAAA,CAACT,GAAG;QAAC+D,UAAU,EAAE,CAAE;QAACE,SAAS,EAAE,CAAE;QAAAN,QAAA,gBAC/BpD,IAAA,CAACN,IAAI;UAAC6D,KAAK,EAAE1D,MAAM,CAACkD,KAAM;UAAAK,QAAA,eAACpD,IAAA,CAACJ,WAAW,IAAE;QAAC,CAAM,CAAC,eACjDM,KAAA,CAACR,IAAI;UAAC6D,KAAK,EAAE1D,MAAM,CAAC4D,SAAU;UAAAL,QAAA,GAAC,IAAE,EAACxC,SAAS,EAAC,KAAG;QAAA,CAAM,CAAC;MAAA,CACnD,CAAC,GACJ,CAACJ,MAAM,CAAC0B,UAAU;MAAA;MACpB;MACAlC,IAAA,CAACP,GAAG;QAAC+D,UAAU,EAAE,CAAE;QAAAJ,QAAA,eACjBpD,IAAA,CAACN,IAAI;UAACiE,QAAQ;UAAAP,QAAA,EAAC;QAAe,CAAM;MAAC,CAClC,CAAC;MAAA;MAEN;MACAlD,KAAA,CAACT,GAAG;QAACmD,aAAa,EAAC,QAAQ;QAACY,UAAU,EAAE,CAAE;QAAAJ,QAAA,gBACxClD,KAAA,CAACT,GAAG;UAAA2D,QAAA,gBACFpD,IAAA,CAACN,IAAI;YAACiE,QAAQ;YAAAP,QAAA,EAAE;UAAW,CAAO,CAAC,EAClC5C,MAAM,CAACgB,OAAO,gBACbxB,IAAA,CAACN,IAAI;YAAC6D,KAAK,EAAE1D,MAAM,CAAC8B,OAAQ;YAAAyB,QAAA,EAAE;UAAW,CAAO,CAAC,gBAEjDpD,IAAA,CAACN,IAAI;YAAC6D,KAAK,EAAE1D,MAAM,CAAC+D,GAAI;YAAAR,QAAA,EAAE;UAAW,CAAO,CAC7C,EACA5C,MAAM,CAACgB,OAAO,iBACbtB,KAAA,CAACR,IAAI;YAACiE,QAAQ;YAAAP,QAAA,GAAE,WAAW,EAAEV,IAAI,EAAE,GAAG;UAAA,CAAO,CAC9C;QAAA,CACE,CAAC,EACLlC,MAAM,CAACqD,MAAM,iBACZ3D,KAAA,CAACT,GAAG;UAAA2D,QAAA,gBACFpD,IAAA,CAACN,IAAI;YAACiE,QAAQ;YAAAP,QAAA,EAAE;UAAW,CAAO,CAAC,eACnCpD,IAAA,CAACN,IAAI;YAAC6D,KAAK,EAAE1D,MAAM,CAAC4D,SAAU;YAAAL,QAAA,EAC3B5C,MAAM,CAACqD,MAAM,CAACC,MAAM,GAAG,EAAE,GACtBtD,MAAM,CAACqD,MAAM,CAACE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,GAChCvD,MAAM,CAACqD;UAAM,CACb,CAAC;QAAA,CACJ,CACN;MAAA,CACE,CACN,EAGAnD,KAAK,KAAK,QAAQ,IAAII,MAAM,iBAC3Bd,IAAA,CAACP,GAAG;QAAC+D,UAAU,EAAE,CAAE;QAACE,SAAS,EAAE,CAAE;QAAAN,QAAA,eAC/BlD,KAAA,CAACR,IAAI;UAAC6D,KAAK,EAAEzC,MAAM,CAACa,OAAO,GAAG9B,MAAM,CAAC8B,OAAO,GAAG9B,MAAM,CAACmE,KAAM;UAAAZ,QAAA,GACzDtC,MAAM,CAACa,OAAO,GAAG7B,OAAO,CAACmE,KAAK,GAAGnE,OAAO,CAACoE,KAAK,EAAC,GAAC,EAACpD,MAAM,CAACc,IAAI;QAAA,CACzD;MAAC,CACJ,CACN;IAAA,CACE,CAAC,EAGLlB,KAAK,KAAK,MAAM,iBACfR,KAAA,CAACT,GAAG;MAACiE,SAAS,EAAE,CAAE;MAAAN,QAAA,gBAChBlD,KAAA,CAACR,IAAI;QAAC6D,KAAK,EAAE1D,MAAM,CAACkD,KAAM;QAAAK,QAAA,GAAEtD,OAAO,CAACqE,UAAU,EAAC,GAAC;MAAA,CAAM,CAAC,eACvDnE,IAAA,CAACN,IAAI;QAAC4D,IAAI;QAACC,KAAK,EAAE1D,MAAM,CAAC+B,IAAK;QAAAwB,QAAA,EAAET;MAAW,CAAO,CAAC;IAAA,CAChD,CACN,eAGD3C,IAAA,CAACP,GAAG;MAACiE,SAAS,EAAE,CAAE;MAAAN,QAAA,eAChBpD,IAAA,CAACN,IAAI;QAACiE,QAAQ;QAAAP,QAAA,EACX1C,KAAK,KAAK,MAAM,GACb,gBAAgB,GAChB;MAA2B,CAC3B;IAAC,CACJ,CAAC;EAAA,CACH,CAAC;AAEV","ignoreList":[]}
@@ -1,37 +1,178 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { c as _c } from "react/compiler-runtime";
2
+ /**
3
+ * NodeSelector — inline node picker for /deploy-cluster
4
+ *
5
+ * Renders a SelectInput with available nodes. Esc to cancel.
6
+ * Follows StoreSelector pattern.
7
+ */
8
+
9
+ import React from "react";
2
10
  import { Box, Text, useInput } from "ink";
3
11
  import SelectInput from "ink-select-input";
4
12
  import { colors, symbols } from "../shared/Theme.js";
5
- export function NodeSelector({ nodes, onSelect, onCancel }) {
6
- useInput((_input, key) => {
7
- if (key.escape)
8
- onCancel();
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ export function NodeSelector(t0) {
15
+ const $ = _c(19);
16
+ const {
17
+ nodes,
18
+ onSelect,
19
+ onCancel
20
+ } = t0;
21
+ let t1;
22
+ if ($[0] !== onCancel) {
23
+ t1 = (_input, key) => {
24
+ if (key.escape) {
25
+ onCancel();
26
+ }
27
+ };
28
+ $[0] = onCancel;
29
+ $[1] = t1;
30
+ } else {
31
+ t1 = $[1];
32
+ }
33
+ useInput(t1);
34
+ let sorted;
35
+ let t2;
36
+ if ($[2] !== nodes) {
37
+ sorted = [...nodes].sort(_temp);
38
+ t2 = sorted.map(_temp2);
39
+ $[2] = nodes;
40
+ $[3] = sorted;
41
+ $[4] = t2;
42
+ } else {
43
+ sorted = $[3];
44
+ t2 = $[4];
45
+ }
46
+ const items = t2;
47
+ let t3;
48
+ if ($[5] !== onSelect || $[6] !== sorted) {
49
+ t3 = item => {
50
+ const node = sorted.find(n_0 => n_0.id === item.value);
51
+ if (node) {
52
+ onSelect(node);
53
+ }
54
+ };
55
+ $[5] = onSelect;
56
+ $[6] = sorted;
57
+ $[7] = t3;
58
+ } else {
59
+ t3 = $[7];
60
+ }
61
+ const handleSelect = t3;
62
+ let t4;
63
+ let t5;
64
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
65
+ t4 = /*#__PURE__*/_jsx(Text, {
66
+ color: colors.secondary,
67
+ children: " Select node for deployment:"
9
68
  });
10
- // Sort: local first, then online, then offline
11
- const sorted = [...nodes].sort((a, b) => {
12
- if (a.isLocal && !b.isLocal)
13
- return -1;
14
- if (!a.isLocal && b.isLocal)
15
- return 1;
16
- if (a.status === "online" && b.status !== "online")
17
- return -1;
18
- if (a.status !== "online" && b.status === "online")
19
- return 1;
20
- return 0;
69
+ t5 = /*#__PURE__*/_jsx(Box, {
70
+ height: 1
21
71
  });
22
- const items = sorted.map((n) => ({
23
- label: n.name,
24
- value: n.id,
25
- }));
26
- const handleSelect = (item) => {
27
- const node = sorted.find((n) => n.id === item.value);
28
- if (node)
29
- onSelect(node);
72
+ $[8] = t4;
73
+ $[9] = t5;
74
+ } else {
75
+ t4 = $[8];
76
+ t5 = $[9];
77
+ }
78
+ let t6;
79
+ if ($[10] !== sorted) {
80
+ t6 = t7 => {
81
+ const {
82
+ isSelected: isSelected_0,
83
+ label
84
+ } = t7;
85
+ const node_0 = sorted.find(n_1 => n_1.name === label);
86
+ const isOnline = node_0?.status === "online";
87
+ const isLocal = node_0?.isLocal;
88
+ return /*#__PURE__*/_jsxs(Box, {
89
+ children: [/*#__PURE__*/_jsxs(Text, {
90
+ color: isOnline ? colors.success : colors.dim,
91
+ children: [isOnline ? symbols.dot : "\u25CB", " "]
92
+ }), /*#__PURE__*/_jsx(Text, {
93
+ color: isSelected_0 ? colors.brand : colors.text,
94
+ bold: isSelected_0,
95
+ children: label
96
+ }), isLocal && /*#__PURE__*/_jsx(Text, {
97
+ color: colors.info,
98
+ children: " (this machine)"
99
+ }), !isOnline && /*#__PURE__*/_jsx(Text, {
100
+ color: colors.dim,
101
+ children: " offline"
102
+ })]
103
+ });
30
104
  };
31
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.secondary, children: " Select node for deployment:" }), _jsx(Box, { height: 1 }), _jsx(SelectInput, { items: items, onSelect: handleSelect, indicatorComponent: ({ isSelected }) => (_jsxs(Text, { color: isSelected ? colors.brand : colors.quaternary, children: [isSelected ? symbols.arrowRight : " ", " "] })), itemComponent: ({ isSelected, label }) => {
32
- const node = sorted.find((n) => n.name === label);
33
- const isOnline = node?.status === "online";
34
- const isLocal = node?.isLocal;
35
- return (_jsxs(Box, { children: [_jsxs(Text, { color: isOnline ? colors.success : colors.dim, children: [isOnline ? symbols.dot : "○", " "] }), _jsx(Text, { color: isSelected ? colors.brand : colors.text, bold: isSelected, children: label }), isLocal && _jsx(Text, { color: colors.info, children: " (this machine)" }), !isOnline && _jsx(Text, { color: colors.dim, children: " offline" })] }));
36
- } }), _jsx(Text, { color: colors.quaternary, children: " esc to cancel" })] }));
105
+ $[10] = sorted;
106
+ $[11] = t6;
107
+ } else {
108
+ t6 = $[11];
109
+ }
110
+ let t7;
111
+ if ($[12] !== handleSelect || $[13] !== items || $[14] !== t6) {
112
+ t7 = /*#__PURE__*/_jsx(SelectInput, {
113
+ items: items,
114
+ onSelect: handleSelect,
115
+ indicatorComponent: _temp3,
116
+ itemComponent: t6
117
+ });
118
+ $[12] = handleSelect;
119
+ $[13] = items;
120
+ $[14] = t6;
121
+ $[15] = t7;
122
+ } else {
123
+ t7 = $[15];
124
+ }
125
+ let t8;
126
+ if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
127
+ t8 = /*#__PURE__*/_jsx(Text, {
128
+ color: colors.quaternary,
129
+ children: " esc to cancel"
130
+ });
131
+ $[16] = t8;
132
+ } else {
133
+ t8 = $[16];
134
+ }
135
+ let t9;
136
+ if ($[17] !== t7) {
137
+ t9 = /*#__PURE__*/_jsxs(Box, {
138
+ flexDirection: "column",
139
+ children: [t4, t5, t7, t8]
140
+ });
141
+ $[17] = t7;
142
+ $[18] = t9;
143
+ } else {
144
+ t9 = $[18];
145
+ }
146
+ return t9;
147
+ }
148
+ function _temp3(t0) {
149
+ const {
150
+ isSelected
151
+ } = t0;
152
+ return /*#__PURE__*/_jsxs(Text, {
153
+ color: isSelected ? colors.brand : colors.quaternary,
154
+ children: [isSelected ? symbols.arrowRight : " ", " "]
155
+ });
156
+ }
157
+ function _temp2(n) {
158
+ return {
159
+ label: n.name,
160
+ value: n.id
161
+ };
162
+ }
163
+ function _temp(a, b) {
164
+ if (a.isLocal && !b.isLocal) {
165
+ return -1;
166
+ }
167
+ if (!a.isLocal && b.isLocal) {
168
+ return 1;
169
+ }
170
+ if (a.status === "online" && b.status !== "online") {
171
+ return -1;
172
+ }
173
+ if (a.status !== "online" && b.status === "online") {
174
+ return 1;
175
+ }
176
+ return 0;
37
177
  }
178
+ //# sourceMappingURL=NodeSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeSelector.js","names":["React","Box","Text","useInput","SelectInput","colors","symbols","jsx","_jsx","jsxs","_jsxs","NodeSelector","t0","$","_c","nodes","onSelect","onCancel","t1","_input","key","escape","sorted","t2","sort","_temp","map","_temp2","items","t3","item","node","find","n_0","n","id","value","handleSelect","t4","t5","Symbol","for","color","secondary","children","height","t6","t7","isSelected","isSelected_0","label","node_0","n_1","name","isOnline","status","isLocal","success","dim","dot","brand","text","info","indicatorComponent","_temp3","itemComponent","t8","quaternary","t9","flexDirection","arrowRight","a","b"],"sources":["../../../src/cli/chat/NodeSelector.tsx"],"sourcesContent":["/**\n * NodeSelector — inline node picker for /deploy-cluster\n *\n * Renders a SelectInput with available nodes. Esc to cancel.\n * Follows StoreSelector pattern.\n */\n\nimport React from \"react\";\nimport { Box, Text, useInput } from \"ink\";\nimport SelectInput from \"ink-select-input\";\nimport { colors, symbols } from \"../shared/Theme.js\";\n\nexport interface NodeInfo {\n id: string;\n name: string;\n status: string;\n isLocal: boolean;\n}\n\ninterface NodeSelectorProps {\n nodes: NodeInfo[];\n onSelect: (node: NodeInfo) => void;\n onCancel: () => void;\n}\n\nexport function NodeSelector({ nodes, onSelect, onCancel }: NodeSelectorProps) {\n useInput((_input, key) => {\n if (key.escape) onCancel();\n });\n\n // Sort: local first, then online, then offline\n const sorted = [...nodes].sort((a, b) => {\n if (a.isLocal && !b.isLocal) return -1;\n if (!a.isLocal && b.isLocal) return 1;\n if (a.status === \"online\" && b.status !== \"online\") return -1;\n if (a.status !== \"online\" && b.status === \"online\") return 1;\n return 0;\n });\n\n const items = sorted.map((n) => ({\n label: n.name,\n value: n.id,\n }));\n\n const handleSelect = (item: { label: string; value: string }) => {\n const node = sorted.find((n) => n.id === item.value);\n if (node) onSelect(node);\n };\n\n return (\n <Box flexDirection=\"column\">\n <Text color={colors.secondary}> Select node for deployment:</Text>\n <Box height={1} />\n <SelectInput\n items={items}\n onSelect={handleSelect}\n indicatorComponent={({ isSelected }: { isSelected?: boolean }) => (\n <Text color={isSelected ? colors.brand : colors.quaternary}>\n {isSelected ? symbols.arrowRight : \" \"}{\" \"}\n </Text>\n )}\n itemComponent={({ isSelected, label }: { isSelected?: boolean; label: string }) => {\n const node = sorted.find((n) => n.name === label);\n const isOnline = node?.status === \"online\";\n const isLocal = node?.isLocal;\n return (\n <Box>\n <Text color={isOnline ? colors.success : colors.dim}>\n {isOnline ? symbols.dot : \"○\"}{\" \"}\n </Text>\n <Text color={isSelected ? colors.brand : colors.text} bold={isSelected}>\n {label}\n </Text>\n {isLocal && <Text color={colors.info}> (this machine)</Text>}\n {!isOnline && <Text color={colors.dim}> offline</Text>}\n </Box>\n );\n }}\n />\n <Text color={colors.quaternary}> esc to cancel</Text>\n </Box>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { c as _c } from "react/compiler-runtime";
2
2
  /**
3
3
  * PlanApproval — slim action picker for plan approval
4
4
  *
@@ -9,74 +9,298 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  * - Give feedback (text input for revision)
10
10
  * - Cancel (abort)
11
11
  */
12
+
12
13
  import { useState } from "react";
13
14
  import { Box, Text, useInput } from "ink";
14
15
  import { colors, symbols } from "../shared/Theme.js";
15
- const OPTIONS = [
16
- { label: "Execute", description: "Clear context & implement plan", action: "execute" },
17
- { label: "Edit plan", description: "Re-enter plan mode", action: "edit" },
18
- { label: "Give feedback", description: "Revise with your notes", action: "feedback" },
19
- { label: "Cancel", description: "Abort plan", action: "cancel" },
20
- ];
16
+
17
+ // ============================================================================
18
+ // TYPES
19
+ // ============================================================================
20
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
21
+ const OPTIONS = [{
22
+ label: "Execute",
23
+ description: "Clear context & implement plan",
24
+ action: "execute"
25
+ }, {
26
+ label: "Edit plan",
27
+ description: "Re-enter plan mode",
28
+ action: "edit"
29
+ }, {
30
+ label: "Give feedback",
31
+ description: "Revise with your notes",
32
+ action: "feedback"
33
+ }, {
34
+ label: "Cancel",
35
+ description: "Abort plan",
36
+ action: "cancel"
37
+ }];
38
+
21
39
  // ============================================================================
22
40
  // FEEDBACK INPUT SUB-COMPONENT
23
41
  // ============================================================================
24
- function FeedbackInput({ onSubmit, onCancel, }) {
25
- const [text, setText] = useState("");
26
- useInput((input, key) => {
27
- if (key.escape) {
28
- onCancel();
29
- return;
30
- }
31
- if (key.return) {
32
- if (text.trim()) {
33
- onSubmit(text.trim());
34
- }
35
- return;
36
- }
37
- if (key.backspace || key.delete) {
38
- setText(prev => prev.slice(0, -1));
39
- return;
40
- }
41
- if (!key.ctrl && !key.meta && input) {
42
- setText(prev => prev + input);
42
+
43
+ function FeedbackInput(t0) {
44
+ const $ = _c(11);
45
+ const {
46
+ onSubmit,
47
+ onCancel
48
+ } = t0;
49
+ const [text, setText] = useState("");
50
+ let t1;
51
+ if ($[0] !== onCancel || $[1] !== onSubmit || $[2] !== text) {
52
+ t1 = (input, key) => {
53
+ if (key.escape) {
54
+ onCancel();
55
+ return;
56
+ }
57
+ if (key.return) {
58
+ if (text.trim()) {
59
+ onSubmit(text.trim());
43
60
  }
61
+ return;
62
+ }
63
+ if (key.backspace || key.delete) {
64
+ setText(_temp);
65
+ return;
66
+ }
67
+ if (!key.ctrl && !key.meta && input) {
68
+ setText(prev_0 => prev_0 + input);
69
+ }
70
+ };
71
+ $[0] = onCancel;
72
+ $[1] = onSubmit;
73
+ $[2] = text;
74
+ $[3] = t1;
75
+ } else {
76
+ t1 = $[3];
77
+ }
78
+ useInput(t1);
79
+ let t2;
80
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
81
+ t2 = /*#__PURE__*/_jsx(Text, {
82
+ color: colors.brand,
83
+ bold: true,
84
+ children: "feedback: "
85
+ });
86
+ $[4] = t2;
87
+ } else {
88
+ t2 = $[4];
89
+ }
90
+ let t3;
91
+ if ($[5] !== text) {
92
+ t3 = /*#__PURE__*/_jsx(Text, {
93
+ children: text
94
+ });
95
+ $[5] = text;
96
+ $[6] = t3;
97
+ } else {
98
+ t3 = $[6];
99
+ }
100
+ let t4;
101
+ let t5;
102
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
103
+ t4 = /*#__PURE__*/_jsx(Text, {
104
+ color: colors.brand,
105
+ children: "|"
44
106
  });
45
- return (_jsxs(Box, { marginLeft: 2, children: [_jsx(Text, { color: colors.brand, bold: true, children: "feedback: " }), _jsx(Text, { children: text }), _jsx(Text, { color: colors.brand, children: "|" }), _jsx(Text, { color: colors.quaternary, children: " enter submit esc back" })] }));
107
+ t5 = /*#__PURE__*/_jsx(Text, {
108
+ color: colors.quaternary,
109
+ children: " enter submit esc back"
110
+ });
111
+ $[7] = t4;
112
+ $[8] = t5;
113
+ } else {
114
+ t4 = $[7];
115
+ t5 = $[8];
116
+ }
117
+ let t6;
118
+ if ($[9] !== t3) {
119
+ t6 = /*#__PURE__*/_jsxs(Box, {
120
+ marginLeft: 2,
121
+ children: [t2, t3, t4, t5]
122
+ });
123
+ $[9] = t3;
124
+ $[10] = t6;
125
+ } else {
126
+ t6 = $[10];
127
+ }
128
+ return t6;
46
129
  }
130
+
47
131
  // ============================================================================
48
132
  // MAIN COMPONENT
49
133
  // ============================================================================
50
- export function PlanApproval({ planFile, onDecision }) {
51
- const [selectedIndex, setSelectedIndex] = useState(0);
52
- const [mode, setMode] = useState("options");
53
- const termWidth = process.stdout.columns || 80;
54
- const divider = "─".repeat(Math.max(20, termWidth - 2));
55
- useInput((input, key) => {
56
- if (mode === "feedback")
57
- return;
58
- if (key.escape) {
59
- onDecision({ action: "cancel" });
60
- return;
61
- }
62
- if (key.upArrow) {
63
- setSelectedIndex(prev => Math.max(0, prev - 1));
64
- return;
65
- }
66
- if (key.downArrow) {
67
- setSelectedIndex(prev => Math.min(OPTIONS.length - 1, prev + 1));
68
- return;
69
- }
70
- if (key.return) {
71
- const option = OPTIONS[selectedIndex];
72
- if (option.action === "feedback") {
73
- setMode("feedback");
74
- }
75
- else {
76
- onDecision({ action: option.action });
77
- }
78
- return;
134
+ function _temp(prev) {
135
+ return prev.slice(0, -1);
136
+ }
137
+ export function PlanApproval(t0) {
138
+ const $ = _c(20);
139
+ const {
140
+ planFile,
141
+ onDecision
142
+ } = t0;
143
+ const [selectedIndex, setSelectedIndex] = useState(0);
144
+ const [mode, setMode] = useState("options");
145
+ const termWidth = process.stdout.columns || 80;
146
+ let t1;
147
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
148
+ t1 = "\u2500".repeat(Math.max(20, termWidth - 2));
149
+ $[0] = t1;
150
+ } else {
151
+ t1 = $[0];
152
+ }
153
+ const divider = t1;
154
+ let t2;
155
+ if ($[1] !== mode || $[2] !== onDecision || $[3] !== selectedIndex) {
156
+ t2 = (input, key) => {
157
+ if (mode === "feedback") {
158
+ return;
159
+ }
160
+ if (key.escape) {
161
+ onDecision({
162
+ action: "cancel"
163
+ });
164
+ return;
165
+ }
166
+ if (key.upArrow) {
167
+ setSelectedIndex(_temp2);
168
+ return;
169
+ }
170
+ if (key.downArrow) {
171
+ setSelectedIndex(_temp3);
172
+ return;
173
+ }
174
+ if (key.return) {
175
+ const option = OPTIONS[selectedIndex];
176
+ if (option.action === "feedback") {
177
+ setMode("feedback");
178
+ } else {
179
+ onDecision({
180
+ action: option.action
181
+ });
79
182
  }
183
+ return;
184
+ }
185
+ };
186
+ $[1] = mode;
187
+ $[2] = onDecision;
188
+ $[3] = selectedIndex;
189
+ $[4] = t2;
190
+ } else {
191
+ t2 = $[4];
192
+ }
193
+ useInput(t2);
194
+ let t3;
195
+ let t4;
196
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
197
+ t3 = /*#__PURE__*/_jsx(Text, {
198
+ children: " "
199
+ });
200
+ t4 = /*#__PURE__*/_jsx(Text, {
201
+ color: colors.separator,
202
+ children: divider
203
+ });
204
+ $[5] = t3;
205
+ $[6] = t4;
206
+ } else {
207
+ t3 = $[5];
208
+ t4 = $[6];
209
+ }
210
+ let t5;
211
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
212
+ t5 = /*#__PURE__*/_jsx(Text, {
213
+ color: colors.brand,
214
+ bold: true,
215
+ children: "Plan ready"
216
+ });
217
+ $[7] = t5;
218
+ } else {
219
+ t5 = $[7];
220
+ }
221
+ let t6;
222
+ if ($[8] !== planFile) {
223
+ t6 = /*#__PURE__*/_jsxs(Box, {
224
+ marginLeft: 2,
225
+ marginTop: 1,
226
+ children: [t5, /*#__PURE__*/_jsxs(Text, {
227
+ color: colors.dim,
228
+ children: [" ", planFile]
229
+ })]
80
230
  });
81
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { children: " " }), _jsx(Text, { color: colors.separator, children: divider }), _jsxs(Box, { marginLeft: 2, marginTop: 1, children: [_jsx(Text, { color: colors.brand, bold: true, children: "Plan ready" }), _jsxs(Text, { color: colors.dim, children: [" ", planFile] })] }), mode === "feedback" ? (_jsx(FeedbackInput, { onSubmit: (text) => onDecision({ action: "feedback", feedback: text }), onCancel: () => setMode("options") })) : (_jsx(Box, { marginLeft: 2, marginTop: 1, flexDirection: "column", children: OPTIONS.map((opt, i) => (_jsxs(Box, { children: [_jsxs(Text, { color: i === selectedIndex ? colors.brand : colors.quaternary, children: [i === selectedIndex ? symbols.arrowRight : " ", " "] }), _jsx(Text, { color: i === selectedIndex ? colors.text : colors.secondary, bold: i === selectedIndex, children: opt.label }), _jsxs(Text, { color: colors.dim, children: [" ", opt.description] })] }, opt.action))) })), _jsx(Box, { marginLeft: 2, marginTop: 1, children: _jsx(Text, { color: colors.quaternary, children: mode === "feedback" ? "enter submit esc back" : "↑↓ select enter confirm esc cancel" }) })] }));
231
+ $[8] = planFile;
232
+ $[9] = t6;
233
+ } else {
234
+ t6 = $[9];
235
+ }
236
+ let t7;
237
+ if ($[10] !== mode || $[11] !== onDecision || $[12] !== selectedIndex) {
238
+ t7 = mode === "feedback" ? /*#__PURE__*/_jsx(FeedbackInput, {
239
+ onSubmit: text => onDecision({
240
+ action: "feedback",
241
+ feedback: text
242
+ }),
243
+ onCancel: () => setMode("options")
244
+ }) : /*#__PURE__*/_jsx(Box, {
245
+ marginLeft: 2,
246
+ marginTop: 1,
247
+ flexDirection: "column",
248
+ children: OPTIONS.map((opt, i) => /*#__PURE__*/_jsxs(Box, {
249
+ children: [/*#__PURE__*/_jsxs(Text, {
250
+ color: i === selectedIndex ? colors.brand : colors.quaternary,
251
+ children: [i === selectedIndex ? symbols.arrowRight : " ", " "]
252
+ }), /*#__PURE__*/_jsx(Text, {
253
+ color: i === selectedIndex ? colors.text : colors.secondary,
254
+ bold: i === selectedIndex,
255
+ children: opt.label
256
+ }), /*#__PURE__*/_jsxs(Text, {
257
+ color: colors.dim,
258
+ children: [" ", opt.description]
259
+ })]
260
+ }, opt.action))
261
+ });
262
+ $[10] = mode;
263
+ $[11] = onDecision;
264
+ $[12] = selectedIndex;
265
+ $[13] = t7;
266
+ } else {
267
+ t7 = $[13];
268
+ }
269
+ const t8 = mode === "feedback" ? "enter submit esc back" : "\u2191\u2193 select enter confirm esc cancel";
270
+ let t9;
271
+ if ($[14] !== t8) {
272
+ t9 = /*#__PURE__*/_jsx(Box, {
273
+ marginLeft: 2,
274
+ marginTop: 1,
275
+ children: /*#__PURE__*/_jsx(Text, {
276
+ color: colors.quaternary,
277
+ children: t8
278
+ })
279
+ });
280
+ $[14] = t8;
281
+ $[15] = t9;
282
+ } else {
283
+ t9 = $[15];
284
+ }
285
+ let t10;
286
+ if ($[16] !== t6 || $[17] !== t7 || $[18] !== t9) {
287
+ t10 = /*#__PURE__*/_jsxs(Box, {
288
+ flexDirection: "column",
289
+ children: [t3, t4, t6, t7, t9]
290
+ });
291
+ $[16] = t6;
292
+ $[17] = t7;
293
+ $[18] = t9;
294
+ $[19] = t10;
295
+ } else {
296
+ t10 = $[19];
297
+ }
298
+ return t10;
299
+ }
300
+ function _temp3(prev_0) {
301
+ return Math.min(OPTIONS.length - 1, prev_0 + 1);
302
+ }
303
+ function _temp2(prev) {
304
+ return Math.max(0, prev - 1);
82
305
  }
306
+ //# sourceMappingURL=PlanApproval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlanApproval.js","names":["useState","Box","Text","useInput","colors","symbols","jsx","_jsx","jsxs","_jsxs","OPTIONS","label","description","action","FeedbackInput","t0","$","_c","onSubmit","onCancel","text","setText","t1","input","key","escape","return","trim","backspace","delete","_temp","ctrl","meta","prev_0","prev","t2","Symbol","for","color","brand","bold","children","t3","t4","t5","quaternary","t6","marginLeft","slice","PlanApproval","planFile","onDecision","selectedIndex","setSelectedIndex","mode","setMode","termWidth","process","stdout","columns","repeat","Math","max","divider","upArrow","_temp2","downArrow","_temp3","option","separator","marginTop","dim","t7","feedback","flexDirection","map","opt","i","arrowRight","secondary","t8","t9","t10","min","length"],"sources":["../../../src/cli/chat/PlanApproval.tsx"],"sourcesContent":["/**\n * PlanApproval — slim action picker for plan approval\n *\n * Plan content is rendered in the Static area (normal terminal scrolling).\n * This component only shows the action options:\n * - Execute (clear context, keep plan — default)\n * - Edit plan (re-enter plan mode)\n * - Give feedback (text input for revision)\n * - Cancel (abort)\n */\n\nimport { useState } from \"react\";\nimport { Box, Text, useInput } from \"ink\";\nimport { colors, symbols } from \"../shared/Theme.js\";\nimport type { PlanApprovalDecision } from \"../services/interactive-tools.js\";\n\n// ============================================================================\n// TYPES\n// ============================================================================\n\ninterface PlanApprovalProps {\n planFile: string;\n onDecision: (decision: PlanApprovalDecision) => void;\n}\n\ninterface ActionOption {\n label: string;\n description: string;\n action: PlanApprovalDecision[\"action\"];\n}\n\nconst OPTIONS: ActionOption[] = [\n { label: \"Execute\", description: \"Clear context & implement plan\", action: \"execute\" },\n { label: \"Edit plan\", description: \"Re-enter plan mode\", action: \"edit\" },\n { label: \"Give feedback\", description: \"Revise with your notes\", action: \"feedback\" },\n { label: \"Cancel\", description: \"Abort plan\", action: \"cancel\" },\n];\n\n// ============================================================================\n// FEEDBACK INPUT SUB-COMPONENT\n// ============================================================================\n\nfunction FeedbackInput({\n onSubmit,\n onCancel,\n}: {\n onSubmit: (text: string) => void;\n onCancel: () => void;\n}) {\n const [text, setText] = useState(\"\");\n\n useInput((input, key) => {\n if (key.escape) {\n onCancel();\n return;\n }\n if (key.return) {\n if (text.trim()) {\n onSubmit(text.trim());\n }\n return;\n }\n if (key.backspace || key.delete) {\n setText(prev => prev.slice(0, -1));\n return;\n }\n if (!key.ctrl && !key.meta && input) {\n setText(prev => prev + input);\n }\n });\n\n return (\n <Box marginLeft={2}>\n <Text color={colors.brand} bold>feedback: </Text>\n <Text>{text}</Text>\n <Text color={colors.brand}>|</Text>\n <Text color={colors.quaternary}> enter submit esc back</Text>\n </Box>\n );\n}\n\n// ============================================================================\n// MAIN COMPONENT\n// ============================================================================\n\nexport function PlanApproval({ planFile, onDecision }: PlanApprovalProps) {\n const [selectedIndex, setSelectedIndex] = useState(0);\n const [mode, setMode] = useState<\"options\" | \"feedback\">(\"options\");\n\n const termWidth = process.stdout.columns || 80;\n const divider = \"─\".repeat(Math.max(20, termWidth - 2));\n\n useInput((input, key) => {\n if (mode === \"feedback\") return;\n\n if (key.escape) {\n onDecision({ action: \"cancel\" });\n return;\n }\n\n if (key.upArrow) {\n setSelectedIndex(prev => Math.max(0, prev - 1));\n return;\n }\n if (key.downArrow) {\n setSelectedIndex(prev => Math.min(OPTIONS.length - 1, prev + 1));\n return;\n }\n\n if (key.return) {\n const option = OPTIONS[selectedIndex];\n if (option.action === \"feedback\") {\n setMode(\"feedback\");\n } else {\n onDecision({ action: option.action });\n }\n return;\n }\n });\n\n return (\n <Box flexDirection=\"column\">\n <Text>{\" \"}</Text>\n <Text color={colors.separator}>{divider}</Text>\n <Box marginLeft={2} marginTop={1}>\n <Text color={colors.brand} bold>Plan ready</Text>\n <Text color={colors.dim}> {planFile}</Text>\n </Box>\n\n {mode === \"feedback\" ? (\n <FeedbackInput\n onSubmit={(text) => onDecision({ action: \"feedback\", feedback: text })}\n onCancel={() => setMode(\"options\")}\n />\n ) : (\n <Box marginLeft={2} marginTop={1} flexDirection=\"column\">\n {OPTIONS.map((opt, i) => (\n <Box key={opt.action}>\n <Text color={i === selectedIndex ? colors.brand : colors.quaternary}>\n {i === selectedIndex ? symbols.arrowRight : \" \"}{\" \"}\n </Text>\n <Text\n color={i === selectedIndex ? colors.text : colors.secondary}\n bold={i === selectedIndex}\n >\n {opt.label}\n </Text>\n <Text color={colors.dim}> {opt.description}</Text>\n </Box>\n ))}\n </Box>\n )}\n\n <Box marginLeft={2} marginTop={1}>\n <Text color={colors.quaternary}>\n {mode === \"feedback\" ? \"enter submit esc back\" : \"↑↓ select enter confirm esc cancel\"}\n </Text>\n </Box>\n </Box>\n );\n}\n"],"mappings":"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","ignoreList":[]}