@evalops/maestro 0.10.50 → 0.10.53

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 (1825) hide show
  1. package/README.md +1 -3
  2. package/dist/agent/agent-outcome.d.ts +54 -0
  3. package/dist/agent/agent-outcome.d.ts.map +1 -0
  4. package/dist/agent/agent-outcome.js +142 -0
  5. package/dist/agent/agent-outcome.js.map +1 -0
  6. package/dist/agent/agent-resume.d.ts.map +1 -1
  7. package/dist/agent/agent-resume.js +3 -3
  8. package/dist/agent/agent-resume.js.map +1 -1
  9. package/dist/agent/agent-run-summary.d.ts +37 -0
  10. package/dist/agent/agent-run-summary.d.ts.map +1 -0
  11. package/dist/agent/agent-run-summary.js +15 -0
  12. package/dist/agent/agent-run-summary.js.map +1 -0
  13. package/dist/agent/agent-work-board.d.ts +82 -0
  14. package/dist/agent/agent-work-board.d.ts.map +1 -0
  15. package/dist/agent/agent-work-board.js +312 -0
  16. package/dist/agent/agent-work-board.js.map +1 -0
  17. package/dist/agent/agent.d.ts.map +1 -1
  18. package/dist/agent/agent.js.map +1 -1
  19. package/dist/agent/auto-compaction.d.ts +7 -2
  20. package/dist/agent/auto-compaction.d.ts.map +1 -1
  21. package/dist/agent/auto-compaction.js +23 -10
  22. package/dist/agent/auto-compaction.js.map +1 -1
  23. package/dist/agent/compaction.d.ts.map +1 -1
  24. package/dist/agent/compaction.js +1 -1
  25. package/dist/agent/compaction.js.map +1 -1
  26. package/dist/agent/context-handoff.d.ts.map +1 -1
  27. package/dist/agent/context-handoff.js +2 -1
  28. package/dist/agent/context-handoff.js.map +1 -1
  29. package/dist/agent/index.d.ts +8 -1
  30. package/dist/agent/index.d.ts.map +1 -1
  31. package/dist/agent/index.js +8 -1
  32. package/dist/agent/index.js.map +1 -1
  33. package/dist/agent/mission-artifacts.d.ts +62 -0
  34. package/dist/agent/mission-artifacts.d.ts.map +1 -0
  35. package/dist/agent/mission-artifacts.js +438 -0
  36. package/dist/agent/mission-artifacts.js.map +1 -0
  37. package/dist/agent/mission-manifest.d.ts +139 -3
  38. package/dist/agent/mission-manifest.d.ts.map +1 -1
  39. package/dist/agent/mission-manifest.js +549 -3
  40. package/dist/agent/mission-manifest.js.map +1 -1
  41. package/dist/agent/mission-store.d.ts +80 -0
  42. package/dist/agent/mission-store.d.ts.map +1 -0
  43. package/dist/agent/mission-store.js +603 -0
  44. package/dist/agent/mission-store.js.map +1 -0
  45. package/dist/agent/modes.d.ts +3 -3
  46. package/dist/agent/modes.d.ts.map +1 -1
  47. package/dist/agent/modes.js +66 -3
  48. package/dist/agent/modes.js.map +1 -1
  49. package/dist/agent/oracle-consultation-policy.d.ts +22 -0
  50. package/dist/agent/oracle-consultation-policy.d.ts.map +1 -0
  51. package/dist/agent/oracle-consultation-policy.js +72 -0
  52. package/dist/agent/oracle-consultation-policy.js.map +1 -0
  53. package/dist/agent/oracle-policy-experiment.d.ts +27 -0
  54. package/dist/agent/oracle-policy-experiment.d.ts.map +1 -0
  55. package/dist/agent/oracle-policy-experiment.js +59 -0
  56. package/dist/agent/oracle-policy-experiment.js.map +1 -0
  57. package/dist/agent/oracle-policy-rollout.d.ts +42 -0
  58. package/dist/agent/oracle-policy-rollout.d.ts.map +1 -0
  59. package/dist/agent/oracle-policy-rollout.js +80 -0
  60. package/dist/agent/oracle-policy-rollout.js.map +1 -0
  61. package/dist/agent/plugin-agent-api.d.ts +13 -0
  62. package/dist/agent/plugin-agent-api.d.ts.map +1 -0
  63. package/dist/agent/plugin-agent-api.js +11 -0
  64. package/dist/agent/plugin-agent-api.js.map +1 -0
  65. package/dist/agent/plugin-agent-loader.d.ts +17 -0
  66. package/dist/agent/plugin-agent-loader.d.ts.map +1 -0
  67. package/dist/agent/plugin-agent-loader.js +81 -0
  68. package/dist/agent/plugin-agent-loader.js.map +1 -0
  69. package/dist/agent/plugin-agent-registry.d.ts +62 -0
  70. package/dist/agent/plugin-agent-registry.d.ts.map +1 -0
  71. package/dist/agent/plugin-agent-registry.js +109 -0
  72. package/dist/agent/plugin-agent-registry.js.map +1 -0
  73. package/dist/agent/profile-loader.d.ts +7 -0
  74. package/dist/agent/profile-loader.d.ts.map +1 -0
  75. package/dist/agent/profile-loader.js +115 -0
  76. package/dist/agent/profile-loader.js.map +1 -0
  77. package/dist/agent/profiles.d.ts +30 -0
  78. package/dist/agent/profiles.d.ts.map +1 -0
  79. package/dist/agent/profiles.js +146 -0
  80. package/dist/agent/profiles.js.map +1 -0
  81. package/dist/agent/prompt-cache.d.ts +0 -4
  82. package/dist/agent/prompt-cache.d.ts.map +1 -1
  83. package/dist/agent/prompt-cache.js +1 -7
  84. package/dist/agent/prompt-cache.js.map +1 -1
  85. package/dist/agent/providers/codex-app-server.d.ts.map +1 -1
  86. package/dist/agent/providers/codex-app-server.js +1 -3
  87. package/dist/agent/providers/codex-app-server.js.map +1 -1
  88. package/dist/agent/providers/google-gemini-cli.js +204 -107
  89. package/dist/agent/providers/google.js +101 -41
  90. package/dist/agent/providers/scripted.d.ts.map +1 -1
  91. package/dist/agent/providers/scripted.js +1 -3
  92. package/dist/agent/providers/scripted.js.map +1 -1
  93. package/dist/agent/providers/validation.d.ts.map +1 -1
  94. package/dist/agent/providers/validation.js +1 -3
  95. package/dist/agent/providers/validation.js.map +1 -1
  96. package/dist/agent/providers/vertex.js +204 -107
  97. package/dist/agent/routing-receipt.d.ts +34 -0
  98. package/dist/agent/routing-receipt.d.ts.map +1 -0
  99. package/dist/agent/routing-receipt.js +55 -0
  100. package/dist/agent/routing-receipt.js.map +1 -0
  101. package/dist/agent/skill-artifact-metadata.d.ts +14 -0
  102. package/dist/agent/skill-artifact-metadata.d.ts.map +1 -0
  103. package/dist/agent/skill-artifact-metadata.js +49 -0
  104. package/dist/agent/skill-artifact-metadata.js.map +1 -0
  105. package/dist/agent/snapshot-store.d.ts +32 -0
  106. package/dist/agent/snapshot-store.d.ts.map +1 -0
  107. package/dist/agent/snapshot-store.js +195 -0
  108. package/dist/agent/snapshot-store.js.map +1 -0
  109. package/dist/agent/specialist-profiles.d.ts +36 -0
  110. package/dist/agent/specialist-profiles.d.ts.map +1 -0
  111. package/dist/agent/specialist-profiles.js +159 -0
  112. package/dist/agent/specialist-profiles.js.map +1 -0
  113. package/dist/agent/subagent-specs.d.ts +5 -2
  114. package/dist/agent/subagent-specs.d.ts.map +1 -1
  115. package/dist/agent/subagent-specs.js +83 -10
  116. package/dist/agent/subagent-specs.js.map +1 -1
  117. package/dist/agent/swarm/coverage-gate.d.ts +37 -0
  118. package/dist/agent/swarm/coverage-gate.d.ts.map +1 -0
  119. package/dist/agent/swarm/coverage-gate.js +48 -0
  120. package/dist/agent/swarm/coverage-gate.js.map +1 -0
  121. package/dist/agent/swarm/executor.d.ts +1 -0
  122. package/dist/agent/swarm/executor.d.ts.map +1 -1
  123. package/dist/agent/swarm/executor.js +151 -15
  124. package/dist/agent/swarm/executor.js.map +1 -1
  125. package/dist/agent/swarm/orchestrator-prompt.d.ts +25 -0
  126. package/dist/agent/swarm/orchestrator-prompt.d.ts.map +1 -0
  127. package/dist/agent/swarm/orchestrator-prompt.js +48 -0
  128. package/dist/agent/swarm/orchestrator-prompt.js.map +1 -0
  129. package/dist/agent/swarm/plan-parser.d.ts.map +1 -1
  130. package/dist/agent/swarm/plan-parser.js +27 -2
  131. package/dist/agent/swarm/plan-parser.js.map +1 -1
  132. package/dist/agent/swarm/types.d.ts +17 -0
  133. package/dist/agent/swarm/types.d.ts.map +1 -1
  134. package/dist/agent/swarm/types.js.map +1 -1
  135. package/dist/agent/swarm/validation-directive.d.ts +21 -0
  136. package/dist/agent/swarm/validation-directive.d.ts.map +1 -0
  137. package/dist/agent/swarm/validation-directive.js +25 -0
  138. package/dist/agent/swarm/validation-directive.js.map +1 -0
  139. package/dist/agent/token-counter.d.ts +40 -0
  140. package/dist/agent/token-counter.d.ts.map +1 -0
  141. package/dist/agent/token-counter.js +74 -0
  142. package/dist/agent/token-counter.js.map +1 -0
  143. package/dist/agent/transport/events.d.ts +1 -1
  144. package/dist/agent/transport/events.d.ts.map +1 -1
  145. package/dist/agent/transport/events.js +1 -1
  146. package/dist/agent/transport/events.js.map +1 -1
  147. package/dist/agent/transport/tool-execution-bridge.d.ts.map +1 -1
  148. package/dist/agent/transport/tool-execution-bridge.js +4 -1
  149. package/dist/agent/transport/tool-execution-bridge.js.map +1 -1
  150. package/dist/agent/types.d.ts +4 -2
  151. package/dist/agent/types.d.ts.map +1 -1
  152. package/dist/agent/types.js.map +1 -1
  153. package/dist/api/enterprise-routes.d.ts.map +1 -1
  154. package/dist/api/enterprise-routes.js +87 -10
  155. package/dist/api/enterprise-routes.js.map +1 -1
  156. package/dist/api/org-settings-merge.d.ts +12 -0
  157. package/dist/api/org-settings-merge.d.ts.map +1 -0
  158. package/dist/api/org-settings-merge.js +38 -0
  159. package/dist/api/org-settings-merge.js.map +1 -0
  160. package/dist/api/user-settings-merge.d.ts +16 -0
  161. package/dist/api/user-settings-merge.d.ts.map +1 -0
  162. package/dist/api/user-settings-merge.js +37 -0
  163. package/dist/api/user-settings-merge.js.map +1 -0
  164. package/dist/app-server/daemon-lifecycle-api.d.ts.map +1 -1
  165. package/dist/app-server/daemon-lifecycle-api.js +1 -3
  166. package/dist/app-server/daemon-lifecycle-api.js.map +1 -1
  167. package/dist/app-server/external-agent-import-api.d.ts.map +1 -1
  168. package/dist/app-server/external-agent-import-api.js +1 -3
  169. package/dist/app-server/external-agent-import-api.js.map +1 -1
  170. package/dist/app-server/network-governance-api.d.ts.map +1 -1
  171. package/dist/app-server/network-governance-api.js +1 -3
  172. package/dist/app-server/network-governance-api.js.map +1 -1
  173. package/dist/app-server/plugin-bundle-api.d.ts.map +1 -1
  174. package/dist/app-server/plugin-bundle-api.js +2 -3
  175. package/dist/app-server/plugin-bundle-api.js.map +1 -1
  176. package/dist/app-server/policy-control-api.d.ts.map +1 -1
  177. package/dist/app-server/policy-control-api.js +1 -3
  178. package/dist/app-server/policy-control-api.js.map +1 -1
  179. package/dist/app-server/protocol-modes-api.d.ts.map +1 -1
  180. package/dist/app-server/protocol-modes-api.js +1 -3
  181. package/dist/app-server/protocol-modes-api.js.map +1 -1
  182. package/dist/app-server/session-api.d.ts.map +1 -1
  183. package/dist/app-server/session-api.js +15 -2
  184. package/dist/app-server/session-api.js.map +1 -1
  185. package/dist/audit/logger.d.ts +5 -5
  186. package/dist/cli/args.d.ts +4 -0
  187. package/dist/cli/args.d.ts.map +1 -1
  188. package/dist/cli/args.js +33 -1
  189. package/dist/cli/args.js.map +1 -1
  190. package/dist/cli/commands/a2a.d.ts.map +1 -1
  191. package/dist/cli/commands/a2a.js +1 -3
  192. package/dist/cli/commands/a2a.js.map +1 -1
  193. package/dist/cli/commands/mission.d.ts +4 -0
  194. package/dist/cli/commands/mission.d.ts.map +1 -0
  195. package/dist/cli/commands/mission.js +196 -0
  196. package/dist/cli/commands/mission.js.map +1 -0
  197. package/dist/cli/commands/value.d.ts +10 -0
  198. package/dist/cli/commands/value.d.ts.map +1 -0
  199. package/dist/cli/commands/value.js +33 -0
  200. package/dist/cli/commands/value.js.map +1 -0
  201. package/dist/cli/direct-runtime-command.d.ts +1 -0
  202. package/dist/cli/direct-runtime-command.d.ts.map +1 -1
  203. package/dist/cli/direct-runtime-command.js +25 -3
  204. package/dist/cli/direct-runtime-command.js.map +1 -1
  205. package/dist/cli/headless-protocol.d.ts.map +1 -1
  206. package/dist/cli/headless-protocol.js +1 -3
  207. package/dist/cli/headless-protocol.js.map +1 -1
  208. package/dist/cli/headless.d.ts +3 -19
  209. package/dist/cli/headless.d.ts.map +1 -1
  210. package/dist/cli/headless.js +8 -619
  211. package/dist/cli/headless.js.map +1 -1
  212. package/dist/cli/help.d.ts.map +1 -1
  213. package/dist/cli/help.js +13 -0
  214. package/dist/cli/help.js.map +1 -1
  215. package/dist/cli/native-tui-launcher.d.ts +126 -0
  216. package/dist/cli/native-tui-launcher.d.ts.map +1 -0
  217. package/dist/cli/native-tui-launcher.js +425 -0
  218. package/dist/cli/native-tui-launcher.js.map +1 -0
  219. package/dist/cli/rpc-mode.d.ts +3 -27
  220. package/dist/cli/rpc-mode.d.ts.map +1 -1
  221. package/dist/cli/rpc-mode.js +8 -177
  222. package/dist/cli/rpc-mode.js.map +1 -1
  223. package/dist/cli/session.d.ts +11 -19
  224. package/dist/cli/session.d.ts.map +1 -1
  225. package/dist/cli/session.js +6 -64
  226. package/dist/cli/session.js.map +1 -1
  227. package/dist/cli/system-prompt.d.ts.map +1 -1
  228. package/dist/cli/system-prompt.js +38 -7
  229. package/dist/cli/system-prompt.js.map +1 -1
  230. package/dist/cli-command-runtime.d.ts.map +1 -1
  231. package/dist/cli-command-runtime.js +26 -24
  232. package/dist/cli-command-runtime.js.map +1 -1
  233. package/dist/cli-runtime.js +41729 -121859
  234. package/dist/codex/app-server-client.d.ts.map +1 -1
  235. package/dist/codex/app-server-client.js +1 -3
  236. package/dist/codex/app-server-client.js.map +1 -1
  237. package/dist/codex/compatibility.d.ts.map +1 -1
  238. package/dist/codex/compatibility.js +1 -3
  239. package/dist/codex/compatibility.js.map +1 -1
  240. package/dist/codex/subagent-dispatch-table.d.ts +8 -0
  241. package/dist/codex/subagent-dispatch-table.d.ts.map +1 -1
  242. package/dist/codex/subagent-dispatch-table.js +23 -0
  243. package/dist/codex/subagent-dispatch-table.js.map +1 -1
  244. package/dist/config/env-vars.d.ts +12 -0
  245. package/dist/config/env-vars.d.ts.map +1 -1
  246. package/dist/config/env-vars.js +12 -0
  247. package/dist/config/env-vars.js.map +1 -1
  248. package/dist/config/ui-state.d.ts +32 -0
  249. package/dist/config/ui-state.d.ts.map +1 -0
  250. package/dist/config/ui-state.js +88 -0
  251. package/dist/config/ui-state.js.map +1 -0
  252. package/dist/context/manifest.d.ts.map +1 -1
  253. package/dist/context/manifest.js +1 -3
  254. package/dist/context/manifest.js.map +1 -1
  255. package/dist/context/repo-map.d.ts.map +1 -1
  256. package/dist/context/repo-map.js +1 -7
  257. package/dist/context/repo-map.js.map +1 -1
  258. package/dist/context/token-optimizer.d.ts.map +1 -1
  259. package/dist/context/token-optimizer.js +1 -8
  260. package/dist/context/token-optimizer.js.map +1 -1
  261. package/dist/conversation/render-model.d.ts +0 -36
  262. package/dist/conversation/render-model.d.ts.map +1 -1
  263. package/dist/conversation/render-model.js +1 -3
  264. package/dist/conversation/render-model.js.map +1 -1
  265. package/dist/customer-value/ambient-learning.d.ts +75 -0
  266. package/dist/customer-value/ambient-learning.d.ts.map +1 -0
  267. package/dist/customer-value/ambient-learning.js +472 -0
  268. package/dist/customer-value/ambient-learning.js.map +1 -0
  269. package/dist/customer-value/internal-helpers.d.ts +13 -0
  270. package/dist/customer-value/internal-helpers.d.ts.map +1 -0
  271. package/dist/customer-value/internal-helpers.js +70 -0
  272. package/dist/customer-value/internal-helpers.js.map +1 -0
  273. package/dist/customer-value/report.d.ts +282 -0
  274. package/dist/customer-value/report.d.ts.map +1 -0
  275. package/dist/customer-value/report.js +2085 -0
  276. package/dist/customer-value/report.js.map +1 -0
  277. package/dist/db/schema.d.ts +7 -3
  278. package/dist/db/schema.d.ts.map +1 -1
  279. package/dist/db/schema.js.map +1 -1
  280. package/dist/evalops/agent-bootstrap.d.ts.map +1 -1
  281. package/dist/evalops/agent-bootstrap.js +1 -3
  282. package/dist/evalops/agent-bootstrap.js.map +1 -1
  283. package/dist/evalops/agent-mcp-metadata.d.ts.map +1 -1
  284. package/dist/evalops/agent-mcp-metadata.js +1 -3
  285. package/dist/evalops/agent-mcp-metadata.js.map +1 -1
  286. package/dist/hooks/notification-hooks.d.ts +1 -1
  287. package/dist/hooks/notification-hooks.d.ts.map +1 -1
  288. package/dist/hooks/notification-hooks.js.map +1 -1
  289. package/dist/hooks/tui-surface.d.ts +35 -0
  290. package/dist/hooks/tui-surface.d.ts.map +1 -0
  291. package/dist/hooks/tui-surface.js +11 -0
  292. package/dist/hooks/tui-surface.js.map +1 -0
  293. package/dist/hooks/types.d.ts +2 -1
  294. package/dist/hooks/types.d.ts.map +1 -1
  295. package/dist/hooks/types.js.map +1 -1
  296. package/dist/hooks/typescript-loader.d.ts.map +1 -1
  297. package/dist/hooks/typescript-loader.js.map +1 -1
  298. package/dist/hooks/ui-context.d.ts.map +1 -1
  299. package/dist/hooks/ui-context.js.map +1 -1
  300. package/dist/index.d.ts +1 -0
  301. package/dist/index.d.ts.map +1 -1
  302. package/dist/index.js +1 -0
  303. package/dist/index.js.map +1 -1
  304. package/dist/installers/maestro-review-workflow.d.ts +38 -0
  305. package/dist/installers/maestro-review-workflow.d.ts.map +1 -0
  306. package/dist/installers/maestro-review-workflow.js +163 -0
  307. package/dist/installers/maestro-review-workflow.js.map +1 -0
  308. package/dist/load-env.d.ts.map +1 -1
  309. package/dist/load-env.js +2 -1
  310. package/dist/load-env.js.map +1 -1
  311. package/dist/main.d.ts.map +1 -1
  312. package/dist/main.js +201 -840
  313. package/dist/main.js.map +1 -1
  314. package/dist/mcp/config.d.ts.map +1 -1
  315. package/dist/mcp/config.js +1 -3
  316. package/dist/mcp/config.js.map +1 -1
  317. package/dist/mcp/elicitation.d.ts.map +1 -1
  318. package/dist/mcp/elicitation.js +1 -3
  319. package/dist/mcp/elicitation.js.map +1 -1
  320. package/dist/mcp/official-registry.d.ts.map +1 -1
  321. package/dist/mcp/official-registry.js +1 -3
  322. package/dist/mcp/official-registry.js.map +1 -1
  323. package/dist/mcp/workspace-trust.d.ts.map +1 -1
  324. package/dist/mcp/workspace-trust.js +1 -3
  325. package/dist/mcp/workspace-trust.js.map +1 -1
  326. package/dist/memory/service-client.d.ts.map +1 -1
  327. package/dist/memory/service-client.js +1 -3
  328. package/dist/memory/service-client.js.map +1 -1
  329. package/dist/models/config-loader.d.ts +5 -5
  330. package/dist/models/config-loader.d.ts.map +1 -1
  331. package/dist/models/config-loader.js +1 -3
  332. package/dist/models/config-loader.js.map +1 -1
  333. package/dist/node_modules/@evalops/contracts/dist/index.d.ts +46 -0
  334. package/dist/node_modules/@evalops/contracts/dist/index.d.ts.map +1 -1
  335. package/dist/node_modules/@evalops/contracts/dist/index.js +3 -0
  336. package/dist/node_modules/@evalops/contracts/dist/index.js.map +1 -1
  337. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts +284 -0
  338. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts.map +1 -1
  339. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.js +41 -0
  340. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.js.map +1 -1
  341. package/dist/node_modules/@evalops/contracts/dist/maestro-settings.d.ts +61 -0
  342. package/dist/node_modules/@evalops/contracts/dist/maestro-settings.d.ts.map +1 -0
  343. package/dist/node_modules/@evalops/contracts/dist/maestro-settings.js +183 -0
  344. package/dist/node_modules/@evalops/contracts/dist/maestro-settings.js.map +1 -0
  345. package/dist/node_modules/@evalops/contracts/dist/schemas.d.ts +986 -0
  346. package/dist/node_modules/@evalops/contracts/dist/schemas.d.ts.map +1 -1
  347. package/dist/node_modules/@evalops/contracts/dist/schemas.js +49 -0
  348. package/dist/node_modules/@evalops/contracts/dist/schemas.js.map +1 -1
  349. package/dist/node_modules/@evalops/contracts/dist/token-estimation.d.ts +56 -0
  350. package/dist/node_modules/@evalops/contracts/dist/token-estimation.d.ts.map +1 -0
  351. package/dist/node_modules/@evalops/contracts/dist/token-estimation.js +86 -0
  352. package/dist/node_modules/@evalops/contracts/dist/token-estimation.js.map +1 -0
  353. package/dist/node_modules/@evalops/contracts/package.json +1 -1
  354. package/dist/oauth/connectors.d.ts.map +1 -1
  355. package/dist/oauth/connectors.js +1 -3
  356. package/dist/oauth/connectors.js.map +1 -1
  357. package/dist/oauth/evalops.d.ts.map +1 -1
  358. package/dist/oauth/evalops.js +1 -3
  359. package/dist/oauth/evalops.js.map +1 -1
  360. package/dist/packages/discovery.d.ts.map +1 -1
  361. package/dist/packages/discovery.js +1 -0
  362. package/dist/packages/discovery.js.map +1 -1
  363. package/dist/packages/inspection.d.ts.map +1 -1
  364. package/dist/packages/inspection.js +7 -1
  365. package/dist/packages/inspection.js.map +1 -1
  366. package/dist/packages/loader.d.ts.map +1 -1
  367. package/dist/packages/loader.js +8 -1
  368. package/dist/packages/loader.js.map +1 -1
  369. package/dist/packages/runtime.d.ts +1 -0
  370. package/dist/packages/runtime.d.ts.map +1 -1
  371. package/dist/packages/runtime.js +9 -1
  372. package/dist/packages/runtime.js.map +1 -1
  373. package/dist/packages/types.d.ts +6 -0
  374. package/dist/packages/types.d.ts.map +1 -1
  375. package/dist/packages/types.js.map +1 -1
  376. package/dist/platform/a2a-client.d.ts.map +1 -1
  377. package/dist/platform/a2a-client.js +1 -3
  378. package/dist/platform/a2a-client.js.map +1 -1
  379. package/dist/platform/a2a-cockpit.d.ts +1 -0
  380. package/dist/platform/a2a-cockpit.d.ts.map +1 -1
  381. package/dist/platform/a2a-cockpit.js +42 -11
  382. package/dist/platform/a2a-cockpit.js.map +1 -1
  383. package/dist/platform/a2a-completion-audit.d.ts +1 -1
  384. package/dist/platform/a2a-completion-audit.d.ts.map +1 -1
  385. package/dist/platform/a2a-completion-audit.js +7 -11
  386. package/dist/platform/a2a-completion-audit.js.map +1 -1
  387. package/dist/platform/a2a-maestro-peer.js +16 -0
  388. package/dist/platform/a2a-maestro-peer.js.map +1 -1
  389. package/dist/platform/a2a-peer-pairing.d.ts.map +1 -1
  390. package/dist/platform/a2a-peer-pairing.js +1 -3
  391. package/dist/platform/a2a-peer-pairing.js.map +1 -1
  392. package/dist/platform/a2a-peer-registry.d.ts.map +1 -1
  393. package/dist/platform/a2a-peer-registry.js +1 -3
  394. package/dist/platform/a2a-peer-registry.js.map +1 -1
  395. package/dist/platform/a2a-task-ledger.d.ts +20 -0
  396. package/dist/platform/a2a-task-ledger.d.ts.map +1 -1
  397. package/dist/platform/a2a-task-ledger.js +207 -11
  398. package/dist/platform/a2a-task-ledger.js.map +1 -1
  399. package/dist/platform/a2a-work-graph.d.ts.map +1 -1
  400. package/dist/platform/a2a-work-graph.js +1 -3
  401. package/dist/platform/a2a-work-graph.js.map +1 -1
  402. package/dist/platform/operating-layer.d.ts.map +1 -1
  403. package/dist/platform/operating-layer.js +14 -8
  404. package/dist/platform/operating-layer.js.map +1 -1
  405. package/dist/platform/tool-execution-client.d.ts.map +1 -1
  406. package/dist/platform/tool-execution-client.js +19 -2
  407. package/dist/platform/tool-execution-client.js.map +1 -1
  408. package/dist/providers/auth.d.ts.map +1 -1
  409. package/dist/providers/auth.js +1 -3
  410. package/dist/providers/auth.js.map +1 -1
  411. package/dist/runtime/agent-runtime.d.ts +22 -6
  412. package/dist/runtime/agent-runtime.d.ts.map +1 -1
  413. package/dist/runtime/agent-runtime.js +1 -1
  414. package/dist/runtime/agent-runtime.js.map +1 -1
  415. package/dist/runtime/env.d.ts +10 -1
  416. package/dist/runtime/env.d.ts.map +1 -1
  417. package/dist/runtime/env.js +64 -1
  418. package/dist/runtime/env.js.map +1 -1
  419. package/dist/runtime/prompt-queue.d.ts.map +1 -0
  420. package/dist/runtime/prompt-queue.js.map +1 -0
  421. package/dist/safety/policy.d.ts.map +1 -1
  422. package/dist/safety/policy.js +1 -4
  423. package/dist/safety/policy.js.map +1 -1
  424. package/dist/sandbox/docker-sandbox.d.ts.map +1 -1
  425. package/dist/sandbox/docker-sandbox.js +6 -1
  426. package/dist/sandbox/docker-sandbox.js.map +1 -1
  427. package/dist/server/handlers/chat-ws.d.ts +2 -1
  428. package/dist/server/handlers/chat-ws.d.ts.map +1 -1
  429. package/dist/server/handlers/chat-ws.js +150 -5
  430. package/dist/server/handlers/chat-ws.js.map +1 -1
  431. package/dist/server/handlers/chat.d.ts.map +1 -1
  432. package/dist/server/handlers/chat.js +78 -5
  433. package/dist/server/handlers/chat.js.map +1 -1
  434. package/dist/server/handlers/hosted-runner-drain.d.ts.map +1 -1
  435. package/dist/server/handlers/hosted-runner-drain.js +1 -3
  436. package/dist/server/handlers/hosted-runner-drain.js.map +1 -1
  437. package/dist/server/handlers/package.d.ts.map +1 -1
  438. package/dist/server/handlers/package.js +1 -0
  439. package/dist/server/handlers/package.js.map +1 -1
  440. package/dist/server/handlers/platform-a2a-push.d.ts.map +1 -1
  441. package/dist/server/handlers/platform-a2a-push.js +53 -2
  442. package/dist/server/handlers/platform-a2a-push.js.map +1 -1
  443. package/dist/server/handlers/queue.js +1 -1
  444. package/dist/server/handlers/queue.js.map +1 -1
  445. package/dist/server/handlers/runtime-app-server-ws.d.ts.map +1 -1
  446. package/dist/server/handlers/runtime-app-server-ws.js +1 -3
  447. package/dist/server/handlers/runtime-app-server-ws.js.map +1 -1
  448. package/dist/server/handlers/ui.js +1 -1
  449. package/dist/server/handlers/ui.js.map +1 -1
  450. package/dist/server/handlers/zen.js +1 -1
  451. package/dist/server/handlers/zen.js.map +1 -1
  452. package/dist/server/headless-runtime-service.d.ts +16 -0
  453. package/dist/server/headless-runtime-service.d.ts.map +1 -1
  454. package/dist/server/headless-runtime-service.js +232 -206
  455. package/dist/server/headless-runtime-service.js.map +1 -1
  456. package/dist/server/hosted-agent-runtime-progress.d.ts.map +1 -1
  457. package/dist/server/hosted-agent-runtime-progress.js +12 -3
  458. package/dist/server/hosted-agent-runtime-progress.js.map +1 -1
  459. package/dist/server/hosted-session-manager.d.ts +3 -0
  460. package/dist/server/hosted-session-manager.d.ts.map +1 -1
  461. package/dist/server/hosted-session-manager.js +26 -0
  462. package/dist/server/hosted-session-manager.js.map +1 -1
  463. package/dist/server/model-selection.d.ts +1 -0
  464. package/dist/server/model-selection.d.ts.map +1 -1
  465. package/dist/server/model-selection.js +4 -0
  466. package/dist/server/model-selection.js.map +1 -1
  467. package/dist/server/pending-request-payload.d.ts.map +1 -1
  468. package/dist/server/pending-request-payload.js +1 -3
  469. package/dist/server/pending-request-payload.js.map +1 -1
  470. package/dist/server/route-auth.d.ts.map +1 -1
  471. package/dist/server/route-auth.js +2 -0
  472. package/dist/server/route-auth.js.map +1 -1
  473. package/dist/server/session-serialization.d.ts.map +1 -1
  474. package/dist/server/session-serialization.js +4 -3
  475. package/dist/server/session-serialization.js.map +1 -1
  476. package/dist/server/session-timeline.d.ts.map +1 -1
  477. package/dist/server/session-timeline.js +1 -1
  478. package/dist/server/session-timeline.js.map +1 -1
  479. package/dist/server/sse-session.d.ts +2 -0
  480. package/dist/server/sse-session.d.ts.map +1 -1
  481. package/dist/server/sse-session.js +3 -0
  482. package/dist/server/sse-session.js.map +1 -1
  483. package/dist/server/stores/ui-store.d.ts +1 -1
  484. package/dist/server/stores/ui-store.d.ts.map +1 -1
  485. package/dist/server/stores/ui-store.js.map +1 -1
  486. package/dist/server/utils/token-estimator.d.ts +2 -2
  487. package/dist/server/utils/token-estimator.d.ts.map +1 -1
  488. package/dist/server/utils/token-estimator.js +2 -12
  489. package/dist/server/utils/token-estimator.js.map +1 -1
  490. package/dist/server/validation.d.ts +54 -0
  491. package/dist/server/validation.d.ts.map +1 -1
  492. package/dist/services/compliance/normalize.d.ts.map +1 -1
  493. package/dist/services/compliance/normalize.js +1 -3
  494. package/dist/services/compliance/normalize.js.map +1 -1
  495. package/dist/services/image-providers/cost.d.ts +70 -0
  496. package/dist/services/image-providers/cost.d.ts.map +1 -0
  497. package/dist/services/image-providers/cost.js +164 -0
  498. package/dist/services/image-providers/cost.js.map +1 -0
  499. package/dist/services/image-providers/flux.d.ts +40 -0
  500. package/dist/services/image-providers/flux.d.ts.map +1 -0
  501. package/dist/services/image-providers/flux.js +99 -0
  502. package/dist/services/image-providers/flux.js.map +1 -0
  503. package/dist/services/image-providers/index.d.ts +24 -0
  504. package/dist/services/image-providers/index.d.ts.map +1 -0
  505. package/dist/services/image-providers/index.js +27 -0
  506. package/dist/services/image-providers/index.js.map +1 -0
  507. package/dist/services/image-providers/masks.d.ts +51 -0
  508. package/dist/services/image-providers/masks.d.ts.map +1 -0
  509. package/dist/services/image-providers/masks.js +132 -0
  510. package/dist/services/image-providers/masks.js.map +1 -0
  511. package/dist/services/image-providers/openai.d.ts +35 -0
  512. package/dist/services/image-providers/openai.d.ts.map +1 -0
  513. package/dist/services/image-providers/openai.js +93 -0
  514. package/dist/services/image-providers/openai.js.map +1 -0
  515. package/dist/services/image-providers/types.d.ts +61 -0
  516. package/dist/services/image-providers/types.d.ts.map +1 -0
  517. package/dist/services/image-providers/types.js +17 -0
  518. package/dist/services/image-providers/types.js.map +1 -0
  519. package/dist/services/intelligent-router/index.d.ts +1 -0
  520. package/dist/services/intelligent-router/index.d.ts.map +1 -1
  521. package/dist/services/intelligent-router/index.js +1 -0
  522. package/dist/services/intelligent-router/index.js.map +1 -1
  523. package/dist/services/intelligent-router/normalize.d.ts +1 -0
  524. package/dist/services/intelligent-router/normalize.d.ts.map +1 -1
  525. package/dist/services/intelligent-router/normalize.js +18 -3
  526. package/dist/services/intelligent-router/normalize.js.map +1 -1
  527. package/dist/services/intelligent-router/outcome.d.ts +19 -0
  528. package/dist/services/intelligent-router/outcome.d.ts.map +1 -0
  529. package/dist/services/intelligent-router/outcome.js +51 -0
  530. package/dist/services/intelligent-router/outcome.js.map +1 -0
  531. package/dist/services/intelligent-router/recorder.d.ts +2 -0
  532. package/dist/services/intelligent-router/recorder.d.ts.map +1 -1
  533. package/dist/services/intelligent-router/recorder.js +72 -1
  534. package/dist/services/intelligent-router/recorder.js.map +1 -1
  535. package/dist/services/intelligent-router/service.d.ts +1 -0
  536. package/dist/services/intelligent-router/service.d.ts.map +1 -1
  537. package/dist/services/intelligent-router/service.js +60 -11
  538. package/dist/services/intelligent-router/service.js.map +1 -1
  539. package/dist/services/intelligent-router/types.d.ts +18 -0
  540. package/dist/services/intelligent-router/types.d.ts.map +1 -1
  541. package/dist/services/intelligent-router/types.js.map +1 -1
  542. package/dist/services/revenue-attribution/normalize.d.ts.map +1 -1
  543. package/dist/services/revenue-attribution/normalize.js +1 -3
  544. package/dist/services/revenue-attribution/normalize.js.map +1 -1
  545. package/dist/services/traces/normalize.d.ts.map +1 -1
  546. package/dist/services/traces/normalize.js +1 -3
  547. package/dist/services/traces/normalize.js.map +1 -1
  548. package/dist/services/workspace-config/middleware.d.ts +2 -0
  549. package/dist/services/workspace-config/middleware.d.ts.map +1 -1
  550. package/dist/services/workspace-config/middleware.js +25 -28
  551. package/dist/services/workspace-config/middleware.js.map +1 -1
  552. package/dist/services/workspace-config/normalize.d.ts.map +1 -1
  553. package/dist/services/workspace-config/normalize.js +1 -3
  554. package/dist/services/workspace-config/normalize.js.map +1 -1
  555. package/dist/session/agent-lineage-projection.d.ts +30 -0
  556. package/dist/session/agent-lineage-projection.d.ts.map +1 -0
  557. package/dist/session/agent-lineage-projection.js +109 -0
  558. package/dist/session/agent-lineage-projection.js.map +1 -0
  559. package/dist/session/manager.d.ts +3 -0
  560. package/dist/session/manager.d.ts.map +1 -1
  561. package/dist/session/manager.js +24 -0
  562. package/dist/session/manager.js.map +1 -1
  563. package/dist/session/session-graph-projection.d.ts +11 -0
  564. package/dist/session/session-graph-projection.d.ts.map +1 -1
  565. package/dist/session/session-graph-projection.js +28 -0
  566. package/dist/session/session-graph-projection.js.map +1 -1
  567. package/dist/session/types.d.ts +2 -0
  568. package/dist/session/types.d.ts.map +1 -1
  569. package/dist/session/types.js.map +1 -1
  570. package/dist/telemetry/agent-workforce-native-event.d.ts.map +1 -1
  571. package/dist/telemetry/agent-workforce-native-event.js +1 -3
  572. package/dist/telemetry/agent-workforce-native-event.js.map +1 -1
  573. package/dist/telemetry/maestro-event-bus.d.ts +1 -1
  574. package/dist/telemetry/maestro-event-bus.d.ts.map +1 -1
  575. package/dist/telemetry/maestro-event-bus.js +42 -81
  576. package/dist/telemetry/maestro-event-bus.js.map +1 -1
  577. package/dist/telemetry/maestro-platform-replay-fixture.d.ts.map +1 -1
  578. package/dist/telemetry/maestro-platform-replay-fixture.js +1 -3
  579. package/dist/telemetry/maestro-platform-replay-fixture.js.map +1 -1
  580. package/dist/telemetry/maestro-publisher-conformance-fixture.js.map +1 -1
  581. package/dist/telemetry/oracle-policy.d.ts +6 -0
  582. package/dist/telemetry/oracle-policy.d.ts.map +1 -0
  583. package/dist/telemetry/oracle-policy.js +17 -0
  584. package/dist/telemetry/oracle-policy.js.map +1 -0
  585. package/dist/telemetry/wide-events.d.ts +1 -1
  586. package/dist/telemetry/wide-events.d.ts.map +1 -1
  587. package/dist/telemetry/wide-events.js.map +1 -1
  588. package/dist/telemetry.d.ts.map +1 -1
  589. package/dist/telemetry.js +54 -43
  590. package/dist/telemetry.js.map +1 -1
  591. package/dist/theme/theme-loader.d.ts.map +1 -1
  592. package/dist/theme/theme-loader.js +1 -3
  593. package/dist/theme/theme-loader.js.map +1 -1
  594. package/dist/theme/theme.d.ts +2 -8
  595. package/dist/theme/theme.d.ts.map +1 -1
  596. package/dist/theme/theme.js +7 -0
  597. package/dist/theme/theme.js.map +1 -1
  598. package/dist/theme/tui-theme-helpers.d.ts +2 -1
  599. package/dist/theme/tui-theme-helpers.d.ts.map +1 -1
  600. package/dist/theme/tui-theme-helpers.js.map +1 -1
  601. package/dist/theme/tui-theme-types.d.ts +39 -0
  602. package/dist/theme/tui-theme-types.d.ts.map +1 -0
  603. package/dist/theme/tui-theme-types.js +10 -0
  604. package/dist/theme/tui-theme-types.js.map +1 -0
  605. package/dist/tools/apply-patch.d.ts.map +1 -1
  606. package/dist/tools/apply-patch.js +76 -8
  607. package/dist/tools/apply-patch.js.map +1 -1
  608. package/dist/tools/diff-preview.d.ts.map +1 -1
  609. package/dist/tools/diff-preview.js +10 -1
  610. package/dist/tools/diff-preview.js.map +1 -1
  611. package/dist/tools/edit.d.ts.map +1 -1
  612. package/dist/tools/edit.js +17 -0
  613. package/dist/tools/edit.js.map +1 -1
  614. package/dist/tools/index.d.ts +199 -160
  615. package/dist/tools/index.d.ts.map +1 -1
  616. package/dist/tools/index.js +4 -0
  617. package/dist/tools/index.js.map +1 -1
  618. package/dist/tools/lazy-registry.d.ts.map +1 -1
  619. package/dist/tools/lazy-registry.js +1 -0
  620. package/dist/tools/lazy-registry.js.map +1 -1
  621. package/dist/tools/oracle.d.ts +9 -0
  622. package/dist/tools/oracle.d.ts.map +1 -1
  623. package/dist/tools/oracle.js +26 -24
  624. package/dist/tools/oracle.js.map +1 -1
  625. package/dist/tools/painter.d.ts +73 -0
  626. package/dist/tools/painter.d.ts.map +1 -0
  627. package/dist/tools/painter.js +283 -0
  628. package/dist/tools/painter.js.map +1 -0
  629. package/dist/tools/typebox-tool.d.ts.map +1 -1
  630. package/dist/tools/typebox-tool.js +1 -1
  631. package/dist/tools/typebox-tool.js.map +1 -1
  632. package/dist/tools/write.d.ts.map +1 -1
  633. package/dist/tools/write.js +9 -0
  634. package/dist/tools/write.js.map +1 -1
  635. package/dist/undo/tracker.d.ts +5 -0
  636. package/dist/undo/tracker.d.ts.map +1 -1
  637. package/dist/undo/tracker.js +13 -0
  638. package/dist/undo/tracker.js.map +1 -1
  639. package/dist/utils/fs.d.ts +1 -1
  640. package/dist/utils/fs.d.ts.map +1 -1
  641. package/dist/utils/fs.js +29 -2
  642. package/dist/utils/fs.js.map +1 -1
  643. package/dist/utils/git-stash.d.ts.map +1 -1
  644. package/dist/utils/git-stash.js +15 -8
  645. package/dist/utils/git-stash.js.map +1 -1
  646. package/dist/utils/json.d.ts +11 -0
  647. package/dist/utils/json.d.ts.map +1 -1
  648. package/dist/utils/json.js +9 -0
  649. package/dist/utils/json.js.map +1 -1
  650. package/dist/utils/shell-env.d.ts.map +1 -1
  651. package/dist/utils/shell-env.js +2 -0
  652. package/dist/utils/shell-env.js.map +1 -1
  653. package/dist/utils/terminal-image.d.ts +52 -0
  654. package/dist/utils/terminal-image.d.ts.map +1 -0
  655. package/dist/utils/terminal-image.js +95 -0
  656. package/dist/utils/terminal-image.js.map +1 -0
  657. package/dist/utils/terminal-text.d.ts +11 -0
  658. package/dist/utils/terminal-text.d.ts.map +1 -0
  659. package/dist/utils/terminal-text.js +21 -0
  660. package/dist/utils/terminal-text.js.map +1 -0
  661. package/dist/utils/url-extractor-git.d.ts +26 -0
  662. package/dist/utils/url-extractor-git.d.ts.map +1 -0
  663. package/dist/utils/url-extractor-git.js +259 -0
  664. package/dist/utils/url-extractor-git.js.map +1 -0
  665. package/dist/utils/url-extractor.d.ts.map +1 -1
  666. package/dist/utils/url-extractor.js +23 -251
  667. package/dist/utils/url-extractor.js.map +1 -1
  668. package/dist/version.json +2 -2
  669. package/dist/web-server.d.ts.map +1 -1
  670. package/dist/web-server.js +24 -2
  671. package/dist/web-server.js.map +1 -1
  672. package/package.json +312 -306
  673. package/skills/incident-triage/SKILL.md +20 -1
  674. package/skills/install-code-review/SKILL.md +69 -0
  675. package/skills/security-review/SKILL.md +68 -0
  676. package/skills/security-review/reference/rubric.md +85 -0
  677. package/dist/cli/commands/agents.d.ts +0 -20
  678. package/dist/cli/commands/agents.d.ts.map +0 -1
  679. package/dist/cli/commands/agents.js +0 -280
  680. package/dist/cli/commands/agents.js.map +0 -1
  681. package/dist/cli/commands/anthropic.d.ts +0 -2
  682. package/dist/cli/commands/anthropic.d.ts.map +0 -1
  683. package/dist/cli/commands/anthropic.js +0 -6
  684. package/dist/cli/commands/anthropic.js.map +0 -1
  685. package/dist/cli/commands/cost.d.ts +0 -13
  686. package/dist/cli/commands/cost.d.ts.map +0 -1
  687. package/dist/cli/commands/cost.js +0 -143
  688. package/dist/cli/commands/cost.js.map +0 -1
  689. package/dist/cli/commands/exec-constants.d.ts +0 -3
  690. package/dist/cli/commands/exec-constants.d.ts.map +0 -1
  691. package/dist/cli/commands/exec-constants.js +0 -3
  692. package/dist/cli/commands/exec-constants.js.map +0 -1
  693. package/dist/cli/commands/exec.d.ts +0 -19
  694. package/dist/cli/commands/exec.d.ts.map +0 -1
  695. package/dist/cli/commands/exec.js +0 -207
  696. package/dist/cli/commands/exec.js.map +0 -1
  697. package/dist/cli/commands/hooks.d.ts +0 -2
  698. package/dist/cli/commands/hooks.d.ts.map +0 -1
  699. package/dist/cli/commands/hooks.js +0 -25
  700. package/dist/cli/commands/hooks.js.map +0 -1
  701. package/dist/cli/commands/hosted-runner.d.ts +0 -25
  702. package/dist/cli/commands/hosted-runner.d.ts.map +0 -1
  703. package/dist/cli/commands/hosted-runner.js +0 -278
  704. package/dist/cli/commands/hosted-runner.js.map +0 -1
  705. package/dist/cli/commands/memory.d.ts +0 -2
  706. package/dist/cli/commands/memory.d.ts.map +0 -1
  707. package/dist/cli/commands/memory.js +0 -208
  708. package/dist/cli/commands/memory.js.map +0 -1
  709. package/dist/cli/commands/models.d.ts +0 -3
  710. package/dist/cli/commands/models.d.ts.map +0 -1
  711. package/dist/cli/commands/models.js +0 -154
  712. package/dist/cli/commands/models.js.map +0 -1
  713. package/dist/cli/commands/modes.d.ts +0 -8
  714. package/dist/cli/commands/modes.d.ts.map +0 -1
  715. package/dist/cli/commands/modes.js +0 -151
  716. package/dist/cli/commands/modes.js.map +0 -1
  717. package/dist/cli/commands/openai.d.ts +0 -2
  718. package/dist/cli/commands/openai.d.ts.map +0 -1
  719. package/dist/cli/commands/openai.js +0 -116
  720. package/dist/cli/commands/openai.js.map +0 -1
  721. package/dist/cli/commands/session-transfer.d.ts +0 -5
  722. package/dist/cli/commands/session-transfer.d.ts.map +0 -1
  723. package/dist/cli/commands/session-transfer.js +0 -43
  724. package/dist/cli/commands/session-transfer.js.map +0 -1
  725. package/dist/cli/commands/sessions.d.ts +0 -8
  726. package/dist/cli/commands/sessions.d.ts.map +0 -1
  727. package/dist/cli/commands/sessions.js +0 -152
  728. package/dist/cli/commands/sessions.js.map +0 -1
  729. package/dist/cli/commands/skill.d.ts +0 -10
  730. package/dist/cli/commands/skill.d.ts.map +0 -1
  731. package/dist/cli/commands/skill.js +0 -303
  732. package/dist/cli/commands/skill.js.map +0 -1
  733. package/dist/cli/commands/stats.d.ts +0 -7
  734. package/dist/cli/commands/stats.d.ts.map +0 -1
  735. package/dist/cli/commands/stats.js +0 -167
  736. package/dist/cli/commands/stats.js.map +0 -1
  737. package/dist/cli/commands/status.d.ts +0 -2
  738. package/dist/cli/commands/status.d.ts.map +0 -1
  739. package/dist/cli/commands/status.js +0 -11
  740. package/dist/cli/commands/status.js.map +0 -1
  741. package/dist/cli/commands/update.d.ts +0 -12
  742. package/dist/cli/commands/update.d.ts.map +0 -1
  743. package/dist/cli/commands/update.js +0 -148
  744. package/dist/cli/commands/update.js.map +0 -1
  745. package/dist/cli-tui/about-view.d.ts +0 -48
  746. package/dist/cli-tui/about-view.d.ts.map +0 -1
  747. package/dist/cli-tui/about-view.js +0 -206
  748. package/dist/cli-tui/about-view.js.map +0 -1
  749. package/dist/cli-tui/agent-event-router.d.ts +0 -28
  750. package/dist/cli-tui/agent-event-router.d.ts.map +0 -1
  751. package/dist/cli-tui/agent-event-router.js +0 -126
  752. package/dist/cli-tui/agent-event-router.js.map +0 -1
  753. package/dist/cli-tui/approval/approval-controller.d.ts +0 -28
  754. package/dist/cli-tui/approval/approval-controller.d.ts.map +0 -1
  755. package/dist/cli-tui/approval/approval-controller.js +0 -99
  756. package/dist/cli-tui/approval/approval-controller.js.map +0 -1
  757. package/dist/cli-tui/approval/approval-modal.d.ts +0 -26
  758. package/dist/cli-tui/approval/approval-modal.d.ts.map +0 -1
  759. package/dist/cli-tui/approval/approval-modal.js +0 -143
  760. package/dist/cli-tui/approval/approval-modal.js.map +0 -1
  761. package/dist/cli-tui/assistant-message.d.ts +0 -41
  762. package/dist/cli-tui/assistant-message.d.ts.map +0 -1
  763. package/dist/cli-tui/assistant-message.js +0 -236
  764. package/dist/cli-tui/assistant-message.js.map +0 -1
  765. package/dist/cli-tui/auth-state.d.ts +0 -7
  766. package/dist/cli-tui/auth-state.d.ts.map +0 -1
  767. package/dist/cli-tui/auth-state.js +0 -46
  768. package/dist/cli-tui/auth-state.js.map +0 -1
  769. package/dist/cli-tui/background/background-tasks-controller.d.ts +0 -31
  770. package/dist/cli-tui/background/background-tasks-controller.d.ts.map +0 -1
  771. package/dist/cli-tui/background/background-tasks-controller.js +0 -84
  772. package/dist/cli-tui/background/background-tasks-controller.js.map +0 -1
  773. package/dist/cli-tui/base-view.d.ts +0 -111
  774. package/dist/cli-tui/base-view.d.ts.map +0 -1
  775. package/dist/cli-tui/base-view.js +0 -145
  776. package/dist/cli-tui/base-view.js.map +0 -1
  777. package/dist/cli-tui/bash/background-launcher.d.ts +0 -14
  778. package/dist/cli-tui/bash/background-launcher.d.ts.map +0 -1
  779. package/dist/cli-tui/bash/background-launcher.js +0 -50
  780. package/dist/cli-tui/bash/background-launcher.js.map +0 -1
  781. package/dist/cli-tui/bash/bash-autocomplete.d.ts +0 -40
  782. package/dist/cli-tui/bash/bash-autocomplete.d.ts.map +0 -1
  783. package/dist/cli-tui/bash/bash-autocomplete.js +0 -347
  784. package/dist/cli-tui/bash/bash-autocomplete.js.map +0 -1
  785. package/dist/cli-tui/bash/bash-history.d.ts +0 -21
  786. package/dist/cli-tui/bash/bash-history.d.ts.map +0 -1
  787. package/dist/cli-tui/bash/bash-history.js +0 -72
  788. package/dist/cli-tui/bash/bash-history.js.map +0 -1
  789. package/dist/cli-tui/bash/bash-syntax.d.ts +0 -5
  790. package/dist/cli-tui/bash/bash-syntax.d.ts.map +0 -1
  791. package/dist/cli-tui/bash/bash-syntax.js +0 -176
  792. package/dist/cli-tui/bash/bash-syntax.js.map +0 -1
  793. package/dist/cli-tui/bash/index.d.ts +0 -4
  794. package/dist/cli-tui/bash/index.d.ts.map +0 -1
  795. package/dist/cli-tui/bash/index.js +0 -4
  796. package/dist/cli-tui/bash/index.js.map +0 -1
  797. package/dist/cli-tui/bash-mode-view.d.ts +0 -86
  798. package/dist/cli-tui/bash-mode-view.d.ts.map +0 -1
  799. package/dist/cli-tui/bash-mode-view.js +0 -560
  800. package/dist/cli-tui/bash-mode-view.js.map +0 -1
  801. package/dist/cli-tui/bash-shell-block.d.ts +0 -50
  802. package/dist/cli-tui/bash-shell-block.d.ts.map +0 -1
  803. package/dist/cli-tui/bash-shell-block.js +0 -119
  804. package/dist/cli-tui/bash-shell-block.js.map +0 -1
  805. package/dist/cli-tui/changelog-view.d.ts +0 -13
  806. package/dist/cli-tui/changelog-view.d.ts.map +0 -1
  807. package/dist/cli-tui/changelog-view.js +0 -34
  808. package/dist/cli-tui/changelog-view.js.map +0 -1
  809. package/dist/cli-tui/clean-mode.d.ts +0 -13
  810. package/dist/cli-tui/clean-mode.d.ts.map +0 -1
  811. package/dist/cli-tui/clean-mode.js +0 -32
  812. package/dist/cli-tui/clean-mode.js.map +0 -1
  813. package/dist/cli-tui/client-tools/client-tool-controller.d.ts +0 -41
  814. package/dist/cli-tui/client-tools/client-tool-controller.d.ts.map +0 -1
  815. package/dist/cli-tui/client-tools/client-tool-controller.js +0 -862
  816. package/dist/cli-tui/client-tools/client-tool-controller.js.map +0 -1
  817. package/dist/cli-tui/client-tools/local-client-tool-service.d.ts +0 -33
  818. package/dist/cli-tui/client-tools/local-client-tool-service.d.ts.map +0 -1
  819. package/dist/cli-tui/client-tools/local-client-tool-service.js +0 -94
  820. package/dist/cli-tui/client-tools/local-client-tool-service.js.map +0 -1
  821. package/dist/cli-tui/commands/a2a-handlers.d.ts +0 -7
  822. package/dist/cli-tui/commands/a2a-handlers.d.ts.map +0 -1
  823. package/dist/cli-tui/commands/a2a-handlers.js +0 -215
  824. package/dist/cli-tui/commands/a2a-handlers.js.map +0 -1
  825. package/dist/cli-tui/commands/access-command.d.ts +0 -3
  826. package/dist/cli-tui/commands/access-command.d.ts.map +0 -1
  827. package/dist/cli-tui/commands/access-command.js +0 -89
  828. package/dist/cli-tui/commands/access-command.js.map +0 -1
  829. package/dist/cli-tui/commands/argument-parser.d.ts +0 -12
  830. package/dist/cli-tui/commands/argument-parser.d.ts.map +0 -1
  831. package/dist/cli-tui/commands/argument-parser.js +0 -135
  832. package/dist/cli-tui/commands/argument-parser.js.map +0 -1
  833. package/dist/cli-tui/commands/audit-command.d.ts +0 -5
  834. package/dist/cli-tui/commands/audit-command.d.ts.map +0 -1
  835. package/dist/cli-tui/commands/audit-command.js +0 -35
  836. package/dist/cli-tui/commands/audit-command.js.map +0 -1
  837. package/dist/cli-tui/commands/background-handlers.d.ts +0 -14
  838. package/dist/cli-tui/commands/background-handlers.d.ts.map +0 -1
  839. package/dist/cli-tui/commands/background-handlers.js +0 -115
  840. package/dist/cli-tui/commands/background-handlers.js.map +0 -1
  841. package/dist/cli-tui/commands/command-catalog.d.ts +0 -29
  842. package/dist/cli-tui/commands/command-catalog.d.ts.map +0 -1
  843. package/dist/cli-tui/commands/command-catalog.js +0 -666
  844. package/dist/cli-tui/commands/command-catalog.js.map +0 -1
  845. package/dist/cli-tui/commands/command-registry-adapter.d.ts +0 -12
  846. package/dist/cli-tui/commands/command-registry-adapter.d.ts.map +0 -1
  847. package/dist/cli-tui/commands/command-registry-adapter.js +0 -129
  848. package/dist/cli-tui/commands/command-registry-adapter.js.map +0 -1
  849. package/dist/cli-tui/commands/command-suite-catalog.d.ts +0 -14
  850. package/dist/cli-tui/commands/command-suite-catalog.d.ts.map +0 -1
  851. package/dist/cli-tui/commands/command-suite-catalog.js +0 -147
  852. package/dist/cli-tui/commands/command-suite-catalog.js.map +0 -1
  853. package/dist/cli-tui/commands/command-suite-handlers.d.ts +0 -111
  854. package/dist/cli-tui/commands/command-suite-handlers.d.ts.map +0 -1
  855. package/dist/cli-tui/commands/command-suite-handlers.js +0 -110
  856. package/dist/cli-tui/commands/command-suite-handlers.js.map +0 -1
  857. package/dist/cli-tui/commands/composer-handlers.d.ts +0 -8
  858. package/dist/cli-tui/commands/composer-handlers.d.ts.map +0 -1
  859. package/dist/cli-tui/commands/composer-handlers.js +0 -90
  860. package/dist/cli-tui/commands/composer-handlers.js.map +0 -1
  861. package/dist/cli-tui/commands/framework-handlers.d.ts +0 -18
  862. package/dist/cli-tui/commands/framework-handlers.d.ts.map +0 -1
  863. package/dist/cli-tui/commands/framework-handlers.js +0 -57
  864. package/dist/cli-tui/commands/framework-handlers.js.map +0 -1
  865. package/dist/cli-tui/commands/guardian-handlers.d.ts +0 -20
  866. package/dist/cli-tui/commands/guardian-handlers.d.ts.map +0 -1
  867. package/dist/cli-tui/commands/guardian-handlers.js +0 -48
  868. package/dist/cli-tui/commands/guardian-handlers.js.map +0 -1
  869. package/dist/cli-tui/commands/handlers/mode-handler.d.ts +0 -32
  870. package/dist/cli-tui/commands/handlers/mode-handler.d.ts.map +0 -1
  871. package/dist/cli-tui/commands/handlers/mode-handler.js +0 -153
  872. package/dist/cli-tui/commands/handlers/mode-handler.js.map +0 -1
  873. package/dist/cli-tui/commands/hotkeys-command.d.ts +0 -8
  874. package/dist/cli-tui/commands/hotkeys-command.d.ts.map +0 -1
  875. package/dist/cli-tui/commands/hotkeys-command.js +0 -61
  876. package/dist/cli-tui/commands/hotkeys-command.js.map +0 -1
  877. package/dist/cli-tui/commands/limits-command.d.ts +0 -3
  878. package/dist/cli-tui/commands/limits-command.d.ts.map +0 -1
  879. package/dist/cli-tui/commands/limits-command.js +0 -88
  880. package/dist/cli-tui/commands/limits-command.js.map +0 -1
  881. package/dist/cli-tui/commands/mcp-handlers.d.ts +0 -12
  882. package/dist/cli-tui/commands/mcp-handlers.d.ts.map +0 -1
  883. package/dist/cli-tui/commands/mcp-handlers.js +0 -1306
  884. package/dist/cli-tui/commands/mcp-handlers.js.map +0 -1
  885. package/dist/cli-tui/commands/memory-handlers.d.ts +0 -28
  886. package/dist/cli-tui/commands/memory-handlers.d.ts.map +0 -1
  887. package/dist/cli-tui/commands/memory-handlers.js +0 -414
  888. package/dist/cli-tui/commands/memory-handlers.js.map +0 -1
  889. package/dist/cli-tui/commands/otel-handlers.d.ts +0 -11
  890. package/dist/cli-tui/commands/otel-handlers.d.ts.map +0 -1
  891. package/dist/cli-tui/commands/otel-handlers.js +0 -20
  892. package/dist/cli-tui/commands/otel-handlers.js.map +0 -1
  893. package/dist/cli-tui/commands/package-handlers.d.ts +0 -30
  894. package/dist/cli-tui/commands/package-handlers.d.ts.map +0 -1
  895. package/dist/cli-tui/commands/package-handlers.js +0 -499
  896. package/dist/cli-tui/commands/package-handlers.js.map +0 -1
  897. package/dist/cli-tui/commands/pii-command.d.ts +0 -3
  898. package/dist/cli-tui/commands/pii-command.d.ts.map +0 -1
  899. package/dist/cli-tui/commands/pii-command.js +0 -54
  900. package/dist/cli-tui/commands/pii-command.js.map +0 -1
  901. package/dist/cli-tui/commands/registry.d.ts +0 -3
  902. package/dist/cli-tui/commands/registry.d.ts.map +0 -1
  903. package/dist/cli-tui/commands/registry.js +0 -36
  904. package/dist/cli-tui/commands/registry.js.map +0 -1
  905. package/dist/cli-tui/commands/safety-handlers.d.ts +0 -36
  906. package/dist/cli-tui/commands/safety-handlers.d.ts.map +0 -1
  907. package/dist/cli-tui/commands/safety-handlers.js +0 -62
  908. package/dist/cli-tui/commands/safety-handlers.js.map +0 -1
  909. package/dist/cli-tui/commands/subcommands/auth-commands.d.ts +0 -26
  910. package/dist/cli-tui/commands/subcommands/auth-commands.d.ts.map +0 -1
  911. package/dist/cli-tui/commands/subcommands/auth-commands.js +0 -79
  912. package/dist/cli-tui/commands/subcommands/auth-commands.js.map +0 -1
  913. package/dist/cli-tui/commands/subcommands/config-commands.d.ts +0 -23
  914. package/dist/cli-tui/commands/subcommands/config-commands.d.ts.map +0 -1
  915. package/dist/cli-tui/commands/subcommands/config-commands.js +0 -61
  916. package/dist/cli-tui/commands/subcommands/config-commands.js.map +0 -1
  917. package/dist/cli-tui/commands/subcommands/diag-commands.d.ts +0 -46
  918. package/dist/cli-tui/commands/subcommands/diag-commands.d.ts.map +0 -1
  919. package/dist/cli-tui/commands/subcommands/diag-commands.js +0 -163
  920. package/dist/cli-tui/commands/subcommands/diag-commands.js.map +0 -1
  921. package/dist/cli-tui/commands/subcommands/git-commands.d.ts +0 -18
  922. package/dist/cli-tui/commands/subcommands/git-commands.d.ts.map +0 -1
  923. package/dist/cli-tui/commands/subcommands/git-commands.js +0 -50
  924. package/dist/cli-tui/commands/subcommands/git-commands.js.map +0 -1
  925. package/dist/cli-tui/commands/subcommands/index.d.ts +0 -18
  926. package/dist/cli-tui/commands/subcommands/index.d.ts.map +0 -1
  927. package/dist/cli-tui/commands/subcommands/index.js +0 -18
  928. package/dist/cli-tui/commands/subcommands/index.js.map +0 -1
  929. package/dist/cli-tui/commands/subcommands/safety-commands.d.ts +0 -26
  930. package/dist/cli-tui/commands/subcommands/safety-commands.d.ts.map +0 -1
  931. package/dist/cli-tui/commands/subcommands/safety-commands.js +0 -149
  932. package/dist/cli-tui/commands/subcommands/safety-commands.js.map +0 -1
  933. package/dist/cli-tui/commands/subcommands/session-commands.d.ts +0 -36
  934. package/dist/cli-tui/commands/subcommands/session-commands.d.ts.map +0 -1
  935. package/dist/cli-tui/commands/subcommands/session-commands.js +0 -112
  936. package/dist/cli-tui/commands/subcommands/session-commands.js.map +0 -1
  937. package/dist/cli-tui/commands/subcommands/tools-commands.d.ts +0 -27
  938. package/dist/cli-tui/commands/subcommands/tools-commands.d.ts.map +0 -1
  939. package/dist/cli-tui/commands/subcommands/tools-commands.js +0 -80
  940. package/dist/cli-tui/commands/subcommands/tools-commands.js.map +0 -1
  941. package/dist/cli-tui/commands/subcommands/ui-commands.d.ts +0 -30
  942. package/dist/cli-tui/commands/subcommands/ui-commands.d.ts.map +0 -1
  943. package/dist/cli-tui/commands/subcommands/ui-commands.js +0 -74
  944. package/dist/cli-tui/commands/subcommands/ui-commands.js.map +0 -1
  945. package/dist/cli-tui/commands/subcommands/undo-commands.d.ts +0 -25
  946. package/dist/cli-tui/commands/subcommands/undo-commands.d.ts.map +0 -1
  947. package/dist/cli-tui/commands/subcommands/undo-commands.js +0 -74
  948. package/dist/cli-tui/commands/subcommands/undo-commands.js.map +0 -1
  949. package/dist/cli-tui/commands/subcommands/usage-commands.d.ts +0 -19
  950. package/dist/cli-tui/commands/subcommands/usage-commands.d.ts.map +0 -1
  951. package/dist/cli-tui/commands/subcommands/usage-commands.js +0 -63
  952. package/dist/cli-tui/commands/subcommands/usage-commands.js.map +0 -1
  953. package/dist/cli-tui/commands/subcommands/utils.d.ts +0 -127
  954. package/dist/cli-tui/commands/subcommands/utils.d.ts.map +0 -1
  955. package/dist/cli-tui/commands/subcommands/utils.js +0 -395
  956. package/dist/cli-tui/commands/subcommands/utils.js.map +0 -1
  957. package/dist/cli-tui/commands/types.d.ts +0 -105
  958. package/dist/cli-tui/commands/types.d.ts.map +0 -1
  959. package/dist/cli-tui/commands/types.js +0 -2
  960. package/dist/cli-tui/commands/types.js.map +0 -1
  961. package/dist/cli-tui/commands/undo-handlers.d.ts +0 -29
  962. package/dist/cli-tui/commands/undo-handlers.d.ts.map +0 -1
  963. package/dist/cli-tui/commands/undo-handlers.js +0 -300
  964. package/dist/cli-tui/commands/undo-handlers.js.map +0 -1
  965. package/dist/cli-tui/commands/utility-handlers.d.ts +0 -55
  966. package/dist/cli-tui/commands/utility-handlers.d.ts.map +0 -1
  967. package/dist/cli-tui/commands/utility-handlers.js +0 -137
  968. package/dist/cli-tui/commands/utility-handlers.js.map +0 -1
  969. package/dist/cli-tui/commands/workflow-handlers.d.ts +0 -22
  970. package/dist/cli-tui/commands/workflow-handlers.d.ts.map +0 -1
  971. package/dist/cli-tui/commands/workflow-handlers.js +0 -227
  972. package/dist/cli-tui/commands/workflow-handlers.js.map +0 -1
  973. package/dist/cli-tui/compact-boundary-message.d.ts +0 -9
  974. package/dist/cli-tui/compact-boundary-message.d.ts.map +0 -1
  975. package/dist/cli-tui/compact-boundary-message.js +0 -18
  976. package/dist/cli-tui/compact-boundary-message.js.map +0 -1
  977. package/dist/cli-tui/compaction-recovery.d.ts +0 -6
  978. package/dist/cli-tui/compaction-recovery.d.ts.map +0 -1
  979. package/dist/cli-tui/compaction-recovery.js +0 -13
  980. package/dist/cli-tui/compaction-recovery.js.map +0 -1
  981. package/dist/cli-tui/config-view.d.ts +0 -30
  982. package/dist/cli-tui/config-view.d.ts.map +0 -1
  983. package/dist/cli-tui/config-view.js +0 -255
  984. package/dist/cli-tui/config-view.js.map +0 -1
  985. package/dist/cli-tui/context-view.d.ts +0 -20
  986. package/dist/cli-tui/context-view.d.ts.map +0 -1
  987. package/dist/cli-tui/context-view.js +0 -191
  988. package/dist/cli-tui/context-view.js.map +0 -1
  989. package/dist/cli-tui/custom-editor.d.ts +0 -25
  990. package/dist/cli-tui/custom-editor.d.ts.map +0 -1
  991. package/dist/cli-tui/custom-editor.js +0 -241
  992. package/dist/cli-tui/custom-editor.js.map +0 -1
  993. package/dist/cli-tui/editor-view.d.ts +0 -34
  994. package/dist/cli-tui/editor-view.d.ts.map +0 -1
  995. package/dist/cli-tui/editor-view.js +0 -102
  996. package/dist/cli-tui/editor-view.js.map +0 -1
  997. package/dist/cli-tui/feedback-view.d.ts +0 -35
  998. package/dist/cli-tui/feedback-view.d.ts.map +0 -1
  999. package/dist/cli-tui/feedback-view.js +0 -271
  1000. package/dist/cli-tui/feedback-view.js.map +0 -1
  1001. package/dist/cli-tui/footer.d.ts +0 -56
  1002. package/dist/cli-tui/footer.d.ts.map +0 -1
  1003. package/dist/cli-tui/footer.js +0 -228
  1004. package/dist/cli-tui/footer.js.map +0 -1
  1005. package/dist/cli-tui/git/commit-modal.d.ts +0 -14
  1006. package/dist/cli-tui/git/commit-modal.d.ts.map +0 -1
  1007. package/dist/cli-tui/git/commit-modal.js +0 -56
  1008. package/dist/cli-tui/git/commit-modal.js.map +0 -1
  1009. package/dist/cli-tui/git/git-preview-modal.d.ts +0 -40
  1010. package/dist/cli-tui/git/git-preview-modal.d.ts.map +0 -1
  1011. package/dist/cli-tui/git/git-preview-modal.js +0 -123
  1012. package/dist/cli-tui/git/git-preview-modal.js.map +0 -1
  1013. package/dist/cli-tui/git/git-view.d.ts +0 -65
  1014. package/dist/cli-tui/git/git-view.d.ts.map +0 -1
  1015. package/dist/cli-tui/git/git-view.js +0 -529
  1016. package/dist/cli-tui/git/git-view.js.map +0 -1
  1017. package/dist/cli-tui/history/history-config.d.ts +0 -7
  1018. package/dist/cli-tui/history/history-config.d.ts.map +0 -1
  1019. package/dist/cli-tui/history/history-config.js +0 -49
  1020. package/dist/cli-tui/history/history-config.js.map +0 -1
  1021. package/dist/cli-tui/history/prompt-history.d.ts +0 -33
  1022. package/dist/cli-tui/history/prompt-history.d.ts.map +0 -1
  1023. package/dist/cli-tui/history/prompt-history.js +0 -185
  1024. package/dist/cli-tui/history/prompt-history.js.map +0 -1
  1025. package/dist/cli-tui/history/tool-history.d.ts +0 -50
  1026. package/dist/cli-tui/history/tool-history.d.ts.map +0 -1
  1027. package/dist/cli-tui/history/tool-history.js +0 -253
  1028. package/dist/cli-tui/history/tool-history.js.map +0 -1
  1029. package/dist/cli-tui/hook-message.d.ts +0 -13
  1030. package/dist/cli-tui/hook-message.d.ts.map +0 -1
  1031. package/dist/cli-tui/hook-message.js +0 -56
  1032. package/dist/cli-tui/hook-message.js.map +0 -1
  1033. package/dist/cli-tui/hooks/hook-input-modal.d.ts +0 -22
  1034. package/dist/cli-tui/hooks/hook-input-modal.d.ts.map +0 -1
  1035. package/dist/cli-tui/hooks/hook-input-modal.js +0 -63
  1036. package/dist/cli-tui/hooks/hook-input-modal.js.map +0 -1
  1037. package/dist/cli-tui/hotkeys-view.d.ts +0 -13
  1038. package/dist/cli-tui/hotkeys-view.d.ts.map +0 -1
  1039. package/dist/cli-tui/hotkeys-view.js +0 -96
  1040. package/dist/cli-tui/hotkeys-view.js.map +0 -1
  1041. package/dist/cli-tui/import-view.d.ts +0 -28
  1042. package/dist/cli-tui/import-view.d.ts.map +0 -1
  1043. package/dist/cli-tui/import-view.js +0 -184
  1044. package/dist/cli-tui/import-view.js.map +0 -1
  1045. package/dist/cli-tui/info-view.d.ts +0 -18
  1046. package/dist/cli-tui/info-view.d.ts.map +0 -1
  1047. package/dist/cli-tui/info-view.js +0 -107
  1048. package/dist/cli-tui/info-view.js.map +0 -1
  1049. package/dist/cli-tui/instruction-panel.d.ts +0 -11
  1050. package/dist/cli-tui/instruction-panel.d.ts.map +0 -1
  1051. package/dist/cli-tui/instruction-panel.js +0 -86
  1052. package/dist/cli-tui/instruction-panel.js.map +0 -1
  1053. package/dist/cli-tui/interrupt-controller.d.ts +0 -78
  1054. package/dist/cli-tui/interrupt-controller.d.ts.map +0 -1
  1055. package/dist/cli-tui/interrupt-controller.js +0 -104
  1056. package/dist/cli-tui/interrupt-controller.js.map +0 -1
  1057. package/dist/cli-tui/keybindings-config.d.ts +0 -27
  1058. package/dist/cli-tui/keybindings-config.d.ts.map +0 -1
  1059. package/dist/cli-tui/keybindings-config.js +0 -372
  1060. package/dist/cli-tui/keybindings-config.js.map +0 -1
  1061. package/dist/cli-tui/keybindings-watcher.d.ts +0 -8
  1062. package/dist/cli-tui/keybindings-watcher.d.ts.map +0 -1
  1063. package/dist/cli-tui/keybindings-watcher.js +0 -56
  1064. package/dist/cli-tui/keybindings-watcher.js.map +0 -1
  1065. package/dist/cli-tui/keybindings.d.ts +0 -13
  1066. package/dist/cli-tui/keybindings.d.ts.map +0 -1
  1067. package/dist/cli-tui/keybindings.js +0 -223
  1068. package/dist/cli-tui/keybindings.js.map +0 -1
  1069. package/dist/cli-tui/loader/loader-stage-manager.d.ts +0 -43
  1070. package/dist/cli-tui/loader/loader-stage-manager.d.ts.map +0 -1
  1071. package/dist/cli-tui/loader/loader-stage-manager.js +0 -241
  1072. package/dist/cli-tui/loader/loader-stage-manager.js.map +0 -1
  1073. package/dist/cli-tui/loader/loader-stage-telemetry.d.ts +0 -14
  1074. package/dist/cli-tui/loader/loader-stage-telemetry.d.ts.map +0 -1
  1075. package/dist/cli-tui/loader/loader-stage-telemetry.js +0 -34
  1076. package/dist/cli-tui/loader/loader-stage-telemetry.js.map +0 -1
  1077. package/dist/cli-tui/loader/loader-view.d.ts +0 -41
  1078. package/dist/cli-tui/loader/loader-view.d.ts.map +0 -1
  1079. package/dist/cli-tui/loader/loader-view.js +0 -162
  1080. package/dist/cli-tui/loader/loader-view.js.map +0 -1
  1081. package/dist/cli-tui/lsp-view.d.ts +0 -21
  1082. package/dist/cli-tui/lsp-view.d.ts.map +0 -1
  1083. package/dist/cli-tui/lsp-view.js +0 -183
  1084. package/dist/cli-tui/lsp-view.js.map +0 -1
  1085. package/dist/cli-tui/mermaid-renderer.d.ts +0 -2
  1086. package/dist/cli-tui/mermaid-renderer.d.ts.map +0 -1
  1087. package/dist/cli-tui/mermaid-renderer.js +0 -391
  1088. package/dist/cli-tui/mermaid-renderer.js.map +0 -1
  1089. package/dist/cli-tui/message-view.d.ts +0 -27
  1090. package/dist/cli-tui/message-view.d.ts.map +0 -1
  1091. package/dist/cli-tui/message-view.js +0 -169
  1092. package/dist/cli-tui/message-view.js.map +0 -1
  1093. package/dist/cli-tui/modal-manager.d.ts +0 -77
  1094. package/dist/cli-tui/modal-manager.d.ts.map +0 -1
  1095. package/dist/cli-tui/modal-manager.js +0 -131
  1096. package/dist/cli-tui/modal-manager.js.map +0 -1
  1097. package/dist/cli-tui/notification-view.d.ts +0 -16
  1098. package/dist/cli-tui/notification-view.d.ts.map +0 -1
  1099. package/dist/cli-tui/notification-view.js +0 -53
  1100. package/dist/cli-tui/notification-view.js.map +0 -1
  1101. package/dist/cli-tui/oauth/index.d.ts +0 -2
  1102. package/dist/cli-tui/oauth/index.d.ts.map +0 -1
  1103. package/dist/cli-tui/oauth/index.js +0 -2
  1104. package/dist/cli-tui/oauth/index.js.map +0 -1
  1105. package/dist/cli-tui/oauth/oauth-flow-controller.d.ts +0 -65
  1106. package/dist/cli-tui/oauth/oauth-flow-controller.d.ts.map +0 -1
  1107. package/dist/cli-tui/oauth/oauth-flow-controller.js +0 -400
  1108. package/dist/cli-tui/oauth/oauth-flow-controller.js.map +0 -1
  1109. package/dist/cli-tui/ollama-view.d.ts +0 -38
  1110. package/dist/cli-tui/ollama-view.d.ts.map +0 -1
  1111. package/dist/cli-tui/ollama-view.js +0 -395
  1112. package/dist/cli-tui/ollama-view.js.map +0 -1
  1113. package/dist/cli-tui/paste/index.d.ts +0 -2
  1114. package/dist/cli-tui/paste/index.d.ts.map +0 -1
  1115. package/dist/cli-tui/paste/index.js +0 -2
  1116. package/dist/cli-tui/paste/index.js.map +0 -1
  1117. package/dist/cli-tui/paste/paste-handler.d.ts +0 -54
  1118. package/dist/cli-tui/paste/paste-handler.d.ts.map +0 -1
  1119. package/dist/cli-tui/paste/paste-handler.js +0 -128
  1120. package/dist/cli-tui/paste/paste-handler.js.map +0 -1
  1121. package/dist/cli-tui/plan/plan-controller.d.ts +0 -28
  1122. package/dist/cli-tui/plan/plan-controller.d.ts.map +0 -1
  1123. package/dist/cli-tui/plan/plan-controller.js +0 -66
  1124. package/dist/cli-tui/plan/plan-controller.js.map +0 -1
  1125. package/dist/cli-tui/plan-panel-modal.d.ts +0 -28
  1126. package/dist/cli-tui/plan-panel-modal.d.ts.map +0 -1
  1127. package/dist/cli-tui/plan-panel-modal.js +0 -193
  1128. package/dist/cli-tui/plan-panel-modal.js.map +0 -1
  1129. package/dist/cli-tui/plan-view.d.ts +0 -57
  1130. package/dist/cli-tui/plan-view.d.ts.map +0 -1
  1131. package/dist/cli-tui/plan-view.js +0 -404
  1132. package/dist/cli-tui/plan-view.js.map +0 -1
  1133. package/dist/cli-tui/prompt-queue.d.ts.map +0 -1
  1134. package/dist/cli-tui/prompt-queue.js.map +0 -1
  1135. package/dist/cli-tui/queue/follow-up-shortcut.d.ts +0 -6
  1136. package/dist/cli-tui/queue/follow-up-shortcut.d.ts.map +0 -1
  1137. package/dist/cli-tui/queue/follow-up-shortcut.js +0 -12
  1138. package/dist/cli-tui/queue/follow-up-shortcut.js.map +0 -1
  1139. package/dist/cli-tui/queue/index.d.ts +0 -3
  1140. package/dist/cli-tui/queue/index.d.ts.map +0 -1
  1141. package/dist/cli-tui/queue/index.js +0 -3
  1142. package/dist/cli-tui/queue/index.js.map +0 -1
  1143. package/dist/cli-tui/queue/queue-controller.d.ts +0 -109
  1144. package/dist/cli-tui/queue/queue-controller.d.ts.map +0 -1
  1145. package/dist/cli-tui/queue/queue-controller.js +0 -327
  1146. package/dist/cli-tui/queue/queue-controller.js.map +0 -1
  1147. package/dist/cli-tui/queue/queue-panel-controller.d.ts +0 -34
  1148. package/dist/cli-tui/queue/queue-panel-controller.d.ts.map +0 -1
  1149. package/dist/cli-tui/queue/queue-panel-controller.js +0 -163
  1150. package/dist/cli-tui/queue/queue-panel-controller.js.map +0 -1
  1151. package/dist/cli-tui/queue/queued-follow-up-edit-binding.d.ts +0 -7
  1152. package/dist/cli-tui/queue/queued-follow-up-edit-binding.d.ts.map +0 -1
  1153. package/dist/cli-tui/queue/queued-follow-up-edit-binding.js +0 -14
  1154. package/dist/cli-tui/queue/queued-follow-up-edit-binding.js.map +0 -1
  1155. package/dist/cli-tui/queue-panel-modal.d.ts +0 -26
  1156. package/dist/cli-tui/queue-panel-modal.d.ts.map +0 -1
  1157. package/dist/cli-tui/queue-panel-modal.js +0 -159
  1158. package/dist/cli-tui/queue-panel-modal.js.map +0 -1
  1159. package/dist/cli-tui/run/run-command-view.d.ts +0 -17
  1160. package/dist/cli-tui/run/run-command-view.d.ts.map +0 -1
  1161. package/dist/cli-tui/run/run-command-view.js +0 -62
  1162. package/dist/cli-tui/run/run-command-view.js.map +0 -1
  1163. package/dist/cli-tui/run/run-controller.d.ts +0 -24
  1164. package/dist/cli-tui/run/run-controller.d.ts.map +0 -1
  1165. package/dist/cli-tui/run/run-controller.js +0 -38
  1166. package/dist/cli-tui/run/run-controller.js.map +0 -1
  1167. package/dist/cli-tui/run/run-shell-command.d.ts +0 -13
  1168. package/dist/cli-tui/run/run-shell-command.d.ts.map +0 -1
  1169. package/dist/cli-tui/run/run-shell-command.js +0 -51
  1170. package/dist/cli-tui/run/run-shell-command.js.map +0 -1
  1171. package/dist/cli-tui/run/streaming-shell-command.d.ts +0 -19
  1172. package/dist/cli-tui/run/streaming-shell-command.d.ts.map +0 -1
  1173. package/dist/cli-tui/run/streaming-shell-command.js +0 -107
  1174. package/dist/cli-tui/run/streaming-shell-command.js.map +0 -1
  1175. package/dist/cli-tui/search/file-search-view.d.ts +0 -22
  1176. package/dist/cli-tui/search/file-search-view.d.ts.map +0 -1
  1177. package/dist/cli-tui/search/file-search-view.js +0 -68
  1178. package/dist/cli-tui/search/file-search-view.js.map +0 -1
  1179. package/dist/cli-tui/search/file-search.d.ts +0 -13
  1180. package/dist/cli-tui/search/file-search.d.ts.map +0 -1
  1181. package/dist/cli-tui/search/file-search.js +0 -52
  1182. package/dist/cli-tui/search/file-search.js.map +0 -1
  1183. package/dist/cli-tui/security-status.d.ts +0 -83
  1184. package/dist/cli-tui/security-status.d.ts.map +0 -1
  1185. package/dist/cli-tui/security-status.js +0 -214
  1186. package/dist/cli-tui/security-status.js.map +0 -1
  1187. package/dist/cli-tui/selectors/base-selector.d.ts +0 -27
  1188. package/dist/cli-tui/selectors/base-selector.d.ts.map +0 -1
  1189. package/dist/cli-tui/selectors/base-selector.js +0 -47
  1190. package/dist/cli-tui/selectors/base-selector.js.map +0 -1
  1191. package/dist/cli-tui/selectors/branch-summary-modal.d.ts +0 -18
  1192. package/dist/cli-tui/selectors/branch-summary-modal.d.ts.map +0 -1
  1193. package/dist/cli-tui/selectors/branch-summary-modal.js +0 -24
  1194. package/dist/cli-tui/selectors/branch-summary-modal.js.map +0 -1
  1195. package/dist/cli-tui/selectors/model-selector-view.d.ts +0 -22
  1196. package/dist/cli-tui/selectors/model-selector-view.d.ts.map +0 -1
  1197. package/dist/cli-tui/selectors/model-selector-view.js +0 -31
  1198. package/dist/cli-tui/selectors/model-selector-view.js.map +0 -1
  1199. package/dist/cli-tui/selectors/model-selector.d.ts +0 -30
  1200. package/dist/cli-tui/selectors/model-selector.d.ts.map +0 -1
  1201. package/dist/cli-tui/selectors/model-selector.js +0 -218
  1202. package/dist/cli-tui/selectors/model-selector.js.map +0 -1
  1203. package/dist/cli-tui/selectors/oauth-selector-view.d.ts +0 -20
  1204. package/dist/cli-tui/selectors/oauth-selector-view.d.ts.map +0 -1
  1205. package/dist/cli-tui/selectors/oauth-selector-view.js +0 -28
  1206. package/dist/cli-tui/selectors/oauth-selector-view.js.map +0 -1
  1207. package/dist/cli-tui/selectors/oauth-selector.d.ts +0 -19
  1208. package/dist/cli-tui/selectors/oauth-selector.d.ts.map +0 -1
  1209. package/dist/cli-tui/selectors/oauth-selector.js +0 -120
  1210. package/dist/cli-tui/selectors/oauth-selector.js.map +0 -1
  1211. package/dist/cli-tui/selectors/queue-mode-selector-view.d.ts +0 -19
  1212. package/dist/cli-tui/selectors/queue-mode-selector-view.d.ts.map +0 -1
  1213. package/dist/cli-tui/selectors/queue-mode-selector-view.js +0 -29
  1214. package/dist/cli-tui/selectors/queue-mode-selector-view.js.map +0 -1
  1215. package/dist/cli-tui/selectors/queue-mode-selector.d.ts +0 -5
  1216. package/dist/cli-tui/selectors/queue-mode-selector.d.ts.map +0 -1
  1217. package/dist/cli-tui/selectors/queue-mode-selector.js +0 -34
  1218. package/dist/cli-tui/selectors/queue-mode-selector.js.map +0 -1
  1219. package/dist/cli-tui/selectors/report-selector-view.d.ts +0 -17
  1220. package/dist/cli-tui/selectors/report-selector-view.d.ts.map +0 -1
  1221. package/dist/cli-tui/selectors/report-selector-view.js +0 -29
  1222. package/dist/cli-tui/selectors/report-selector-view.js.map +0 -1
  1223. package/dist/cli-tui/selectors/report-selector.d.ts +0 -7
  1224. package/dist/cli-tui/selectors/report-selector.d.ts.map +0 -1
  1225. package/dist/cli-tui/selectors/report-selector.js +0 -31
  1226. package/dist/cli-tui/selectors/report-selector.js.map +0 -1
  1227. package/dist/cli-tui/selectors/theme-selector-view.d.ts +0 -19
  1228. package/dist/cli-tui/selectors/theme-selector-view.d.ts.map +0 -1
  1229. package/dist/cli-tui/selectors/theme-selector-view.js +0 -41
  1230. package/dist/cli-tui/selectors/theme-selector-view.js.map +0 -1
  1231. package/dist/cli-tui/selectors/theme-selector.d.ts +0 -14
  1232. package/dist/cli-tui/selectors/theme-selector.d.ts.map +0 -1
  1233. package/dist/cli-tui/selectors/theme-selector.js +0 -46
  1234. package/dist/cli-tui/selectors/theme-selector.js.map +0 -1
  1235. package/dist/cli-tui/selectors/thinking-selector-view.d.ts +0 -20
  1236. package/dist/cli-tui/selectors/thinking-selector-view.d.ts.map +0 -1
  1237. package/dist/cli-tui/selectors/thinking-selector-view.js +0 -31
  1238. package/dist/cli-tui/selectors/thinking-selector-view.js.map +0 -1
  1239. package/dist/cli-tui/selectors/thinking-selector.d.ts +0 -9
  1240. package/dist/cli-tui/selectors/thinking-selector.d.ts.map +0 -1
  1241. package/dist/cli-tui/selectors/thinking-selector.js +0 -47
  1242. package/dist/cli-tui/selectors/thinking-selector.js.map +0 -1
  1243. package/dist/cli-tui/selectors/tree-selector-view.d.ts +0 -32
  1244. package/dist/cli-tui/selectors/tree-selector-view.d.ts.map +0 -1
  1245. package/dist/cli-tui/selectors/tree-selector-view.js +0 -407
  1246. package/dist/cli-tui/selectors/tree-selector-view.js.map +0 -1
  1247. package/dist/cli-tui/selectors/tree-selector.d.ts +0 -27
  1248. package/dist/cli-tui/selectors/tree-selector.d.ts.map +0 -1
  1249. package/dist/cli-tui/selectors/tree-selector.js +0 -194
  1250. package/dist/cli-tui/selectors/tree-selector.js.map +0 -1
  1251. package/dist/cli-tui/selectors/user-message-selector-view.d.ts +0 -25
  1252. package/dist/cli-tui/selectors/user-message-selector-view.d.ts.map +0 -1
  1253. package/dist/cli-tui/selectors/user-message-selector-view.js +0 -101
  1254. package/dist/cli-tui/selectors/user-message-selector-view.js.map +0 -1
  1255. package/dist/cli-tui/selectors/user-message-selector.d.ts +0 -30
  1256. package/dist/cli-tui/selectors/user-message-selector.d.ts.map +0 -1
  1257. package/dist/cli-tui/selectors/user-message-selector.js +0 -114
  1258. package/dist/cli-tui/selectors/user-message-selector.js.map +0 -1
  1259. package/dist/cli-tui/session/branch-controller.d.ts +0 -65
  1260. package/dist/cli-tui/session/branch-controller.d.ts.map +0 -1
  1261. package/dist/cli-tui/session/branch-controller.js +0 -125
  1262. package/dist/cli-tui/session/branch-controller.js.map +0 -1
  1263. package/dist/cli-tui/session/conversation-compactor.d.ts +0 -64
  1264. package/dist/cli-tui/session/conversation-compactor.d.ts.map +0 -1
  1265. package/dist/cli-tui/session/conversation-compactor.js +0 -77
  1266. package/dist/cli-tui/session/conversation-compactor.js.map +0 -1
  1267. package/dist/cli-tui/session/session-context.d.ts +0 -59
  1268. package/dist/cli-tui/session/session-context.d.ts.map +0 -1
  1269. package/dist/cli-tui/session/session-context.js +0 -79
  1270. package/dist/cli-tui/session/session-context.js.map +0 -1
  1271. package/dist/cli-tui/session/session-data-provider.d.ts +0 -23
  1272. package/dist/cli-tui/session/session-data-provider.d.ts.map +0 -1
  1273. package/dist/cli-tui/session/session-data-provider.js +0 -22
  1274. package/dist/cli-tui/session/session-data-provider.js.map +0 -1
  1275. package/dist/cli-tui/session/session-list.d.ts +0 -18
  1276. package/dist/cli-tui/session/session-list.d.ts.map +0 -1
  1277. package/dist/cli-tui/session/session-list.js +0 -103
  1278. package/dist/cli-tui/session/session-list.js.map +0 -1
  1279. package/dist/cli-tui/session/session-selector.d.ts +0 -12
  1280. package/dist/cli-tui/session/session-selector.d.ts.map +0 -1
  1281. package/dist/cli-tui/session/session-selector.js +0 -37
  1282. package/dist/cli-tui/session/session-selector.js.map +0 -1
  1283. package/dist/cli-tui/session/session-summary-controller.d.ts +0 -24
  1284. package/dist/cli-tui/session/session-summary-controller.d.ts.map +0 -1
  1285. package/dist/cli-tui/session/session-summary-controller.js +0 -96
  1286. package/dist/cli-tui/session/session-summary-controller.js.map +0 -1
  1287. package/dist/cli-tui/session/session-switcher-view.d.ts +0 -20
  1288. package/dist/cli-tui/session/session-switcher-view.d.ts.map +0 -1
  1289. package/dist/cli-tui/session/session-switcher-view.js +0 -43
  1290. package/dist/cli-tui/session/session-switcher-view.js.map +0 -1
  1291. package/dist/cli-tui/session/session-switcher.d.ts +0 -38
  1292. package/dist/cli-tui/session/session-switcher.d.ts.map +0 -1
  1293. package/dist/cli-tui/session/session-switcher.js +0 -204
  1294. package/dist/cli-tui/session/session-switcher.js.map +0 -1
  1295. package/dist/cli-tui/session/session-view.d.ts +0 -46
  1296. package/dist/cli-tui/session/session-view.d.ts.map +0 -1
  1297. package/dist/cli-tui/session/session-view.js +0 -311
  1298. package/dist/cli-tui/session/session-view.js.map +0 -1
  1299. package/dist/cli-tui/slash/index.d.ts +0 -2
  1300. package/dist/cli-tui/slash/index.d.ts.map +0 -1
  1301. package/dist/cli-tui/slash/index.js +0 -2
  1302. package/dist/cli-tui/slash/index.js.map +0 -1
  1303. package/dist/cli-tui/slash/slash-command-matcher.d.ts +0 -55
  1304. package/dist/cli-tui/slash/slash-command-matcher.d.ts.map +0 -1
  1305. package/dist/cli-tui/slash/slash-command-matcher.js +0 -113
  1306. package/dist/cli-tui/slash/slash-command-matcher.js.map +0 -1
  1307. package/dist/cli-tui/smart-autocomplete-provider.d.ts +0 -5
  1308. package/dist/cli-tui/smart-autocomplete-provider.d.ts.map +0 -1
  1309. package/dist/cli-tui/smart-autocomplete-provider.js +0 -44
  1310. package/dist/cli-tui/smart-autocomplete-provider.js.map +0 -1
  1311. package/dist/cli-tui/startup-announcements.d.ts +0 -15
  1312. package/dist/cli-tui/startup-announcements.d.ts.map +0 -1
  1313. package/dist/cli-tui/startup-announcements.js +0 -75
  1314. package/dist/cli-tui/startup-announcements.js.map +0 -1
  1315. package/dist/cli-tui/status/cost-view.d.ts +0 -27
  1316. package/dist/cli-tui/status/cost-view.d.ts.map +0 -1
  1317. package/dist/cli-tui/status/cost-view.js +0 -212
  1318. package/dist/cli-tui/status/cost-view.js.map +0 -1
  1319. package/dist/cli-tui/status/diagnostics-templates.d.ts +0 -34
  1320. package/dist/cli-tui/status/diagnostics-templates.d.ts.map +0 -1
  1321. package/dist/cli-tui/status/diagnostics-templates.js +0 -167
  1322. package/dist/cli-tui/status/diagnostics-templates.js.map +0 -1
  1323. package/dist/cli-tui/status/diagnostics-view.d.ts +0 -48
  1324. package/dist/cli-tui/status/diagnostics-view.d.ts.map +0 -1
  1325. package/dist/cli-tui/status/diagnostics-view.js +0 -249
  1326. package/dist/cli-tui/status/diagnostics-view.js.map +0 -1
  1327. package/dist/cli-tui/status/diagnostics.d.ts +0 -39
  1328. package/dist/cli-tui/status/diagnostics.d.ts.map +0 -1
  1329. package/dist/cli-tui/status/diagnostics.js +0 -286
  1330. package/dist/cli-tui/status/diagnostics.js.map +0 -1
  1331. package/dist/cli-tui/status/health-snapshot.d.ts +0 -17
  1332. package/dist/cli-tui/status/health-snapshot.d.ts.map +0 -1
  1333. package/dist/cli-tui/status/health-snapshot.js +0 -28
  1334. package/dist/cli-tui/status/health-snapshot.js.map +0 -1
  1335. package/dist/cli-tui/status/quota-view.d.ts +0 -37
  1336. package/dist/cli-tui/status/quota-view.d.ts.map +0 -1
  1337. package/dist/cli-tui/status/quota-view.js +0 -309
  1338. package/dist/cli-tui/status/quota-view.js.map +0 -1
  1339. package/dist/cli-tui/status/telemetry-view.d.ts +0 -23
  1340. package/dist/cli-tui/status/telemetry-view.d.ts.map +0 -1
  1341. package/dist/cli-tui/status/telemetry-view.js +0 -77
  1342. package/dist/cli-tui/status/telemetry-view.js.map +0 -1
  1343. package/dist/cli-tui/status/training-view.d.ts +0 -23
  1344. package/dist/cli-tui/status/training-view.d.ts.map +0 -1
  1345. package/dist/cli-tui/status/training-view.js +0 -71
  1346. package/dist/cli-tui/status/training-view.js.map +0 -1
  1347. package/dist/cli-tui/streaming-view.d.ts +0 -43
  1348. package/dist/cli-tui/streaming-view.d.ts.map +0 -1
  1349. package/dist/cli-tui/streaming-view.js +0 -176
  1350. package/dist/cli-tui/streaming-view.js.map +0 -1
  1351. package/dist/cli-tui/terminal/index.d.ts +0 -2
  1352. package/dist/cli-tui/terminal/index.d.ts.map +0 -1
  1353. package/dist/cli-tui/terminal/index.js +0 -2
  1354. package/dist/cli-tui/terminal/index.js.map +0 -1
  1355. package/dist/cli-tui/terminal/terminal-utils.d.ts +0 -44
  1356. package/dist/cli-tui/terminal/terminal-utils.d.ts.map +0 -1
  1357. package/dist/cli-tui/terminal/terminal-utils.js +0 -145
  1358. package/dist/cli-tui/terminal/terminal-utils.js.map +0 -1
  1359. package/dist/cli-tui/tips/tip-scheduler.d.ts +0 -19
  1360. package/dist/cli-tui/tips/tip-scheduler.d.ts.map +0 -1
  1361. package/dist/cli-tui/tips/tip-scheduler.js +0 -135
  1362. package/dist/cli-tui/tips/tip-scheduler.js.map +0 -1
  1363. package/dist/cli-tui/tool-execution.d.ts +0 -76
  1364. package/dist/cli-tui/tool-execution.d.ts.map +0 -1
  1365. package/dist/cli-tui/tool-execution.js +0 -217
  1366. package/dist/cli-tui/tool-execution.js.map +0 -1
  1367. package/dist/cli-tui/tool-output-view.d.ts +0 -22
  1368. package/dist/cli-tui/tool-output-view.d.ts.map +0 -1
  1369. package/dist/cli-tui/tool-output-view.js +0 -71
  1370. package/dist/cli-tui/tool-output-view.js.map +0 -1
  1371. package/dist/cli-tui/tool-renderers/index.d.ts +0 -4
  1372. package/dist/cli-tui/tool-renderers/index.d.ts.map +0 -1
  1373. package/dist/cli-tui/tool-renderers/index.js +0 -19
  1374. package/dist/cli-tui/tool-renderers/index.js.map +0 -1
  1375. package/dist/cli-tui/tool-renderers/render-bash.d.ts +0 -6
  1376. package/dist/cli-tui/tool-renderers/render-bash.d.ts.map +0 -1
  1377. package/dist/cli-tui/tool-renderers/render-bash.js +0 -90
  1378. package/dist/cli-tui/tool-renderers/render-bash.js.map +0 -1
  1379. package/dist/cli-tui/tool-renderers/render-batch.d.ts +0 -12
  1380. package/dist/cli-tui/tool-renderers/render-batch.d.ts.map +0 -1
  1381. package/dist/cli-tui/tool-renderers/render-batch.js +0 -133
  1382. package/dist/cli-tui/tool-renderers/render-batch.js.map +0 -1
  1383. package/dist/cli-tui/tool-renderers/render-edit.d.ts +0 -6
  1384. package/dist/cli-tui/tool-renderers/render-edit.d.ts.map +0 -1
  1385. package/dist/cli-tui/tool-renderers/render-edit.js +0 -125
  1386. package/dist/cli-tui/tool-renderers/render-edit.js.map +0 -1
  1387. package/dist/cli-tui/tool-renderers/render-generic.d.ts +0 -6
  1388. package/dist/cli-tui/tool-renderers/render-generic.d.ts.map +0 -1
  1389. package/dist/cli-tui/tool-renderers/render-generic.js +0 -66
  1390. package/dist/cli-tui/tool-renderers/render-generic.js.map +0 -1
  1391. package/dist/cli-tui/tool-renderers/render-read.d.ts +0 -9
  1392. package/dist/cli-tui/tool-renderers/render-read.d.ts.map +0 -1
  1393. package/dist/cli-tui/tool-renderers/render-read.js +0 -108
  1394. package/dist/cli-tui/tool-renderers/render-read.js.map +0 -1
  1395. package/dist/cli-tui/tool-renderers/render-style.d.ts +0 -21
  1396. package/dist/cli-tui/tool-renderers/render-style.d.ts.map +0 -1
  1397. package/dist/cli-tui/tool-renderers/render-style.js +0 -51
  1398. package/dist/cli-tui/tool-renderers/render-style.js.map +0 -1
  1399. package/dist/cli-tui/tool-renderers/render-write.d.ts +0 -5
  1400. package/dist/cli-tui/tool-renderers/render-write.d.ts.map +0 -1
  1401. package/dist/cli-tui/tool-renderers/render-write.js +0 -60
  1402. package/dist/cli-tui/tool-renderers/render-write.js.map +0 -1
  1403. package/dist/cli-tui/tool-renderers/types.d.ts +0 -20
  1404. package/dist/cli-tui/tool-renderers/types.d.ts.map +0 -1
  1405. package/dist/cli-tui/tool-renderers/types.js +0 -2
  1406. package/dist/cli-tui/tool-renderers/types.js.map +0 -1
  1407. package/dist/cli-tui/tool-retry/tool-retry-controller.d.ts +0 -29
  1408. package/dist/cli-tui/tool-retry/tool-retry-controller.d.ts.map +0 -1
  1409. package/dist/cli-tui/tool-retry/tool-retry-controller.js +0 -110
  1410. package/dist/cli-tui/tool-retry/tool-retry-controller.js.map +0 -1
  1411. package/dist/cli-tui/tool-retry/tool-retry-modal.d.ts +0 -27
  1412. package/dist/cli-tui/tool-retry/tool-retry-modal.d.ts.map +0 -1
  1413. package/dist/cli-tui/tool-retry/tool-retry-modal.js +0 -118
  1414. package/dist/cli-tui/tool-retry/tool-retry-modal.js.map +0 -1
  1415. package/dist/cli-tui/tool-status-view.d.ts +0 -32
  1416. package/dist/cli-tui/tool-status-view.d.ts.map +0 -1
  1417. package/dist/cli-tui/tool-status-view.js +0 -86
  1418. package/dist/cli-tui/tool-status-view.js.map +0 -1
  1419. package/dist/cli-tui/tui-renderer/agent-event-bridge.d.ts +0 -59
  1420. package/dist/cli-tui/tui-renderer/agent-event-bridge.d.ts.map +0 -1
  1421. package/dist/cli-tui/tui-renderer/agent-event-bridge.js +0 -129
  1422. package/dist/cli-tui/tui-renderer/agent-event-bridge.js.map +0 -1
  1423. package/dist/cli-tui/tui-renderer/approval-setup.d.ts +0 -13
  1424. package/dist/cli-tui/tui-renderer/approval-setup.d.ts.map +0 -1
  1425. package/dist/cli-tui/tui-renderer/approval-setup.js +0 -5
  1426. package/dist/cli-tui/tui-renderer/approval-setup.js.map +0 -1
  1427. package/dist/cli-tui/tui-renderer/attachment-controller.d.ts +0 -54
  1428. package/dist/cli-tui/tui-renderer/attachment-controller.d.ts.map +0 -1
  1429. package/dist/cli-tui/tui-renderer/attachment-controller.js +0 -160
  1430. package/dist/cli-tui/tui-renderer/attachment-controller.js.map +0 -1
  1431. package/dist/cli-tui/tui-renderer/background-tasks-setup.d.ts +0 -9
  1432. package/dist/cli-tui/tui-renderer/background-tasks-setup.d.ts.map +0 -1
  1433. package/dist/cli-tui/tui-renderer/background-tasks-setup.js +0 -7
  1434. package/dist/cli-tui/tui-renderer/background-tasks-setup.js.map +0 -1
  1435. package/dist/cli-tui/tui-renderer/branch-controller.d.ts +0 -41
  1436. package/dist/cli-tui/tui-renderer/branch-controller.d.ts.map +0 -1
  1437. package/dist/cli-tui/tui-renderer/branch-controller.js +0 -102
  1438. package/dist/cli-tui/tui-renderer/branch-controller.js.map +0 -1
  1439. package/dist/cli-tui/tui-renderer/clear-controller.d.ts +0 -75
  1440. package/dist/cli-tui/tui-renderer/clear-controller.d.ts.map +0 -1
  1441. package/dist/cli-tui/tui-renderer/clear-controller.js +0 -75
  1442. package/dist/cli-tui/tui-renderer/clear-controller.js.map +0 -1
  1443. package/dist/cli-tui/tui-renderer/client-tools-setup.d.ts +0 -14
  1444. package/dist/cli-tui/tui-renderer/client-tools-setup.d.ts.map +0 -1
  1445. package/dist/cli-tui/tui-renderer/client-tools-setup.js +0 -5
  1446. package/dist/cli-tui/tui-renderer/client-tools-setup.js.map +0 -1
  1447. package/dist/cli-tui/tui-renderer/command-registry-options.d.ts +0 -111
  1448. package/dist/cli-tui/tui-renderer/command-registry-options.d.ts.map +0 -1
  1449. package/dist/cli-tui/tui-renderer/command-registry-options.js +0 -163
  1450. package/dist/cli-tui/tui-renderer/command-registry-options.js.map +0 -1
  1451. package/dist/cli-tui/tui-renderer/command-registry.d.ts +0 -16
  1452. package/dist/cli-tui/tui-renderer/command-registry.d.ts.map +0 -1
  1453. package/dist/cli-tui/tui-renderer/command-registry.js +0 -23
  1454. package/dist/cli-tui/tui-renderer/command-registry.js.map +0 -1
  1455. package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts +0 -29
  1456. package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts.map +0 -1
  1457. package/dist/cli-tui/tui-renderer/command-suite-wiring.js +0 -108
  1458. package/dist/cli-tui/tui-renderer/command-suite-wiring.js.map +0 -1
  1459. package/dist/cli-tui/tui-renderer/compaction-controller.d.ts +0 -100
  1460. package/dist/cli-tui/tui-renderer/compaction-controller.d.ts.map +0 -1
  1461. package/dist/cli-tui/tui-renderer/compaction-controller.js +0 -160
  1462. package/dist/cli-tui/tui-renderer/compaction-controller.js.map +0 -1
  1463. package/dist/cli-tui/tui-renderer/custom-commands-controller.d.ts +0 -42
  1464. package/dist/cli-tui/tui-renderer/custom-commands-controller.d.ts.map +0 -1
  1465. package/dist/cli-tui/tui-renderer/custom-commands-controller.js +0 -106
  1466. package/dist/cli-tui/tui-renderer/custom-commands-controller.js.map +0 -1
  1467. package/dist/cli-tui/tui-renderer/delegating-command-handlers.d.ts +0 -37
  1468. package/dist/cli-tui/tui-renderer/delegating-command-handlers.d.ts.map +0 -1
  1469. package/dist/cli-tui/tui-renderer/delegating-command-handlers.js +0 -139
  1470. package/dist/cli-tui/tui-renderer/delegating-command-handlers.js.map +0 -1
  1471. package/dist/cli-tui/tui-renderer/editor-bindings.d.ts +0 -21
  1472. package/dist/cli-tui/tui-renderer/editor-bindings.d.ts.map +0 -1
  1473. package/dist/cli-tui/tui-renderer/editor-bindings.js +0 -76
  1474. package/dist/cli-tui/tui-renderer/editor-bindings.js.map +0 -1
  1475. package/dist/cli-tui/tui-renderer/footer-hints-controller.d.ts +0 -90
  1476. package/dist/cli-tui/tui-renderer/footer-hints-controller.d.ts.map +0 -1
  1477. package/dist/cli-tui/tui-renderer/footer-hints-controller.js +0 -152
  1478. package/dist/cli-tui/tui-renderer/footer-hints-controller.js.map +0 -1
  1479. package/dist/cli-tui/tui-renderer/history-controller.d.ts +0 -35
  1480. package/dist/cli-tui/tui-renderer/history-controller.d.ts.map +0 -1
  1481. package/dist/cli-tui/tui-renderer/history-controller.js +0 -153
  1482. package/dist/cli-tui/tui-renderer/history-controller.js.map +0 -1
  1483. package/dist/cli-tui/tui-renderer/hook-ui-controller.d.ts +0 -83
  1484. package/dist/cli-tui/tui-renderer/hook-ui-controller.d.ts.map +0 -1
  1485. package/dist/cli-tui/tui-renderer/hook-ui-controller.js +0 -309
  1486. package/dist/cli-tui/tui-renderer/hook-ui-controller.js.map +0 -1
  1487. package/dist/cli-tui/tui-renderer/initial-preferences.d.ts +0 -19
  1488. package/dist/cli-tui/tui-renderer/initial-preferences.d.ts.map +0 -1
  1489. package/dist/cli-tui/tui-renderer/initial-preferences.js +0 -54
  1490. package/dist/cli-tui/tui-renderer/initial-preferences.js.map +0 -1
  1491. package/dist/cli-tui/tui-renderer/input-controller.d.ts +0 -56
  1492. package/dist/cli-tui/tui-renderer/input-controller.d.ts.map +0 -1
  1493. package/dist/cli-tui/tui-renderer/input-controller.js +0 -104
  1494. package/dist/cli-tui/tui-renderer/input-controller.js.map +0 -1
  1495. package/dist/cli-tui/tui-renderer/interrupt-setup.d.ts +0 -19
  1496. package/dist/cli-tui/tui-renderer/interrupt-setup.d.ts.map +0 -1
  1497. package/dist/cli-tui/tui-renderer/interrupt-setup.js +0 -18
  1498. package/dist/cli-tui/tui-renderer/interrupt-setup.js.map +0 -1
  1499. package/dist/cli-tui/tui-renderer/loader-setup.d.ts +0 -14
  1500. package/dist/cli-tui/tui-renderer/loader-setup.d.ts.map +0 -1
  1501. package/dist/cli-tui/tui-renderer/loader-setup.js +0 -13
  1502. package/dist/cli-tui/tui-renderer/loader-setup.js.map +0 -1
  1503. package/dist/cli-tui/tui-renderer/mcp-events-setup.d.ts +0 -55
  1504. package/dist/cli-tui/tui-renderer/mcp-events-setup.d.ts.map +0 -1
  1505. package/dist/cli-tui/tui-renderer/mcp-events-setup.js +0 -143
  1506. package/dist/cli-tui/tui-renderer/mcp-events-setup.js.map +0 -1
  1507. package/dist/cli-tui/tui-renderer/misc-handlers.d.ts +0 -59
  1508. package/dist/cli-tui/tui-renderer/misc-handlers.d.ts.map +0 -1
  1509. package/dist/cli-tui/tui-renderer/misc-handlers.js +0 -143
  1510. package/dist/cli-tui/tui-renderer/misc-handlers.js.map +0 -1
  1511. package/dist/cli-tui/tui-renderer/oauth-setup.d.ts +0 -14
  1512. package/dist/cli-tui/tui-renderer/oauth-setup.d.ts.map +0 -1
  1513. package/dist/cli-tui/tui-renderer/oauth-setup.js +0 -26
  1514. package/dist/cli-tui/tui-renderer/oauth-setup.js.map +0 -1
  1515. package/dist/cli-tui/tui-renderer/plan-setup.d.ts +0 -19
  1516. package/dist/cli-tui/tui-renderer/plan-setup.d.ts.map +0 -1
  1517. package/dist/cli-tui/tui-renderer/plan-setup.js +0 -23
  1518. package/dist/cli-tui/tui-renderer/plan-setup.js.map +0 -1
  1519. package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.d.ts +0 -21
  1520. package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.d.ts.map +0 -1
  1521. package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.js +0 -64
  1522. package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.js.map +0 -1
  1523. package/dist/cli-tui/tui-renderer/queue-setup.d.ts +0 -18
  1524. package/dist/cli-tui/tui-renderer/queue-setup.d.ts.map +0 -1
  1525. package/dist/cli-tui/tui-renderer/queue-setup.js +0 -42
  1526. package/dist/cli-tui/tui-renderer/queue-setup.js.map +0 -1
  1527. package/dist/cli-tui/tui-renderer/quick-settings-controller.d.ts +0 -53
  1528. package/dist/cli-tui/tui-renderer/quick-settings-controller.d.ts.map +0 -1
  1529. package/dist/cli-tui/tui-renderer/quick-settings-controller.js +0 -100
  1530. package/dist/cli-tui/tui-renderer/quick-settings-controller.js.map +0 -1
  1531. package/dist/cli-tui/tui-renderer/session-setup.d.ts +0 -31
  1532. package/dist/cli-tui/tui-renderer/session-setup.d.ts.map +0 -1
  1533. package/dist/cli-tui/tui-renderer/session-setup.js +0 -45
  1534. package/dist/cli-tui/tui-renderer/session-setup.js.map +0 -1
  1535. package/dist/cli-tui/tui-renderer/session-state-controller.d.ts +0 -66
  1536. package/dist/cli-tui/tui-renderer/session-state-controller.d.ts.map +0 -1
  1537. package/dist/cli-tui/tui-renderer/session-state-controller.js +0 -139
  1538. package/dist/cli-tui/tui-renderer/session-state-controller.js.map +0 -1
  1539. package/dist/cli-tui/tui-renderer/skills-controller.d.ts +0 -70
  1540. package/dist/cli-tui/tui-renderer/skills-controller.d.ts.map +0 -1
  1541. package/dist/cli-tui/tui-renderer/skills-controller.js +0 -411
  1542. package/dist/cli-tui/tui-renderer/skills-controller.js.map +0 -1
  1543. package/dist/cli-tui/tui-renderer/slash-hint-controller.d.ts +0 -90
  1544. package/dist/cli-tui/tui-renderer/slash-hint-controller.d.ts.map +0 -1
  1545. package/dist/cli-tui/tui-renderer/slash-hint-controller.js +0 -131
  1546. package/dist/cli-tui/tui-renderer/slash-hint-controller.js.map +0 -1
  1547. package/dist/cli-tui/tui-renderer/tool-retry-setup.d.ts +0 -13
  1548. package/dist/cli-tui/tui-renderer/tool-retry-setup.d.ts.map +0 -1
  1549. package/dist/cli-tui/tui-renderer/tool-retry-setup.js +0 -5
  1550. package/dist/cli-tui/tui-renderer/tool-retry-setup.js.map +0 -1
  1551. package/dist/cli-tui/tui-renderer/tooling-views-setup.d.ts +0 -38
  1552. package/dist/cli-tui/tui-renderer/tooling-views-setup.d.ts.map +0 -1
  1553. package/dist/cli-tui/tui-renderer/tooling-views-setup.js +0 -48
  1554. package/dist/cli-tui/tui-renderer/tooling-views-setup.js.map +0 -1
  1555. package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts +0 -70
  1556. package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts.map +0 -1
  1557. package/dist/cli-tui/tui-renderer/ui-state-controller.js +0 -184
  1558. package/dist/cli-tui/tui-renderer/ui-state-controller.js.map +0 -1
  1559. package/dist/cli-tui/tui-renderer/ui-state-setup.d.ts +0 -13
  1560. package/dist/cli-tui/tui-renderer/ui-state-setup.d.ts.map +0 -1
  1561. package/dist/cli-tui/tui-renderer/ui-state-setup.js +0 -11
  1562. package/dist/cli-tui/tui-renderer/ui-state-setup.js.map +0 -1
  1563. package/dist/cli-tui/tui-renderer/utility-views-setup.d.ts +0 -26
  1564. package/dist/cli-tui/tui-renderer/utility-views-setup.d.ts.map +0 -1
  1565. package/dist/cli-tui/tui-renderer/utility-views-setup.js +0 -23
  1566. package/dist/cli-tui/tui-renderer/utility-views-setup.js.map +0 -1
  1567. package/dist/cli-tui/tui-renderer/viewport-controller.d.ts +0 -33
  1568. package/dist/cli-tui/tui-renderer/viewport-controller.d.ts.map +0 -1
  1569. package/dist/cli-tui/tui-renderer/viewport-controller.js +0 -98
  1570. package/dist/cli-tui/tui-renderer/viewport-controller.js.map +0 -1
  1571. package/dist/cli-tui/tui-renderer.d.ts +0 -268
  1572. package/dist/cli-tui/tui-renderer.d.ts.map +0 -1
  1573. package/dist/cli-tui/tui-renderer.js +0 -2131
  1574. package/dist/cli-tui/tui-renderer.js.map +0 -1
  1575. package/dist/cli-tui/ui-state.d.ts +0 -27
  1576. package/dist/cli-tui/ui-state.d.ts.map +0 -1
  1577. package/dist/cli-tui/ui-state.js +0 -88
  1578. package/dist/cli-tui/ui-state.js.map +0 -1
  1579. package/dist/cli-tui/update-view.d.ts +0 -16
  1580. package/dist/cli-tui/update-view.d.ts.map +0 -1
  1581. package/dist/cli-tui/update-view.js +0 -45
  1582. package/dist/cli-tui/update-view.js.map +0 -1
  1583. package/dist/cli-tui/user-message.d.ts +0 -17
  1584. package/dist/cli-tui/user-message.d.ts.map +0 -1
  1585. package/dist/cli-tui/user-message.js +0 -83
  1586. package/dist/cli-tui/user-message.js.map +0 -1
  1587. package/dist/cli-tui/utils/borders.d.ts +0 -131
  1588. package/dist/cli-tui/utils/borders.d.ts.map +0 -1
  1589. package/dist/cli-tui/utils/borders.js +0 -254
  1590. package/dist/cli-tui/utils/borders.js.map +0 -1
  1591. package/dist/cli-tui/utils/commands/command-palette-view.d.ts +0 -22
  1592. package/dist/cli-tui/utils/commands/command-palette-view.d.ts.map +0 -1
  1593. package/dist/cli-tui/utils/commands/command-palette-view.js +0 -31
  1594. package/dist/cli-tui/utils/commands/command-palette-view.js.map +0 -1
  1595. package/dist/cli-tui/utils/commands/command-palette.d.ts +0 -29
  1596. package/dist/cli-tui/utils/commands/command-palette.d.ts.map +0 -1
  1597. package/dist/cli-tui/utils/commands/command-palette.js +0 -213
  1598. package/dist/cli-tui/utils/commands/command-palette.js.map +0 -1
  1599. package/dist/cli-tui/utils/commands/command-registry-builder.d.ts +0 -8
  1600. package/dist/cli-tui/utils/commands/command-registry-builder.d.ts.map +0 -1
  1601. package/dist/cli-tui/utils/commands/command-registry-builder.js +0 -9
  1602. package/dist/cli-tui/utils/commands/command-registry-builder.js.map +0 -1
  1603. package/dist/cli-tui/utils/commands/review-prompt.d.ts +0 -10
  1604. package/dist/cli-tui/utils/commands/review-prompt.d.ts.map +0 -1
  1605. package/dist/cli-tui/utils/commands/review-prompt.js +0 -90
  1606. package/dist/cli-tui/utils/commands/review-prompt.js.map +0 -1
  1607. package/dist/cli-tui/utils/commands/slash-hint-bar.d.ts +0 -15
  1608. package/dist/cli-tui/utils/commands/slash-hint-bar.d.ts.map +0 -1
  1609. package/dist/cli-tui/utils/commands/slash-hint-bar.js +0 -106
  1610. package/dist/cli-tui/utils/commands/slash-hint-bar.js.map +0 -1
  1611. package/dist/cli-tui/utils/env-detect.d.ts +0 -11
  1612. package/dist/cli-tui/utils/env-detect.d.ts.map +0 -1
  1613. package/dist/cli-tui/utils/env-detect.js +0 -107
  1614. package/dist/cli-tui/utils/env-detect.js.map +0 -1
  1615. package/dist/cli-tui/utils/external-editor.d.ts +0 -7
  1616. package/dist/cli-tui/utils/external-editor.d.ts.map +0 -1
  1617. package/dist/cli-tui/utils/external-editor.js +0 -53
  1618. package/dist/cli-tui/utils/external-editor.js.map +0 -1
  1619. package/dist/cli-tui/utils/footer-utils.d.ts +0 -169
  1620. package/dist/cli-tui/utils/footer-utils.d.ts.map +0 -1
  1621. package/dist/cli-tui/utils/footer-utils.js +0 -716
  1622. package/dist/cli-tui/utils/footer-utils.js.map +0 -1
  1623. package/dist/cli-tui/utils/footer-visual-widgets.d.ts +0 -38
  1624. package/dist/cli-tui/utils/footer-visual-widgets.d.ts.map +0 -1
  1625. package/dist/cli-tui/utils/footer-visual-widgets.js +0 -141
  1626. package/dist/cli-tui/utils/footer-visual-widgets.js.map +0 -1
  1627. package/dist/cli-tui/utils/git-branch-tracker.d.ts +0 -38
  1628. package/dist/cli-tui/utils/git-branch-tracker.d.ts.map +0 -1
  1629. package/dist/cli-tui/utils/git-branch-tracker.js +0 -90
  1630. package/dist/cli-tui/utils/git-branch-tracker.js.map +0 -1
  1631. package/dist/cli-tui/utils/glyphs.d.ts +0 -207
  1632. package/dist/cli-tui/utils/glyphs.d.ts.map +0 -1
  1633. package/dist/cli-tui/utils/glyphs.js +0 -249
  1634. package/dist/cli-tui/utils/glyphs.js.map +0 -1
  1635. package/dist/cli-tui/utils/layout.d.ts +0 -77
  1636. package/dist/cli-tui/utils/layout.d.ts.map +0 -1
  1637. package/dist/cli-tui/utils/layout.js +0 -83
  1638. package/dist/cli-tui/utils/layout.js.map +0 -1
  1639. package/dist/cli-tui/utils/links.d.ts +0 -2
  1640. package/dist/cli-tui/utils/links.d.ts.map +0 -1
  1641. package/dist/cli-tui/utils/links.js +0 -14
  1642. package/dist/cli-tui/utils/links.js.map +0 -1
  1643. package/dist/cli-tui/utils/motion.d.ts +0 -4
  1644. package/dist/cli-tui/utils/motion.d.ts.map +0 -1
  1645. package/dist/cli-tui/utils/motion.js +0 -28
  1646. package/dist/cli-tui/utils/motion.js.map +0 -1
  1647. package/dist/cli-tui/utils/runtime-badges.d.ts +0 -26
  1648. package/dist/cli-tui/utils/runtime-badges.d.ts.map +0 -1
  1649. package/dist/cli-tui/utils/runtime-badges.js +0 -178
  1650. package/dist/cli-tui/utils/runtime-badges.js.map +0 -1
  1651. package/dist/cli-tui/utils/shimmer.d.ts +0 -12
  1652. package/dist/cli-tui/utils/shimmer.d.ts.map +0 -1
  1653. package/dist/cli-tui/utils/shimmer.js +0 -57
  1654. package/dist/cli-tui/utils/shimmer.js.map +0 -1
  1655. package/dist/cli-tui/utils/stage-labels.d.ts +0 -9
  1656. package/dist/cli-tui/utils/stage-labels.d.ts.map +0 -1
  1657. package/dist/cli-tui/utils/stage-labels.js +0 -65
  1658. package/dist/cli-tui/utils/stage-labels.js.map +0 -1
  1659. package/dist/cli-tui/utils/text-formatting.d.ts +0 -13
  1660. package/dist/cli-tui/utils/text-formatting.d.ts.map +0 -1
  1661. package/dist/cli-tui/utils/text-formatting.js +0 -109
  1662. package/dist/cli-tui/utils/text-formatting.js.map +0 -1
  1663. package/dist/cli-tui/utils/text-preview.d.ts +0 -10
  1664. package/dist/cli-tui/utils/text-preview.d.ts.map +0 -1
  1665. package/dist/cli-tui/utils/text-preview.js +0 -26
  1666. package/dist/cli-tui/utils/text-preview.js.map +0 -1
  1667. package/dist/cli-tui/utils/tool-text-utils.d.ts +0 -42
  1668. package/dist/cli-tui/utils/tool-text-utils.d.ts.map +0 -1
  1669. package/dist/cli-tui/utils/tool-text-utils.js +0 -361
  1670. package/dist/cli-tui/utils/tool-text-utils.js.map +0 -1
  1671. package/dist/cli-tui/welcome-animation.d.ts +0 -24
  1672. package/dist/cli-tui/welcome-animation.d.ts.map +0 -1
  1673. package/dist/cli-tui/welcome-animation.js +0 -99
  1674. package/dist/cli-tui/welcome-animation.js.map +0 -1
  1675. package/dist/cli-tui/welcome-colors.d.ts +0 -3
  1676. package/dist/cli-tui/welcome-colors.d.ts.map +0 -1
  1677. package/dist/cli-tui/welcome-colors.js +0 -39
  1678. package/dist/cli-tui/welcome-colors.js.map +0 -1
  1679. package/dist/node_modules/@evalops/tui/dist/autocomplete.d.ts +0 -304
  1680. package/dist/node_modules/@evalops/tui/dist/autocomplete.d.ts.map +0 -1
  1681. package/dist/node_modules/@evalops/tui/dist/autocomplete.js +0 -712
  1682. package/dist/node_modules/@evalops/tui/dist/autocomplete.js.map +0 -1
  1683. package/dist/node_modules/@evalops/tui/dist/components/editor.d.ts +0 -185
  1684. package/dist/node_modules/@evalops/tui/dist/components/editor.d.ts.map +0 -1
  1685. package/dist/node_modules/@evalops/tui/dist/components/editor.js +0 -1460
  1686. package/dist/node_modules/@evalops/tui/dist/components/editor.js.map +0 -1
  1687. package/dist/node_modules/@evalops/tui/dist/components/input.d.ts +0 -117
  1688. package/dist/node_modules/@evalops/tui/dist/components/input.d.ts.map +0 -1
  1689. package/dist/node_modules/@evalops/tui/dist/components/input.js +0 -391
  1690. package/dist/node_modules/@evalops/tui/dist/components/input.js.map +0 -1
  1691. package/dist/node_modules/@evalops/tui/dist/components/layout.d.ts +0 -256
  1692. package/dist/node_modules/@evalops/tui/dist/components/layout.d.ts.map +0 -1
  1693. package/dist/node_modules/@evalops/tui/dist/components/layout.js +0 -478
  1694. package/dist/node_modules/@evalops/tui/dist/components/layout.js.map +0 -1
  1695. package/dist/node_modules/@evalops/tui/dist/components/loader.d.ts +0 -199
  1696. package/dist/node_modules/@evalops/tui/dist/components/loader.d.ts.map +0 -1
  1697. package/dist/node_modules/@evalops/tui/dist/components/loader.js +0 -374
  1698. package/dist/node_modules/@evalops/tui/dist/components/loader.js.map +0 -1
  1699. package/dist/node_modules/@evalops/tui/dist/components/markdown.d.ts +0 -65
  1700. package/dist/node_modules/@evalops/tui/dist/components/markdown.d.ts.map +0 -1
  1701. package/dist/node_modules/@evalops/tui/dist/components/markdown.js +0 -562
  1702. package/dist/node_modules/@evalops/tui/dist/components/markdown.js.map +0 -1
  1703. package/dist/node_modules/@evalops/tui/dist/components/scroll-container.d.ts +0 -262
  1704. package/dist/node_modules/@evalops/tui/dist/components/scroll-container.d.ts.map +0 -1
  1705. package/dist/node_modules/@evalops/tui/dist/components/scroll-container.js +0 -575
  1706. package/dist/node_modules/@evalops/tui/dist/components/scroll-container.js.map +0 -1
  1707. package/dist/node_modules/@evalops/tui/dist/components/select-list.d.ts +0 -131
  1708. package/dist/node_modules/@evalops/tui/dist/components/select-list.d.ts.map +0 -1
  1709. package/dist/node_modules/@evalops/tui/dist/components/select-list.js +0 -257
  1710. package/dist/node_modules/@evalops/tui/dist/components/select-list.js.map +0 -1
  1711. package/dist/node_modules/@evalops/tui/dist/components/spacer.d.ts +0 -11
  1712. package/dist/node_modules/@evalops/tui/dist/components/spacer.d.ts.map +0 -1
  1713. package/dist/node_modules/@evalops/tui/dist/components/spacer.js +0 -19
  1714. package/dist/node_modules/@evalops/tui/dist/components/spacer.js.map +0 -1
  1715. package/dist/node_modules/@evalops/tui/dist/components/status-bar.d.ts +0 -22
  1716. package/dist/node_modules/@evalops/tui/dist/components/status-bar.d.ts.map +0 -1
  1717. package/dist/node_modules/@evalops/tui/dist/components/status-bar.js +0 -44
  1718. package/dist/node_modules/@evalops/tui/dist/components/status-bar.js.map +0 -1
  1719. package/dist/node_modules/@evalops/tui/dist/components/text.d.ts +0 -26
  1720. package/dist/node_modules/@evalops/tui/dist/components/text.d.ts.map +0 -1
  1721. package/dist/node_modules/@evalops/tui/dist/components/text.js +0 -181
  1722. package/dist/node_modules/@evalops/tui/dist/components/text.js.map +0 -1
  1723. package/dist/node_modules/@evalops/tui/dist/components/truncated-text.d.ts +0 -15
  1724. package/dist/node_modules/@evalops/tui/dist/components/truncated-text.d.ts.map +0 -1
  1725. package/dist/node_modules/@evalops/tui/dist/components/truncated-text.js +0 -84
  1726. package/dist/node_modules/@evalops/tui/dist/components/truncated-text.js.map +0 -1
  1727. package/dist/node_modules/@evalops/tui/dist/index.d.ts +0 -87
  1728. package/dist/node_modules/@evalops/tui/dist/index.d.ts.map +0 -1
  1729. package/dist/node_modules/@evalops/tui/dist/index.js +0 -85
  1730. package/dist/node_modules/@evalops/tui/dist/index.js.map +0 -1
  1731. package/dist/node_modules/@evalops/tui/dist/keymap.d.ts +0 -189
  1732. package/dist/node_modules/@evalops/tui/dist/keymap.d.ts.map +0 -1
  1733. package/dist/node_modules/@evalops/tui/dist/keymap.js +0 -363
  1734. package/dist/node_modules/@evalops/tui/dist/keymap.js.map +0 -1
  1735. package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.d.ts +0 -25
  1736. package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.d.ts.map +0 -1
  1737. package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.js +0 -828
  1738. package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.js.map +0 -1
  1739. package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.d.ts +0 -40
  1740. package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.d.ts.map +0 -1
  1741. package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.js +0 -474
  1742. package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.js.map +0 -1
  1743. package/dist/node_modules/@evalops/tui/dist/terminal.d.ts +0 -201
  1744. package/dist/node_modules/@evalops/tui/dist/terminal.d.ts.map +0 -1
  1745. package/dist/node_modules/@evalops/tui/dist/terminal.js +0 -241
  1746. package/dist/node_modules/@evalops/tui/dist/terminal.js.map +0 -1
  1747. package/dist/node_modules/@evalops/tui/dist/tui.d.ts +0 -263
  1748. package/dist/node_modules/@evalops/tui/dist/tui.d.ts.map +0 -1
  1749. package/dist/node_modules/@evalops/tui/dist/tui.js +0 -694
  1750. package/dist/node_modules/@evalops/tui/dist/tui.js.map +0 -1
  1751. package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.d.ts +0 -14
  1752. package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.d.ts.map +0 -1
  1753. package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.js +0 -44
  1754. package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.js.map +0 -1
  1755. package/dist/node_modules/@evalops/tui/dist/utils.d.ts +0 -32
  1756. package/dist/node_modules/@evalops/tui/dist/utils.d.ts.map +0 -1
  1757. package/dist/node_modules/@evalops/tui/dist/utils.js +0 -556
  1758. package/dist/node_modules/@evalops/tui/dist/utils.js.map +0 -1
  1759. package/dist/node_modules/@evalops/tui/package.json +0 -58
  1760. package/dist/skills/artifact-metadata.d.ts +0 -16
  1761. package/dist/skills/artifact-metadata.d.ts.map +0 -1
  1762. package/dist/skills/artifact-metadata.js +0 -86
  1763. package/dist/skills/artifact-metadata.js.map +0 -1
  1764. package/dist/skills/composer-diagnostics.d.ts +0 -69
  1765. package/dist/skills/composer-diagnostics.d.ts.map +0 -1
  1766. package/dist/skills/composer-diagnostics.js +0 -78
  1767. package/dist/skills/composer-diagnostics.js.map +0 -1
  1768. package/dist/skills/composer.d.ts +0 -19
  1769. package/dist/skills/composer.d.ts.map +0 -1
  1770. package/dist/skills/composer.js +0 -52
  1771. package/dist/skills/composer.js.map +0 -1
  1772. package/dist/skills/eval-harness.d.ts +0 -38
  1773. package/dist/skills/eval-harness.d.ts.map +0 -1
  1774. package/dist/skills/eval-harness.js +0 -112
  1775. package/dist/skills/eval-harness.js.map +0 -1
  1776. package/dist/skills/index.d.ts +0 -40
  1777. package/dist/skills/index.d.ts.map +0 -1
  1778. package/dist/skills/index.js +0 -40
  1779. package/dist/skills/index.js.map +0 -1
  1780. package/dist/skills/linter.d.ts +0 -36
  1781. package/dist/skills/linter.d.ts.map +0 -1
  1782. package/dist/skills/linter.js +0 -399
  1783. package/dist/skills/linter.js.map +0 -1
  1784. package/dist/skills/loader.d.ts +0 -252
  1785. package/dist/skills/loader.d.ts.map +0 -1
  1786. package/dist/skills/loader.js +0 -957
  1787. package/dist/skills/loader.js.map +0 -1
  1788. package/dist/skills/package-contract.d.ts +0 -45
  1789. package/dist/skills/package-contract.d.ts.map +0 -1
  1790. package/dist/skills/package-contract.js +0 -153
  1791. package/dist/skills/package-contract.js.map +0 -1
  1792. package/dist/skills/runtime-activation.d.ts +0 -68
  1793. package/dist/skills/runtime-activation.d.ts.map +0 -1
  1794. package/dist/skills/runtime-activation.js +0 -228
  1795. package/dist/skills/runtime-activation.js.map +0 -1
  1796. package/dist/skills/scaffold-from-template.d.ts +0 -58
  1797. package/dist/skills/scaffold-from-template.d.ts.map +0 -1
  1798. package/dist/skills/scaffold-from-template.js +0 -72
  1799. package/dist/skills/scaffold-from-template.js.map +0 -1
  1800. package/dist/skills/scaffolder.d.ts +0 -65
  1801. package/dist/skills/scaffolder.d.ts.map +0 -1
  1802. package/dist/skills/scaffolder.js +0 -167
  1803. package/dist/skills/scaffolder.js.map +0 -1
  1804. package/dist/skills/service-client.d.ts +0 -56
  1805. package/dist/skills/service-client.d.ts.map +0 -1
  1806. package/dist/skills/service-client.js +0 -266
  1807. package/dist/skills/service-client.js.map +0 -1
  1808. package/dist/skills/skill-templates.d.ts +0 -70
  1809. package/dist/skills/skill-templates.d.ts.map +0 -1
  1810. package/dist/skills/skill-templates.js +0 -154
  1811. package/dist/skills/skill-templates.js.map +0 -1
  1812. package/dist/skills/tool.d.ts +0 -21
  1813. package/dist/skills/tool.d.ts.map +0 -1
  1814. package/dist/skills/tool.js +0 -334
  1815. package/dist/skills/tool.js.map +0 -1
  1816. package/dist/skills/trust-cache.d.ts +0 -58
  1817. package/dist/skills/trust-cache.d.ts.map +0 -1
  1818. package/dist/skills/trust-cache.js +0 -130
  1819. package/dist/skills/trust-cache.js.map +0 -1
  1820. package/dist/skills/types.d.ts +0 -91
  1821. package/dist/skills/types.d.ts.map +0 -1
  1822. package/dist/skills/types.js +0 -8
  1823. package/dist/skills/types.js.map +0 -1
  1824. /package/dist/{cli-tui → runtime}/prompt-queue.d.ts +0 -0
  1825. /package/dist/{cli-tui → runtime}/prompt-queue.js +0 -0
