@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 +0,0 @@
1
- {"version":3,"file":"tui-renderer.js","sourceRoot":"","sources":["../../src/cli-tui/tui-renderer.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SlashCommand } from \"@evalops/tui\";\nimport {\n\tContainer,\n\tMarkdown,\n\tProcessTerminal,\n\tScrollContainer,\n\tSpacer,\n\tTUI,\n\tText,\n\tdetectTerminalFeatures,\n} from \"@evalops/tui\";\nimport chalk from \"chalk\";\nimport type {\n\tActionApprovalDecision,\n\tActionApprovalRequest,\n\tActionApprovalService,\n} from \"../agent/action-approval.js\";\nimport type { Agent } from \"../agent/agent.js\";\nimport type {\n\tToolRetryDecision,\n\tToolRetryRequest,\n\tToolRetryService,\n} from \"../agent/tool-retry.js\";\nimport type { AgentEvent, AgentState, AppMessage } from \"../agent/types.js\";\nimport { PATHS } from \"../config/constants.js\";\nimport type { ComposerConfig } from \"../config/index.js\";\nimport type { CleanMode } from \"../conversation/render-model.js\";\nimport { mcpManager } from \"../mcp/index.js\";\nimport { withMcpPostKeepMessages } from \"../mcp/prompt-recovery.js\";\nimport type { RegisteredModel } from \"../models/registry.js\";\nimport { getRegisteredModels } from \"../models/registry.js\";\nimport { getOpenTelemetryStatus } from \"../opentelemetry.js\";\nimport {\n\ttype SessionModelMetadata,\n\ttoSessionModelMetadata,\n} from \"../session/manager.js\";\nimport type { SessionManager } from \"../session/manager.js\";\nimport { getTelemetryStatus } from \"../telemetry.js\";\nimport {\n\tSessionPerfCollector,\n\tformatPerfReport,\n} from \"../telemetry/session-perf.js\";\nimport { getCurrentThemeName, setTheme } from \"../theme/theme.js\";\nimport { getTrainingStatus } from \"../training.js\";\nimport { getTuiAuthState } from \"./auth-state.js\";\n\nimport { AutoCompactionMonitor } from \"../agent/auto-compaction.js\";\nimport {\n\ttype AutoRetryController,\n\tcreateAutoRetryController,\n} from \"../agent/auto-retry.js\";\nimport {\n\tcollectBackgroundTaskMessagesForCompaction,\n\tcollectMcpMessagesForCompaction,\n\tcollectPlanMessagesForCompaction,\n} from \"../agent/compaction-restoration.js\";\nimport { applySessionEndHooks } from \"../agent/session-lifecycle-hooks.js\";\nimport { SessionRecoveryManager } from \"../agent/session-recovery.js\";\nimport {\n\tapplySessionStartHooks,\n\tcollectPersistedSessionStartHookMessages,\n\trunUserPromptWithRecovery,\n} from \"../agent/user-prompt-runtime.js\";\nimport {\n\ttype AutoVerifyService,\n\tregisterTestVerificationHooks,\n} from \"../testing/index.js\";\nimport { createLogger } from \"../utils/logger.js\";\nimport { AboutView } from \"./about-view.js\";\nimport type { AgentEventRouter } from \"./agent-event-router.js\";\nimport type { ApprovalController } from \"./approval/approval-controller.js\";\nimport type { BackgroundTasksController } from \"./background/background-tasks-controller.js\";\nimport { BashModeView } from \"./bash-mode-view.js\";\nimport { ChangelogView } from \"./changelog-view.js\";\nimport { formatCommandHelp } from \"./commands/argument-parser.js\";\nimport type {\n\tCommandEntry,\n\tCommandExecutionContext,\n} from \"./commands/types.js\";\nimport { ConfigView } from \"./config-view.js\";\nimport { ContextView } from \"./context-view.js\";\nimport { CustomEditor } from \"./custom-editor.js\";\nimport { EditorView } from \"./editor-view.js\";\nimport { FeedbackView } from \"./feedback-view.js\";\nimport { FooterComponent } from \"./footer.js\";\nimport { GitView } from \"./git/git-view.js\";\nimport { HotkeysView } from \"./hotkeys-view.js\";\nimport { ImportExportView } from \"./import-view.js\";\nimport { InfoView } from \"./info-view.js\";\nimport { InstructionPanelComponent } from \"./instruction-panel.js\";\nimport type { InterruptController } from \"./interrupt-controller.js\";\nimport {\n\ttype KeybindingConfigReport,\n\tinspectKeybindingConfig,\n\tsummarizeKeybindingConfigIssues,\n} from \"./keybindings-config.js\";\nimport {\n\tstartTuiKeybindingWatcher,\n\tstopTuiKeybindingWatcher,\n} from \"./keybindings-watcher.js\";\nimport { getTuiKeybindingLabel } from \"./keybindings.js\";\nimport type { LoaderView } from \"./loader/loader-view.js\";\nimport { LspView } from \"./lsp-view.js\";\nimport type { MessageView } from \"./message-view.js\";\nimport { NotificationView } from \"./notification-view.js\";\nimport type { OAuthFlowController } from \"./oauth/index.js\";\nimport { OllamaView } from \"./ollama-view.js\";\nimport type { PlanView } from \"./plan-view.js\";\nimport type { PlanController } from \"./plan/plan-controller.js\";\nimport type { PromptPayload, QueuedPrompt } from \"./prompt-queue.js\";\nimport { canQueueFollowUpShortcut } from \"./queue/follow-up-shortcut.js\";\nimport {\n\ttype QueueController,\n\ttype QueueMode,\n\tQueuePanelController,\n} from \"./queue/index.js\";\nimport { RunCommandView } from \"./run/run-command-view.js\";\nimport { RunController } from \"./run/run-controller.js\";\nimport { FileSearchView } from \"./search/file-search-view.js\";\nimport { ModelSelectorView } from \"./selectors/model-selector-view.js\";\nimport { QueueModeSelectorView } from \"./selectors/queue-mode-selector-view.js\";\nimport { ReportSelectorView } from \"./selectors/report-selector-view.js\";\nimport { ThemeSelectorView } from \"./selectors/theme-selector-view.js\";\nimport { ThinkingSelectorView } from \"./selectors/thinking-selector-view.js\";\nimport { TreeSelectorView } from \"./selectors/tree-selector-view.js\";\nimport { UserMessageSelectorView } from \"./selectors/user-message-selector-view.js\";\nimport { ConversationCompactor } from \"./session/conversation-compactor.js\";\nimport { SessionContext } from \"./session/session-context.js\";\nimport type { SessionView } from \"./session/session-view.js\";\nimport { SlashCommandMatcher, SlashCycleState } from \"./slash/index.js\";\nimport { renderStartupAnnouncements } from \"./startup-announcements.js\";\nimport { CostView } from \"./status/cost-view.js\";\nimport type { DiagnosticsView } from \"./status/diagnostics-view.js\";\nimport { QuotaView } from \"./status/quota-view.js\";\nimport { TelemetryView } from \"./status/telemetry-view.js\";\nimport { TrainingView } from \"./status/training-view.js\";\nimport type { ToolExecutionComponent } from \"./tool-execution.js\";\nimport type { ToolOutputView } from \"./tool-output-view.js\";\nimport type { ToolRetryController } from \"./tool-retry/tool-retry-controller.js\";\nimport { ToolStatusView } from \"./tool-status-view.js\";\nimport {\n\ttype AgentEventBridge,\n\tcreateAgentEventBridge,\n} from \"./tui-renderer/agent-event-bridge.js\";\nimport {\n\ttype AttachmentController,\n\tcreateAttachmentController,\n} from \"./tui-renderer/attachment-controller.js\";\nimport { buildTuiCommandRegistryOptions } from \"./tui-renderer/command-registry-options.js\";\nimport { buildTuiCommandRegistry } from \"./tui-renderer/command-registry.js\";\nimport {\n\ttype DelegatingCommandHandlerMap,\n\tcreateDelegatingCommandHandlers,\n} from \"./tui-renderer/delegating-command-handlers.js\";\nimport {\n\ttype FooterHintsController,\n\tcreateFooterHintsController,\n} from \"./tui-renderer/footer-hints-controller.js\";\nimport {\n\ttype HistoryController,\n\tcreateHistoryController,\n} from \"./tui-renderer/history-controller.js\";\nimport {\n\ttype HookUiController,\n\tcreateHookUiController,\n} from \"./tui-renderer/hook-ui-controller.js\";\nimport {\n\ttype MiscHandlers,\n\tcreateMiscHandlers,\n} from \"./tui-renderer/misc-handlers.js\";\nimport {\n\ttype SkillsController,\n\tcreateSkillsController,\n} from \"./tui-renderer/skills-controller.js\";\nimport { type UiState, saveCommandPrefs, saveUiState } from \"./ui-state.js\";\nimport { UpdateView } from \"./update-view.js\";\nimport { CommandPaletteView } from \"./utils/commands/command-palette-view.js\";\nimport { buildReviewPrompt } from \"./utils/commands/review-prompt.js\";\nimport { SlashHintBar } from \"./utils/commands/slash-hint-bar.js\";\nimport {\n\ttype FooterMode,\n\ttype FooterStats,\n\tcalculateFooterStats,\n} from \"./utils/footer-utils.js\";\nimport { WelcomeAnimation } from \"./welcome-animation.js\";\n\nimport { areAnimationsDisabled } from \"../config/env-vars.js\";\nimport {\n\tgetProjectOnboardingState,\n\tmarkProjectOnboardingSeen,\n} from \"../onboarding/project-onboarding.js\";\nimport type { UpdateCheckResult } from \"../update/check.js\";\nimport { resolveEnvPath } from \"../utils/path-expansion.js\";\nimport type { ClientToolController } from \"./client-tools/client-tool-controller.js\";\nimport type { TuiClientToolService } from \"./client-tools/local-client-tool-service.js\";\nimport { HookInputModal } from \"./hooks/hook-input-modal.js\";\nimport { ModalManager } from \"./modal-manager.js\";\nimport { PasteHandler } from \"./paste/paste-handler.js\";\nimport {\n\ttype LowBandwidthConfig,\n\tSSH_RENDER_INTERVAL_MS,\n\ttype TerminalCapabilities,\n\tisMinimalMode as checkMinimalMode,\n\tgetLowBandwidthConfig,\n\tgetTerminalCapabilities,\n\tprobeTerminalBackground,\n} from \"./terminal/terminal-utils.js\";\nimport { createApprovalController } from \"./tui-renderer/approval-setup.js\";\nimport { createBackgroundTasksController } from \"./tui-renderer/background-tasks-setup.js\";\nimport {\n\ttype BranchController,\n\tcreateBranchController,\n} from \"./tui-renderer/branch-controller.js\";\nimport {\n\ttype ClearController,\n\tcreateClearController,\n} from \"./tui-renderer/clear-controller.js\";\nimport { createClientToolController } from \"./tui-renderer/client-tools-setup.js\";\nimport {\n\ttype CompactionController,\n\tcreateCompactionController,\n} from \"./tui-renderer/compaction-controller.js\";\nimport {\n\ttype CustomCommandsController,\n\tcreateCustomCommandsController,\n} from \"./tui-renderer/custom-commands-controller.js\";\nimport { attachEditorBindings } from \"./tui-renderer/editor-bindings.js\";\nimport { loadInitialTuiRendererPreferences } from \"./tui-renderer/initial-preferences.js\";\nimport {\n\ttype InputController,\n\tcreateInputController,\n} from \"./tui-renderer/input-controller.js\";\nimport { createInterruptController } from \"./tui-renderer/interrupt-setup.js\";\nimport { createLoaderView } from \"./tui-renderer/loader-setup.js\";\nimport {\n\ttype McpEventsController,\n\tcreateMcpEventsController,\n} from \"./tui-renderer/mcp-events-setup.js\";\nimport { createOAuthFlowController } from \"./tui-renderer/oauth-setup.js\";\nimport { createPlanSubsystem } from \"./tui-renderer/plan-setup.js\";\nimport { createQueueController } from \"./tui-renderer/queue-setup.js\";\nimport {\n\ttype QuickSettingsController,\n\tcreateQuickSettingsController,\n} from \"./tui-renderer/quick-settings-controller.js\";\nimport { createSessionSubsystem } from \"./tui-renderer/session-setup.js\";\nimport {\n\ttype SessionStateController,\n\tcreateSessionStateController,\n} from \"./tui-renderer/session-state-controller.js\";\nimport {\n\ttype SlashHintController,\n\tcreateSlashHintController,\n} from \"./tui-renderer/slash-hint-controller.js\";\nimport { createToolRetryController } from \"./tui-renderer/tool-retry-setup.js\";\nimport { createToolingViews } from \"./tui-renderer/tooling-views-setup.js\";\nimport {\n\ttype UiStateController,\n\tcreateUiStateController,\n} from \"./tui-renderer/ui-state-setup.js\";\nimport { createDiagnosticsView } from \"./tui-renderer/utility-views-setup.js\";\nimport {\n\ttype ViewportController,\n\tcreateViewportController,\n} from \"./tui-renderer/viewport-controller.js\";\n\nconst logger = createLogger(\"tui:renderer\");\n\nconst getTodoStorePath = () =>\n\tresolveEnvPath(process.env.MAESTRO_TODO_FILE) ?? PATHS.TODO_STORE;\n\nfunction formatLoadedSessionToast(sessionInfo: {\n\tid: string;\n\tmessageCount: number;\n\tresumeSummary?: string;\n}): string {\n\tconst prefix = `Loaded session ${sessionInfo.id} (${sessionInfo.messageCount} messages).`;\n\tif (!sessionInfo.resumeSummary?.trim()) {\n\t\treturn prefix;\n\t}\n\treturn `${prefix} ${sessionInfo.resumeSummary.trim()}`;\n}\n\n/**\n * Main TUI (Terminal User Interface) renderer for the Maestro coding agent.\n *\n * This class orchestrates all UI components, event handling, and user interactions.\n * It manages:\n * - Message rendering (user, assistant, tool calls)\n * - Streaming text display with markdown formatting\n * - Command palette and slash command execution\n * - Session management and switching\n * - Cost tracking and telemetry views\n * - Model selection and configuration\n * - File search and path autocomplete\n * - Git integration and status display\n *\n * The TUI uses an event-driven architecture where the Agent emits events\n * (streaming deltas, tool calls, etc.) and the TuiRenderer subscribes to\n * update the UI accordingly.\n *\n * @example\n * ```typescript\n * const renderer = new TuiRenderer({\n * agent,\n * sessionManager,\n * version: \"0.8.2\",\n * sessionContext: { sessionFile: \"~/.maestro/agent/sessions/default.jsonl\" }\n * });\n *\n * await renderer.initialize();\n * renderer.setInputCallback(async (text) => {\n * await agent.prompt(text);\n * });\n *\n * await renderer.run();\n * ```\n */\nimport { SmartAutocompleteProvider } from \"./smart-autocomplete-provider.js\";\n\nexport class TuiRenderer {\n\tprivate ui: TUI;\n\tprivate startupContainer: Container;\n\tprivate headerContainer: Container;\n\tprivate chatContainer: Container;\n\tprivate scrollContainer: ScrollContainer;\n\tprivate statusContainer: Container;\n\tprivate editor: CustomEditor;\n\tprivate editorContainer: Container; // Container to swap between editor and selector\n\tprivate queuedInputPreview: Text;\n\tprivate footer: FooterComponent;\n\tprivate agent: Agent;\n\tprivate sessionManager: SessionManager;\n\tprivate version: string;\n\tprivate isInitialized = false;\n\tprivate loaderView: LoaderView;\n\tprivate inputController!: InputController;\n\n\t// Tool execution tracking: toolCallId -> component\n\tprivate pendingTools = new Map<string, ToolExecutionComponent>();\n\tprivate explicitApiKey?: string;\n\tprivate telemetryStatus = getTelemetryStatus();\n\tprivate trainingStatus = getTrainingStatus();\n\tprivate currentModelMetadata?: SessionModelMetadata;\n\tprivate perfCollector = new SessionPerfCollector();\n\n\t// Track if this is the first user message (to skip spacer)\n\t// Welcome animation shown before first interaction\n\tprivate welcomeAnimation: WelcomeAnimation | null = null;\n\n\tprivate readonly idleFooterHint =\n\t\t\"Try /help for commands or /tools for status\";\n\tprivate readonly workingFooterHint = \"Working… press esc to interrupt\";\n\tprivate autoCompactionMonitor: AutoCompactionMonitor;\n\tprivate autoRetryController: AutoRetryController;\n\tprivate sessionRecoveryManager: SessionRecoveryManager;\n\tprivate testVerificationService: AutoVerifyService | null = null;\n\tprivate hookUiController!: HookUiController;\n\tprivate delegatingHandlers!: DelegatingCommandHandlerMap;\n\tprivate footerHintsController!: FooterHintsController;\n\tprivate toolOutputView: ToolOutputView;\n\tprivate commandPaletteView?: CommandPaletteView;\n\tprivate slashCommands: SlashCommand[] = [];\n\tprivate commandEntries: CommandEntry[] = [];\n\tprivate recentCommands: string[] = [];\n\tprivate favoriteCommands = new Set<string>();\n\tprivate defaultAutocompleteProvider!: SmartAutocompleteProvider;\n\tprivate slashHintBar!: SlashHintBar;\n\tprivate slashCommandMatcher!: SlashCommandMatcher;\n\tprivate slashCycleState = new SlashCycleState();\n\tprivate planView: PlanView;\n\tprivate planController?: PlanController;\n\tprivate sessionView: SessionView;\n\tprivate sessionStateController!: SessionStateController;\n\tprivate importExportView?: ImportExportView;\n\tprivate runCommandView?: RunCommandView;\n\tprivate bashModeView?: BashModeView;\n\tprivate gitView: GitView;\n\tprivate toolStatusView?: ToolStatusView;\n\tprivate diagnosticsView?: DiagnosticsView;\n\tprivate telemetryView?: TelemetryView;\n\tprivate ollamaView?: OllamaView;\n\tprivate lspView?: LspView;\n\tprivate fileSearchView?: FileSearchView;\n\tprivate conversationCompactor: ConversationCompactor;\n\tprivate messageView: MessageView;\n\tprivate feedbackView?: FeedbackView;\n\tprivate aboutView?: AboutView;\n\tprivate changelogView?: ChangelogView;\n\tprivate hotkeysView?: HotkeysView;\n\tprivate trainingView?: TrainingView;\n\tprivate infoView?: InfoView;\n\tprivate thinkingSelectorView?: ThinkingSelectorView;\n\tprivate themeSelectorView?: ThemeSelectorView;\n\tprivate modelSelectorView?: ModelSelectorView;\n\tprivate reportSelectorView?: ReportSelectorView;\n\tprivate treeSelectorView?: TreeSelectorView;\n\tprivate oauthFlowController!: OAuthFlowController;\n\tprivate queueModeSelectorView?: QueueModeSelectorView;\n\tprivate userMessageSelectorView?: UserMessageSelectorView;\n\tprivate notificationView: NotificationView;\n\tprivate backgroundTasksController: BackgroundTasksController;\n\tprivate mcpEventsController: McpEventsController;\n\tprivate resizeHandler: () => void;\n\tprivate updateView?: UpdateView;\n\tprivate configView?: ConfigView;\n\tprivate costView?: CostView;\n\tprivate quotaView?: QuotaView;\n\tprivate runController: RunController;\n\tprivate agentEventBridge!: AgentEventBridge;\n\tprivate readonly focusEditor = (): void => {\n\t\tthis.ui.setFocus(this.editor);\n\t};\n\tprivate agentEventRouter!: AgentEventRouter;\n\tprivate sessionContext = new SessionContext();\n\tprivate skillsController!: SkillsController;\n\tprivate historyController!: HistoryController;\n\tprivate attachmentController!: AttachmentController;\n\tprivate queueController: QueueController;\n\tprivate editingQueuedFollowUp: QueuedPrompt | null = null;\n\tprivate queuePanelController?: QueuePanelController;\n\t// Default to soft deduplication so repeated streamed lines don't appear in the TUI.\n\t// Users can still override via /clean or env/UI state.\n\tprivate cleanMode: CleanMode = \"soft\";\n\tprivate uiState: UiState = {};\n\tprivate footerMode: FooterMode = \"rich\";\n\tprivate reducedMotion = false;\n\tprivate zenMode = false;\n\tprivate hideThinkingBlocks = false;\n\tprivate readonly minimalMode = checkMinimalMode();\n\tprivate isAgentRunning = false;\n\tprivate approvalController?: ApprovalController;\n\tprivate clientToolController?: ClientToolController;\n\tprivate toolRetryController?: ToolRetryController;\n\tprivate approvalService: ActionApprovalService;\n\tprivate toolRetryService: ToolRetryService;\n\tprivate modelScope: RegisteredModel[] = [];\n\tprivate startupChangelog?: string | null;\n\tprivate startupChangelogSummary?: string | null;\n\tprivate updateNotice?: UpdateCheckResult | null;\n\tprivate modalManager: ModalManager;\n\tprivate viewportController!: ViewportController;\n\tprivate terminalCapabilities: TerminalCapabilities =\n\t\tgetTerminalCapabilities();\n\tprivate terminalFeatures = detectTerminalFeatures();\n\tprivate lowBandwidthConfig: LowBandwidthConfig = getLowBandwidthConfig();\n\tprivate interruptController!: InterruptController;\n\tprivate pasteHandler!: PasteHandler;\n\tprivate miscHandlers!: MiscHandlers;\n\tprivate uiStateController!: UiStateController;\n\tprivate quickSettingsController!: QuickSettingsController;\n\tprivate branchController?: BranchController;\n\tprivate clearController?: ClearController;\n\tprivate compactionController!: CompactionController;\n\tprivate slashHintController!: SlashHintController;\n\tprivate customCommandsController?: CustomCommandsController;\n\tprivate lastKeybindingIssueSummary: string | null = null;\n\tprivate readonly profileName?: string;\n\tprivate readonly cliOverrides?: Partial<ComposerConfig>;\n\n\tconstructor(\n\t\tagent: Agent,\n\t\tsessionManager: SessionManager,\n\t\tversion: string,\n\t\tapprovalService: ActionApprovalService,\n\t\ttoolRetryService: ToolRetryService,\n\t\texplicitApiKey?: string,\n\t\toptions: {\n\t\t\tclientToolService?: TuiClientToolService;\n\t\t\tmodelScope?: RegisteredModel[];\n\t\t\tstartupChangelog?: string | null;\n\t\t\tstartupChangelogSummary?: string | null;\n\t\t\tupdateNotice?: UpdateCheckResult | null;\n\t\t\tretryConfig?: import(\"../config/toml-config.js\").RetryConfig;\n\t\t\tprofileName?: string;\n\t\t\tcliOverrides?: Partial<ComposerConfig>;\n\t\t} = {},\n\t) {\n\t\tthis.profileName = options.profileName;\n\t\tthis.cliOverrides = options.cliOverrides;\n\t\tconst initialPrefs = loadInitialTuiRendererPreferences();\n\t\tthis.uiState = initialPrefs.uiState;\n\t\tconst initialSteeringMode: QueueMode = initialPrefs.initialSteeringMode;\n\t\tconst initialFollowUpMode: QueueMode = initialPrefs.initialFollowUpMode;\n\t\tif (initialPrefs.cleanMode) {\n\t\t\tthis.cleanMode = initialPrefs.cleanMode;\n\t\t}\n\t\tif (initialPrefs.footerMode) {\n\t\t\tthis.footerMode = initialPrefs.footerMode;\n\t\t}\n\t\tthis.reducedMotion = initialPrefs.reducedMotion ?? false;\n\t\tif (typeof initialPrefs.zenMode === \"boolean\") {\n\t\t\tthis.zenMode = initialPrefs.zenMode;\n\t\t}\n\t\tif (typeof initialPrefs.hideThinkingBlocks === \"boolean\") {\n\t\t\tthis.hideThinkingBlocks = initialPrefs.hideThinkingBlocks;\n\t\t}\n\n\t\t// Initialize UI state controller with loaded preferences\n\t\tthis.uiStateController = createUiStateController({\n\t\t\tinitialCleanMode: this.cleanMode,\n\t\t\tinitialFooterMode: this.footerMode,\n\t\t\tinitialZenMode: this.zenMode,\n\t\t\tinitialHideThinkingBlocks: this.hideThinkingBlocks,\n\t\t\tcallbacks: {\n\t\t\t\tonZenModeChange: (enabled) => {\n\t\t\t\t\tthis.zenMode = enabled;\n\t\t\t\t\tif (enabled) {\n\t\t\t\t\t\tthis.headerContainer?.clear();\n\t\t\t\t\t\tthis.footer?.setMode(\"solo\");\n\t\t\t\t\t\tif (this.welcomeAnimation) {\n\t\t\t\t\t\t\tthis.dismissWelcomeAnimation();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.renderHeader();\n\t\t\t\t\t\t// Restore footer mode from state if zen owned it\n\t\t\t\t\t\tconst currentFooterMode = this.footer?.getMode();\n\t\t\t\t\t\tif (currentFooterMode === \"solo\") {\n\t\t\t\t\t\t\tthis.footer?.setMode(this.footerMode);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tthis.viewportController.markHeaderDirty();\n\t\t\t\t\tthis.viewportController.markFooterDirty();\n\t\t\t\t\tthis.updateScrollViewport();\n\t\t\t\t},\n\t\t\t\tonFooterModeChange: (mode) => {\n\t\t\t\t\tthis.footerMode = mode;\n\t\t\t\t\tthis.footer?.setMode(mode);\n\t\t\t\t\tif (!this.isAgentRunning) {\n\t\t\t\t\t\tthis.refreshFooterHint();\n\t\t\t\t\t}\n\t\t\t\t\tthis.viewportController.markFooterDirty();\n\t\t\t\t\tthis.updateScrollViewport();\n\t\t\t\t},\n\t\t\t\tonHideThinkingBlocksChange: (hidden) => {\n\t\t\t\t\tthis.hideThinkingBlocks = hidden;\n\t\t\t\t},\n\t\t\t\trequestRender: () => {\n\t\t\t\t\tthis.ui?.requestRender();\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\n\t\tthis.recentCommands = initialPrefs.recentCommands;\n\t\tthis.favoriteCommands = initialPrefs.favoriteCommands;\n\t\tthis.agent = agent;\n\t\tthis.agent.setSteeringMode(initialSteeringMode === \"all\" ? \"all\" : \"one\");\n\t\tthis.agent.setFollowUpMode(initialFollowUpMode === \"all\" ? \"all\" : \"one\");\n\t\tthis.sessionManager = sessionManager;\n\t\tthis.version = version;\n\t\tthis.explicitApiKey = explicitApiKey;\n\t\tthis.modelScope = options.modelScope ?? [];\n\t\tthis.autoCompactionMonitor = new AutoCompactionMonitor({\n\t\t\tonCompactionRecommended: (stats) => {\n\t\t\t\tthis.compactionController?.handleAutoCompactionRecommendation(stats);\n\t\t\t},\n\t\t});\n\t\tthis.autoRetryController = createAutoRetryController();\n\t\t// Load retry config if available\n\t\tif (options.retryConfig) {\n\t\t\tthis.autoRetryController.loadFromRetryConfig(options.retryConfig);\n\t\t}\n\t\tthis.sessionRecoveryManager = new SessionRecoveryManager();\n\t\tthis.startupChangelog = options.startupChangelog;\n\t\tthis.startupChangelogSummary = options.startupChangelogSummary;\n\t\tthis.updateNotice = options.updateNotice;\n\t\tthis.ui = new TUI(new ProcessTerminal(), this.terminalFeatures);\n\t\tthis.miscHandlers = createMiscHandlers({\n\t\t\tdeps: {\n\t\t\t\tui: this.ui,\n\t\t\t\tgetNotificationView: () => this.notificationView,\n\t\t\t\tgetEditorText: () => this.editor.getText(),\n\t\t\t\tsetEditorText: (text) => this.editor.setText(text),\n\t\t\t\tgetTelemetryStatus: () => this.telemetryStatus,\n\t\t\t},\n\t\t\tcallbacks: {\n\t\t\t\tsetAgentRunning: (running) => {\n\t\t\t\t\tthis.isAgentRunning = running;\n\t\t\t\t},\n\t\t\t\trefreshFooterHint: () => this.refreshFooterHint(),\n\t\t\t},\n\t\t});\n\t\tthis.autoRetryController.setEventListener((event) => {\n\t\t\tthis.miscHandlers.handleAutoRetryEvent(event);\n\t\t});\n\t\t// Initialize test verification with auto-test hooks\n\t\tthis.testVerificationService = registerTestVerificationHooks(\n\t\t\tprocess.cwd(),\n\t\t\t{\n\t\t\t\tonTestComplete: (result) => {\n\t\t\t\t\tthis.miscHandlers.handleTestVerificationResult(result);\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t\tthis.configureRenderThrottle();\n\t\tthis.startupContainer = new Container();\n\t\tthis.headerContainer = new Container();\n\t\tthis.chatContainer = new Container();\n\t\t// Wrap chatContainer in ScrollContainer for viewport scrolling\n\t\tthis.scrollContainer = new ScrollContainer(this.chatContainer, {\n\t\t\tstickyScroll: true,\n\t\t\tshowIndicator: true,\n\t\t\t// We dynamically compute viewport height based on non-chat components.\n\t\t\treservedLines: 0,\n\t\t\tonScroll: () => this.ui.requestRender(),\n\t\t});\n\t\tthis.statusContainer = new Container();\n\t\tthis.editor = new CustomEditor();\n\t\tattachEditorBindings({\n\t\t\teditor: this.editor,\n\t\t\tscrollContainer: this.scrollContainer,\n\t\t\tui: this.ui,\n\t\t\thandlers: {\n\t\t\t\thandleLargePaste: (event) => this.pasteHandler.handleLargePaste(event),\n\t\t\t\thandlePasteImage: () =>\n\t\t\t\t\tthis.attachmentController.handleClipboardImagePaste(),\n\t\t\t\thandleTyping: () => this.handleEditorTyping(),\n\t\t\t\tcycleModel: () => this.quickSettingsController.cycleModel(),\n\t\t\t\ttoggleToolOutputs: () =>\n\t\t\t\t\tthis.quickSettingsController.toggleToolOutputs(),\n\t\t\t\ttoggleThinkingBlocks: () =>\n\t\t\t\t\tthis.quickSettingsController.toggleThinkingBlocks(),\n\t\t\t\topenExternalEditor: () => this.miscHandlers.handleExternalEditor(),\n\t\t\t\tsuspend: () => this.miscHandlers.handleCtrlZ(),\n\t\t\t\thandleSlashCycle: (reverse) =>\n\t\t\t\t\tthis.slashHintController?.handleSlashCycle(reverse) ?? false,\n\t\t\t\tcycleThinkingLevel: () =>\n\t\t\t\t\tthis.quickSettingsController.cycleThinkingLevel(),\n\t\t\t},\n\t\t});\n\t\tthis.editorContainer = new Container(); // Container to hold editor or selector\n\t\tthis.slashHintBar = new SlashHintBar();\n\t\tthis.queuedInputPreview = new Text(\"\", 1, 0);\n\t\tthis.editorContainer.addChild(this.slashHintBar);\n\t\tthis.editorContainer.addChild(this.queuedInputPreview);\n\t\tthis.editorContainer.addChild(this.editor); // Start with editor\n\t\tthis.modalManager = new ModalManager(\n\t\t\tthis.editorContainer,\n\t\t\tthis.ui,\n\t\t\tthis.editor,\n\t\t\t{\n\t\t\t\tonLayoutChange: () => {\n\t\t\t\t\tthis.viewportController.markEditorDirty();\n\t\t\t\t\tthis.updateScrollViewport();\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t\tthis.footer = new FooterComponent(agent.state, this.footerMode);\n\t\tthis.footer.startBranchTracking(() => this.ui.requestRender());\n\t\tthis.viewportController = createViewportController({\n\t\t\tdeps: {\n\t\t\t\theaderContainer: this.headerContainer,\n\t\t\t\tstartupContainer: this.startupContainer,\n\t\t\t\tstatusContainer: this.statusContainer,\n\t\t\t\teditorContainer: this.editorContainer,\n\t\t\t\tfooter: this.footer,\n\t\t\t\tscrollContainer: this.scrollContainer,\n\t\t\t\tgetColumns: () => process.stdout.columns ?? 80,\n\t\t\t\tgetRows: () => process.stdout.rows ?? 24,\n\t\t\t},\n\t\t});\n\t\tthis.notificationView = new NotificationView({\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tfooter: this.footer,\n\t\t});\n\t\tthis.miscHandlers.updateTerminalTitle();\n\n\t\t// Initialize extracted controllers (attachment → skills → history)\n\t\tthis.attachmentController = createAttachmentController({\n\t\t\tdeps: {\n\t\t\t\tinsertEditorText: (text) => this.editor.insertText(text),\n\t\t\t\tsetEditorText: (text) => this.editor.setText(text),\n\t\t\t},\n\t\t\tcallbacks: {\n\t\t\t\trequestRender: () => this.ui.requestRender(),\n\t\t\t},\n\t\t});\n\n\t\tthis.skillsController = createSkillsController({\n\t\t\tdeps: {\n\t\t\t\tinjectMessage: (message) => this.agent.injectMessage(message),\n\t\t\t\tgetMessages: () => this.agent.state.messages,\n\t\t\t\tcwd: () => process.cwd(),\n\t\t\t},\n\t\t\tcallbacks: {\n\t\t\t\tpushCommandOutput: (text) => this.pushCommandOutput(text),\n\t\t\t\tshowInfo: (message) => this.notificationView.showInfo(message),\n\t\t\t\tshowError: (message) => this.notificationView.showError(message),\n\t\t\t},\n\t\t});\n\n\t\tthis.hookUiController = createHookUiController({\n\t\t\tdeps: {\n\t\t\t\tui: this.ui,\n\t\t\t\tgetEditorText: () => this.editor.getText(),\n\t\t\t\tsetEditorText: (text) => this.editor.setText(text),\n\t\t\t\tmodalManager: this.modalManager,\n\t\t\t\tagent: this.agent,\n\t\t\t\tsessionManager: this.sessionManager,\n\t\t\t\tnotificationView: this.notificationView,\n\t\t\t\tcreateHookInputModal: (opts) => new HookInputModal(opts),\n\t\t\t\tcreateCommandContext: (params) => this.createCommandContext(params),\n\t\t\t},\n\t\t\tcallbacks: {\n\t\t\t\trefreshFooterHint: () => this.refreshFooterHint(),\n\t\t\t\trequestRender: () => this.ui.requestRender(),\n\t\t\t},\n\t\t});\n\t\tthis.hookUiController.initializeGlobalContext();\n\n\t\tthis.delegatingHandlers = createDelegatingCommandHandlers({\n\t\t\tagent: this.agent,\n\t\t\tnotificationView: this.notificationView,\n\t\t\taddMarkdown: (content) =>\n\t\t\t\tthis.chatContainer.addChild(new Markdown(content)),\n\t\t\taddSpacedText: (content) => {\n\t\t\t\tthis.chatContainer.addChild(new Spacer(1));\n\t\t\t\tthis.chatContainer.addChild(new Text(content, 1, 0));\n\t\t\t},\n\t\t\trequestRender: () => this.ui.requestRender(),\n\t\t});\n\n\t\t// Now that all core layout containers exist, compute the initial viewport\n\t\t// sizing and wire resize handling.\n\t\tthis.refreshTerminalCapabilities();\n\t\tthis.resizeHandler = () => this.refreshTerminalCapabilities();\n\t\tprocess.stdout.on(\"resize\", this.resizeHandler);\n\n\t\tthis.queueController = createQueueController({\n\t\t\tagent: this.agent,\n\t\t\tnotificationView: this.notificationView,\n\t\t\teditor: this.editor,\n\t\t\tinitialSteeringMode: initialSteeringMode,\n\t\t\tinitialFollowUpMode: initialFollowUpMode,\n\t\t\trefreshQueuePanel: () => this.queuePanelController?.refreshPanel(),\n\t\t\tisAgentRunning: () => this.isAgentRunning,\n\t\t\trefreshFooterHint: () => this.refreshFooterHint(),\n\t\t\trequestRender: () => {\n\t\t\t\tthis.updateQueuedInputPreview();\n\t\t\t\tthis.ui.requestRender();\n\t\t\t},\n\t\t\tpersistUiState: (state) => this.persistUiState(state),\n\t\t});\n\t\tthis.updateQueuedInputPreview();\n\n\t\tthis.oauthFlowController = createOAuthFlowController({\n\t\t\tmodalManager: this.modalManager,\n\t\t\tnotificationView: this.notificationView,\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\teditor: this.editor,\n\t\t\tclearEditor: () => this.clearEditor(),\n\t\t});\n\n\t\tthis.inputController = createInputController({\n\t\t\tdeps: {\n\t\t\t\teditor: this.editor,\n\t\t\t\tgetPasteHandler: () => this.pasteHandler,\n\t\t\t\tisBashModeActive: () => this.bashModeView?.isActive() ?? false,\n\t\t\t\tgetBashModeView: () => this.getBashModeView(),\n\t\t\t\tgetInterruptController: () => this.interruptController,\n\t\t\t\tautoRetryController: this.autoRetryController,\n\t\t\t\tconsumeAttachments: (text) =>\n\t\t\t\t\tthis.attachmentController.consumeAttachments(text),\n\t\t\t},\n\t\t\tcallbacks: {\n\t\t\t\tshowInfo: (message) => this.notificationView.showInfo(message),\n\t\t\t\tstopRenderer: () => this.stop(),\n\t\t\t\texitProcess: (code) => process.exit(code ?? 0),\n\t\t\t},\n\t\t});\n\n\t\tthis.interruptController = createInterruptController({\n\t\t\tfooter: this.footer,\n\t\t\tnotificationView: this.notificationView,\n\t\t\tonInterrupt: (options) => this.inputController.notifyInterrupt(options),\n\t\t\trestoreQueuedPrompts: (options) => {\n\t\t\t\tvoid this.handleInterruptedQueue(options);\n\t\t\t},\n\t\t\thasQueuedSteering: () =>\n\t\t\t\tthis.queueController.getQueuedSteeringCount() > 0,\n\t\t\tgetWorkingHint: () => this.buildWorkingFooterHint(),\n\t\t\tisMinimalMode: () => this.isMinimalMode(),\n\t\t\tisAgentRunning: () => this.isAgentRunning,\n\t\t\trefreshFooterHint: () => this.refreshFooterHint(),\n\t\t});\n\n\t\tthis.backgroundTasksController = createBackgroundTasksController({\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tnotificationView: this.notificationView,\n\t\t});\n\n\t\tthis.footerHintsController = createFooterHintsController({\n\t\t\tdeps: {\n\t\t\t\tisAgentRunning: () => this.isAgentRunning,\n\t\t\t\tidleFooterHint: this.idleFooterHint,\n\t\t\t\tisReducedMotion: () => this.reducedMotion,\n\t\t\t\tisMinimalMode: () => this.minimalMode,\n\t\t\t\tgetSandboxMode: () =>\n\t\t\t\t\tthis.agent.state.sandboxMode ?? process.env.MAESTRO_SANDBOX ?? null,\n\t\t\t\tisSandboxActive: () =>\n\t\t\t\t\tBoolean(this.agent.state.sandboxEnabled) ||\n\t\t\t\t\tBoolean(this.agent.state.sandbox),\n\t\t\t\tgetApprovalMode: () => this.approvalService.getMode(),\n\t\t\t\tgetQueueData: () => ({\n\t\t\t\t\tfollowUpMode: this.queueController.getFollowUpMode(),\n\t\t\t\t\tqueuedCount: this.queueController.getQueuedCount(),\n\t\t\t\t\thasQueue: this.queueController.hasQueue(),\n\t\t\t\t\tqueueHint: this.queueController.buildQueueHint(),\n\t\t\t\t}),\n\t\t\t\tgetRunningHint: () => this.buildWorkingFooterHint(),\n\t\t\t\tgetThinkingLevel: () => this.agent.state.thinkingLevel,\n\t\t\t\tgetUnseenAlertCount: () => this.footer.getUnseenAlertCount(),\n\t\t\t\tgetHookStatusHints: () => this.hookUiController.getHookStatusHints(),\n\t\t\t\tgetActiveToast: () => this.footer.getActiveToast(),\n\t\t\t\tgetBackgroundCounts: () => this.backgroundTasksController.getCounts(),\n\t\t\t\tisCompacting: () => this.compactionController?.isCompacting() ?? false,\n\t\t\t\thasPendingPaste: () => this.pasteHandler?.hasPending() ?? false,\n\t\t\t\tisBashModeActive: () => this.bashModeView?.isActive() ?? false,\n\t\t\t\tsetRuntimeBadges: (badges) =>\n\t\t\t\t\tthis.footer.setRuntimeBadges(badges as string[]),\n\t\t\t\tsetHints: (hints) => this.footer.setHints(hints),\n\t\t\t},\n\t\t\tcallbacks: {\n\t\t\t\tshowToast: (message, tone) =>\n\t\t\t\t\tthis.notificationView.showToast(message, tone),\n\t\t\t\tsetToast: (message, tone) => this.footer.setToast(message, tone),\n\t\t\t},\n\t\t});\n\t\tthis.footerHintsController.surfaceStartupWarnings();\n\t\tthis.approvalController = createApprovalController({\n\t\t\tapprovalService,\n\t\t\tui: this.ui,\n\t\t\teditor: this.editor,\n\t\t\teditorContainer: this.editorContainer,\n\t\t\tnotificationView: this.notificationView,\n\t\t});\n\t\tif (options.clientToolService) {\n\t\t\tthis.clientToolController = createClientToolController({\n\t\t\t\tclientToolService: options.clientToolService,\n\t\t\t\tui: this.ui,\n\t\t\t\teditor: this.editor,\n\t\t\t\teditorContainer: this.editorContainer,\n\t\t\t\tnotificationView: this.notificationView,\n\t\t\t\tonPendingStatusChange: (toolCallId, status) => {\n\t\t\t\t\tconst component = this.pendingTools.get(toolCallId);\n\t\t\t\t\tcomponent?.setPendingStatus(status);\n\t\t\t\t\tthis.ui.requestRender();\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\tthis.toolRetryController = createToolRetryController({\n\t\t\ttoolRetryService,\n\t\t\tui: this.ui,\n\t\t\teditor: this.editor,\n\t\t\teditorContainer: this.editorContainer,\n\t\t\tnotificationView: this.notificationView,\n\t\t});\n\t\tthis.approvalService = approvalService;\n\t\tthis.toolRetryService = toolRetryService;\n\t\tthis.loaderView = createLoaderView({\n\t\t\tui: this.ui,\n\t\t\tstatusContainer: this.statusContainer,\n\t\t\tfooter: this.footer,\n\t\t\tlowColor: this.terminalFeatures.lowColor,\n\t\t\tlowUnicode: this.terminalFeatures.lowUnicode,\n\t\t\tdisableAnimations: this.shouldDisableAnimations(),\n\t\t\tonLayoutChange: () => {\n\t\t\t\tthis.viewportController.markStatusDirty();\n\t\t\t\tthis.updateScrollViewport();\n\t\t\t},\n\t\t});\n\t\tconst planSubsystem = createPlanSubsystem({\n\t\t\tfilePath: getTodoStorePath(),\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tmodalManager: this.modalManager,\n\t\t\tnotificationView: this.notificationView,\n\t\t\tsetPlanHint: (hint) => {\n\t\t\t\tthis.footerHintsController.planHint = hint;\n\t\t\t\tthis.refreshFooterHint();\n\t\t\t},\n\t\t\tonStoreChanged: (store) => this.planController?.handleStoreChanged(store),\n\t\t});\n\t\tthis.planView = planSubsystem.planView;\n\t\tthis.planController = planSubsystem.planController;\n\t\tthis.gitView = new GitView({\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tshowInfoMessage: (message) => this.notificationView.showInfo(message),\n\t\t\tshowToast: (message, tone) =>\n\t\t\t\tthis.notificationView.showToast(message, tone),\n\t\t\tmodalManager: this.modalManager,\n\t\t});\n\t\tthis.runController = new RunController({\n\t\t\tloaderView: this.loaderView,\n\t\t\tui: this.ui,\n\t\t\tsetEditorDisabled: (_disabled) => {\n\t\t\t\tthis.editor.disableSubmit = false;\n\t\t\t},\n\t\t\tfocusEditor: () => this.focusEditor(),\n\t\t\tclearEditor: () => this.clearEditor(),\n\t\t\tstopRenderer: () => this.stop(),\n\t\t\trefreshFooterHint: () => this.refreshFooterHint(),\n\t\t\tnotifyFileChanges: () => this.gitView.notifyFileChanges(),\n\t\t\tinMinimalMode: () => this.isMinimalMode(),\n\t\t});\n\t\tthis.ui.setInterruptHandler(() => {\n\t\t\tvoid this.handleCtrlC();\n\t\t});\n\t\tconst sessionSubsystem = createSessionSubsystem({\n\t\t\tagent: this.agent,\n\t\t\tsessionManager: this.sessionManager,\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tmodalManager: this.modalManager,\n\t\t\tnotificationView: this.notificationView,\n\t\t\tsessionContext: this.sessionContext,\n\t\t\tapplyLoadedSessionContext: () => this.applyLoadedSessionContext(),\n\t\t\tonSessionLoaded: (sessionInfo) => {\n\t\t\t\tthis.toolOutputView.clearTrackedComponents();\n\t\t\t\tthis.renderInitialMessages(this.agent.state);\n\t\t\t\tthis.footer.updateState(this.agent.state);\n\t\t\t\tthis.notificationView.showInfo(formatLoadedSessionToast(sessionInfo));\n\t\t\t},\n\t\t});\n\t\tthis.sessionView = sessionSubsystem.sessionView;\n\n\t\t// History controller uses sessionContext stores\n\t\tthis.historyController = createHistoryController({\n\t\t\tdeps: { sessionContext: this.sessionContext },\n\t\t\tcallbacks: {\n\t\t\t\tpushCommandOutput: (text) => this.pushCommandOutput(text),\n\t\t\t\tshowInfo: (message) => this.notificationView.showInfo(message),\n\t\t\t},\n\t\t});\n\n\t\t// Initialize paste handler\n\t\tthis.pasteHandler = new PasteHandler({\n\t\t\tagent: this.agent,\n\t\t\tnotificationView: this.notificationView,\n\t\t\tsessionContext: this.sessionContext,\n\t\t\teditor: this.editor,\n\t\t\trefreshFooterHint: () => this.refreshFooterHint(),\n\t\t});\n\t\tconst toolingViews = createToolingViews({\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tuiStateCompactTools: this.uiState.compactTools,\n\t\t\tpendingTools: this.pendingTools,\n\t\t\tlowBandwidth: this.lowBandwidthConfig,\n\t\t\tdisableAnimations: this.shouldDisableAnimations(),\n\t\t\tgetCleanMode: () => this.cleanMode,\n\t\t\tgetHideThinkingBlocks: () => this.hideThinkingBlocks,\n\t\t\tloaderView: this.loaderView,\n\t\t\trunController: this.runController,\n\t\t\tsessionContext: this.sessionContext,\n\t\t\textractText: (message) => this.extractTextFromAppMessage(message),\n\t\t\tclearEditor: () => this.clearEditor(),\n\t\t\trequestRender: () => this.ui.requestRender(),\n\t\t\tclearPendingTools: () => this.pendingTools.clear(),\n\t\t\trefreshPlanHint: () => this.planView.syncHintWithStore(),\n\t\t\tonAssistantMessageEnd: (message) =>\n\t\t\t\tthis.autoRetryController.trackAssistantMessage(message),\n\t\t\tshowInfoMessage: (message) => this.notificationView.showInfo(message),\n\t\t});\n\t\tthis.toolOutputView = toolingViews.toolOutputView;\n\t\tthis.messageView = toolingViews.messageView;\n\t\tthis.agentEventRouter = toolingViews.agentEventRouter;\n\t\tthis.sessionStateController = createSessionStateController({\n\t\t\tdeps: {\n\t\t\t\tagent: this.agent,\n\t\t\t\tsessionManager: this.sessionManager,\n\t\t\t\tsessionContext: this.sessionContext,\n\t\t\t\tsessionRecoveryManager: this.sessionRecoveryManager,\n\t\t\t\teditor: this.editor,\n\t\t\t\tmessageView: this.messageView,\n\t\t\t\ttoolOutputView: this.toolOutputView,\n\t\t\t\tchatContainer: this.chatContainer,\n\t\t\t\tscrollContainer: this.scrollContainer,\n\t\t\t\tstartupContainer: this.startupContainer,\n\t\t\t\tplanView: this.planView,\n\t\t\t\tfooter: this.footer,\n\t\t\t\tnotificationView: this.notificationView,\n\t\t\t\tclearActiveSkills: () => this.skillsController.clearActiveSkills(),\n\t\t\t\trunSessionEndHooks: (reason) =>\n\t\t\t\t\tapplySessionEndHooks({\n\t\t\t\t\t\tagent: this.agent,\n\t\t\t\t\t\tsessionManager: this.sessionManager,\n\t\t\t\t\t\tcwd: process.cwd(),\n\t\t\t\t\t\treason,\n\t\t\t\t\t}),\n\t\t\t\trunSessionStartHooks: (source) =>\n\t\t\t\t\tapplySessionStartHooks({\n\t\t\t\t\t\tagent: this.agent,\n\t\t\t\t\t\tsessionManager: this.sessionManager,\n\t\t\t\t\t\tcwd: process.cwd(),\n\t\t\t\t\t\tsource,\n\t\t\t\t\t}),\n\t\t\t},\n\t\t\tcallbacks: {\n\t\t\t\trefreshFooterHint: () => this.refreshFooterHint(),\n\t\t\t\trequestRender: () => this.ui.requestRender(),\n\t\t\t\tclearEditor: () => this.clearEditor(),\n\t\t\t\tsetPlanHint: (hint) => {\n\t\t\t\t\tthis.footerHintsController.planHint = hint;\n\t\t\t\t},\n\t\t\t\tisAgentRunning: () => this.isAgentRunning,\n\t\t\t},\n\t\t});\n\n\t\tthis.agentEventBridge = createAgentEventBridge({\n\t\t\tdeps: {\n\t\t\t\tagent: this.agent,\n\t\t\t\tsessionManager: this.sessionManager,\n\t\t\t\tsessionRecoveryManager: this.sessionRecoveryManager,\n\t\t\t\tautoRetryController: this.autoRetryController,\n\t\t\t\tinterruptController: this.interruptController,\n\t\t\t\tfooter: this.footer,\n\t\t\t\tagentEventRouter: this.agentEventRouter,\n\t\t\t},\n\t\t\tcallbacks: {\n\t\t\t\tensureInitialized: () => this.init(),\n\t\t\t\thandleApprovalRequired: (request) =>\n\t\t\t\t\tthis.handleApprovalRequired(request),\n\t\t\t\thandleApprovalResolved: (request, decision) =>\n\t\t\t\t\tthis.handleApprovalResolved(request, decision),\n\t\t\t\thandleToolRetryRequired: (request) =>\n\t\t\t\t\tthis.handleToolRetryRequired(request),\n\t\t\t\thandleToolRetryResolved: (request, decision) =>\n\t\t\t\t\tthis.handleToolRetryResolved(request, decision),\n\t\t\t\tsetAgentRunning: (running) => {\n\t\t\t\t\tthis.isAgentRunning = running;\n\t\t\t\t},\n\t\t\t\tmaybeShowContextWarning: (stats) => this.maybeShowContextWarning(stats),\n\t\t\t\tsetCurrentModelMetadata: (metadata) => {\n\t\t\t\t\tthis.currentModelMetadata = metadata;\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\n\t\t// Initialize quick settings controller for keyboard shortcuts\n\t\tthis.quickSettingsController = createQuickSettingsController({\n\t\t\tagent: this.agent,\n\t\t\tsessionManager: this.sessionManager,\n\t\t\tnotificationView: this.notificationView,\n\t\t\tmodelScope: this.modelScope,\n\t\t\tcallbacks: {\n\t\t\t\trefreshFooterHint: () => this.refreshFooterHint(),\n\t\t\t\tpersistUiState: () => this.persistUiState(),\n\t\t\t\trenderConversationView: () => this.renderConversationView(),\n\t\t\t\trequestRender: () => this.ui.requestRender(),\n\t\t\t\tgetToolOutputCompact: () => this.toolOutputView.isCompact(),\n\t\t\t\ttoggleToolOutputCompact: () => this.toolOutputView.toggleCompactMode(),\n\t\t\t\tgetHideThinkingBlocks: () => this.hideThinkingBlocks,\n\t\t\t\tsetHideThinkingBlocks: (hidden) => {\n\t\t\t\t\tthis.hideThinkingBlocks = hidden;\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\n\t\tthis.conversationCompactor = new ConversationCompactor({\n\t\t\tagent: this.agent,\n\t\t\tsessionManager: this.sessionManager,\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tfooter: this.footer,\n\t\t\tidleHint: this.idleFooterHint,\n\t\t\ttoolComponents: this.toolOutputView.getTrackedComponents(),\n\t\t\trenderMessages: () => this.renderInitialMessages(this.agent.state),\n\t\t\tshowInfoMessage: (message) => this.notificationView.showInfo(message),\n\t\t\tprofileName: options.profileName,\n\t\t\tcliOverrides: options.cliOverrides,\n\t\t\tgetPostKeepMessages: async (source, preservedMessages) => {\n\t\t\t\tconst restorationMessages =\n\t\t\t\t\tsource === \"compact\"\n\t\t\t\t\t\t? this.collectOrderedCompactionRestorationMessages(\n\t\t\t\t\t\t\t\tpreservedMessages,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: [];\n\t\t\t\tconst sessionStartMessages =\n\t\t\t\t\tawait collectPersistedSessionStartHookMessages({\n\t\t\t\t\t\tsessionManager: this.sessionManager,\n\t\t\t\t\t\tcwd: process.cwd(),\n\t\t\t\t\t\tsource,\n\t\t\t\t\t});\n\t\t\t\treturn [...restorationMessages, ...sessionStartMessages];\n\t\t\t},\n\t\t});\n\t\tthis.compactionController = createCompactionController({\n\t\t\tdeps: {\n\t\t\t\tgetAgentState: () => this.agent.state,\n\t\t\t\tgetSessionId: () => this.sessionManager.getSessionId(),\n\t\t\t\tconversationCompactor: this.conversationCompactor,\n\t\t\t\tautoCompactionMonitor: this.autoCompactionMonitor,\n\t\t\t\tsessionContext: this.sessionContext,\n\t\t\t},\n\t\t\tcallbacks: {\n\t\t\t\tshowInfo: (msg) => this.notificationView.showInfo(msg),\n\t\t\t\trefreshFooterHint: () => this.refreshFooterHint(),\n\t\t\t\tsetContextWarningLevel: (level) => {\n\t\t\t\t\tthis.footerHintsController.setContextWarningLevel(level);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\tconst registry = buildTuiCommandRegistry({\n\t\t\tcwd: process.cwd(),\n\t\t\tregistryOptions: buildTuiCommandRegistryOptions({\n\t\t\t\tgetRunCommandView: () => this.getRunCommandView(),\n\t\t\t\tgetToolStatusView: () => this.getToolStatusView(),\n\t\t\t\tsessionView: this.sessionView,\n\t\t\t\tgetClearController: () => this.getClearController(),\n\t\t\t\tgetDiagnosticsView: () => this.getDiagnosticsView(),\n\t\t\t\tplanController: this.planController,\n\t\t\t\tgitView: this.gitView,\n\t\t\t\tbackgroundTasksController: this.backgroundTasksController,\n\t\t\t\tcompactionController: this.compactionController,\n\t\t\t\tgetCustomCommandsController: () => this.getCustomCommandsController(),\n\t\t\t\tgetBranchController: () => this.getBranchController(),\n\t\t\t\toauthFlowController: this.oauthFlowController,\n\t\t\t\tapprovalService: this.approvalService,\n\t\t\t\tnotificationView: this.notificationView,\n\t\t\t\tchatContainer: this.chatContainer,\n\t\t\t\tui: this.ui,\n\t\t\t\tuiStateController: this.uiStateController,\n\t\t\t\tgetImportExportView: () => this.getImportExportView(),\n\t\t\t\tgetReportSelectorView: () => this.getReportSelectorView(),\n\t\t\t\tgetFeedbackView: () => this.getFeedbackView(),\n\t\t\t\tgetAboutView: () => this.getAboutView(),\n\t\t\t\tgetInfoView: () => this.getInfoView(),\n\t\t\t\tgetUpdateView: () => this.getUpdateView(),\n\t\t\t\tgetChangelogView: () => this.getChangelogView(),\n\t\t\t\tgetHotkeysView: () => this.getHotkeysView(),\n\t\t\t\tgetConfigView: () => this.getConfigView(),\n\t\t\t\tgetCostView: () => this.getCostView(),\n\t\t\t\tgetQuotaView: () => this.getQuotaView(),\n\t\t\t\tgetTelemetryView: () => this.getTelemetryView(),\n\t\t\t\tgetTrainingView: () => this.getTrainingView(),\n\t\t\t\tgetOllamaView: () => this.getOllamaView(),\n\t\t\t\tgetThinkingSelectorView: () => this.getThinkingSelectorView(),\n\t\t\t\tgetModelSelectorView: () => this.getModelSelectorView(),\n\t\t\t\tgetThemeSelectorView: () => this.getThemeSelectorView(),\n\t\t\t\tgetLspView: () => this.getLspView(),\n\t\t\t\tgetFileSearchView: () => this.getFileSearchView(),\n\t\t\t\tgetQueuePanelController: () => this.getQueuePanelController(),\n\t\t\t\tgetMessages: () => this.agent.state.messages,\n\t\t\t\tcreateCommandContext: (ctx) => this.createCommandContext(ctx),\n\t\t\t\thandleReviewCommand: (context) => this.handleReviewCommand(context),\n\t\t\t\thandleHistoryCommand: (context) =>\n\t\t\t\t\tthis.historyController.handleHistoryCommand(context),\n\t\t\t\thandleToolHistoryCommand: (context) =>\n\t\t\t\t\tthis.historyController.handleToolHistoryCommand(context),\n\t\t\t\thandleSkillsCommand: (context) =>\n\t\t\t\t\tthis.skillsController.handleSkillsCommand(context),\n\t\t\t\thandleEnhancedUndoCommand: (context) =>\n\t\t\t\t\tthis.delegatingHandlers.handleEnhancedUndoCommand(context),\n\t\t\t\thandleFooterCommand: (context) => this.handleFooterCommand(context),\n\t\t\t\thandleCompactToolsCommand: (rawInput) =>\n\t\t\t\t\tthis.handleCompactToolsCommand(rawInput),\n\t\t\t\thandleSteerCommand: (context) => this.handleSteerCommand(context),\n\t\t\t\thandleStatsCommand: (context) => this.handleStatsCommand(context),\n\t\t\t\thandleNewChatCommand: (context) =>\n\t\t\t\t\tthis.sessionStateController.handleNewChatCommand(context),\n\t\t\t\thandleTreeCommand: (_context) => this.getTreeSelectorView().show(),\n\t\t\t\thandleMcpCommand: (context) =>\n\t\t\t\t\tthis.delegatingHandlers.handleMcpCommand(context),\n\t\t\t\thandleComposerCommand: (context) =>\n\t\t\t\t\tthis.delegatingHandlers.handleComposerCommand(context),\n\t\t\t\thandleContextCommand: (context) => this.handleContextCommand(context),\n\t\t\t\thandleFrameworkCommand: (context) =>\n\t\t\t\t\tthis.delegatingHandlers.handleFrameworkCommand(context),\n\t\t\t\thandleGuardianCommand: (context) =>\n\t\t\t\t\tthis.delegatingHandlers.handleGuardianCommand(context),\n\t\t\t\thandleWorkflowCommand: (context) =>\n\t\t\t\t\tthis.delegatingHandlers.handleWorkflowCommand(context),\n\t\t\t\thandleChangesCommand: (context) =>\n\t\t\t\t\tthis.delegatingHandlers.handleChangesCommand(context),\n\t\t\t\thandleCheckpointCommand: (context) =>\n\t\t\t\t\tthis.delegatingHandlers.handleCheckpointCommand(context),\n\t\t\t\thandleMemoryCommand: (context) =>\n\t\t\t\t\tthis.delegatingHandlers.handleMemoryCommand(context),\n\t\t\t\thandleModeCommand: (context) =>\n\t\t\t\t\tthis.delegatingHandlers.handleModeCommand(context),\n\t\t\t\tcommandSuite: {\n\t\t\t\t\tgetUiState: () => ({\n\t\t\t\t\t\t...this.uiStateController.getState(),\n\t\t\t\t\t\tcompactTools: this.toolOutputView?.isCompact() ?? false,\n\t\t\t\t\t}),\n\t\t\t\t\tgetAuthState: () => this.getActualAuthState(),\n\t\t\t\t\thandleSessionRecoverCommand: (context) =>\n\t\t\t\t\t\tthis.sessionStateController.handleSessionRecoverCommand(context),\n\t\t\t\t\thandleSessionCleanupCommand: (context) => {\n\t\t\t\t\t\tconst result = this.sessionManager.pruneSessions();\n\t\t\t\t\t\tif (result.removed === 0) {\n\t\t\t\t\t\t\tcontext.showInfo(\"No sessions to prune.\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontext.showInfo(\n\t\t\t\t\t\t\t`Pruned ${result.removed} session(s).${result.errors > 0 ? ` ${result.errors} error(s).` : \"\"}`,\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t\thandleSourcesCommand: (context) =>\n\t\t\t\t\t\tthis.delegatingHandlers.handleSourcesCommand(context),\n\t\t\t\t\thandlePerfCommand: () => this.showPerfReport(),\n\t\t\t\t\thandleAuthSourceOfTruthCommand: (argumentText, showError, showInfo) =>\n\t\t\t\t\t\tthis.oauthFlowController.handleSourceOfTruthPolicyCommand(\n\t\t\t\t\t\t\targumentText,\n\t\t\t\t\t\t\tshowError,\n\t\t\t\t\t\t\tshowInfo,\n\t\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\trefreshFooterHint: () => this.refreshFooterHint(),\n\t\t\t\tonQuit: async () => {\n\t\t\t\t\tawait this.stop();\n\t\t\t\t\tprocess.exit(0);\n\t\t\t\t},\n\t\t\t}),\n\t\t\texecutePromptTemplate: (promptName, userArgumentText, context) => {\n\t\t\t\tconst combined = [promptName, userArgumentText]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \");\n\t\t\t\tconst syntheticContext: CommandExecutionContext = {\n\t\t\t\t\t...context,\n\t\t\t\t\targumentText: combined,\n\t\t\t\t};\n\t\t\t\tthis.getCustomCommandsController().handlePromptsCommand(\n\t\t\t\t\tsyntheticContext,\n\t\t\t\t);\n\t\t\t},\n\t\t\tlogDebug: (message, meta) => logger.debug(message, meta),\n\t\t});\n\t\tconst hookRegistry = this.hookUiController.buildHookCommandEntries(\n\t\t\tregistry.commands,\n\t\t);\n\t\tif (hookRegistry.commands.length > 0) {\n\t\t\tregistry.entries.push(...hookRegistry.entries);\n\t\t\tregistry.commands.push(...hookRegistry.commands);\n\t\t}\n\n\t\tthis.commandEntries = registry.entries;\n\t\tthis.slashCommands = registry.commands;\n\t\tthis.slashCommandMatcher = new SlashCommandMatcher(this.slashCommands);\n\t\tthis.slashHintController = createSlashHintController({\n\t\t\tdeps: {\n\t\t\t\tslashHintBar: this.slashHintBar,\n\t\t\t\tslashCommandMatcher: this.slashCommandMatcher,\n\t\t\t\tslashCycleState: this.slashCycleState,\n\t\t\t\tgetSlashCommands: () => this.slashCommands,\n\t\t\t\tgetEditorText: () => this.editor.getText(),\n\t\t\t\tsetEditorText: (text) => this.editor.setText(text),\n\t\t\t\tisShowingAutocomplete: () => this.editor.isShowingAutocomplete(),\n\t\t\t},\n\t\t\tcallbacks: {\n\t\t\t\tpersistUiState: (extra) => this.persistUiState(extra),\n\t\t\t\trequestRender: () => {\n\t\t\t\t\t// Slash hint updates can change editorContainer height (0 ↔ 1–2 lines).\n\t\t\t\t\t// Keep the scroll viewport sized so we never spill into scrollback.\n\t\t\t\t\tthis.viewportController.markEditorDirty();\n\t\t\t\t\tthis.updateScrollViewport({ fast: true });\n\t\t\t\t\tthis.ui.requestRender();\n\t\t\t\t},\n\t\t\t},\n\t\t\tinitialRecentCommands: this.recentCommands,\n\t\t\tinitialFavoriteCommands: this.favoriteCommands,\n\t\t});\n\n\t\tconst autocompleteProvider = new SmartAutocompleteProvider(\n\t\t\tthis.slashCommands,\n\t\t\tprocess.cwd(),\n\t\t);\n\t\tthis.defaultAutocompleteProvider = autocompleteProvider;\n\t\tthis.editor.setAutocompleteProvider(autocompleteProvider);\n\n\t\t// Keep the chat viewport within the terminal viewport. We recompute on\n\t\t// editor changes (including paste/history/backspace) so wrapping changes\n\t\t// don't push the UI into scrollback for a frame.\n\t\tconst previousOnChange = this.editor.onChange;\n\t\tthis.editor.onChange = (text) => {\n\t\t\tpreviousOnChange?.(text);\n\t\t\tthis.viewportController.markEditorDirty();\n\t\t\tthis.updateScrollViewport({ fast: true });\n\t\t};\n\n\t\tnew EditorView({\n\t\t\teditor: this.editor,\n\t\t\tgetCommandEntries: () => this.commandEntries,\n\t\t\tonFirstInput: () => this.dismissWelcomeAnimation(),\n\t\t\tonCommandExecuted: (name) =>\n\t\t\t\tthis.slashHintController.recordCommandUsage(name),\n\t\t\tonSubmit: (text) => {\n\t\t\t\tif (this.isAgentRunning) {\n\t\t\t\t\tvoid this.handleSteerSubmit(text);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tvoid this.inputController.handleTextSubmit(text);\n\t\t\t},\n\t\t\tonFollowUp: (text) => {\n\t\t\t\tvoid this.handleFollowUpSubmit(text);\n\t\t\t},\n\t\t\tshouldFollowUp: () => this.isAgentRunning,\n\t\t\tcanSubmitEmpty: () => this.attachmentController.hasPendingAttachments(),\n\t\t\tshouldInterrupt: () =>\n\t\t\t\tthis.isAgentRunning || this.interruptController.isArmed(),\n\t\t\tonInterrupt: () => this.inputController.handleInterruptRequest(),\n\t\t\tonKeepPartial: () => this.inputController.handleKeepPartialRequest(),\n\t\t\tonCtrlC: () => {\n\t\t\t\tvoid this.handleCtrlC();\n\t\t\t},\n\t\t\tonCtrlD: () => {\n\t\t\t\tvoid this.inputController.handleCtrlDExit();\n\t\t\t},\n\t\t\tshowCommandPalette: () =>\n\t\t\t\tthis.getCommandPaletteView().showCommandPalette(),\n\t\t\tshowFileSearch: () => this.getFileSearchView().showFileSearch(),\n\t\t\tonEditLastQueuedFollowUp: () => this.editLastQueuedFollowUp(),\n\t\t});\n\n\t\t// Set up MCP and agent profile event handlers for notifications\n\t\tthis.mcpEventsController = createMcpEventsController({\n\t\t\tnotificationView: this.notificationView,\n\t\t\trefreshFooterHint: () => this.refreshFooterHint(),\n\t\t});\n\t}\n\n\tpublic async ensureContextBudgetBeforePrompt(): Promise<void> {\n\t\tawait this.compactionController.ensureContextBudgetBeforePrompt();\n\t}\n\n\tasync init(): Promise<void> {\n\t\tif (this.isInitialized) return;\n\n\t\tawait this.detectAndApplyTerminalTheme();\n\t\tthis.runConnectivityProbe().catch((error) => {\n\t\t\tconst msg =\n\t\t\t\terror instanceof Error\n\t\t\t\t\t? error.message\n\t\t\t\t\t: \"Model connectivity probe failed.\";\n\t\t\tthis.notificationView.showError(msg);\n\t\t});\n\n\t\t// Setup UI layout\n\t\tthis.ui.addChild(this.headerContainer);\n\n\t\tif (this.zenMode) {\n\t\t\tthis.footer.setMode(\"solo\");\n\t\t} else {\n\t\t\tthis.renderHeader();\n\t\t}\n\n\t\t// Show welcome animation initially (can be disabled in minimal mode)\n\t\tif (!this.isMinimalMode() && !this.zenMode) {\n\t\t\tconst onboardingState = getProjectOnboardingState(process.cwd());\n\t\t\tthis.welcomeAnimation = new WelcomeAnimation(\n\t\t\t\t() => this.ui.requestRender(),\n\t\t\t\t{ animate: !this.shouldDisableAnimations() },\n\t\t\t);\n\t\t\tthis.welcomeAnimation.setProjectOnboarding(onboardingState);\n\t\t\tif (onboardingState.shouldShow) {\n\t\t\t\tmarkProjectOnboardingSeen(process.cwd());\n\t\t\t}\n\t\t\tthis.chatContainer.addChild(this.welcomeAnimation);\n\t\t}\n\n\t\tthis.ui.addChild(this.startupContainer);\n\t\t// Use scrollContainer instead of chatContainer directly for scrolling support\n\t\tthis.ui.addChild(this.scrollContainer);\n\t\tthis.ui.addChild(this.statusContainer);\n\n\t\t// Disable TUI's auto-clipping since ScrollContainer handles viewport\n\t\tthis.ui.setAutoClip(false);\n\t\t// Set initial viewport height\n\t\tthis.updateScrollViewport();\n\n\t\tthis.ui.addChild(new Spacer(1));\n\t\tthis.ui.addChild(this.editorContainer); // Use container that can hold editor or selector\n\t\tthis.refreshFooterHint();\n\t\tthis.ui.addChild(this.footer);\n\t\tthis.ui.setFocus(this.editor);\n\t\tthis.renderStartupAnnouncementsBlock();\n\t\tthis.lastKeybindingIssueSummary = summarizeKeybindingConfigIssues(\n\t\t\tinspectKeybindingConfig(),\n\t\t);\n\t\tstartTuiKeybindingWatcher({\n\t\t\tonReload: (report) => this.handleKeybindingConfigReload(report),\n\t\t});\n\n\t\tthis.ui.start();\n\t\tthis.isInitialized = true;\n\t}\n\n\tprivate getImportExportView(): ImportExportView {\n\t\tthis.importExportView ??= new ImportExportView({\n\t\t\tagent: this.agent,\n\t\t\tsessionManager: this.sessionManager,\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tshowInfoMessage: (message) => this.notificationView.showInfo(message),\n\t\t\tapplyLoadedSessionContext: () => this.applyLoadedSessionContext(),\n\t\t\trecordShareArtifact: (filePath) =>\n\t\t\t\tthis.sessionContext.recordShareArtifact(filePath),\n\t\t\tloadImportedSession: (sessionFile) =>\n\t\t\t\tthis.loadImportedSession(sessionFile),\n\t\t});\n\t\treturn this.importExportView;\n\t}\n\n\tprivate getRunCommandView(): RunCommandView {\n\t\tthis.runCommandView ??= new RunCommandView({\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tshowInfoMessage: (message) => this.notificationView.showInfo(message),\n\t\t});\n\t\treturn this.runCommandView;\n\t}\n\n\tprivate getToolStatusView(): ToolStatusView {\n\t\tthis.toolStatusView ??= new ToolStatusView({\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tgetTools: () => this.agent.state.tools,\n\t\t\tshowInfoMessage: (message) => this.notificationView.showInfo(message),\n\t\t});\n\t\treturn this.toolStatusView;\n\t}\n\n\tprivate getDiagnosticsView(): DiagnosticsView {\n\t\tthis.diagnosticsView ??= createDiagnosticsView({\n\t\t\tagent: this.agent,\n\t\t\tsessionManager: this.sessionManager,\n\t\t\ttelemetryStatus: this.telemetryStatus,\n\t\t\ttrainingStatus: this.trainingStatus,\n\t\t\tversion: this.version,\n\t\t\texplicitApiKey: this.explicitApiKey,\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tgetCurrentModelMetadata: () => this.currentModelMetadata,\n\t\t\tgetPendingTools: () => this.pendingTools,\n\t\t\tgitView: this.gitView,\n\t\t\ttodoStorePath: getTodoStorePath(),\n\t\t\tgetApprovalMode: () => this.approvalService.getMode(),\n\t\t\tgetAlertCount: () => this.footer.getUnseenAlertCount(),\n\t\t});\n\t\treturn this.diagnosticsView;\n\t}\n\n\tprivate getBashModeView(): BashModeView {\n\t\tthis.bashModeView ??= new BashModeView({\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tshowInfoMessage: (message) => this.notificationView.showInfo(message),\n\t\t\tonStateChange: () => this.refreshFooterHint(),\n\t\t\teditor: this.editor,\n\t\t\tdefaultAutocomplete: this.defaultAutocompleteProvider,\n\t\t});\n\t\treturn this.bashModeView;\n\t}\n\n\tprivate getFeedbackView(): FeedbackView {\n\t\tthis.feedbackView ??= new FeedbackView({\n\t\t\tagent: this.agent,\n\t\t\tsessionManager: this.sessionManager,\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tgitView: this.gitView,\n\t\t\tversion: this.version,\n\t\t\tgetApprovalMode: () => this.approvalService.getMode(),\n\t\t});\n\t\treturn this.feedbackView;\n\t}\n\n\tprivate getAboutView(): AboutView {\n\t\tthis.aboutView ??= new AboutView({\n\t\t\tagent: this.agent,\n\t\t\tsessionManager: this.sessionManager,\n\t\t\tgitView: this.gitView,\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tversion: this.version,\n\t\t\ttelemetryStatus: () => this.miscHandlers.describeTelemetryStatus(),\n\t\t\totelStatus: () => getOpenTelemetryStatus(),\n\t\t\tgetApprovalMode: () => this.approvalService.getMode(),\n\t\t});\n\t\treturn this.aboutView;\n\t}\n\n\tprivate getChangelogView(): ChangelogView {\n\t\tthis.changelogView ??= new ChangelogView({\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tshowError: (message: string) => this.notificationView.showError(message),\n\t\t});\n\t\treturn this.changelogView;\n\t}\n\n\tprivate getHotkeysView(): HotkeysView {\n\t\tthis.hotkeysView ??= new HotkeysView({\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t});\n\t\treturn this.hotkeysView;\n\t}\n\n\tprivate getInfoView(): InfoView {\n\t\tthis.infoView ??= new InfoView({\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tgetSlashCommands: () => this.slashCommands,\n\t\t\tisInteractive: () => this.terminalCapabilities.isTTY,\n\t\t\tgetRecentCommands: () => this.recentCommands,\n\t\t\tgetFavoriteCommands: () => this.favoriteCommands,\n\t\t});\n\t\treturn this.infoView;\n\t}\n\n\tprivate getThinkingSelectorView(): ThinkingSelectorView {\n\t\tthis.thinkingSelectorView ??= new ThinkingSelectorView({\n\t\t\tagent: this.agent,\n\t\t\tsessionManager: this.sessionManager,\n\t\t\tmodalManager: this.modalManager,\n\t\t\tui: this.ui,\n\t\t\tshowInfoMessage: (message) => this.notificationView.showInfo(message),\n\t\t});\n\t\treturn this.thinkingSelectorView;\n\t}\n\n\tprivate getThemeSelectorView(): ThemeSelectorView {\n\t\tthis.themeSelectorView ??= new ThemeSelectorView({\n\t\t\tcurrentTheme: () => getCurrentThemeName(),\n\t\t\tmodalManager: this.modalManager,\n\t\t\tui: this.ui,\n\t\t\tshowInfoMessage: (message) => this.notificationView.showInfo(message),\n\t\t\tonThemeChange: () => this.ui.requestRender(),\n\t\t});\n\t\treturn this.themeSelectorView;\n\t}\n\n\tprivate getModelSelectorView(): ModelSelectorView {\n\t\tthis.modelSelectorView ??= new ModelSelectorView({\n\t\t\tagent: this.agent,\n\t\t\tsessionManager: this.sessionManager,\n\t\t\tmodalManager: this.modalManager,\n\t\t\tui: this.ui,\n\t\t\tshowInfoMessage: (message) => this.notificationView.showInfo(message),\n\t\t\tmodelScope: this.modelScope,\n\t\t});\n\t\treturn this.modelSelectorView;\n\t}\n\n\tprivate getReportSelectorView(): ReportSelectorView {\n\t\tthis.reportSelectorView ??= new ReportSelectorView({\n\t\t\tmodalManager: this.modalManager,\n\t\t\tui: this.ui,\n\t\t\tonSelect: (type) => {\n\t\t\t\tif (type === \"bug\") {\n\t\t\t\t\tthis.getFeedbackView().handleBugCommand();\n\t\t\t\t} else {\n\t\t\t\t\tthis.getFeedbackView().handleFeedbackCommand();\n\t\t\t\t}\n\t\t\t},\n\t\t});\n\t\treturn this.reportSelectorView;\n\t}\n\n\tprivate getUpdateView(): UpdateView {\n\t\tthis.updateView ??= new UpdateView({\n\t\t\tcurrentVersion: this.version,\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tshowError: (message) => this.notificationView.showError(message),\n\t\t});\n\t\treturn this.updateView;\n\t}\n\n\tprivate getConfigView(): ConfigView {\n\t\tthis.configView ??= new ConfigView({\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tshowError: (message) => this.notificationView.showError(message),\n\t\t\tshowInfo: (message) => this.notificationView.showInfo(message),\n\t\t});\n\t\treturn this.configView;\n\t}\n\n\tprivate getCostView(): CostView {\n\t\tthis.costView ??= new CostView({\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tshowInfo: (message) => this.notificationView.showInfo(message),\n\t\t\tshowError: (message) => this.notificationView.showError(message),\n\t\t});\n\t\treturn this.costView;\n\t}\n\n\tprivate getQuotaView(): QuotaView {\n\t\tthis.quotaView ??= new QuotaView({\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tshowInfo: (message) => this.notificationView.showInfo(message),\n\t\t\tshowError: (message) => this.notificationView.showError(message),\n\t\t\tgetSessionTokenUsage: () => {\n\t\t\t\tconst stats = calculateFooterStats(this.agent.state);\n\t\t\t\treturn stats.totalInput + stats.totalOutput;\n\t\t\t},\n\t\t});\n\t\treturn this.quotaView;\n\t}\n\n\tprivate getTelemetryView(): TelemetryView {\n\t\tthis.telemetryView ??= new TelemetryView({\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tshowInfo: (message) => this.notificationView.showInfo(message),\n\t\t\tshowError: (message) => this.notificationView.showError(message),\n\t\t\tonStatusChanged: (status) => {\n\t\t\t\tthis.telemetryStatus = status;\n\t\t\t\tthis.diagnosticsView?.setTelemetryStatus(status);\n\t\t\t},\n\t\t});\n\t\treturn this.telemetryView;\n\t}\n\n\tprivate getTrainingView(): TrainingView {\n\t\tthis.trainingView ??= new TrainingView({\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tshowInfo: (message) => this.notificationView.showInfo(message),\n\t\t\tshowError: (message) => this.notificationView.showError(message),\n\t\t\tonStatusChanged: (status) => {\n\t\t\t\tthis.trainingStatus = status;\n\t\t\t\tthis.diagnosticsView?.setTrainingStatus(status);\n\t\t\t},\n\t\t});\n\t\treturn this.trainingView;\n\t}\n\n\tprivate getOllamaView(): OllamaView {\n\t\tthis.ollamaView ??= new OllamaView({\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tshowInfoMessage: (message) => this.notificationView.showInfo(message),\n\t\t\tshowErrorMessage: (message) => this.notificationView.showError(message),\n\t\t\tgetRegisteredModels: () => getRegisteredModels(),\n\t\t\tonUseModel: (model) => {\n\t\t\t\tthis.agent.setModel(model);\n\t\t\t\tthis.sessionManager.saveModelChange(\n\t\t\t\t\t`${model.provider}/${model.id}`,\n\t\t\t\t\ttoSessionModelMetadata(model),\n\t\t\t\t);\n\t\t\t\tthis.notificationView.showToast(`Switched to ${model.id}`, \"success\");\n\t\t\t\tthis.ui.requestRender();\n\t\t\t},\n\t\t});\n\t\treturn this.ollamaView;\n\t}\n\n\tprivate getLspView(): LspView {\n\t\tthis.lspView ??= new LspView({\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tshowInfo: (message) => this.notificationView.showInfo(message),\n\t\t\tshowError: (message) => this.notificationView.showError(message),\n\t\t});\n\t\treturn this.lspView;\n\t}\n\n\tprivate getFileSearchView(): FileSearchView {\n\t\tthis.fileSearchView ??= new FileSearchView({\n\t\t\teditor: this.editor,\n\t\t\tmodalManager: this.modalManager,\n\t\t\tchatContainer: this.chatContainer,\n\t\t\tui: this.ui,\n\t\t\tshowInfoMessage: (message) => this.notificationView.showInfo(message),\n\t\t});\n\t\treturn this.fileSearchView;\n\t}\n\n\tprivate getCommandPaletteView(): CommandPaletteView {\n\t\tthis.commandPaletteView ??= new CommandPaletteView({\n\t\t\teditor: this.editor,\n\t\t\tmodalManager: this.modalManager,\n\t\t\tui: this.ui,\n\t\t\tgetCommands: () => this.slashCommands,\n\t\t\tgetRecentCommands: () =>\n\t\t\t\tthis.slashHintController?.getRecentCommands() ?? this.recentCommands,\n\t\t\tgetFavoriteCommands: () =>\n\t\t\t\tthis.slashHintController?.getFavoriteCommands() ??\n\t\t\t\tthis.favoriteCommands,\n\t\t\tonToggleFavorite: (name) =>\n\t\t\t\tthis.slashHintController?.toggleFavoriteCommand(name),\n\t\t});\n\t\treturn this.commandPaletteView;\n\t}\n\n\tprivate getUserMessageSelectorView(): UserMessageSelectorView {\n\t\tthis.userMessageSelectorView ??= new UserMessageSelectorView({\n\t\t\tagent: this.agent,\n\t\t\tsessionManager: this.sessionManager,\n\t\t\teditor: this.editor,\n\t\t\tmodalManager: this.modalManager,\n\t\t\tui: this.ui,\n\t\t\tnotificationView: this.notificationView,\n\t\t\tonBranchCreated: () => {\n\t\t\t\t// Complete UI cleanup after branching (same as resetConversation)\n\t\t\t\tthis.sessionContext.resetArtifacts();\n\t\t\t\tthis.toolOutputView.clearTrackedComponents();\n\t\t\t\tthis.chatContainer.clear();\n\t\t\t\tthis.scrollContainer.clearHistory();\n\t\t\t\tthis.startupContainer.clear();\n\t\t\t\tthis.planView.syncHintWithStore();\n\t\t\t\tthis.footerHintsController.planHint = null;\n\t\t\t\tthis.footer.updateState(this.agent.state);\n\t\t\t\tthis.refreshFooterHint();\n\t\t\t\tthis.renderInitialMessages(this.agent.state);\n\t\t\t\tthis.ui.requestRender();\n\t\t\t},\n\t\t});\n\t\treturn this.userMessageSelectorView;\n\t}\n\n\tprivate getTreeSelectorView(): TreeSelectorView {\n\t\tthis.treeSelectorView ??= new TreeSelectorView({\n\t\t\tagent: this.agent,\n\t\t\tsessionManager: this.sessionManager,\n\t\t\teditor: this.editor,\n\t\t\tmodalManager: this.modalManager,\n\t\t\tui: this.ui,\n\t\t\tnotificationView: this.notificationView,\n\t\t\tonNavigated: () => {\n\t\t\t\tthis.sessionContext.resetArtifacts();\n\t\t\t\tthis.toolOutputView.clearTrackedComponents();\n\t\t\t\tthis.chatContainer.clear();\n\t\t\t\tthis.scrollContainer.clearHistory();\n\t\t\t\tthis.startupContainer.clear();\n\t\t\t\tthis.planView.syncHintWithStore();\n\t\t\t\tthis.footerHintsController.planHint = null;\n\t\t\t\tthis.footer.updateState(this.agent.state);\n\t\t\t\tthis.refreshFooterHint();\n\t\t\t\tthis.renderInitialMessages(this.agent.state);\n\t\t\t\tthis.ui.requestRender();\n\t\t\t},\n\t\t});\n\t\treturn this.treeSelectorView;\n\t}\n\n\tprivate getQueueModeSelectorView(): QueueModeSelectorView {\n\t\tthis.queueModeSelectorView ??= new QueueModeSelectorView({\n\t\t\tui: this.ui,\n\t\t\tmodalManager: this.modalManager,\n\t\t\tnotificationView: this.notificationView,\n\t\t\tonModeSelected: (kind, mode) => this.queueController.setMode(kind, mode),\n\t\t});\n\t\treturn this.queueModeSelectorView;\n\t}\n\n\tprivate getQueuePanelController(): QueuePanelController | null {\n\t\tif (!this.queueController.hasQueue()) {\n\t\t\treturn null;\n\t\t}\n\t\tthis.queuePanelController ??= new QueuePanelController({\n\t\t\tqueueController: this.queueController,\n\t\t\tmodalManager: this.modalManager,\n\t\t\tui: this.ui,\n\t\t\tnotificationView: this.notificationView,\n\t\t\tqueueModeSelectorView: this.getQueueModeSelectorView(),\n\t\t\tchatContainer: this.chatContainer,\n\t\t});\n\t\treturn this.queuePanelController;\n\t}\n\n\tprivate getBranchController(): BranchController {\n\t\tthis.branchController ??= createBranchController({\n\t\t\tcallbacks: {\n\t\t\t\tisAgentRunning: () => this.isAgentRunning,\n\t\t\t\tgetMessages: () => this.agent.state.messages ?? [],\n\t\t\t\tshowSelector: () => this.getUserMessageSelectorView().show(),\n\t\t\t\tcreateBranchedSession: (count) =>\n\t\t\t\t\tthis.sessionManager.createBranchedSession(this.agent.state, count),\n\t\t\t\tsetSessionFile: (path) => this.sessionManager.setSessionFile(path),\n\t\t\t\tresetConversation: (messages, seed, notification) =>\n\t\t\t\t\tthis.resetConversation(messages, seed, notification, {\n\t\t\t\t\t\tpreserveSession: true,\n\t\t\t\t\t}),\n\t\t\t\taddContent: (text) => {\n\t\t\t\t\tthis.chatContainer.addChild(new Spacer(1));\n\t\t\t\t\tthis.chatContainer.addChild(new Text(text, 1, 0));\n\t\t\t\t},\n\t\t\t\trequestRender: () => this.ui.requestRender(),\n\t\t\t},\n\t\t});\n\t\treturn this.branchController;\n\t}\n\n\tprivate getClearController(): ClearController {\n\t\tthis.clearController ??= createClearController({\n\t\t\tcallbacks: {\n\t\t\t\tabortAndWait: async () => {\n\t\t\t\t\tthis.agent.abort();\n\t\t\t\t\tawait this.agent.waitForIdle();\n\t\t\t\t},\n\t\t\t\tsetAgentRunning: (running) => {\n\t\t\t\t\tthis.isAgentRunning = running;\n\t\t\t\t},\n\t\t\t\tcancelQueuedPrompts: () =>\n\t\t\t\t\tthis.queueController.cancelAll({ silent: true }),\n\t\t\t\tstopLoader: () => this.loaderView.stop(),\n\t\t\t\tclearStatusContainer: () => this.statusContainer.clear(),\n\t\t\t\tresetAgent: () => this.agent.reset(),\n\t\t\t\tresetSession: () => this.sessionManager.reset(),\n\t\t\t\tresetArtifacts: () => this.sessionContext.resetArtifacts(),\n\t\t\t\tclearActiveSkills: () => this.skillsController.clearActiveSkills(),\n\t\t\t\tclearToolTracking: () => this.toolOutputView.clearTrackedComponents(),\n\t\t\t\tclearChatContainer: () => this.chatContainer.clear(),\n\t\t\t\tclearScrollHistory: () => this.scrollContainer.clearHistory(),\n\t\t\t\tclearStartupContainer: () => this.startupContainer.clear(),\n\t\t\t\tsyncPlanHint: () => this.planView.syncHintWithStore(),\n\t\t\t\tsetPlanHint: (hint) => {\n\t\t\t\t\tthis.footerHintsController.planHint = hint;\n\t\t\t\t},\n\t\t\t\tclearEditor: () => this.editor.setText(\"\"),\n\t\t\t\tclearPendingTools: () => this.pendingTools.clear(),\n\t\t\t\tclearInterruptState: () => this.interruptController.clear(),\n\t\t\t\trenderInitialMessages: (state) => this.renderInitialMessages(state),\n\t\t\t\tgetAgentState: () => this.agent.state,\n\t\t\t\tupdateFooterState: (state) => this.footer.updateState(state),\n\t\t\t\trefreshFooterHint: () => this.refreshFooterHint(),\n\t\t\t\trunSessionEndHooks: (reason) =>\n\t\t\t\t\tapplySessionEndHooks({\n\t\t\t\t\t\tagent: this.agent,\n\t\t\t\t\t\tsessionManager: this.sessionManager,\n\t\t\t\t\t\tcwd: process.cwd(),\n\t\t\t\t\t\treason,\n\t\t\t\t\t}),\n\t\t\t\trunSessionStartHooks: (source) =>\n\t\t\t\t\tapplySessionStartHooks({\n\t\t\t\t\t\tagent: this.agent,\n\t\t\t\t\t\tsessionManager: this.sessionManager,\n\t\t\t\t\t\tcwd: process.cwd(),\n\t\t\t\t\t\tsource,\n\t\t\t\t\t}),\n\t\t\t\tshowSuccess: (msg) => this.notificationView.showToast(msg, \"success\"),\n\t\t\t\tshowError: (msg) => {\n\t\t\t\t\tthis.chatContainer.addChild(new Spacer(1));\n\t\t\t\t\tthis.chatContainer.addChild(new Text(msg, 1, 1));\n\t\t\t\t},\n\t\t\t\trequestRender: () => this.ui.requestRender(),\n\t\t\t},\n\t\t});\n\t\treturn this.clearController;\n\t}\n\n\tprivate getCustomCommandsController(): CustomCommandsController {\n\t\tthis.customCommandsController ??= createCustomCommandsController({\n\t\t\tcwd: process.cwd(),\n\t\t\tcallbacks: {\n\t\t\t\taddContent: (text) => {\n\t\t\t\t\tthis.chatContainer.addChild(new Spacer(1));\n\t\t\t\t\tthis.chatContainer.addChild(new Text(text, 1, 0));\n\t\t\t\t},\n\t\t\t\tsetEditorText: (text) => this.editor.setText(text),\n\t\t\t\tshowToast: (msg, type) => this.notificationView.showToast(msg, type),\n\t\t\t\trequestRender: () => this.ui.requestRender(),\n\t\t\t},\n\t\t});\n\t\treturn this.customCommandsController;\n\t}\n\n\tasync handleEvent(event: AgentEvent, state: AgentState): Promise<void> {\n\t\tthis.perfCollector.handleAgentEvent(event);\n\t\tawait this.agentEventBridge.handleEvent(event, state);\n\t\tthis.queueController.syncFromAgent();\n\t}\n\n\trenderInitialMessages(state: AgentState): void {\n\t\tthis.sessionStateController.renderInitialMessages(state);\n\t}\n\n\tprivate renderConversationView(): void {\n\t\tthis.sessionStateController.renderConversationView();\n\t}\n\n\tasync getUserInput(): Promise<PromptPayload> {\n\t\treturn this.inputController.getUserInput();\n\t}\n\n\tsetInterruptCallback(\n\t\tcallback: (options?: { keepPartial?: boolean }) => void,\n\t): void {\n\t\tthis.inputController.setInterruptCallback(callback);\n\t}\n\n\tprivate async handleCtrlC(): Promise<void> {\n\t\tconst bashModeView = this.bashModeView;\n\t\tif (bashModeView?.isCommandRunning()) {\n\t\t\tif (bashModeView.abortCurrentCommand()) {\n\t\t\t\tthis.runController.recordCtrlC();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tawait this.runController.handleCtrlC();\n\t}\n\n\tprivate renderHeader(): void {\n\t\tthis.headerContainer.clear();\n\t\tthis.viewportController.markHeaderDirty();\n\n\t\t// The full instruction panel is helpful but very tall; when it pushes the UI\n\t\t// into scrollback it becomes a major source of flicker (terminals can't update\n\t\t// scrollback, so we end up full-redrawing). Default to a compact header unless\n\t\t// we have enough vertical room.\n\t\tconst rows = process.stdout.rows ?? 24;\n\t\tconst showFullPanel = rows >= 40;\n\n\t\tif (showFullPanel) {\n\t\t\tthis.headerContainer.addChild(new Spacer(1));\n\t\t\tthis.headerContainer.addChild(\n\t\t\t\tnew InstructionPanelComponent(this.version),\n\t\t\t);\n\t\t\tthis.headerContainer.addChild(new Spacer(1));\n\t\t\treturn;\n\t\t}\n\n\t\tconst title =\n\t\t\tchalk.bold(`maestro v${this.version}`) + chalk.gray(\" · EvalOps\");\n\t\tconst hintParts = [\n\t\t\t`${chalk.gray(\"esc\")} interrupt`,\n\t\t\t`${chalk.gray(\"ctrl+c\")} clear`,\n\t\t\t`${chalk.gray(\n\t\t\t\tgetTuiKeybindingLabel(\"command-palette\").toLowerCase(),\n\t\t\t)} palette`,\n\t\t\t`${chalk.gray(\"/help\")} commands`,\n\t\t];\n\t\tconst hints = hintParts.join(chalk.gray(\" │ \"));\n\t\tthis.headerContainer.addChild(new Text(`${title}\\n${hints}`, 1, 0));\n\t\tthis.headerContainer.addChild(new Spacer(1));\n\t}\n\n\tprivate handleContextCommand(_context: CommandExecutionContext): void {\n\t\tconst contextView = new ContextView({\n\t\t\tstate: this.agent.state,\n\t\t\tonClose: () => this.modalManager.pop(),\n\t\t});\n\t\tthis.modalManager.push(contextView);\n\t}\n\n\tprivate updateQueuedInputPreview(): void {\n\t\tconst preview = this.queueController.buildInlinePreview();\n\t\tthis.queuedInputPreview.setText(preview ? chalk.dim(preview) : \"\");\n\t\tthis.viewportController.markEditorDirty();\n\t\tthis.updateScrollViewport();\n\t}\n\n\tprivate editLastQueuedFollowUp(): boolean {\n\t\tif (this.queueController.getQueuedFollowUpCount() === 0) {\n\t\t\treturn false;\n\t\t}\n\t\tconst currentDraft = this.captureEditedQueuedFollowUpDraft();\n\t\tvoid this.rotateQueuedFollowUpForEditing(currentDraft);\n\t\treturn true;\n\t}\n\n\tprivate restoreQueuedPromptBatchToEditor(entries: QueuedPrompt[]): void {\n\t\tif (entries.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tthis.editingQueuedFollowUp =\n\t\t\tentries.length === 1 && entries[0]?.kind === \"followUp\"\n\t\t\t\t? entries[0]\n\t\t\t\t: null;\n\t\tthis.attachmentController.clearPendingAttachments();\n\t\tif (entries.some((entry) => (entry.attachments?.length ?? 0) > 0)) {\n\t\t\tthis.attachmentController.restoreQueuedAttachments(entries);\n\t\t} else {\n\t\t\tthis.editor.setText(entries.map((entry) => entry.text).join(\"\\n\\n\"));\n\t\t}\n\t\tthis.ui.requestRender();\n\t}\n\n\tprivate captureCurrentComposerDraftForQueueRestore(): QueuedPrompt | null {\n\t\tconst payload = this.attachmentController.snapshotAttachments(\n\t\t\tthis.editor.getText(),\n\t\t);\n\t\tconst hasText = payload.text.trim().length > 0;\n\t\tconst hasAttachments = (payload.attachments?.length ?? 0) > 0;\n\t\tif (!hasText && !hasAttachments) {\n\t\t\treturn null;\n\t\t}\n\t\treturn {\n\t\t\tid: 0,\n\t\t\tcreatedAt: Date.now(),\n\t\t\tkind: \"prompt\",\n\t\t\ttext: payload.text,\n\t\t\tattachments: payload.attachments,\n\t\t};\n\t}\n\n\tprivate captureEditedQueuedFollowUpDraft(): QueuedPrompt | null {\n\t\tif (!this.editingQueuedFollowUp) {\n\t\t\treturn null;\n\t\t}\n\t\tconst payload = this.attachmentController.snapshotAttachments(\n\t\t\tthis.editor.getText(),\n\t\t);\n\t\tconst hasText = payload.text.trim().length > 0;\n\t\tconst hasAttachments = (payload.attachments?.length ?? 0) > 0;\n\t\tif (!hasText && !hasAttachments) {\n\t\t\treturn null;\n\t\t}\n\t\tif (payload.text.trimStart().startsWith(\"/\")) {\n\t\t\treturn null;\n\t\t}\n\t\treturn {\n\t\t\t...this.editingQueuedFollowUp,\n\t\t\ttext: payload.text,\n\t\t\tattachments: payload.attachments,\n\t\t};\n\t}\n\n\tprivate async rotateQueuedFollowUpForEditing(\n\t\tcurrentDraft: QueuedPrompt | null,\n\t): Promise<void> {\n\t\ttry {\n\t\t\tconst restored =\n\t\t\t\tawait this.queueController.restoreQueuedFollowUpForEditing(\n\t\t\t\t\tcurrentDraft,\n\t\t\t\t);\n\t\t\tif (!restored) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.restoreQueuedPromptBatchToEditor([restored]);\n\t\t} catch (error) {\n\t\t\tthis.showError(\n\t\t\t\terror instanceof Error\n\t\t\t\t\t? error.message\n\t\t\t\t\t: \"Failed to rotate queued follow-up for editing.\",\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate mergeQueuedPromptBatch(entries: QueuedPrompt[]): PromptPayload {\n\t\tconst text = entries\n\t\t\t.map((entry) => entry.text.trim())\n\t\t\t.filter((segment) => segment.length > 0)\n\t\t\t.join(\"\\n\\n\");\n\t\tconst attachments = entries.flatMap((entry) => entry.attachments ?? []);\n\t\treturn {\n\t\t\ttext,\n\t\t\tattachments: attachments.length > 0 ? attachments : undefined,\n\t\t};\n\t}\n\n\tprivate async handleInterruptedQueue(options: {\n\t\tkeepPartial: boolean;\n\t}): Promise<void> {\n\t\tif (!options.keepPartial) {\n\t\t\tconst steeringBatch =\n\t\t\t\tthis.queueController.drainSteeringBatchForInterrupt();\n\t\t\tif (steeringBatch.length > 0) {\n\t\t\t\ttry {\n\t\t\t\t\tawait this.agent.waitForIdle();\n\t\t\t\t\tconst payload = this.mergeQueuedPromptBatch(steeringBatch);\n\t\t\t\t\tif (\n\t\t\t\t\t\tpayload.text.trim().length > 0 ||\n\t\t\t\t\t\t(payload.attachments?.length ?? 0) > 0\n\t\t\t\t\t) {\n\t\t\t\t\t\tvoid runUserPromptWithRecovery({\n\t\t\t\t\t\t\tagent: this.agent,\n\t\t\t\t\t\t\tsessionManager: this.sessionManager,\n\t\t\t\t\t\t\tcwd: process.cwd(),\n\t\t\t\t\t\t\tprompt: payload.text,\n\t\t\t\t\t\t\tattachmentCount: payload.attachments?.length ?? 0,\n\t\t\t\t\t\t\tattachmentNames: payload.attachments?.map(\n\t\t\t\t\t\t\t\t(attachment) => attachment.fileName,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\texecute: () =>\n\t\t\t\t\t\t\t\tthis.agent.prompt(payload.text, payload.attachments),\n\t\t\t\t\t\t\tgetPostKeepMessages: withMcpPostKeepMessages(\n\t\t\t\t\t\t\t\t(preservedMessages) =>\n\t\t\t\t\t\t\t\t\tthis.collectActiveSkillMessagesForCompaction(\n\t\t\t\t\t\t\t\t\t\tpreservedMessages,\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tprofileName: this.profileName,\n\t\t\t\t\t\t\tcliOverrides: this.cliOverrides,\n\t\t\t\t\t\t}).catch((error) => {\n\t\t\t\t\t\t\tthis.restoreQueuedPromptBatchToEditor(steeringBatch);\n\t\t\t\t\t\t\tconst message =\n\t\t\t\t\t\t\t\terror instanceof Error\n\t\t\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t\t\t: String(error ?? \"unknown\");\n\t\t\t\t\t\t\tthis.notificationView.showError(\n\t\t\t\t\t\t\t\t`Failed to submit queued steering: ${message}`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tthis.notificationView.showToast(\n\t\t\t\t\t\tsteeringBatch.length === 1\n\t\t\t\t\t\t\t? \"Submitting queued steer.\"\n\t\t\t\t\t\t\t: `Submitting ${steeringBatch.length} queued steers.`,\n\t\t\t\t\t\t\"info\",\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthis.restoreQueuedPromptBatchToEditor(steeringBatch);\n\t\t\t\t\tconst message =\n\t\t\t\t\t\terror instanceof Error ? error.message : String(error ?? \"unknown\");\n\t\t\t\t\tthis.notificationView.showError(\n\t\t\t\t\t\t`Failed to submit queued steering: ${message}`,\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst currentDraft = this.captureCurrentComposerDraftForQueueRestore();\n\t\tconst restored = this.queueController.restoreQueuedPrompts(currentDraft);\n\t\tthis.restoreQueuedPromptBatchToEditor(restored);\n\t}\n\n\tprivate handleFooterCommand(context: CommandExecutionContext): void {\n\t\tthis.uiStateController.handleFooterCommand(context, {\n\t\t\tgetToastHistory: (count: number) => this.footer.getToastHistory(count),\n\t\t\tclearAlerts: () => this.footer.clearAlerts(),\n\t\t});\n\t}\n\n\tprivate handleCompactToolsCommand(rawInput: string): void {\n\t\tthis.toolOutputView.handleCompactToolsCommand(rawInput);\n\t\tthis.persistUiState();\n\t}\n\n\tprivate handleSteerCommand(context: CommandExecutionContext): void {\n\t\tconst text = context.argumentText.trim();\n\t\tif (!text) {\n\t\t\tcontext.showError(\"Usage: /steer <message>\");\n\t\t\treturn;\n\t\t}\n\n\t\tconst wasRunning = this.isAgentRunning;\n\t\tif (wasRunning && !this.queueController.canQueueSteering()) {\n\t\t\tcontext.showError(\n\t\t\t\t\"Steering mode set to one-at-a-time. Use /queue mode steer all to allow multiple steering messages.\",\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tif (!wasRunning) {\n\t\t\tvoid this.inputController.handleTextSubmit(text);\n\t\t\treturn;\n\t\t}\n\t\tvoid this.agent\n\t\t\t.steer(this.buildQueuedUserMessage({ text }))\n\t\t\t.then(() => {\n\t\t\t\tthis.queueController.syncFromAgent();\n\t\t\t\tthis.notificationView.showToast(\n\t\t\t\t\t\"Queued steer for the next tool boundary.\",\n\t\t\t\t\t\"info\",\n\t\t\t\t);\n\t\t\t\tthis.refreshFooterHint();\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tconst message =\n\t\t\t\t\terror instanceof Error ? error.message : String(error ?? \"unknown\");\n\t\t\t\tcontext.showError(`Failed to queue steer: ${message}`);\n\t\t\t});\n\t}\n\n\tprivate async handleReviewCommand(\n\t\t_context: CommandExecutionContext,\n\t): Promise<void> {\n\t\tif (this.isAgentRunning) {\n\t\t\tthis.notificationView.showInfo(\n\t\t\t\t\"Wait for the current run to finish before starting /review.\",\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tconst reviewContext = this.gitView.getReviewContext();\n\t\tif (!reviewContext.ok) {\n\t\t\tthis.notificationView.showError(\n\t\t\t\treviewContext.error ?? \"Failed to collect git data for review.\",\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tconst hasDiff =\n\t\t\treviewContext.stagedDiff.trim().length > 0 ||\n\t\t\treviewContext.worktreeDiff.trim().length > 0;\n\t\tif (!hasDiff) {\n\t\t\tthis.notificationView.showInfo(\"Working tree clean. Nothing to review.\");\n\t\t\treturn;\n\t\t}\n\n\t\tconst prompt = buildReviewPrompt(reviewContext);\n\t\ttry {\n\t\t\tawait runUserPromptWithRecovery({\n\t\t\t\tagent: this.agent,\n\t\t\t\tsessionManager: this.sessionManager,\n\t\t\t\tcwd: process.cwd(),\n\t\t\t\tprompt,\n\t\t\t\texecute: () => this.agent.prompt(prompt),\n\t\t\t\tgetPostKeepMessages: withMcpPostKeepMessages((preservedMessages) =>\n\t\t\t\t\tthis.collectActiveSkillMessagesForCompaction(preservedMessages),\n\t\t\t\t),\n\t\t\t\tprofileName: this.profileName,\n\t\t\t\tcliOverrides: this.cliOverrides,\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tconst message =\n\t\t\t\terror instanceof Error ? error.message : String(error ?? \"unknown\");\n\t\t\tthis.notificationView.showError(\n\t\t\t\t`/review failed to run: ${message.slice(0, 200)}`,\n\t\t\t);\n\t\t}\n\t}\n\n\t// Skills, history rendering, and formatting have been extracted to:\n\t// - skills-controller.ts\n\t// - history-controller.ts\n\t// - utils/text-preview.ts\n\n\tprivate async handleStatsCommand(\n\t\t_context: CommandExecutionContext,\n\t): Promise<void> {\n\t\tthis.getDiagnosticsView().handleStatusCommand();\n\t\tconst costContext = this.createSyntheticContext(\"cost\", \"today\");\n\t\tthis.getCostView().handleCostCommand(costContext);\n\t}\n\n\tprivate clearEditor(): void {\n\t\tthis.editor.setText(\"\");\n\t\tthis.attachmentController.clearPendingAttachments();\n\t\tthis.editingQueuedFollowUp = null;\n\t\tthis.ui.requestRender();\n\t}\n\n\tprivate async handleFollowUpSubmit(text: string): Promise<void> {\n\t\tif (this.isAgentRunning && !this.queueController.canQueueFollowUp()) {\n\t\t\tthis.notificationView.showInfo(\n\t\t\t\t\"Follow-up mode set to one-at-a-time. Use /queue mode followup all to enable follow-ups while running.\",\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tif (this.isAgentRunning) {\n\t\t\tconst payload = await this.inputController.prepareQueuedPayload(text);\n\t\t\tif (!payload) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait this.agent.followUp(this.buildQueuedUserMessage(payload));\n\t\t\tthis.clearEditor();\n\t\t\tthis.queueController.syncFromAgent();\n\t\t\tthis.notificationView.showToast(\"Queued follow-up message.\", \"info\");\n\t\t\tthis.refreshFooterHint();\n\t\t\treturn;\n\t\t}\n\t\tconst queued = await this.inputController.handleFollowUpSubmit(text);\n\t\tif (!queued) {\n\t\t\treturn;\n\t\t}\n\t\tthis.clearEditor();\n\t\tthis.refreshFooterHint();\n\t}\n\n\tprivate async handleSteerSubmit(text: string): Promise<void> {\n\t\tconst payload = await this.inputController.prepareQueuedPayload(text);\n\t\tif (!payload) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.isAgentRunning && !this.queueController.canQueueSteering()) {\n\t\t\tthis.notificationView.showInfo(\n\t\t\t\t\"Steering mode set to one-at-a-time. Use /queue mode steer all to enable multiple steering messages.\",\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tif (this.isAgentRunning) {\n\t\t\tawait this.agent.steer(this.buildQueuedUserMessage(payload));\n\t\t\tthis.clearEditor();\n\t\t\tthis.queueController.syncFromAgent();\n\t\t\tthis.notificationView.showToast(\n\t\t\t\t\"Queued steer for the next tool boundary.\",\n\t\t\t\t\"info\",\n\t\t\t);\n\t\t\tthis.refreshFooterHint();\n\t\t\treturn;\n\t\t}\n\t\tthis.inputController.submitPreparedPayload(payload);\n\t}\n\n\tprivate buildQueuedUserMessage(payload: PromptPayload): AppMessage {\n\t\treturn {\n\t\t\trole: \"user\",\n\t\t\tcontent: payload.text,\n\t\t\tattachments: payload.attachments?.length\n\t\t\t\t? payload.attachments\n\t\t\t\t: undefined,\n\t\t\ttimestamp: Date.now(),\n\t\t};\n\t}\n\n\t// consumePendingAttachmentMarkers, handleClipboardImagePaste,\n\t// restoreQueuedAttachments extracted to attachment-controller.ts\n\t// updateTerminalTitle, clearTerminalTitle, handleAutoRetryEvent,\n\t// handleExternalEditor, handleCtrlZ, handleTestVerificationResult,\n\t// describeTelemetryStatus extracted to misc-handlers.ts\n\n\tprivate handleApprovalRequired(request: ActionApprovalRequest): void {\n\t\tthis.approvalController?.enqueue(request);\n\t\tconst component = this.pendingTools.get(request.id);\n\t\tcomponent?.setPendingStatus(\n\t\t\trequest.actionDescription ?? request.reason ?? \"Awaiting approval\",\n\t\t);\n\t\tthis.ui.requestRender();\n\t}\n\n\tprivate handleApprovalResolved(\n\t\trequest: ActionApprovalRequest,\n\t\tdecision: ActionApprovalDecision,\n\t): void {\n\t\tthis.approvalController?.resolve(request, decision);\n\t\tconst component = this.pendingTools.get(request.id);\n\t\tcomponent?.setPendingStatus(null);\n\t\tthis.ui.requestRender();\n\t}\n\n\tprivate handleToolRetryRequired(request: ToolRetryRequest): void {\n\t\tthis.toolRetryController?.enqueue(request);\n\t\tconst component = this.pendingTools.get(request.toolCallId);\n\t\tcomponent?.setPendingStatus(request.summary ?? \"Retry required\");\n\t\tthis.ui.requestRender();\n\t}\n\n\tprivate handleToolRetryResolved(\n\t\trequest: ToolRetryRequest,\n\t\tdecision: ToolRetryDecision,\n\t): void {\n\t\tthis.toolRetryController?.resolve(request, decision);\n\t\tconst component = this.pendingTools.get(request.toolCallId);\n\t\tcomponent?.setPendingStatus(null);\n\t\tif (decision.action === \"abort\") {\n\t\t\tthis.agent.abort();\n\t\t}\n\t\tthis.ui.requestRender();\n\t}\n\n\tprivate persistUiState(extra?: Partial<UiState>): void {\n\t\tconst recentCommands =\n\t\t\tthis.slashHintController?.getRecentCommands() ?? this.recentCommands;\n\t\tconst favoriteCommands =\n\t\t\tthis.slashHintController?.getFavoriteCommands() ?? this.favoriteCommands;\n\t\tsaveUiState({\n\t\t\tqueueMode: this.queueController.getFollowUpMode(),\n\t\t\tsteeringMode: this.queueController.getSteeringMode(),\n\t\t\tfollowUpMode: this.queueController.getFollowUpMode(),\n\t\t\tcompactTools: this.toolOutputView.isCompact(),\n\t\t\tfooterMode: this.footerMode,\n\t\t\treducedMotion: this.reducedMotion,\n\t\t\tcleanMode: this.cleanMode,\n\t\t\thideThinkingBlocks: this.hideThinkingBlocks,\n\t\t\trecentCommands,\n\t\t\tfavoriteCommands: Array.from(favoriteCommands),\n\t\t\t...extra,\n\t\t});\n\t\tsaveCommandPrefs({\n\t\t\tfavorites: Array.from(favoriteCommands),\n\t\t\trecents: recentCommands,\n\t\t});\n\t}\n\n\tprivate resetConversation(\n\t\tmessages: AppMessage[],\n\t\teditorSeed?: string,\n\t\ttoastMessage?: string,\n\t\toptions?: { preserveSession?: boolean; persistMessages?: boolean },\n\t): void {\n\t\tthis.sessionStateController.resetConversation(\n\t\t\tmessages,\n\t\t\teditorSeed,\n\t\t\ttoastMessage,\n\t\t\toptions,\n\t\t);\n\t}\n\n\tprivate createCommandContext({\n\t\tcommand,\n\t\trawInput,\n\t\targumentText,\n\t\tparsedArgs,\n\t}: {\n\t\tcommand: SlashCommand;\n\t\trawInput: string;\n\t\targumentText: string;\n\t\tparsedArgs?: Record<string, unknown>;\n\t}): CommandExecutionContext {\n\t\treturn {\n\t\t\tcommand,\n\t\t\trawInput,\n\t\t\targumentText,\n\t\t\tparsedArgs,\n\t\t\tshowInfo: (message: string) => this.notificationView.showInfo(message),\n\t\t\tshowError: (message: string) => this.notificationView.showError(message),\n\t\t\trenderHelp: () => this.renderCommandHelp(command),\n\t\t};\n\t}\n\n\tprivate createSyntheticContext(\n\t\tcommandName: string,\n\t\targumentText: string,\n\t): CommandExecutionContext {\n\t\tconst command = this.getSlashCommandByName(commandName);\n\t\treturn {\n\t\t\tcommand,\n\t\t\trawInput: `/${commandName}${argumentText ? ` ${argumentText}` : \"\"}`,\n\t\t\targumentText,\n\t\t\tshowInfo: (message: string) => this.notificationView.showInfo(message),\n\t\t\tshowError: (message: string) => this.notificationView.showError(message),\n\t\t\trenderHelp: () => this.renderCommandHelp(command),\n\t\t};\n\t}\n\n\tprivate getSlashCommandByName(name: string): SlashCommand {\n\t\treturn (\n\t\t\tthis.slashCommands.find(\n\t\t\t\t(command) => command.name.toLowerCase() === name.toLowerCase(),\n\t\t\t) ?? { name }\n\t\t);\n\t}\n\n\tprivate renderCommandHelp(command: SlashCommand): void {\n\t\tconst help = formatCommandHelp(command);\n\t\tthis.chatContainer.addChild(new Spacer(1));\n\t\tthis.chatContainer.addChild(new Text(help, 1, 0));\n\t\tthis.ui.requestRender();\n\t}\n\n\tprivate pushCommandOutput(text: string): void {\n\t\tthis.chatContainer.addChild(new Spacer(1));\n\t\tthis.chatContainer.addChild(new Text(text, 1, 0));\n\t\tthis.ui.requestRender();\n\t}\n\n\tprivate dismissWelcomeAnimation(): void {\n\t\tif (!this.welcomeAnimation) {\n\t\t\treturn;\n\t\t}\n\t\tthis.welcomeAnimation.stop();\n\t\tthis.chatContainer.removeChild(this.welcomeAnimation);\n\t\tthis.welcomeAnimation = null;\n\t}\n\n\tprivate shouldDisableAnimations(): boolean {\n\t\t// Reduced motion is a user preference (and defaults on SSH/tmux).\n\t\t// MAESTRO_DISABLE_ANIMATIONS is an explicit hard-disable switch.\n\t\treturn this.reducedMotion || areAnimationsDisabled();\n\t}\n\n\tshowError(errorMessage: string): void {\n\t\tthis.notificationView.showError(errorMessage);\n\t\tthis.provideFailureHints(errorMessage);\n\t}\n\n\tshowInfo(message: string): void {\n\t\tthis.notificationView.showInfo(message);\n\t}\n\n\tpublic restoreActiveSkillsAfterCompaction(): number {\n\t\treturn this.skillsController.restoreActiveSkillsAfterCompaction();\n\t}\n\n\tpublic collectActiveSkillMessagesForCompaction(\n\t\tpreservedMessages?: AppMessage[],\n\t): AppMessage[] {\n\t\treturn this.skillsController.collectActiveSkillMessagesForCompaction(\n\t\t\tpreservedMessages,\n\t\t);\n\t}\n\n\tpublic collectOrderedCompactionRestorationMessages(\n\t\tpreservedMessages: AppMessage[],\n\t): AppMessage[] {\n\t\treturn [\n\t\t\t...collectPlanMessagesForCompaction(preservedMessages),\n\t\t\t...collectBackgroundTaskMessagesForCompaction(preservedMessages),\n\t\t\t...collectMcpMessagesForCompaction(\n\t\t\t\tpreservedMessages,\n\t\t\t\tmcpManager.getStatus().servers,\n\t\t\t),\n\t\t\t...this.collectActiveSkillMessagesForCompaction(preservedMessages),\n\t\t];\n\t}\n\n\tpublic refreshFooterHint(): void {\n\t\tthis.footerHintsController.refresh();\n\t}\n\n\tprivate buildWorkingFooterHint(): string {\n\t\treturn this.queueController.buildRunningHint({\n\t\t\tbaseHint: this.workingFooterHint,\n\t\t\tcanQueueFollowUp: this.canQueueFollowUpWhileRunning(),\n\t\t});\n\t}\n\n\tprivate canQueueFollowUpWhileRunning(): boolean {\n\t\tif (!this.isAgentRunning || !this.queueController.canQueueFollowUp()) {\n\t\t\treturn false;\n\t\t}\n\t\treturn canQueueFollowUpShortcut({\n\t\t\ttext: this.editor.getText(),\n\t\t\thasAttachments: this.attachmentController.hasPendingAttachments(),\n\t\t});\n\t}\n\n\tprivate handleEditorTyping(): void {\n\t\tthis.footer.clearToast();\n\t\tthis.slashHintController?.refreshSlashHintDebounced();\n\t}\n\n\tpublic extractTextFromAppMessage(message: AppMessage): string {\n\t\tconst rawContent = (message as { content?: unknown }).content;\n\t\tif (typeof rawContent === \"string\") {\n\t\t\treturn rawContent;\n\t\t}\n\t\tif (!Array.isArray(rawContent)) {\n\t\t\treturn \"\";\n\t\t}\n\t\tconst textParts: string[] = [];\n\t\tfor (const chunk of rawContent as Array<Record<string, unknown>>) {\n\t\t\tconst typedChunk = chunk as {\n\t\t\t\ttype?: unknown;\n\t\t\t\ttext?: unknown;\n\t\t\t\tthinking?: unknown;\n\t\t\t};\n\t\t\tconst type =\n\t\t\t\ttypeof typedChunk.type === \"string\" ? typedChunk.type : undefined;\n\t\t\tif (type === \"text\" && typeof typedChunk.text === \"string\") {\n\t\t\t\ttextParts.push(typedChunk.text);\n\t\t\t} else if (\n\t\t\t\ttype === \"thinking\" &&\n\t\t\t\ttypeof typedChunk.thinking === \"string\"\n\t\t\t) {\n\t\t\t\ttextParts.push(typedChunk.thinking);\n\t\t\t}\n\t\t}\n\t\treturn textParts.join(\"\\n\");\n\t}\n\n\tprivate maybeShowContextWarning(stats: FooterStats): void {\n\t\tthis.footerHintsController.maybeShowContextWarning(stats);\n\t}\n\n\tprivate provideFailureHints(message: string): void {\n\t\tconst normalized = message.toLowerCase();\n\t\tconst hints: string[] = [];\n\t\tif (/(api key|credential|unauthorized|forbidden|token)/.test(normalized)) {\n\t\t\thints.push(\"Check credentials with /diag keys\");\n\t\t}\n\t\tif (/(context|token|length|window)/.test(normalized)) {\n\t\t\thints.push(\"Use /compact or /share to trim history\");\n\t\t}\n\t\tif (/(tool|bash|edit|read)/.test(normalized)) {\n\t\t\thints.push(\"Inspect failures via /tools failures\");\n\t\t}\n\t\tif (!hints.length) {\n\t\t\treturn;\n\t\t}\n\t\tthis.notificationView.showInfo(`Hint: ${hints.join(\" • \")}`);\n\t}\n\n\tprivate applyLoadedSessionContext(): void {\n\t\tthis.sessionStateController.applyLoadedSessionContext();\n\t}\n\n\tprivate loadImportedSession(sessionFile: string): void {\n\t\tthis.sessionManager.setSessionFile(sessionFile);\n\t\tthis.applyLoadedSessionContext();\n\t\tconst loadedMessages = this.sessionManager.loadMessages();\n\t\tthis.sessionStateController.resetConversation(\n\t\t\tloadedMessages,\n\t\t\tundefined,\n\t\t\tformatLoadedSessionToast({\n\t\t\t\tid: this.sessionManager.getSessionId(),\n\t\t\t\tmessageCount: loadedMessages.length,\n\t\t\t}),\n\t\t\t{ preserveSession: true, persistMessages: false },\n\t\t);\n\t}\n\n\tprivate isMinimalMode(): boolean {\n\t\treturn this.minimalMode;\n\t}\n\n\tprivate showPerfReport(): void {\n\t\tconst snap = this.perfCollector.snapshot();\n\t\tthis.notificationView.showInfo(formatPerfReport(snap));\n\t}\n\n\tasync stop(): Promise<void> {\n\t\tawait this.agentEventBridge?.recordSessionClosed({\n\t\t\tcloseReason: \"MAESTRO_CLOSE_REASON_USER_STOPPED\",\n\t\t\tcloseMessage: \"TUI stopped\",\n\t\t});\n\t\tthis.slashHintController?.dispose();\n\t\tthis.loaderView.stop();\n\t\tthis.backgroundTasksController.stop();\n\t\tstopTuiKeybindingWatcher();\n\t\t// Clean up MCP and composer event listeners\n\t\tthis.mcpEventsController.stop();\n\t\tif (this.isInitialized) {\n\t\t\tthis.ui.stop();\n\t\t\tthis.isInitialized = false;\n\t\t}\n\t\tthis.miscHandlers.clearTerminalTitle();\n\t\t// End session recovery tracking and create final backup\n\t\tthis.sessionRecoveryManager.endSession();\n\t\t// Stop test verification service\n\t\tthis.testVerificationService?.stop();\n\t\tthis.footer.dispose();\n\t\tprocess.stdout.off(\"resize\", this.resizeHandler);\n\t}\n\n\tprivate async getActualAuthState() {\n\t\treturn getTuiAuthState(this.agent.state.model?.provider);\n\t}\n\n\tprivate async detectAndApplyTerminalTheme(): Promise<void> {\n\t\tconst auto = process.env.MAESTRO_TUI_AUTO_THEME;\n\t\tif (auto === \"0\" || auto === \"false\") return;\n\t\tconst detected = await probeTerminalBackground();\n\t\tif (!detected) return;\n\t\tconst current = getCurrentThemeName();\n\t\tif (current !== \"dark\" && current !== \"light\") return;\n\t\tif (detected === current) return;\n\t\tconst { success } = setTheme(detected);\n\t\tif (success) {\n\t\t\tthis.ui.requestRender();\n\t\t}\n\t}\n\n\tprivate configureRenderThrottle(): void {\n\t\tconst envValue = process.env.MAESTRO_TUI_RENDER_INTERVAL_MS;\n\t\tlet interval = Number.parseInt(envValue ?? \"\", 10);\n\t\tif (!Number.isFinite(interval)) {\n\t\t\tif (process.env.SSH_CONNECTION || process.env.SSH_TTY) {\n\t\t\t\tinterval = SSH_RENDER_INTERVAL_MS;\n\t\t\t} else {\n\t\t\t\tinterval = 0;\n\t\t\t}\n\t\t}\n\t\tthis.ui.setMinRenderInterval(Math.max(0, interval));\n\t}\n\n\tprivate refreshTerminalCapabilities(): void {\n\t\tthis.terminalCapabilities = {\n\t\t\tisTTY: Boolean(process.stdout.isTTY && process.stdin.isTTY),\n\t\t\tcolumns: process.stdout.columns ?? 80,\n\t\t\trows: process.stdout.rows ?? 24,\n\t\t\tcolorLevel: chalk.level || 0,\n\t\t};\n\t\tif (!this.zenMode) {\n\t\t\tthis.renderHeader();\n\t\t}\n\t\t// Update scroll viewport on resize\n\t\tthis.updateScrollViewport();\n\t}\n\n\t/**\n\t * Updates the scroll container's viewport height based on terminal size.\n\t * Called on init and resize.\n\t */\n\tprivate updateScrollViewport(options: { fast?: boolean } = {}): void {\n\t\tthis.viewportController.updateScrollViewport(options);\n\t}\n\n\t/**\n\t * Handles scroll keyboard shortcuts.\n\t * @returns true if the input was handled as a scroll command\n\t */\n\thandleScrollInput(data: string): boolean {\n\t\treturn this.scrollContainer.handleInput(data);\n\t}\n\n\t/**\n\t * Scrolls to the bottom of the chat and re-enables sticky scroll.\n\t */\n\tscrollToBottom(): void {\n\t\tthis.scrollContainer.scrollToBottom();\n\t\tthis.ui.requestRender();\n\t}\n\n\t/**\n\t * Scrolls up by one page.\n\t */\n\tscrollPageUp(): void {\n\t\tthis.scrollContainer.pageUp();\n\t\tthis.ui.requestRender();\n\t}\n\n\t/**\n\t * Scrolls down by one page.\n\t */\n\tscrollPageDown(): void {\n\t\tthis.scrollContainer.pageDown();\n\t\tthis.ui.requestRender();\n\t}\n\n\tprivate renderStartupAnnouncementsBlock(): void {\n\t\trenderStartupAnnouncements({\n\t\t\tcontainer: this.startupContainer,\n\t\t\tui: this.ui,\n\t\t\tupdateNotice: this.updateNotice,\n\t\t\tstartupChangelog: this.startupChangelog,\n\t\t\tstartupChangelogSummary: this.startupChangelogSummary,\n\t\t\tmodelScope: this.modelScope,\n\t\t\tonLayoutChange: () => {\n\t\t\t\tthis.viewportController.markStartupDirty();\n\t\t\t\tthis.updateScrollViewport();\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate handleKeybindingConfigReload(report: KeybindingConfigReport): void {\n\t\tconst nextIssueSummary = summarizeKeybindingConfigIssues(report);\n\t\tif (\n\t\t\tnextIssueSummary &&\n\t\t\tnextIssueSummary !== this.lastKeybindingIssueSummary\n\t\t) {\n\t\t\tthis.notificationView.showToast(nextIssueSummary, \"warn\");\n\t\t} else if (!nextIssueSummary && this.lastKeybindingIssueSummary) {\n\t\t\tthis.notificationView.showToast(\n\t\t\t\t\"Keyboard shortcuts config reloaded cleanly.\",\n\t\t\t\t\"success\",\n\t\t\t);\n\t\t}\n\t\tthis.lastKeybindingIssueSummary = nextIssueSummary;\n\t\tthis.refreshFooterHint();\n\t\tthis.renderStartupAnnouncementsBlock();\n\t\tthis.ui.requestRender();\n\t}\n\n\tprivate async runConnectivityProbe(): Promise<void> {\n\t\t// Fast, no-network probe: ensure a model is selected and transport is configured.\n\t\tconst state = this.agent.state;\n\t\tif (!state?.model) {\n\t\t\tthrow new Error(\"No default model configured. Use /model to select one.\");\n\t\t}\n\t\t// If transport exposes a light ping, use it without sending user content.\n\t\tawait this.agent.probeTransport().catch((error: unknown) => {\n\t\t\tconst message =\n\t\t\t\terror instanceof Error\n\t\t\t\t\t? error.message\n\t\t\t\t\t: \"Model connectivity probe failed. Check API key and network.\";\n\t\t\tthrow new Error(message);\n\t\t});\n\t}\n}\n"]}
@@ -1,27 +0,0 @@
1
- import type { CleanMode } from "../conversation/render-model.js";
2
- import type { FooterMode } from "./utils/footer-utils.js";
3
- export type QueueMode = "one" | "all";
4
- export interface UiState {
5
- queueMode?: QueueMode;
6
- steeringMode?: QueueMode;
7
- followUpMode?: QueueMode;
8
- compactTools?: boolean;
9
- footerMode?: FooterMode;
10
- zenMode?: boolean;
11
- cleanMode?: CleanMode;
12
- reducedMotion?: boolean;
13
- hideThinkingBlocks?: boolean;
14
- recentCommands?: string[];
15
- favoriteCommands?: string[];
16
- }
17
- export declare function loadUiState(): UiState;
18
- export declare function saveUiState(partial: UiState): void;
19
- export declare function loadCommandPrefs(): {
20
- favorites: string[];
21
- recents: string[];
22
- };
23
- export declare function saveCommandPrefs(prefs: {
24
- favorites: string[];
25
- recents: string[];
26
- }): void;
27
- //# sourceMappingURL=ui-state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ui-state.d.ts","sourceRoot":"","sources":["../../src/cli-tui/ui-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAGjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC;AAEtC,MAAM,WAAW,OAAO;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAQD,wBAAgB,WAAW,IAAI,OAAO,CA6DrC;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAKlD;AAED,wBAAgB,gBAAgB,IAAI;IACnC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB,CAsBA;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACvC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB,GAAG,IAAI,CAGP"}
@@ -1,88 +0,0 @@
1
- import { existsSync, readFileSync } from "node:fs";
2
- import { PATHS } from "../config/constants.js";
3
- import { writeJsonFile } from "../utils/fs.js";
4
- import { resolveEnvPath } from "../utils/path-expansion.js";
5
- const getUiStatePath = () => resolveEnvPath(process.env.MAESTRO_UI_STATE) ?? PATHS.UI_STATE_FILE;
6
- const getCommandPrefsPath = () => resolveEnvPath(process.env.MAESTRO_COMMAND_PREFS) ?? PATHS.COMMAND_PREFS_FILE;
7
- export function loadUiState() {
8
- const uiStatePath = getUiStatePath();
9
- if (!existsSync(uiStatePath)) {
10
- return {};
11
- }
12
- try {
13
- const raw = readFileSync(uiStatePath, "utf-8");
14
- const parsed = JSON.parse(raw);
15
- const legacyQueueMode = parsed.queueMode === "one" || parsed.queueMode === "all"
16
- ? parsed.queueMode
17
- : undefined;
18
- const steeringMode = parsed.steeringMode === "one" || parsed.steeringMode === "all"
19
- ? parsed.steeringMode
20
- : legacyQueueMode;
21
- const followUpMode = parsed.followUpMode === "one" || parsed.followUpMode === "all"
22
- ? parsed.followUpMode
23
- : legacyQueueMode;
24
- return {
25
- queueMode: legacyQueueMode,
26
- steeringMode,
27
- followUpMode,
28
- compactTools: typeof parsed.compactTools === "boolean"
29
- ? parsed.compactTools
30
- : undefined,
31
- footerMode: parsed.footerMode === "rich" || parsed.footerMode === "solo"
32
- ? parsed.footerMode
33
- : undefined,
34
- cleanMode: parsed.cleanMode === "soft" ||
35
- parsed.cleanMode === "aggressive" ||
36
- parsed.cleanMode === "off"
37
- ? parsed.cleanMode
38
- : undefined,
39
- zenMode: typeof parsed.zenMode === "boolean" ? parsed.zenMode : undefined,
40
- reducedMotion: typeof parsed.reducedMotion === "boolean"
41
- ? parsed.reducedMotion
42
- : undefined,
43
- hideThinkingBlocks: typeof parsed.hideThinkingBlocks === "boolean"
44
- ? parsed.hideThinkingBlocks
45
- : undefined,
46
- recentCommands: Array.isArray(parsed.recentCommands)
47
- ? parsed.recentCommands.filter((item) => typeof item === "string" && item.trim().length > 0)
48
- : undefined,
49
- favoriteCommands: Array.isArray(parsed.favoriteCommands)
50
- ? parsed.favoriteCommands.filter((item) => typeof item === "string" && item.trim().length > 0)
51
- : undefined,
52
- };
53
- }
54
- catch {
55
- return {};
56
- }
57
- }
58
- export function saveUiState(partial) {
59
- const current = loadUiState();
60
- const next = { ...current, ...partial };
61
- const uiStatePath = getUiStatePath();
62
- writeJsonFile(uiStatePath, next);
63
- }
64
- export function loadCommandPrefs() {
65
- const prefsPath = getCommandPrefsPath();
66
- if (!existsSync(prefsPath)) {
67
- return { favorites: [], recents: [] };
68
- }
69
- try {
70
- const raw = readFileSync(prefsPath, "utf-8");
71
- const parsed = JSON.parse(raw);
72
- const favorites = Array.isArray(parsed.favorites)
73
- ? parsed.favorites.filter((item) => typeof item === "string")
74
- : [];
75
- const recents = Array.isArray(parsed.recents)
76
- ? parsed.recents.filter((item) => typeof item === "string")
77
- : [];
78
- return { favorites, recents };
79
- }
80
- catch {
81
- return { favorites: [], recents: [] };
82
- }
83
- }
84
- export function saveCommandPrefs(prefs) {
85
- const prefsPath = getCommandPrefsPath();
86
- writeJsonFile(prefsPath, prefs);
87
- }
88
- //# sourceMappingURL=ui-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ui-state.js","sourceRoot":"","sources":["../../src/cli-tui/ui-state.ts"],"names":[],"mappings":"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","sourcesContent":["import { existsSync, readFileSync } from \"node:fs\";\nimport { PATHS } from \"../config/constants.js\";\nimport type { CleanMode } from \"../conversation/render-model.js\";\nimport { writeJsonFile } from \"../utils/fs.js\";\nimport { resolveEnvPath } from \"../utils/path-expansion.js\";\nimport type { FooterMode } from \"./utils/footer-utils.js\";\n\nexport type QueueMode = \"one\" | \"all\";\n\nexport interface UiState {\n\tqueueMode?: QueueMode;\n\tsteeringMode?: QueueMode;\n\tfollowUpMode?: QueueMode;\n\tcompactTools?: boolean;\n\tfooterMode?: FooterMode;\n\tzenMode?: boolean;\n\tcleanMode?: CleanMode;\n\treducedMotion?: boolean;\n\thideThinkingBlocks?: boolean;\n\trecentCommands?: string[];\n\tfavoriteCommands?: string[];\n}\n\nconst getUiStatePath = () =>\n\tresolveEnvPath(process.env.MAESTRO_UI_STATE) ?? PATHS.UI_STATE_FILE;\n\nconst getCommandPrefsPath = () =>\n\tresolveEnvPath(process.env.MAESTRO_COMMAND_PREFS) ?? PATHS.COMMAND_PREFS_FILE;\n\nexport function loadUiState(): UiState {\n\tconst uiStatePath = getUiStatePath();\n\tif (!existsSync(uiStatePath)) {\n\t\treturn {};\n\t}\n\ttry {\n\t\tconst raw = readFileSync(uiStatePath, \"utf-8\");\n\t\tconst parsed = JSON.parse(raw) as UiState;\n\t\tconst legacyQueueMode =\n\t\t\tparsed.queueMode === \"one\" || parsed.queueMode === \"all\"\n\t\t\t\t? parsed.queueMode\n\t\t\t\t: undefined;\n\t\tconst steeringMode =\n\t\t\tparsed.steeringMode === \"one\" || parsed.steeringMode === \"all\"\n\t\t\t\t? parsed.steeringMode\n\t\t\t\t: legacyQueueMode;\n\t\tconst followUpMode =\n\t\t\tparsed.followUpMode === \"one\" || parsed.followUpMode === \"all\"\n\t\t\t\t? parsed.followUpMode\n\t\t\t\t: legacyQueueMode;\n\t\treturn {\n\t\t\tqueueMode: legacyQueueMode,\n\t\t\tsteeringMode,\n\t\t\tfollowUpMode,\n\t\t\tcompactTools:\n\t\t\t\ttypeof parsed.compactTools === \"boolean\"\n\t\t\t\t\t? parsed.compactTools\n\t\t\t\t\t: undefined,\n\t\t\tfooterMode:\n\t\t\t\tparsed.footerMode === \"rich\" || parsed.footerMode === \"solo\"\n\t\t\t\t\t? parsed.footerMode\n\t\t\t\t\t: undefined,\n\t\t\tcleanMode:\n\t\t\t\tparsed.cleanMode === \"soft\" ||\n\t\t\t\tparsed.cleanMode === \"aggressive\" ||\n\t\t\t\tparsed.cleanMode === \"off\"\n\t\t\t\t\t? parsed.cleanMode\n\t\t\t\t\t: undefined,\n\t\t\tzenMode: typeof parsed.zenMode === \"boolean\" ? parsed.zenMode : undefined,\n\t\t\treducedMotion:\n\t\t\t\ttypeof parsed.reducedMotion === \"boolean\"\n\t\t\t\t\t? parsed.reducedMotion\n\t\t\t\t\t: undefined,\n\t\t\thideThinkingBlocks:\n\t\t\t\ttypeof parsed.hideThinkingBlocks === \"boolean\"\n\t\t\t\t\t? parsed.hideThinkingBlocks\n\t\t\t\t\t: undefined,\n\t\t\trecentCommands: Array.isArray(parsed.recentCommands)\n\t\t\t\t? (parsed.recentCommands as string[]).filter(\n\t\t\t\t\t\t(item) => typeof item === \"string\" && item.trim().length > 0,\n\t\t\t\t\t)\n\t\t\t\t: undefined,\n\t\t\tfavoriteCommands: Array.isArray(parsed.favoriteCommands)\n\t\t\t\t? (parsed.favoriteCommands as string[]).filter(\n\t\t\t\t\t\t(item) => typeof item === \"string\" && item.trim().length > 0,\n\t\t\t\t\t)\n\t\t\t\t: undefined,\n\t\t};\n\t} catch {\n\t\treturn {};\n\t}\n}\n\nexport function saveUiState(partial: UiState): void {\n\tconst current = loadUiState();\n\tconst next: UiState = { ...current, ...partial };\n\tconst uiStatePath = getUiStatePath();\n\twriteJsonFile(uiStatePath, next);\n}\n\nexport function loadCommandPrefs(): {\n\tfavorites: string[];\n\trecents: string[];\n} {\n\tconst prefsPath = getCommandPrefsPath();\n\tif (!existsSync(prefsPath)) {\n\t\treturn { favorites: [], recents: [] };\n\t}\n\ttry {\n\t\tconst raw = readFileSync(prefsPath, \"utf-8\");\n\t\tconst parsed = JSON.parse(raw) as Record<string, unknown>;\n\t\tconst favorites = Array.isArray(parsed.favorites)\n\t\t\t? (parsed.favorites as unknown[]).filter(\n\t\t\t\t\t(item): item is string => typeof item === \"string\",\n\t\t\t\t)\n\t\t\t: [];\n\t\tconst recents = Array.isArray(parsed.recents)\n\t\t\t? (parsed.recents as unknown[]).filter(\n\t\t\t\t\t(item): item is string => typeof item === \"string\",\n\t\t\t\t)\n\t\t\t: [];\n\t\treturn { favorites, recents };\n\t} catch {\n\t\treturn { favorites: [], recents: [] };\n\t}\n}\n\nexport function saveCommandPrefs(prefs: {\n\tfavorites: string[];\n\trecents: string[];\n}): void {\n\tconst prefsPath = getCommandPrefsPath();\n\twriteJsonFile(prefsPath, prefs);\n}\n"]}
@@ -1,16 +0,0 @@
1
- import type { Container, TUI } from "@evalops/tui";
2
- import { type UpdateCheckResult } from "../update/check.js";
3
- interface UpdateViewOptions {
4
- currentVersion: string;
5
- chatContainer: Container;
6
- ui: TUI;
7
- showError: (message: string) => void;
8
- runUpdateCheck?: (version: string) => Promise<UpdateCheckResult>;
9
- }
10
- export declare class UpdateView {
11
- private readonly options;
12
- constructor(options: UpdateViewOptions);
13
- handleUpdateCommand(): Promise<void>;
14
- }
15
- export {};
16
- //# sourceMappingURL=update-view.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-view.d.ts","sourceRoot":"","sources":["../../src/cli-tui/update-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAInD,OAAO,EAAE,KAAK,iBAAiB,EAAkB,MAAM,oBAAoB,CAAC;AAE5E,UAAU,iBAAiB;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,SAAS,CAAC;IACzB,EAAE,EAAE,GAAG,CAAC;IACR,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACjE;AAED,qBAAa,UAAU;IACV,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,iBAAiB;IAEjD,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;CA8C1C"}