@calliopelabs/cli 2.5.0 → 3.1.0

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 (490) hide show
  1. package/README.md +45 -661
  2. package/dist/acp.d.ts +78 -0
  3. package/dist/acp.d.ts.map +1 -0
  4. package/dist/acp.js +572 -0
  5. package/dist/acp.js.map +1 -0
  6. package/dist/bin.d.ts +3 -7
  7. package/dist/bin.d.ts.map +1 -1
  8. package/dist/bin.js +56 -79
  9. package/dist/bin.js.map +1 -1
  10. package/dist/budget.d.ts +64 -0
  11. package/dist/budget.d.ts.map +1 -0
  12. package/dist/budget.js +157 -0
  13. package/dist/budget.js.map +1 -0
  14. package/dist/checkpoint.d.ts +63 -30
  15. package/dist/checkpoint.d.ts.map +1 -1
  16. package/dist/checkpoint.js +247 -160
  17. package/dist/checkpoint.js.map +1 -1
  18. package/dist/circuit-breaker/breaker.d.ts.map +1 -1
  19. package/dist/circuit-breaker/breaker.js.map +1 -1
  20. package/dist/config.d.ts +86 -81
  21. package/dist/config.d.ts.map +1 -1
  22. package/dist/config.js +236 -304
  23. package/dist/config.js.map +1 -1
  24. package/dist/cost.d.ts +114 -0
  25. package/dist/cost.d.ts.map +1 -0
  26. package/dist/cost.js +499 -0
  27. package/dist/cost.js.map +1 -0
  28. package/dist/diff.d.ts.map +1 -1
  29. package/dist/diff.js +11 -7
  30. package/dist/diff.js.map +1 -1
  31. package/dist/env-expansion.js.map +1 -1
  32. package/dist/errors.js +3 -3
  33. package/dist/errors.js.map +1 -1
  34. package/dist/files.js.map +1 -1
  35. package/dist/fleet.d.ts +30 -0
  36. package/dist/fleet.d.ts.map +1 -0
  37. package/dist/fleet.js +86 -0
  38. package/dist/fleet.js.map +1 -0
  39. package/dist/fuzzy-search.d.ts.map +1 -1
  40. package/dist/fuzzy-search.js +2 -1
  41. package/dist/fuzzy-search.js.map +1 -1
  42. package/dist/git-status.js.map +1 -1
  43. package/dist/headless.d.ts +1 -2
  44. package/dist/headless.d.ts.map +1 -1
  45. package/dist/headless.js +166 -24
  46. package/dist/headless.js.map +1 -1
  47. package/dist/hud/api.d.ts +3 -18
  48. package/dist/hud/api.d.ts.map +1 -1
  49. package/dist/hud/api.js +9 -352
  50. package/dist/hud/api.js.map +1 -1
  51. package/dist/hud/palettes.d.ts.map +1 -1
  52. package/dist/hud/palettes.js +0 -180
  53. package/dist/hud/palettes.js.map +1 -1
  54. package/dist/hud/skins.d.ts.map +1 -1
  55. package/dist/hud/skins.js +0 -263
  56. package/dist/hud/skins.js.map +1 -1
  57. package/dist/hud/types.d.ts +2 -5
  58. package/dist/hud/types.d.ts.map +1 -1
  59. package/dist/index.d.ts +1 -4
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +1 -4
  62. package/dist/index.js.map +1 -1
  63. package/dist/iteration-ledger.d.ts.map +1 -1
  64. package/dist/iteration-ledger.js +3 -2
  65. package/dist/iteration-ledger.js.map +1 -1
  66. package/dist/local-model.d.ts +150 -0
  67. package/dist/local-model.d.ts.map +1 -0
  68. package/dist/local-model.js +408 -0
  69. package/dist/local-model.js.map +1 -0
  70. package/dist/mcp.d.ts.map +1 -1
  71. package/dist/mcp.js +5 -2
  72. package/dist/mcp.js.map +1 -1
  73. package/dist/memory.d.ts.map +1 -1
  74. package/dist/memory.js +6 -4
  75. package/dist/memory.js.map +1 -1
  76. package/dist/model-detection.js +2 -2
  77. package/dist/model-detection.js.map +1 -1
  78. package/dist/parallel-tools.js.map +1 -1
  79. package/dist/plugins.d.ts +32 -1
  80. package/dist/plugins.d.ts.map +1 -1
  81. package/dist/plugins.js +116 -5
  82. package/dist/plugins.js.map +1 -1
  83. package/dist/policy.d.ts +43 -0
  84. package/dist/policy.d.ts.map +1 -0
  85. package/dist/policy.js +139 -0
  86. package/dist/policy.js.map +1 -0
  87. package/dist/project-config.d.ts +1 -2
  88. package/dist/project-config.d.ts.map +1 -1
  89. package/dist/project-config.js +0 -3
  90. package/dist/project-config.js.map +1 -1
  91. package/dist/providers/bedrock.d.ts.map +1 -1
  92. package/dist/providers/bedrock.js +2 -5
  93. package/dist/providers/bedrock.js.map +1 -1
  94. package/dist/providers/compat.d.ts +21 -0
  95. package/dist/providers/compat.d.ts.map +1 -1
  96. package/dist/providers/compat.js +176 -6
  97. package/dist/providers/compat.js.map +1 -1
  98. package/dist/providers/google.js.map +1 -1
  99. package/dist/providers/index.d.ts +19 -4
  100. package/dist/providers/index.d.ts.map +1 -1
  101. package/dist/providers/index.js +61 -10
  102. package/dist/providers/index.js.map +1 -1
  103. package/dist/providers/ollama.d.ts +2 -2
  104. package/dist/providers/ollama.d.ts.map +1 -1
  105. package/dist/providers/ollama.js +26 -6
  106. package/dist/providers/ollama.js.map +1 -1
  107. package/dist/providers/openai.d.ts +10 -10
  108. package/dist/providers/openai.d.ts.map +1 -1
  109. package/dist/providers/openai.js +18 -10
  110. package/dist/providers/openai.js.map +1 -1
  111. package/dist/providers/types.d.ts +8 -0
  112. package/dist/providers/types.d.ts.map +1 -1
  113. package/dist/providers/types.js.map +1 -1
  114. package/dist/replay.d.ts +37 -0
  115. package/dist/replay.d.ts.map +1 -0
  116. package/dist/replay.js +168 -0
  117. package/dist/replay.js.map +1 -0
  118. package/dist/router.d.ts +133 -0
  119. package/dist/router.d.ts.map +1 -0
  120. package/dist/{model-router.js → router.js} +329 -3
  121. package/dist/router.js.map +1 -0
  122. package/dist/runlog.d.ts +185 -0
  123. package/dist/runlog.d.ts.map +1 -0
  124. package/dist/runlog.js +398 -0
  125. package/dist/runlog.js.map +1 -0
  126. package/dist/{sandbox.d.ts → sandbox/docker.d.ts} +1 -1
  127. package/dist/sandbox/docker.d.ts.map +1 -0
  128. package/dist/{sandbox.js → sandbox/docker.js} +1 -1
  129. package/dist/sandbox/docker.js.map +1 -0
  130. package/dist/sandbox/index.d.ts +36 -0
  131. package/dist/sandbox/index.d.ts.map +1 -0
  132. package/dist/sandbox/index.js +62 -0
  133. package/dist/sandbox/index.js.map +1 -0
  134. package/dist/{sandbox-native.d.ts → sandbox/native.d.ts} +1 -1
  135. package/dist/sandbox/native.d.ts.map +1 -0
  136. package/dist/{sandbox-native.js → sandbox/native.js} +1 -1
  137. package/dist/sandbox/native.js.map +1 -0
  138. package/dist/scope.d.ts.map +1 -1
  139. package/dist/scope.js +1 -1
  140. package/dist/scope.js.map +1 -1
  141. package/dist/scuttlebot/client.d.ts.map +1 -1
  142. package/dist/scuttlebot/client.js.map +1 -1
  143. package/dist/scuttlebot/config.js.map +1 -1
  144. package/dist/scuttlebot/http-client.d.ts.map +1 -1
  145. package/dist/scuttlebot/irc-client.d.ts +5 -5
  146. package/dist/scuttlebot/irc-client.d.ts.map +1 -1
  147. package/dist/scuttlebot/irc-client.js.map +1 -1
  148. package/dist/setup.d.ts.map +1 -1
  149. package/dist/setup.js +25 -54
  150. package/dist/setup.js.map +1 -1
  151. package/dist/skills.d.ts +39 -0
  152. package/dist/skills.d.ts.map +1 -1
  153. package/dist/skills.js +90 -8
  154. package/dist/skills.js.map +1 -1
  155. package/dist/storage.d.ts.map +1 -1
  156. package/dist/storage.js +6 -3
  157. package/dist/storage.js.map +1 -1
  158. package/dist/streaming.d.ts +25 -0
  159. package/dist/streaming.d.ts.map +1 -1
  160. package/dist/streaming.js +59 -0
  161. package/dist/streaming.js.map +1 -1
  162. package/dist/styles.d.ts +62 -56
  163. package/dist/styles.d.ts.map +1 -1
  164. package/dist/styles.js +11 -0
  165. package/dist/styles.js.map +1 -1
  166. package/dist/summarization.d.ts.map +1 -1
  167. package/dist/summarization.js.map +1 -1
  168. package/dist/terminal-image.js +1 -1
  169. package/dist/terminal-image.js.map +1 -1
  170. package/dist/themes.d.ts +5 -4
  171. package/dist/themes.d.ts.map +1 -1
  172. package/dist/themes.js +35 -90
  173. package/dist/themes.js.map +1 -1
  174. package/dist/tools.d.ts +27 -3
  175. package/dist/tools.d.ts.map +1 -1
  176. package/dist/tools.js +128 -179
  177. package/dist/tools.js.map +1 -1
  178. package/dist/trust.js.map +1 -1
  179. package/dist/types.d.ts +4 -3
  180. package/dist/types.d.ts.map +1 -1
  181. package/dist/types.js +21 -40
  182. package/dist/types.js.map +1 -1
  183. package/dist/ui/agent.d.ts +3 -6
  184. package/dist/ui/agent.d.ts.map +1 -1
  185. package/dist/ui/agent.js +328 -38
  186. package/dist/ui/agent.js.map +1 -1
  187. package/dist/ui/animations.d.ts +37 -0
  188. package/dist/ui/animations.d.ts.map +1 -0
  189. package/dist/ui/animations.js +227 -0
  190. package/dist/ui/animations.js.map +1 -0
  191. package/dist/ui/chat-input-keys.d.ts +42 -0
  192. package/dist/ui/chat-input-keys.d.ts.map +1 -0
  193. package/dist/ui/chat-input-keys.js +360 -0
  194. package/dist/ui/chat-input-keys.js.map +1 -0
  195. package/dist/ui/chat-input.d.ts +4 -2
  196. package/dist/ui/chat-input.d.ts.map +1 -1
  197. package/dist/ui/chat-input.js +31 -350
  198. package/dist/ui/chat-input.js.map +1 -1
  199. package/dist/ui/commands.d.ts +14 -46
  200. package/dist/ui/commands.d.ts.map +1 -1
  201. package/dist/ui/commands.js +416 -2899
  202. package/dist/ui/commands.js.map +1 -1
  203. package/dist/ui/completions.d.ts +1 -0
  204. package/dist/ui/completions.d.ts.map +1 -1
  205. package/dist/ui/completions.js +36 -107
  206. package/dist/ui/completions.js.map +1 -1
  207. package/dist/ui/components.d.ts +20 -12
  208. package/dist/ui/components.d.ts.map +1 -1
  209. package/dist/ui/components.js +17 -226
  210. package/dist/ui/components.js.map +1 -1
  211. package/dist/ui/context.js +6 -6
  212. package/dist/ui/context.js.map +1 -1
  213. package/dist/ui/debug-log.d.ts +11 -0
  214. package/dist/ui/debug-log.d.ts.map +1 -0
  215. package/dist/ui/debug-log.js +21 -0
  216. package/dist/ui/debug-log.js.map +1 -0
  217. package/dist/ui/error-boundary.d.ts +1 -1
  218. package/dist/ui/error-boundary.d.ts.map +1 -1
  219. package/dist/ui/error-boundary.js.map +1 -1
  220. package/dist/ui/frame.d.ts +1 -1
  221. package/dist/ui/frame.d.ts.map +1 -1
  222. package/dist/ui/frame.js +1 -3
  223. package/dist/ui/frame.js.map +1 -1
  224. package/dist/ui/index.d.ts +11 -3
  225. package/dist/ui/index.d.ts.map +1 -1
  226. package/dist/ui/index.js +45 -1076
  227. package/dist/ui/index.js.map +1 -1
  228. package/dist/ui/messages.d.ts +5 -8
  229. package/dist/ui/messages.d.ts.map +1 -1
  230. package/dist/ui/messages.js +15 -30
  231. package/dist/ui/messages.js.map +1 -1
  232. package/dist/ui/modals/index.d.ts +11 -0
  233. package/dist/ui/modals/index.d.ts.map +1 -0
  234. package/dist/ui/modals/index.js +10 -0
  235. package/dist/ui/modals/index.js.map +1 -0
  236. package/dist/ui/modals/prompts.d.ts +38 -0
  237. package/dist/ui/modals/prompts.d.ts.map +1 -0
  238. package/dist/ui/modals/prompts.js +124 -0
  239. package/dist/ui/modals/prompts.js.map +1 -0
  240. package/dist/ui/modals/selectors.d.ts +34 -0
  241. package/dist/ui/modals/selectors.d.ts.map +1 -0
  242. package/dist/ui/modals/selectors.js +111 -0
  243. package/dist/ui/modals/selectors.js.map +1 -0
  244. package/dist/ui/modals/setup.d.ts +18 -0
  245. package/dist/ui/modals/setup.d.ts.map +1 -0
  246. package/dist/ui/modals/setup.js +51 -0
  247. package/dist/ui/modals/setup.js.map +1 -0
  248. package/dist/ui/regions/input-region.d.ts +40 -0
  249. package/dist/ui/regions/input-region.d.ts.map +1 -0
  250. package/dist/ui/regions/input-region.js +116 -0
  251. package/dist/ui/regions/input-region.js.map +1 -0
  252. package/dist/ui/regions/modal-host.d.ts +41 -0
  253. package/dist/ui/regions/modal-host.d.ts.map +1 -0
  254. package/dist/ui/regions/modal-host.js +51 -0
  255. package/dist/ui/regions/modal-host.js.map +1 -0
  256. package/dist/ui/regions/render-probe.d.ts +22 -0
  257. package/dist/ui/regions/render-probe.d.ts.map +1 -0
  258. package/dist/ui/regions/render-probe.js +45 -0
  259. package/dist/ui/regions/render-probe.js.map +1 -0
  260. package/dist/ui/regions/static-scrollback.d.ts +39 -0
  261. package/dist/ui/regions/static-scrollback.d.ts.map +1 -0
  262. package/dist/ui/regions/static-scrollback.js +68 -0
  263. package/dist/ui/regions/static-scrollback.js.map +1 -0
  264. package/dist/ui/regions/status-region.d.ts +24 -0
  265. package/dist/ui/regions/status-region.d.ts.map +1 -0
  266. package/dist/ui/regions/status-region.js +17 -0
  267. package/dist/ui/regions/status-region.js.map +1 -0
  268. package/dist/ui/regions/transcript-region.d.ts +41 -0
  269. package/dist/ui/regions/transcript-region.d.ts.map +1 -0
  270. package/dist/ui/regions/transcript-region.js +52 -0
  271. package/dist/ui/regions/transcript-region.js.map +1 -0
  272. package/dist/ui/self-restart.d.ts +9 -0
  273. package/dist/ui/self-restart.d.ts.map +1 -0
  274. package/dist/ui/self-restart.js +24 -0
  275. package/dist/ui/self-restart.js.map +1 -0
  276. package/dist/ui/state/use-chat-controller.d.ts +23 -0
  277. package/dist/ui/state/use-chat-controller.d.ts.map +1 -0
  278. package/dist/ui/state/use-chat-controller.js +643 -0
  279. package/dist/ui/state/use-chat-controller.js.map +1 -0
  280. package/dist/ui/state/use-loop-state.d.ts +23 -0
  281. package/dist/ui/state/use-loop-state.d.ts.map +1 -0
  282. package/dist/ui/state/use-loop-state.js +39 -0
  283. package/dist/ui/state/use-loop-state.js.map +1 -0
  284. package/dist/ui/state/use-modal-state.d.ts +52 -0
  285. package/dist/ui/state/use-modal-state.d.ts.map +1 -0
  286. package/dist/ui/state/use-modal-state.js +44 -0
  287. package/dist/ui/state/use-modal-state.js.map +1 -0
  288. package/dist/ui/state/use-model-state.d.ts +29 -0
  289. package/dist/ui/state/use-model-state.d.ts.map +1 -0
  290. package/dist/ui/state/use-model-state.js +47 -0
  291. package/dist/ui/state/use-model-state.js.map +1 -0
  292. package/dist/ui/state/use-processing-state.d.ts +24 -0
  293. package/dist/ui/state/use-processing-state.d.ts.map +1 -0
  294. package/dist/ui/state/use-processing-state.js +46 -0
  295. package/dist/ui/state/use-processing-state.js.map +1 -0
  296. package/dist/ui/state/use-queue-state.d.ts +19 -0
  297. package/dist/ui/state/use-queue-state.d.ts.map +1 -0
  298. package/dist/ui/state/use-queue-state.js +30 -0
  299. package/dist/ui/state/use-queue-state.js.map +1 -0
  300. package/dist/ui/state/use-session-init.d.ts +22 -0
  301. package/dist/ui/state/use-session-init.d.ts.map +1 -0
  302. package/dist/ui/state/use-session-init.js +77 -0
  303. package/dist/ui/state/use-session-init.js.map +1 -0
  304. package/dist/ui/state/use-session-stats.d.ts +16 -0
  305. package/dist/ui/state/use-session-stats.d.ts.map +1 -0
  306. package/dist/ui/state/use-session-stats.js +18 -0
  307. package/dist/ui/state/use-session-stats.js.map +1 -0
  308. package/dist/ui/state/use-terminal-width.d.ts +8 -0
  309. package/dist/ui/state/use-terminal-width.d.ts.map +1 -0
  310. package/dist/ui/state/use-terminal-width.js +22 -0
  311. package/dist/ui/state/use-terminal-width.js.map +1 -0
  312. package/dist/ui/state/use-transcript-state.d.ts +21 -0
  313. package/dist/ui/state/use-transcript-state.d.ts.map +1 -0
  314. package/dist/ui/state/use-transcript-state.js +49 -0
  315. package/dist/ui/state/use-transcript-state.js.map +1 -0
  316. package/dist/ui/status-bar.d.ts +1 -1
  317. package/dist/ui/status-bar.d.ts.map +1 -1
  318. package/dist/ui/status-bar.js +3 -4
  319. package/dist/ui/status-bar.js.map +1 -1
  320. package/dist/version-check.d.ts.map +1 -1
  321. package/dist/version-check.js +10 -0
  322. package/dist/version-check.js.map +1 -1
  323. package/package.json +17 -10
  324. package/dist/agents/agent-config-loader.d.ts +0 -60
  325. package/dist/agents/agent-config-loader.d.ts.map +0 -1
  326. package/dist/agents/agent-config-loader.js +0 -402
  327. package/dist/agents/agent-config-loader.js.map +0 -1
  328. package/dist/agents/agent-config-presets.d.ts +0 -10
  329. package/dist/agents/agent-config-presets.d.ts.map +0 -1
  330. package/dist/agents/agent-config-presets.js +0 -940
  331. package/dist/agents/agent-config-presets.js.map +0 -1
  332. package/dist/agents/agent-config-types.d.ts +0 -145
  333. package/dist/agents/agent-config-types.d.ts.map +0 -1
  334. package/dist/agents/agent-config-types.js +0 -12
  335. package/dist/agents/agent-config-types.js.map +0 -1
  336. package/dist/agents/agent-detection.d.ts +0 -35
  337. package/dist/agents/agent-detection.d.ts.map +0 -1
  338. package/dist/agents/agent-detection.js +0 -110
  339. package/dist/agents/agent-detection.js.map +0 -1
  340. package/dist/agents/aggregator.d.ts +0 -19
  341. package/dist/agents/aggregator.d.ts.map +0 -1
  342. package/dist/agents/aggregator.js +0 -141
  343. package/dist/agents/aggregator.js.map +0 -1
  344. package/dist/agents/cli-backend.d.ts +0 -32
  345. package/dist/agents/cli-backend.d.ts.map +0 -1
  346. package/dist/agents/cli-backend.js +0 -271
  347. package/dist/agents/cli-backend.js.map +0 -1
  348. package/dist/agents/council-types.d.ts +0 -115
  349. package/dist/agents/council-types.d.ts.map +0 -1
  350. package/dist/agents/council-types.js +0 -81
  351. package/dist/agents/council-types.js.map +0 -1
  352. package/dist/agents/council.d.ts +0 -112
  353. package/dist/agents/council.d.ts.map +0 -1
  354. package/dist/agents/council.js +0 -722
  355. package/dist/agents/council.js.map +0 -1
  356. package/dist/agents/decomposer.d.ts +0 -33
  357. package/dist/agents/decomposer.d.ts.map +0 -1
  358. package/dist/agents/decomposer.js +0 -138
  359. package/dist/agents/decomposer.js.map +0 -1
  360. package/dist/agents/dynamic-tools.d.ts +0 -52
  361. package/dist/agents/dynamic-tools.d.ts.map +0 -1
  362. package/dist/agents/dynamic-tools.js +0 -424
  363. package/dist/agents/dynamic-tools.js.map +0 -1
  364. package/dist/agents/index.d.ts +0 -29
  365. package/dist/agents/index.d.ts.map +0 -1
  366. package/dist/agents/index.js +0 -29
  367. package/dist/agents/index.js.map +0 -1
  368. package/dist/agents/installer.d.ts +0 -39
  369. package/dist/agents/installer.d.ts.map +0 -1
  370. package/dist/agents/installer.js +0 -205
  371. package/dist/agents/installer.js.map +0 -1
  372. package/dist/agents/orchestrator.d.ts +0 -106
  373. package/dist/agents/orchestrator.d.ts.map +0 -1
  374. package/dist/agents/orchestrator.js +0 -363
  375. package/dist/agents/orchestrator.js.map +0 -1
  376. package/dist/agents/sdk-backend.d.ts +0 -63
  377. package/dist/agents/sdk-backend.d.ts.map +0 -1
  378. package/dist/agents/sdk-backend.js +0 -489
  379. package/dist/agents/sdk-backend.js.map +0 -1
  380. package/dist/agents/swarm-types.d.ts +0 -84
  381. package/dist/agents/swarm-types.d.ts.map +0 -1
  382. package/dist/agents/swarm-types.js +0 -20
  383. package/dist/agents/swarm-types.js.map +0 -1
  384. package/dist/agents/swarm.d.ts +0 -79
  385. package/dist/agents/swarm.d.ts.map +0 -1
  386. package/dist/agents/swarm.js +0 -375
  387. package/dist/agents/swarm.js.map +0 -1
  388. package/dist/agents/tools.d.ts +0 -26
  389. package/dist/agents/tools.d.ts.map +0 -1
  390. package/dist/agents/tools.js +0 -776
  391. package/dist/agents/tools.js.map +0 -1
  392. package/dist/agents/types.d.ts +0 -108
  393. package/dist/agents/types.d.ts.map +0 -1
  394. package/dist/agents/types.js +0 -43
  395. package/dist/agents/types.js.map +0 -1
  396. package/dist/api-server.d.ts +0 -45
  397. package/dist/api-server.d.ts.map +0 -1
  398. package/dist/api-server.js +0 -326
  399. package/dist/api-server.js.map +0 -1
  400. package/dist/auto-checkpoint.d.ts +0 -35
  401. package/dist/auto-checkpoint.d.ts.map +0 -1
  402. package/dist/auto-checkpoint.js +0 -176
  403. package/dist/auto-checkpoint.js.map +0 -1
  404. package/dist/background-jobs.d.ts +0 -45
  405. package/dist/background-jobs.d.ts.map +0 -1
  406. package/dist/background-jobs.js +0 -127
  407. package/dist/background-jobs.js.map +0 -1
  408. package/dist/branching.d.ts +0 -56
  409. package/dist/branching.d.ts.map +0 -1
  410. package/dist/branching.js +0 -224
  411. package/dist/branching.js.map +0 -1
  412. package/dist/cli/agent.d.ts +0 -9
  413. package/dist/cli/agent.d.ts.map +0 -1
  414. package/dist/cli/agent.js +0 -330
  415. package/dist/cli/agent.js.map +0 -1
  416. package/dist/cli/commands.d.ts +0 -12
  417. package/dist/cli/commands.d.ts.map +0 -1
  418. package/dist/cli/commands.js +0 -1042
  419. package/dist/cli/commands.js.map +0 -1
  420. package/dist/cli/index.d.ts +0 -8
  421. package/dist/cli/index.d.ts.map +0 -1
  422. package/dist/cli/index.js +0 -268
  423. package/dist/cli/index.js.map +0 -1
  424. package/dist/cli/types.d.ts +0 -33
  425. package/dist/cli/types.d.ts.map +0 -1
  426. package/dist/cli/types.js +0 -21
  427. package/dist/cli/types.js.map +0 -1
  428. package/dist/companions.d.ts +0 -54
  429. package/dist/companions.d.ts.map +0 -1
  430. package/dist/companions.js +0 -440
  431. package/dist/companions.js.map +0 -1
  432. package/dist/file-watcher.d.ts +0 -91
  433. package/dist/file-watcher.d.ts.map +0 -1
  434. package/dist/file-watcher.js +0 -269
  435. package/dist/file-watcher.js.map +0 -1
  436. package/dist/hud/theme-packs/api.d.ts +0 -51
  437. package/dist/hud/theme-packs/api.d.ts.map +0 -1
  438. package/dist/hud/theme-packs/api.js +0 -145
  439. package/dist/hud/theme-packs/api.js.map +0 -1
  440. package/dist/hud/theme-packs/index.d.ts +0 -18
  441. package/dist/hud/theme-packs/index.d.ts.map +0 -1
  442. package/dist/hud/theme-packs/index.js +0 -38
  443. package/dist/hud/theme-packs/index.js.map +0 -1
  444. package/dist/hud/theme-packs/types.d.ts +0 -29
  445. package/dist/hud/theme-packs/types.d.ts.map +0 -1
  446. package/dist/hud/theme-packs/types.js +0 -9
  447. package/dist/hud/theme-packs/types.js.map +0 -1
  448. package/dist/idle-eviction.d.ts +0 -34
  449. package/dist/idle-eviction.d.ts.map +0 -1
  450. package/dist/idle-eviction.js +0 -85
  451. package/dist/idle-eviction.js.map +0 -1
  452. package/dist/model-router.d.ts +0 -67
  453. package/dist/model-router.d.ts.map +0 -1
  454. package/dist/model-router.js.map +0 -1
  455. package/dist/providers/openai-compat-shims.d.ts +0 -31
  456. package/dist/providers/openai-compat-shims.d.ts.map +0 -1
  457. package/dist/providers/openai-compat-shims.js +0 -179
  458. package/dist/providers/openai-compat-shims.js.map +0 -1
  459. package/dist/sandbox-native.d.ts.map +0 -1
  460. package/dist/sandbox-native.js.map +0 -1
  461. package/dist/sandbox.d.ts.map +0 -1
  462. package/dist/sandbox.js.map +0 -1
  463. package/dist/session-timeout.d.ts +0 -31
  464. package/dist/session-timeout.d.ts.map +0 -1
  465. package/dist/session-timeout.js +0 -100
  466. package/dist/session-timeout.js.map +0 -1
  467. package/dist/smart-router.d.ts +0 -73
  468. package/dist/smart-router.d.ts.map +0 -1
  469. package/dist/smart-router.js +0 -332
  470. package/dist/smart-router.js.map +0 -1
  471. package/dist/terminal-recording.d.ts +0 -55
  472. package/dist/terminal-recording.d.ts.map +0 -1
  473. package/dist/terminal-recording.js +0 -182
  474. package/dist/terminal-recording.js.map +0 -1
  475. package/dist/tmux.d.ts +0 -35
  476. package/dist/tmux.d.ts.map +0 -1
  477. package/dist/tmux.js +0 -106
  478. package/dist/tmux.js.map +0 -1
  479. package/dist/ui/modals.d.ts +0 -72
  480. package/dist/ui/modals.d.ts.map +0 -1
  481. package/dist/ui/modals.js +0 -266
  482. package/dist/ui/modals.js.map +0 -1
  483. package/dist/ui/pack-picker.d.ts +0 -12
  484. package/dist/ui/pack-picker.d.ts.map +0 -1
  485. package/dist/ui/pack-picker.js +0 -101
  486. package/dist/ui/pack-picker.js.map +0 -1
  487. package/dist/ui/theme-picker.d.ts +0 -24
  488. package/dist/ui/theme-picker.d.ts.map +0 -1
  489. package/dist/ui/theme-picker.js +0 -190
  490. package/dist/ui/theme-picker.js.map +0 -1