@@ -1,2131 +0,0 @@
1
- import { Container, Markdown, ProcessTerminal, ScrollContainer, Spacer, TUI, Text, detectTerminalFeatures, } from "@evalops/tui";
2
- import chalk from "chalk";
3
- import { PATHS } from "../config/constants.js";
4
- import { mcpManager } from "../mcp/index.js";
5
- import { withMcpPostKeepMessages } from "../mcp/prompt-recovery.js";
6
- import { getRegisteredModels } from "../models/registry.js";
7
- import { getOpenTelemetryStatus } from "../opentelemetry.js";
8
- import { toSessionModelMetadata, } from "../session/manager.js";
9
- import { getTelemetryStatus } from "../telemetry.js";
10
- import { SessionPerfCollector, formatPerfReport, } from "../telemetry/session-perf.js";
11
- import { getCurrentThemeName, setTheme } from "../theme/theme.js";
12
- import { getTrainingStatus } from "../training.js";
13
- import { getTuiAuthState } from "./auth-state.js";
14
- import { AutoCompactionMonitor } from "../agent/auto-compaction.js";
15
- import { createAutoRetryController, } from "../agent/auto-retry.js";
16
- import { collectBackgroundTaskMessagesForCompaction, collectMcpMessagesForCompaction, collectPlanMessagesForCompaction, } from "../agent/compaction-restoration.js";
17
- import { applySessionEndHooks } from "../agent/session-lifecycle-hooks.js";
18
- import { SessionRecoveryManager } from "../agent/session-recovery.js";
19
- import { applySessionStartHooks, collectPersistedSessionStartHookMessages, runUserPromptWithRecovery, } from "../agent/user-prompt-runtime.js";
20
- import { registerTestVerificationHooks, } from "../testing/index.js";
21
- import { createLogger } from "../utils/logger.js";
22
- import { AboutView } from "./about-view.js";
23
- import { BashModeView } from "./bash-mode-view.js";
24
- import { ChangelogView } from "./changelog-view.js";
25
- import { formatCommandHelp } from "./commands/argument-parser.js";
26
- import { ConfigView } from "./config-view.js";
27
- import { ContextView } from "./context-view.js";
28
- import { CustomEditor } from "./custom-editor.js";
29
- import { EditorView } from "./editor-view.js";
30
- import { FeedbackView } from "./feedback-view.js";
31
- import { FooterComponent } from "./footer.js";
32
- import { GitView } from "./git/git-view.js";
33
- import { HotkeysView } from "./hotkeys-view.js";
34
- import { ImportExportView } from "./import-view.js";
35
- import { InfoView } from "./info-view.js";
36
- import { InstructionPanelComponent } from "./instruction-panel.js";
37
- import { inspectKeybindingConfig, summarizeKeybindingConfigIssues, } from "./keybindings-config.js";
38
- import { startTuiKeybindingWatcher, stopTuiKeybindingWatcher, } from "./keybindings-watcher.js";
39
- import { getTuiKeybindingLabel } from "./keybindings.js";
40
- import { LspView } from "./lsp-view.js";
41
- import { NotificationView } from "./notification-view.js";
42
- import { OllamaView } from "./ollama-view.js";
43
- import { canQueueFollowUpShortcut } from "./queue/follow-up-shortcut.js";
44
- import { QueuePanelController, } from "./queue/index.js";
45
- import { RunCommandView } from "./run/run-command-view.js";
46
- import { RunController } from "./run/run-controller.js";
47
- import { FileSearchView } from "./search/file-search-view.js";
48
- import { ModelSelectorView } from "./selectors/model-selector-view.js";
49
- import { QueueModeSelectorView } from "./selectors/queue-mode-selector-view.js";
50
- import { ReportSelectorView } from "./selectors/report-selector-view.js";
51
- import { ThemeSelectorView } from "./selectors/theme-selector-view.js";
52
- import { ThinkingSelectorView } from "./selectors/thinking-selector-view.js";
53
- import { TreeSelectorView } from "./selectors/tree-selector-view.js";
54
- import { UserMessageSelectorView } from "./selectors/user-message-selector-view.js";
55
- import { ConversationCompactor } from "./session/conversation-compactor.js";
56
- import { SessionContext } from "./session/session-context.js";
57
- import { SlashCommandMatcher, SlashCycleState } from "./slash/index.js";
58
- import { renderStartupAnnouncements } from "./startup-announcements.js";
59
- import { CostView } from "./status/cost-view.js";
60
- import { QuotaView } from "./status/quota-view.js";
61
- import { TelemetryView } from "./status/telemetry-view.js";
62
- import { TrainingView } from "./status/training-view.js";
63
- import { ToolStatusView } from "./tool-status-view.js";
64
- import { createAgentEventBridge, } from "./tui-renderer/agent-event-bridge.js";
65
- import { createAttachmentController, } from "./tui-renderer/attachment-controller.js";
66
- import { buildTuiCommandRegistryOptions } from "./tui-renderer/command-registry-options.js";
67
- import { buildTuiCommandRegistry } from "./tui-renderer/command-registry.js";
68
- import { createDelegatingCommandHandlers, } from "./tui-renderer/delegating-command-handlers.js";
69
- import { createFooterHintsController, } from "./tui-renderer/footer-hints-controller.js";
70
- import { createHistoryController, } from "./tui-renderer/history-controller.js";
71
- import { createHookUiController, } from "./tui-renderer/hook-ui-controller.js";
72
- import { createMiscHandlers, } from "./tui-renderer/misc-handlers.js";
73
- import { createSkillsController, } from "./tui-renderer/skills-controller.js";
74
- import { saveCommandPrefs, saveUiState } from "./ui-state.js";
75
- import { UpdateView } from "./update-view.js";
76
- import { CommandPaletteView } from "./utils/commands/command-palette-view.js";
77
- import { buildReviewPrompt } from "./utils/commands/review-prompt.js";
78
- import { SlashHintBar } from "./utils/commands/slash-hint-bar.js";
79
- import { calculateFooterStats, } from "./utils/footer-utils.js";
80
- import { WelcomeAnimation } from "./welcome-animation.js";
81
- import { areAnimationsDisabled } from "../config/env-vars.js";
82
- import { getProjectOnboardingState, markProjectOnboardingSeen, } from "../onboarding/project-onboarding.js";
83
- import { resolveEnvPath } from "../utils/path-expansion.js";
84
- import { HookInputModal } from "./hooks/hook-input-modal.js";
85
- import { ModalManager } from "./modal-manager.js";
86
- import { PasteHandler } from "./paste/paste-handler.js";
87
- import { SSH_RENDER_INTERVAL_MS, isMinimalMode as checkMinimalMode, getLowBandwidthConfig, getTerminalCapabilities, probeTerminalBackground, } from "./terminal/terminal-utils.js";
88
- import { createApprovalController } from "./tui-renderer/approval-setup.js";
89
- import { createBackgroundTasksController } from "./tui-renderer/background-tasks-setup.js";
90
- import { createBranchController, } from "./tui-renderer/branch-controller.js";
91
- import { createClearController, } from "./tui-renderer/clear-controller.js";
92
- import { createClientToolController } from "./tui-renderer/client-tools-setup.js";
93
- import { createCompactionController, } from "./tui-renderer/compaction-controller.js";
94
- import { createCustomCommandsController, } from "./tui-renderer/custom-commands-controller.js";
95
- import { attachEditorBindings } from "./tui-renderer/editor-bindings.js";
96
- import { loadInitialTuiRendererPreferences } from "./tui-renderer/initial-preferences.js";
97
- import { createInputController, } from "./tui-renderer/input-controller.js";
98
- import { createInterruptController } from "./tui-renderer/interrupt-setup.js";
99
- import { createLoaderView } from "./tui-renderer/loader-setup.js";
100
- import { createMcpEventsController, } from "./tui-renderer/mcp-events-setup.js";
101
- import { createOAuthFlowController } from "./tui-renderer/oauth-setup.js";
102
- import { createPlanSubsystem } from "./tui-renderer/plan-setup.js";
103
- import { createQueueController } from "./tui-renderer/queue-setup.js";
104
- import { createQuickSettingsController, } from "./tui-renderer/quick-settings-controller.js";
105
- import { createSessionSubsystem } from "./tui-renderer/session-setup.js";
106
- import { createSessionStateController, } from "./tui-renderer/session-state-controller.js";
107
- import { createSlashHintController, } from "./tui-renderer/slash-hint-controller.js";
108
- import { createToolRetryController } from "./tui-renderer/tool-retry-setup.js";
109
- import { createToolingViews } from "./tui-renderer/tooling-views-setup.js";
110
- import { createUiStateController, } from "./tui-renderer/ui-state-setup.js";
111
- import { createDiagnosticsView } from "./tui-renderer/utility-views-setup.js";
112
- import { createViewportController, } from "./tui-renderer/viewport-controller.js";
113
- const logger = createLogger("tui:renderer");
114
- const getTodoStorePath = () => resolveEnvPath(process.env.MAESTRO_TODO_FILE) ?? PATHS.TODO_STORE;
115
- function formatLoadedSessionToast(sessionInfo) {
116
- const prefix = `Loaded session ${sessionInfo.id} (${sessionInfo.messageCount} messages).`;
117
- if (!sessionInfo.resumeSummary?.trim()) {
118
- return prefix;
119
- }
120
- return `${prefix} ${sessionInfo.resumeSummary.trim()}`;
121
- }
122
- /**
123
- * Main TUI (Terminal User Interface) renderer for the Maestro coding agent.
124
- *
125
- * This class orchestrates all UI components, event handling, and user interactions.
126
- * It manages:
127
- * - Message rendering (user, assistant, tool calls)
128
- * - Streaming text display with markdown formatting
129
- * - Command palette and slash command execution
130
- * - Session management and switching
131
- * - Cost tracking and telemetry views
132
- * - Model selection and configuration
133
- * - File search and path autocomplete
134
- * - Git integration and status display
135
- *
136
- * The TUI uses an event-driven architecture where the Agent emits events
137
- * (streaming deltas, tool calls, etc.) and the TuiRenderer subscribes to
138
- * update the UI accordingly.
139
- *
140
- * @example
141
- * ```typescript
142
- * const renderer = new TuiRenderer({
143
- * agent,
144
- * sessionManager,
145
- * version: "0.8.2",
146
- * sessionContext: { sessionFile: "~/.maestro/agent/sessions/default.jsonl" }
147
- * });
148
- *
149
- * await renderer.initialize();
150
- * renderer.setInputCallback(async (text) => {
151
- * await agent.prompt(text);
152
- * });
153
- *
154
- * await renderer.run();
155
- * ```
156
- */
157
- import { SmartAutocompleteProvider } from "./smart-autocomplete-provider.js";
158
- export class TuiRenderer {
159
- constructor(agent, sessionManager, version, approvalService, toolRetryService, explicitApiKey, options = {}) {
160
- this.isInitialized = false;
161
- // Tool execution tracking: toolCallId -> component
162
- this.pendingTools = new Map();
163
- this.telemetryStatus = getTelemetryStatus();
164
- this.trainingStatus = getTrainingStatus();
165
- this.perfCollector = new SessionPerfCollector();
166
- // Track if this is the first user message (to skip spacer)
167
- // Welcome animation shown before first interaction
168
- this.welcomeAnimation = null;
169
- this.idleFooterHint = "Try /help for commands or /tools for status";
170
- this.workingFooterHint = "Working… press esc to interrupt";
171
- this.testVerificationService = null;
172
- this.slashCommands = [];
173
- this.commandEntries = [];
174
- this.recentCommands = [];
175
- this.favoriteCommands = new Set();
176
- this.slashCycleState = new SlashCycleState();
177
- this.focusEditor = () => {
178
- this.ui.setFocus(this.editor);
179
- };
180
- this.sessionContext = new SessionContext();
181
- this.editingQueuedFollowUp = null;
182
- // Default to soft deduplication so repeated streamed lines don't appear in the TUI.
183
- // Users can still override via /clean or env/UI state.
184
- this.cleanMode = "soft";
185
- this.uiState = {};
186
- this.footerMode = "rich";
187
- this.reducedMotion = false;
188
- this.zenMode = false;
189
- this.hideThinkingBlocks = false;
190
- this.minimalMode = checkMinimalMode();
191
- this.isAgentRunning = false;
192
- this.modelScope = [];
193
- this.terminalCapabilities = getTerminalCapabilities();
194
- this.terminalFeatures = detectTerminalFeatures();
195
- this.lowBandwidthConfig = getLowBandwidthConfig();
196
- this.lastKeybindingIssueSummary = null;
197
- this.profileName = options.profileName;
198
- this.cliOverrides = options.cliOverrides;
199
- const initialPrefs = loadInitialTuiRendererPreferences();
200
- this.uiState = initialPrefs.uiState;
201
- const initialSteeringMode = initialPrefs.initialSteeringMode;
202
- const initialFollowUpMode = initialPrefs.initialFollowUpMode;
203
- if (initialPrefs.cleanMode) {
204
- this.cleanMode = initialPrefs.cleanMode;
205
- }
206
- if (initialPrefs.footerMode) {
207
- this.footerMode = initialPrefs.footerMode;
208
- }
209
- this.reducedMotion = initialPrefs.reducedMotion ?? false;
210
- if (typeof initialPrefs.zenMode === "boolean") {
211
- this.zenMode = initialPrefs.zenMode;
212
- }
213
- if (typeof initialPrefs.hideThinkingBlocks === "boolean") {
214
- this.hideThinkingBlocks = initialPrefs.hideThinkingBlocks;
215
- }
216
- // Initialize UI state controller with loaded preferences
217
- this.uiStateController = createUiStateController({
218
- initialCleanMode: this.cleanMode,
219
- initialFooterMode: this.footerMode,
220
- initialZenMode: this.zenMode,
221
- initialHideThinkingBlocks: this.hideThinkingBlocks,
222
- callbacks: {
223
- onZenModeChange: (enabled) => {
224
- this.zenMode = enabled;
225
- if (enabled) {
226
- this.headerContainer?.clear();
227
- this.footer?.setMode("solo");
228
- if (this.welcomeAnimation) {
229
- this.dismissWelcomeAnimation();
230
- }
231
- }
232
- else {
233
- this.renderHeader();
234
- // Restore footer mode from state if zen owned it
235
- const currentFooterMode = this.footer?.getMode();
236
- if (currentFooterMode === "solo") {
237
- this.footer?.setMode(this.footerMode);
238
- }
239
- }
240
- this.viewportController.markHeaderDirty();
241
- this.viewportController.markFooterDirty();
242
- this.updateScrollViewport();
243
- },
244
- onFooterModeChange: (mode) => {
245
- this.footerMode = mode;
246
- this.footer?.setMode(mode);
247
- if (!this.isAgentRunning) {
248
- this.refreshFooterHint();
249
- }
250
- this.viewportController.markFooterDirty();
251
- this.updateScrollViewport();
252
- },
253
- onHideThinkingBlocksChange: (hidden) => {
254
- this.hideThinkingBlocks = hidden;
255
- },
256
- requestRender: () => {
257
- this.ui?.requestRender();
258
- },
259
- },
260
- });
261
- this.recentCommands = initialPrefs.recentCommands;
262
- this.favoriteCommands = initialPrefs.favoriteCommands;
263
- this.agent = agent;
264
- this.agent.setSteeringMode(initialSteeringMode === "all" ? "all" : "one");
265
- this.agent.setFollowUpMode(initialFollowUpMode === "all" ? "all" : "one");
266
- this.sessionManager = sessionManager;
267
- this.version = version;
268
- this.explicitApiKey = explicitApiKey;
269
- this.modelScope = options.modelScope ?? [];
270
- this.autoCompactionMonitor = new AutoCompactionMonitor({
271
- onCompactionRecommended: (stats) => {
272
- this.compactionController?.handleAutoCompactionRecommendation(stats);
273
- },
274
- });
275
- this.autoRetryController = createAutoRetryController();
276
- // Load retry config if available
277
- if (options.retryConfig) {
278
- this.autoRetryController.loadFromRetryConfig(options.retryConfig);
279
- }
280
- this.sessionRecoveryManager = new SessionRecoveryManager();
281
- this.startupChangelog = options.startupChangelog;
282
- this.startupChangelogSummary = options.startupChangelogSummary;
283
- this.updateNotice = options.updateNotice;
284
- this.ui = new TUI(new ProcessTerminal(), this.terminalFeatures);
285
- this.miscHandlers = createMiscHandlers({
286
- deps: {
287
- ui: this.ui,
288
- getNotificationView: () => this.notificationView,
289
- getEditorText: () => this.editor.getText(),
290
- setEditorText: (text) => this.editor.setText(text),
291
- getTelemetryStatus: () => this.telemetryStatus,
292
- },
293
- callbacks: {
294
- setAgentRunning: (running) => {
295
- this.isAgentRunning = running;
296
- },
297
- refreshFooterHint: () => this.refreshFooterHint(),
298
- },
299
- });
300
- this.autoRetryController.setEventListener((event) => {
301
- this.miscHandlers.handleAutoRetryEvent(event);
302
- });
303
- // Initialize test verification with auto-test hooks
304
- this.testVerificationService = registerTestVerificationHooks(process.cwd(), {
305
- onTestComplete: (result) => {
306
- this.miscHandlers.handleTestVerificationResult(result);
307
- },
308
- });
309
- this.configureRenderThrottle();
310
- this.startupContainer = new Container();
311
- this.headerContainer = new Container();
312
- this.chatContainer = new Container();
313
- // Wrap chatContainer in ScrollContainer for viewport scrolling
314
- this.scrollContainer = new ScrollContainer(this.chatContainer, {
315
- stickyScroll: true,
316
- showIndicator: true,
317
- // We dynamically compute viewport height based on non-chat components.
318
- reservedLines: 0,
319
- onScroll: () => this.ui.requestRender(),
320
- });
321
- this.statusContainer = new Container();
322
- this.editor = new CustomEditor();
323
- attachEditorBindings({
324
- editor: this.editor,
325
- scrollContainer: this.scrollContainer,
326
- ui: this.ui,
327
- handlers: {
328
- handleLargePaste: (event) => this.pasteHandler.handleLargePaste(event),
329
- handlePasteImage: () => this.attachmentController.handleClipboardImagePaste(),
330
- handleTyping: () => this.handleEditorTyping(),
331
- cycleModel: () => this.quickSettingsController.cycleModel(),
332
- toggleToolOutputs: () => this.quickSettingsController.toggleToolOutputs(),
333
- toggleThinkingBlocks: () => this.quickSettingsController.toggleThinkingBlocks(),
334
- openExternalEditor: () => this.miscHandlers.handleExternalEditor(),
335
- suspend: () => this.miscHandlers.handleCtrlZ(),
336
- handleSlashCycle: (reverse) => this.slashHintController?.handleSlashCycle(reverse) ?? false,
337
- cycleThinkingLevel: () => this.quickSettingsController.cycleThinkingLevel(),
338
- },
339
- });
340
- this.editorContainer = new Container(); // Container to hold editor or selector
341
- this.slashHintBar = new SlashHintBar();
342
- this.queuedInputPreview = new Text("", 1, 0);
343
- this.editorContainer.addChild(this.slashHintBar);
344
- this.editorContainer.addChild(this.queuedInputPreview);
345
- this.editorContainer.addChild(this.editor); // Start with editor
346
- this.modalManager = new ModalManager(this.editorContainer, this.ui, this.editor, {
347
- onLayoutChange: () => {
348
- this.viewportController.markEditorDirty();
349
- this.updateScrollViewport();
350
- },
351
- });
352
- this.footer = new FooterComponent(agent.state, this.footerMode);
353
- this.footer.startBranchTracking(() => this.ui.requestRender());
354
- this.viewportController = createViewportController({
355
- deps: {
356
- headerContainer: this.headerContainer,
357
- startupContainer: this.startupContainer,
358
- statusContainer: this.statusContainer,
359
- editorContainer: this.editorContainer,
360
- footer: this.footer,
361
- scrollContainer: this.scrollContainer,
362
- getColumns: () => process.stdout.columns ?? 80,
363
- getRows: () => process.stdout.rows ?? 24,
364
- },
365
- });
366
- this.notificationView = new NotificationView({
367
- chatContainer: this.chatContainer,
368
- ui: this.ui,
369
- footer: this.footer,
370
- });
371
- this.miscHandlers.updateTerminalTitle();
372
- // Initialize extracted controllers (attachment → skills → history)
373
- this.attachmentController = createAttachmentController({
374
- deps: {
375
- insertEditorText: (text) => this.editor.insertText(text),
376
- setEditorText: (text) => this.editor.setText(text),
377
- },
378
- callbacks: {
379
- requestRender: () => this.ui.requestRender(),
380
- },
381
- });
382
- this.skillsController = createSkillsController({
383
- deps: {
384
- injectMessage: (message) => this.agent.injectMessage(message),
385
- getMessages: () => this.agent.state.messages,
386
- cwd: () => process.cwd(),
387
- },
388
- callbacks: {
389
- pushCommandOutput: (text) => this.pushCommandOutput(text),
390
- showInfo: (message) => this.notificationView.showInfo(message),
391
- showError: (message) => this.notificationView.showError(message),
392
- },
393
- });
394
- this.hookUiController = createHookUiController({
395
- deps: {
396
- ui: this.ui,
397
- getEditorText: () => this.editor.getText(),
398
- setEditorText: (text) => this.editor.setText(text),
399
- modalManager: this.modalManager,
400
- agent: this.agent,
401
- sessionManager: this.sessionManager,
402
- notificationView: this.notificationView,
403
- createHookInputModal: (opts) => new HookInputModal(opts),
404
- createCommandContext: (params) => this.createCommandContext(params),
405
- },
406
- callbacks: {
407
- refreshFooterHint: () => this.refreshFooterHint(),
408
- requestRender: () => this.ui.requestRender(),
409
- },
410
- });
411
- this.hookUiController.initializeGlobalContext();
412
- this.delegatingHandlers = createDelegatingCommandHandlers({
413
- agent: this.agent,
414
- notificationView: this.notificationView,
415
- addMarkdown: (content) => this.chatContainer.addChild(new Markdown(content)),
416
- addSpacedText: (content) => {
417
- this.chatContainer.addChild(new Spacer(1));
418
- this.chatContainer.addChild(new Text(content, 1, 0));
419
- },
420
- requestRender: () => this.ui.requestRender(),
421
- });
422
- // Now that all core layout containers exist, compute the initial viewport
423
- // sizing and wire resize handling.
424
- this.refreshTerminalCapabilities();
425
- this.resizeHandler = () => this.refreshTerminalCapabilities();
426
- process.stdout.on("resize", this.resizeHandler);
427
- this.queueController = createQueueController({
428
- agent: this.agent,
429
- notificationView: this.notificationView,
430
- editor: this.editor,
431
- initialSteeringMode: initialSteeringMode,
432
- initialFollowUpMode: initialFollowUpMode,
433
- refreshQueuePanel: () => this.queuePanelController?.refreshPanel(),
434
- isAgentRunning: () => this.isAgentRunning,
435
- refreshFooterHint: () => this.refreshFooterHint(),
436
- requestRender: () => {
437
- this.updateQueuedInputPreview();
438
- this.ui.requestRender();
439
- },
440
- persistUiState: (state) => this.persistUiState(state),
441
- });
442
- this.updateQueuedInputPreview();
443
- this.oauthFlowController = createOAuthFlowController({
444
- modalManager: this.modalManager,
445
- notificationView: this.notificationView,
446
- chatContainer: this.chatContainer,
447
- ui: this.ui,
448
- editor: this.editor,
449
- clearEditor: () => this.clearEditor(),
450
- });
451
- this.inputController = createInputController({
452
- deps: {
453
- editor: this.editor,
454
- getPasteHandler: () => this.pasteHandler,
455
- isBashModeActive: () => this.bashModeView?.isActive() ?? false,
456
- getBashModeView: () => this.getBashModeView(),
457
- getInterruptController: () => this.interruptController,
458
- autoRetryController: this.autoRetryController,
459
- consumeAttachments: (text) => this.attachmentController.consumeAttachments(text),
460
- },
461
- callbacks: {
462
- showInfo: (message) => this.notificationView.showInfo(message),
463
- stopRenderer: () => this.stop(),
464
- exitProcess: (code) => process.exit(code ?? 0),
465
- },
466
- });
467
- this.interruptController = createInterruptController({
468
- footer: this.footer,
469
- notificationView: this.notificationView,
470
- onInterrupt: (options) => this.inputController.notifyInterrupt(options),
471
- restoreQueuedPrompts: (options) => {
472
- void this.handleInterruptedQueue(options);
473
- },
474
- hasQueuedSteering: () => this.queueController.getQueuedSteeringCount() > 0,
475
- getWorkingHint: () => this.buildWorkingFooterHint(),
476
- isMinimalMode: () => this.isMinimalMode(),
477
- isAgentRunning: () => this.isAgentRunning,
478
- refreshFooterHint: () => this.refreshFooterHint(),
479
- });
480
- this.backgroundTasksController = createBackgroundTasksController({
481
- chatContainer: this.chatContainer,
482
- ui: this.ui,
483
- notificationView: this.notificationView,
484
- });
485
- this.footerHintsController = createFooterHintsController({
486
- deps: {
487
- isAgentRunning: () => this.isAgentRunning,
488
- idleFooterHint: this.idleFooterHint,
489
- isReducedMotion: () => this.reducedMotion,
490
- isMinimalMode: () => this.minimalMode,
491
- getSandboxMode: () => this.agent.state.sandboxMode ?? process.env.MAESTRO_SANDBOX ?? null,
492
- isSandboxActive: () => Boolean(this.agent.state.sandboxEnabled) ||
493
- Boolean(this.agent.state.sandbox),
494
- getApprovalMode: () => this.approvalService.getMode(),
495
- getQueueData: () => ({
496
- followUpMode: this.queueController.getFollowUpMode(),
497
- queuedCount: this.queueController.getQueuedCount(),
498
- hasQueue: this.queueController.hasQueue(),
499
- queueHint: this.queueController.buildQueueHint(),
500
- }),
501
- getRunningHint: () => this.buildWorkingFooterHint(),
502
- getThinkingLevel: () => this.agent.state.thinkingLevel,
503
- getUnseenAlertCount: () => this.footer.getUnseenAlertCount(),
504
- getHookStatusHints: () => this.hookUiController.getHookStatusHints(),
505
- getActiveToast: () => this.footer.getActiveToast(),
506
- getBackgroundCounts: () => this.backgroundTasksController.getCounts(),
507
- isCompacting: () => this.compactionController?.isCompacting() ?? false,
508
- hasPendingPaste: () => this.pasteHandler?.hasPending() ?? false,
509
- isBashModeActive: () => this.bashModeView?.isActive() ?? false,
510
- setRuntimeBadges: (badges) => this.footer.setRuntimeBadges(badges),
511
- setHints: (hints) => this.footer.setHints(hints),
512
- },
513
- callbacks: {
514
- showToast: (message, tone) => this.notificationView.showToast(message, tone),
515
- setToast: (message, tone) => this.footer.setToast(message, tone),
516
- },
517
- });
518
- this.footerHintsController.surfaceStartupWarnings();
519
- this.approvalController = createApprovalController({
520
- approvalService,
521
- ui: this.ui,
522
- editor: this.editor,
523
- editorContainer: this.editorContainer,
524
- notificationView: this.notificationView,
525
- });
526
- if (options.clientToolService) {
527
- this.clientToolController = createClientToolController({
528
- clientToolService: options.clientToolService,
529
- ui: this.ui,
530
- editor: this.editor,
531
- editorContainer: this.editorContainer,
532
- notificationView: this.notificationView,
533
- onPendingStatusChange: (toolCallId, status) => {
534
- const component = this.pendingTools.get(toolCallId);
535
- component?.setPendingStatus(status);
536
- this.ui.requestRender();
537
- },
538
- });
539
- }
540
- this.toolRetryController = createToolRetryController({
541
- toolRetryService,
542
- ui: this.ui,
543
- editor: this.editor,
544
- editorContainer: this.editorContainer,
545
- notificationView: this.notificationView,
546
- });
547
- this.approvalService = approvalService;
548
- this.toolRetryService = toolRetryService;
549
- this.loaderView = createLoaderView({
550
- ui: this.ui,
551
- statusContainer: this.statusContainer,
552
- footer: this.footer,
553
- lowColor: this.terminalFeatures.lowColor,
554
- lowUnicode: this.terminalFeatures.lowUnicode,
555
- disableAnimations: this.shouldDisableAnimations(),
556
- onLayoutChange: () => {
557
- this.viewportController.markStatusDirty();
558
- this.updateScrollViewport();
559
- },
560
- });
561
- const planSubsystem = createPlanSubsystem({
562
- filePath: getTodoStorePath(),
563
- chatContainer: this.chatContainer,
564
- ui: this.ui,
565
- modalManager: this.modalManager,
566
- notificationView: this.notificationView,
567
- setPlanHint: (hint) => {
568
- this.footerHintsController.planHint = hint;
569
- this.refreshFooterHint();
570
- },
571
- onStoreChanged: (store) => this.planController?.handleStoreChanged(store),
572
- });
573
- this.planView = planSubsystem.planView;
574
- this.planController = planSubsystem.planController;
575
- this.gitView = new GitView({
576
- chatContainer: this.chatContainer,
577
- ui: this.ui,
578
- showInfoMessage: (message) => this.notificationView.showInfo(message),
579
- showToast: (message, tone) => this.notificationView.showToast(message, tone),
580
- modalManager: this.modalManager,
581
- });
582
- this.runController = new RunController({
583
- loaderView: this.loaderView,
584
- ui: this.ui,
585
- setEditorDisabled: (_disabled) => {
586
- this.editor.disableSubmit = false;
587
- },
588
- focusEditor: () => this.focusEditor(),
589
- clearEditor: () => this.clearEditor(),
590
- stopRenderer: () => this.stop(),
591
- refreshFooterHint: () => this.refreshFooterHint(),
592
- notifyFileChanges: () => this.gitView.notifyFileChanges(),
593
- inMinimalMode: () => this.isMinimalMode(),
594
- });
595
- this.ui.setInterruptHandler(() => {
596
- void this.handleCtrlC();
597
- });
598
- const sessionSubsystem = createSessionSubsystem({
599
- agent: this.agent,
600
- sessionManager: this.sessionManager,
601
- chatContainer: this.chatContainer,
602
- ui: this.ui,
603
- modalManager: this.modalManager,
604
- notificationView: this.notificationView,
605
- sessionContext: this.sessionContext,
606
- applyLoadedSessionContext: () => this.applyLoadedSessionContext(),
607
- onSessionLoaded: (sessionInfo) => {
608
- this.toolOutputView.clearTrackedComponents();
609
- this.renderInitialMessages(this.agent.state);
610
- this.footer.updateState(this.agent.state);
611
- this.notificationView.showInfo(formatLoadedSessionToast(sessionInfo));
612
- },
613
- });
614
- this.sessionView = sessionSubsystem.sessionView;
615
- // History controller uses sessionContext stores
616
- this.historyController = createHistoryController({
617
- deps: { sessionContext: this.sessionContext },
618
- callbacks: {
619
- pushCommandOutput: (text) => this.pushCommandOutput(text),
620
- showInfo: (message) => this.notificationView.showInfo(message),
621
- },
622
- });
623
- // Initialize paste handler
624
- this.pasteHandler = new PasteHandler({
625
- agent: this.agent,
626
- notificationView: this.notificationView,
627
- sessionContext: this.sessionContext,
628
- editor: this.editor,
629
- refreshFooterHint: () => this.refreshFooterHint(),
630
- });
631
- const toolingViews = createToolingViews({
632
- chatContainer: this.chatContainer,
633
- ui: this.ui,
634
- uiStateCompactTools: this.uiState.compactTools,
635
- pendingTools: this.pendingTools,
636
- lowBandwidth: this.lowBandwidthConfig,
637
- disableAnimations: this.shouldDisableAnimations(),
638
- getCleanMode: () => this.cleanMode,
639
- getHideThinkingBlocks: () => this.hideThinkingBlocks,
640
- loaderView: this.loaderView,
641
- runController: this.runController,
642
- sessionContext: this.sessionContext,
643
- extractText: (message) => this.extractTextFromAppMessage(message),
644
- clearEditor: () => this.clearEditor(),
645
- requestRender: () => this.ui.requestRender(),
646
- clearPendingTools: () => this.pendingTools.clear(),
647
- refreshPlanHint: () => this.planView.syncHintWithStore(),
648
- onAssistantMessageEnd: (message) => this.autoRetryController.trackAssistantMessage(message),
649
- showInfoMessage: (message) => this.notificationView.showInfo(message),
650
- });
651
- this.toolOutputView = toolingViews.toolOutputView;
652
- this.messageView = toolingViews.messageView;
653
- this.agentEventRouter = toolingViews.agentEventRouter;
654
- this.sessionStateController = createSessionStateController({
655
- deps: {
656
- agent: this.agent,
657
- sessionManager: this.sessionManager,
658
- sessionContext: this.sessionContext,
659
- sessionRecoveryManager: this.sessionRecoveryManager,
660
- editor: this.editor,
661
- messageView: this.messageView,
662
- toolOutputView: this.toolOutputView,
663
- chatContainer: this.chatContainer,
664
- scrollContainer: this.scrollContainer,
665
- startupContainer: this.startupContainer,
666
- planView: this.planView,
667
- footer: this.footer,
668
- notificationView: this.notificationView,
669
- clearActiveSkills: () => this.skillsController.clearActiveSkills(),
670
- runSessionEndHooks: (reason) => applySessionEndHooks({
671
- agent: this.agent,
672
- sessionManager: this.sessionManager,
673
- cwd: process.cwd(),
674
- reason,
675
- }),
676
- runSessionStartHooks: (source) => applySessionStartHooks({
677
- agent: this.agent,
678
- sessionManager: this.sessionManager,
679
- cwd: process.cwd(),
680
- source,
681
- }),
682
- },
683
- callbacks: {
684
- refreshFooterHint: () => this.refreshFooterHint(),
685
- requestRender: () => this.ui.requestRender(),
686
- clearEditor: () => this.clearEditor(),
687
- setPlanHint: (hint) => {
688
- this.footerHintsController.planHint = hint;
689
- },
690
- isAgentRunning: () => this.isAgentRunning,
691
- },
692
- });
693
- this.agentEventBridge = createAgentEventBridge({
694
- deps: {
695
- agent: this.agent,
696
- sessionManager: this.sessionManager,
697
- sessionRecoveryManager: this.sessionRecoveryManager,
698
- autoRetryController: this.autoRetryController,
699
- interruptController: this.interruptController,
700
- footer: this.footer,
701
- agentEventRouter: this.agentEventRouter,
702
- },
703
- callbacks: {
704
- ensureInitialized: () => this.init(),
705
- handleApprovalRequired: (request) => this.handleApprovalRequired(request),
706
- handleApprovalResolved: (request, decision) => this.handleApprovalResolved(request, decision),
707
- handleToolRetryRequired: (request) => this.handleToolRetryRequired(request),
708
- handleToolRetryResolved: (request, decision) => this.handleToolRetryResolved(request, decision),
709
- setAgentRunning: (running) => {
710
- this.isAgentRunning = running;
711
- },
712
- maybeShowContextWarning: (stats) => this.maybeShowContextWarning(stats),
713
- setCurrentModelMetadata: (metadata) => {
714
- this.currentModelMetadata = metadata;
715
- },
716
- },
717
- });
718
- // Initialize quick settings controller for keyboard shortcuts
719
- this.quickSettingsController = createQuickSettingsController({
720
- agent: this.agent,
721
- sessionManager: this.sessionManager,
722
- notificationView: this.notificationView,
723
- modelScope: this.modelScope,
724
- callbacks: {
725
- refreshFooterHint: () => this.refreshFooterHint(),
726
- persistUiState: () => this.persistUiState(),
727
- renderConversationView: () => this.renderConversationView(),
728
- requestRender: () => this.ui.requestRender(),
729
- getToolOutputCompact: () => this.toolOutputView.isCompact(),
730
- toggleToolOutputCompact: () => this.toolOutputView.toggleCompactMode(),
731
- getHideThinkingBlocks: () => this.hideThinkingBlocks,
732
- setHideThinkingBlocks: (hidden) => {
733
- this.hideThinkingBlocks = hidden;
734
- },
735
- },
736
- });
737
- this.conversationCompactor = new ConversationCompactor({
738
- agent: this.agent,
739
- sessionManager: this.sessionManager,
740
- chatContainer: this.chatContainer,
741
- ui: this.ui,
742
- footer: this.footer,
743
- idleHint: this.idleFooterHint,
744
- toolComponents: this.toolOutputView.getTrackedComponents(),
745
- renderMessages: () => this.renderInitialMessages(this.agent.state),
746
- showInfoMessage: (message) => this.notificationView.showInfo(message),
747
- profileName: options.profileName,
748
- cliOverrides: options.cliOverrides,
749
- getPostKeepMessages: async (source, preservedMessages) => {
750
- const restorationMessages = source === "compact"
751
- ? this.collectOrderedCompactionRestorationMessages(preservedMessages)
752
- : [];
753
- const sessionStartMessages = await collectPersistedSessionStartHookMessages({
754
- sessionManager: this.sessionManager,
755
- cwd: process.cwd(),
756
- source,
757
- });
758
- return [...restorationMessages, ...sessionStartMessages];
759
- },
760
- });
761
- this.compactionController = createCompactionController({
762
- deps: {
763
- getAgentState: () => this.agent.state,
764
- getSessionId: () => this.sessionManager.getSessionId(),
765
- conversationCompactor: this.conversationCompactor,
766
- autoCompactionMonitor: this.autoCompactionMonitor,
767
- sessionContext: this.sessionContext,
768
- },
769
- callbacks: {
770
- showInfo: (msg) => this.notificationView.showInfo(msg),
771
- refreshFooterHint: () => this.refreshFooterHint(),
772
- setContextWarningLevel: (level) => {
773
- this.footerHintsController.setContextWarningLevel(level);
774
- },
775
- },
776
- });
777
- const registry = buildTuiCommandRegistry({
778
- cwd: process.cwd(),
779
- registryOptions: buildTuiCommandRegistryOptions({
780
- getRunCommandView: () => this.getRunCommandView(),
781
- getToolStatusView: () => this.getToolStatusView(),
782
- sessionView: this.sessionView,
783
- getClearController: () => this.getClearController(),
784
- getDiagnosticsView: () => this.getDiagnosticsView(),
785
- planController: this.planController,
786
- gitView: this.gitView,
787
- backgroundTasksController: this.backgroundTasksController,
788
- compactionController: this.compactionController,
789
- getCustomCommandsController: () => this.getCustomCommandsController(),
790
- getBranchController: () => this.getBranchController(),
791
- oauthFlowController: this.oauthFlowController,
792
- approvalService: this.approvalService,
793
- notificationView: this.notificationView,
794
- chatContainer: this.chatContainer,
795
- ui: this.ui,
796
- uiStateController: this.uiStateController,
797
- getImportExportView: () => this.getImportExportView(),
798
- getReportSelectorView: () => this.getReportSelectorView(),
799
- getFeedbackView: () => this.getFeedbackView(),
800
- getAboutView: () => this.getAboutView(),
801
- getInfoView: () => this.getInfoView(),
802
- getUpdateView: () => this.getUpdateView(),
803
- getChangelogView: () => this.getChangelogView(),
804
- getHotkeysView: () => this.getHotkeysView(),
805
- getConfigView: () => this.getConfigView(),
806
- getCostView: () => this.getCostView(),
807
- getQuotaView: () => this.getQuotaView(),
808
- getTelemetryView: () => this.getTelemetryView(),
809
- getTrainingView: () => this.getTrainingView(),
810
- getOllamaView: () => this.getOllamaView(),
811
- getThinkingSelectorView: () => this.getThinkingSelectorView(),
812
- getModelSelectorView: () => this.getModelSelectorView(),
813
- getThemeSelectorView: () => this.getThemeSelectorView(),
814
- getLspView: () => this.getLspView(),
815
- getFileSearchView: () => this.getFileSearchView(),
816
- getQueuePanelController: () => this.getQueuePanelController(),
817
- getMessages: () => this.agent.state.messages,
818
- createCommandContext: (ctx) => this.createCommandContext(ctx),
819
- handleReviewCommand: (context) => this.handleReviewCommand(context),
820
- handleHistoryCommand: (context) => this.historyController.handleHistoryCommand(context),
821
- handleToolHistoryCommand: (context) => this.historyController.handleToolHistoryCommand(context),
822
- handleSkillsCommand: (context) => this.skillsController.handleSkillsCommand(context),
823
- handleEnhancedUndoCommand: (context) => this.delegatingHandlers.handleEnhancedUndoCommand(context),
824
- handleFooterCommand: (context) => this.handleFooterCommand(context),
825
- handleCompactToolsCommand: (rawInput) => this.handleCompactToolsCommand(rawInput),
826
- handleSteerCommand: (context) => this.handleSteerCommand(context),
827
- handleStatsCommand: (context) => this.handleStatsCommand(context),
828
- handleNewChatCommand: (context) => this.sessionStateController.handleNewChatCommand(context),
829
- handleTreeCommand: (_context) => this.getTreeSelectorView().show(),
830
- handleMcpCommand: (context) => this.delegatingHandlers.handleMcpCommand(context),
831
- handleComposerCommand: (context) => this.delegatingHandlers.handleComposerCommand(context),
832
- handleContextCommand: (context) => this.handleContextCommand(context),
833
- handleFrameworkCommand: (context) => this.delegatingHandlers.handleFrameworkCommand(context),
834
- handleGuardianCommand: (context) => this.delegatingHandlers.handleGuardianCommand(context),
835
- handleWorkflowCommand: (context) => this.delegatingHandlers.handleWorkflowCommand(context),
836
- handleChangesCommand: (context) => this.delegatingHandlers.handleChangesCommand(context),
837
- handleCheckpointCommand: (context) => this.delegatingHandlers.handleCheckpointCommand(context),
838
- handleMemoryCommand: (context) => this.delegatingHandlers.handleMemoryCommand(context),
839
- handleModeCommand: (context) => this.delegatingHandlers.handleModeCommand(context),
840
- commandSuite: {
841
- getUiState: () => ({
842
- ...this.uiStateController.getState(),
843
- compactTools: this.toolOutputView?.isCompact() ?? false,
844
- }),
845
- getAuthState: () => this.getActualAuthState(),
846
- handleSessionRecoverCommand: (context) => this.sessionStateController.handleSessionRecoverCommand(context),
847
- handleSessionCleanupCommand: (context) => {
848
- const result = this.sessionManager.pruneSessions();
849
- if (result.removed === 0) {
850
- context.showInfo("No sessions to prune.");
851
- return;
852
- }
853
- context.showInfo(`Pruned ${result.removed} session(s).${result.errors > 0 ? ` ${result.errors} error(s).` : ""}`);
854
- },
855
- handleSourcesCommand: (context) => this.delegatingHandlers.handleSourcesCommand(context),
856
- handlePerfCommand: () => this.showPerfReport(),
857
- handleAuthSourceOfTruthCommand: (argumentText, showError, showInfo) => this.oauthFlowController.handleSourceOfTruthPolicyCommand(argumentText, showError, showInfo),
858
- },
859
- refreshFooterHint: () => this.refreshFooterHint(),
860
- onQuit: async () => {
861
- await this.stop();
862
- process.exit(0);
863
- },
864
- }),
865
- executePromptTemplate: (promptName, userArgumentText, context) => {
866
- const combined = [promptName, userArgumentText]
867
- .filter(Boolean)
868
- .join(" ");
869
- const syntheticContext = {
870
- ...context,
871
- argumentText: combined,
872
- };
873
- this.getCustomCommandsController().handlePromptsCommand(syntheticContext);
874
- },
875
- logDebug: (message, meta) => logger.debug(message, meta),
876
- });
877
- const hookRegistry = this.hookUiController.buildHookCommandEntries(registry.commands);
878
- if (hookRegistry.commands.length > 0) {
879
- registry.entries.push(...hookRegistry.entries);
880
- registry.commands.push(...hookRegistry.commands);
881
- }
882
- this.commandEntries = registry.entries;
883
- this.slashCommands = registry.commands;
884
- this.slashCommandMatcher = new SlashCommandMatcher(this.slashCommands);
885
- this.slashHintController = createSlashHintController({
886
- deps: {
887
- slashHintBar: this.slashHintBar,
888
- slashCommandMatcher: this.slashCommandMatcher,
889
- slashCycleState: this.slashCycleState,
890
- getSlashCommands: () => this.slashCommands,
891
- getEditorText: () => this.editor.getText(),
892
- setEditorText: (text) => this.editor.setText(text),
893
- isShowingAutocomplete: () => this.editor.isShowingAutocomplete(),
894
- },
895
- callbacks: {
896
- persistUiState: (extra) => this.persistUiState(extra),
897
- requestRender: () => {
898
- // Slash hint updates can change editorContainer height (0 ↔ 1–2 lines).
899
- // Keep the scroll viewport sized so we never spill into scrollback.
900
- this.viewportController.markEditorDirty();
901
- this.updateScrollViewport({ fast: true });
902
- this.ui.requestRender();
903
- },
904
- },
905
- initialRecentCommands: this.recentCommands,
906
- initialFavoriteCommands: this.favoriteCommands,
907
- });
908
- const autocompleteProvider = new SmartAutocompleteProvider(this.slashCommands, process.cwd());
909
- this.defaultAutocompleteProvider = autocompleteProvider;
910
- this.editor.setAutocompleteProvider(autocompleteProvider);
911
- // Keep the chat viewport within the terminal viewport. We recompute on
912
- // editor changes (including paste/history/backspace) so wrapping changes
913
- // don't push the UI into scrollback for a frame.
914
- const previousOnChange = this.editor.onChange;
915
- this.editor.onChange = (text) => {
916
- previousOnChange?.(text);
917
- this.viewportController.markEditorDirty();
918
- this.updateScrollViewport({ fast: true });
919
- };
920
- new EditorView({
921
- editor: this.editor,
922
- getCommandEntries: () => this.commandEntries,
923
- onFirstInput: () => this.dismissWelcomeAnimation(),
924
- onCommandExecuted: (name) => this.slashHintController.recordCommandUsage(name),
925
- onSubmit: (text) => {
926
- if (this.isAgentRunning) {
927
- void this.handleSteerSubmit(text);
928
- return;
929
- }
930
- void this.inputController.handleTextSubmit(text);
931
- },
932
- onFollowUp: (text) => {
933
- void this.handleFollowUpSubmit(text);
934
- },
935
- shouldFollowUp: () => this.isAgentRunning,
936
- canSubmitEmpty: () => this.attachmentController.hasPendingAttachments(),
937
- shouldInterrupt: () => this.isAgentRunning || this.interruptController.isArmed(),
938
- onInterrupt: () => this.inputController.handleInterruptRequest(),
939
- onKeepPartial: () => this.inputController.handleKeepPartialRequest(),
940
- onCtrlC: () => {
941
- void this.handleCtrlC();
942
- },
943
- onCtrlD: () => {
944
- void this.inputController.handleCtrlDExit();
945
- },
946
- showCommandPalette: () => this.getCommandPaletteView().showCommandPalette(),
947
- showFileSearch: () => this.getFileSearchView().showFileSearch(),
948
- onEditLastQueuedFollowUp: () => this.editLastQueuedFollowUp(),
949
- });
950
- // Set up MCP and agent profile event handlers for notifications
951
- this.mcpEventsController = createMcpEventsController({
952
- notificationView: this.notificationView,
953
- refreshFooterHint: () => this.refreshFooterHint(),
954
- });
955
- }
956
- async ensureContextBudgetBeforePrompt() {
957
- await this.compactionController.ensureContextBudgetBeforePrompt();
958
- }
959
- async init() {
960
- if (this.isInitialized)
961
- return;
962
- await this.detectAndApplyTerminalTheme();
963
- this.runConnectivityProbe().catch((error) => {
964
- const msg = error instanceof Error
965
- ? error.message
966
- : "Model connectivity probe failed.";
967
- this.notificationView.showError(msg);
968
- });
969
- // Setup UI layout
970
- this.ui.addChild(this.headerContainer);
971
- if (this.zenMode) {
972
- this.footer.setMode("solo");
973
- }
974
- else {
975
- this.renderHeader();
976
- }
977
- // Show welcome animation initially (can be disabled in minimal mode)
978
- if (!this.isMinimalMode() && !this.zenMode) {
979
- const onboardingState = getProjectOnboardingState(process.cwd());
980
- this.welcomeAnimation = new WelcomeAnimation(() => this.ui.requestRender(), { animate: !this.shouldDisableAnimations() });
981
- this.welcomeAnimation.setProjectOnboarding(onboardingState);
982
- if (onboardingState.shouldShow) {
983
- markProjectOnboardingSeen(process.cwd());
984
- }
985
- this.chatContainer.addChild(this.welcomeAnimation);
986
- }
987
- this.ui.addChild(this.startupContainer);
988
- // Use scrollContainer instead of chatContainer directly for scrolling support
989
- this.ui.addChild(this.scrollContainer);
990
- this.ui.addChild(this.statusContainer);
991
- // Disable TUI's auto-clipping since ScrollContainer handles viewport
992
- this.ui.setAutoClip(false);
993
- // Set initial viewport height
994
- this.updateScrollViewport();
995
- this.ui.addChild(new Spacer(1));
996
- this.ui.addChild(this.editorContainer); // Use container that can hold editor or selector
997
- this.refreshFooterHint();
998
- this.ui.addChild(this.footer);
999
- this.ui.setFocus(this.editor);
1000
- this.renderStartupAnnouncementsBlock();
1001
- this.lastKeybindingIssueSummary = summarizeKeybindingConfigIssues(inspectKeybindingConfig());
1002
- startTuiKeybindingWatcher({
1003
- onReload: (report) => this.handleKeybindingConfigReload(report),
1004
- });
1005
- this.ui.start();
1006
- this.isInitialized = true;
1007
- }
1008
- getImportExportView() {
1009
- this.importExportView ??= new ImportExportView({
1010
- agent: this.agent,
1011
- sessionManager: this.sessionManager,
1012
- chatContainer: this.chatContainer,
1013
- ui: this.ui,
1014
- showInfoMessage: (message) => this.notificationView.showInfo(message),
1015
- applyLoadedSessionContext: () => this.applyLoadedSessionContext(),
1016
- recordShareArtifact: (filePath) => this.sessionContext.recordShareArtifact(filePath),
1017
- loadImportedSession: (sessionFile) => this.loadImportedSession(sessionFile),
1018
- });
1019
- return this.importExportView;
1020
- }
1021
- getRunCommandView() {
1022
- this.runCommandView ??= new RunCommandView({
1023
- chatContainer: this.chatContainer,
1024
- ui: this.ui,
1025
- showInfoMessage: (message) => this.notificationView.showInfo(message),
1026
- });
1027
- return this.runCommandView;
1028
- }
1029
- getToolStatusView() {
1030
- this.toolStatusView ??= new ToolStatusView({
1031
- chatContainer: this.chatContainer,
1032
- ui: this.ui,
1033
- getTools: () => this.agent.state.tools,
1034
- showInfoMessage: (message) => this.notificationView.showInfo(message),
1035
- });
1036
- return this.toolStatusView;
1037
- }
1038
- getDiagnosticsView() {
1039
- this.diagnosticsView ??= createDiagnosticsView({
1040
- agent: this.agent,
1041
- sessionManager: this.sessionManager,
1042
- telemetryStatus: this.telemetryStatus,
1043
- trainingStatus: this.trainingStatus,
1044
- version: this.version,
1045
- explicitApiKey: this.explicitApiKey,
1046
- chatContainer: this.chatContainer,
1047
- ui: this.ui,
1048
- getCurrentModelMetadata: () => this.currentModelMetadata,
1049
- getPendingTools: () => this.pendingTools,
1050
- gitView: this.gitView,
1051
- todoStorePath: getTodoStorePath(),
1052
- getApprovalMode: () => this.approvalService.getMode(),
1053
- getAlertCount: () => this.footer.getUnseenAlertCount(),
1054
- });
1055
- return this.diagnosticsView;
1056
- }
1057
- getBashModeView() {
1058
- this.bashModeView ??= new BashModeView({
1059
- chatContainer: this.chatContainer,
1060
- ui: this.ui,
1061
- showInfoMessage: (message) => this.notificationView.showInfo(message),
1062
- onStateChange: () => this.refreshFooterHint(),
1063
- editor: this.editor,
1064
- defaultAutocomplete: this.defaultAutocompleteProvider,
1065
- });
1066
- return this.bashModeView;
1067
- }
1068
- getFeedbackView() {
1069
- this.feedbackView ??= new FeedbackView({
1070
- agent: this.agent,
1071
- sessionManager: this.sessionManager,
1072
- chatContainer: this.chatContainer,
1073
- ui: this.ui,
1074
- gitView: this.gitView,
1075
- version: this.version,
1076
- getApprovalMode: () => this.approvalService.getMode(),
1077
- });
1078
- return this.feedbackView;
1079
- }
1080
- getAboutView() {
1081
- this.aboutView ??= new AboutView({
1082
- agent: this.agent,
1083
- sessionManager: this.sessionManager,
1084
- gitView: this.gitView,
1085
- chatContainer: this.chatContainer,
1086
- ui: this.ui,
1087
- version: this.version,
1088
- telemetryStatus: () => this.miscHandlers.describeTelemetryStatus(),
1089
- otelStatus: () => getOpenTelemetryStatus(),
1090
- getApprovalMode: () => this.approvalService.getMode(),
1091
- });
1092
- return this.aboutView;
1093
- }
1094
- getChangelogView() {
1095
- this.changelogView ??= new ChangelogView({
1096
- chatContainer: this.chatContainer,
1097
- ui: this.ui,
1098
- showError: (message) => this.notificationView.showError(message),
1099
- });
1100
- return this.changelogView;
1101
- }
1102
- getHotkeysView() {
1103
- this.hotkeysView ??= new HotkeysView({
1104
- chatContainer: this.chatContainer,
1105
- ui: this.ui,
1106
- });
1107
- return this.hotkeysView;
1108
- }
1109
- getInfoView() {
1110
- this.infoView ??= new InfoView({
1111
- chatContainer: this.chatContainer,
1112
- ui: this.ui,
1113
- getSlashCommands: () => this.slashCommands,
1114
- isInteractive: () => this.terminalCapabilities.isTTY,
1115
- getRecentCommands: () => this.recentCommands,
1116
- getFavoriteCommands: () => this.favoriteCommands,
1117
- });
1118
- return this.infoView;
1119
- }
1120
- getThinkingSelectorView() {
1121
- this.thinkingSelectorView ??= new ThinkingSelectorView({
1122
- agent: this.agent,
1123
- sessionManager: this.sessionManager,
1124
- modalManager: this.modalManager,
1125
- ui: this.ui,
1126
- showInfoMessage: (message) => this.notificationView.showInfo(message),
1127
- });
1128
- return this.thinkingSelectorView;
1129
- }
1130
- getThemeSelectorView() {
1131
- this.themeSelectorView ??= new ThemeSelectorView({
1132
- currentTheme: () => getCurrentThemeName(),
1133
- modalManager: this.modalManager,
1134
- ui: this.ui,
1135
- showInfoMessage: (message) => this.notificationView.showInfo(message),
1136
- onThemeChange: () => this.ui.requestRender(),
1137
- });
1138
- return this.themeSelectorView;
1139
- }
1140
- getModelSelectorView() {
1141
- this.modelSelectorView ??= new ModelSelectorView({
1142
- agent: this.agent,
1143
- sessionManager: this.sessionManager,
1144
- modalManager: this.modalManager,
1145
- ui: this.ui,
1146
- showInfoMessage: (message) => this.notificationView.showInfo(message),
1147
- modelScope: this.modelScope,
1148
- });
1149
- return this.modelSelectorView;
1150
- }
1151
- getReportSelectorView() {
1152
- this.reportSelectorView ??= new ReportSelectorView({
1153
- modalManager: this.modalManager,
1154
- ui: this.ui,
1155
- onSelect: (type) => {
1156
- if (type === "bug") {
1157
- this.getFeedbackView().handleBugCommand();
1158
- }
1159
- else {
1160
- this.getFeedbackView().handleFeedbackCommand();
1161
- }
1162
- },
1163
- });
1164
- return this.reportSelectorView;
1165
- }
1166
- getUpdateView() {
1167
- this.updateView ??= new UpdateView({
1168
- currentVersion: this.version,
1169
- chatContainer: this.chatContainer,
1170
- ui: this.ui,
1171
- showError: (message) => this.notificationView.showError(message),
1172
- });
1173
- return this.updateView;
1174
- }
1175
- getConfigView() {
1176
- this.configView ??= new ConfigView({
1177
- chatContainer: this.chatContainer,
1178
- ui: this.ui,
1179
- showError: (message) => this.notificationView.showError(message),
1180
- showInfo: (message) => this.notificationView.showInfo(message),
1181
- });
1182
- return this.configView;
1183
- }
1184
- getCostView() {
1185
- this.costView ??= new CostView({
1186
- chatContainer: this.chatContainer,
1187
- ui: this.ui,
1188
- showInfo: (message) => this.notificationView.showInfo(message),
1189
- showError: (message) => this.notificationView.showError(message),
1190
- });
1191
- return this.costView;
1192
- }
1193
- getQuotaView() {
1194
- this.quotaView ??= new QuotaView({
1195
- chatContainer: this.chatContainer,
1196
- ui: this.ui,
1197
- showInfo: (message) => this.notificationView.showInfo(message),
1198
- showError: (message) => this.notificationView.showError(message),
1199
- getSessionTokenUsage: () => {
1200
- const stats = calculateFooterStats(this.agent.state);
1201
- return stats.totalInput + stats.totalOutput;
1202
- },
1203
- });
1204
- return this.quotaView;
1205
- }
1206
- getTelemetryView() {
1207
- this.telemetryView ??= new TelemetryView({
1208
- chatContainer: this.chatContainer,
1209
- ui: this.ui,
1210
- showInfo: (message) => this.notificationView.showInfo(message),
1211
- showError: (message) => this.notificationView.showError(message),
1212
- onStatusChanged: (status) => {
1213
- this.telemetryStatus = status;
1214
- this.diagnosticsView?.setTelemetryStatus(status);
1215
- },
1216
- });
1217
- return this.telemetryView;
1218
- }
1219
- getTrainingView() {
1220
- this.trainingView ??= new TrainingView({
1221
- chatContainer: this.chatContainer,
1222
- ui: this.ui,
1223
- showInfo: (message) => this.notificationView.showInfo(message),
1224
- showError: (message) => this.notificationView.showError(message),
1225
- onStatusChanged: (status) => {
1226
- this.trainingStatus = status;
1227
- this.diagnosticsView?.setTrainingStatus(status);
1228
- },
1229
- });
1230
- return this.trainingView;
1231
- }
1232
- getOllamaView() {
1233
- this.ollamaView ??= new OllamaView({
1234
- chatContainer: this.chatContainer,
1235
- ui: this.ui,
1236
- showInfoMessage: (message) => this.notificationView.showInfo(message),
1237
- showErrorMessage: (message) => this.notificationView.showError(message),
1238
- getRegisteredModels: () => getRegisteredModels(),
1239
- onUseModel: (model) => {
1240
- this.agent.setModel(model);
1241
- this.sessionManager.saveModelChange(`${model.provider}/${model.id}`, toSessionModelMetadata(model));
1242
- this.notificationView.showToast(`Switched to ${model.id}`, "success");
1243
- this.ui.requestRender();
1244
- },
1245
- });
1246
- return this.ollamaView;
1247
- }
1248
- getLspView() {
1249
- this.lspView ??= new LspView({
1250
- chatContainer: this.chatContainer,
1251
- ui: this.ui,
1252
- showInfo: (message) => this.notificationView.showInfo(message),
1253
- showError: (message) => this.notificationView.showError(message),
1254
- });
1255
- return this.lspView;
1256
- }
1257
- getFileSearchView() {
1258
- this.fileSearchView ??= new FileSearchView({
1259
- editor: this.editor,
1260
- modalManager: this.modalManager,
1261
- chatContainer: this.chatContainer,
1262
- ui: this.ui,
1263
- showInfoMessage: (message) => this.notificationView.showInfo(message),
1264
- });
1265
- return this.fileSearchView;
1266
- }
1267
- getCommandPaletteView() {
1268
- this.commandPaletteView ??= new CommandPaletteView({
1269
- editor: this.editor,
1270
- modalManager: this.modalManager,
1271
- ui: this.ui,
1272
- getCommands: () => this.slashCommands,
1273
- getRecentCommands: () => this.slashHintController?.getRecentCommands() ?? this.recentCommands,
1274
- getFavoriteCommands: () => this.slashHintController?.getFavoriteCommands() ??
1275
- this.favoriteCommands,
1276
- onToggleFavorite: (name) => this.slashHintController?.toggleFavoriteCommand(name),
1277
- });
1278
- return this.commandPaletteView;
1279
- }
1280
- getUserMessageSelectorView() {
1281
- this.userMessageSelectorView ??= new UserMessageSelectorView({
1282
- agent: this.agent,
1283
- sessionManager: this.sessionManager,
1284
- editor: this.editor,
1285
- modalManager: this.modalManager,
1286
- ui: this.ui,
1287
- notificationView: this.notificationView,
1288
- onBranchCreated: () => {
1289
- // Complete UI cleanup after branching (same as resetConversation)
1290
- this.sessionContext.resetArtifacts();
1291
- this.toolOutputView.clearTrackedComponents();
1292
- this.chatContainer.clear();
1293
- this.scrollContainer.clearHistory();
1294
- this.startupContainer.clear();
1295
- this.planView.syncHintWithStore();
1296
- this.footerHintsController.planHint = null;
1297
- this.footer.updateState(this.agent.state);
1298
- this.refreshFooterHint();
1299
- this.renderInitialMessages(this.agent.state);
1300
- this.ui.requestRender();
1301
- },
1302
- });
1303
- return this.userMessageSelectorView;
1304
- }
1305
- getTreeSelectorView() {
1306
- this.treeSelectorView ??= new TreeSelectorView({
1307
- agent: this.agent,
1308
- sessionManager: this.sessionManager,
1309
- editor: this.editor,
1310
- modalManager: this.modalManager,
1311
- ui: this.ui,
1312
- notificationView: this.notificationView,
1313
- onNavigated: () => {
1314
- this.sessionContext.resetArtifacts();
1315
- this.toolOutputView.clearTrackedComponents();
1316
- this.chatContainer.clear();
1317
- this.scrollContainer.clearHistory();
1318
- this.startupContainer.clear();
1319
- this.planView.syncHintWithStore();
1320
- this.footerHintsController.planHint = null;
1321
- this.footer.updateState(this.agent.state);
1322
- this.refreshFooterHint();
1323
- this.renderInitialMessages(this.agent.state);
1324
- this.ui.requestRender();
1325
- },
1326
- });
1327
- return this.treeSelectorView;
1328
- }
1329
- getQueueModeSelectorView() {
1330
- this.queueModeSelectorView ??= new QueueModeSelectorView({
1331
- ui: this.ui,
1332
- modalManager: this.modalManager,
1333
- notificationView: this.notificationView,
1334
- onModeSelected: (kind, mode) => this.queueController.setMode(kind, mode),
1335
- });
1336
- return this.queueModeSelectorView;
1337
- }
1338
- getQueuePanelController() {
1339
- if (!this.queueController.hasQueue()) {
1340
- return null;
1341
- }
1342
- this.queuePanelController ??= new QueuePanelController({
1343
- queueController: this.queueController,
1344
- modalManager: this.modalManager,
1345
- ui: this.ui,
1346
- notificationView: this.notificationView,
1347
- queueModeSelectorView: this.getQueueModeSelectorView(),
1348
- chatContainer: this.chatContainer,
1349
- });
1350
- return this.queuePanelController;
1351
- }
1352
- getBranchController() {
1353
- this.branchController ??= createBranchController({
1354
- callbacks: {
1355
- isAgentRunning: () => this.isAgentRunning,
1356
- getMessages: () => this.agent.state.messages ?? [],
1357
- showSelector: () => this.getUserMessageSelectorView().show(),
1358
- createBranchedSession: (count) => this.sessionManager.createBranchedSession(this.agent.state, count),
1359
- setSessionFile: (path) => this.sessionManager.setSessionFile(path),
1360
- resetConversation: (messages, seed, notification) => this.resetConversation(messages, seed, notification, {
1361
- preserveSession: true,
1362
- }),
1363
- addContent: (text) => {
1364
- this.chatContainer.addChild(new Spacer(1));
1365
- this.chatContainer.addChild(new Text(text, 1, 0));
1366
- },
1367
- requestRender: () => this.ui.requestRender(),
1368
- },
1369
- });
1370
- return this.branchController;
1371
- }
1372
- getClearController() {
1373
- this.clearController ??= createClearController({
1374
- callbacks: {
1375
- abortAndWait: async () => {
1376
- this.agent.abort();
1377
- await this.agent.waitForIdle();
1378
- },
1379
- setAgentRunning: (running) => {
1380
- this.isAgentRunning = running;
1381
- },
1382
- cancelQueuedPrompts: () => this.queueController.cancelAll({ silent: true }),
1383
- stopLoader: () => this.loaderView.stop(),
1384
- clearStatusContainer: () => this.statusContainer.clear(),
1385
- resetAgent: () => this.agent.reset(),
1386
- resetSession: () => this.sessionManager.reset(),
1387
- resetArtifacts: () => this.sessionContext.resetArtifacts(),
1388
- clearActiveSkills: () => this.skillsController.clearActiveSkills(),
1389
- clearToolTracking: () => this.toolOutputView.clearTrackedComponents(),
1390
- clearChatContainer: () => this.chatContainer.clear(),
1391
- clearScrollHistory: () => this.scrollContainer.clearHistory(),
1392
- clearStartupContainer: () => this.startupContainer.clear(),
1393
- syncPlanHint: () => this.planView.syncHintWithStore(),
1394
- setPlanHint: (hint) => {
1395
- this.footerHintsController.planHint = hint;
1396
- },
1397
- clearEditor: () => this.editor.setText(""),
1398
- clearPendingTools: () => this.pendingTools.clear(),
1399
- clearInterruptState: () => this.interruptController.clear(),
1400
- renderInitialMessages: (state) => this.renderInitialMessages(state),
1401
- getAgentState: () => this.agent.state,
1402
- updateFooterState: (state) => this.footer.updateState(state),
1403
- refreshFooterHint: () => this.refreshFooterHint(),
1404
- runSessionEndHooks: (reason) => applySessionEndHooks({
1405
- agent: this.agent,
1406
- sessionManager: this.sessionManager,
1407
- cwd: process.cwd(),
1408
- reason,
1409
- }),
1410
- runSessionStartHooks: (source) => applySessionStartHooks({
1411
- agent: this.agent,
1412
- sessionManager: this.sessionManager,
1413
- cwd: process.cwd(),
1414
- source,
1415
- }),
1416
- showSuccess: (msg) => this.notificationView.showToast(msg, "success"),
1417
- showError: (msg) => {
1418
- this.chatContainer.addChild(new Spacer(1));
1419
- this.chatContainer.addChild(new Text(msg, 1, 1));
1420
- },
1421
- requestRender: () => this.ui.requestRender(),
1422
- },
1423
- });
1424
- return this.clearController;
1425
- }
1426
- getCustomCommandsController() {
1427
- this.customCommandsController ??= createCustomCommandsController({
1428
- cwd: process.cwd(),
1429
- callbacks: {
1430
- addContent: (text) => {
1431
- this.chatContainer.addChild(new Spacer(1));
1432
- this.chatContainer.addChild(new Text(text, 1, 0));
1433
- },
1434
- setEditorText: (text) => this.editor.setText(text),
1435
- showToast: (msg, type) => this.notificationView.showToast(msg, type),
1436
- requestRender: () => this.ui.requestRender(),
1437
- },
1438
- });
1439
- return this.customCommandsController;
1440
- }
1441
- async handleEvent(event, state) {
1442
- this.perfCollector.handleAgentEvent(event);
1443
- await this.agentEventBridge.handleEvent(event, state);
1444
- this.queueController.syncFromAgent();
1445
- }
1446
- renderInitialMessages(state) {
1447
- this.sessionStateController.renderInitialMessages(state);
1448
- }
1449
- renderConversationView() {
1450
- this.sessionStateController.renderConversationView();
1451
- }
1452
- async getUserInput() {
1453
- return this.inputController.getUserInput();
1454
- }
1455
- setInterruptCallback(callback) {
1456
- this.inputController.setInterruptCallback(callback);
1457
- }
1458
- async handleCtrlC() {
1459
- const bashModeView = this.bashModeView;
1460
- if (bashModeView?.isCommandRunning()) {
1461
- if (bashModeView.abortCurrentCommand()) {
1462
- this.runController.recordCtrlC();
1463
- return;
1464
- }
1465
- }
1466
- await this.runController.handleCtrlC();
1467
- }
1468
- renderHeader() {
1469
- this.headerContainer.clear();
1470
- this.viewportController.markHeaderDirty();
1471
- // The full instruction panel is helpful but very tall; when it pushes the UI
1472
- // into scrollback it becomes a major source of flicker (terminals can't update
1473
- // scrollback, so we end up full-redrawing). Default to a compact header unless
1474
- // we have enough vertical room.
1475
- const rows = process.stdout.rows ?? 24;
1476
- const showFullPanel = rows >= 40;
1477
- if (showFullPanel) {
1478
- this.headerContainer.addChild(new Spacer(1));
1479
- this.headerContainer.addChild(new InstructionPanelComponent(this.version));
1480
- this.headerContainer.addChild(new Spacer(1));
1481
- return;
1482
- }
1483
- const title = chalk.bold(`maestro v${this.version}`) + chalk.gray(" · EvalOps");
1484
- const hintParts = [
1485
- `${chalk.gray("esc")} interrupt`,
1486
- `${chalk.gray("ctrl+c")} clear`,
1487
- `${chalk.gray(getTuiKeybindingLabel("command-palette").toLowerCase())} palette`,
1488
- `${chalk.gray("/help")} commands`,
1489
- ];
1490
- const hints = hintParts.join(chalk.gray(" │ "));
1491
- this.headerContainer.addChild(new Text(`${title}\n${hints}`, 1, 0));
1492
- this.headerContainer.addChild(new Spacer(1));
1493
- }
1494
- handleContextCommand(_context) {
1495
- const contextView = new ContextView({
1496
- state: this.agent.state,
1497
- onClose: () => this.modalManager.pop(),
1498
- });
1499
- this.modalManager.push(contextView);
1500
- }
1501
- updateQueuedInputPreview() {
1502
- const preview = this.queueController.buildInlinePreview();
1503
- this.queuedInputPreview.setText(preview ? chalk.dim(preview) : "");
1504
- this.viewportController.markEditorDirty();
1505
- this.updateScrollViewport();
1506
- }
1507
- editLastQueuedFollowUp() {
1508
- if (this.queueController.getQueuedFollowUpCount() === 0) {
1509
- return false;
1510
- }
1511
- const currentDraft = this.captureEditedQueuedFollowUpDraft();
1512
- void this.rotateQueuedFollowUpForEditing(currentDraft);
1513
- return true;
1514
- }
1515
- restoreQueuedPromptBatchToEditor(entries) {
1516
- if (entries.length === 0) {
1517
- return;
1518
- }
1519
- this.editingQueuedFollowUp =
1520
- entries.length === 1 && entries[0]?.kind === "followUp"
1521
- ? entries[0]
1522
- : null;
1523
- this.attachmentController.clearPendingAttachments();
1524
- if (entries.some((entry) => (entry.attachments?.length ?? 0) > 0)) {
1525
- this.attachmentController.restoreQueuedAttachments(entries);
1526
- }
1527
- else {
1528
- this.editor.setText(entries.map((entry) => entry.text).join("\n\n"));
1529
- }
1530
- this.ui.requestRender();
1531
- }
1532
- captureCurrentComposerDraftForQueueRestore() {
1533
- const payload = this.attachmentController.snapshotAttachments(this.editor.getText());
1534
- const hasText = payload.text.trim().length > 0;
1535
- const hasAttachments = (payload.attachments?.length ?? 0) > 0;
1536
- if (!hasText && !hasAttachments) {
1537
- return null;
1538
- }
1539
- return {
1540
- id: 0,
1541
- createdAt: Date.now(),
1542
- kind: "prompt",
1543
- text: payload.text,
1544
- attachments: payload.attachments,
1545
- };
1546
- }
1547
- captureEditedQueuedFollowUpDraft() {
1548
- if (!this.editingQueuedFollowUp) {
1549
- return null;
1550
- }
1551
- const payload = this.attachmentController.snapshotAttachments(this.editor.getText());
1552
- const hasText = payload.text.trim().length > 0;
1553
- const hasAttachments = (payload.attachments?.length ?? 0) > 0;
1554
- if (!hasText && !hasAttachments) {
1555
- return null;
1556
- }
1557
- if (payload.text.trimStart().startsWith("/")) {
1558
- return null;
1559
- }
1560
- return {
1561
- ...this.editingQueuedFollowUp,
1562
- text: payload.text,
1563
- attachments: payload.attachments,
1564
- };
1565
- }
1566
- async rotateQueuedFollowUpForEditing(currentDraft) {
1567
- try {
1568
- const restored = await this.queueController.restoreQueuedFollowUpForEditing(currentDraft);
1569
- if (!restored) {
1570
- return;
1571
- }
1572
- this.restoreQueuedPromptBatchToEditor([restored]);
1573
- }
1574
- catch (error) {
1575
- this.showError(error instanceof Error
1576
- ? error.message
1577
- : "Failed to rotate queued follow-up for editing.");
1578
- }
1579
- }
1580
- mergeQueuedPromptBatch(entries) {
1581
- const text = entries
1582
- .map((entry) => entry.text.trim())
1583
- .filter((segment) => segment.length > 0)
1584
- .join("\n\n");
1585
- const attachments = entries.flatMap((entry) => entry.attachments ?? []);
1586
- return {
1587
- text,
1588
- attachments: attachments.length > 0 ? attachments : undefined,
1589
- };
1590
- }
1591
- async handleInterruptedQueue(options) {
1592
- if (!options.keepPartial) {
1593
- const steeringBatch = this.queueController.drainSteeringBatchForInterrupt();
1594
- if (steeringBatch.length > 0) {
1595
- try {
1596
- await this.agent.waitForIdle();
1597
- const payload = this.mergeQueuedPromptBatch(steeringBatch);
1598
- if (payload.text.trim().length > 0 ||
1599
- (payload.attachments?.length ?? 0) > 0) {
1600
- void runUserPromptWithRecovery({
1601
- agent: this.agent,
1602
- sessionManager: this.sessionManager,
1603
- cwd: process.cwd(),
1604
- prompt: payload.text,
1605
- attachmentCount: payload.attachments?.length ?? 0,
1606
- attachmentNames: payload.attachments?.map((attachment) => attachment.fileName),
1607
- execute: () => this.agent.prompt(payload.text, payload.attachments),
1608
- getPostKeepMessages: withMcpPostKeepMessages((preservedMessages) => this.collectActiveSkillMessagesForCompaction(preservedMessages)),
1609
- profileName: this.profileName,
1610
- cliOverrides: this.cliOverrides,
1611
- }).catch((error) => {
1612
- this.restoreQueuedPromptBatchToEditor(steeringBatch);
1613
- const message = error instanceof Error
1614
- ? error.message
1615
- : String(error ?? "unknown");
1616
- this.notificationView.showError(`Failed to submit queued steering: ${message}`);
1617
- });
1618
- }
1619
- this.notificationView.showToast(steeringBatch.length === 1
1620
- ? "Submitting queued steer."
1621
- : `Submitting ${steeringBatch.length} queued steers.`, "info");
1622
- return;
1623
- }
1624
- catch (error) {
1625
- this.restoreQueuedPromptBatchToEditor(steeringBatch);
1626
- const message = error instanceof Error ? error.message : String(error ?? "unknown");
1627
- this.notificationView.showError(`Failed to submit queued steering: ${message}`);
1628
- return;
1629
- }
1630
- }
1631
- }
1632
- const currentDraft = this.captureCurrentComposerDraftForQueueRestore();
1633
- const restored = this.queueController.restoreQueuedPrompts(currentDraft);
1634
- this.restoreQueuedPromptBatchToEditor(restored);
1635
- }
1636
- handleFooterCommand(context) {
1637
- this.uiStateController.handleFooterCommand(context, {
1638
- getToastHistory: (count) => this.footer.getToastHistory(count),
1639
- clearAlerts: () => this.footer.clearAlerts(),
1640
- });
1641
- }
1642
- handleCompactToolsCommand(rawInput) {
1643
- this.toolOutputView.handleCompactToolsCommand(rawInput);
1644
- this.persistUiState();
1645
- }
1646
- handleSteerCommand(context) {
1647
- const text = context.argumentText.trim();
1648
- if (!text) {
1649
- context.showError("Usage: /steer <message>");
1650
- return;
1651
- }
1652
- const wasRunning = this.isAgentRunning;
1653
- if (wasRunning && !this.queueController.canQueueSteering()) {
1654
- context.showError("Steering mode set to one-at-a-time. Use /queue mode steer all to allow multiple steering messages.");
1655
- return;
1656
- }
1657
- if (!wasRunning) {
1658
- void this.inputController.handleTextSubmit(text);
1659
- return;
1660
- }
1661
- void this.agent
1662
- .steer(this.buildQueuedUserMessage({ text }))
1663
- .then(() => {
1664
- this.queueController.syncFromAgent();
1665
- this.notificationView.showToast("Queued steer for the next tool boundary.", "info");
1666
- this.refreshFooterHint();
1667
- })
1668
- .catch((error) => {
1669
- const message = error instanceof Error ? error.message : String(error ?? "unknown");
1670
- context.showError(`Failed to queue steer: ${message}`);
1671
- });
1672
- }
1673
- async handleReviewCommand(_context) {
1674
- if (this.isAgentRunning) {
1675
- this.notificationView.showInfo("Wait for the current run to finish before starting /review.");
1676
- return;
1677
- }
1678
- const reviewContext = this.gitView.getReviewContext();
1679
- if (!reviewContext.ok) {
1680
- this.notificationView.showError(reviewContext.error ?? "Failed to collect git data for review.");
1681
- return;
1682
- }
1683
- const hasDiff = reviewContext.stagedDiff.trim().length > 0 ||
1684
- reviewContext.worktreeDiff.trim().length > 0;
1685
- if (!hasDiff) {
1686
- this.notificationView.showInfo("Working tree clean. Nothing to review.");
1687
- return;
1688
- }
1689
- const prompt = buildReviewPrompt(reviewContext);
1690
- try {
1691
- await runUserPromptWithRecovery({
1692
- agent: this.agent,
1693
- sessionManager: this.sessionManager,
1694
- cwd: process.cwd(),
1695
- prompt,
1696
- execute: () => this.agent.prompt(prompt),
1697
- getPostKeepMessages: withMcpPostKeepMessages((preservedMessages) => this.collectActiveSkillMessagesForCompaction(preservedMessages)),
1698
- profileName: this.profileName,
1699
- cliOverrides: this.cliOverrides,
1700
- });
1701
- }
1702
- catch (error) {
1703
- const message = error instanceof Error ? error.message : String(error ?? "unknown");
1704
- this.notificationView.showError(`/review failed to run: ${message.slice(0, 200)}`);
1705
- }
1706
- }
1707
- // Skills, history rendering, and formatting have been extracted to:
1708
- // - skills-controller.ts
1709
- // - history-controller.ts
1710
- // - utils/text-preview.ts
1711
- async handleStatsCommand(_context) {
1712
- this.getDiagnosticsView().handleStatusCommand();
1713
- const costContext = this.createSyntheticContext("cost", "today");
1714
- this.getCostView().handleCostCommand(costContext);
1715
- }
1716
- clearEditor() {
1717
- this.editor.setText("");
1718
- this.attachmentController.clearPendingAttachments();
1719
- this.editingQueuedFollowUp = null;
1720
- this.ui.requestRender();
1721
- }
1722
- async handleFollowUpSubmit(text) {
1723
- if (this.isAgentRunning && !this.queueController.canQueueFollowUp()) {
1724
- this.notificationView.showInfo("Follow-up mode set to one-at-a-time. Use /queue mode followup all to enable follow-ups while running.");
1725
- return;
1726
- }
1727
- if (this.isAgentRunning) {
1728
- const payload = await this.inputController.prepareQueuedPayload(text);
1729
- if (!payload) {
1730
- return;
1731
- }
1732
- await this.agent.followUp(this.buildQueuedUserMessage(payload));
1733
- this.clearEditor();
1734
- this.queueController.syncFromAgent();
1735
- this.notificationView.showToast("Queued follow-up message.", "info");
1736
- this.refreshFooterHint();
1737
- return;
1738
- }
1739
- const queued = await this.inputController.handleFollowUpSubmit(text);
1740
- if (!queued) {
1741
- return;
1742
- }
1743
- this.clearEditor();
1744
- this.refreshFooterHint();
1745
- }
1746
- async handleSteerSubmit(text) {
1747
- const payload = await this.inputController.prepareQueuedPayload(text);
1748
- if (!payload) {
1749
- return;
1750
- }
1751
- if (this.isAgentRunning && !this.queueController.canQueueSteering()) {
1752
- this.notificationView.showInfo("Steering mode set to one-at-a-time. Use /queue mode steer all to enable multiple steering messages.");
1753
- return;
1754
- }
1755
- if (this.isAgentRunning) {
1756
- await this.agent.steer(this.buildQueuedUserMessage(payload));
1757
- this.clearEditor();
1758
- this.queueController.syncFromAgent();
1759
- this.notificationView.showToast("Queued steer for the next tool boundary.", "info");
1760
- this.refreshFooterHint();
1761
- return;
1762
- }
1763
- this.inputController.submitPreparedPayload(payload);
1764
- }
1765
- buildQueuedUserMessage(payload) {
1766
- return {
1767
- role: "user",
1768
- content: payload.text,
1769
- attachments: payload.attachments?.length
1770
- ? payload.attachments
1771
- : undefined,
1772
- timestamp: Date.now(),
1773
- };
1774
- }
1775
- // consumePendingAttachmentMarkers, handleClipboardImagePaste,
1776
- // restoreQueuedAttachments extracted to attachment-controller.ts
1777
- // updateTerminalTitle, clearTerminalTitle, handleAutoRetryEvent,
1778
- // handleExternalEditor, handleCtrlZ, handleTestVerificationResult,
1779
- // describeTelemetryStatus extracted to misc-handlers.ts
1780
- handleApprovalRequired(request) {
1781
- this.approvalController?.enqueue(request);
1782
- const component = this.pendingTools.get(request.id);
1783
- component?.setPendingStatus(request.actionDescription ?? request.reason ?? "Awaiting approval");
1784
- this.ui.requestRender();
1785
- }
1786
- handleApprovalResolved(request, decision) {
1787
- this.approvalController?.resolve(request, decision);
1788
- const component = this.pendingTools.get(request.id);
1789
- component?.setPendingStatus(null);
1790
- this.ui.requestRender();
1791
- }
1792
- handleToolRetryRequired(request) {
1793
- this.toolRetryController?.enqueue(request);
1794
- const component = this.pendingTools.get(request.toolCallId);
1795
- component?.setPendingStatus(request.summary ?? "Retry required");
1796
- this.ui.requestRender();
1797
- }
1798
- handleToolRetryResolved(request, decision) {
1799
- this.toolRetryController?.resolve(request, decision);
1800
- const component = this.pendingTools.get(request.toolCallId);
1801
- component?.setPendingStatus(null);
1802
- if (decision.action === "abort") {
1803
- this.agent.abort();
1804
- }
1805
- this.ui.requestRender();
1806
- }
1807
- persistUiState(extra) {
1808
- const recentCommands = this.slashHintController?.getRecentCommands() ?? this.recentCommands;
1809
- const favoriteCommands = this.slashHintController?.getFavoriteCommands() ?? this.favoriteCommands;
1810
- saveUiState({
1811
- queueMode: this.queueController.getFollowUpMode(),
1812
- steeringMode: this.queueController.getSteeringMode(),
1813
- followUpMode: this.queueController.getFollowUpMode(),
1814
- compactTools: this.toolOutputView.isCompact(),
1815
- footerMode: this.footerMode,
1816
- reducedMotion: this.reducedMotion,
1817
- cleanMode: this.cleanMode,
1818
- hideThinkingBlocks: this.hideThinkingBlocks,
1819
- recentCommands,
1820
- favoriteCommands: Array.from(favoriteCommands),
1821
- ...extra,
1822
- });
1823
- saveCommandPrefs({
1824
- favorites: Array.from(favoriteCommands),
1825
- recents: recentCommands,
1826
- });
1827
- }
1828
- resetConversation(messages, editorSeed, toastMessage, options) {
1829
- this.sessionStateController.resetConversation(messages, editorSeed, toastMessage, options);
1830
- }
1831
- createCommandContext({ command, rawInput, argumentText, parsedArgs, }) {
1832
- return {
1833
- command,
1834
- rawInput,
1835
- argumentText,
1836
- parsedArgs,
1837
- showInfo: (message) => this.notificationView.showInfo(message),
1838
- showError: (message) => this.notificationView.showError(message),
1839
- renderHelp: () => this.renderCommandHelp(command),
1840
- };
1841
- }
1842
- createSyntheticContext(commandName, argumentText) {
1843
- const command = this.getSlashCommandByName(commandName);
1844
- return {
1845
- command,
1846
- rawInput: `/${commandName}${argumentText ? ` ${argumentText}` : ""}`,
1847
- argumentText,
1848
- showInfo: (message) => this.notificationView.showInfo(message),
1849
- showError: (message) => this.notificationView.showError(message),
1850
- renderHelp: () => this.renderCommandHelp(command),
1851
- };
1852
- }
1853
- getSlashCommandByName(name) {
1854
- return (this.slashCommands.find((command) => command.name.toLowerCase() === name.toLowerCase()) ?? { name });
1855
- }
1856
- renderCommandHelp(command) {
1857
- const help = formatCommandHelp(command);
1858
- this.chatContainer.addChild(new Spacer(1));
1859
- this.chatContainer.addChild(new Text(help, 1, 0));
1860
- this.ui.requestRender();
1861
- }
1862
- pushCommandOutput(text) {
1863
- this.chatContainer.addChild(new Spacer(1));
1864
- this.chatContainer.addChild(new Text(text, 1, 0));
1865
- this.ui.requestRender();
1866
- }
1867
- dismissWelcomeAnimation() {
1868
- if (!this.welcomeAnimation) {
1869
- return;
1870
- }
1871
- this.welcomeAnimation.stop();
1872
- this.chatContainer.removeChild(this.welcomeAnimation);
1873
- this.welcomeAnimation = null;
1874
- }
1875
- shouldDisableAnimations() {
1876
- // Reduced motion is a user preference (and defaults on SSH/tmux).
1877
- // MAESTRO_DISABLE_ANIMATIONS is an explicit hard-disable switch.
1878
- return this.reducedMotion || areAnimationsDisabled();
1879
- }
1880
- showError(errorMessage) {
1881
- this.notificationView.showError(errorMessage);
1882
- this.provideFailureHints(errorMessage);
1883
- }
1884
- showInfo(message) {
1885
- this.notificationView.showInfo(message);
1886
- }
1887
- restoreActiveSkillsAfterCompaction() {
1888
- return this.skillsController.restoreActiveSkillsAfterCompaction();
1889
- }
1890
- collectActiveSkillMessagesForCompaction(preservedMessages) {
1891
- return this.skillsController.collectActiveSkillMessagesForCompaction(preservedMessages);
1892
- }
1893
- collectOrderedCompactionRestorationMessages(preservedMessages) {
1894
- return [
1895
- ...collectPlanMessagesForCompaction(preservedMessages),
1896
- ...collectBackgroundTaskMessagesForCompaction(preservedMessages),
1897
- ...collectMcpMessagesForCompaction(preservedMessages, mcpManager.getStatus().servers),
1898
- ...this.collectActiveSkillMessagesForCompaction(preservedMessages),
1899
- ];
1900
- }
1901
- refreshFooterHint() {
1902
- this.footerHintsController.refresh();
1903
- }
1904
- buildWorkingFooterHint() {
1905
- return this.queueController.buildRunningHint({
1906
- baseHint: this.workingFooterHint,
1907
- canQueueFollowUp: this.canQueueFollowUpWhileRunning(),
1908
- });
1909
- }
1910
- canQueueFollowUpWhileRunning() {
1911
- if (!this.isAgentRunning || !this.queueController.canQueueFollowUp()) {
1912
- return false;
1913
- }
1914
- return canQueueFollowUpShortcut({
1915
- text: this.editor.getText(),
1916
- hasAttachments: this.attachmentController.hasPendingAttachments(),
1917
- });
1918
- }
1919
- handleEditorTyping() {
1920
- this.footer.clearToast();
1921
- this.slashHintController?.refreshSlashHintDebounced();
1922
- }
1923
- extractTextFromAppMessage(message) {
1924
- const rawContent = message.content;
1925
- if (typeof rawContent === "string") {
1926
- return rawContent;
1927
- }
1928
- if (!Array.isArray(rawContent)) {
1929
- return "";
1930
- }
1931
- const textParts = [];
1932
- for (const chunk of rawContent) {
1933
- const typedChunk = chunk;
1934
- const type = typeof typedChunk.type === "string" ? typedChunk.type : undefined;
1935
- if (type === "text" && typeof typedChunk.text === "string") {
1936
- textParts.push(typedChunk.text);
1937
- }
1938
- else if (type === "thinking" &&
1939
- typeof typedChunk.thinking === "string") {
1940
- textParts.push(typedChunk.thinking);
1941
- }
1942
- }
1943
- return textParts.join("\n");
1944
- }
1945
- maybeShowContextWarning(stats) {
1946
- this.footerHintsController.maybeShowContextWarning(stats);
1947
- }
1948
- provideFailureHints(message) {
1949
- const normalized = message.toLowerCase();
1950
- const hints = [];
1951
- if (/(api key|credential|unauthorized|forbidden|token)/.test(normalized)) {
1952
- hints.push("Check credentials with /diag keys");
1953
- }
1954
- if (/(context|token|length|window)/.test(normalized)) {
1955
- hints.push("Use /compact or /share to trim history");
1956
- }
1957
- if (/(tool|bash|edit|read)/.test(normalized)) {
1958
- hints.push("Inspect failures via /tools failures");
1959
- }
1960
- if (!hints.length) {
1961
- return;
1962
- }
1963
- this.notificationView.showInfo(`Hint: ${hints.join(" • ")}`);
1964
- }
1965
- applyLoadedSessionContext() {
1966
- this.sessionStateController.applyLoadedSessionContext();
1967
- }
1968
- loadImportedSession(sessionFile) {
1969
- this.sessionManager.setSessionFile(sessionFile);
1970
- this.applyLoadedSessionContext();
1971
- const loadedMessages = this.sessionManager.loadMessages();
1972
- this.sessionStateController.resetConversation(loadedMessages, undefined, formatLoadedSessionToast({
1973
- id: this.sessionManager.getSessionId(),
1974
- messageCount: loadedMessages.length,
1975
- }), { preserveSession: true, persistMessages: false });
1976
- }
1977
- isMinimalMode() {
1978
- return this.minimalMode;
1979
- }
1980
- showPerfReport() {
1981
- const snap = this.perfCollector.snapshot();
1982
- this.notificationView.showInfo(formatPerfReport(snap));
1983
- }
1984
- async stop() {
1985
- await this.agentEventBridge?.recordSessionClosed({
1986
- closeReason: "MAESTRO_CLOSE_REASON_USER_STOPPED",
1987
- closeMessage: "TUI stopped",
1988
- });
1989
- this.slashHintController?.dispose();
1990
- this.loaderView.stop();
1991
- this.backgroundTasksController.stop();
1992
- stopTuiKeybindingWatcher();
1993
- // Clean up MCP and composer event listeners
1994
- this.mcpEventsController.stop();
1995
- if (this.isInitialized) {
1996
- this.ui.stop();
1997
- this.isInitialized = false;
1998
- }
1999
- this.miscHandlers.clearTerminalTitle();
2000
- // End session recovery tracking and create final backup
2001
- this.sessionRecoveryManager.endSession();
2002
- // Stop test verification service
2003
- this.testVerificationService?.stop();
2004
- this.footer.dispose();
2005
- process.stdout.off("resize", this.resizeHandler);
2006
- }
2007
- async getActualAuthState() {
2008
- return getTuiAuthState(this.agent.state.model?.provider);
2009
- }
2010
- async detectAndApplyTerminalTheme() {
2011
- const auto = process.env.MAESTRO_TUI_AUTO_THEME;
2012
- if (auto === "0" || auto === "false")
2013
- return;
2014
- const detected = await probeTerminalBackground();
2015
- if (!detected)
2016
- return;
2017
- const current = getCurrentThemeName();
2018
- if (current !== "dark" && current !== "light")
2019
- return;
2020
- if (detected === current)
2021
- return;
2022
- const { success } = setTheme(detected);
2023
- if (success) {
2024
- this.ui.requestRender();
2025
- }
2026
- }
2027
- configureRenderThrottle() {
2028
- const envValue = process.env.MAESTRO_TUI_RENDER_INTERVAL_MS;
2029
- let interval = Number.parseInt(envValue ?? "", 10);
2030
- if (!Number.isFinite(interval)) {
2031
- if (process.env.SSH_CONNECTION || process.env.SSH_TTY) {
2032
- interval = SSH_RENDER_INTERVAL_MS;
2033
- }
2034
- else {
2035
- interval = 0;
2036
- }
2037
- }
2038
- this.ui.setMinRenderInterval(Math.max(0, interval));
2039
- }
2040
- refreshTerminalCapabilities() {
2041
- this.terminalCapabilities = {
2042
- isTTY: Boolean(process.stdout.isTTY && process.stdin.isTTY),
2043
- columns: process.stdout.columns ?? 80,
2044
- rows: process.stdout.rows ?? 24,
2045
- colorLevel: chalk.level || 0,
2046
- };
2047
- if (!this.zenMode) {
2048
- this.renderHeader();
2049
- }
2050
- // Update scroll viewport on resize
2051
- this.updateScrollViewport();
2052
- }
2053
- /**
2054
- * Updates the scroll container's viewport height based on terminal size.
2055
- * Called on init and resize.
2056
- */
2057
- updateScrollViewport(options = {}) {
2058
- this.viewportController.updateScrollViewport(options);
2059
- }
2060
- /**
2061
- * Handles scroll keyboard shortcuts.
2062
- * @returns true if the input was handled as a scroll command
2063
- */
2064
- handleScrollInput(data) {
2065
- return this.scrollContainer.handleInput(data);
2066
- }
2067
- /**
2068
- * Scrolls to the bottom of the chat and re-enables sticky scroll.
2069
- */
2070
- scrollToBottom() {
2071
- this.scrollContainer.scrollToBottom();
2072
- this.ui.requestRender();
2073
- }
2074
- /**
2075
- * Scrolls up by one page.
2076
- */
2077
- scrollPageUp() {
2078
- this.scrollContainer.pageUp();
2079
- this.ui.requestRender();
2080
- }
2081
- /**
2082
- * Scrolls down by one page.
2083
- */
2084
- scrollPageDown() {
2085
- this.scrollContainer.pageDown();
2086
- this.ui.requestRender();
2087
- }
2088
- renderStartupAnnouncementsBlock() {
2089
- renderStartupAnnouncements({
2090
- container: this.startupContainer,
2091
- ui: this.ui,
2092
- updateNotice: this.updateNotice,
2093
- startupChangelog: this.startupChangelog,
2094
- startupChangelogSummary: this.startupChangelogSummary,
2095
- modelScope: this.modelScope,
2096
- onLayoutChange: () => {
2097
- this.viewportController.markStartupDirty();
2098
- this.updateScrollViewport();
2099
- },
2100
- });
2101
- }
2102
- handleKeybindingConfigReload(report) {
2103
- const nextIssueSummary = summarizeKeybindingConfigIssues(report);
2104
- if (nextIssueSummary &&
2105
- nextIssueSummary !== this.lastKeybindingIssueSummary) {
2106
- this.notificationView.showToast(nextIssueSummary, "warn");
2107
- }
2108
- else if (!nextIssueSummary && this.lastKeybindingIssueSummary) {
2109
- this.notificationView.showToast("Keyboard shortcuts config reloaded cleanly.", "success");
2110
- }
2111
- this.lastKeybindingIssueSummary = nextIssueSummary;
2112
- this.refreshFooterHint();
2113
- this.renderStartupAnnouncementsBlock();
2114
- this.ui.requestRender();
2115
- }
2116
- async runConnectivityProbe() {
2117
- // Fast, no-network probe: ensure a model is selected and transport is configured.
2118
- const state = this.agent.state;
2119
- if (!state?.model) {
2120
- throw new Error("No default model configured. Use /model to select one.");
2121
- }
2122
- // If transport exposes a light ping, use it without sending user content.
2123
- await this.agent.probeTransport().catch((error) => {
2124
- const message = error instanceof Error
2125
- ? error.message
2126
- : "Model connectivity probe failed. Check API key and network.";
2127
- throw new Error(message);
2128
- });
2129
- }
2130
- }
2131
- //# sourceMappingURL=tui-renderer.js.map