@@ -0,0 +1,68 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * UI region - static scrollback
4
+ *
5
+ * Completed transcript entries rendered through Ink's <Static>. Static writes
6
+ * each item to stdout exactly once and never re-traverses it, so a growing
7
+ * scrollback and per-token streaming updates below no longer pay a full-frame
8
+ * redraw for history that hasn't changed.
9
+ *
10
+ * Two Static constraints shape this component:
11
+ *
12
+ * 1. APPEND-ONLY. Static tracks how many items it has emitted and only renders
13
+ * the tail beyond that count. Items must therefore be appended, never
14
+ * reordered or truncated. Every UIMessage is finalized before the next one
15
+ * is appended (streaming text lives in the separate live zone, not here), so
16
+ * `messages` is naturally append-only during a turn. Clearing/undo replace
17
+ * the array non-append-only; the parent remounts this component (keyed on
18
+ * clearCount) to reset Static's emitted-count rather than mutating it.
19
+ *
20
+ * 2. WRITE-ONCE COLLAPSE (tradeoff). A tool message's rendering depends on its
21
+ * ordinal among tools (collapseTools/toolDisplayLimit windowing). Under
22
+ * <Static> each item renders once, at append time, so that decision is
23
+ * FROZEN then: a tool shown expanded when it was the newest stays expanded
24
+ * even as newer tools arrive — the sliding collapse window no longer
25
+ * re-collapses already-printed tools. This only affects sessions that opt
26
+ * into collapseTools (default off; collapseThinking is currently always
27
+ * off), where the default configuration is byte-identical to the previous
28
+ * non-Static rendering. This is accepted, not worked around: a re-render
29
+ * escape hatch would defeat the write-once guarantee that is the point.
30
+ */
31
+ import React, { useEffect } from 'react';
32
+ import { Box, Static } from 'ink';
33
+ import { MessageItem } from '../messages.js';
34
+ import { probeMount, probeRender } from './render-probe.js';
35
+ function StaticScrollbackInner({ messages, collapseSettings }) {
36
+ // Counts once per mount; the parent keys this component on clearCount, so a
37
+ // clear/reset remounts it and this fires again — the render-isolation proof
38
+ // that clearing actually resets Static's internal emitted-count.
39
+ useEffect(() => {
40
+ probeMount('transcript-static');
41
+ }, []);
42
+ // Per-item collapse context (ordinal among tools + tool count), matching the
43
+ // previous MessageHistory. Computed each render but consumed by Static only
44
+ // for newly-appended items, so a tool's context is captured at append time.
45
+ const totalTools = messages.reduce((n, m) => (m.type === 'tool' ? n + 1 : n), 0);
46
+ const toolOrdinal = new Map();
47
+ let ordinal = 0;
48
+ for (const m of messages) {
49
+ if (m.type === 'tool')
50
+ toolOrdinal.set(m.id, ordinal++);
51
+ }
52
+ return (_jsx(Static, { items: messages, children: (msg) => {
53
+ // Runs exactly once per message (Static only renders the unseen tail),
54
+ // so this count stays flat across streaming updates and rising only by
55
+ // one per appended message.
56
+ probeRender('transcript-item');
57
+ const collapse = msg.type === 'tool'
58
+ ? { ...collapseSettings, toolIndex: toolOrdinal.get(msg.id), totalTools }
59
+ : collapseSettings;
60
+ return (_jsx(Box, { children: _jsx(MessageItem, { msg: msg, collapse: collapse }) }, msg.id));
61
+ } }));
62
+ }
63
+ // Memoized so a streaming/stats prop change on the parent transcript region
64
+ // does not re-run Static's diff for unchanged history; only a new `messages`
65
+ // reference (a message was appended) re-renders it. A clearCount change remounts
66
+ // it via the `key` in the parent, independent of this comparison.
67
+ export const StaticScrollback = React.memo(StaticScrollbackInner);
68
+ //# sourceMappingURL=static-scrollback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-scrollback.js","sourceRoot":"","sources":["../../../src/ui/regions/static-scrollback.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAO5D,SAAS,qBAAqB,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAyB;IAClF,4EAA4E;IAC5E,4EAA4E;IAC5E,iEAAiE;IACjE,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,6EAA6E;IAC7E,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,CACL,KAAC,MAAM,IAAC,KAAK,EAAE,QAAQ,YACpB,CAAC,GAAc,EAAE,EAAE;YAClB,uEAAuE;YACvE,uEAAuE;YACvE,4BAA4B;YAC5B,WAAW,CAAC,iBAAiB,CAAC,CAAC;YAC/B,MAAM,QAAQ,GACZ,GAAG,CAAC,IAAI,KAAK,MAAM;gBACjB,CAAC,CAAC,EAAE,GAAG,gBAAgB,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE;gBACzE,CAAC,CAAC,gBAAgB,CAAC;YACvB,OAAO,CACL,KAAC,GAAG,cACF,KAAC,WAAW,IAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAI,IADrC,GAAG,CAAC,EAAE,CAEV,CACP,CAAC;QACJ,CAAC,GACM,CACV,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,6EAA6E;AAC7E,iFAAiF;AACjF,kEAAkE;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * UI region - status bar
3
+ *
4
+ * Thin wrapper around StatusBar. Memoized so keystrokes (which never change
5
+ * these props) don't re-render the footer; stats/cost/context updates flow in
6
+ * as prop changes and re-render only this region.
7
+ */
8
+ import React from 'react';
9
+ import type { SessionStats } from '../types.js';
10
+ import type { Mode } from '../../types.js';
11
+ export interface StatusRegionProps {
12
+ provider: string;
13
+ model: string;
14
+ mode: Mode;
15
+ stats: SessionStats;
16
+ contextTokens: number;
17
+ breakerHealth?: 'ok' | 'warning' | 'tripped';
18
+ smartRouteActive: boolean;
19
+ width: number;
20
+ }
21
+ declare function StatusRegionInner({ provider, model, mode, stats, contextTokens, breakerHealth, smartRouteActive, width, }: StatusRegionProps): React.JSX.Element;
22
+ export declare const StatusRegion: React.MemoExoticComponent<typeof StatusRegionInner>;
23
+ export {};
24
+ //# sourceMappingURL=status-region.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-region.d.ts","sourceRoot":"","sources":["../../../src/ui/regions/status-region.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,YAAY,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,SAAS,CAAC;IAC7C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,iBAAS,iBAAiB,CAAC,EACzB,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,KAAK,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,KAAK,GACN,EAAE,iBAAiB,qBAenB;AAED,eAAO,MAAM,YAAY,qDAAgC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * UI region - status bar
4
+ *
5
+ * Thin wrapper around StatusBar. Memoized so keystrokes (which never change
6
+ * these props) don't re-render the footer; stats/cost/context updates flow in
7
+ * as prop changes and re-render only this region.
8
+ */
9
+ import React from 'react';
10
+ import { StatusBar } from '../status-bar.js';
11
+ import { probeRender } from './render-probe.js';
12
+ function StatusRegionInner({ provider, model, mode, stats, contextTokens, breakerHealth, smartRouteActive, width, }) {
13
+ probeRender('status');
14
+ return (_jsx(StatusBar, { provider: provider, model: model, mode: mode, stats: stats, contextTokens: contextTokens, breakerHealth: breakerHealth, smartRouteActive: smartRouteActive, width: width }));
15
+ }
16
+ export const StatusRegion = React.memo(StatusRegionInner);
17
+ //# sourceMappingURL=status-region.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-region.js","sourceRoot":"","sources":["../../../src/ui/regions/status-region.tsx"],"names":[],"mappings":";AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAahD,SAAS,iBAAiB,CAAC,EACzB,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,KAAK,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,KAAK,GACa;IAClB,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEtB,OAAO,CACL,KAAC,SAAS,IACR,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * UI region - transcript
3
+ *
4
+ * Splits into two zones:
5
+ * - STATIC ZONE: completed messages, rendered write-once via <StaticScrollback>
6
+ * (Ink <Static>) so history is emitted to stdout once and never re-traversed
7
+ * on streaming/stats updates or scrollback growth.
8
+ * - LIVE ZONE: the processing/thinking/streaming indicators, the streaming
9
+ * response block, the state transition, and the optional debug overlay — the
10
+ * only things that change per token/tick.
11
+ *
12
+ * Owns the state-transition tracking (derived purely from the processing props)
13
+ * so that logic lives with the only region that renders it.
14
+ *
15
+ * Memoized: a keystroke never changes these props, so typing does not re-render
16
+ * the transcript. Streaming/stats updates flow in as prop changes and re-render
17
+ * this region's live zone only — the memoized StaticScrollback skips re-render
18
+ * because its `messages`/`collapseSettings` props are unchanged.
19
+ */
20
+ import React from 'react';
21
+ import type { UIMessage, CollapseSettings, ThinkingState, ActivityState } from '../types.js';
22
+ import type { Mode } from '../../types.js';
23
+ export interface TranscriptRegionProps {
24
+ messages: UIMessage[];
25
+ collapseSettings: CollapseSettings;
26
+ /** Monotonic counter bumped when `messages` is cleared/replaced non-append.
27
+ * Used as the StaticScrollback `key` so Static remounts (fresh emitted-count)
28
+ * instead of desyncing against a truncated list. */
29
+ clearCount: number;
30
+ isProcessing: boolean;
31
+ thinkingState: ThinkingState | null;
32
+ streamingResponse: string;
33
+ activityState: ActivityState | null;
34
+ debugEnabled: boolean;
35
+ mode: Mode;
36
+ queuedCount: number;
37
+ }
38
+ declare function TranscriptRegionInner({ messages, collapseSettings, clearCount, isProcessing, thinkingState, streamingResponse, activityState, debugEnabled, mode, queuedCount, }: TranscriptRegionProps): React.JSX.Element;
39
+ export declare const TranscriptRegion: React.MemoExoticComponent<typeof TranscriptRegionInner>;
40
+ export {};
41
+ //# sourceMappingURL=transcript-region.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcript-region.d.ts","sourceRoot":"","sources":["../../../src/ui/regions/transcript-region.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAO3C,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC;;yDAEqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,iBAAS,qBAAqB,CAAC,EAC7B,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,IAAI,EACJ,WAAW,GACZ,EAAE,qBAAqB,qBAmEvB;AAED,eAAO,MAAM,gBAAgB,yDAAoC,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * UI region - transcript
4
+ *
5
+ * Splits into two zones:
6
+ * - STATIC ZONE: completed messages, rendered write-once via <StaticScrollback>
7
+ * (Ink <Static>) so history is emitted to stdout once and never re-traversed
8
+ * on streaming/stats updates or scrollback growth.
9
+ * - LIVE ZONE: the processing/thinking/streaming indicators, the streaming
10
+ * response block, the state transition, and the optional debug overlay — the
11
+ * only things that change per token/tick.
12
+ *
13
+ * Owns the state-transition tracking (derived purely from the processing props)
14
+ * so that logic lives with the only region that renders it.
15
+ *
16
+ * Memoized: a keystroke never changes these props, so typing does not re-render
17
+ * the transcript. Streaming/stats updates flow in as prop changes and re-render
18
+ * this region's live zone only — the memoized StaticScrollback skips re-render
19
+ * because its `messages`/`collapseSettings` props are unchanged.
20
+ */
21
+ import React, { useState, useEffect, useRef } from 'react';
22
+ import { Box, Text } from 'ink';
23
+ import { StaticScrollback } from './static-scrollback.js';
24
+ import { ThinkingDisplay, ProcessingIndicator, StreamingIndicator, StateTransition } from '../components.js';
25
+ import { probeRender } from './render-probe.js';
26
+ function TranscriptRegionInner({ messages, collapseSettings, clearCount, isProcessing, thinkingState, streamingResponse, activityState, debugEnabled, mode, queuedCount, }) {
27
+ probeRender('transcript');
28
+ // State transition tracking (moved here from the parent — this is the only
29
+ // place the transition is rendered).
30
+ const prevProcessingState = useRef('idle');
31
+ const [transition, setTransition] = useState(null);
32
+ useEffect(() => {
33
+ const current = isProcessing && thinkingState && !streamingResponse ? 'thinking' :
34
+ isProcessing && streamingResponse ? 'streaming' :
35
+ !isProcessing && prevProcessingState.current !== 'idle' ? 'done' : 'idle';
36
+ if (current !== prevProcessingState.current) {
37
+ const from = prevProcessingState.current;
38
+ // Only show transitions for meaningful state changes
39
+ if (from !== 'idle' || current !== 'idle') {
40
+ setTransition({ from, to: current });
41
+ }
42
+ prevProcessingState.current = current;
43
+ }
44
+ }, [isProcessing, thinkingState, streamingResponse]);
45
+ // Streaming response block (reused across layouts)
46
+ const StreamingResponseBox = streamingResponse ? (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "cyan", children: "\u2727 Calliope:" }), streamingResponse.split('\n').map((line, i) => (_jsxs(Text, { children: [_jsx(Text, { color: "blue", children: "\u2502" }), " ", line] }, i))), _jsx(Text, { color: "cyan", children: "\u258C" })] })) : null;
47
+ // Thinking/Processing indicator with state transitions
48
+ const ProcessingBox = (_jsxs(_Fragment, { children: [transition && (_jsx(StateTransition, { from: transition.from, to: transition.to, onComplete: () => setTransition(null) })), isProcessing && thinkingState && !streamingResponse && _jsx(ThinkingDisplay, { state: thinkingState }), isProcessing && !thinkingState && !streamingResponse && _jsx(ProcessingIndicator, { label: "Waiting for response" }), isProcessing && streamingResponse && _jsx(StreamingIndicator, { activity: activityState ?? undefined })] }));
49
+ return (_jsxs(_Fragment, { children: [_jsx(StaticScrollback, { messages: messages, collapseSettings: collapseSettings }, clearCount), ProcessingBox, StreamingResponseBox, debugEnabled && (_jsx(Box, { marginY: 0, children: _jsxs(Text, { dimColor: true, children: ["[dbg] proc=", isProcessing ? 'Y' : 'N', " think=", thinkingState ? 'Y' : 'N', " stream=", streamingResponse.length, " mode=", mode, " queue=", queuedCount, " activity=", activityState?.action || 'none'] }) }))] }));
50
+ }
51
+ export const TranscriptRegion = React.memo(TranscriptRegionInner);
52
+ //# sourceMappingURL=transcript-region.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcript-region.js","sourceRoot":"","sources":["../../../src/ui/regions/transcript-region.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * UI Module - Self-restart
3
+ *
4
+ * After an in-place upgrade the CLI re-launches itself. The upgrade handler
5
+ * records the desired argv; startInkCLI spawns it after Ink exits.
6
+ */
7
+ export declare function requestSelfRestart(args?: string[]): void;
8
+ export declare function spawnPendingRestart(): Promise<void>;
9
+ //# sourceMappingURL=self-restart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"self-restart.d.ts","sourceRoot":"","sources":["../../src/ui/self-restart.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,IAAI,CAE/E;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAazD"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * UI Module - Self-restart
3
+ *
4
+ * After an in-place upgrade the CLI re-launches itself. The upgrade handler
5
+ * records the desired argv; startInkCLI spawns it after Ink exits.
6
+ */
7
+ let pendingRestartArgs = null;
8
+ export function requestSelfRestart(args = process.argv.slice(1)) {
9
+ pendingRestartArgs = [...args];
10
+ }
11
+ export async function spawnPendingRestart() {
12
+ if (!pendingRestartArgs) {
13
+ return;
14
+ }
15
+ const restartArgs = pendingRestartArgs;
16
+ pendingRestartArgs = null;
17
+ const { spawn } = await import('child_process');
18
+ const child = spawn(process.argv[0], restartArgs, {
19
+ stdio: 'inherit',
20
+ detached: true,
21
+ });
22
+ child.unref();
23
+ }
24
+ //# sourceMappingURL=self-restart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"self-restart.js","sourceRoot":"","sources":["../../src/ui/self-restart.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,IAAI,kBAAkB,GAAoB,IAAI,CAAC;AAE/C,MAAM,UAAU,kBAAkB,CAAC,IAAI,GAAa,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACvE,kBAAkB,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,kBAAkB,CAAC;IACvC,kBAAkB,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,WAAW,EAAE;QACjD,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IACH,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * UI orchestration - chat controller
3
+ *
4
+ * Assembles every state group, the long-lived refs, the agent/command context
5
+ * builders, and all handlers, then returns flat prop bags for the four regions
6
+ * plus resetSession(). This is the "orchestration" half of the old TerminalChat
7
+ * body; index.tsx keeps only composition. It carries no JSX, so it is a plain
8
+ * module (not a component file).
9
+ */
10
+ import type { TranscriptRegionProps } from '../regions/transcript-region.js';
11
+ import type { StatusRegionProps } from '../regions/status-region.js';
12
+ import type { InputRegionProps } from '../regions/input-region.js';
13
+ import type { ModalHostProps } from '../regions/modal-host.js';
14
+ export interface ChatController {
15
+ width: number;
16
+ resetSession: () => void;
17
+ transcript: TranscriptRegionProps;
18
+ status: StatusRegionProps;
19
+ input: InputRegionProps;
20
+ modal: ModalHostProps;
21
+ }
22
+ export declare function useChatController(): ChatController;
23
+ //# sourceMappingURL=use-chat-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-chat-controller.d.ts","sourceRoot":"","sources":["../../../src/ui/state/use-chat-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAuCH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI/D,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,UAAU,EAAE,qBAAqB,CAAC;IAClC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,cAAc,CAAC;CACvB;AAoBD,wBAAgB,iBAAiB,IAAI,cAAc,CAwnBlD"}