eve 0.64.1 → 0.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (763) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +1 -2
  3. package/dist/src/_virtual/_rolldown/runtime.js +1 -1
  4. package/dist/src/channel/resolve-text.d.ts +11 -7
  5. package/dist/src/channel/resolve-text.js +1 -1
  6. package/dist/src/channel/types.d.ts +4 -5
  7. package/dist/src/chunks/{use-eve-agent-BdKlQF32.js → use-eve-agent-BUeSjwIk.js} +244 -11
  8. package/dist/src/chunks/{use-eve-agent-IIuxkn6y.js → use-eve-agent-ydPlURM4.js} +244 -11
  9. package/dist/src/cli/dev/command-options.d.ts +1 -0
  10. package/dist/src/cli/dev/command.js +2 -2
  11. package/dist/src/cli/dev/local-server-process.js +1 -1
  12. package/dist/src/cli/dev/tui/argument-typeahead.d.ts +36 -0
  13. package/dist/src/cli/dev/tui/argument-typeahead.js +2 -0
  14. package/dist/src/cli/dev/tui/blocks.d.ts +1 -1
  15. package/dist/src/cli/dev/tui/blocks.js +2 -2
  16. package/dist/src/cli/dev/tui/prompt-command-handler.js +1 -1
  17. package/dist/src/cli/dev/tui/question-panel.d.ts +3 -2
  18. package/dist/src/cli/dev/tui/rail.d.ts +1 -1
  19. package/dist/src/cli/dev/tui/runner.d.ts +3 -0
  20. package/dist/src/cli/dev/tui/runner.js +1 -1
  21. package/dist/src/cli/dev/tui/setup-commands.d.ts +2 -8
  22. package/dist/src/cli/dev/tui/setup-commands.js +1 -2
  23. package/dist/src/cli/dev/tui/setup-flow.d.ts +0 -3
  24. package/dist/src/cli/dev/tui/terminal-renderer.d.ts +3 -0
  25. package/dist/src/cli/dev/tui/terminal-renderer.js +10 -12
  26. package/dist/src/cli/dev/tui/test/fake-setup-flow-renderer.js +1 -1
  27. package/dist/src/cli/dev/tui/theme.d.ts +1 -1
  28. package/dist/src/cli/dev/tui/tool-presentation.d.ts +4 -4
  29. package/dist/src/cli/dev/tui/tool-presentation.js +1 -1
  30. package/dist/src/cli/dev/tui/tui.js +1 -1
  31. package/dist/src/cli/dev/tui/vercel-trusted-sources-policy.d.ts +1 -1
  32. package/dist/src/cli/dev/tui/vercel-trusted-sources.js +1 -1
  33. package/dist/src/cli/invoke/result.d.ts +1 -1
  34. package/dist/src/cli/invoke/result.js +1 -1
  35. package/dist/src/cli/telemetry/preference.js +1 -1
  36. package/dist/src/client/agent-info-schema.d.ts +0 -2
  37. package/dist/src/client/agent-info-schema.js +1 -1
  38. package/dist/src/client/index.d.ts +1 -3
  39. package/dist/src/client/index.js +1 -1
  40. package/dist/src/compiled/.vendor-stamp.json +4 -3
  41. package/dist/src/compiled/@agentclientprotocol/sdk/index.js +2 -51
  42. package/dist/src/compiled/@ai-sdk/anthropic/index.js +2 -2
  43. package/dist/src/compiled/@ai-sdk/google/index.js +7 -7
  44. package/dist/src/compiled/@ai-sdk/mcp/index.js +1 -1
  45. package/dist/src/compiled/@ai-sdk/openai/index.js +4 -4
  46. package/dist/src/compiled/@ai-sdk/otel/index.js +1 -1
  47. package/dist/src/compiled/@cfworker/json-schema/index.d.ts +18 -0
  48. package/dist/src/compiled/@cfworker/json-schema/index.js +2 -0
  49. package/dist/src/compiled/@modelcontextprotocol/server/index.js +9 -58
  50. package/dist/src/compiled/@opentelemetry/api/index.js +1 -1
  51. package/dist/src/compiled/@opentelemetry/otlp-transformer/index.js +1 -1
  52. package/dist/src/compiled/@photon-ai/chat-adapter-imessage/index.js +55 -55
  53. package/dist/src/compiled/@vercel/blob/index.js +14 -36
  54. package/dist/src/compiled/@vercel/oidc/index.js +6 -28
  55. package/dist/src/compiled/@vercel/otel/index.js +1 -1
  56. package/dist/src/compiled/@vercel/sandbox/index.js +13 -13
  57. package/dist/src/compiled/{@workflow/builders/LICENSE.md → @vercel/sdk/LICENSE} +2 -2
  58. package/dist/src/compiled/@vercel/sdk/index.d.ts +41 -0
  59. package/dist/src/compiled/@vercel/sdk/index.js +1 -0
  60. package/dist/src/compiled/@workflow/core/index.js +1 -1
  61. package/dist/src/compiled/@workflow/core/private.js +1 -1
  62. package/dist/src/compiled/@workflow/core/runtime/helpers.js +1 -1
  63. package/dist/src/compiled/@workflow/core/runtime.js +2 -2
  64. package/dist/src/compiled/@workflow/core/serialization.js +1 -1
  65. package/dist/src/compiled/@workflow/core/workflow.js +1 -1
  66. package/dist/src/compiled/@workflow/errors/index.js +1 -1
  67. package/dist/src/compiled/@workflow/world-local/index.js +5 -5
  68. package/dist/src/compiled/@workflow/world-vercel/index.js +16 -16
  69. package/dist/src/compiled/_chunks/client/core-CspsxXR-.js +52 -0
  70. package/dist/src/compiled/_chunks/client/rolldown-runtime-DK3Fl9T5.js +1 -0
  71. package/dist/src/compiled/_chunks/node/auth-Dztlx9pE.js +2 -0
  72. package/dist/src/compiled/_chunks/workflow/{attribute-changes-DFx4eluc.js → attribute-changes-89Nwz7XW.js} +1 -1
  73. package/dist/src/compiled/_chunks/workflow/{chunk-5MU5Z6L3-CrYztnvh.js → chunk-5MU5Z6L3-z9-dfnHp.js} +1 -1
  74. package/dist/src/compiled/_chunks/workflow/{chunk-NWCAEW5Y-ClfmNvkQ.js → chunk-NWCAEW5Y-8afLJrun.js} +1 -1
  75. package/dist/src/compiled/_chunks/workflow/{dist-C3919PVU.js → dist-C3ZE62yI.js} +3 -3
  76. package/dist/src/compiled/_chunks/workflow/dist-CNT2vjZ4.js +1 -0
  77. package/dist/src/compiled/_chunks/workflow/{dist-xTushGCp.js → dist-DtXwQbZr.js} +1 -1
  78. package/dist/src/compiled/_chunks/workflow/{esm-DyLz8Egm.js → esm-DtrPCf49.js} +1 -1
  79. package/dist/src/compiled/_chunks/workflow/{experimental-evaluation-D8_K_Pe9.js → experimental-evaluation-Dm32egEG.js} +2 -2
  80. package/dist/src/compiled/_chunks/workflow/frames-DnrfSd1P.js +3 -0
  81. package/dist/src/compiled/_chunks/workflow/{functions-C06vHfWP.js → functions-DpZiBxgQ.js} +1 -1
  82. package/dist/src/compiled/_chunks/workflow/{getMachineId-bsd-WEBNKY2R-DcIEvZzd.js → getMachineId-bsd-WEBNKY2R-D5OkV-EY.js} +1 -1
  83. package/dist/src/compiled/_chunks/workflow/{getMachineId-darwin-LT47KAXP-C4nRhfn9.js → getMachineId-darwin-LT47KAXP-BqwKrkSO.js} +1 -1
  84. package/dist/src/compiled/_chunks/workflow/{getMachineId-linux-LTVQO6VW-BqQf2T4W.js → getMachineId-linux-LTVQO6VW-CJlbJ4KP.js} +1 -1
  85. package/dist/src/compiled/_chunks/workflow/{getMachineId-unsupported-UKWBA27G-oYffWhib.js → getMachineId-unsupported-UKWBA27G-C4Y3-LZG.js} +1 -1
  86. package/dist/src/compiled/_chunks/workflow/{getMachineId-win-NLJKOPY6-CpL96LtN.js → getMachineId-win-NLJKOPY6-CsPs71SE.js} +1 -1
  87. package/dist/src/compiled/_chunks/workflow/{global-DFW-hO6M.js → global-DIlFoH2w.js} +1 -1
  88. package/dist/src/compiled/_chunks/workflow/{helpers-Bw52uyzw.js → helpers-k3zcudWr.js} +1 -1
  89. package/dist/src/compiled/_chunks/workflow/{logger-DFNCa8Nl.js → logger-Bzc8jWWj.js} +1 -1
  90. package/dist/src/compiled/_chunks/workflow/resume-hook-BmJ263ZR.js +1 -0
  91. package/dist/src/compiled/_chunks/workflow/{rolldown-runtime-DPpTSio4.js → rolldown-runtime-B_knIduE.js} +1 -1
  92. package/dist/src/compiled/_chunks/workflow/{run-BT6SQv5f.js → run-NLvREued.js} +1 -1
  93. package/dist/src/compiled/_chunks/workflow/{serialization-Cl0SYU0I.js → serialization-HCDeQWcR.js} +2 -2
  94. package/dist/src/compiled/_chunks/workflow/{signal-exit-B9U6kH7R.js → signal-exit-DZKTacNU.js} +1 -1
  95. package/dist/src/compiled/_chunks/workflow/sleep-Bi508qmg.js +1 -0
  96. package/dist/src/compiled/_chunks/workflow/{token-CrFhCmWs.js → token-1wSBbi5N.js} +1 -1
  97. package/dist/src/compiled/_chunks/workflow/{token-U5XEWlVM.js → token-BhlnqoHM.js} +1 -1
  98. package/dist/src/compiled/_chunks/workflow/{token-util-BkqzD0OM.js → token-util-Cm4Ec1Bg.js} +1 -1
  99. package/dist/src/compiled/_chunks/workflow/token-util-DaeRTzDa.js +5 -0
  100. package/dist/src/compiled/_chunks/workflow/{wait-until-Dzhr6tzf.js → wait-until-DXLZx3tU.js} +1 -1
  101. package/dist/src/compiled/_chunks/workflow/{wrapper-CKui_eTd.js → wrapper-CzrF_dmI.js} +3 -3
  102. package/dist/src/compiled/_chunks/workflow/ws-transport-BSM_Cl7a.js +1 -0
  103. package/dist/src/compiled/jose/index.js +1 -1
  104. package/dist/src/compiled/zod/index.js +1 -51
  105. package/dist/src/compiled/zod/v3.js +1 -0
  106. package/dist/src/compiled/zod/v4/core.js +1 -0
  107. package/dist/src/compiled/zod-validation-error/index.js +1 -1
  108. package/dist/src/compiler/artifacts.d.ts +2 -0
  109. package/dist/src/compiler/artifacts.js +1 -1
  110. package/dist/src/compiler/bundled-extension.d.ts +17 -0
  111. package/dist/src/compiler/bundled-extension.js +1 -0
  112. package/dist/src/compiler/compile-agent.d.ts +4 -0
  113. package/dist/src/compiler/compile-agent.js +1 -1
  114. package/dist/src/compiler/compile-from-memory.js +1 -1
  115. package/dist/src/compiler/development-extensions.d.ts +23 -0
  116. package/dist/src/compiler/development-extensions.js +1 -0
  117. package/dist/src/compiler/extension-compatibility.d.ts +20 -14
  118. package/dist/src/compiler/extension-compatibility.js +1 -1
  119. package/dist/src/compiler/load-binding-namespace.js +1 -1
  120. package/dist/src/compiler/manifest.js +1 -1
  121. package/dist/src/compiler/normalize-manifest-helpers.js +1 -1
  122. package/dist/src/compiler/normalize-manifest-types.d.ts +23 -0
  123. package/dist/src/compiler/normalize-manifest.d.ts +2 -7
  124. package/dist/src/compiler/normalize-manifest.js +1 -1
  125. package/dist/src/compiler/source-graph-paths.d.ts +2 -0
  126. package/dist/src/compiler/source-graph-paths.js +1 -0
  127. package/dist/src/compiler/source-graph.d.ts +4 -1
  128. package/dist/src/compiler/source-graph.js +1 -1
  129. package/dist/src/context/build-base-tool-context.js +1 -1
  130. package/dist/src/context/build-callback-context.js +1 -1
  131. package/dist/src/context/dynamic-skill-lifecycle.d.ts +3 -3
  132. package/dist/src/context/dynamic-skill-lifecycle.js +1 -1
  133. package/dist/src/context/keys.d.ts +18 -4
  134. package/dist/src/context/keys.js +1 -1
  135. package/dist/src/context/session-context.d.ts +5 -4
  136. package/dist/src/discover/bundled-extension.d.ts +11 -0
  137. package/dist/src/discover/bundled-extension.js +1 -0
  138. package/dist/src/discover/discover-agent.js +1 -1
  139. package/dist/src/discover/manifest.d.ts +5 -0
  140. package/dist/src/evals/assertions/collector.js +1 -1
  141. package/dist/src/evals/cli/eval.js +2 -2
  142. package/dist/src/evals/runner/artifacts.js +1 -1
  143. package/dist/src/evals/types.d.ts +2 -0
  144. package/dist/src/execution/coordination-dispatch-step.js +1 -1
  145. package/dist/src/execution/dynamic-workflow/tool.js +1 -1
  146. package/dist/src/execution/node-step.d.ts +2 -4
  147. package/dist/src/execution/node-step.js +1 -1
  148. package/dist/src/execution/proxied-deliver-step.js +1 -1
  149. package/dist/src/execution/route-child-delivery.js +1 -1
  150. package/dist/src/execution/sandbox/bindings/docker-templates.d.ts +6 -0
  151. package/dist/src/execution/sandbox/bindings/docker-templates.js +1 -1
  152. package/dist/src/execution/sandbox/bindings/docker.d.ts +6 -2
  153. package/dist/src/execution/sandbox/bindings/docker.js +1 -1
  154. package/dist/src/execution/sandbox/bindings/just-bash-runtime.d.ts +2 -2
  155. package/dist/src/execution/sandbox/bindings/just-bash.d.ts +2 -2
  156. package/dist/src/execution/sandbox/bindings/local-provider-utils.js +1 -1
  157. package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.d.ts +7 -2
  158. package/dist/src/execution/sandbox/bindings/microsandbox.d.ts +6 -2
  159. package/dist/src/execution/sandbox/bindings/vercel.d.ts +6 -3
  160. package/dist/src/execution/sandbox/bindings/vercel.js +1 -1
  161. package/dist/src/execution/sandbox/ensure.js +1 -1
  162. package/dist/src/execution/sandbox/glob-tool.js +1 -1
  163. package/dist/src/execution/sandbox/grep-tool.js +1 -1
  164. package/dist/src/execution/sandbox/logging-session.js +2 -2
  165. package/dist/src/execution/sandbox/provider-host.js +1 -1
  166. package/dist/src/execution/sandbox/read-file.js +1 -1
  167. package/dist/src/execution/sandbox/session.d.ts +5 -2
  168. package/dist/src/execution/sandbox/session.js +1 -1
  169. package/dist/src/execution/session/event-sink.d.ts +7 -13
  170. package/dist/src/execution/session/event-sink.js +1 -1
  171. package/dist/src/execution/session/handoff.d.ts +2 -2
  172. package/dist/src/execution/session/handoff.js +1 -1
  173. package/dist/src/execution/session/turn-step.js +1 -1
  174. package/dist/src/execution/session-workflow-tool-run.js +1 -1
  175. package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
  176. package/dist/src/execution/skills/instructions.d.ts +6 -8
  177. package/dist/src/execution/skills/instructions.js +2 -2
  178. package/dist/src/execution/tasks/parent/tool-execution.js +1 -1
  179. package/dist/src/execution/tools/agent-router-workflow.js +1 -1
  180. package/dist/src/execution/tools/agent-router.d.ts +1 -2
  181. package/dist/src/execution/tools/agent-router.js +1 -1
  182. package/dist/src/execution/tools/ask-question-workflow.d.ts +11 -0
  183. package/dist/src/execution/tools/ask-question-workflow.js +1 -0
  184. package/dist/src/execution/tools/ask-question.d.ts +19 -0
  185. package/dist/src/execution/tools/ask-question.js +2 -0
  186. package/dist/src/execution/tools/connection-search.js +1 -1
  187. package/dist/src/execution/tools/file-state.d.ts +1 -7
  188. package/dist/src/execution/tools/file-state.js +1 -1
  189. package/dist/src/execution/tools/load-skill.d.ts +9 -5
  190. package/dist/src/execution/tools/load-skill.js +1 -1
  191. package/dist/src/execution/tools/sleep-workflow.js +1 -1
  192. package/dist/src/execution/tools/sleep.d.ts +8 -9
  193. package/dist/src/execution/tools/sleep.js +1 -1
  194. package/dist/src/execution/tools/subagent/emit-event-step.d.ts +2 -1
  195. package/dist/src/execution/tools/subagent/emit-event-step.js +1 -1
  196. package/dist/src/execution/tools/subagent/task-agent-requests.js +1 -1
  197. package/dist/src/execution/tools/workflow/answer.d.ts +2 -0
  198. package/dist/src/execution/tools/workflow/answer.js +1 -1
  199. package/dist/src/execution/tools/workflow/ask.d.ts +3 -2
  200. package/dist/src/execution/tools/workflow/ask.js +1 -1
  201. package/dist/src/execution/tools/workflow/body.d.ts +5 -0
  202. package/dist/src/execution/tools/workflow/body.js +1 -1
  203. package/dist/src/execution/tools/workflow/cancel.d.ts +0 -4
  204. package/dist/src/execution/tools/workflow/cancel.js +1 -1
  205. package/dist/src/execution/tools/workflow/start.d.ts +1 -0
  206. package/dist/src/execution/tools/workflow/start.js +1 -1
  207. package/dist/src/extensions/code/extension/extension.d.ts +57 -0
  208. package/dist/src/extensions/code/extension/extension.js +1 -0
  209. package/dist/src/extensions/code/extension/hooks/authenticate.d.ts +2 -0
  210. package/dist/src/extensions/code/extension/hooks/authenticate.js +1 -0
  211. package/dist/src/extensions/code/extension/instructions.md +87 -0
  212. package/dist/src/extensions/code/extension/lib/command-failure.d.ts +7 -0
  213. package/dist/src/extensions/code/extension/lib/command-failure.js +2 -0
  214. package/dist/src/extensions/code/extension/lib/computer-use-driver-source.d.ts +14 -0
  215. package/dist/src/extensions/code/extension/lib/computer-use-driver-source.js +1309 -0
  216. package/dist/src/extensions/code/extension/lib/computer-use-sandbox.d.ts +9 -0
  217. package/dist/src/extensions/code/extension/lib/computer-use-sandbox.js +120 -0
  218. package/dist/src/extensions/code/extension/lib/computer-use.d.ts +36 -0
  219. package/dist/src/extensions/code/extension/lib/computer-use.js +78 -0
  220. package/dist/src/extensions/code/extension/lib/connect-authentication.d.ts +7 -0
  221. package/dist/src/extensions/code/extension/lib/connect-authentication.js +1 -0
  222. package/dist/src/extensions/code/extension/lib/credentials.d.ts +13 -0
  223. package/dist/src/extensions/code/extension/lib/credentials.js +3 -0
  224. package/dist/src/extensions/code/extension/lib/diagnostics.d.ts +30 -0
  225. package/dist/src/extensions/code/extension/lib/diagnostics.js +6 -0
  226. package/dist/src/extensions/code/extension/lib/generated-paths.d.ts +18 -0
  227. package/dist/src/extensions/code/extension/lib/generated-paths.js +2 -0
  228. package/dist/src/extensions/code/extension/lib/github-shell-schema.d.ts +11 -0
  229. package/dist/src/extensions/code/extension/lib/github-shell-schema.js +1 -0
  230. package/dist/src/extensions/code/extension/lib/github-shell.d.ts +53 -0
  231. package/dist/src/extensions/code/extension/lib/github-shell.js +1 -0
  232. package/dist/src/extensions/code/extension/lib/grep-search.d.ts +61 -0
  233. package/dist/src/extensions/code/extension/lib/grep-search.js +6 -0
  234. package/dist/src/extensions/code/extension/lib/guidelines.d.ts +25 -0
  235. package/dist/src/extensions/code/extension/lib/guidelines.js +2 -0
  236. package/dist/src/extensions/code/extension/lib/patch.d.ts +35 -0
  237. package/dist/src/extensions/code/extension/lib/patch.js +20 -0
  238. package/dist/src/extensions/code/extension/lib/prwatch-github.d.ts +70 -0
  239. package/dist/src/extensions/code/extension/lib/prwatch-github.js +1 -0
  240. package/dist/src/extensions/code/extension/lib/prwatch-registry.d.ts +27 -0
  241. package/dist/src/extensions/code/extension/lib/prwatch-registry.js +1 -0
  242. package/dist/src/extensions/code/extension/lib/prwatch.d.ts +2 -0
  243. package/dist/src/extensions/code/extension/lib/prwatch.js +1 -0
  244. package/dist/src/extensions/code/extension/lib/repository-root.d.ts +4 -0
  245. package/dist/src/extensions/code/extension/lib/repository-root.js +1 -0
  246. package/dist/src/extensions/code/extension/lib/sandbox.d.ts +12 -0
  247. package/dist/src/extensions/code/extension/lib/sandbox.js +2 -0
  248. package/dist/src/extensions/code/extension/lib/shell.d.ts +1 -0
  249. package/dist/src/extensions/code/extension/lib/shell.js +1 -0
  250. package/dist/src/extensions/code/extension/lib/signed-commit.d.ts +2 -0
  251. package/dist/src/extensions/code/extension/lib/signed-commit.js +130 -0
  252. package/dist/src/extensions/code/extension/lib/tooling.d.ts +27 -0
  253. package/dist/src/extensions/code/extension/lib/tooling.js +92 -0
  254. package/dist/src/extensions/code/extension/skills/investigate/SKILL.md +30 -0
  255. package/dist/src/extensions/code/extension/skills/lookup-agent-run/SKILL.md +29 -0
  256. package/dist/src/extensions/code/extension/skills/pr/SKILL.md +53 -0
  257. package/dist/src/extensions/code/extension/skills/review/SKILL.md +21 -0
  258. package/dist/src/extensions/code/extension/subagents/worker/agent.d.ts +17 -0
  259. package/dist/src/extensions/code/extension/subagents/worker/agent.js +1 -0
  260. package/dist/src/extensions/code/extension/subagents/worker/instructions.md +20 -0
  261. package/dist/src/extensions/code/extension/subagents/worker/sandbox.d.ts +2 -0
  262. package/dist/src/extensions/code/extension/subagents/worker/sandbox.js +1 -0
  263. package/dist/src/extensions/code/extension/subagents/worker/tools/glob.d.ts +1 -0
  264. package/dist/src/extensions/code/extension/subagents/worker/tools/glob.js +1 -0
  265. package/dist/src/extensions/code/extension/subagents/worker/tools/grep.d.ts +1 -0
  266. package/dist/src/extensions/code/extension/subagents/worker/tools/grep.js +1 -0
  267. package/dist/src/extensions/code/extension/subagents/worker/tools/load_skill.d.ts +2 -0
  268. package/dist/src/extensions/code/extension/subagents/worker/tools/load_skill.js +1 -0
  269. package/dist/src/extensions/code/extension/subagents/worker/tools/read_file.d.ts +1 -0
  270. package/dist/src/extensions/code/extension/subagents/worker/tools/read_file.js +1 -0
  271. package/dist/src/extensions/code/extension/subagents/worker/tools/web_fetch.d.ts +2 -0
  272. package/dist/src/extensions/code/extension/subagents/worker/tools/web_fetch.js +1 -0
  273. package/dist/src/extensions/code/extension/subagents/worker/tools/web_search.d.ts +2 -0
  274. package/dist/src/extensions/code/extension/subagents/worker/tools/web_search.js +1 -0
  275. package/dist/src/extensions/code/extension/subagents/worker/tools/write_file.d.ts +2 -0
  276. package/dist/src/extensions/code/extension/subagents/worker/tools/write_file.js +1 -0
  277. package/dist/src/extensions/code/extension/tools/apply_patch.d.ts +28 -0
  278. package/dist/src/extensions/code/extension/tools/apply_patch.js +2 -0
  279. package/dist/src/extensions/code/extension/tools/computer_use.d.ts +400 -0
  280. package/dist/src/extensions/code/extension/tools/computer_use.js +1 -0
  281. package/dist/src/extensions/code/extension/tools/gh.d.ts +27 -0
  282. package/dist/src/extensions/code/extension/tools/gh.js +1 -0
  283. package/dist/src/extensions/code/extension/tools/grep.d.ts +28 -0
  284. package/dist/src/extensions/code/extension/tools/grep.js +1 -0
  285. package/dist/src/extensions/code/tools.d.ts +4 -0
  286. package/dist/src/extensions/code/tools.js +1 -0
  287. package/dist/src/framework/sources/registry.js +1 -1
  288. package/dist/src/harness/compaction-prompt.d.ts +0 -6
  289. package/dist/src/harness/compaction-prompt.js +2 -2
  290. package/dist/src/harness/compaction.js +1 -1
  291. package/dist/src/harness/final-output.js +1 -1
  292. package/dist/src/harness/hitl/approval-input-requests.d.ts +0 -2
  293. package/dist/src/harness/hitl/approval-input-requests.js +1 -1
  294. package/dist/src/harness/input-extraction.d.ts +4 -15
  295. package/dist/src/harness/input-extraction.js +1 -1
  296. package/dist/src/harness/input-request-class.d.ts +0 -20
  297. package/dist/src/harness/input-request-class.js +1 -1
  298. package/dist/src/harness/input-requests.d.ts +1 -1
  299. package/dist/src/harness/input-requests.js +1 -1
  300. package/dist/src/harness/pending-input-batches.d.ts +1 -1
  301. package/dist/src/harness/proxy-input-requests.d.ts +9 -1
  302. package/dist/src/harness/proxy-input-requests.js +1 -1
  303. package/dist/src/harness/stale-input-responses.d.ts +1 -2
  304. package/dist/src/harness/stale-input-responses.js +1 -1
  305. package/dist/src/harness/tool-loop.js +2 -2
  306. package/dist/src/harness/tools.d.ts +0 -9
  307. package/dist/src/harness/tools.js +1 -1
  308. package/dist/src/harness/types.d.ts +2 -9
  309. package/dist/src/internal/application/optional-package-import.d.ts +9 -0
  310. package/dist/src/internal/application/optional-package-import.js +1 -0
  311. package/dist/src/internal/application/optional-package-install.d.ts +1 -5
  312. package/dist/src/internal/application/optional-package-install.js +2 -2
  313. package/dist/src/internal/application/package.js +1 -1
  314. package/dist/src/internal/authored-definition/schema-backed.js +1 -1
  315. package/dist/src/internal/authored-module-loader.js +1 -1
  316. package/dist/src/internal/development-programmatic-source-loader.d.ts +6 -0
  317. package/dist/src/internal/development-programmatic-source-loader.js +1 -0
  318. package/dist/src/internal/nitro/dev-runtime-artifacts.js +1 -1
  319. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
  320. package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.d.ts +2 -0
  321. package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.js +1 -1
  322. package/dist/src/internal/nitro/host/dev-workspace-extensions.js +1 -1
  323. package/dist/src/internal/nitro/host/prepare-application-host.d.ts +2 -0
  324. package/dist/src/internal/nitro/host/prepare-application-host.js +1 -1
  325. package/dist/src/internal/nitro/host/start-development-server.js +2 -2
  326. package/dist/src/internal/nitro/host/types.d.ts +3 -0
  327. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +1 -1
  328. package/dist/src/internal/workflow-bundle/workflow-builders.d.ts +0 -2
  329. package/dist/src/internal/workflow-bundle/workflow-builders.js +1 -1
  330. package/dist/src/node_modules/.pnpm/@vercel_cli-config@0.2.7/node_modules/@vercel/cli-config/dist/index.js +21 -0
  331. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/envpath.js +1 -0
  332. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/errors.js +2 -0
  333. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/errutils.js +1 -0
  334. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/exec.js +1 -0
  335. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/fsutils.js +1 -0
  336. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/index.js +1 -0
  337. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/lookup.js +1 -0
  338. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/safety.js +1 -0
  339. package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/authorization.js +1 -0
  340. package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/connector.js +1 -0
  341. package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/index.js +1 -0
  342. package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/installation.js +1 -0
  343. package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/internal/base-url.js +1 -0
  344. package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/internal/default-scopes.js +1 -0
  345. package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/internal/env.js +1 -0
  346. package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/internal/url-validation.js +1 -0
  347. package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/token.js +1 -0
  348. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/auth-errors.js +1 -0
  349. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/exchange-vercel-oidc-token.js +1 -0
  350. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/get-context.js +1 -0
  351. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/get-vercel-oidc-token-sync.js +1 -0
  352. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/get-vercel-oidc-token-with-refresh.js +2 -0
  353. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/index.js +1 -0
  354. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/oauth.js +1 -0
  355. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/token-error.js +1 -0
  356. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/token-io.js +1 -0
  357. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/token-util.js +2 -0
  358. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/token.js +1 -0
  359. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/verify-vercel-oidc-token.js +1 -0
  360. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/version.js +1 -0
  361. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/index.js +1 -0
  362. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js +1 -0
  363. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js +1 -0
  364. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js +1 -0
  365. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js +1 -0
  366. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js +1 -0
  367. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/index.js +1 -0
  368. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/command.js +1 -0
  369. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/error.js +2 -0
  370. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/kill.js +1 -0
  371. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/promise.js +1 -0
  372. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/stdio.js +1 -0
  373. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/stream.js +1 -0
  374. package/dist/src/node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/buffer-stream.js +1 -0
  375. package/dist/src/node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/index.js +1 -0
  376. package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/core.js +1 -0
  377. package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/main.js +1 -0
  378. package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/realtime.js +1 -0
  379. package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/signals.js +1 -0
  380. package/dist/src/node_modules/.pnpm/is-stream@2.0.1/node_modules/is-stream/index.js +1 -0
  381. package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/index.js +1 -0
  382. package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/mode.js +1 -0
  383. package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/windows.js +1 -0
  384. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/index.js +1 -0
  385. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/compact/decrypt.js +1 -0
  386. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/compact/encrypt.js +1 -0
  387. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/flattened/decrypt.js +1 -0
  388. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/flattened/encrypt.js +1 -0
  389. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/general/decrypt.js +1 -0
  390. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/general/encrypt.js +1 -0
  391. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwk/embedded.js +1 -0
  392. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwk/thumbprint.js +1 -0
  393. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwks/local.js +1 -0
  394. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwks/remote.js +1 -0
  395. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/compact/sign.js +1 -0
  396. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/compact/verify.js +1 -0
  397. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/flattened/sign.js +1 -0
  398. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/flattened/verify.js +1 -0
  399. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/general/sign.js +1 -0
  400. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/general/verify.js +1 -0
  401. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/decrypt.js +1 -0
  402. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/encrypt.js +1 -0
  403. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/produce.js +1 -0
  404. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/sign.js +1 -0
  405. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/unsecured.js +1 -0
  406. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/verify.js +1 -0
  407. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/export.js +1 -0
  408. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/generate_key_pair.js +1 -0
  409. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/generate_secret.js +1 -0
  410. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/import.js +1 -0
  411. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/aesgcmkw.js +1 -0
  412. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/buffer_utils.js +1 -0
  413. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/cek.js +1 -0
  414. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_iv_length.js +1 -0
  415. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_key_type.js +1 -0
  416. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_p2s.js +1 -0
  417. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/crypto_key.js +1 -0
  418. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/decrypt_key_management.js +1 -0
  419. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/encrypt_key_management.js +1 -0
  420. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/epoch.js +1 -0
  421. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/invalid_key_input.js +1 -0
  422. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_disjoint.js +1 -0
  423. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_jwk.js +1 -0
  424. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_object.js +1 -0
  425. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/iv.js +1 -0
  426. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/jwt_claims_set.js +1 -0
  427. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/private_symbols.js +1 -0
  428. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/secs.js +1 -0
  429. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/validate_algorithms.js +1 -0
  430. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/validate_crit.js +1 -0
  431. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/aeskw.js +1 -0
  432. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/asn1.js +1 -0
  433. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/base64url.js +1 -0
  434. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/cbc_tag.js +1 -0
  435. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/check_cek_length.js +1 -0
  436. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/check_key_length.js +1 -0
  437. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/ciphers.js +1 -0
  438. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/decrypt.js +1 -0
  439. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/digest.js +1 -0
  440. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/dsa_digest.js +1 -0
  441. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/ecdhes.js +1 -0
  442. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/encrypt.js +1 -0
  443. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/fetch_jwks.js +1 -0
  444. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/generate.js +1 -0
  445. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/get_named_curve.js +1 -0
  446. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/get_sign_verify_key.js +1 -0
  447. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/hmac_digest.js +1 -0
  448. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/is_key_like.js +1 -0
  449. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/is_key_object.js +1 -0
  450. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/jwk_to_key.js +1 -0
  451. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/key_to_jwk.js +1 -0
  452. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/node_key.js +1 -0
  453. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/normalize_key.js +1 -0
  454. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/pbes2kw.js +1 -0
  455. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/random.js +1 -0
  456. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/rsaes.js +1 -0
  457. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/runtime.js +1 -0
  458. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/sign.js +1 -0
  459. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/timing_safe_equal.js +1 -0
  460. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/verify.js +1 -0
  461. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/webcrypto.js +1 -0
  462. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/base64url.js +1 -0
  463. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/decode_jwt.js +1 -0
  464. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/decode_protected_header.js +1 -0
  465. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/errors.js +1 -0
  466. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/runtime.js +1 -0
  467. package/dist/src/node_modules/.pnpm/merge-stream@2.0.0/node_modules/merge-stream/index.js +1 -0
  468. package/dist/src/node_modules/.pnpm/mimic-fn@2.1.0/node_modules/mimic-fn/index.js +1 -0
  469. package/dist/src/node_modules/.pnpm/npm-run-path@4.0.1/node_modules/npm-run-path/index.js +1 -0
  470. package/dist/src/node_modules/.pnpm/onetime@5.1.2/node_modules/onetime/index.js +1 -0
  471. package/dist/src/node_modules/.pnpm/path-key@3.1.1/node_modules/path-key/index.js +1 -0
  472. package/dist/src/node_modules/.pnpm/shebang-command@2.0.0/node_modules/shebang-command/index.js +1 -0
  473. package/dist/src/node_modules/.pnpm/shebang-regex@3.0.0/node_modules/shebang-regex/index.js +1 -0
  474. package/dist/src/node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/index.js +1 -0
  475. package/dist/src/node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/signals.js +1 -0
  476. package/dist/src/node_modules/.pnpm/strip-final-newline@2.0.0/node_modules/strip-final-newline/index.js +2 -0
  477. package/dist/src/node_modules/.pnpm/which@2.0.2/node_modules/which/which.js +1 -0
  478. package/dist/src/public/channels/github/checkout.d.ts +7 -2
  479. package/dist/src/public/channels/github/checkout.js +1 -1
  480. package/dist/src/public/channels/github/defaults.js +1 -1
  481. package/dist/src/public/channels/slack/api-errors.d.ts +33 -0
  482. package/dist/src/public/channels/slack/api-errors.js +1 -0
  483. package/dist/src/public/channels/slack/api.js +1 -1
  484. package/dist/src/public/channels/slack/interaction-cards.js +1 -1
  485. package/dist/src/public/channels/slack/interactions.js +1 -1
  486. package/dist/src/public/definitions/sandbox.d.ts +1 -1
  487. package/dist/src/public/memory/file/provider.js +1 -1
  488. package/dist/src/public/sandbox/docker.d.ts +7 -0
  489. package/dist/src/public/sandbox/index.d.ts +1 -1
  490. package/dist/src/public/sandbox/microsandbox.d.ts +7 -0
  491. package/dist/src/public/sandbox/vercel.d.ts +7 -0
  492. package/dist/src/public/skills/index.d.ts +1 -2
  493. package/dist/src/public/tools/ask-question.d.ts +1 -1
  494. package/dist/src/public/tools/ask-question.js +1 -1
  495. package/dist/src/runtime/agent/mock-model-fixtures.js +2 -2
  496. package/dist/src/runtime/connections/mcp-client.d.ts +0 -7
  497. package/dist/src/runtime/connections/mcp-client.js +1 -1
  498. package/dist/src/runtime/connections/openapi-client.d.ts +0 -3
  499. package/dist/src/runtime/connections/openapi-client.js +1 -1
  500. package/dist/src/runtime/workspace/seed-files.js +1 -1
  501. package/dist/src/sandbox/providers/docker.d.ts +4 -4
  502. package/dist/src/sandbox/providers/just-bash.d.ts +2 -2
  503. package/dist/src/sandbox/providers/microsandbox.d.ts +4 -4
  504. package/dist/src/sandbox/providers/vercel.d.ts +4 -3
  505. package/dist/src/sandbox/state.d.ts +2 -0
  506. package/dist/src/self-modification/config.d.ts +6 -0
  507. package/dist/src/self-modification/extension/config-schema.d.ts +25 -0
  508. package/dist/src/self-modification/extension/config-schema.js +1 -0
  509. package/dist/src/self-modification/extension/extension.d.ts +3 -47
  510. package/dist/src/self-modification/extension/extension.js +1 -1
  511. package/dist/src/self-modification/extension/subagents/agent/instructions.js +6 -2
  512. package/dist/src/self-modification/extension/subagents/agent/tools/registry_add.js +1 -1
  513. package/dist/src/self-modification/git-workspace.d.ts +5 -1
  514. package/dist/src/self-modification/git.d.ts +5 -1
  515. package/dist/src/services/dev-client/request-headers.d.ts +1 -1
  516. package/dist/src/services/dev-client/request-headers.js +1 -1
  517. package/dist/src/setup/flows/model.d.ts +0 -108
  518. package/dist/src/setup/flows/model.js +1 -1
  519. package/dist/src/setup/integrations/discord/api.js +1 -1
  520. package/dist/src/setup/integrations/discord/connect.js +1 -1
  521. package/dist/src/setup/integrations/github/connect.js +1 -1
  522. package/dist/src/setup/integrations/linear/connect.js +1 -1
  523. package/dist/src/setup/integrations/linq/connect.js +1 -1
  524. package/dist/src/setup/integrations/photon/connect.js +1 -1
  525. package/dist/src/setup/integrations/teams/connect.js +1 -1
  526. package/dist/src/setup/project-resolution.js +1 -1
  527. package/dist/src/setup/scaffold/create/project.js +1 -1
  528. package/dist/src/setup/slack-connect.d.ts +1 -1
  529. package/dist/src/setup/slack-connect.js +1 -1
  530. package/dist/src/setup/vercel-api-failure.js +1 -1
  531. package/dist/src/setup/vercel-deployment.js +1 -1
  532. package/dist/src/setup/vercel-project-api.d.ts +1 -1
  533. package/dist/src/setup/vercel-project-api.js +1 -1
  534. package/dist/src/setup/vercel-project-framework.js +1 -1
  535. package/dist/src/setup/vercel-project.js +0 -0
  536. package/dist/src/shared/connection-types.d.ts +0 -2
  537. package/dist/src/shared/input.d.ts +1 -6
  538. package/dist/src/shared/sandbox-network-policy.d.ts +5 -4
  539. package/dist/src/shared/sandbox-session.d.ts +0 -15
  540. package/dist/src/shared/skill-package.d.ts +3 -0
  541. package/dist/src/shared/skill-package.js +1 -1
  542. package/dist/src/subagents/hitl-proxy.d.ts +11 -1
  543. package/dist/src/subagents/hitl-proxy.js +1 -1
  544. package/dist/src/svelte/index.js +1 -1
  545. package/dist/src/svelte/use-eve-agent.js +1 -1
  546. package/dist/src/tasks/json.d.ts +72 -2
  547. package/dist/src/tasks/json.js +1 -1
  548. package/dist/src/tools/behavior.d.ts +2 -5
  549. package/dist/src/tools/definition.d.ts +23 -5
  550. package/dist/src/tools/framework/agent-contract.d.ts +7 -6
  551. package/dist/src/tools/framework/agent-contract.js +1 -1
  552. package/dist/src/tools/framework/agent.d.ts +4 -13
  553. package/dist/src/tools/framework/task-cancel.d.ts +1 -17
  554. package/dist/src/tools/framework/task-contract.d.ts +16 -137
  555. package/dist/src/tools/framework/task-contract.js +1 -1
  556. package/dist/src/tools/provided/ask-question.d.ts +18 -0
  557. package/dist/src/tools/provided/ask-question.js +1 -0
  558. package/dist/src/tools/provided/bash.d.ts +11 -12
  559. package/dist/src/tools/provided/bash.js +1 -1
  560. package/dist/src/tools/provided/glob.d.ts +13 -14
  561. package/dist/src/tools/provided/glob.js +1 -1
  562. package/dist/src/tools/provided/grep.d.ts +17 -18
  563. package/dist/src/tools/provided/grep.js +1 -1
  564. package/dist/src/tools/provided/read-file.d.ts +14 -15
  565. package/dist/src/tools/provided/read-file.js +1 -1
  566. package/dist/src/tools/provided/sleep.d.ts +2 -2
  567. package/dist/src/tools/provided/web-fetch.d.ts +13 -18
  568. package/dist/src/tools/provided/web-fetch.js +1 -1
  569. package/dist/src/tools/provided/workflow.js +1 -1
  570. package/dist/src/tools/provided/write-file.d.ts +10 -11
  571. package/dist/src/tools/provided/write-file.js +1 -1
  572. package/dist/src/tools/schema.d.ts +40 -10
  573. package/dist/src/tools/schema.js +1 -1
  574. package/dist/src/vue/index.js +1 -1
  575. package/dist/src/vue/use-eve-agent.js +1 -1
  576. package/docs/README.md +1 -1
  577. package/docs/agent-config.md +11 -11
  578. package/docs/channels/slack.mdx +1 -1
  579. package/docs/concepts/built-in-tools.md +16 -66
  580. package/docs/concepts/default-harness.md +1 -3
  581. package/docs/concepts/execution-model-and-durability.mdx +1 -1
  582. package/docs/concepts/sessions-runs-and-streaming.md +2 -2
  583. package/docs/connections/overview.mdx +1 -1
  584. package/docs/evals/assertions.mdx +2 -2
  585. package/docs/evals/judge.mdx +3 -3
  586. package/docs/extensions.md +4 -0
  587. package/docs/getting-started.mdx +2 -2
  588. package/docs/guides/deployment/vercel.mdx +6 -0
  589. package/docs/guides/dev-tui.md +2 -2
  590. package/docs/guides/dynamic-capabilities.md +2 -0
  591. package/docs/guides/evaluate.md +12 -9
  592. package/docs/guides/frontend/overview.mdx +1 -1
  593. package/docs/guides/hooks.md +6 -3
  594. package/docs/guides/instrumentation/agent-runs.mdx +101 -0
  595. package/docs/guides/instrumentation/instrumentation.mdx +2 -1
  596. package/docs/guides/instrumentation/meta.json +1 -1
  597. package/docs/guides/instrumentation/migration.md +5 -1
  598. package/docs/guides/instrumentation/otel.mdx +8 -27
  599. package/docs/guides/self-modification.md +37 -0
  600. package/docs/guides/session-context.md +11 -13
  601. package/docs/install-integrations.mdx +1 -1
  602. package/docs/meta.json +1 -0
  603. package/docs/reference/cli.md +10 -7
  604. package/docs/reference/typescript-api.md +42 -42
  605. package/docs/sandbox/index.mdx +11 -0
  606. package/docs/skills.mdx +5 -10
  607. package/docs/subagents/index.mdx +7 -5
  608. package/docs/tools/human-in-the-loop.md +22 -11
  609. package/docs/tools/overview.mdx +7 -1
  610. package/docs/tools/workflows.mdx +45 -20
  611. package/docs/tutorial/guard-the-spend.mdx +1 -1
  612. package/package.json +30 -9
  613. package/dist/src/cli/dev/tui/model-picker.d.ts +0 -50
  614. package/dist/src/cli/dev/tui/model-picker.js +0 -1
  615. package/dist/src/cli/dev/tui/todo-panel.d.ts +0 -44
  616. package/dist/src/cli/dev/tui/todo-panel.js +0 -1
  617. package/dist/src/compiled/@workflow/builders/index.d.ts +0 -62
  618. package/dist/src/compiled/@workflow/builders/index.js +0 -1
  619. package/dist/src/compiled/_chunks/client/errors-Cd0_QQdM.js +0 -2
  620. package/dist/src/compiled/_chunks/node/auth-DDrvYko5.js +0 -2
  621. package/dist/src/compiled/_chunks/node/schemas-g-rLPCNX.js +0 -50
  622. package/dist/src/compiled/_chunks/workflow/coerce-D0oqvQ_w.js +0 -1
  623. package/dist/src/compiled/_chunks/workflow/dist-DjECvUyK.js +0 -2
  624. package/dist/src/compiled/_chunks/workflow/frames-D_Q-7A1N.js +0 -3
  625. package/dist/src/compiled/_chunks/workflow/resume-hook-BhA_nDEV.js +0 -1
  626. package/dist/src/compiled/_chunks/workflow/schemas-4CmFgxN_.js +0 -50
  627. package/dist/src/compiled/_chunks/workflow/sleep-DB4AH9-A.js +0 -1
  628. package/dist/src/compiled/_chunks/workflow/token-util-pP4KRRl0.js +0 -27
  629. package/dist/src/compiled/_chunks/workflow/ws-transport-BpTMh40s.js +0 -1
  630. package/dist/src/execution/compaction.d.ts +0 -14
  631. package/dist/src/execution/compaction.js +0 -1
  632. package/dist/src/execution/tools/todo.d.ts +0 -91
  633. package/dist/src/execution/tools/todo.js +0 -2
  634. package/dist/src/harness/hitl/question-input-requests.d.ts +0 -15
  635. package/dist/src/harness/hitl/question-input-requests.js +0 -1
  636. package/dist/src/harness/request-input-tool.d.ts +0 -4
  637. package/dist/src/harness/request-input-tool.js +0 -1
  638. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/lib/primitives.js +0 -1
  639. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/lib/schemas.js +0 -1
  640. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/aclaction.js +0 -1
  641. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/sdkvalidationerror.js +0 -1
  642. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/updateprojectblock.js +0 -1
  643. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/updateprojectprojectsbranchmatcher.js +0 -1
  644. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/defaultToZeroValue.js +0 -1
  645. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/fp.js +0 -1
  646. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/primitives.js +0 -1
  647. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/rfcdate.js +0 -1
  648. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/smartUnion.js +0 -1
  649. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/unrecognized.js +0 -1
  650. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/index.js +0 -1
  651. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/ZodError.js +0 -1
  652. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/errors.js +0 -1
  653. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/external.js +0 -1
  654. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/helpers/errorUtil.js +0 -1
  655. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/helpers/parseUtil.js +0 -1
  656. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/helpers/util.js +0 -1
  657. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/index.js +0 -1
  658. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/locales/en.js +0 -1
  659. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/types.js +0 -1
  660. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/checks.js +0 -1
  661. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/coerce.js +0 -1
  662. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/compat.js +0 -1
  663. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/deep-partial.js +0 -1
  664. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/errors.js +0 -1
  665. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/external.js +0 -1
  666. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/from-json-schema.js +0 -1
  667. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/in-out.js +0 -1
  668. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/iso.js +0 -1
  669. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/parse.js +0 -1
  670. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/schemas.js +0 -1
  671. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/api.js +0 -1
  672. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/checks.js +0 -1
  673. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/compile.js +0 -2
  674. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/core.js +0 -1
  675. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/doc.js +0 -3
  676. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/errors.js +0 -2
  677. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/index.js +0 -1
  678. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/json-schema-generator.js +0 -1
  679. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/json-schema-processors.js +0 -1
  680. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/json-schema.js +0 -1
  681. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/memoizer.js +0 -1
  682. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/parse.js +0 -1
  683. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/regexes.js +0 -1
  684. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/registries.js +0 -1
  685. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/schemas.js +0 -46
  686. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/to-json-schema.js +0 -3
  687. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/util.js +0 -1
  688. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/versions.js +0 -1
  689. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/visit.js +0 -1
  690. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ar.js +0 -1
  691. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/az.js +0 -1
  692. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/be.js +0 -1
  693. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/bg.js +0 -1
  694. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/bn.js +0 -1
  695. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ca.js +0 -1
  696. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ckb.js +0 -1
  697. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/cs.js +0 -1
  698. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/da.js +0 -1
  699. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/de.js +0 -1
  700. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/el.js +0 -1
  701. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/en.js +0 -1
  702. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/eo.js +0 -1
  703. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/es.js +0 -1
  704. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fa.js +0 -1
  705. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fi.js +0 -1
  706. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fr-CA.js +0 -1
  707. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fr.js +0 -1
  708. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/gu.js +0 -1
  709. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/he.js +0 -1
  710. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hi.js +0 -1
  711. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hr.js +0 -1
  712. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hu.js +0 -1
  713. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hy.js +0 -1
  714. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/id.js +0 -1
  715. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/index.js +0 -1
  716. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/is.js +0 -1
  717. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/it.js +0 -1
  718. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ja.js +0 -1
  719. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ka.js +0 -1
  720. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/kh.js +0 -1
  721. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/km.js +0 -1
  722. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/kn.js +0 -1
  723. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ko.js +0 -1
  724. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/lt.js +0 -1
  725. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/mk.js +0 -1
  726. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ms.js +0 -1
  727. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ne.js +0 -1
  728. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/nl.js +0 -1
  729. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/nn.js +0 -1
  730. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/no.js +0 -1
  731. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ota.js +0 -1
  732. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/pl.js +0 -1
  733. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ps.js +0 -1
  734. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/pt-BR.js +0 -1
  735. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/pt.js +0 -1
  736. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ro.js +0 -1
  737. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ru.js +0 -1
  738. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/sk.js +0 -1
  739. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/sl.js +0 -1
  740. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/sv.js +0 -1
  741. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ta.js +0 -1
  742. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/th.js +0 -1
  743. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/tk.js +0 -1
  744. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/tr.js +0 -1
  745. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ua.js +0 -1
  746. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/uk.js +0 -1
  747. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ur.js +0 -1
  748. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/uz.js +0 -1
  749. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/vi.js +0 -1
  750. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/yo.js +0 -1
  751. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/zh-CN.js +0 -1
  752. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/zh-TW.js +0 -1
  753. package/dist/src/public/tools/todo.d.ts +0 -3
  754. package/dist/src/public/tools/todo.js +0 -1
  755. package/dist/src/runtime/skills/sandbox-access.d.ts +0 -22
  756. package/dist/src/runtime/skills/sandbox-access.js +0 -1
  757. package/dist/src/shared/skill-types.d.ts +0 -22
  758. package/dist/src/shared/skill-types.js +0 -1
  759. package/dist/src/tools/framework/ask-question.d.ts +0 -38
  760. package/dist/src/tools/framework/ask-question.js +0 -1
  761. package/dist/src/tools/provided/todo.d.ts +0 -8
  762. package/dist/src/tools/provided/todo.js +0 -2
  763. /package/dist/src/{node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/helpers/typeAliases.js → compiler/normalize-manifest-types.js} +0 -0
@@ -2,14 +2,13 @@ import type { ModelAccessChange } from "#shared/model-connection.js";
2
2
  import { runModelLogin } from "#setup/flows/model-login.js";
3
3
  import { runDeployFlow } from "#setup/flows/deploy.js";
4
4
  import { runInstallVercelCliFlow } from "#setup/flows/install-vercel-cli.js";
5
- import { runModelFlow } from "#setup/flows/model.js";
6
5
  import { runRegistryFlow } from "#setup/flows/registry.js";
7
6
  import type { Prompter } from "#setup/prompter.js";
8
7
  import { type TuiPrompterRenderer } from "./tui-prompter.js";
9
8
  import type { PromptCommandExtensionName } from "./prompt-commands.js";
10
9
  import type { SetupFlowRenderer } from "./setup-flow.js";
11
10
  import type { VercelStatusEffect } from "./vercel-status.js";
12
- export type TuiSetupCommand = PromptCommandExtensionName;
11
+ export type TuiSetupCommand = Exclude<PromptCommandExtensionName, "model">;
13
12
  /**
14
13
  * Panel title and loading indicator per command. The bordered panel never
15
14
  * repeats the echoed command verbatim, but it keeps a constant title as flows
@@ -20,10 +19,6 @@ export declare const SETUP_FLOW_CONFIG: {
20
19
  title: string;
21
20
  indicator: "pulse";
22
21
  };
23
- model: {
24
- title: string;
25
- indicator: "pulse";
26
- };
27
22
  add: {
28
23
  title: string;
29
24
  indicator: "pulse";
@@ -33,7 +28,7 @@ export declare const SETUP_FLOW_CONFIG: {
33
28
  indicator: "spinner";
34
29
  };
35
30
  };
36
- export type TuiSetupCommandRenderer = TuiPrompterRenderer & Pick<SetupFlowRenderer, "readProviderPicker" | "readModelPicker" | "setNavigation" | "waitForInterrupt">;
31
+ export type TuiSetupCommandRenderer = TuiPrompterRenderer & Pick<SetupFlowRenderer, "readProviderPicker" | "setNavigation" | "waitForInterrupt">;
37
32
  export type OnboardingScreenEvent = {
38
33
  screen: "model_provider" | "model_settings" | "registry_channels" | "registry_integrations" | "registry_review" | "registry_install";
39
34
  registrySelectedCount?: number;
@@ -63,7 +58,6 @@ export interface TuiSetupCommandInput {
63
58
  export interface TuiSetupFlows {
64
59
  runModelLogin?: typeof runModelLogin;
65
60
  runInstallVercelCliFlow: typeof runInstallVercelCliFlow;
66
- runModelFlow: typeof runModelFlow;
67
61
  runRegistryFlow: typeof runRegistryFlow;
68
62
  runDeployFlow: typeof runDeployFlow;
69
63
  }
@@ -1,2 +1 @@
1
- import{formatRegistrySessionResult,registryItemProgress,registryResultTone}from"./registry-result-message.js";import{createTuiPrompter}from"./tui-prompter.js";import{runDeployFlow}from"#setup/flows/deploy.js";import{WizardCancelledError}from"#setup/step.js";import{runModelLogin}from"#setup/flows/model-login.js";import{HumanActionRequiredError}from"#setup/human-action.js";import{runInstallVercelCliFlow}from"#setup/flows/install-vercel-cli.js";import{runModelFlow}from"#setup/flows/model.js";import{RegistryFlowFailedError,runRegistryFlow}from"#setup/flows/registry.js";const SETUP_FLOW_CONFIG={login:{title:`Connecting your model`,indicator:`pulse`},model:{title:`Configure the agent model`,indicator:`pulse`},add:{title:`Add to your agent`,indicator:`pulse`},deploy:{title:`Deploy to Vercel`,indicator:`spinner`}};function muteableRenderer(e,t,n){return{readSelect:n=>t()?Promise.resolve(void 0):e.readSelect(n),readEditableSelect:n=>t()?Promise.resolve(void 0):e.readEditableSelect(n),readProviderPicker:n=>t()?Promise.resolve(void 0):e.readProviderPicker(n),readModelPicker:n=>t()?Promise.resolve(void 0):e.readModelPicker(n),readText:n=>t()?Promise.resolve(void 0):e.readText(n),readAcknowledge:n=>t()?Promise.resolve():e.readAcknowledge(n),readChoice:n=>t()?{choice:Promise.resolve(void 0),close:()=>{}}:e.readChoice(n),setNavigation:n=>{t()||e.setNavigation?.(n)},setStatus:n=>{t()||e.setStatus(n)},renderLine:(n,r)=>{(!t()||r===`warning`||r===`error`)&&e.renderLine(n,r)},replaceContent:n=>{t()||e.replaceContent?.(n)},renderOutput:n=>{t()||e.renderOutput(n)},withInheritedStdio:t=>e.withInheritedStdio(t),withExclusiveTerminal:e=>n?.(e)??e()}}function cancelledSetupResult(){return{message:``,cancelled:!0,preserveFlowDiagnostics:!1}}async function runTuiSetupCommand(e){let{command:t}=e,n=!1,r=new AbortController,i=muteableRenderer(e.renderer,()=>n,e.withExclusiveTerminal),a=(e.createPrompter??createTuiPrompter)(i),cancelActiveRegistryItem,runRegistryItem=async e=>{let t=new AbortController;cancelActiveRegistryItem=()=>t.abort(new WizardCancelledError);try{return await e(AbortSignal.any([r.signal,t.signal]))}finally{cancelActiveRegistryItem=void 0}},o=e.renderer.waitForInterrupt(),s=executeSetupCommand(e,a,i,r.signal,runRegistryItem),c=s.then(e=>({kind:`outcome`,value:e}));try{for(;;){let i=!1;try{let e=await Promise.race([c,o.promise.then(e=>({kind:`interrupt`,interrupt:e}))]);if(e.kind===`outcome`)return e.value;if(t===`add`&&e.interrupt===`escape`&&cancelActiveRegistryItem!==void 0)cancelActiveRegistryItem(),i=!0;else{n=!0,r.abort(new WizardCancelledError);let e=await s;return e.partial===!0?e:{...e,...cancelledSetupResult(),tone:void 0}}}finally{o.dispose()}i&&(o=e.renderer.waitForInterrupt())}}finally{e.renderer.setStatus(void 0)}}async function executeSetupCommand(e,t,n,r,i){let{command:a,appRoot:o}=e,s={runInstallVercelCliFlow,runModelFlow,runRegistryFlow,runDeployFlow,...e.flows};try{switch(a){case`login`:{let n=await(s.runModelLogin??runModelLogin)({appRoot:o,agentRoot:e.agentRoot,prompter:t,signal:r,automatic:e.initialModelStep===`provider`,withConnectionUpdate:e.withExclusiveTerminal});return n.kind===`cancelled`?{message:`Connect a model with /login when you’re ready.`,cancelled:!0,preserveFlowDiagnostics:!1}:{message:`Connected. Start chatting · /add to extend your agent`,effect:{kind:`model-access-changed`,reload:n.reload,...n.model&&{model:n.model}},preserveFlowDiagnostics:!1}}case`model`:{let i={appRoot:e.agentRoot??o,environmentRoot:o,prompter:t,signal:r,chatGptAccountLabel:e.chatGptAccountLabel,deps:{pickModelSettings:e=>n.readModelPicker(e)}};e.initialModelStep!==void 0&&(i.initialStep=e.initialModelStep),e.onOnboardingScreen!==void 0&&(i.onScreen=t=>e.onOnboardingScreen?.({screen:t}));let a=await s.runModelFlow(i);if(a.kind===`cancelled`)return cancelledSetupResult();let c=[];a.modelMessage!==void 0&&c.push(a.modelMessage),a.providerSelection!==void 0&&c.push(providerSelectionMessage(a.providerSelection));let l={message:c.join(`
2
- `),preserveFlowDiagnostics:!1};return a.accessChanged&&(l.effect={kind:`model-access-changed`,reload:!0}),l}case`add`:{let a=await s.runRegistryFlow({appRoot:o,installRoot:e.agentRoot,prompter:t,signal:r,initialAddress:e.initialRegistryAddress,onScreen:e.onOnboardingScreen,onItemStart:registryItemProgress(n),runItem:i});if(a.kind===`cancelled`)return cancelledSetupResult();let c=a.result,l=registryResultTone(c),u=c.items.length>0||c.failures.length>0||c.outcomes!==void 0?formatRegistrySessionResult(c):`No integrations selected.`,d={message:l===`error`?`/add failed — ${u}`:u,preserveFlowDiagnostics:!0};return c.cancelled===!0?(d.partial=!0,d.tone=`error`):l!==void 0&&(d.tone=l),c.deployed===`production`&&(d.effect={kind:`deployed`}),d}case`deploy`:{let e=await s.runDeployFlow({appRoot:o,prompter:t,interactive:!0,signal:r});return e.kind===`cancelled`?cancelledSetupResult():e.kind===`needs-link`?{message:`Not linked to a Vercel project. Run eve deploy in an interactive terminal to link it.`,preserveFlowDiagnostics:!0}:e.kind===`local-model`?{message:`ChatGPT subscription models are local-only. Switch to an AI Gateway or server-authenticated model before deploying.`,preserveFlowDiagnostics:!0}:{message:e.productionUrl===void 0?`Deployed.`:`Deployed: ${e.productionUrl}`,preserveFlowDiagnostics:!0,effect:{kind:`deployed`}}}}}catch(e){if(e instanceof WizardCancelledError)return cancelledSetupResult();let n=e instanceof RegistryFlowFailedError?e.cause:e,i=await vercelCliUpgradeOutcome(n,a,s,{appRoot:o,prompter:t,signal:r});if(i!==void 0)return withRegistryResults(i,e);let c=vercelActionOutcome(n,a);return c===void 0?e instanceof RegistryFlowFailedError?{message:`${formatRegistrySessionResult(e.completed)}\n\n${e.message}`,partial:!0,tone:`error`,preserveFlowDiagnostics:!0}:{message:`/${a} failed: ${e instanceof Error?e.message:String(e)}`,tone:`error`,preserveFlowDiagnostics:!0}:withRegistryResults(c,e)}}function withRegistryResults(e,t){return t instanceof RegistryFlowFailedError?{...e,message:`${formatRegistrySessionResult(t.completed)}\n\n${e.message}`,partial:!0,tone:`error`,preserveFlowDiagnostics:!0}:e}async function vercelCliUpgradeOutcome(e,t,n,r){if(!(e instanceof HumanActionRequiredError)||e.action.kind!==`vercel-cli-upgrade`)return;let i;try{i=await r.prompter.select({message:`Your Vercel CLI needs an update to list your teams. Upgrade now?`,options:[{value:`upgrade`,label:`Upgrade Vercel CLI`,description:`Run the Vercel CLI's native upgrader`},{value:`later`,label:`Not now`}],initialValue:`upgrade`})}catch{i=`later`}if(i===`later`)return{message:`The Vercel CLI needs an update — run \`vercel upgrade\`, then retry /${t}.`,tone:`error`,preserveFlowDiagnostics:!0};let a;try{a=await n.runInstallVercelCliFlow({appRoot:r.appRoot,prompter:r.prompter,signal:r.signal,upgrade:!0})}catch(e){return{message:vercelCliUpgradeFailureMessage(t,errorMessage(e)),tone:`error`,preserveFlowDiagnostics:!0}}switch(a.kind){case`installed`:return{message:`Upgraded the Vercel CLI. Retry /${t}.`,tone:`error`,preserveFlowDiagnostics:!1};case`failed`:return{message:vercelCliUpgradeFailureMessage(t,a.reason),tone:`error`,preserveFlowDiagnostics:!0};case`cancelled`:return{message:`Vercel CLI upgrade cancelled — run \`vercel upgrade\`, then retry /${t}.`,tone:`error`,preserveFlowDiagnostics:!0};case`already`:return{message:`The Vercel CLI is already up to date. Retry /${t}.`,tone:`error`,preserveFlowDiagnostics:!1}}}function errorMessage(e){let t=(e instanceof Error?e.message:String(e)).replace(/\s+/gu,` `).trim();return t.length<=240?t:`${t.slice(0,239)}…`}function vercelCliUpgradeFailureMessage(e,t){return`Couldn't upgrade the Vercel CLI${t===void 0||t===``?``:` (${t})`} — run \`vercel upgrade\`, then retry /${e}.`}function vercelActionOutcome(e,t){if(!(e instanceof HumanActionRequiredError))return;let n=vercelActionMessage(e.action.kind,t);return n===void 0?void 0:{message:n,tone:`error`,preserveFlowDiagnostics:!0}}function vercelActionMessage(e,t){switch(e){case`vercel-login`:return`You're not logged in to Vercel — run /deploy to connect your Vercel account, then retry /${t}.`;case`vercel-forbidden`:return`Vercel denied access to that team — check your team access and SSO, then retry /${t}.`;case`vercel-cli-missing`:return`The Vercel CLI isn't installed — run /deploy to install it, then retry /${t}.`;case`vercel-cli-upgrade`:return`The Vercel CLI needs an update — run \`vercel upgrade\`, then retry /${t}.`;default:return}}function providerSelectionMessage(e){return e===`chatgpt`?`ChatGPT subscription selected.`:e===`ai-gateway-project`?`AI Gateway via Project selected.`:`AI Gateway via API key selected.`}export{SETUP_FLOW_CONFIG,runTuiSetupCommand};
1
+ import{formatRegistrySessionResult,registryItemProgress,registryResultTone}from"./registry-result-message.js";import{createTuiPrompter}from"./tui-prompter.js";import{runDeployFlow}from"#setup/flows/deploy.js";import{WizardCancelledError}from"#setup/step.js";import{runModelLogin}from"#setup/flows/model-login.js";import{HumanActionRequiredError}from"#setup/human-action.js";import{runInstallVercelCliFlow}from"#setup/flows/install-vercel-cli.js";import{RegistryFlowFailedError,runRegistryFlow}from"#setup/flows/registry.js";const SETUP_FLOW_CONFIG={login:{title:`Connecting your model`,indicator:`pulse`},add:{title:`Add to your agent`,indicator:`pulse`},deploy:{title:`Deploy to Vercel`,indicator:`spinner`}};function muteableRenderer(e,t,n){return{readSelect:n=>t()?Promise.resolve(void 0):e.readSelect(n),readEditableSelect:n=>t()?Promise.resolve(void 0):e.readEditableSelect(n),readProviderPicker:n=>t()?Promise.resolve(void 0):e.readProviderPicker(n),readText:n=>t()?Promise.resolve(void 0):e.readText(n),readAcknowledge:n=>t()?Promise.resolve():e.readAcknowledge(n),readChoice:n=>t()?{choice:Promise.resolve(void 0),close:()=>{}}:e.readChoice(n),setNavigation:n=>{t()||e.setNavigation?.(n)},setStatus:n=>{t()||e.setStatus(n)},renderLine:(n,r)=>{(!t()||r===`warning`||r===`error`)&&e.renderLine(n,r)},replaceContent:n=>{t()||e.replaceContent?.(n)},renderOutput:n=>{t()||e.renderOutput(n)},withInheritedStdio:t=>e.withInheritedStdio(t),withExclusiveTerminal:e=>n?.(e)??e()}}function cancelledSetupResult(){return{message:``,cancelled:!0,preserveFlowDiagnostics:!1}}async function runTuiSetupCommand(e){let{command:t}=e,n=!1,r=new AbortController,i=muteableRenderer(e.renderer,()=>n,e.withExclusiveTerminal),a=(e.createPrompter??createTuiPrompter)(i),cancelActiveRegistryItem,runRegistryItem=async e=>{let t=new AbortController;cancelActiveRegistryItem=()=>t.abort(new WizardCancelledError);try{return await e(AbortSignal.any([r.signal,t.signal]))}finally{cancelActiveRegistryItem=void 0}},o=e.renderer.waitForInterrupt(),s=executeSetupCommand(e,a,i,r.signal,runRegistryItem),c=s.then(e=>({kind:`outcome`,value:e}));try{for(;;){let i=!1;try{let e=await Promise.race([c,o.promise.then(e=>({kind:`interrupt`,interrupt:e}))]);if(e.kind===`outcome`)return e.value;if(t===`add`&&e.interrupt===`escape`&&cancelActiveRegistryItem!==void 0)cancelActiveRegistryItem(),i=!0;else{n=!0,r.abort(new WizardCancelledError);let e=await s;return e.partial===!0?e:{...e,...cancelledSetupResult(),tone:void 0}}}finally{o.dispose()}i&&(o=e.renderer.waitForInterrupt())}}finally{e.renderer.setStatus(void 0)}}async function executeSetupCommand(e,t,n,r,i){let{command:a,appRoot:o}=e,s={runInstallVercelCliFlow,runRegistryFlow,runDeployFlow,...e.flows};try{switch(a){case`login`:{let n=await(s.runModelLogin??runModelLogin)({appRoot:o,agentRoot:e.agentRoot,prompter:t,signal:r,automatic:e.initialModelStep===`provider`,withConnectionUpdate:e.withExclusiveTerminal});return n.kind===`cancelled`?{message:`Connect a model with /login when you’re ready.`,cancelled:!0,preserveFlowDiagnostics:!1}:{message:`Connected. Start chatting · /add to extend your agent`,effect:{kind:`model-access-changed`,reload:n.reload,...n.model&&{model:n.model}},preserveFlowDiagnostics:!1}}case`add`:{let a=await s.runRegistryFlow({appRoot:o,installRoot:e.agentRoot,prompter:t,signal:r,initialAddress:e.initialRegistryAddress,onScreen:e.onOnboardingScreen,onItemStart:registryItemProgress(n),runItem:i});if(a.kind===`cancelled`)return cancelledSetupResult();let c=a.result,l=registryResultTone(c),u=c.items.length>0||c.failures.length>0||c.outcomes!==void 0?formatRegistrySessionResult(c):`No integrations selected.`,d={message:l===`error`?`/add failed — ${u}`:u,preserveFlowDiagnostics:!0};return c.cancelled===!0?(d.partial=!0,d.tone=`error`):l!==void 0&&(d.tone=l),c.deployed===`production`&&(d.effect={kind:`deployed`}),d}case`deploy`:{let e=await s.runDeployFlow({appRoot:o,prompter:t,interactive:!0,signal:r});return e.kind===`cancelled`?cancelledSetupResult():e.kind===`needs-link`?{message:`Not linked to a Vercel project. Run eve deploy in an interactive terminal to link it.`,preserveFlowDiagnostics:!0}:e.kind===`local-model`?{message:`ChatGPT subscription models are local-only. Switch to an AI Gateway or server-authenticated model before deploying.`,preserveFlowDiagnostics:!0}:{message:e.productionUrl===void 0?`Deployed.`:`Deployed: ${e.productionUrl}`,preserveFlowDiagnostics:!0,effect:{kind:`deployed`}}}}}catch(e){if(e instanceof WizardCancelledError)return cancelledSetupResult();let n=e instanceof RegistryFlowFailedError?e.cause:e,i=await vercelCliUpgradeOutcome(n,a,s,{appRoot:o,prompter:t,signal:r});if(i!==void 0)return withRegistryResults(i,e);let c=vercelActionOutcome(n,a);return c===void 0?e instanceof RegistryFlowFailedError?{message:`${formatRegistrySessionResult(e.completed)}\n\n${e.message}`,partial:!0,tone:`error`,preserveFlowDiagnostics:!0}:{message:`/${a} failed: ${e instanceof Error?e.message:String(e)}`,tone:`error`,preserveFlowDiagnostics:!0}:withRegistryResults(c,e)}}function withRegistryResults(e,t){return t instanceof RegistryFlowFailedError?{...e,message:`${formatRegistrySessionResult(t.completed)}\n\n${e.message}`,partial:!0,tone:`error`,preserveFlowDiagnostics:!0}:e}async function vercelCliUpgradeOutcome(e,t,n,r){if(!(e instanceof HumanActionRequiredError)||e.action.kind!==`vercel-cli-upgrade`)return;let i;try{i=await r.prompter.select({message:`Your Vercel CLI needs an update to list your teams. Upgrade now?`,options:[{value:`upgrade`,label:`Upgrade Vercel CLI`,description:`Run the Vercel CLI's native upgrader`},{value:`later`,label:`Not now`}],initialValue:`upgrade`})}catch{i=`later`}if(i===`later`)return{message:`The Vercel CLI needs an update — run \`vercel upgrade\`, then retry /${t}.`,tone:`error`,preserveFlowDiagnostics:!0};let a;try{a=await n.runInstallVercelCliFlow({appRoot:r.appRoot,prompter:r.prompter,signal:r.signal,upgrade:!0})}catch(e){return{message:vercelCliUpgradeFailureMessage(t,errorMessage(e)),tone:`error`,preserveFlowDiagnostics:!0}}switch(a.kind){case`installed`:return{message:`Upgraded the Vercel CLI. Retry /${t}.`,tone:`error`,preserveFlowDiagnostics:!1};case`failed`:return{message:vercelCliUpgradeFailureMessage(t,a.reason),tone:`error`,preserveFlowDiagnostics:!0};case`cancelled`:return{message:`Vercel CLI upgrade cancelled — run \`vercel upgrade\`, then retry /${t}.`,tone:`error`,preserveFlowDiagnostics:!0};case`already`:return{message:`The Vercel CLI is already up to date. Retry /${t}.`,tone:`error`,preserveFlowDiagnostics:!1}}}function errorMessage(e){let t=(e instanceof Error?e.message:String(e)).replace(/\s+/gu,` `).trim();return t.length<=240?t:`${t.slice(0,239)}…`}function vercelCliUpgradeFailureMessage(e,t){return`Couldn't upgrade the Vercel CLI${t===void 0||t===``?``:` (${t})`} — run \`vercel upgrade\`, then retry /${e}.`}function vercelActionOutcome(e,t){if(!(e instanceof HumanActionRequiredError))return;let n=vercelActionMessage(e.action.kind,t);return n===void 0?void 0:{message:n,tone:`error`,preserveFlowDiagnostics:!0}}function vercelActionMessage(e,t){switch(e){case`vercel-login`:return`You're not logged in to Vercel — run /deploy to connect your Vercel account, then retry /${t}.`;case`vercel-forbidden`:return`Vercel denied access to that team — check your team access and SSO, then retry /${t}.`;case`vercel-cli-missing`:return`The Vercel CLI isn't installed — run /deploy to install it, then retry /${t}.`;case`vercel-cli-upgrade`:return`The Vercel CLI needs an update — run \`vercel upgrade\`, then retry /${t}.`;default:return}}export{SETUP_FLOW_CONFIG,runTuiSetupCommand};
@@ -1,6 +1,5 @@
1
1
  import type { ChannelSetupChoice, ChannelSetupChoiceOptions } from "#setup/cli/index.js";
2
2
  import type { SearchActionOption } from "#setup/cli/select-state.js";
3
- import type { ModelSettingsRequest, ModelSettingsResult } from "#setup/flows/model.js";
4
3
  import type { ProviderPickerChoice, ProviderPickerRequest } from "#setup/flows/provider.js";
5
4
  import type { PlannerNavigation, SelectMetadata, SelectNotice } from "#setup/prompter.js";
6
5
  import type { SetupPanelOption } from "./setup-panel.js";
@@ -87,8 +86,6 @@ export interface SetupFlowRenderer {
87
86
  }): Promise<SetupEditableSelectResult | undefined>;
88
87
  /** Provider-only picker with masked async validation. Not part of Prompter. */
89
88
  readProviderPicker(options: ProviderPickerRequest): Promise<ProviderPickerChoice | undefined>;
90
- /** Model, speed, and reasoning picker. Not part of Prompter. */
91
- readModelPicker(options: ModelSettingsRequest): Promise<ModelSettingsResult | undefined>;
92
89
  readText(options: {
93
90
  message: string;
94
91
  placeholder?: string;
@@ -1,5 +1,6 @@
1
1
  import type { DevDiagnostics } from "../diagnostics.js";
2
2
  import type { AgentTUIInputQuestion, AgentTUIInputQuestionResponse, AgentTUIRenderer, AgentTUISessionOptions, AgentTUIStreamResult, AgentTUIToolApprovalRequest, AgentTUIToolApprovalResponse, ConnectionAuthUpdate, SubagentStepUpdate, SubagentView, SubagentToolUpdate } from "./runner.js";
3
+ import { type PromptArgumentSuggestion } from "./argument-typeahead.js";
3
4
  import { type PromptCommandSpec } from "./prompt-commands.js";
4
5
  import type { SetupFlowRenderer } from "./setup-flow.js";
5
6
  import type { AssistantResponseStatsMode, LogDisplayMode, TerminalPartDisplayMode } from "./types.js";
@@ -41,6 +42,8 @@ export type TerminalRendererOptions = {
41
42
  diagnostics?: DevDiagnostics;
42
43
  /** Slash commands available in this local or remote session. */
43
44
  availablePromptCommands?: readonly PromptCommandSpec[];
45
+ /** Catalog entries available to inline `/model` and `/add` completion. */
46
+ argumentSuggestions?: (command: "model" | "add") => Promise<readonly PromptArgumentSuggestion[]>;
44
47
  onExitRequest?: () => void;
45
48
  };
46
49
  export type AgentHeaderOptions = {
@@ -1,15 +1,13 @@
1
- import{buildAgentHeader}from"./agent-header.js";import{detectMarkdownRendering}from"./markdown.js";import{PROMPT_COMMANDS,isPromptControlCommand,parsePromptCommand}from"./prompt-commands.js";import{renderAttentionRows,renderBlockLines}from"./blocks.js";import{copyTextToClipboard}from"./clipboard.js";import{dismissTypeahead,inlineCommandHint,isTypeaheadOpen,moveTypeaheadSelection,renderCommandSuggestions,selectedTypeaheadCommand,typeaheadCompletion,typeaheadFor}from"./command-typeahead.js";import{formatDevRebuildStatus,summarizeChangedFiles}from"./dev-rebuild-status.js";import{formatStoredDiagnostic,presentDiagnostic}from"./diagnostic-presentation.js";import{interruptedError}from"./errors.js";import{FileContentCache}from"./file-content-cache.js";import{EMPTY_LINE,KillRing,PromptHistory,applyLineEditorKey,deleteForward,layoutPromptInput,lineOf,movePromptLine,visibleLine}from"./line-editor.js";import{nextLogDisplayMode}from"./log-display-mode.js";import{MessageQueue,renderMessageQueueRows}from"./message-queue.js";import{enterBadge,flowMessageRows,renderAcknowledgeQuestion,renderFlowPanel,renderSelectQuestion,renderTextQuestion}from"./setup-panel.js";import{initialModelPickerState,modelPickerTitle,renderModelPicker,transitionModelPicker}from"./model-picker.js";import{initialProviderPickerState,transitionProviderPicker}from"./provider-picker.js";import{renderQuestionPanel}from"./question-panel.js";import{formatAssistantResponseStats,formatTokenFlow,formatTurnDuration,isIncompleteOsc,isIncompletePaste,nextKey,sanitizePastedText,stripPasteStart,stripPromptControlCharacters,takeUntil}from"./stream-format.js";import{TraceViewerSession}from"./traces/trace-viewer-session.js";import{buildStatusLine}from"./status-line.js";import{createTheme,detectUnicode}from"./theme.js";import{isPanelRoutedTool,presentPreparingTool,presentTool,readWriteFileInput,toolBaseName}from"./tool-presentation.js";import{groupToolBlocksForDisplay}from"./tool-block-groups.js";import{TurnClock}from"./turn-clock.js";import{allTodoItemsSettled,readTodoToolItems,renderFinishedTodoRows,renderTodoPanelRows}from"./todo-panel.js";import{reduceSetupSelectInput,setupSelectionIntent}from"./setup-selection-input.js";import{BACKGROUND_COLOR_QUERY,parseBackgroundColorReply}from"./terminal-background.js";import{inspectError}from"#internal/logging.js";import{eveVersionTag}from"#cli/banner.js";import{clipVisible,renderInputText,renderInputWithBlockCursor,stripAnsi,stripTerminalControls}from"#cli/ui/terminal-text.js";import{renderCursorRow}from"#setup/cli/option-row.js";import{initialSelectState,orderedSelection,reduceSelect,searchActionQuery,selectValueAtCursor}from"#setup/cli/select-state.js";import{toErrorMessage}from"#shared/errors.js";import{StringDecoder}from"node:string_decoder";import{summarizeKnownError}from"#harness/semantic-errors/index.js";import{parseDevRebuildLogLine}from"#internal/nitro/host/dev-watcher-log.js";import{LiveRegion}from"#cli/ui/live-region.js";import{AltScreen}from"#cli/ui/alt-screen.js";import{PROGRESS_PULSE_ASCII_GLYPH,PROGRESS_PULSE_GLYPH,isProgressPulseVisible}from"#cli/ui/progress-pulse.js";import{readGatewayServiceTier}from"#shared/gateway-service-tier.js";function isMultiSelectRequest(e){return e.kind===`multi`||e.kind===`searchable-multi`}function moveActionCursor(e,t,n){return n===0?void 0:e===void 0?t===`down`?0:n-1:(e+(t===`down`?1:-1)+n)%n}function completedTurnStatus(e){return e.interrupted?`Interrupted`:e.cancelled?`Cancelled`:e.continueSession?`Ready`:`Done`}function turnActivityLabel(e){return e===void 0?`Thinking`:e.runningTools.size>0?`Running`:e.modelActivity}function updateTurnActivity(e,t){switch(t.type){case`turn-start`:case`step-start`:case`reasoning-delta`:e.modelActivity=`Thinking`;break;case`assistant-delta`:case`tool-call-preparing`:e.modelActivity=`Generating`;break;case`assistant-complete`:t.text?.trim()&&(e.modelActivity=`Generating`);break;case`tool-call`:e.runningTools.add(t.toolCallId),e.modelActivity=`Thinking`;break;case`tool-result`:case`tool-error`:case`tool-rejected`:e.runningTools.delete(t.toolCallId)}}const incompletePasteFlushMs=1e3,STATUS={processing:`Thinking`,connectionAuth:`Waiting for connection authorization…`};var TerminalRenderer=class{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h=[];#g=new Map;#_=new Set;#v=[];#y=new Set;#b=new Map;#x=0;#S=new Map;#C=new Set;#w=new Set;#T=new FileContentCache;#E=new Set;#D;#O;#k;#A;#j=0;#M;#N=!1;#P;#F=[];#I;#L=0;#R;#z;#B=``;#V=0;#H=new PromptHistory;#U=new KillRing;#W=!1;#G;#K=!1;#q=!1;#J=new TurnClock;#Y;#X=EMPTY_LINE;#Z=!1;#Q={kind:`idle`};#$;#ee=STATUS.processing;#te;#ne=`eve`;#re=!1;#ie=!1;#ae=!1;#oe=!1;#se=!1;#ce=!1;#le=!1;#ue;#de=!0;#fe=0;#pe=Date.now();#me;#he;#ge;#_e=!1;#ve;#ye=``;#be=new StringDecoder(`utf8`);#xe;#Se;#Ce;#we=!1;#Te=!1;#Ee;#De;#Oe;#ke;#Ae;#je;#Me;#Ne=``;#Pe=``;#Fe;#Ie;#Le;#Re=!1;#ze;#Be=0;#Ve;#He;#Ue;#We;#Ge;#Ke;#qe;#Je;#Ye=new MessageQueue;#Xe;#Ze;#Qe=!1;#$e;#et;#tt=!1;#nt;#rt;#it;#at;#ot;setupFlow={begin:(e,t)=>this.#pt(e,t),setNavigation:e=>this.#mt(e),end:e=>this.#ht(e?.preserveDiagnostics??!0),readSelect:e=>this.#gt(e),readEditableSelect:e=>this.#vt(e),readProviderPicker:e=>this.#yt(e),readModelPicker:e=>this.#bt(e),readText:e=>this.#xt(e),readAcknowledge:e=>this.#St(e),readChoice:e=>this.#_t(e),setStatus:e=>this.#At(e),renderLine:(e,t)=>this.#jt(e,t),replaceContent:e=>this.#Mt(e),renderOutput:e=>this.#Nt(e),withInheritedStdio:e=>this.#Pt(e),withExclusiveTerminal:e=>this.#Pt(e),waitForInterrupt:e=>this.#Dt(e)};traceViewer={open:e=>this.#It(e)};constructor(e){this.#e=e?.input??process.stdin,this.#t=e?.output??process.stdout,this.#n=new LiveRegion(this.#t),this.#r=new AltScreen(this.#t),this.#i=createTheme({color:e?.color??!0,unicode:e?.unicode??detectUnicode()}),this.#a=e?.renderMarkdown??detectMarkdownRendering(),this.#o=e?.tools??`auto-collapsed`,this.#s=e?.reasoning??`auto-collapsed`,this.#c=e?.subagents??`auto-collapsed`,this.#l=e?.connectionAuth??`full`,this.#u=e?.assistantResponseStats??`tokensPerSecond`,this.#Oe=e?.contextSize,this.#d=e?.captureForeignOutput??this.#t===process.stdout,this.#f=e?.diagnostics,this.#ue=e?.onExitRequest,this.#m=e?.logs??`none`,this.#p=e?.availablePromptCommands??PROMPT_COMMANDS}setStartupPhase(e){this.#O=e,e===void 0?this.#rn():this.#tn(),this.#An()}renderAgentHeader(e){this.#M=void 0,this.#ne=e.name,(this.#D?.info?.agent.model.routing.kind!==`dynamic`||e.info?.agent.model.routing.kind!==`dynamic`)&&(this.#Ge=void 0),this.#D=e,this.#zt();let t=this.#Fn().join(`
2
- `);if(this.#N){t!==this.#P&&(this.#P=t,this.#sn({kind:`agent-header`,body:t,live:!1})),this.#An();return}this.#N=!0,this.#P=t,this.#n.flush(this.#Fn(),this.#Bn(this.#Yn()))}beginStartupDraft(e){this.#zt({title:e.title}),this.#W=!0,this.#K=!0,this.#O=`starting`,this.#M={name:e.title},this.#j=Date.now();let t=lineOf(stripPromptControlCharacters(e.initialDraft??``));this.#k=t,this.#ct(t),this.#Qt(),this.#tn(),this.#An();let apply=e=>{t=e,this.#k=e,this.#en(),this.#ct(t),this.#An()};this.#A=e=>{if(e.type===`escape`&&this.#rt!==void 0){this.#rt(`escape`);return}if(e.type===`ctrl-c`&&this.#rt!==void 0){this.#Ft(),this.#rt(`ctrl-c`);return}let n=this.#U.apply(t,e,{multiline:!0});if(n!==void 0){apply(n);return}if(e.type===`enter`&&t.text.trim().length>0){this.#Ye.enqueue(t.text)&&apply(EMPTY_LINE);return}e.type===`ctrl-c`&&this.#ue?.()},this.#st()}#st(){this.#k!==void 0&&this.#A!==void 0&&(this.#Yt(),this.#ct(this.#k),this.#W=!0,this.#ve=this.#A,this.#Ht())}finishStartupDraft(){let e={draft:this.#k?.text??this.#B,queuedPrompt:this.#Ye.takePrompt()};return this.#k=void 0,this.#A=void 0,this.#Ut(),this.#$t(),this.#W=!1,this.#K=!1,e}async readPrompt(e){this.#zt(e),this.#on(),this.#ln(),this.#W=!0,this.#K=!0,this.#Q={kind:`idle`},this.#ee=``,this.#ce=this.#le,this.#le=!1;let t=this.#Ye.restoreDraft()?.split(`
1
+ import{buildAgentHeader}from"./agent-header.js";import{argumentTypeaheadCompletion,argumentTypeaheadFor,argumentTypeaheadLoadingLabel,argumentTypeaheadQuery,moveArgumentTypeaheadSelection,renderArgumentSuggestions,selectedArgumentSuggestion}from"./argument-typeahead.js";import{detectMarkdownRendering}from"./markdown.js";import{PROMPT_COMMANDS,isPromptControlCommand,parsePromptCommand}from"./prompt-commands.js";import{renderAttentionRows,renderBlockLines}from"./blocks.js";import{copyTextToClipboard}from"./clipboard.js";import{dismissTypeahead,inlineCommandHint,isTypeaheadOpen,moveTypeaheadSelection,renderCommandSuggestions,selectedTypeaheadCommand,typeaheadCompletion,typeaheadFor}from"./command-typeahead.js";import{formatDevRebuildStatus,summarizeChangedFiles}from"./dev-rebuild-status.js";import{formatStoredDiagnostic,presentDiagnostic}from"./diagnostic-presentation.js";import{interruptedError}from"./errors.js";import{FileContentCache}from"./file-content-cache.js";import{EMPTY_LINE,KillRing,PromptHistory,applyLineEditorKey,deleteForward,layoutPromptInput,lineOf,movePromptLine,visibleLine}from"./line-editor.js";import{nextLogDisplayMode}from"./log-display-mode.js";import{MessageQueue,renderMessageQueueRows}from"./message-queue.js";import{initialProviderPickerState,transitionProviderPicker}from"./provider-picker.js";import{renderQuestionPanel}from"./question-panel.js";import{enterBadge,flowMessageRows,renderAcknowledgeQuestion,renderFlowPanel,renderSelectQuestion,renderTextQuestion}from"./setup-panel.js";import{formatAssistantResponseStats,formatTokenFlow,formatTurnDuration,isIncompleteOsc,isIncompletePaste,nextKey,sanitizePastedText,stripPasteStart,stripPromptControlCharacters,takeUntil}from"./stream-format.js";import{TraceViewerSession}from"./traces/trace-viewer-session.js";import{buildStatusLine}from"./status-line.js";import{createTheme,detectUnicode}from"./theme.js";import{isPanelRoutedTool,presentPreparingTool,presentTool,readWriteFileInput,toolBaseName}from"./tool-presentation.js";import{groupToolBlocksForDisplay}from"./tool-block-groups.js";import{TurnClock}from"./turn-clock.js";import{reduceSetupSelectInput,setupSelectionIntent}from"./setup-selection-input.js";import{BACKGROUND_COLOR_QUERY,parseBackgroundColorReply}from"./terminal-background.js";import{inspectError}from"#internal/logging.js";import{eveVersionTag}from"#cli/banner.js";import{clipVisible,renderInputText,renderInputWithBlockCursor,stripAnsi,stripTerminalControls}from"#cli/ui/terminal-text.js";import{renderCursorRow}from"#setup/cli/option-row.js";import{toErrorMessage}from"#shared/errors.js";import{initialSelectState,orderedSelection,reduceSelect,searchActionQuery,selectValueAtCursor}from"#setup/cli/select-state.js";import{StringDecoder}from"node:string_decoder";import{summarizeKnownError}from"#harness/semantic-errors/index.js";import{parseDevRebuildLogLine}from"#internal/nitro/host/dev-watcher-log.js";import{LiveRegion}from"#cli/ui/live-region.js";import{AltScreen}from"#cli/ui/alt-screen.js";import{PROGRESS_PULSE_ASCII_GLYPH,PROGRESS_PULSE_GLYPH,isProgressPulseVisible}from"#cli/ui/progress-pulse.js";import{readGatewayServiceTier}from"#shared/gateway-service-tier.js";function isMultiSelectRequest(e){return e.kind===`multi`||e.kind===`searchable-multi`}function moveActionCursor(e,t,n){return n===0?void 0:e===void 0?t===`down`?0:n-1:(e+(t===`down`?1:-1)+n)%n}function completedTurnStatus(e){return e.interrupted?`Interrupted`:e.cancelled?`Cancelled`:e.continueSession?`Ready`:`Done`}function turnActivityLabel(e){return e===void 0?`Thinking`:e.runningTools.size>0?`Running`:e.modelActivity}function updateTurnActivity(e,t){switch(t.type){case`turn-start`:case`step-start`:case`reasoning-delta`:e.modelActivity=`Thinking`;break;case`assistant-delta`:case`tool-call-preparing`:e.modelActivity=`Generating`;break;case`assistant-complete`:t.text?.trim()&&(e.modelActivity=`Generating`);break;case`tool-call`:e.runningTools.add(t.toolCallId),e.modelActivity=`Thinking`;break;case`tool-result`:case`tool-error`:case`tool-rejected`:e.runningTools.delete(t.toolCallId)}}const incompletePasteFlushMs=1e3,STATUS={processing:`Thinking`,connectionAuth:`Waiting for connection authorization…`};var TerminalRenderer=class{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h=[];#g=new Map;#_=new Set;#v=[];#y=new Set;#b=new Map;#x=0;#S=new Map;#C=new Set;#w=new Set;#T=new FileContentCache;#E=new Set;#D;#O;#k;#A;#j=0;#M;#N=!1;#P;#F=[];#I;#L=0;#R;#z;#B=``;#V=0;#H=new PromptHistory;#U=new KillRing;#W=!1;#G;#K;#q;#J=new Map;#Y=!1;#X=!1;#Z=new TurnClock;#Q;#$=EMPTY_LINE;#ee=!1;#te={kind:`idle`};#ne;#re=STATUS.processing;#ie;#ae=`eve`;#oe=!1;#se=!1;#ce=!1;#le=!1;#ue=!1;#de=!1;#fe=!1;#pe;#me=!0;#he=0;#ge=Date.now();#_e;#ve;#ye;#be=!1;#xe;#Se=``;#Ce=new StringDecoder(`utf8`);#we;#Te;#Ee;#De=!1;#Oe=!1;#ke;#Ae;#je;#Me;#Ne;#Pe;#Fe;#Ie=``;#Le=``;#Re;#ze;#Be;#Ve=!1;#He;#Ue=0;#We;#Ge;#Ke;#qe;#Je;#Ye;#Xe=new MessageQueue;#Ze;#Qe;#$e=!1;#et;#tt;#nt=!1;#rt;#it;#at;#ot;#st;setupFlow={begin:(e,t)=>this.#gt(e,t),setNavigation:e=>this.#_t(e),end:e=>this.#vt(e?.preserveDiagnostics??!0),readSelect:e=>this.#yt(e),readEditableSelect:e=>this.#xt(e),readProviderPicker:e=>this.#St(e),readText:e=>this.#Ct(e),readAcknowledge:e=>this.#wt(e),readChoice:e=>this.#bt(e),setStatus:e=>this.#Mt(e),renderLine:(e,t)=>this.#Nt(e,t),replaceContent:e=>this.#Pt(e),renderOutput:e=>this.#Ft(e),withInheritedStdio:e=>this.#It(e),withExclusiveTerminal:e=>this.#It(e),waitForInterrupt:e=>this.#kt(e)};traceViewer={open:e=>this.#Rt(e)};constructor(e){this.#e=e?.input??process.stdin,this.#t=e?.output??process.stdout,this.#n=new LiveRegion(this.#t),this.#r=new AltScreen(this.#t),this.#i=createTheme({color:e?.color??!0,unicode:e?.unicode??detectUnicode()}),this.#a=e?.renderMarkdown??detectMarkdownRendering(),this.#o=e?.tools??`auto-collapsed`,this.#s=e?.reasoning??`auto-collapsed`,this.#c=e?.subagents??`auto-collapsed`,this.#l=e?.connectionAuth??`full`,this.#u=e?.assistantResponseStats??`tokensPerSecond`,this.#je=e?.contextSize,this.#d=e?.captureForeignOutput??this.#t===process.stdout,this.#f=e?.diagnostics,this.#pe=e?.onExitRequest,this.#q=e?.argumentSuggestions,this.#m=e?.logs??`none`,this.#p=e?.availablePromptCommands??PROMPT_COMMANDS}#ct(e){this.#G=typeaheadFor(this.#p,e,this.#G);let t=argumentTypeaheadQuery(e);if(t===void 0||this.#q===void 0){this.#K=void 0;return}let n=this.#J.get(t.command);if(n===void 0){this.#J.set(t.command,{kind:`loading`}),this.#q(t.command).catch(()=>[]).then(e=>{this.#J.set(t.command,{kind:`ready`,suggestions:e}),this.#W&&this.#ct(this.#B),this.#jn()}),this.#K=void 0;return}if(n.kind===`loading`){this.#K=void 0;return}this.#K=argumentTypeaheadFor(t,n.suggestions,this.#K)}#lt(e){let t=argumentTypeaheadQuery(this.#B);return(t===void 0?void 0:this.#J.get(t.command))?.kind===`loading`&&t!==void 0?[clip(this.#i.colors.dim(`Loading ${argumentTypeaheadLoadingLabel(t.command)}…`),e)]:this.#K===void 0?(this.#G===void 0?void 0:inlineCommandHint(this.#G))===void 0&&this.#G!==void 0&&isTypeaheadOpen(this.#G)?renderCommandSuggestions(this.#G,this.#i,e):[]:renderArgumentSuggestions(this.#K,this.#i,e)}setStartupPhase(e){this.#O=e,e===void 0?this.#an():this.#rn(),this.#jn()}renderAgentHeader(e){this.#M=void 0,this.#ae=e.name,(this.#D?.info?.agent.model.routing.kind!==`dynamic`||e.info?.agent.model.routing.kind!==`dynamic`)&&(this.#Je=void 0),this.#D=e,this.#Vt();let t=this.#In().join(`
2
+ `);if(this.#N){t!==this.#P&&(this.#P=t,this.#ln({kind:`agent-header`,body:t,live:!1})),this.#jn();return}this.#N=!0,this.#P=t,this.#n.flush(this.#In(),this.#Vn(this.#Xn()))}beginStartupDraft(e){this.#Vt({title:e.title}),this.#W=!0,this.#Y=!0,this.#O=`starting`,this.#M={name:e.title},this.#j=Date.now();let t=lineOf(stripPromptControlCharacters(e.initialDraft??``));this.#k=t,this.#dt(t),this.#en(),this.#rn(),this.#jn();let apply=e=>{t=e,this.#k=e,this.#nn(),this.#dt(t),this.#jn()};this.#A=e=>{if(e.type===`escape`&&this.#it!==void 0){this.#it(`escape`);return}if(e.type===`ctrl-c`&&this.#it!==void 0){this.#Lt(),this.#it(`ctrl-c`);return}let n=this.#U.apply(t,e,{multiline:!0});if(n!==void 0){apply(n);return}if(e.type===`enter`&&t.text.trim().length>0){this.#Xe.enqueue(t.text)&&apply(EMPTY_LINE);return}e.type===`ctrl-c`&&this.#pe?.()},this.#ut()}#ut(){this.#k!==void 0&&this.#A!==void 0&&(this.#Zt(),this.#dt(this.#k),this.#W=!0,this.#xe=this.#A,this.#Wt())}finishStartupDraft(){let e={draft:this.#k?.text??this.#B,queuedPrompt:this.#Xe.takePrompt()};return this.#k=void 0,this.#A=void 0,this.#Gt(),this.#tn(),this.#W=!1,this.#Y=!1,e}async readPrompt(e){this.#Vt(e),this.#cn(),this.#dn(),this.#W=!0,this.#Y=!0,this.#te={kind:`idle`},this.#re=``,this.#de=this.#fe,this.#fe=!1;let t=this.#Xe.restoreDraft()?.split(`
3
3
  `).map(stripPromptControlCharacters).join(`
4
- `),n=stripPromptControlCharacters(e?.initialDraft??this.#X.text),r=t===void 0?n:n.length===0?t:`${t}\n\n${n}`,i=lineOf(r);return this.#X=EMPTY_LINE,this.#H.begin(i.text),this.#ct(i),this.#G=typeaheadFor(this.#p,i.text),this.#Qt(),this.#An(),await new Promise((e,t)=>{this.#$=t;let apply=e=>{i=e,this.#en(),this.#ct(i),this.#G=typeaheadFor(this.#p,e.text,this.#G),this.#An()},recall=e=>{e!==void 0&&apply(lineOf(e))},interrupt=()=>{this.#G=void 0,this.#$t(),this.#Vt(),t(interruptedError())},suggestions=()=>this.#G!==void 0&&isTypeaheadOpen(this.#G)?this.#G:void 0,highlighted=()=>{let e=suggestions();return e===void 0?void 0:selectedTypeaheadCommand(e)};this.#ve=t=>{t.type!==`ctrl-c`&&this.#ce&&(this.#ce=!1,this.#An());let n=this.#U.apply(i,t,{multiline:!0});if(n!==void 0){apply(n);return}switch(t.type){case`up`:case`ctrl-p`:{let e=suggestions();if(e!==void 0){this.#G=moveTypeaheadSelection(e,-1),this.#An();break}let t=movePromptLine(i,`up`);t===void 0?recall(this.#H.previous(i.text)):apply(t);break}case`down`:case`ctrl-n`:{let e=suggestions();if(e!==void 0){this.#G=moveTypeaheadSelection(e,1),this.#An();break}let t=movePromptLine(i,`down`);t===void 0?recall(this.#H.next()):apply(t);break}case`tab`:{let e=highlighted();e!==void 0&&apply(lineOf(typeaheadCompletion(e)));break}case`escape`:{let e=suggestions();e!==void 0&&(this.#G=dismissTypeahead(e),this.#An());break}case`enter`:{let t=highlighted(),n=t!==void 0&&parsePromptCommand(i.text)===null?typeaheadCompletion(t).trimEnd():i.text;if(n.trim().length===0)break;this.#G=void 0,this.#H.add(n),this.#W=!1,this.#$t(),this.#ee=STATUS.processing,isPromptControlCommand(n)?this.#sn({kind:`command`,body:stripTerminalControls(n.trim()),live:!1}):(this.#nn(),this.#cn(n),this.#Ve=n,this.#J.arm()),this.#ct(EMPTY_LINE),this.#An(),this.#Ut(),e(n);break}case`ctrl-d`:i.text.length===0?(this.#Ft(),interrupt()):apply(deleteForward(i));break;case`ctrl-l`:this.#Nn();break;case`ctrl-r`:this.#An();break;case`ctrl-c`:if(this.#ce){this.#Ft(),interrupt();break}this.#ce=!0,apply(EMPTY_LINE)}},this.#Ht()})}#ct(e){this.#B=e.text,this.#V=e.cursor}takeQueuedPrompt(){let e=this.#Ye.view().steering,t=this.#Ye.takePrompt();return t!==void 0&&(this.#et=e?`steer`:`queue`),t}async renderStream(e,t){this.#zt(t),this.#_.clear(),this.#W=!1,this.#Q.kind!==`waiting`&&(this.#Q={kind:`waiting`,startedAtMs:Date.now()}),this.#ee=this.#L>0?STATUS.connectionAuth:STATUS.processing,this.#un(t?.submittedPrompt),t?.submittedPrompt!==void 0&&this.#f?.recordPrompt(),t?.submittedPrompt!==void 0&&!this.#J.armed&&this.#J.arm(),this.#oe=!1,this.#Qe=!1,this.#tt=!1,this.#nt=t?.submittedPrompt,this.#Ye.beginTurn(),this.#Xe=e.cancel,this.#Ze=e.steer,this.#Ee=void 0,this.#De=void 0,this.#ke=void 0,this.#Ae=void 0,this.#je=Date.now();let n={text:new Map,reasoning:new Map,tools:new Map,modelActivity:`Thinking`,runningTools:new Set,cancelled:!1,restoreCancelledPrompt:!0};this.#Y=n;let r={tools:t?.tools??this.#o,reasoning:t?.reasoning??this.#s,assistantResponseStats:t?.assistantResponseStats??this.#u};this.#tn(),this.#Z=!0,this.#An();let i=new Promise(e=>{this.#Ce=e});this.#ve=e=>this.#Xt(e),this.#Ht();try{for await(let t of takeUntil(iterateTUIStream(e.events),i)){if(this.#oe)break;this.#vn(t,r,n)}}catch(e){let t=summarizeKnownError(e);t===null?this.#dn(`Error`,toErrorMessage(e),{detail:inspectError(e)}):this.#dn(t.name,t.message,{detail:inspectError(e),hint:t.hint})}finally{this.#Ce=void 0,this.#oe&&e.abort?.(),this.#Xe=void 0,this.#Ze=void 0,this.#Ut(),this.#Z=!1,this.#Y=void 0,this.#Q.kind===`waiting`&&(this.#Q={kind:`idle`}),this.#on(),this.#ee=completedTurnStatus({interrupted:this.#oe,cancelled:this.#Qe,continueSession:t?.continueSession===!0}),this.#Tn(n),(this.#oe||n.cancelled)&&this.#wn(n),this.#_n(),this.#on(),this.#f?.reportStats(),this.#An(),t?.continueSession||this.#Vt()}}async renderIdleStream(e,t){let n={tools:t?.tools??this.#o,reasoning:t?.reasoning??this.#s,assistantResponseStats:t?.assistantResponseStats??this.#u},r={text:new Map,reasoning:new Map,tools:new Map,modelActivity:`Thinking`,runningTools:new Set,cancelled:!1,restoreCancelledPrompt:!1};try{for await(let t of iterateTUIStream(e.events))this.#vn(t,n,r)}catch(e){let t=summarizeKnownError(e);t===null?this.#dn(`Error`,toErrorMessage(e),{detail:inspectError(e)}):this.#dn(t.name,t.message,{detail:inspectError(e),hint:t.hint})}finally{this.#Tn(r),r.cancelled&&this.#wn(r),this.#_n(),this.#on(),this.#f?.reportStats(),this.#An()}}async readToolApproval(e,t){return this.#zt(t),this.#rn(),this.#W=!1,this.#Q={kind:`idle`},this.#ee=`Approve ${formatToolApprovalTitle(e)}? (y/n)`,this.#oe=!1,this.#An(),await new Promise((t,n)=>{this.#$=n,this.#ve=r=>{switch(r.type){case`text`:{if(r.framing!==`unframed`)break;let n=r.value.toLowerCase();n===`y`?(this.#nn(),this.#ee=STATUS.processing,this.#Ut(),this.#An(),t({approved:!0})):n===`n`&&(this.#nn(),this.#ee=STATUS.processing,this.#ut(e.toolCallId),this.#Ut(),this.#An(),t({approved:!1,reason:`Denied by user.`}));break}case`ctrl-r`:this.#An();break;case`ctrl-c`:this.#oe=!0,this.#Vt(),n(interruptedError())}},this.#Ht()})}async readInputQuestion(e,t){this.#zt(t),this.#rn(),this.#W=!1,this.#K=!1,this.#Q={kind:`idle`},this.#oe=!1;let n=e.options??[],r=n.length>0,i=(e.allowFreeform===!0||!r)&&r,a=n.length+ +!!i,o=questionSectionId(e.requestId),s=r?`overlay`:`text`,c=0,l=EMPTY_LINE,isOnFreeformRow=()=>i&&c===n.length,overlayPanel=t=>renderQuestionPanel({prompt:stripTerminalControls(e.prompt),options:n,cursor:c,allowFreeform:i,editor:l,caretVisible:this.#de},this.#i,t),renderTextSection=()=>{this.#pn({id:o,kind:`question`,title:stripTerminalControls(e.prompt),body:formatQuestionContent(e,void 0,this.#i),preformatted:!0,live:!0})},syncFreeformCaret=()=>{isOnFreeformRow()?this.#Qt():(this.#$t(),this.#en())};s===`overlay`?(s=`overlay`,this.#W=!1,this.#hn(o),this.#He=overlayPanel,this.#ee=``,syncFreeformCaret(),this.#An()):(s=`text`,this.#He=void 0,renderTextSection(),this.#W=!0,this.#ct(l),this.#ee=``,this.#Qt(),this.#An());let finalize=t=>{this.#He=void 0,this.#pn({id:o,kind:`question`,title:stripTerminalControls(e.prompt),body:`${this.#i.colors.dim(this.#i.glyph.elbow)} ${stripTerminalControls(t.label)}`,preformatted:!0,live:!1}),this.#W=!1,this.#nn(),this.#ee=STATUS.processing,this.#$t(),this.#Ut(),this.#An();let n={};return t.optionId!==void 0&&(n.optionId=t.optionId),t.text!==void 0&&(n.text=t.text),n},dismiss=()=>{this.#He=void 0,this.#pn({id:o,kind:`question`,title:stripTerminalControls(e.prompt),body:`${this.#i.colors.dim(this.#i.glyph.elbow)} ${this.#i.colors.dim(`Dismissed.`)}`,preformatted:!0,live:!1}),this.#W=!1,this.#ee=``,this.#$t(),this.#Ut(),this.#An(),u(void 0)},moveCursor=e=>{a!==0&&(c=(c+e+a)%a,syncFreeformCaret(),this.#An())},selectOptionAt=e=>{let t=n[e];t&&u(finalize({optionId:t.id,label:t.label}))},u;return await new Promise((t,r)=>{this.#$=r,u=t,this.#ve=t=>{if(t.type===`ctrl-c`){if((s===`text`||isOnFreeformRow())&&l.text.length>0){l=EMPTY_LINE,this.#en(),s===`text`&&this.#ct(l),this.#An();return}this.#oe=!0,this.#He=void 0,this.#$t(),this.#Vt(),r(interruptedError());return}if(t.type===`ctrl-r`){this.#An();return}if(s===`overlay`){let r=setupSelectionIntent(t,{textNavigation:!isOnFreeformRow()});if(r?.kind===`move`){moveCursor(r.direction===`up`?-1:1);return}switch(t.type){case`up`:case`ctrl-p`:moveCursor(-1);break;case`down`:case`ctrl-n`:moveCursor(1);break;case`enter`:if(isOnFreeformRow()){let t=resolveQuestionText(l.text,e);t!==void 0&&u(finalize(t));break}selectOptionAt(c);break;case`escape`:if(isOnFreeformRow()&&l.text.length>0){l=EMPTY_LINE,this.#en(),this.#An();break}dismiss();break;default:if(isOnFreeformRow()){let e=this.#U.apply(l,t);e!==void 0&&(l=e,this.#en(),this.#An());break}if(t.type===`text`&&/^[1-9]$/u.test(t.value)){let e=Number(t.value)-1;e<n.length?selectOptionAt(e):e===n.length&&i&&(c=e,syncFreeformCaret(),this.#An())}}return}let a=this.#U.apply(l,t,{multiline:!0});if(a!==void 0){l=a,this.#en(),this.#ct(l),this.#An();return}switch(t.type){case`up`:case`down`:{let e=movePromptLine(l,t.type);e!==void 0&&(l=e,this.#en(),this.#ct(l),this.#An());break}case`enter`:{let t=resolveQuestionText(l.text,e);if(t===void 0)break;u(finalize(t));break}case`escape`:if(l.text.length>0){l=EMPTY_LINE,this.#en(),this.#ct(l),this.#An();break}dismiss()}},this.#Ht()})}upsertSubagentStep(e){if(this.#f?.recordSubagentDispatch(e.callId),this.#c===`hidden`)return;let t=stripTerminalControls(e.reasoning??``).trim(),n=stripTerminalControls(e.message??``).trim();if(t.length!==0||n.length!==0){if(this.#fn(e.callId,e.subagentName),this.#c===`collapsed`){this.#An();return}this.#mn({id:subagentStepSectionId(e.callId,e.sectionKey),kind:`subagent-step`,subagentCallId:e.callId,depth:1,reasoning:t,body:n,collapsed:this.#c!==`full`,live:!e.finalized}),this.#An()}}upsertSubagentTool(e){if(this.#f?.recordSubagentDispatch(e.callId),e.status===`failed`&&e.errorText!==void 0&&this.#f?.append({source:`tool`,summary:`${e.toolName} failed (subagent ${e.subagentName})`,detail:e.errorText}),this.#c===`hidden`)return;if(this.#fn(e.callId,e.subagentName),this.#c===`collapsed`){this.#An();return}let t=subagentToolStatus(e.status),n=e.status===`preparing`?presentPreparingTool(e.toolName):presentTool(e.toolName,e.input,this.#Sn({input:e.input,output:e.output,toolCallId:e.childCallId,toolName:e.toolName})),r={id:subagentToolSectionId(e.callId,e.childCallId),kind:`subagent-tool`,subagentCallId:e.callId,depth:1,title:stripTerminalControls(n.title),subtitle:stripTerminalControls(n.subtitle),status:t,live:t===`running`||t===`approval`,expanded:this.#c===`full`,toolName:e.toolName,toolGroup:n.group,toolInput:e.input};n.doneTitle!==void 0&&(r.doneTitle=stripTerminalControls(n.doneTitle)),n.detail!==void 0&&(r.detailLines=n.detail,r.keepDetailWhenDone=n.keepDetailWhenDone===!0),e.output===void 0?e.errorText!==void 0&&(r.result=stripTerminalControls(e.errorText)):(r.result=n.summarizeResult(e.output),r.toolOutput=e.output),this.#mn(r),this.#lt(e.callId),this.#An()}#lt(e){applyCohortLiveness(this.#h.filter(t=>t.kind===`subagent-tool`&&t.subagentCallId===e).map(e=>({block:e,active:isActiveToolStatus(e.status)})))}removeSubagentTool(e){this.#hn(subagentToolSectionId(e.callId,e.childCallId)),this.#An()}subagents={begin:e=>this.beginSubagent(e),background:e=>this.backgroundSubagent(e),upsertStep:e=>this.upsertSubagentStep(e),upsertTool:e=>this.upsertSubagentTool(e),removeTool:e=>this.removeSubagentTool(e),complete:e=>this.completeSubagent(e),markChildToolCallId:e=>this.markChildToolCallId(e)};beginSubagent(e){if(this.#c===`hidden`)return;this.#fn(e.callId,e.name);let t=this.#g.get(subagentHeaderId(e.callId));t!==void 0&&(t.status===`done`&&delete t.status,t.live=!0),this.#w.delete(e.callId),this.#An()}backgroundSubagent(e){let t=this.#g.get(subagentHeaderId(e.callId));if(t===void 0||this.#_.has(subagentHeaderId(e.callId)))return;t.status=`running`,t.live=!0,t.updateSeq=++this.#x;let n=this.#C.has(e.callId);this.#C.add(e.callId),n||this.#gn(e.callId),this.#on(),this.#An()}completeSubagent(e){let t=this.#g.get(subagentHeaderId(e.callId));if(t!==void 0){if(t.status=`done`,e.authoritative){this.#C.delete(e.callId),this.#w.delete(e.callId);for(let t of this.#h)t.subagentCallId===e.callId&&(t.live=!1)}else{this.#w.add(e.callId);for(let t of this.#h)t.subagentCallId===e.callId&&(t.live=!0)}this.#on(),this.#An()}}markChildToolCallId(e){this.#y.add(e);let t=this.#b.get(e);t!==void 0&&(this.#hn(t),this.#b.delete(e),this.#An())}#ut(e){let t=this.#g.get(toolSectionId(e));t!==void 0&&(t.status=`denied`,t.live=!1)}upsertConnectionAuth(e){if(this.#l===`hidden`)return;let t=connectionAuthTerminalMessage(e.state);this.#pn({id:connectionAuthSectionId(e.name),kind:`connection-auth`,title:`${stripTerminalControls(e.name)} · authorization · ${e.state}`,body:formatConnectionAuthContent(e,t),preformatted:!0,live:t===void 0}),this.#An()}setConnectionAuthPendingCount(e){let t=Math.max(0,e);if(t===this.#L)return;let n=this.#L>0;this.#L=t,t>0?(this.#ee=STATUS.connectionAuth,this.#An()):n&&(this.#ee=STATUS.processing,this.#An())}setVercelStatus(e){this.#R=e,this.#An()}setRemoteConnectionStatus(e){this.#z=e,this.#An()}reset(){this.#h=[],this.#g.clear(),this.#_.clear(),this.#I=void 0,this.#F.length=0,this.#v.length=0,this.#N=!1,this.#P=void 0,this.#dt(),this.#q=!1,this.#Ve=void 0,this.#Ie=void 0,this.#L=0,this.#Ee=void 0,this.#De=void 0,this.#ke=void 0,this.#Ae=void 0,this.#je=void 0,this.#re&&(this.#n.clearAll(),this.#An())}renderSessionBoundary(){this.#ln(),this.#dt();let e=this.#i.colors,t=this.#i.glyph,n=e.dim(`${t.cornerOpen}${t.dash.repeat(2)} Session restarted, clear context.`);this.#sn({kind:`session-boundary`,body:n,live:!1}),this.#An()}#dt(){this.#Ge=void 0,this.#Ke=void 0,this.#y.clear(),this.#b.clear(),this.#E.clear(),this.#C.clear(),this.#w.clear(),this.#S.clear(),this.#qe=void 0,this.#Je=void 0,this.#Ye.reset(),this.#et=void 0,this.#T.clear(),this.#J.reset(),this.#on()}renderNotice(e){let t=stripTerminalControls(e);t.trim().length!==0&&(this.#zt(),this.#sn({kind:`notice`,body:t,live:!1}),this.#An())}renderSetupWarning(e){let t=stripTerminalControls(e);if(t.trim().length===0){this.#ft();return}this.#zt(),this.#We=t,this.#An()}clearSetupWarning(){this.#ft()}#ft(){this.#We!==void 0&&(this.#We=void 0,this.#An())}renderCommandInvocation(e,t){let n=stripTerminalControls(e);if(n.trim().length===0)return;this.#zt();let r={kind:`command`,body:n,live:!1};t===`failed`&&(r.status=`error`),this.#sn(r),this.#An()}renderCommandResult(e,t){let n=stripAnsi(e);n.trim().length!==0&&(this.#zt(),this.#sn({kind:`result`,body:n,live:!1,status:t===`success`?`done`:void 0}),this.#An())}#pt(e,t=`spinner`){this.#zt(),this.#k===void 0&&(this.#W=!1),this.#Q={kind:`idle`},this.#ee=``;let n=t===`pulse`?{kind:`pulse`,startedAtMs:Date.now()}:{kind:`spinner`};this.#Ue={title:stripTerminalControls(e),indicator:n,lines:[],outputBuffer:[]},this.#tn(),this.#An()}#mt(e){this.#Ue!==void 0&&(this.#Ue.navigation=e,this.#An())}#ht(e){this.#rt=void 0,this.#kt();let t=this.#Ue;if(t!==void 0){if(this.#Ue=void 0,this.#k===void 0?this.#rn():this.#st(),e){let e=[];for(let n of t.lines){if(n.evidence===!0){e.push(n.text);continue}(n.tone===`warning`||n.tone===`error`)&&(e.length>0&&this.#sn({kind:`flow`,title:`info`,body:e.join(`
5
- `),live:!1}),this.#sn({kind:`flow`,title:n.tone,body:n.text,live:!1})),e=[]}}this.#An()}}async#gt(e){let t=this.#Ct(e.message),n=isMultiSelectRequest(e),r=e.kind===`search`?e.searchAction:void 0,i=e.options,a=e.navigation?.kind===`planner`,o={options:i,searchAction:r,submitRow:n&&!a};`initialValue`in e&&e.initialValue!==void 0&&(o.defaultValue=e.initialValue),`initialValues`in e&&e.initialValues!==void 0&&(o.initialValues=e.initialValues);let s=initialSelectState(o),c,l=!1,u=0,isCurrentSearch=e=>e===u,clearSearch=()=>{u+=1,l=!1,s=reduceSelect(s,{type:`clear`},{options:i,searchAction:r,submitRow:n&&!a}),this.#An()},loadSearch=async(e,t)=>{l=!0,c=void 0;let o=++u;this.#An();try{let c=await t(e);if(!isCurrentSearch(o))return;let l=s.filter;i=c,s={...initialSelectState({options:c,searchAction:r,submitRow:n&&!a}),filter:l}}catch(e){isCurrentSearch(o)&&(c=toErrorMessage(e))}finally{isCurrentSearch(o)&&(l=!1,this.#An())}},d=e.notices;if(e.kind===`task-list`||e.kind===`search`&&e.layout===`task-list`){let n=t.taskListLineStart??t.lines.length,r=t.lines.slice(n).filter(e=>e.tone===`success`||e.tone===`warning`||e.tone===`error`).map(e=>({tone:e.tone,text:e.text}));d=e.notices??r,t.taskListLineStart=t.lines.length,t.hideLinesWhileQuestion=!0}let panelState=()=>{let t={...e,message:``,options:i,select:s};return d!==void 0&&d.length>0&&(t.notices=d),c!==void 0&&(t.error=c),l&&(t.loadingFrame=this.#Ln()),t};return t.question=e=>renderSelectQuestion(panelState(),this.#i,e),this.#An(),await this.#Et((t,o)=>{let close=e=>{u+=1,o(e)};if(l){t.type===`ctrl-c`?close(void 0):t.type===`escape`?clearSearch():t.type===`ctrl-r`&&this.#An();return}let d=e.navigation?.kind===`planner`?e.navigation:void 0,f=t.type===`left`&&(d?.activeStep??0)>(d?.firstNavigableStep??0)?`back`:t.type===`right`&&d!==void 0&&d.activeStep>=(d.firstNavigableStep??0)&&d.activeStep<d.steps.length-1?`forward`:void 0;if(f!==void 0){close({kind:`navigate`,direction:f,values:n?orderedSelection(i,s.selected):[]});return}let p={key:t,options:i,searchAction:r,select:s},m=reduceSetupSelectInput(n?{...p,kind:e.kind,required:e.required,plannerNavigation:a||void 0}:{...p,kind:e.kind});switch(m.kind){case`cancel`:close(void 0);return;case`repaint`:this.#An();return;case`update`:s=m.select,c=void 0,this.#An();return;case`submit`:{let e=searchActionQuery(m.values[0]??``),t=r?.load;if(e===void 0||t===void 0){close(m.values);return}loadSearch(e,t);return}case`error`:c=m.message,this.#An();return;case`ignore`:return}}).promise}#_t(e){this.#zt();let t=this.#wt();t.status={kind:`progress`,text:stripTerminalControls(e.status),startedAtMs:Date.now()};let n;t.question=t=>renderSelectQuestion({kind:`actions`,context:e.context,actions:e.actions,cursor:n},this.#i,t),this.#An();let r=this.#Et((t,r)=>{let i=setupSelectionIntent(t,{textNavigation:!0});switch(i?.kind){case`cancel`:r(void 0);return;case`move`:n=moveActionCursor(n,i.direction,e.actions.length),this.#An();return;case`repaint`:this.#An();return;case`submit`:n!==void 0&&r(e.actions[n].value);return;case void 0:return}},()=>{t.status=void 0});return{choice:r.promise,close:()=>r.settle(void 0)}}async#vt(e){let t=this.#Ct(e.message),n={options:e.options};e.initialValue!==void 0&&(n.defaultValue=e.initialValue);let r=initialSelectState(n),i=lineOf(``),a;t.question=t=>{let n={kind:`inline-edit`,layout:`task-list`,message:``,options:e.options,select:r,edit:{optionValue:e.editable.value,caretVisible:this.#de,editor:{kind:`rename`,editor:i,defaultValue:e.editable.defaultValue,formatHint:e.editable.formatHint}}};return a!==void 0&&(n.error=a),renderSelectQuestion(n,this.#i,t)};let onEditableRow=()=>selectValueAtCursor([...e.options],r.cursor)===e.editable.value,syncEditableRow=()=>{onEditableRow()?this.#Qt():(i=lineOf(``),this.#$t())};return syncEditableRow(),this.#An(),await this.#Et((t,n)=>{let applyEditor=e=>{i=e,a=void 0,this.#en(),this.#An()},applySelect=t=>{r=reduceSelect(r,t,{options:e.options}),a=void 0,syncEditableRow(),this.#An()},submit=()=>{let t=selectValueAtCursor([...e.options],r.cursor);if(t===void 0)return;if(t!==e.editable.value){n({kind:`selected`,value:t});return}let o=(i.text||e.editable.defaultValue).trim(),s=e.editable.validate?.(o);if(s!==void 0){a=s,this.#An();return}n(o===e.editable.defaultValue?{kind:`selected`,value:t}:{kind:`edited`,value:t,text:o})},o=setupSelectionIntent(t,{textNavigation:!onEditableRow()});switch(o?.kind){case`cancel`:n(void 0);return;case`move`:applySelect({type:o.direction});return;case`submit`:submit();return;case`repaint`:this.#An();return;case void 0:}if(!onEditableRow())return;let s=this.#U.apply(i,t);s!==void 0&&applyEditor(s)},()=>this.#$t()).promise}async#yt(e){this.#U.clear();let t=this.#Ct(e.message),n=initialProviderPickerState(e.options,e.initialValue),r,cursorBadge=()=>{if(n.phase.kind!==`inactive`)return;let t=selectValueAtCursor([...e.options],n.select.cursor),r=e.options.find(e=>e.value===t);if(r!==void 0)return enterBadge(this.#i,r.checked===!0?`change`:void 0)};t.question=t=>{let r=cursorBadge(),i={kind:`inline-edit`,layout:`stacked`,message:``,options:e.options,select:n.select,edit:{optionValue:`ai-gateway-key`,caretVisible:this.#de,editor:{kind:`key`,phase:n.phase}}};return r!==void 0&&(i.cursorBadge=r),renderSelectQuestion(i,this.#i,t)};let syncCaret=()=>{n.phase.kind===`editing`||n.phase.kind===`invalid`?this.#Qt():this.#$t()};return syncCaret(),this.#An(),await this.#Et((t,i,a)=>{let dispatch=t=>{let o=transitionProviderPicker(n,t,e.options);switch(o.kind){case`ignore`:return;case`clear`:r?.abort(),r=void 0,n=o.state,syncCaret(),this.#An();return;case`cancel`:i(void 0);return;case`render`:n=o.state,syncCaret(),this.#An();return;case`validate`:{n=o.state,syncCaret(),this.#An();let t=new AbortController;r=t;let i;try{i=e.validateInlineKey(o.key,t.signal)}catch(e){a(e);return}i.then(e=>{r!==t||t.signal.aborted||(r=void 0,dispatch({type:`validated`,validation:e}))},e=>{r!==t||t.signal.aborted||(r=void 0,a(e))});return}case`settle`:i(o.result);return}},o=setupSelectionIntent(t,{textNavigation:n.phase.kind===`inactive`});switch(o?.kind){case`cancel`:dispatch({type:`cancel`});return;case`move`:dispatch({type:`move`,direction:o.direction});return;case`submit`:dispatch({type:`submit`});return;case`repaint`:this.#An();return;case void 0:}if(n.phase.kind!==`editing`&&n.phase.kind!==`invalid`)return;let s=applyLineEditorKey(n.phase.editor,t);s!==void 0&&(this.#en(),dispatch({type:`edit`,editor:s}))},()=>{r?.abort(),r=void 0,this.#$t()}).promise}async#bt(e){let t=initialModelPickerState(e),n=this.#Ct(modelPickerTitle(t));return n.question=n=>renderModelPicker(e,t,this.#i,n),this.#An(),await this.#Et((r,i)=>{let dispatch=r=>{let a=transitionModelPicker(t,r,e);switch(a.kind){case`render`:if(t===a.state)return;t=a.state,n.questionTitle=modelPickerTitle(t),this.#An();return;case`cancel`:i(void 0);return;case`settle`:i(a.result);return}};if(r.type===`ctrl-c`){dispatch({type:`cancel`});return}if(r.type===`escape`||r.type===`left`){dispatch({type:`back`});return}let a=setupSelectionIntent(r);switch(a?.kind){case`move`:dispatch({type:a.direction});return;case`submit`:dispatch({type:`submit`});return;case`repaint`:this.#An();return}if(r.type===`backspace`){dispatch({type:`backspace`});return}if(r.type===`alt-backspace`){dispatch({type:`delete-word-backward`});return}if(r.type===`text`)for(let e of r.value.replaceAll(`
6
- `,` `))e>=` `&&e!==``&&dispatch({type:`char`,char:e})}).promise}async#xt(e){e.mask===!0&&this.#U.clear();let t=this.#Ct(e.message),n=lineOf(``),r;return t.question=t=>{let i={message:``,editor:n,mask:e.mask===!0};return e.placeholder===void 0?e.defaultValue!==void 0&&(i.placeholder=e.defaultValue):i.placeholder=e.placeholder,e.notices!==void 0&&(i.notices=e.notices),r!==void 0&&(i.error=r),renderTextQuestion(i,this.#i,t,this.#de)},this.#Qt(),this.#An(),await this.#Et((t,i)=>{let apply=e=>{n=e,r=void 0,this.#en(),this.#An()},a=e.mask?applyLineEditorKey(n,t):this.#U.apply(n,t);if(a!==void 0){apply(a);return}switch(t.type){case`ctrl-c`:case`escape`:i(void 0);return;case`ctrl-r`:this.#An();return;case`enter`:{let t=n.text.length>0?n.text:e.defaultValue??``,a=e.validate?.(t);if(a!==void 0){r=a,this.#An();return}i(t);return}default:return}},()=>this.#$t()).promise}async#St(e){let t=this.#Ct(e.message);return t.question=t=>renderAcknowledgeQuestion({message:``,lines:e.lines},this.#i,t),this.#An(),await this.#Et((e,t)=>{switch(e.type){case`enter`:case`escape`:case`ctrl-c`:t();return;case`ctrl-r`:this.#An();return;default:return}}).promise}#Ct(e){this.#zt(),this.#W=!1,this.#Q={kind:`idle`},this.#ee=``;let t=this.#wt();return t.questionTitle=stripTerminalControls(e),t.status!==void 0&&(t.status=void 0,t.summary=void 0,t.preview=void 0),t}#wt(){return this.#Ue===void 0&&(this.#Ue={title:``,indicator:{kind:`spinner`},lines:[],outputBuffer:[],implicit:!0}),this.#Ue}#Tt(){this.#Ue?.implicit===!0?this.#Ue=void 0:this.#Ue!==void 0&&(this.#Ue.question=void 0,this.#Ue.questionTitle=void 0,this.#Ue.hideLinesWhileQuestion=!1),this.#ve=void 0,this.#Ut(),this.#k===void 0?this.#Ue!==void 0&&this.#Ot():this.#st(),this.#Ue===void 0&&this.#An()}#Et(e,t){let n=!1,r,i,a=new Promise((e,t)=>{r=e,i=t}),settle=e=>{n||(n=!0,t?.(),this.#Tt(),r(e))},reject=e=>{n||(n=!0,t?.(),this.#Tt(),i(e))};return this.#Yt(),this.#ve=t=>{t.type===`ctrl-c`&&this.#Ft(),e(t,settle,reject)},this.#Ht(),{promise:a,settle}}#Dt(e){let t,n=new Promise(e=>{t=e});return this.#rt=t,this.#Ot(e?.interruptible??!0),{promise:n,dispose:()=>{this.#rt===t&&(this.#rt=void 0,this.#kt())}}}#Ot(e=!0){if(this.#k!==void 0){this.#st();return}if(this.#rt===void 0)return;let consumer=t=>{if(e&&(t.type===`ctrl-c`||t.type===`escape`)){t.type===`ctrl-c`&&this.#Ft();let e=this.#rt;this.#rt=void 0,this.#kt(),e?.(t.type===`ctrl-c`?`ctrl-c`:`escape`);return}t.type===`ctrl-r`&&this.#An()};this.#it=consumer,this.#Yt(),this.#ve=consumer,this.#Ht()}#kt(){this.#it!==void 0&&(this.#ve===this.#it&&this.#Ut(),this.#it=void 0)}#At(e){let t=e===void 0?void 0:typeof e==`string`?{kind:`progress`,text:stripTerminalControls(e),startedAtMs:Date.now()}:{kind:`external-action`,text:stripTerminalControls(e.text),emphasis:stripTerminalControls(e.emphasis),startedAtMs:Date.now()};if(this.#Ue!==void 0){this.#Ue.status=t,t===void 0&&(this.#Ue.preview=void 0),this.#An();return}if(!(this.#W||this.#Z)){if(t===void 0){this.#Q={kind:`idle`},this.#te=void 0,this.#rn(),this.#An();return}this.#zt(),this.#nn(),this.#te=t.text,this.#An()}}#jt(e,t){let n=stripTerminalControls(e);if(n.trim().length===0)return;let r=this.#Ue;if(r!==void 0){if(r.preview=void 0,t===`warning`||t===`error`)for(let e of r.outputBuffer)r.lines.push({text:e,tone:`info`,evidence:!0});r.outputBuffer=[],r.lines.push({text:n,tone:t}),this.#An();return}this.#zt(),this.#sn({kind:`flow`,title:t,body:n,live:!1}),this.#An()}#Mt(e){let t=this.#Ue;t!==void 0&&(t.lines=[],t.outputBuffer=[],t.preview=void 0,t.status=void 0,t.summary=e===void 0?void 0:{headline:stripTerminalControls(e.headline),facts:e.facts.map(e=>({label:stripTerminalControls(e.label),value:stripTerminalControls(e.value)}))},this.#An())}#Nt(e){let t=stripTerminalControls(e);if(t.trim().length===0)return;let n=this.#Ue;if(n===void 0){this.#jt(t,`info`);return}n.preview=t,n.outputBuffer.push(t),n.outputBuffer.length>40&&n.outputBuffer.shift(),this.#An()}async#Pt(e){this.#ye=``,this.#Yt(),this.#rt=void 0,this.#kt(),this.#Ut(),this.#in(),this.#n.clear(),this.#Qn(),this.#r.enter({cursor:`visible`,mouse:!1}),this.#e.isTTY&&this.#e.setRawMode?.(!1),this.#e.pause();try{return await e()}finally{this.#r.exit(),this.#e.isTTY&&this.#e.setRawMode?.(!0),this.#e.resume(),this.#ye=``,this.#Yt(),this.#n.hideCursor(),this.#Zn(),this.#Ue===void 0?this.#on():(this.#tn(),this.#Ot()),this.#n.reset(),this.#An()}}setSessionId(e){this.#$e=e}shutdown(){if(this.#Vt(),this.#ie&&!this.#ae){this.#ae=!0;let e=this.#$e===void 0?``:` ${this.#i.glyph.dot} session ${this.#$e}`;this.#t.write(`${this.#i.colors.dim(`${eveVersionTag()}${e}`)}\n`)}}suspendPromptForInput(){this.#X={cursor:this.#V,text:this.#B},this.#Vt()}requestInterrupt(){this.#oe=!0,this.#Ue!==void 0&&this.#ve?.({type:`ctrl-c`}),this.#Ce?.(),this.#Vt()}exitRequested(){return this.#se}#Ft(){this.#se=!0,this.#ue?.()}async#It(e){if(this.#at!==void 0||!this.#re)return;let t=new TraceViewerSession({...e,theme:this.#i,dimensions:()=>({width:this.#Yn(),height:this.#Xn()}),paint:e=>this.#r.paint(e,this.#Xn()),tracingDisabled:process.env.EVE_TRACES===`off`,copyText:e=>copyTextToClipboard(e,e=>this.#r.writeRaw(e)),terminalBackground:this.#ot});this.#at=t,this.#r.enter(),this.#i.color&&this.#r.writeRaw(BACKGROUND_COLOR_QUERY),await new Promise(e=>{this.#Rt=e,this.#ve=e=>{t.handleKey(e)===`close`&&this.#Lt()},this.#Ht(),t.start()})}#Lt(){let e=this.#at;if(e===void 0)return;this.#at=void 0,e.dispose(),this.#Ut(),this.#r.exit(),this.#n.hideCursor(),this.#An(),this.#n.showCursor();let t=this.#Rt;this.#Rt=void 0,t?.()}#Rt;#zt(e){this.#ne=e?.title??this.#ne,e?.contextSize!==void 0&&(this.#Oe=e.contextSize),!this.#re&&(this.#re=!0,this.#ie=!0,this.#n.reset(),this.#n.hideCursor(),this.#Zn(),this.#e.isTTY&&(this.#e.setRawMode?.(!0),this.#e.resume(),this.#n.emitBracketedPaste(!0)),this.#Se=()=>this.#An(),this.#t.on(`resize`,this.#Se),process.on(`exit`,this.#Bt))}#Bt=()=>{this.#re&&(this.#r.exit(),this.#e.isTTY&&(this.#n.emitBracketedPaste(!1),this.#e.setRawMode?.(!1)),this.#n.showCursor())};#Vt(){this.#Lt();let e=this.#$;if(this.#$=void 0,e?.(interruptedError()),this.#Ut(),this.#$t(),this.#in(),this.#ge!==void 0&&(clearTimeout(this.#ge),this.#ge=void 0),this.#_e=!1,this.#or(),this.#re){this.#cr();for(let e of this.#h)e.kind===`log`&&e.id===void 0&&(e.live=!1);this.#An(),this.#n.clear(),this.#n.showCursor(),this.#Qn(),this.#n.newline(),this.#e.isTTY&&(this.#n.emitBracketedPaste(!1),this.#e.setRawMode?.(!1),this.#e.pause()),this.#Se&&=(this.#t.off(`resize`,this.#Se),void 0),process.off(`exit`,this.#Bt),this.#re=!1}}#Ht(){this.#e.off(`data`,this.#Wt),this.#e.on(`data`,this.#Wt),this.#ye.length>0&&queueMicrotask(()=>{this.#ve!==void 0&&this.#ye.length>0&&(this.#qt(),this.#Gt())})}#Ut(){this.#e.off(`data`,this.#Wt),this.#Yt(),this.#ve=void 0}#Wt=e=>{this.#Yt(),this.#ye+=this.#be.write(e),this.#qt(),this.#Gt()};#Gt(){if(this.#ye===`\x1B`){this.#xe=setTimeout(()=>{this.#ye===`\x1B`&&(this.#ye=``,this.#Kt({type:`escape`}))},30),this.#xe.unref?.();return}if(isIncompletePaste(this.#ye)){let e=this.#ye;this.#xe=setTimeout(()=>{if(this.#ye!==e)return;let t=sanitizePastedText(stripPasteStart(e));this.#ye=``,t.length>0&&this.#Kt({type:`text`,value:t,framing:`bracketed-paste`})},incompletePasteFlushMs),this.#xe.unref?.();return}if(isIncompleteOsc(this.#ye)){let e=this.#ye;this.#xe=setTimeout(()=>{this.#ye===e&&(this.#ye=``)},incompletePasteFlushMs),this.#xe.unref?.()}}#Kt(e){this.#U.interruptYank(e),this.#ve?.(e)}#qt(){for(;this.#ye.length>0;){let e=nextKey(this.#ye);if(e.incomplete)return;if(this.#ye=this.#ye.slice(e.consumed),e.key!==void 0&&e.key.type!==`ignore`){if(e.key.type===`osc`){this.#Jt(e.key.value);continue}this.#Kt(e.key)}}}#Jt(e){let t=parseBackgroundColorReply(e);t!==void 0&&(this.#ot=t,this.#at?.setTerminalBackground(t))}#Yt(){this.#xe&&=(clearTimeout(this.#xe),void 0)}#Xt(e){switch(e.type){case`ctrl-l`:case`ctrl-r`:this.#An();break;case`enter`:{let e=this.#X.text;if(e.trim().length===0)break;if(parsePromptCommand(e)?.type===`cancel`&&this.#Xe!==void 0){this.#X=EMPTY_LINE,this.#Ye.requestCancellation(),this.#tt=!0,this.renderCommandInvocation(e.trim()),this.renderCommandResult(`Turn cancellation requested.`),this.#Xe(),this.#An();break}let t=this.#Ze;t!==void 0&&parsePromptCommand(e)===null?(this.#X=EMPTY_LINE,this.#Zt(e,t)):this.#Ye.enqueue(e)&&(this.#X=EMPTY_LINE),this.#An();break}case`ctrl-c`:case`escape`:if(e.type===`ctrl-c`&&this.#Ye.view().cancelling){this.#oe=!0,this.#le=!0,this.#Q={kind:`idle`},this.#ee=`Interrupted`,this.#Ce?.(),this.#An();break}if(this.#Ye.idle&&this.#Xe===void 0)break;if(this.#Ye.handleEscape()===`steer`){let e=this.#Ze;if(e!==void 0){let t=this.#Ye.takeSteering();this.#Zt(t,e)}}else this.#tt=!0,this.#Xe?.();this.#An();break;default:{let t=this.#U.apply(this.#X,e,{multiline:!0});t!==void 0&&(this.#X=t,this.#An());break}}}#Zt(e,t){this.#et=`steer`,this.#un(e),t(e).catch(t=>{this.#Ye.restoreSteering(e),this.#dn(`Steering failed`,toErrorMessage(t)),this.#An()})}#Qt(){this.#$t(),this.#en(),this.#me=setInterval(()=>{this.#de=!this.#de,this.#An()},500),this.#me.unref?.()}#$t(){this.#me&&=(clearInterval(this.#me),void 0),this.#de=!0}#en(){this.#de=!0}#tn(){this.#in(),this.#he=setInterval(()=>{this.#fe+=1,this.#An()},90),this.#he.unref?.()}#nn(){let e=Date.now();this.#pe=e,this.#Q={kind:`waiting`,startedAtMs:e},this.#tn()}#rn(){this.#an()||this.#in()}#in(){this.#he&&=(clearInterval(this.#he),void 0)}#an(){return this.#h.some(e=>e.live&&e.subagentCallId!==void 0&&(this.#C.has(e.subagentCallId)||this.#w.has(e.subagentCallId)))}#on(){this.#an()?this.#tn():!this.#Z&&this.#Q.kind===`idle`&&this.#in()}#sn(e){e.id!==this.#Ie?.id&&this.#cr(),e.updateSeq=++this.#x;let t=e.subagentCallId!==void 0&&this.#C.has(e.subagentCallId)?-1:this.#h.findIndex(e=>e.subagentCallId!==void 0&&this.#C.has(e.subagentCallId));t<0?this.#h.push(e):this.#h.splice(t,0,e),e.id&&this.#g.set(e.id,e)}#cn(e){this.#q=!0,this.#sn({kind:`user`,body:stripTerminalControls(e),live:!1}),this.#An()}#ln(){let e=this.#J.settle();if(e===void 0||e.elapsedMs<=1e4&&e.inputTokens<=2e4)return;let t=`Done in ${this.#Hn(e.elapsedMs)}`,n=this.#De??0;if(this.#Oe!==void 0&&this.#Oe>0&&n>0){let e=Math.round(n/this.#Oe*100);t+=` ${this.#i.glyph.dot} ${e}% context`}this.#sn({kind:`turn-stats`,body:t,live:!1})}#un(e){if(e==null)return;let t=this.#et;if(this.#et=void 0,this.#Ve===e){this.#Ve=void 0;return}let n={kind:`user`,body:stripTerminalControls(e),live:!1};t!==void 0&&(n.promptOrigin=t),this.#sn(n)}#dn(e,t,n={}){let r=stripTerminalControls(e),i=stripTerminalControls(t),a=n.detail===void 0?void 0:stripTerminalControls(n.detail),o=n.hint===void 0?void 0:stripTerminalControls(n.hint),s={source:`workflow`,summary:`${r}: ${i}`,detail:a??i};this.#f?.append(o===void 0?s:{...s,hint:o});let c={kind:`error`,title:r,body:i,live:!1};o!==void 0&&(c.hint=o),a!==void 0&&(c.detail=this.#f===void 0?a:`details: ${this.#f.displayPath}`),this.#sn(c),this.#An()}#fn(e,t){if(this.#E.has(e))return;this.#E.add(e);let n=stripTerminalControls(t),r=this.#S.get(n)??[];if(r.push(e),this.#S.set(n,r),r.length===2){let e=this.#g.get(subagentHeaderId(r[0]));e!==void 0&&(e.subtitle=`#1`)}let i={id:subagentHeaderId(e),kind:`subagent`,subagentCallId:e,title:n,live:!0};r.length>1&&(i.subtitle=`#${r.length}`),this.#sn(i)}#pn(e){if(e.id&&this.#_.has(e.id))return;let t=e.id?this.#g.get(e.id):void 0;if(t){Object.assign(t,e),t.updateSeq=++this.#x;return}this.#sn(e)}#mn(e){if(e.id&&this.#_.has(e.id))return;let t=e.id?this.#g.get(e.id):void 0;if(t!==void 0){Object.assign(t,e),t.updateSeq=++this.#x;return}let n=e.subagentCallId;if(n===void 0){this.#sn(e);return}e.id!==this.#Ie?.id&&this.#cr(),e.updateSeq=++this.#x;let r=-1;for(let e=0;e<this.#h.length;e+=1)this.#h[e]?.subagentCallId===n&&(r=e);this.#h.splice(r<0?this.#h.length:r+1,0,e),e.id!==void 0&&this.#g.set(e.id,e)}#hn(e){this.#h=this.#h.filter(t=>t.id!==e),this.#g.delete(e)}#gn(e){let t=this.#h.filter(t=>t.subagentCallId===e);t.length!==0&&(this.#h=this.#h.filter(t=>t.subagentCallId!==e),this.#h.push(...t))}#_n(){for(let e of this.#h)e.subagentCallId!==void 0&&this.#w.has(e.subagentCallId)||e.status===`approval`||e.status===`running`||e.kind===`connection-auth`&&e.live||(e.live=!1)}#vn(e,t,n){let r=turnActivityLabel(n);switch(updateTurnActivity(n,e),e.type){case`turn-start`:e.turnId!==this.#Ke&&(this.#Ke=e.turnId,this.#Ge=void 0,this.#An());break;case`step-start`:this.#Ge=typeof e.modelId==`string`&&stripTerminalControls(e.modelId.slice(0,256)).replace(/\s+/gu,` `).trim()||void 0,this.#An();break;case`step-finish`:this.#f?.recordStepUsage(e.usage),e.usage!==void 0&&this.#J.addUsage(e.usage),this.#Tn(n),this.#kn(e.usage),this.#An();break;case`assistant-delta`:{let t=(n.text.get(e.id)??``)+stripTerminalControls(e.delta);n.text.set(e.id,t),this.#yn(e.id,t,!0);break}case`assistant-complete`:{let t=n.text.get(e.id)??``,r=typeof e.text==`string`?stripTerminalControls(e.text):t;n.text.set(e.id,r),this.#yn(e.id,r,!1);break}case`reasoning-delta`:{if(t.reasoning===`hidden`)break;let r=(n.reasoning.get(e.id)??``)+stripTerminalControls(e.delta);if(n.reasoning.set(e.id,r),t.reasoning===`full`){this.#bn(e.id,r,!0,t);break}break}case`reasoning-complete`:{if(t.reasoning===`hidden`)break;let r=n.reasoning.get(e.id)??``;if(t.reasoning===`full`){this.#bn(e.id,r,!1,t);break}break}case`tool-call-preparing`:if(t.tools===`hidden`||isPanelRoutedTool(e.toolName))break;this.#xn({input:void 0,preparing:!0,status:`running`,toolCallId:e.toolCallId,toolName:e.toolName},t,n);break;case`tool-call`:if(this.#f?.recordToolCall(e.toolName),t.tools===`hidden`)break;this.#xn({input:e.input,status:`running`,toolCallId:e.toolCallId,toolName:e.toolName},t,n);break;case`tool-approval-request`:{if(t.tools===`hidden`)break;let r=n.tools.get(e.toolCallId);if(r===void 0)break;this.#xn({...r,status:`approval`},t,n);break}case`tool-result`:{if(t.tools===`hidden`)break;let r=this.#On(e.toolCallId,n);if(r===void 0)break;this.#xn({...r,output:e.output,status:`done`},t,n);break}case`tool-error`:{let r=this.#On(e.toolCallId,n);if(this.#f?.append({source:`tool`,summary:`${r?.toolName??e.toolCallId} failed`,detail:e.errorText}),t.tools===`hidden`||r===void 0)break;this.#xn({...r,errorText:e.errorText,status:`error`},t,n);break}case`tool-rejected`:{if(t.tools===`hidden`)break;let r=this.#On(e.toolCallId,n);if(r===void 0)break;this.#xn({...r,errorText:e.reason,status:`denied`},t,n);break}case`error`:this.#dn(`Error`,e.errorText,{detail:e.detail,hint:e.hint});break;case`turn-cancelled`:if(n.cancelled=!0,!n.restoreCancelledPrompt)break;this.#Qe=!0,!this.#tt&&this.#nt!==void 0&&this.#X.text.length===0&&(this.#X=lineOf(this.#nt),this.renderNotice(`The turn was cancelled from outside this prompt — the message was restored to the input.`));break;case`finish`:this.#kn(e.usage),this.#An()}n===this.#Y&&turnActivityLabel(n)!==r&&this.#An()}#yn(e,t,n){let r=stripTerminalControls(t).trim();r.length!==0&&(this.#pn({id:e,kind:`assistant`,body:r,live:n}),this.#An())}#bn(e,t,n,r){let i=stripTerminalControls(t).trim();i.length!==0&&(this.#pn({id:e,kind:`reasoning`,body:i,collapsed:collapseReasoning(r.reasoning,n),live:n}),this.#An())}#xn(e,t,n){if(n.tools.set(e.toolCallId,e),this.#y.has(e.toolCallId)||this.#En(e)||toolBaseName(e.toolName)===`ask_question`)return;let r=toolSectionId(e.toolCallId);this.#b.set(e.toolCallId,r);let i=this.#Sn(e);this.#pn(renderNativeToolBlock(e,r,t.tools===`full`,i)),this.#Dn(n),this.#An()}#Sn(e){e.output!==void 0&&this.#T.observeRead(e.output);let t={};this.#Cn(e.toolName)&&(t.isSubagent=!0);let n=readWriteFileInput(e.toolName,e.input);if(n===void 0)return t.isSubagent===!0?t:void 0;let r=this.#T.observeWrite({path:n.path,content:n.content,callId:e.toolCallId});r!==void 0&&(t.previousContent=r);let i=writeExistedFlag(e.output);return i!==void 0&&(t.existed=i),t}#Cn(e){let t=this.#D?.info?.subagents.local;if(t===void 0||t.length===0)return!1;let n=toolBaseName(e);return t.some(e=>e.name===n)}#wn(e){for(let t of e.tools.keys()){if(this.#y.has(t))continue;let e=this.#b.get(t)??toolSectionId(t),n=this.#g.get(e);n?.kind===`tool`&&n.status===`running`&&(n.status=`error`,n.result=`interrupted`,n.live=!1)}}#Tn(e){for(let[t,n]of e.tools){if(n.preparing!==!0)continue;e.tools.delete(t);let r=this.#b.get(t)??toolSectionId(t);this.#hn(r),this.#b.delete(t)}}#En(e){let t=readTodoToolItems(e.toolName,e.input);if(t===void 0)return!1;if(t.length>0&&allTodoItemsSettled(t)){let e=JSON.stringify(t);this.#Je!==e&&(this.#Je=e,this.#sn({kind:`todo-list`,body:renderFinishedTodoRows(t,this.#Yn(),this.#i).join(`
7
- `),live:!1})),this.#qe=void 0}else this.#qe=t.length>0?t:void 0,this.#Je=void 0;return this.#An(),!0}#Dn(e){let t=[];for(let n of e.tools.values()){if(this.#y.has(n.toolCallId))continue;let e=this.#b.get(n.toolCallId)??toolSectionId(n.toolCallId),r=this.#g.get(e);r?.kind===`tool`&&t.push({block:r,active:isActiveToolStatus(n.status)})}applyCohortLiveness(t)}#On(e,t){let n=t.tools.get(e);if(n!==void 0)return n;let r=this.#b.get(e)??toolSectionId(e),i=this.#g.get(r);if(i!==void 0&&i.kind===`tool`)return{errorText:i.status===`error`&&typeof i.result==`string`?i.result:void 0,input:i.toolInput,output:i.toolOutput,status:i.status??`running`,toolCallId:e,toolName:i.toolName??i.title??`tool`}}#kn(e){if(e===void 0)return;let{inputTokens:t,outputTokens:n}=e;if((t!=null||n!=null)&&(this.#Ee=(t??0)+(n??0)),this.#De=t??this.#De,this.#ke=n??this.#ke,this.#ke!=null&&this.#je!==void 0){let e=(Date.now()-this.#je)/1e3;e>0&&(this.#Ae=this.#ke/e)}}#An(){if(this.#re){if(this.#we){this.#Te=!0;return}this.#we=!0;try{do this.#Te=!1,this.#jn();while(this.#Te)}finally{this.#we=!1}}}#jn(){if(!this.#re)return;if(this.#at!==void 0){this.#at.repaint();return}let e=this.#Yn(),t=this.#Bn(e),n=this.#M===void 0?[]:this.#Fn(),r=Math.max(1,this.#Xn()-n.length-t.length),i=[],a=this.#I,o=groupToolBlocksForDisplay(this.#h),s=0;for(;s<o.length&&o[s].display.live===!1;)s+=1;if(s>0){let e=new Set(o.slice(0,s).flatMap(e=>e.members));for(let t=this.#h.length-1;t>=0;--t)e.has(this.#h[t])&&this.#h.splice(t,1)}for(let t of o.slice(0,s)){for(let e of t.members)this.#v.push(e),e.id&&(this.#_.add(e.id),this.#g.delete(e.id));if(this.#ur(t.display))continue;let n=this.#In(t.display,e,a);a=previousBlockOf(t.display),this.#I=a,i.push(...n),this.#F.push(...n)}let c=[];for(let{display:t}of o.slice(s)){if(this.#ur(t))continue;let n=this.#In(t,e,a);a=previousBlockOf(t);for(let e=0;e<n.length;e+=1)c.push({block:t,row:n[e]})}let l=[...n,...clipLiveRows(c.map(e=>e.row),r,e,this.#i),...t];i.length>0?this.#n.flush(i,l):this.#n.update(l)}#Mn(){if(!this.#re)return;let e=this.#Yn(),t=this.#Bn(e),n=Math.max(1,this.#Xn()-t.length),r=this.#I,i=[];for(let{display:t}of groupToolBlocksForDisplay(this.#h)){if(this.#ur(t))continue;let n=this.#In(t,e,r);r=previousBlockOf(t),i.push(...n)}let a=[...clipLiveRows(i,n,e,this.#i),...t];this.#n.clearAll(),this.#n.flush([...this.#Fn(),...this.#F],a)}logDisplayMode(){return this.#m}setLogDisplayMode(e){e!==this.#m&&(this.#m=e,e===`all`&&this.flushDelayedDevBuildErrors(),this.#Pn(),this.#re&&this.#Mn())}flushDelayedDevBuildErrors(){let e=this.#Fe;e!==void 0&&(this.#Fe=void 0,this.#sn({kind:`log`,title:`stderr`,body:e,live:!0}),this.#An())}#Nn(){this.#_e=!0,this.#ge!==void 0&&clearTimeout(this.#ge),this.#ge=setTimeout(()=>{this.#_e=!1,this.#ge=void 0,this.#An()},5e3),this.setLogDisplayMode(nextLogDisplayMode(this.#m)),this.#An()}#Pn(){let e=this.#Yn();this.#F.length=0;let t;for(let{display:n}of groupToolBlocksForDisplay(this.#v,{logCoalescing:`runs`})){if(this.#ur(n))continue;let r=this.#In(n,e,t);t=previousBlockOf(n),this.#F.push(...r)}this.#I=t}#Fn(){let e=this.#D,t=this.#M;if(e===void 0&&t===void 0)return[];let n={name:e?.name??t?.name,theme:this.#i,width:this.#Yn()};return e?.info!==void 0&&(n.info=e.info),buildAgentHeader(n)}#In(e,t,n){let r={renderMarkdown:this.#a,activityPulse:this.#Rn(this.#pe,this.#i.unicode?PROGRESS_PULSE_GLYPH:PROGRESS_PULSE_ASCII_GLYPH)};n!==void 0&&(r.previous=n);let i=renderBlockLines(e,t,this.#i,r);return(e.depth??0)===0&&leadsWithGap(e,n)?[``,...i]:i}#Ln(){return this.#i.spinner[this.#fe%this.#i.spinner.length]??``}#Rn(e,t){return isProgressPulseVisible(Date.now()-e)?t:` `}#zn(e,t){return e.indicator.kind===`spinner`?{glyph:this.#Ln(),color:`yellow`}:{glyph:this.#Rn(e.indicator.startedAtMs,this.#i.unicode?PROGRESS_PULSE_GLYPH:PROGRESS_PULSE_ASCII_GLYPH),color:t?.kind===`external-action`?`yellow`:`green`}}#Bn(e){let t=this.#i.colors,n=[``];if(this.#He!==void 0)return n.push(...this.#He(e),``),this.#Kn(n,e),n;let r=this.#Ue;if(r!==void 0&&(this.#k===void 0||r.question!==void 0)){let t=this.#zn(r,r.status),i;if(r.status!==void 0){let{startedAtMs:e,...n}=r.status,a=Date.now()-e,o=a>=5e3?` ${formatTurnDuration(a)}`:``;i={...n,text:`${n.text}${o}`,indicator:t}}let a;if(r.question!==void 0){let t=r.question(e);a={kind:`question`,title:r.questionTitle,rows:t},i!==void 0&&(a={kind:`question`,title:r.questionTitle,rows:t,status:i})}else i===void 0?a=r.preview===void 0?{kind:`idle`,indicator:t}:{kind:`preview`,text:r.preview,indicator:t}:(a={kind:`status`,status:i},r.preview!==void 0&&(a={kind:`status`,status:i,preview:r.preview}));let o={title:r.title,navigation:r.navigation,lines:r.summary===void 0?r.hideLinesWhileQuestion===!0?[]:r.lines:[{text:r.summary.headline,tone:`success`},...r.summary.facts.map(e=>({text:`${e.label}: ${e.value}`,tone:`info`}))],content:a};return n.push(...renderFlowPanel(o,this.#i,e)),this.#qn(n,e),n}r!==void 0&&n.push(...flowMessageRows(r.lines,this.#i).map(t=>t.length===0?``:clip(` ${t}`,e))),this.#O===void 0&&this.#We!==void 0&&n.push(...renderAttentionRows(this.#We,e,this.#i),``),this.#qe!==void 0&&n.push(...renderTodoPanelRows({items:this.#qe,width:e,theme:this.#i,working:this.#Z||this.#Q.kind===`waiting`,pulse:this.#Rn(this.#pe,this.#i.unicode?PROGRESS_PULSE_GLYPH:PROGRESS_PULSE_ASCII_GLYPH)}),``);let i=renderMessageQueueRows({view:this.#Ye.view(),width:e,theme:this.#i,working:this.#Z});if(i.length>0&&n.push(...i,``),this.#W){let r=this.#G===void 0?void 0:inlineCommandHint(this.#G);r===void 0&&this.#G!==void 0&&isTypeaheadOpen(this.#G)&&n.push(...renderCommandSuggestions(this.#G,this.#i,e)),this.#ce&&n.push(clip(t.dim(`Press Ctrl+C again to exit`),e),``);let i=isPromptControlCommand(this.#B),a=r?t.dim(` ${r}`):``,o=[];this.#Kn(o,e);let s=Math.max(1,this.#Xn()-1-n.length-1-o.length),c={text:this.#B,cursor:this.#V,width:e,theme:this.#i,caretVisible:this.#de,isCommand:i,ghost:a,maxRows:s};return this.#K&&this.#B.length===0&&(c.placeholder=this.#k===void 0?this.#q?``:`Send a message…`:`Message · Enter to queue`),n.push(...promptInputRows(c)),n.push(...o),n}let a=this.#Q.kind===`waiting`&&this.#te===void 0;if(this.#Z||a){n.push(this.#Vn(e)),this.#Wn(n,e);let t=[];return this.#Kn(t,e),!this.#Z&&t.length>0&&n.push(``),n.push(...t),n}if(this.#X.text.length>0)return this.#Gn(n,e,{inert:!1}),this.#Kn(n,e),n;let o=this.#te??(this.#ee.length>0?this.#ee:`Ready`),s=this.#Jn(),c=t.dim(this.#i.glyph.dot),l=s?`${c} ${o} ${t.dim(this.#i.glyph.dot)} ${s}`:`${c} ${o}`;return n.push(clip(l,e)),this.#Kn(n,e),n}#Vn(e){let t=this.#i.colors,n=this.#Q,r=this.#J.startedAtMs??this.#je??(n.kind===`waiting`?n.startedAtMs:Date.now()),i=Math.max(0,Date.now()-r),a=i%1e3<500?this.#i.unicode?`•`:`*`:` `,o=i<1e3?`0s`:formatTurnDuration(Math.floor(i/1e3)*1e3),s=`${turnActivityLabel(this.#Y)} (${o})`,{inputTokens:c,outputTokens:l}=this.#J.usage;return clip(`${a} ${s}${c>0||l>0?t.dim(` (${formatTokenFlow({inputTokens:c,outputTokens:l},this.#i.glyph)})`):``}`,e)}#Hn(e){return`${formatTurnDuration(e)}${this.#Un()}`}#Un(){let{inputTokens:e,outputTokens:t}=this.#J.usage;return e===0&&t===0?``:` ${this.#i.glyph.dash.repeat(2)} ${formatTokenFlow({inputTokens:e,outputTokens:t},this.#i.glyph)}`}#Wn(e,t){this.#Z&&this.#Gn(e,t,{inert:!0})}#Gn(e,t,n){e.push(``);let r={text:this.#X.text,cursor:this.#X.cursor,width:t,theme:this.#i,caretVisible:!0,isCommand:!1,ghost:``,maxRows:4,inert:n.inert};n.inert&&this.#X.text.length===0&&(r.placeholder=``),e.push(...promptInputRows(r))}#Kn(e,t){if(this.#O!==void 0){let n=this.#Ue?.status?.text??{starting:`Starting agent…`,connecting:`Reading saved connection…`,updating:`Loading selected model…`}[this.#O],r=this.#Rn(this.#j,this.#i.unicode?PROGRESS_PULSE_GLYPH:PROGRESS_PULSE_ASCII_GLYPH);e.push(clip(this.#i.colors.dim(`${r} ${n}`),t));return}let n=this.#z===void 0?``:` `,r=Math.max(1,t-n.length),i={theme:this.#i,width:r};this.#Re&&this.#Le!==void 0&&(i.devBuild=this.#Le),this.#_e&&(i.logLevel=this.#m);let a=this.#D?.info?.agent.model;a?.routing.kind===`dynamic`?i.model=this.#Ge===void 0?`dynamic model`:`dynamic model · ${this.#Ge}`:a?.id!==void 0&&(i.model=a.id),a?.reasoning!==void 0&&a.reasoning!==`provider-default`&&(i.reasoning=a.reasoning),readGatewayServiceTier(a?.providerOptions).kind===`priority`&&(i.fastMode=!0);let o=a?.endpoint;o!==void 0&&(i.endpoint=o),this.#R!==void 0&&(i.vercel=this.#R),this.#z!==void 0&&(i.remote=this.#z);let s=buildStatusLine(i);s!==void 0&&e.push(clip(`${n}${s}`,t))}#qn(e,t){if(this.#z===void 0)return;let n=Math.max(1,t-2),r=buildStatusLine({remote:this.#z,theme:this.#i,width:n});r!==void 0&&e.push(``,clip(` ${r}`,t))}#Jn(){let e=this.#i.colors,t=[],n=formatAssistantResponseStats({totalTokens:this.#Ee,outputTokens:this.#ke,tokensPerSecond:this.#Ae},this.#u);return n&&t.push(n),t.length>0?e.dim(t.join(` ${this.#i.glyph.dot} `)):``}#Yn(){return Math.max(20,this.#t.columns||80)}#Xn(){return Math.max(8,this.#t.rows||24)}#Zn(){if(this.#Me!==void 0||!this.#d)return;this.#Ne=``,this.#Pe=``;let capture=(e,t)=>{let n=e.write.bind(e);return e.write=((e,n,r)=>{let i=typeof n==`string`?n:void 0,a=typeof n==`function`?n:r;return this.#er(t,chunkToString(e,i)),a?.(),!0}),()=>{e.write=n}},e=capture(process.stdout,`stdout`),t=capture(process.stderr,`stderr`);this.#f?.subscribeLogRecords(e=>this.#$n(e)),this.#Me=()=>{this.#f?.unsubscribeLogRecords(),e(),t()}}#Qn(){let e=this.#Me;e!==void 0&&(this.#Me=void 0,e(),this.#Ne.length>0&&(this.#f?.append({source:`stdout`,detail:this.#Ne}),this.#lr(`stdout`)&&process.stdout.write(`${this.#Ne}\n`),this.#Ne=``),this.#Pe.length>0&&(this.#f?.append({source:`stderr`,detail:this.#Pe}),this.#lr(`stderr`)&&process.stderr.write(`${this.#Pe}\n`),this.#Pe=``))}#$n(e){let t=e.fields===void 0?``:` ${JSON.stringify(e.fields)}`;this.#nr(`[eve:${e.namespace}] ${e.message}${t}`),this.#An()}#er(e,t){let n=(e===`stdout`?this.#Ne:this.#Pe)+t;if(e===`stdout`&&parseDevRebuildLogLine(n.trimEnd())!==void 0){this.#Ne=``,this.#f?.append({source:e,detail:n.trimEnd()}),this.#tr(n.trimEnd()),this.#An();return}let r=n.lastIndexOf(`
8
- `),i=r===-1?n:n.slice(r+1);if(e===`stdout`?this.#Ne=i:this.#Pe=i,r===-1)return;let a=stripAnsi(n.slice(0,r)).replace(/\s+$/u,``);a.trim().length!==0&&(this.#f?.append({source:e,detail:a}),e===`stdout`?this.#tr(a):this.#nr(a),this.#An())}#tr(e){let t=[],flushPending=()=>{if(t.length===0)return;let e=t.join(`
9
- `);t=[],e.trim().length!==0&&this.#sn({kind:`log`,title:`stdout`,body:e,live:!0})};for(let n of e.split(`
10
- `)){let e=parseSandboxLogLine(n.trimEnd());if(e!==void 0){flushPending(),this.#sn({kind:`sandbox`,body:e,live:!1});continue}let r=parseDevRebuildLogLine(n.trimEnd());if(r===void 0){t.push(n);continue}flushPending(),this.#ir(r,n.trimEnd())}flushPending()}#nr(e){let t=e.split(`
11
- `),n=t.findIndex(e=>parseDevRebuildLogLine(e.trimEnd())?.kind===`failed`);if(n===-1){if(this.#f===void 0){this.#sn({kind:`log`,title:`stderr`,body:e,live:!0});return}let t=presentDiagnostic(e,this.#f.displayPath);if(t.kind===`inline`){this.#sn({kind:`log`,title:`stderr`,body:t.text,live:!0});return}this.#sn({kind:`log`,title:`stderr`,body:formatStoredDiagnostic(t),logVisibility:`stderr-only`,live:!0}),this.#sn({kind:`log`,title:`stderr`,body:e,logVisibility:`all-only`,live:!0});return}let r=t.slice(0,n).join(`
12
- `);r.trim().length>0&&this.#sn({kind:`log`,title:`stderr`,body:r,live:!0});let i=t.slice(n).join(`
13
- `);this.#rr(i)}#rr(e){if(this.#or(),this.#m===`all`){if(e.trim().length===0)return;this.#sn({kind:`log`,title:`stderr`,body:e,live:!0});return}this.#Fe=e}#ir(e,t){let n=this.#sr();if(e.kind===`failed`){this.#rr(t);return}if(e.kind===`rebuilding`){let t=summarizeChangedFiles(e.events,e.more);if(this.#ar({phase:`building`,summary:t}),n!==void 0){n.state.summary=t,n.block.body=formatDevRebuildStatus(t,`rebuilding`);return}let r=`dev-rebuild:${this.#Be}`;this.#Be+=1,this.#Ie={id:r,summary:t},this.#sn({kind:`log`,id:r,title:`stdout`,body:formatDevRebuildStatus(t,`rebuilding`),live:!0});return}let r=n?.state.summary??this.#Le?.summary;if(r!==void 0&&this.#ar({phase:`complete`,summary:r}),n!==void 0){n.block.body=formatDevRebuildStatus(n.state.summary,e.kind),e.kind===`rebuilt`&&(this.#Fe=void 0);return}e.kind===`rebuilt`&&(this.#Fe=void 0),this.#sn({kind:`log`,title:`stdout`,body:t,live:!0})}#ar(e){this.#ze!==void 0&&clearTimeout(this.#ze),this.#Le=e,this.#Re=e.phase===`complete`,this.#ze=setTimeout(()=>{e.phase===`building`?(this.#Re=!0,this.#ze=void 0):this.#or(),this.#An()},e.phase===`building`?250:4e3)}#or(){this.#ze!==void 0&&clearTimeout(this.#ze),this.#Le=void 0,this.#Re=!1,this.#ze=void 0}#sr(){let e=this.#Ie;if(e===void 0)return;let t=this.#g.get(e.id);if(t!==void 0&&t.live===!0)return{state:e,block:t}}#cr(){let e=this.#Ie;if(e===void 0)return;this.#Ie=void 0;let t=this.#g.get(e.id);t!==void 0&&(t.live=!1)}#lr(e){switch(this.#m){case`none`:return!1;case`stderr`:return e===`stderr`;case`sandbox`:return e===`sandbox`;case`all`:return!0}}#ur(e){return e.kind===`sandbox`?!this.#lr(`sandbox`):e.kind===`log`?e.logVisibility===`stderr-only`?this.#m!==`stderr`:e.logVisibility===`all-only`?this.#m!==`all`:!this.#lr(e.title===`stderr`?`stderr`:`stdout`):!1}};function chunkToString(e,t){return typeof e==`string`?e:Buffer.from(e).toString(t)}async function*iterateTUIStream(e){if(e instanceof ReadableStream){let t=e.getReader();try{for(;;){let{done:e,value:n}=await t.read();if(e)return;yield n}}finally{t.releaseLock()}return}yield*e}function clip(e,t){return clipVisible(e,t)}function promptInputRows({text:e,cursor:t,width:n,theme:r,caretVisible:i,isCommand:a,ghost:o,maxRows:s,placeholder:c,inert:l}){let u=r.colors;if(e.length===0&&c!==void 0){let e=renderInputWithBlockCursor({...visibleLine({text:c,cursor:0},Math.max(1,n-3),r.glyph.ellipsis),visible:i,inverse:u.inverse,render:e=>u.dim(renderInputText(e))});return[clip(`${r.glyph.prompt} ${e}`,n),``]}let style=e=>{let t=renderInputText(e);return a&&t.length>0?u.blue(t):t},d=layoutPromptInput({text:e,cursor:t}),f=Math.min(Math.max(1,s),d.rows.length),p=Math.max(0,Math.min(d.caretRow-f+1,d.rows.length-f)),m=l===!0?u.dim(r.glyph.prompt):u.cyan(r.glyph.prompt),h=u.dim(r.glyph.ellipsis),g=Math.max(1,n-3),_=[];for(let e=p;e<p+f;e+=1){let t=d.rows[e],a=e===0?m:` `;(e===p&&p>0||e===p+f-1&&p+f<d.rows.length)&&(a=h);let s;if(e===d.caretRow){let{before:e,under:n,after:a}=visibleLine({text:t.text,cursor:d.caretOffset},g,r.glyph.ellipsis);s=renderInputWithBlockCursor({before:e,under:n,after:a,visible:i,inverse:u.inverse,render:style}),o.length>0&&d.rows.length===1&&(s+=o)}else s=style(t.text);_.push(clip(`${a} ${s}`,n))}return _.push(``),_}function previousBlockOf(e){let t={kind:e.kind};return e.title!==void 0&&(t.title=e.title),t}function isActiveToolStatus(e){return e===`running`||e===`approval`}function applyCohortLiveness(e){let t=e.some(e=>e.active);for(let n of e)n.block.live=t||n.active}function leadsWithGap(e,t){if(e.kind===`tool`&&(t?.kind===`user`||t?.kind===`assistant`||t?.kind===`question`))return!0;if(e.kind===`sandbox`&&t?.kind===`sandbox`)return!1;if(t?.kind===`sandbox`&&e.kind!==`sandbox`||t?.kind===`log`)return!0;switch(e.kind){case`user`:case`assistant`:case`reasoning`:case`subagent`:case`error`:case`notice`:case`question`:case`connection-auth`:case`sandbox`:case`log`:case`command`:case`warning`:case`flow`:case`turn-stats`:case`session-boundary`:case`todo-list`:case`agent-header`:return!0;default:return!1}}function parseSandboxLogLine(e){let t=e.trim();if(!t.startsWith(`eve: `))return;let n=t.slice(5);return/\bsandbox\b/i.test(n)&&!isLowValueSandboxLogLine(n)?n:void 0}function isLowValueSandboxLogLine(e){return/^initializing (?:\d+ )?sandbox templates?\b/i.test(e)||/^initialized \d+ sandbox\b/i.test(e)||/^reused cached sandbox template\b/i.test(e)||/^sandbox template "[^"]+" \([^)]+\): (checking|reusing|loading microsandbox runtime|microsandbox runtime ready)\b/i.test(e)}function clipLiveRows(e,t,n,r){if(e.length<=t)return[...e];if(t<=1)return[clip(hiddenRowsMarker(e.length,r),n)];let i=t-1;return[clip(hiddenRowsMarker(e.length-i,r),n),...e.slice(e.length-i)]}function hiddenRowsMarker(e,t){let n=e.toLocaleString(),r=e===1?`row`:`rows`;return t.colors.dim(`${t.glyph.dot} ${t.glyph.ellipsis} ${n} earlier ${r} hidden while streaming`)}function collapseReasoning(e,t){switch(e){case`collapsed`:return!0;case`auto-collapsed`:return!t;default:return!1}}function renderNativeToolBlock(e,t,n,r){let i=e.preparing===!0?presentPreparingTool(e.toolName,r):presentTool(e.toolName,e.input,r),a={id:t,kind:`tool`,title:stripTerminalControls(i.title),subtitle:stripTerminalControls(i.subtitle),status:e.status,live:e.status===`running`||e.status===`approval`,expanded:n,toolInput:e.input,toolName:e.toolName,toolGroup:i.group};return i.doneTitle!==void 0&&(a.doneTitle=stripTerminalControls(i.doneTitle)),i.detail!==void 0&&(a.detailLines=i.detail,a.keepDetailWhenDone=i.keepDetailWhenDone===!0),e.output===void 0?e.errorText!==void 0&&(a.result=stripTerminalControls(e.errorText)):(a.result=i.summarizeResult(e.output),a.toolOutput=e.output),a}function writeExistedFlag(e){if(typeof e!=`object`||!e||Array.isArray(e))return;let t=e.existed;return typeof t==`boolean`?t:void 0}function subagentToolStatus(e){switch(e){case`preparing`:return`running`;case`approval-requested`:return`approval`;case`executing`:return`running`;case`done`:return`done`;case`failed`:return`error`;case`rejected`:return`denied`}}function formatToolApprovalTitle(e){return stripTerminalControls(e.title??e.toolName)}function toolSectionId(e){return`tool:${e}`}function questionSectionId(e){return`question:${e}`}function subagentHeaderId(e){return`subagent:${e}:header`}function subagentStepSectionId(e,t){return`subagent:${e}:step:${t}`}function subagentToolSectionId(e,t){return`subagent:${e}:tool:${t}`}function connectionAuthSectionId(e){return`connection-auth:${e}`}function connectionAuthTerminalMessage(e){switch(e){case`authorized`:return`Authorization complete`;case`declined`:return`Authorization declined`;case`failed`:return`Authorization failed`;case`timed-out`:return`Authorization timed out`;case`required`:case`pending`:return}}function formatConnectionAuthContent(e,t){let n=[];if(t!==void 0)n.push(t);else{let t=stripTerminalControls(e.description);t.length>0&&n.push(t);let r=e.challenge;r?.url&&n.push(`URL: ${stripTerminalControls(r.url)}`),r?.userCode&&n.push(`Code: ${stripTerminalControls(r.userCode)}`),r?.expiresAt&&n.push(`Expires: ${stripTerminalControls(r.expiresAt)}`),r?.instructions&&n.push(stripTerminalControls(r.instructions))}if(e.reason!==void 0){let t=stripTerminalControls(e.reason);t.length>0&&n.push(`Reason: ${t}`)}return n.join(`
4
+ `),n=stripPromptControlCharacters(e?.initialDraft??this.#$.text),r=t===void 0?n:n.length===0?t:`${t}\n\n${n}`,i=lineOf(r);return this.#$=EMPTY_LINE,this.#H.begin(i.text),this.#dt(i),this.#ct(i.text),this.#en(),this.#jn(),await new Promise((e,t)=>{this.#ne=t;let apply=e=>{i=e,this.#nn(),this.#dt(i),this.#ct(e.text),this.#jn()},recall=e=>{e!==void 0&&apply(lineOf(e))},interrupt=()=>{this.#G=void 0,this.#tn(),this.#Ut(),t(interruptedError())},suggestions=()=>this.#G!==void 0&&isTypeaheadOpen(this.#G)?this.#G:void 0,argumentSuggestions=()=>this.#K?.suggestions.length?this.#K:void 0,highlighted=()=>{let e=suggestions();return e===void 0?void 0:selectedTypeaheadCommand(e)};this.#xe=t=>{t.type!==`ctrl-c`&&this.#de&&(this.#de=!1,this.#jn());let n=this.#U.apply(i,t,{multiline:!0});if(n!==void 0){apply(n);return}switch(t.type){case`up`:case`ctrl-p`:{let e=argumentSuggestions();if(e!==void 0){this.#K=moveArgumentTypeaheadSelection(e,-1),this.#jn();break}let t=suggestions();if(t!==void 0){this.#G=moveTypeaheadSelection(t,-1),this.#jn();break}let n=movePromptLine(i,`up`);n===void 0?recall(this.#H.previous(i.text)):apply(n);break}case`down`:case`ctrl-n`:{let e=argumentSuggestions();if(e!==void 0){this.#K=moveArgumentTypeaheadSelection(e,1),this.#jn();break}let t=suggestions();if(t!==void 0){this.#G=moveTypeaheadSelection(t,1),this.#jn();break}let n=movePromptLine(i,`down`);n===void 0?recall(this.#H.next()):apply(n);break}case`tab`:{let e=argumentSuggestions(),t=e===void 0?void 0:selectedArgumentSuggestion(e);if(e!==void 0&&t!==void 0){apply(lineOf(argumentTypeaheadCompletion(e,t)));break}let n=highlighted();n!==void 0&&apply(lineOf(typeaheadCompletion(n)));break}case`escape`:{if(this.#K!==void 0){this.#K=void 0,this.#jn();break}let e=suggestions();e!==void 0&&(this.#G=dismissTypeahead(e),this.#jn());break}case`enter`:{let t=argumentSuggestions(),n=t===void 0?void 0:selectedArgumentSuggestion(t),r=highlighted();if(t!==void 0&&n?.next!==void 0&&t.completed.length===0){apply(lineOf(`${argumentTypeaheadCompletion(t,n)} `));break}if(t===void 0&&r!==void 0&&this.#q!==void 0&&(r.name===`add`||r.name===`model`)){apply(lineOf(typeaheadCompletion(r)));break}let a=t!==void 0&&n!==void 0?argumentTypeaheadCompletion(t,n):r!==void 0&&parsePromptCommand(i.text)===null?typeaheadCompletion(r).trimEnd():i.text;if(a.trim().length===0)break;this.#G=void 0,this.#K=void 0,this.#H.add(a),this.#W=!1,this.#tn(),this.#re=STATUS.processing,isPromptControlCommand(a)?this.#ln({kind:`command`,body:stripTerminalControls(a.trim()),live:!1}):(this.#in(),this.#un(a),this.#We=a,this.#Z.arm()),this.#dt(EMPTY_LINE),this.#jn(),this.#Gt(),e(a);break}case`ctrl-d`:i.text.length===0?(this.#Lt(),interrupt()):apply(deleteForward(i));break;case`ctrl-l`:this.#Pn();break;case`ctrl-r`:this.#jn();break;case`ctrl-c`:if(this.#de){this.#Lt(),interrupt();break}this.#de=!0,apply(EMPTY_LINE)}},this.#Wt()})}#dt(e){this.#B=e.text,this.#V=e.cursor}takeQueuedPrompt(){let e=this.#Xe.view().steering,t=this.#Xe.takePrompt();return t!==void 0&&(this.#tt=e?`steer`:`queue`),t}async renderStream(e,t){this.#Vt(t),this.#_.clear(),this.#W=!1,this.#te.kind!==`waiting`&&(this.#te={kind:`waiting`,startedAtMs:Date.now()}),this.#re=this.#L>0?STATUS.connectionAuth:STATUS.processing,this.#fn(t?.submittedPrompt),t?.submittedPrompt!==void 0&&this.#f?.recordPrompt(),t?.submittedPrompt!==void 0&&!this.#Z.armed&&this.#Z.arm(),this.#le=!1,this.#$e=!1,this.#nt=!1,this.#rt=t?.submittedPrompt,this.#Xe.beginTurn(),this.#Ze=e.cancel,this.#Qe=e.steer,this.#ke=void 0,this.#Ae=void 0,this.#Me=void 0,this.#Ne=void 0,this.#Pe=Date.now();let n={text:new Map,reasoning:new Map,tools:new Map,modelActivity:`Thinking`,runningTools:new Set,cancelled:!1,restoreCancelledPrompt:!0};this.#Q=n;let r={tools:t?.tools??this.#o,reasoning:t?.reasoning??this.#s,assistantResponseStats:t?.assistantResponseStats??this.#u};this.#rn(),this.#ee=!0,this.#jn();let i=new Promise(e=>{this.#Ee=e});this.#xe=e=>this.#Qt(e),this.#Wt();try{for await(let t of takeUntil(iterateTUIStream(e.events),i)){if(this.#le)break;this.#bn(t,r,n)}}catch(e){let t=summarizeKnownError(e);t===null?this.#pn(`Error`,toErrorMessage(e),{detail:inspectError(e)}):this.#pn(t.name,t.message,{detail:inspectError(e),hint:t.hint})}finally{this.#Ee=void 0,this.#le&&e.abort?.(),this.#Ze=void 0,this.#Qe=void 0,this.#Gt(),this.#ee=!1,this.#Q=void 0,this.#te.kind===`waiting`&&(this.#te={kind:`idle`}),this.#cn(),this.#re=completedTurnStatus({interrupted:this.#le,cancelled:this.#$e,continueSession:t?.continueSession===!0}),this.#Dn(n),(this.#le||n.cancelled)&&this.#En(n),this.#yn(),this.#cn(),this.#f?.reportStats(),this.#jn(),t?.continueSession||this.#Ut()}}async renderIdleStream(e,t){let n={tools:t?.tools??this.#o,reasoning:t?.reasoning??this.#s,assistantResponseStats:t?.assistantResponseStats??this.#u},r={text:new Map,reasoning:new Map,tools:new Map,modelActivity:`Thinking`,runningTools:new Set,cancelled:!1,restoreCancelledPrompt:!1};try{for await(let t of iterateTUIStream(e.events))this.#bn(t,n,r)}catch(e){let t=summarizeKnownError(e);t===null?this.#pn(`Error`,toErrorMessage(e),{detail:inspectError(e)}):this.#pn(t.name,t.message,{detail:inspectError(e),hint:t.hint})}finally{this.#Dn(r),r.cancelled&&this.#En(r),this.#yn(),this.#cn(),this.#f?.reportStats(),this.#jn()}}async readToolApproval(e,t){return this.#Vt(t),this.#an(),this.#W=!1,this.#te={kind:`idle`},this.#re=`Approve ${formatToolApprovalTitle(e)}? (y/n)`,this.#le=!1,this.#jn(),await new Promise((t,n)=>{this.#ne=n,this.#xe=r=>{switch(r.type){case`text`:{if(r.framing!==`unframed`)break;let n=r.value.toLowerCase();n===`y`?(this.#in(),this.#re=STATUS.processing,this.#Gt(),this.#jn(),t({approved:!0})):n===`n`&&(this.#in(),this.#re=STATUS.processing,this.#pt(e.toolCallId),this.#Gt(),this.#jn(),t({approved:!1,reason:`Denied by user.`}));break}case`ctrl-r`:this.#jn();break;case`ctrl-c`:this.#le=!0,this.#Ut(),n(interruptedError())}},this.#Wt()})}async readInputQuestion(e,t){this.#Vt(t),this.#an(),this.#W=!1,this.#Y=!1,this.#te={kind:`idle`},this.#le=!1;let n=e.options??[],r=n.length>0,i=(e.allowFreeform===!0||!r)&&r,a=n.length+ +!!i,o=questionSectionId(e.requestId),s=r?`overlay`:`text`,c=0,l=EMPTY_LINE,isOnFreeformRow=()=>i&&c===n.length,overlayPanel=t=>renderQuestionPanel({prompt:stripTerminalControls(e.prompt),options:n,cursor:c,allowFreeform:i,editor:l,caretVisible:this.#me},this.#i,t),renderTextSection=()=>{this.#hn({id:o,kind:`question`,title:stripTerminalControls(e.prompt),body:formatQuestionContent(e,void 0,this.#i),preformatted:!0,live:!0})},syncFreeformCaret=()=>{isOnFreeformRow()?this.#en():(this.#tn(),this.#nn())};s===`overlay`?(s=`overlay`,this.#W=!1,this.#_n(o),this.#Ge=overlayPanel,this.#re=``,syncFreeformCaret(),this.#jn()):(s=`text`,this.#Ge=void 0,renderTextSection(),this.#W=!0,this.#dt(l),this.#re=``,this.#en(),this.#jn());let finalize=t=>{this.#Ge=void 0,this.#hn({id:o,kind:`question`,title:stripTerminalControls(e.prompt),body:`${this.#i.colors.dim(this.#i.glyph.elbow)} ${stripTerminalControls(t.label)}`,preformatted:!0,live:!1}),this.#W=!1,this.#in(),this.#re=STATUS.processing,this.#tn(),this.#Gt(),this.#jn();let n={};return t.optionId!==void 0&&(n.optionId=t.optionId),t.text!==void 0&&(n.text=t.text),n},dismiss=()=>{this.#Ge=void 0,this.#hn({id:o,kind:`question`,title:stripTerminalControls(e.prompt),body:`${this.#i.colors.dim(this.#i.glyph.elbow)} ${this.#i.colors.dim(`Skipped. The question stays open.`)}`,preformatted:!0,live:!1}),this.#W=!1,this.#re=``,this.#tn(),this.#Gt(),this.#jn(),u(void 0)},moveCursor=e=>{a!==0&&(c=(c+e+a)%a,syncFreeformCaret(),this.#jn())},selectOptionAt=e=>{let t=n[e];t&&u(finalize({optionId:t.id,label:t.label}))},u;return await new Promise((t,r)=>{this.#ne=r,u=t,this.#xe=t=>{if(t.type===`ctrl-c`){if((s===`text`||isOnFreeformRow())&&l.text.length>0){l=EMPTY_LINE,this.#nn(),s===`text`&&this.#dt(l),this.#jn();return}this.#le=!0,this.#Ge=void 0,this.#tn(),this.#Ut(),r(interruptedError());return}if(t.type===`ctrl-r`){this.#jn();return}if(s===`overlay`){let r=setupSelectionIntent(t,{textNavigation:!isOnFreeformRow()});if(r?.kind===`move`){moveCursor(r.direction===`up`?-1:1);return}switch(t.type){case`up`:case`ctrl-p`:moveCursor(-1);break;case`down`:case`ctrl-n`:moveCursor(1);break;case`enter`:if(isOnFreeformRow()){let t=resolveQuestionText(l.text,e);t!==void 0&&u(finalize(t));break}selectOptionAt(c);break;case`escape`:if(isOnFreeformRow()&&l.text.length>0){l=EMPTY_LINE,this.#nn(),this.#jn();break}dismiss();break;default:if(isOnFreeformRow()){let e=this.#U.apply(l,t);e!==void 0&&(l=e,this.#nn(),this.#jn());break}if(t.type===`text`&&/^[1-9]$/u.test(t.value)){let e=Number(t.value)-1;e<n.length?selectOptionAt(e):e===n.length&&i&&(c=e,syncFreeformCaret(),this.#jn())}}return}let a=this.#U.apply(l,t,{multiline:!0});if(a!==void 0){l=a,this.#nn(),this.#dt(l),this.#jn();return}switch(t.type){case`up`:case`down`:{let e=movePromptLine(l,t.type);e!==void 0&&(l=e,this.#nn(),this.#dt(l),this.#jn());break}case`enter`:{let t=resolveQuestionText(l.text,e);if(t===void 0)break;u(finalize(t));break}case`escape`:if(l.text.length>0){l=EMPTY_LINE,this.#nn(),this.#dt(l),this.#jn();break}dismiss()}},this.#Wt()})}upsertSubagentStep(e){if(this.#f?.recordSubagentDispatch(e.callId),this.#c===`hidden`)return;let t=stripTerminalControls(e.reasoning??``).trim(),n=stripTerminalControls(e.message??``).trim();if(t.length!==0||n.length!==0){if(this.#mn(e.callId,e.subagentName),this.#c===`collapsed`){this.#jn();return}this.#gn({id:subagentStepSectionId(e.callId,e.sectionKey),kind:`subagent-step`,subagentCallId:e.callId,depth:1,reasoning:t,body:n,collapsed:this.#c!==`full`,live:!e.finalized}),this.#jn()}}upsertSubagentTool(e){if(this.#f?.recordSubagentDispatch(e.callId),e.status===`failed`&&e.errorText!==void 0&&this.#f?.append({source:`tool`,summary:`${e.toolName} failed (subagent ${e.subagentName})`,detail:e.errorText}),this.#c===`hidden`)return;if(this.#mn(e.callId,e.subagentName),this.#c===`collapsed`){this.#jn();return}let t=subagentToolStatus(e.status),n=e.status===`preparing`?presentPreparingTool(e.toolName):presentTool(e.toolName,e.input,this.#wn({input:e.input,output:e.output,toolCallId:e.childCallId,toolName:e.toolName})),r={id:subagentToolSectionId(e.callId,e.childCallId),kind:`subagent-tool`,subagentCallId:e.callId,depth:1,title:stripTerminalControls(n.title),subtitle:stripTerminalControls(n.subtitle),status:t,live:t===`running`||t===`approval`,expanded:this.#c===`full`,toolName:e.toolName,toolGroup:n.group,toolInput:e.input};n.doneTitle!==void 0&&(r.doneTitle=stripTerminalControls(n.doneTitle)),n.detail!==void 0&&(r.detailLines=n.detail,r.keepDetailWhenDone=n.keepDetailWhenDone===!0),e.output===void 0?e.errorText!==void 0&&(r.result=stripTerminalControls(e.errorText)):(r.result=n.summarizeResult(e.output),r.toolOutput=e.output),this.#gn(r),this.#ft(e.callId),this.#jn()}#ft(e){applyCohortLiveness(this.#h.filter(t=>t.kind===`subagent-tool`&&t.subagentCallId===e).map(e=>({block:e,active:isActiveToolStatus(e.status)})))}removeSubagentTool(e){this.#_n(subagentToolSectionId(e.callId,e.childCallId)),this.#jn()}subagents={begin:e=>this.beginSubagent(e),background:e=>this.backgroundSubagent(e),upsertStep:e=>this.upsertSubagentStep(e),upsertTool:e=>this.upsertSubagentTool(e),removeTool:e=>this.removeSubagentTool(e),complete:e=>this.completeSubagent(e),markChildToolCallId:e=>this.markChildToolCallId(e)};beginSubagent(e){if(this.#c===`hidden`)return;this.#mn(e.callId,e.name);let t=this.#g.get(subagentHeaderId(e.callId));t!==void 0&&(t.status===`done`&&delete t.status,t.live=!0),this.#w.delete(e.callId),this.#jn()}backgroundSubagent(e){let t=this.#g.get(subagentHeaderId(e.callId));if(t===void 0||this.#_.has(subagentHeaderId(e.callId)))return;t.status=`running`,t.live=!0,t.updateSeq=++this.#x;let n=this.#C.has(e.callId);this.#C.add(e.callId),n||this.#vn(e.callId),this.#cn(),this.#jn()}completeSubagent(e){let t=this.#g.get(subagentHeaderId(e.callId));if(t!==void 0){if(t.status=`done`,e.authoritative){this.#C.delete(e.callId),this.#w.delete(e.callId);for(let t of this.#h)t.subagentCallId===e.callId&&(t.live=!1)}else{this.#w.add(e.callId);for(let t of this.#h)t.subagentCallId===e.callId&&(t.live=!0)}this.#cn(),this.#jn()}}markChildToolCallId(e){this.#y.add(e);let t=this.#b.get(e);t!==void 0&&(this.#_n(t),this.#b.delete(e),this.#jn())}#pt(e){let t=this.#g.get(toolSectionId(e));t!==void 0&&(t.status=`denied`,t.live=!1)}upsertConnectionAuth(e){if(this.#l===`hidden`)return;let t=connectionAuthTerminalMessage(e.state);this.#hn({id:connectionAuthSectionId(e.name),kind:`connection-auth`,title:`${stripTerminalControls(e.name)} · authorization · ${e.state}`,body:formatConnectionAuthContent(e,t),preformatted:!0,live:t===void 0}),this.#jn()}setConnectionAuthPendingCount(e){let t=Math.max(0,e);if(t===this.#L)return;let n=this.#L>0;this.#L=t,t>0?(this.#re=STATUS.connectionAuth,this.#jn()):n&&(this.#re=STATUS.processing,this.#jn())}setVercelStatus(e){this.#R=e,this.#jn()}setRemoteConnectionStatus(e){this.#z=e,this.#jn()}reset(){this.#h=[],this.#g.clear(),this.#_.clear(),this.#I=void 0,this.#F.length=0,this.#v.length=0,this.#N=!1,this.#P=void 0,this.#mt(),this.#X=!1,this.#We=void 0,this.#ze=void 0,this.#L=0,this.#ke=void 0,this.#Ae=void 0,this.#Me=void 0,this.#Ne=void 0,this.#Pe=void 0,this.#oe&&(this.#n.clearAll(),this.#jn())}renderSessionBoundary(){this.#dn(),this.#mt();let e=this.#i.colors,t=this.#i.glyph,n=e.dim(`${t.cornerOpen}${t.dash.repeat(2)} Session restarted, clear context.`);this.#ln({kind:`session-boundary`,body:n,live:!1}),this.#jn()}#mt(){this.#Je=void 0,this.#Ye=void 0,this.#y.clear(),this.#b.clear(),this.#E.clear(),this.#C.clear(),this.#w.clear(),this.#S.clear(),this.#Xe.reset(),this.#tt=void 0,this.#T.clear(),this.#Z.reset(),this.#cn()}renderNotice(e){let t=stripTerminalControls(e);t.trim().length!==0&&(this.#Vt(),this.#ln({kind:`notice`,body:t,live:!1}),this.#jn())}renderSetupWarning(e){let t=stripTerminalControls(e);if(t.trim().length===0){this.#ht();return}this.#Vt(),this.#qe=t,this.#jn()}clearSetupWarning(){this.#ht()}#ht(){this.#qe!==void 0&&(this.#qe=void 0,this.#jn())}renderCommandInvocation(e,t){let n=stripTerminalControls(e);if(n.trim().length===0)return;this.#Vt();let r={kind:`command`,body:n,live:!1};t===`failed`&&(r.status=`error`),this.#ln(r),this.#jn()}renderCommandResult(e,t){let n=stripAnsi(e);n.trim().length!==0&&(this.#Vt(),this.#ln({kind:`result`,body:n,live:!1,status:t===`success`?`done`:void 0}),this.#jn())}#gt(e,t=`spinner`){this.#Vt(),this.#k===void 0&&(this.#W=!1),this.#te={kind:`idle`},this.#re=``;let n=t===`pulse`?{kind:`pulse`,startedAtMs:Date.now()}:{kind:`spinner`};this.#Ke={title:stripTerminalControls(e),indicator:n,lines:[],outputBuffer:[]},this.#rn(),this.#jn()}#_t(e){this.#Ke!==void 0&&(this.#Ke.navigation=e,this.#jn())}#vt(e){this.#it=void 0,this.#jt();let t=this.#Ke;if(t!==void 0){if(this.#Ke=void 0,this.#k===void 0?this.#an():this.#ut(),e){let e=[];for(let n of t.lines){if(n.evidence===!0){e.push(n.text);continue}(n.tone===`warning`||n.tone===`error`)&&(e.length>0&&this.#ln({kind:`flow`,title:`info`,body:e.join(`
5
+ `),live:!1}),this.#ln({kind:`flow`,title:n.tone,body:n.text,live:!1})),e=[]}}this.#jn()}}async#yt(e){let t=this.#Tt(e.message),n=isMultiSelectRequest(e),r=e.kind===`search`?e.searchAction:void 0,i=e.options,a=e.navigation?.kind===`planner`,o={options:i,searchAction:r,submitRow:n&&!a};`initialValue`in e&&e.initialValue!==void 0&&(o.defaultValue=e.initialValue),`initialValues`in e&&e.initialValues!==void 0&&(o.initialValues=e.initialValues);let s=initialSelectState(o),c,l=!1,u=0,isCurrentSearch=e=>e===u,clearSearch=()=>{u+=1,l=!1,s=reduceSelect(s,{type:`clear`},{options:i,searchAction:r,submitRow:n&&!a}),this.#jn()},loadSearch=async(e,t)=>{l=!0,c=void 0;let o=++u;this.#jn();try{let c=await t(e);if(!isCurrentSearch(o))return;let l=s.filter;i=c,s={...initialSelectState({options:c,searchAction:r,submitRow:n&&!a}),filter:l}}catch(e){isCurrentSearch(o)&&(c=toErrorMessage(e))}finally{isCurrentSearch(o)&&(l=!1,this.#jn())}},d=e.notices;if(e.kind===`task-list`||e.kind===`search`&&e.layout===`task-list`){let n=t.taskListLineStart??t.lines.length,r=t.lines.slice(n).filter(e=>e.tone===`success`||e.tone===`warning`||e.tone===`error`).map(e=>({tone:e.tone,text:e.text}));d=e.notices??r,t.taskListLineStart=t.lines.length,t.hideLinesWhileQuestion=!0}let panelState=()=>{let t={...e,message:``,options:i,select:s};return d!==void 0&&d.length>0&&(t.notices=d),c!==void 0&&(t.error=c),l&&(t.loadingFrame=this.#Rn()),t};return t.question=e=>renderSelectQuestion(panelState(),this.#i,e),this.#jn(),await this.#Ot((t,o)=>{let close=e=>{u+=1,o(e)};if(l){t.type===`ctrl-c`?close(void 0):t.type===`escape`?clearSearch():t.type===`ctrl-r`&&this.#jn();return}let d=e.navigation?.kind===`planner`?e.navigation:void 0,f=t.type===`left`&&(d?.activeStep??0)>(d?.firstNavigableStep??0)?`back`:t.type===`right`&&d!==void 0&&d.activeStep>=(d.firstNavigableStep??0)&&d.activeStep<d.steps.length-1?`forward`:void 0;if(f!==void 0){close({kind:`navigate`,direction:f,values:n?orderedSelection(i,s.selected):[]});return}let p={key:t,options:i,searchAction:r,select:s},m=reduceSetupSelectInput(n?{...p,kind:e.kind,required:e.required,plannerNavigation:a||void 0}:{...p,kind:e.kind});switch(m.kind){case`cancel`:close(void 0);return;case`repaint`:this.#jn();return;case`update`:s=m.select,c=void 0,this.#jn();return;case`submit`:{let e=searchActionQuery(m.values[0]??``),t=r?.load;if(e===void 0||t===void 0){close(m.values);return}loadSearch(e,t);return}case`error`:c=m.message,this.#jn();return;case`ignore`:return}}).promise}#bt(e){this.#Vt();let t=this.#Et();t.status={kind:`progress`,text:stripTerminalControls(e.status),startedAtMs:Date.now()};let n;t.question=t=>renderSelectQuestion({kind:`actions`,context:e.context,actions:e.actions,cursor:n},this.#i,t),this.#jn();let r=this.#Ot((t,r)=>{let i=setupSelectionIntent(t,{textNavigation:!0});switch(i?.kind){case`cancel`:r(void 0);return;case`move`:n=moveActionCursor(n,i.direction,e.actions.length),this.#jn();return;case`repaint`:this.#jn();return;case`submit`:n!==void 0&&r(e.actions[n].value);return;case void 0:return}},()=>{t.status=void 0});return{choice:r.promise,close:()=>r.settle(void 0)}}async#xt(e){let t=this.#Tt(e.message),n={options:e.options};e.initialValue!==void 0&&(n.defaultValue=e.initialValue);let r=initialSelectState(n),i=lineOf(``),a;t.question=t=>{let n={kind:`inline-edit`,layout:`task-list`,message:``,options:e.options,select:r,edit:{optionValue:e.editable.value,caretVisible:this.#me,editor:{kind:`rename`,editor:i,defaultValue:e.editable.defaultValue,formatHint:e.editable.formatHint}}};return a!==void 0&&(n.error=a),renderSelectQuestion(n,this.#i,t)};let onEditableRow=()=>selectValueAtCursor([...e.options],r.cursor)===e.editable.value,syncEditableRow=()=>{onEditableRow()?this.#en():(i=lineOf(``),this.#tn())};return syncEditableRow(),this.#jn(),await this.#Ot((t,n)=>{let applyEditor=e=>{i=e,a=void 0,this.#nn(),this.#jn()},applySelect=t=>{r=reduceSelect(r,t,{options:e.options}),a=void 0,syncEditableRow(),this.#jn()},submit=()=>{let t=selectValueAtCursor([...e.options],r.cursor);if(t===void 0)return;if(t!==e.editable.value){n({kind:`selected`,value:t});return}let o=(i.text||e.editable.defaultValue).trim(),s=e.editable.validate?.(o);if(s!==void 0){a=s,this.#jn();return}n(o===e.editable.defaultValue?{kind:`selected`,value:t}:{kind:`edited`,value:t,text:o})},o=setupSelectionIntent(t,{textNavigation:!onEditableRow()});switch(o?.kind){case`cancel`:n(void 0);return;case`move`:applySelect({type:o.direction});return;case`submit`:submit();return;case`repaint`:this.#jn();return;case void 0:}if(!onEditableRow())return;let s=this.#U.apply(i,t);s!==void 0&&applyEditor(s)},()=>this.#tn()).promise}async#St(e){this.#U.clear();let t=this.#Tt(e.message),n=initialProviderPickerState(e.options,e.initialValue),r,cursorBadge=()=>{if(n.phase.kind!==`inactive`)return;let t=selectValueAtCursor([...e.options],n.select.cursor),r=e.options.find(e=>e.value===t);if(r!==void 0)return enterBadge(this.#i,r.checked===!0?`change`:void 0)};t.question=t=>{let r=cursorBadge(),i={kind:`inline-edit`,layout:`stacked`,message:``,options:e.options,select:n.select,edit:{optionValue:`ai-gateway-key`,caretVisible:this.#me,editor:{kind:`key`,phase:n.phase}}};return r!==void 0&&(i.cursorBadge=r),renderSelectQuestion(i,this.#i,t)};let syncCaret=()=>{n.phase.kind===`editing`||n.phase.kind===`invalid`?this.#en():this.#tn()};return syncCaret(),this.#jn(),await this.#Ot((t,i,a)=>{let dispatch=t=>{let o=transitionProviderPicker(n,t,e.options);switch(o.kind){case`ignore`:return;case`clear`:r?.abort(),r=void 0,n=o.state,syncCaret(),this.#jn();return;case`cancel`:i(void 0);return;case`render`:n=o.state,syncCaret(),this.#jn();return;case`validate`:{n=o.state,syncCaret(),this.#jn();let t=new AbortController;r=t;let i;try{i=e.validateInlineKey(o.key,t.signal)}catch(e){a(e);return}i.then(e=>{r!==t||t.signal.aborted||(r=void 0,dispatch({type:`validated`,validation:e}))},e=>{r!==t||t.signal.aborted||(r=void 0,a(e))});return}case`settle`:i(o.result);return}},o=setupSelectionIntent(t,{textNavigation:n.phase.kind===`inactive`});switch(o?.kind){case`cancel`:dispatch({type:`cancel`});return;case`move`:dispatch({type:`move`,direction:o.direction});return;case`submit`:dispatch({type:`submit`});return;case`repaint`:this.#jn();return;case void 0:}if(n.phase.kind!==`editing`&&n.phase.kind!==`invalid`)return;let s=applyLineEditorKey(n.phase.editor,t);s!==void 0&&(this.#nn(),dispatch({type:`edit`,editor:s}))},()=>{r?.abort(),r=void 0,this.#tn()}).promise}async#Ct(e){e.mask===!0&&this.#U.clear();let t=this.#Tt(e.message),n=lineOf(``),r;return t.question=t=>{let i={message:``,editor:n,mask:e.mask===!0};return e.placeholder===void 0?e.defaultValue!==void 0&&(i.placeholder=e.defaultValue):i.placeholder=e.placeholder,e.notices!==void 0&&(i.notices=e.notices),r!==void 0&&(i.error=r),renderTextQuestion(i,this.#i,t,this.#me)},this.#en(),this.#jn(),await this.#Ot((t,i)=>{let apply=e=>{n=e,r=void 0,this.#nn(),this.#jn()},a=e.mask?applyLineEditorKey(n,t):this.#U.apply(n,t);if(a!==void 0){apply(a);return}switch(t.type){case`ctrl-c`:case`escape`:i(void 0);return;case`ctrl-r`:this.#jn();return;case`enter`:{let t=n.text.length>0?n.text:e.defaultValue??``,a=e.validate?.(t);if(a!==void 0){r=a,this.#jn();return}i(t);return}default:return}},()=>this.#tn()).promise}async#wt(e){let t=this.#Tt(e.message);return t.question=t=>renderAcknowledgeQuestion({message:``,lines:e.lines},this.#i,t),this.#jn(),await this.#Ot((e,t)=>{switch(e.type){case`enter`:case`escape`:case`ctrl-c`:t();return;case`ctrl-r`:this.#jn();return;default:return}}).promise}#Tt(e){this.#Vt(),this.#W=!1,this.#te={kind:`idle`},this.#re=``;let t=this.#Et();return t.questionTitle=stripTerminalControls(e),t.status!==void 0&&(t.status=void 0,t.summary=void 0,t.preview=void 0),t}#Et(){return this.#Ke===void 0&&(this.#Ke={title:``,indicator:{kind:`spinner`},lines:[],outputBuffer:[],implicit:!0}),this.#Ke}#Dt(){this.#Ke?.implicit===!0?this.#Ke=void 0:this.#Ke!==void 0&&(this.#Ke.question=void 0,this.#Ke.questionTitle=void 0,this.#Ke.hideLinesWhileQuestion=!1),this.#xe=void 0,this.#Gt(),this.#k===void 0?this.#Ke!==void 0&&this.#At():this.#ut(),this.#Ke===void 0&&this.#jn()}#Ot(e,t){let n=!1,r,i,a=new Promise((e,t)=>{r=e,i=t}),settle=e=>{n||(n=!0,t?.(),this.#Dt(),r(e))},reject=e=>{n||(n=!0,t?.(),this.#Dt(),i(e))};return this.#Zt(),this.#xe=t=>{t.type===`ctrl-c`&&this.#Lt(),e(t,settle,reject)},this.#Wt(),{promise:a,settle}}#kt(e){let t,n=new Promise(e=>{t=e});return this.#it=t,this.#At(e?.interruptible??!0),{promise:n,dispose:()=>{this.#it===t&&(this.#it=void 0,this.#jt())}}}#At(e=!0){if(this.#k!==void 0){this.#ut();return}if(this.#it===void 0)return;let consumer=t=>{if(e&&(t.type===`ctrl-c`||t.type===`escape`)){t.type===`ctrl-c`&&this.#Lt();let e=this.#it;this.#it=void 0,this.#jt(),e?.(t.type===`ctrl-c`?`ctrl-c`:`escape`);return}t.type===`ctrl-r`&&this.#jn()};this.#at=consumer,this.#Zt(),this.#xe=consumer,this.#Wt()}#jt(){this.#at!==void 0&&(this.#xe===this.#at&&this.#Gt(),this.#at=void 0)}#Mt(e){let t=e===void 0?void 0:typeof e==`string`?{kind:`progress`,text:stripTerminalControls(e),startedAtMs:Date.now()}:{kind:`external-action`,text:stripTerminalControls(e.text),emphasis:stripTerminalControls(e.emphasis),startedAtMs:Date.now()};if(this.#Ke!==void 0){this.#Ke.status=t,t===void 0&&(this.#Ke.preview=void 0),this.#jn();return}if(!(this.#W||this.#ee)){if(t===void 0){this.#te={kind:`idle`},this.#ie=void 0,this.#an(),this.#jn();return}this.#Vt(),this.#in(),this.#ie=t.text,this.#jn()}}#Nt(e,t){let n=stripTerminalControls(e);if(n.trim().length===0)return;let r=this.#Ke;if(r!==void 0){if(r.preview=void 0,t===`warning`||t===`error`)for(let e of r.outputBuffer)r.lines.push({text:e,tone:`info`,evidence:!0});r.outputBuffer=[],r.lines.push({text:n,tone:t}),this.#jn();return}this.#Vt(),this.#ln({kind:`flow`,title:t,body:n,live:!1}),this.#jn()}#Pt(e){let t=this.#Ke;t!==void 0&&(t.lines=[],t.outputBuffer=[],t.preview=void 0,t.status=void 0,t.summary=e===void 0?void 0:{headline:stripTerminalControls(e.headline),facts:e.facts.map(e=>({label:stripTerminalControls(e.label),value:stripTerminalControls(e.value)}))},this.#jn())}#Ft(e){let t=stripTerminalControls(e);if(t.trim().length===0)return;let n=this.#Ke;if(n===void 0){this.#Nt(t,`info`);return}n.preview=t,n.outputBuffer.push(t),n.outputBuffer.length>40&&n.outputBuffer.shift(),this.#jn()}async#It(e){this.#Se=``,this.#Zt(),this.#it=void 0,this.#jt(),this.#Gt(),this.#on(),this.#n.clear(),this.#$n(),this.#r.enter({cursor:`visible`,mouse:!1}),this.#e.isTTY&&this.#e.setRawMode?.(!1),this.#e.pause();try{return await e()}finally{this.#r.exit(),this.#e.isTTY&&this.#e.setRawMode?.(!0),this.#e.resume(),this.#Se=``,this.#Zt(),this.#n.hideCursor(),this.#Qn(),this.#Ke===void 0?this.#cn():(this.#rn(),this.#At()),this.#n.reset(),this.#jn()}}setSessionId(e){this.#et=e}shutdown(){if(this.#Ut(),this.#se&&!this.#ce){this.#ce=!0;let e=this.#et===void 0?``:` ${this.#i.glyph.dot} session ${this.#et}`;this.#t.write(`${this.#i.colors.dim(`${eveVersionTag()}${e}`)}\n`)}}suspendPromptForInput(){this.#$={cursor:this.#V,text:this.#B},this.#Ut()}requestInterrupt(){this.#le=!0,this.#Ke!==void 0&&this.#xe?.({type:`ctrl-c`}),this.#Ee?.(),this.#Ut()}exitRequested(){return this.#ue}#Lt(){this.#ue=!0,this.#pe?.()}async#Rt(e){if(this.#ot!==void 0||!this.#oe)return;let t=new TraceViewerSession({...e,theme:this.#i,dimensions:()=>({width:this.#Xn(),height:this.#Zn()}),paint:e=>this.#r.paint(e,this.#Zn()),tracingDisabled:process.env.EVE_TRACES===`off`,copyText:e=>copyTextToClipboard(e,e=>this.#r.writeRaw(e)),terminalBackground:this.#st});this.#ot=t,this.#r.enter(),this.#i.color&&this.#r.writeRaw(BACKGROUND_COLOR_QUERY),await new Promise(e=>{this.#Bt=e,this.#xe=e=>{t.handleKey(e)===`close`&&this.#zt()},this.#Wt(),t.start()})}#zt(){let e=this.#ot;if(e===void 0)return;this.#ot=void 0,e.dispose(),this.#Gt(),this.#r.exit(),this.#n.hideCursor(),this.#jn(),this.#n.showCursor();let t=this.#Bt;this.#Bt=void 0,t?.()}#Bt;#Vt(e){this.#ae=e?.title??this.#ae,e?.contextSize!==void 0&&(this.#je=e.contextSize),!this.#oe&&(this.#oe=!0,this.#se=!0,this.#n.reset(),this.#n.hideCursor(),this.#Qn(),this.#e.isTTY&&(this.#e.setRawMode?.(!0),this.#e.resume(),this.#n.emitBracketedPaste(!0)),this.#Te=()=>this.#jn(),this.#t.on(`resize`,this.#Te),process.on(`exit`,this.#Ht))}#Ht=()=>{this.#oe&&(this.#r.exit(),this.#e.isTTY&&(this.#n.emitBracketedPaste(!1),this.#e.setRawMode?.(!1)),this.#n.showCursor())};#Ut(){this.#zt();let e=this.#ne;if(this.#ne=void 0,e?.(interruptedError()),this.#Gt(),this.#tn(),this.#on(),this.#ye!==void 0&&(clearTimeout(this.#ye),this.#ye=void 0),this.#be=!1,this.#sr(),this.#oe){this.#lr();for(let e of this.#h)e.kind===`log`&&e.id===void 0&&(e.live=!1);this.#jn(),this.#n.clear(),this.#n.showCursor(),this.#$n(),this.#n.newline(),this.#e.isTTY&&(this.#n.emitBracketedPaste(!1),this.#e.setRawMode?.(!1),this.#e.pause()),this.#Te&&=(this.#t.off(`resize`,this.#Te),void 0),process.off(`exit`,this.#Ht),this.#oe=!1}}#Wt(){this.#e.off(`data`,this.#Kt),this.#e.on(`data`,this.#Kt),this.#Se.length>0&&queueMicrotask(()=>{this.#xe!==void 0&&this.#Se.length>0&&(this.#Yt(),this.#qt())})}#Gt(){this.#e.off(`data`,this.#Kt),this.#Zt(),this.#xe=void 0}#Kt=e=>{this.#Zt(),this.#Se+=this.#Ce.write(e),this.#Yt(),this.#qt()};#qt(){if(this.#Se===`\x1B`){this.#we=setTimeout(()=>{this.#Se===`\x1B`&&(this.#Se=``,this.#Jt({type:`escape`}))},30),this.#we.unref?.();return}if(isIncompletePaste(this.#Se)){let e=this.#Se;this.#we=setTimeout(()=>{if(this.#Se!==e)return;let t=sanitizePastedText(stripPasteStart(e));this.#Se=``,t.length>0&&this.#Jt({type:`text`,value:t,framing:`bracketed-paste`})},incompletePasteFlushMs),this.#we.unref?.();return}if(isIncompleteOsc(this.#Se)){let e=this.#Se;this.#we=setTimeout(()=>{this.#Se===e&&(this.#Se=``)},incompletePasteFlushMs),this.#we.unref?.()}}#Jt(e){this.#U.interruptYank(e),this.#xe?.(e)}#Yt(){for(;this.#Se.length>0;){let e=nextKey(this.#Se);if(e.incomplete)return;if(this.#Se=this.#Se.slice(e.consumed),e.key!==void 0&&e.key.type!==`ignore`){if(e.key.type===`osc`){this.#Xt(e.key.value);continue}this.#Jt(e.key)}}}#Xt(e){let t=parseBackgroundColorReply(e);t!==void 0&&(this.#st=t,this.#ot?.setTerminalBackground(t))}#Zt(){this.#we&&=(clearTimeout(this.#we),void 0)}#Qt(e){switch(e.type){case`ctrl-l`:case`ctrl-r`:this.#jn();break;case`enter`:{let e=this.#$.text;if(e.trim().length===0)break;if(parsePromptCommand(e)?.type===`cancel`&&this.#Ze!==void 0){this.#$=EMPTY_LINE,this.#Xe.requestCancellation(),this.#nt=!0,this.renderCommandInvocation(e.trim()),this.renderCommandResult(`Turn cancellation requested.`),this.#Ze(),this.#jn();break}let t=this.#Qe;t!==void 0&&parsePromptCommand(e)===null?(this.#$=EMPTY_LINE,this.#$t(e,t)):this.#Xe.enqueue(e)&&(this.#$=EMPTY_LINE),this.#jn();break}case`ctrl-c`:case`escape`:if(e.type===`ctrl-c`&&this.#Xe.view().cancelling){this.#le=!0,this.#fe=!0,this.#te={kind:`idle`},this.#re=`Interrupted`,this.#Ee?.(),this.#jn();break}if(this.#Xe.idle&&this.#Ze===void 0)break;if(this.#Xe.handleEscape()===`steer`){let e=this.#Qe;if(e!==void 0){let t=this.#Xe.takeSteering();this.#$t(t,e)}}else this.#nt=!0,this.#Ze?.();this.#jn();break;default:{let t=this.#U.apply(this.#$,e,{multiline:!0});t!==void 0&&(this.#$=t,this.#jn());break}}}#$t(e,t){this.#tt=`steer`,this.#fn(e),t(e).catch(t=>{this.#Xe.restoreSteering(e),this.#pn(`Steering failed`,toErrorMessage(t)),this.#jn()})}#en(){this.#tn(),this.#nn(),this.#_e=setInterval(()=>{this.#me=!this.#me,this.#jn()},500),this.#_e.unref?.()}#tn(){this.#_e&&=(clearInterval(this.#_e),void 0),this.#me=!0}#nn(){this.#me=!0}#rn(){this.#on(),this.#ve=setInterval(()=>{this.#he+=1,this.#jn()},90),this.#ve.unref?.()}#in(){let e=Date.now();this.#ge=e,this.#te={kind:`waiting`,startedAtMs:e},this.#rn()}#an(){this.#sn()||this.#on()}#on(){this.#ve&&=(clearInterval(this.#ve),void 0)}#sn(){return this.#h.some(e=>e.live&&e.subagentCallId!==void 0&&(this.#C.has(e.subagentCallId)||this.#w.has(e.subagentCallId)))}#cn(){this.#sn()?this.#rn():!this.#ee&&this.#te.kind===`idle`&&this.#on()}#ln(e){e.id!==this.#ze?.id&&this.#lr(),e.updateSeq=++this.#x;let t=e.subagentCallId!==void 0&&this.#C.has(e.subagentCallId)?-1:this.#h.findIndex(e=>e.subagentCallId!==void 0&&this.#C.has(e.subagentCallId));t<0?this.#h.push(e):this.#h.splice(t,0,e),e.id&&this.#g.set(e.id,e)}#un(e){this.#X=!0,this.#ln({kind:`user`,body:stripTerminalControls(e),live:!1}),this.#jn()}#dn(){let e=this.#Z.settle();if(e===void 0||e.elapsedMs<=1e4&&e.inputTokens<=2e4)return;let t=`Done in ${this.#Un(e.elapsedMs)}`,n=this.#Ae??0;if(this.#je!==void 0&&this.#je>0&&n>0){let e=Math.round(n/this.#je*100);t+=` ${this.#i.glyph.dot} ${e}% context`}this.#ln({kind:`turn-stats`,body:t,live:!1})}#fn(e){if(e==null)return;let t=this.#tt;if(this.#tt=void 0,this.#We===e){this.#We=void 0;return}let n={kind:`user`,body:stripTerminalControls(e),live:!1};t!==void 0&&(n.promptOrigin=t),this.#ln(n)}#pn(e,t,n={}){let r=stripTerminalControls(e),i=stripTerminalControls(t),a=n.detail===void 0?void 0:stripTerminalControls(n.detail),o=n.hint===void 0?void 0:stripTerminalControls(n.hint),s={source:`workflow`,summary:`${r}: ${i}`,detail:a??i};this.#f?.append(o===void 0?s:{...s,hint:o});let c={kind:`error`,title:r,body:i,live:!1};o!==void 0&&(c.hint=o),a!==void 0&&(c.detail=this.#f===void 0?a:`details: ${this.#f.displayPath}`),this.#ln(c),this.#jn()}#mn(e,t){if(this.#E.has(e))return;this.#E.add(e);let n=stripTerminalControls(t),r=this.#S.get(n)??[];if(r.push(e),this.#S.set(n,r),r.length===2){let e=this.#g.get(subagentHeaderId(r[0]));e!==void 0&&(e.subtitle=`#1`)}let i={id:subagentHeaderId(e),kind:`subagent`,subagentCallId:e,title:n,live:!0};r.length>1&&(i.subtitle=`#${r.length}`),this.#ln(i)}#hn(e){if(e.id&&this.#_.has(e.id))return;let t=e.id?this.#g.get(e.id):void 0;if(t){Object.assign(t,e),t.updateSeq=++this.#x;return}this.#ln(e)}#gn(e){if(e.id&&this.#_.has(e.id))return;let t=e.id?this.#g.get(e.id):void 0;if(t!==void 0){Object.assign(t,e),t.updateSeq=++this.#x;return}let n=e.subagentCallId;if(n===void 0){this.#ln(e);return}e.id!==this.#ze?.id&&this.#lr(),e.updateSeq=++this.#x;let r=-1;for(let e=0;e<this.#h.length;e+=1)this.#h[e]?.subagentCallId===n&&(r=e);this.#h.splice(r<0?this.#h.length:r+1,0,e),e.id!==void 0&&this.#g.set(e.id,e)}#_n(e){this.#h=this.#h.filter(t=>t.id!==e),this.#g.delete(e)}#vn(e){let t=this.#h.filter(t=>t.subagentCallId===e);t.length!==0&&(this.#h=this.#h.filter(t=>t.subagentCallId!==e),this.#h.push(...t))}#yn(){for(let e of this.#h)e.subagentCallId!==void 0&&this.#w.has(e.subagentCallId)||e.status===`approval`||e.status===`running`||e.kind===`connection-auth`&&e.live||(e.live=!1)}#bn(e,t,n){let r=turnActivityLabel(n);switch(updateTurnActivity(n,e),e.type){case`turn-start`:e.turnId!==this.#Ye&&(this.#Ye=e.turnId,this.#Je=void 0,this.#jn());break;case`step-start`:this.#Je=typeof e.modelId==`string`&&stripTerminalControls(e.modelId.slice(0,256)).replace(/\s+/gu,` `).trim()||void 0,this.#jn();break;case`step-finish`:this.#f?.recordStepUsage(e.usage),e.usage!==void 0&&this.#Z.addUsage(e.usage),this.#Dn(n),this.#An(e.usage),this.#jn();break;case`assistant-delta`:{let t=(n.text.get(e.id)??``)+stripTerminalControls(e.delta);n.text.set(e.id,t),this.#xn(e.id,t,!0);break}case`assistant-complete`:{let t=n.text.get(e.id)??``,r=typeof e.text==`string`?stripTerminalControls(e.text):t;n.text.set(e.id,r),this.#xn(e.id,r,!1);break}case`reasoning-delta`:{if(t.reasoning===`hidden`)break;let r=(n.reasoning.get(e.id)??``)+stripTerminalControls(e.delta);if(n.reasoning.set(e.id,r),t.reasoning===`full`){this.#Sn(e.id,r,!0,t);break}break}case`reasoning-complete`:{if(t.reasoning===`hidden`)break;let r=n.reasoning.get(e.id)??``;if(t.reasoning===`full`){this.#Sn(e.id,r,!1,t);break}break}case`tool-call-preparing`:if(t.tools===`hidden`||isPanelRoutedTool(e.toolName))break;this.#Cn({input:void 0,preparing:!0,status:`running`,toolCallId:e.toolCallId,toolName:e.toolName},t,n);break;case`tool-call`:if(this.#f?.recordToolCall(e.toolName),t.tools===`hidden`)break;this.#Cn({input:e.input,status:`running`,toolCallId:e.toolCallId,toolName:e.toolName},t,n);break;case`tool-approval-request`:{if(t.tools===`hidden`)break;let r=n.tools.get(e.toolCallId);if(r===void 0)break;this.#Cn({...r,status:`approval`},t,n);break}case`tool-result`:{if(t.tools===`hidden`)break;let r=this.#kn(e.toolCallId,n);if(r===void 0)break;this.#Cn({...r,output:e.output,status:`done`},t,n);break}case`tool-error`:{let r=this.#kn(e.toolCallId,n);if(this.#f?.append({source:`tool`,summary:`${r?.toolName??e.toolCallId} failed`,detail:e.errorText}),t.tools===`hidden`||r===void 0)break;this.#Cn({...r,errorText:e.errorText,status:`error`},t,n);break}case`tool-rejected`:{if(t.tools===`hidden`)break;let r=this.#kn(e.toolCallId,n);if(r===void 0)break;this.#Cn({...r,errorText:e.reason,status:`denied`},t,n);break}case`error`:this.#pn(`Error`,e.errorText,{detail:e.detail,hint:e.hint});break;case`turn-cancelled`:if(n.cancelled=!0,!n.restoreCancelledPrompt)break;this.#$e=!0,!this.#nt&&this.#rt!==void 0&&this.#$.text.length===0&&(this.#$=lineOf(this.#rt),this.renderNotice(`The turn was cancelled from outside this prompt — the message was restored to the input.`));break;case`finish`:this.#An(e.usage),this.#jn()}n===this.#Q&&turnActivityLabel(n)!==r&&this.#jn()}#xn(e,t,n){let r=stripTerminalControls(t).trim();r.length!==0&&(this.#hn({id:e,kind:`assistant`,body:r,live:n}),this.#jn())}#Sn(e,t,n,r){let i=stripTerminalControls(t).trim();i.length!==0&&(this.#hn({id:e,kind:`reasoning`,body:i,collapsed:collapseReasoning(r.reasoning,n),live:n}),this.#jn())}#Cn(e,t,n){if(n.tools.set(e.toolCallId,e),this.#y.has(e.toolCallId)||isPanelRoutedTool(e.toolName))return;let r=toolSectionId(e.toolCallId);this.#b.set(e.toolCallId,r);let i=this.#wn(e);this.#hn(renderNativeToolBlock(e,r,t.tools===`full`,i)),this.#On(n),this.#jn()}#wn(e){e.output!==void 0&&this.#T.observeRead(e.output);let t={};this.#Tn(e.toolName)&&(t.isSubagent=!0);let n=readWriteFileInput(e.toolName,e.input);if(n===void 0)return t.isSubagent===!0?t:void 0;let r=this.#T.observeWrite({path:n.path,content:n.content,callId:e.toolCallId});r!==void 0&&(t.previousContent=r);let i=writeExistedFlag(e.output);return i!==void 0&&(t.existed=i),t}#Tn(e){let t=this.#D?.info?.subagents.local;if(t===void 0||t.length===0)return!1;let n=toolBaseName(e);return t.some(e=>e.name===n)}#En(e){for(let t of e.tools.keys()){if(this.#y.has(t))continue;let e=this.#b.get(t)??toolSectionId(t),n=this.#g.get(e);n?.kind===`tool`&&n.status===`running`&&(n.status=`error`,n.result=`interrupted`,n.live=!1)}}#Dn(e){for(let[t,n]of e.tools){if(n.preparing!==!0)continue;e.tools.delete(t);let r=this.#b.get(t)??toolSectionId(t);this.#_n(r),this.#b.delete(t)}}#On(e){let t=[];for(let n of e.tools.values()){if(this.#y.has(n.toolCallId))continue;let e=this.#b.get(n.toolCallId)??toolSectionId(n.toolCallId),r=this.#g.get(e);r?.kind===`tool`&&t.push({block:r,active:isActiveToolStatus(n.status)})}applyCohortLiveness(t)}#kn(e,t){let n=t.tools.get(e);if(n!==void 0)return n;let r=this.#b.get(e)??toolSectionId(e),i=this.#g.get(r);if(i!==void 0&&i.kind===`tool`)return{errorText:i.status===`error`&&typeof i.result==`string`?i.result:void 0,input:i.toolInput,output:i.toolOutput,status:i.status??`running`,toolCallId:e,toolName:i.toolName??i.title??`tool`}}#An(e){if(e===void 0)return;let{inputTokens:t,outputTokens:n}=e;if((t!=null||n!=null)&&(this.#ke=(t??0)+(n??0)),this.#Ae=t??this.#Ae,this.#Me=n??this.#Me,this.#Me!=null&&this.#Pe!==void 0){let e=(Date.now()-this.#Pe)/1e3;e>0&&(this.#Ne=this.#Me/e)}}#jn(){if(this.#oe){if(this.#De){this.#Oe=!0;return}this.#De=!0;try{do this.#Oe=!1,this.#Mn();while(this.#Oe)}finally{this.#De=!1}}}#Mn(){if(!this.#oe)return;if(this.#ot!==void 0){this.#ot.repaint();return}let e=this.#Xn(),t=this.#Vn(e),n=this.#M===void 0?[]:this.#In(),r=Math.max(1,this.#Zn()-n.length-t.length),i=[],a=this.#I,o=groupToolBlocksForDisplay(this.#h),s=0;for(;s<o.length&&o[s].display.live===!1;)s+=1;if(s>0){let e=new Set(o.slice(0,s).flatMap(e=>e.members));for(let t=this.#h.length-1;t>=0;--t)e.has(this.#h[t])&&this.#h.splice(t,1)}for(let t of o.slice(0,s)){for(let e of t.members)this.#v.push(e),e.id&&(this.#_.add(e.id),this.#g.delete(e.id));if(this.#dr(t.display))continue;let n=this.#Ln(t.display,e,a);a=previousBlockOf(t.display),this.#I=a,i.push(...n),this.#F.push(...n)}let c=[];for(let{display:t}of o.slice(s)){if(this.#dr(t))continue;let n=this.#Ln(t,e,a);a=previousBlockOf(t);for(let e=0;e<n.length;e+=1)c.push({block:t,row:n[e]})}let l=[...n,...clipLiveRows(c.map(e=>e.row),r,e,this.#i),...t];i.length>0?this.#n.flush(i,l):this.#n.update(l)}#Nn(){if(!this.#oe)return;let e=this.#Xn(),t=this.#Vn(e),n=Math.max(1,this.#Zn()-t.length),r=this.#I,i=[];for(let{display:t}of groupToolBlocksForDisplay(this.#h)){if(this.#dr(t))continue;let n=this.#Ln(t,e,r);r=previousBlockOf(t),i.push(...n)}let a=[...clipLiveRows(i,n,e,this.#i),...t];this.#n.clearAll(),this.#n.flush([...this.#In(),...this.#F],a)}logDisplayMode(){return this.#m}setLogDisplayMode(e){e!==this.#m&&(this.#m=e,e===`all`&&this.flushDelayedDevBuildErrors(),this.#Fn(),this.#oe&&this.#Nn())}flushDelayedDevBuildErrors(){let e=this.#Re;e!==void 0&&(this.#Re=void 0,this.#ln({kind:`log`,title:`stderr`,body:e,live:!0}),this.#jn())}#Pn(){this.#be=!0,this.#ye!==void 0&&clearTimeout(this.#ye),this.#ye=setTimeout(()=>{this.#be=!1,this.#ye=void 0,this.#jn()},5e3),this.setLogDisplayMode(nextLogDisplayMode(this.#m)),this.#jn()}#Fn(){let e=this.#Xn();this.#F.length=0;let t;for(let{display:n}of groupToolBlocksForDisplay(this.#v,{logCoalescing:`runs`})){if(this.#dr(n))continue;let r=this.#Ln(n,e,t);t=previousBlockOf(n),this.#F.push(...r)}this.#I=t}#In(){let e=this.#D,t=this.#M;if(e===void 0&&t===void 0)return[];let n={name:e?.name??t?.name,theme:this.#i,width:this.#Xn()};return e?.info!==void 0&&(n.info=e.info),buildAgentHeader(n)}#Ln(e,t,n){let r={renderMarkdown:this.#a,activityPulse:this.#zn(this.#ge,this.#i.unicode?PROGRESS_PULSE_GLYPH:PROGRESS_PULSE_ASCII_GLYPH)};n!==void 0&&(r.previous=n);let i=renderBlockLines(e,t,this.#i,r);return(e.depth??0)===0&&leadsWithGap(e,n)?[``,...i]:i}#Rn(){return this.#i.spinner[this.#he%this.#i.spinner.length]??``}#zn(e,t){return isProgressPulseVisible(Date.now()-e)?t:` `}#Bn(e,t){return e.indicator.kind===`spinner`?{glyph:this.#Rn(),color:`yellow`}:{glyph:this.#zn(e.indicator.startedAtMs,this.#i.unicode?PROGRESS_PULSE_GLYPH:PROGRESS_PULSE_ASCII_GLYPH),color:t?.kind===`external-action`?`yellow`:`green`}}#Vn(e){let t=this.#i.colors,n=[``];if(this.#Ge!==void 0)return n.push(...this.#Ge(e),``),this.#qn(n,e),n;let r=this.#Ke;if(r!==void 0&&(this.#k===void 0||r.question!==void 0)){let t=this.#Bn(r,r.status),i;if(r.status!==void 0){let{startedAtMs:e,...n}=r.status,a=Date.now()-e,o=a>=5e3?` ${formatTurnDuration(a)}`:``;i={...n,text:`${n.text}${o}`,indicator:t}}let a;if(r.question!==void 0){let t=r.question(e);a={kind:`question`,title:r.questionTitle,rows:t},i!==void 0&&(a={kind:`question`,title:r.questionTitle,rows:t,status:i})}else i===void 0?a=r.preview===void 0?{kind:`idle`,indicator:t}:{kind:`preview`,text:r.preview,indicator:t}:(a={kind:`status`,status:i},r.preview!==void 0&&(a={kind:`status`,status:i,preview:r.preview}));let o={title:r.title,navigation:r.navigation,lines:r.summary===void 0?r.hideLinesWhileQuestion===!0?[]:r.lines:[{text:r.summary.headline,tone:`success`},...r.summary.facts.map(e=>({text:`${e.label}: ${e.value}`,tone:`info`}))],content:a};return n.push(...renderFlowPanel(o,this.#i,e)),this.#Jn(n,e),n}r!==void 0&&n.push(...flowMessageRows(r.lines,this.#i).map(t=>t.length===0?``:clip(` ${t}`,e))),this.#O===void 0&&this.#qe!==void 0&&n.push(...renderAttentionRows(this.#qe,e,this.#i),``);let i=renderMessageQueueRows({view:this.#Xe.view(),width:e,theme:this.#i,working:this.#ee});if(i.length>0&&n.push(...i,``),this.#W){let r=this.#G===void 0?void 0:inlineCommandHint(this.#G),i=this.#lt(e);this.#de&&n.push(clip(t.dim(`Press Ctrl+C again to exit`),e),``);let a=isPromptControlCommand(this.#B),o=r?t.dim(` ${r}`):``,s=[];this.#qn(s,e);let c=Math.max(1,this.#Zn()-1-n.length-1-i.length-s.length-(i.length>0?2:0)),l={text:this.#B,cursor:this.#V,width:e,theme:this.#i,caretVisible:this.#me,isCommand:a,ghost:o,maxRows:c};this.#Y&&this.#B.length===0&&(l.placeholder=this.#k===void 0?this.#X?``:`Send a message…`:`Message · Enter to queue`);let u=promptInputRows(l);return i.length>0&&u.at(-1)===``&&u.pop(),n.push(...u),i.length>0&&n.push(t.dim(this.#i.glyph.dash.repeat(e))),n.push(...i),i.length>0&&s.length>0&&n.push(t.dim(this.#i.glyph.dash.repeat(e))),n.push(...s),n}let a=this.#te.kind===`waiting`&&this.#ie===void 0;if(this.#ee||a){n.push(this.#Hn(e)),this.#Gn(n,e);let t=[];return this.#qn(t,e),!this.#ee&&t.length>0&&n.push(``),n.push(...t),n}if(this.#$.text.length>0)return this.#Kn(n,e,{inert:!1}),this.#qn(n,e),n;let o=this.#ie??(this.#re.length>0?this.#re:`Ready`),s=this.#Yn(),c=t.dim(this.#i.glyph.dot),l=s?`${c} ${o} ${t.dim(this.#i.glyph.dot)} ${s}`:`${c} ${o}`;return n.push(clip(l,e)),this.#qn(n,e),n}#Hn(e){let t=this.#i.colors,n=this.#te,r=this.#Z.startedAtMs??this.#Pe??(n.kind===`waiting`?n.startedAtMs:Date.now()),i=Math.max(0,Date.now()-r),a=i%1e3<500?this.#i.unicode?`•`:`*`:` `,o=i<1e3?`0s`:formatTurnDuration(Math.floor(i/1e3)*1e3),s=`${turnActivityLabel(this.#Q)} (${o})`,{inputTokens:c,outputTokens:l}=this.#Z.usage;return clip(`${a} ${s}${c>0||l>0?t.dim(` (${formatTokenFlow({inputTokens:c,outputTokens:l},this.#i.glyph)})`):``}`,e)}#Un(e){return`${formatTurnDuration(e)}${this.#Wn()}`}#Wn(){let{inputTokens:e,outputTokens:t}=this.#Z.usage;return e===0&&t===0?``:` ${this.#i.glyph.dash.repeat(2)} ${formatTokenFlow({inputTokens:e,outputTokens:t},this.#i.glyph)}`}#Gn(e,t){this.#ee&&this.#Kn(e,t,{inert:!0})}#Kn(e,t,n){e.push(``);let r={text:this.#$.text,cursor:this.#$.cursor,width:t,theme:this.#i,caretVisible:!0,isCommand:!1,ghost:``,maxRows:4,inert:n.inert};n.inert&&this.#$.text.length===0&&(r.placeholder=``),e.push(...promptInputRows(r))}#qn(e,t){if(this.#O!==void 0){let n=this.#Ke?.status?.text??{starting:`Starting agent…`,connecting:`Reading saved connection…`,updating:`Loading selected model…`}[this.#O],r=this.#zn(this.#j,this.#i.unicode?PROGRESS_PULSE_GLYPH:PROGRESS_PULSE_ASCII_GLYPH);e.push(clip(this.#i.colors.dim(`${r} ${n}`),t));return}let n=this.#z===void 0?``:` `,r=Math.max(1,t-n.length),i={theme:this.#i,width:r};this.#Ve&&this.#Be!==void 0&&(i.devBuild=this.#Be),this.#be&&(i.logLevel=this.#m);let a=this.#D?.info?.agent.model;a?.routing.kind===`dynamic`?i.model=this.#Je===void 0?`dynamic model`:`dynamic model · ${this.#Je}`:a?.id!==void 0&&(i.model=a.id),a?.reasoning!==void 0&&a.reasoning!==`provider-default`&&(i.reasoning=a.reasoning),readGatewayServiceTier(a?.providerOptions).kind===`priority`&&(i.fastMode=!0);let o=a?.endpoint;o!==void 0&&(i.endpoint=o),this.#R!==void 0&&(i.vercel=this.#R),this.#z!==void 0&&(i.remote=this.#z);let s=buildStatusLine(i);s!==void 0&&e.push(clip(`${n}${s}`,t))}#Jn(e,t){if(this.#z===void 0)return;let n=Math.max(1,t-2),r=buildStatusLine({remote:this.#z,theme:this.#i,width:n});r!==void 0&&e.push(``,clip(` ${r}`,t))}#Yn(){let e=this.#i.colors,t=[],n=formatAssistantResponseStats({totalTokens:this.#ke,outputTokens:this.#Me,tokensPerSecond:this.#Ne},this.#u);return n&&t.push(n),t.length>0?e.dim(t.join(` ${this.#i.glyph.dot} `)):``}#Xn(){return Math.max(20,this.#t.columns||80)}#Zn(){return Math.max(8,this.#t.rows||24)}#Qn(){if(this.#Fe!==void 0||!this.#d)return;this.#Ie=``,this.#Le=``;let capture=(e,t)=>{let n=e.write.bind(e);return e.write=((e,n,r)=>{let i=typeof n==`string`?n:void 0,a=typeof n==`function`?n:r;return this.#tr(t,chunkToString(e,i)),a?.(),!0}),()=>{e.write=n}},e=capture(process.stdout,`stdout`),t=capture(process.stderr,`stderr`);this.#f?.subscribeLogRecords(e=>this.#er(e)),this.#Fe=()=>{this.#f?.unsubscribeLogRecords(),e(),t()}}#$n(){let e=this.#Fe;e!==void 0&&(this.#Fe=void 0,e(),this.#Ie.length>0&&(this.#f?.append({source:`stdout`,detail:this.#Ie}),this.#ur(`stdout`)&&process.stdout.write(`${this.#Ie}\n`),this.#Ie=``),this.#Le.length>0&&(this.#f?.append({source:`stderr`,detail:this.#Le}),this.#ur(`stderr`)&&process.stderr.write(`${this.#Le}\n`),this.#Le=``))}#er(e){let t=e.fields===void 0?``:` ${JSON.stringify(e.fields)}`;this.#rr(`[eve:${e.namespace}] ${e.message}${t}`),this.#jn()}#tr(e,t){let n=(e===`stdout`?this.#Ie:this.#Le)+t;if(e===`stdout`&&parseDevRebuildLogLine(n.trimEnd())!==void 0){this.#Ie=``,this.#f?.append({source:e,detail:n.trimEnd()}),this.#nr(n.trimEnd()),this.#jn();return}let r=n.lastIndexOf(`
6
+ `),i=r===-1?n:n.slice(r+1);if(e===`stdout`?this.#Ie=i:this.#Le=i,r===-1)return;let a=stripAnsi(n.slice(0,r)).replace(/\s+$/u,``);a.trim().length!==0&&(this.#f?.append({source:e,detail:a}),e===`stdout`?this.#nr(a):this.#rr(a),this.#jn())}#nr(e){let t=[],flushPending=()=>{if(t.length===0)return;let e=t.join(`
7
+ `);t=[],e.trim().length!==0&&this.#ln({kind:`log`,title:`stdout`,body:e,live:!0})};for(let n of e.split(`
8
+ `)){let e=parseSandboxLogLine(n.trimEnd());if(e!==void 0){flushPending(),this.#ln({kind:`sandbox`,body:e,live:!1});continue}let r=parseDevRebuildLogLine(n.trimEnd());if(r===void 0){t.push(n);continue}flushPending(),this.#ar(r,n.trimEnd())}flushPending()}#rr(e){let t=e.split(`
9
+ `),n=t.findIndex(e=>parseDevRebuildLogLine(e.trimEnd())?.kind===`failed`);if(n===-1){if(this.#f===void 0){this.#ln({kind:`log`,title:`stderr`,body:e,live:!0});return}let t=presentDiagnostic(e,this.#f.displayPath);if(t.kind===`inline`){this.#ln({kind:`log`,title:`stderr`,body:t.text,live:!0});return}this.#ln({kind:`log`,title:`stderr`,body:formatStoredDiagnostic(t),logVisibility:`stderr-only`,live:!0}),this.#ln({kind:`log`,title:`stderr`,body:e,logVisibility:`all-only`,live:!0});return}let r=t.slice(0,n).join(`
10
+ `);r.trim().length>0&&this.#ln({kind:`log`,title:`stderr`,body:r,live:!0});let i=t.slice(n).join(`
11
+ `);this.#ir(i)}#ir(e){if(this.#sr(),this.#m===`all`){if(e.trim().length===0)return;this.#ln({kind:`log`,title:`stderr`,body:e,live:!0});return}this.#Re=e}#ar(e,t){let n=this.#cr();if(e.kind===`failed`){this.#ir(t);return}if(e.kind===`rebuilding`){let t=summarizeChangedFiles(e.events,e.more);if(this.#or({phase:`building`,summary:t}),n!==void 0){n.state.summary=t,n.block.body=formatDevRebuildStatus(t,`rebuilding`);return}let r=`dev-rebuild:${this.#Ue}`;this.#Ue+=1,this.#ze={id:r,summary:t},this.#ln({kind:`log`,id:r,title:`stdout`,body:formatDevRebuildStatus(t,`rebuilding`),live:!0});return}let r=n?.state.summary??this.#Be?.summary;if(r!==void 0&&this.#or({phase:`complete`,summary:r}),n!==void 0){n.block.body=formatDevRebuildStatus(n.state.summary,e.kind),e.kind===`rebuilt`&&(this.#Re=void 0);return}e.kind===`rebuilt`&&(this.#Re=void 0),this.#ln({kind:`log`,title:`stdout`,body:t,live:!0})}#or(e){this.#He!==void 0&&clearTimeout(this.#He),this.#Be=e,this.#Ve=e.phase===`complete`,this.#He=setTimeout(()=>{e.phase===`building`?(this.#Ve=!0,this.#He=void 0):this.#sr(),this.#jn()},e.phase===`building`?250:4e3)}#sr(){this.#He!==void 0&&clearTimeout(this.#He),this.#Be=void 0,this.#Ve=!1,this.#He=void 0}#cr(){let e=this.#ze;if(e===void 0)return;let t=this.#g.get(e.id);if(t!==void 0&&t.live===!0)return{state:e,block:t}}#lr(){let e=this.#ze;if(e===void 0)return;this.#ze=void 0;let t=this.#g.get(e.id);t!==void 0&&(t.live=!1)}#ur(e){switch(this.#m){case`none`:return!1;case`stderr`:return e===`stderr`;case`sandbox`:return e===`sandbox`;case`all`:return!0}}#dr(e){return e.kind===`sandbox`?!this.#ur(`sandbox`):e.kind===`log`?e.logVisibility===`stderr-only`?this.#m!==`stderr`:e.logVisibility===`all-only`?this.#m!==`all`:!this.#ur(e.title===`stderr`?`stderr`:`stdout`):!1}};function chunkToString(e,t){return typeof e==`string`?e:Buffer.from(e).toString(t)}async function*iterateTUIStream(e){if(e instanceof ReadableStream){let t=e.getReader();try{for(;;){let{done:e,value:n}=await t.read();if(e)return;yield n}}finally{t.releaseLock()}return}yield*e}function clip(e,t){return clipVisible(e,t)}function promptInputRows({text:e,cursor:t,width:n,theme:r,caretVisible:i,isCommand:a,ghost:o,maxRows:s,placeholder:c,inert:l}){let u=r.colors;if(e.length===0&&c!==void 0){let e=renderInputWithBlockCursor({...visibleLine({text:c,cursor:0},Math.max(1,n-3),r.glyph.ellipsis),visible:i,inverse:u.inverse,render:e=>u.dim(renderInputText(e))});return[clip(`${r.glyph.prompt} ${e}`,n),``]}let style=e=>{let t=renderInputText(e);return a&&t.length>0?u.bold(t):t},d=layoutPromptInput({text:e,cursor:t}),f=Math.min(Math.max(1,s),d.rows.length),p=Math.max(0,Math.min(d.caretRow-f+1,d.rows.length-f)),m=l===!0?u.dim(r.glyph.prompt):u.cyan(r.glyph.prompt),h=u.dim(r.glyph.ellipsis),g=Math.max(1,n-3),_=[];for(let e=p;e<p+f;e+=1){let t=d.rows[e],a=e===0?m:` `;(e===p&&p>0||e===p+f-1&&p+f<d.rows.length)&&(a=h);let s;if(e===d.caretRow){let{before:e,under:n,after:a}=visibleLine({text:t.text,cursor:d.caretOffset},g,r.glyph.ellipsis);s=renderInputWithBlockCursor({before:e,under:n,after:a,visible:i,inverse:u.inverse,render:style}),o.length>0&&d.rows.length===1&&(s+=o)}else s=style(t.text);_.push(clip(`${a} ${s}`,n))}return _.push(``),_}function previousBlockOf(e){let t={kind:e.kind};return e.title!==void 0&&(t.title=e.title),t}function isActiveToolStatus(e){return e===`running`||e===`approval`}function applyCohortLiveness(e){let t=e.some(e=>e.active);for(let n of e)n.block.live=t||n.active}function leadsWithGap(e,t){if(e.kind===`tool`&&(t?.kind===`user`||t?.kind===`assistant`||t?.kind===`question`))return!0;if(e.kind===`sandbox`&&t?.kind===`sandbox`)return!1;if(t?.kind===`sandbox`&&e.kind!==`sandbox`||t?.kind===`log`)return!0;switch(e.kind){case`user`:case`assistant`:case`reasoning`:case`subagent`:case`error`:case`notice`:case`question`:case`connection-auth`:case`sandbox`:case`log`:case`command`:case`warning`:case`flow`:case`turn-stats`:case`session-boundary`:case`agent-header`:return!0;default:return!1}}function parseSandboxLogLine(e){let t=e.trim();if(!t.startsWith(`eve: `))return;let n=t.slice(5);return/\bsandbox\b/i.test(n)&&!isLowValueSandboxLogLine(n)?n:void 0}function isLowValueSandboxLogLine(e){return/^initializing (?:\d+ )?sandbox templates?\b/i.test(e)||/^initialized \d+ sandbox\b/i.test(e)||/^reused cached sandbox template\b/i.test(e)||/^sandbox template "[^"]+" \([^)]+\): (checking|reusing|loading microsandbox runtime|microsandbox runtime ready)\b/i.test(e)}function clipLiveRows(e,t,n,r){if(e.length<=t)return[...e];if(t<=1)return[clip(hiddenRowsMarker(e.length,r),n)];let i=t-1;return[clip(hiddenRowsMarker(e.length-i,r),n),...e.slice(e.length-i)]}function hiddenRowsMarker(e,t){let n=e.toLocaleString(),r=e===1?`row`:`rows`;return t.colors.dim(`${t.glyph.dot} ${t.glyph.ellipsis} ${n} earlier ${r} hidden while streaming`)}function collapseReasoning(e,t){switch(e){case`collapsed`:return!0;case`auto-collapsed`:return!t;default:return!1}}function renderNativeToolBlock(e,t,n,r){let i=e.preparing===!0?presentPreparingTool(e.toolName,r):presentTool(e.toolName,e.input,r),a={id:t,kind:`tool`,title:stripTerminalControls(i.title),subtitle:stripTerminalControls(i.subtitle),status:e.status,live:e.status===`running`||e.status===`approval`,expanded:n,toolInput:e.input,toolName:e.toolName,toolGroup:i.group};return i.doneTitle!==void 0&&(a.doneTitle=stripTerminalControls(i.doneTitle)),i.detail!==void 0&&(a.detailLines=i.detail,a.keepDetailWhenDone=i.keepDetailWhenDone===!0),e.output===void 0?e.errorText!==void 0&&(a.result=stripTerminalControls(e.errorText)):(a.result=i.summarizeResult(e.output),a.toolOutput=e.output),a}function writeExistedFlag(e){if(typeof e!=`object`||!e||Array.isArray(e))return;let t=e.existed;return typeof t==`boolean`?t:void 0}function subagentToolStatus(e){switch(e){case`preparing`:return`running`;case`approval-requested`:return`approval`;case`executing`:return`running`;case`done`:return`done`;case`failed`:return`error`;case`rejected`:return`denied`}}function formatToolApprovalTitle(e){return stripTerminalControls(e.title??e.toolName)}function toolSectionId(e){return`tool:${e}`}function questionSectionId(e){return`question:${e}`}function subagentHeaderId(e){return`subagent:${e}:header`}function subagentStepSectionId(e,t){return`subagent:${e}:step:${t}`}function subagentToolSectionId(e,t){return`subagent:${e}:tool:${t}`}function connectionAuthSectionId(e){return`connection-auth:${e}`}function connectionAuthTerminalMessage(e){switch(e){case`authorized`:return`Authorization complete`;case`declined`:return`Authorization declined`;case`failed`:return`Authorization failed`;case`timed-out`:return`Authorization timed out`;case`required`:case`pending`:return}}function formatConnectionAuthContent(e,t){let n=[];if(t!==void 0)n.push(t);else{let t=stripTerminalControls(e.description);t.length>0&&n.push(t);let r=e.challenge;r?.url&&n.push(`URL: ${stripTerminalControls(r.url)}`),r?.userCode&&n.push(`Code: ${stripTerminalControls(r.userCode)}`),r?.expiresAt&&n.push(`Expires: ${stripTerminalControls(r.expiresAt)}`),r?.instructions&&n.push(stripTerminalControls(r.instructions))}if(e.reason!==void 0){let t=stripTerminalControls(e.reason);t.length>0&&n.push(`Reason: ${t}`)}return n.join(`
14
12
  `)}function formatQuestionContent(e,t,n){let r=n.colors,i=[],a=e.options??[];if(a.length>0){for(let[e,o]of a.entries()){let a=stripTerminalControls(o.label),s=o.description===void 0?``:stripTerminalControls(o.description),c=t===e,l=s.length>0?`${c?` `:` `}${r.dim(`— ${s}`)}`:``,u=c?`${n.glyph.selectedPointer} ${a}`:` ${a}`,d=renderCursorRow(u,c,r);i.push(`${d}${l}`)}if(e.allowFreeform===!0){let e=t===a.length,o=`Type your own answer`,s=e?`${n.glyph.selectedPointer} ${o}`:` ${r.dim(o)}`;i.push(renderCursorRow(s,e,r))}}else i.push(r.dim(` (type your answer)`));return i.join(`
15
13
  `)}function resolveQuestionText(e,t){let n=e.trim();if(n.length===0)return;let r=n.toLowerCase(),i=t.options??[];if(i.length>0){let e=matchQuestionOption(r,i);if(e!==void 0)return{optionId:e.id,label:e.label}}if(t.allowFreeform===!0||i.length===0)return{text:n,label:n}}function matchQuestionOption(e,t){let n=t.find(t=>t.id.toLowerCase()===e);if(n!==void 0)return n;let r=t.find(t=>t.label.toLowerCase()===e);if(r!==void 0)return r;let i=Number(e);if(Number.isInteger(i)&&i>0&&i<=t.length)return t[i-1]}export{TerminalRenderer};
@@ -1 +1 @@
1
- function createFakeSetupFlowRenderer(e={}){let{readProviderPicker=async()=>void 0,readModelPicker=async()=>void 0,...t}=e;return{begin:()=>{},end:()=>{},readSelect:async()=>void 0,readEditableSelect:async()=>void 0,readProviderPicker,readModelPicker,readText:async()=>void 0,readAcknowledge:async()=>{},readChoice:()=>({choice:Promise.resolve(void 0),close:()=>{}}),setStatus:()=>{},renderLine:()=>{},renderOutput:()=>{},withInheritedStdio:e=>e(),waitForInterrupt:()=>({promise:new Promise(()=>{}),dispose:()=>{}}),...t}}export{createFakeSetupFlowRenderer};
1
+ function createFakeSetupFlowRenderer(e={}){let{readProviderPicker=async()=>void 0,...t}=e;return{begin:()=>{},end:()=>{},readSelect:async()=>void 0,readEditableSelect:async()=>void 0,readProviderPicker,readText:async()=>void 0,readAcknowledge:async()=>{},readChoice:()=>({choice:Promise.resolve(void 0),close:()=>{}}),setStatus:()=>{},renderLine:()=>{},renderOutput:()=>{},withInheritedStdio:e=>e(),waitForInterrupt:()=>({promise:new Promise(()=>{}),dispose:()=>{}}),...t}}export{createFakeSetupFlowRenderer};
@@ -50,7 +50,7 @@ export interface ThemeGlyphs {
50
50
  cornerOpen: string;
51
51
  /** `⌝` — marks a provider endpoint authored in the agent's own code. */
52
52
  external: string;
53
- /** `⏺` — the in-progress todo item (pulses while the turn runs). */
53
+ /** `⏺` — an active in-progress state, such as a cancelling turn. */
54
54
  dotActive: string;
55
55
  /** `✓` — a completed tool or success state. */
56
56
  success: string;
@@ -57,10 +57,10 @@ export declare function presentTool(toolName: string, input: unknown, context?:
57
57
  */
58
58
  export declare function presentPreparingTool(toolName: string, context?: ToolPresentationContext): ToolPresentation;
59
59
  /**
60
- * Tools whose whole story renders through a dedicated surface — the pinned
61
- * todo panel, the question overlay — instead of a transcript tool block.
62
- * Both the preparing announcement and the full call must agree on this
63
- * set, or a panel-routed tool ghosts as a preparing block.
60
+ * Tools whose whole story renders through a dedicated surface — the question
61
+ * overlay — instead of a transcript tool block. Both the preparing
62
+ * announcement and the full call must agree on this set, or a panel-routed
63
+ * tool ghosts as a preparing block.
64
64
  */
65
65
  export declare function isPanelRoutedTool(toolName: string): boolean;
66
66
  /** The tool's short name with any connection/server namespace stripped. */
@@ -1 +1 @@
1
- import{summarizeToolArgs,summarizeToolResult}from"./tool-format.js";import{diffWriteDetail}from"./line-diff.js";import{stripTerminalControls}from"#cli/ui/terminal-text.js";const WRITE_FILE_VERB=`Write`,DELEGATE_VERB=`Delegate`,FINAL_OUTPUT_TITLE=`Return final output`,BUILTIN_TOOL_COPY={agent:{verb:`Delegate`,pastVerb:`Delegated`,argKey:`message`,singularNoun:`task`,pluralNoun:`tasks`},ask_question:{verb:`Ask`,pastVerb:`Asked`,argKey:`prompt`,singularNoun:`question`,pluralNoun:`questions`},bash:{verb:`Run`,pastVerb:`Ran`,argKey:`command`,singularNoun:`command`,pluralNoun:`commands`},connection_search:{verb:`Discover`,pastVerb:`Discovered`,argKey:`keywords`,singularNoun:`tool search`,pluralNoun:`tool searches`},glob:{verb:`Glob`,pastVerb:`Globbed`,argKey:`pattern`,singularNoun:`pattern`,pluralNoun:`patterns`},grep:{verb:`Grep`,pastVerb:`Grepped`,argKey:`pattern`,singularNoun:`pattern`,pluralNoun:`patterns`},load_skill:{verb:`Load`,pastVerb:`Loaded`,argKey:`skill`,singularNoun:`skill`,pluralNoun:`skills`},read_file:{verb:`Read`,pastVerb:`Read`,argKey:`filePath`,singularNoun:`file`,pluralNoun:`files`},task_cancel:{verb:`Cancel`,pastVerb:`Cancelled`,argKey:`taskIds`,extractItem:taskIdsArg,singularNoun:`task`,pluralNoun:`tasks`},web_fetch:{verb:`Fetch`,pastVerb:`Fetched`,argKey:`url`,singularNoun:`URL`,pluralNoun:`URLs`},web_search:{verb:`Search`,pastVerb:`Searched`,argKey:`query`,extractItem:e=>salientArg(e,`objective`)??salientArg(e,`search_query`)??salientArg(e,`searchQuery`)??webSearchActionArg(e),singularNoun:`query`,pluralNoun:`queries`}};function presentWriteFileTool(e,t,n){let r=readWriteFileInput(e,t);if(r===void 0)return{title:e,subtitle:summarizeToolArgs(t),summarizeResult:summarizeToolResult};let i=diffWriteDetail(n?.previousContent,r.content,n?.existed).map(e=>e.kind===`gap`?e:{...e,text:stripTerminalControls(e.text)});return{title:`${WRITE_FILE_VERB} ${salientLine(r.path)??r.path}`,doneTitle:`Wrote ${salientLine(r.path)??r.path}`,subtitle:``,summarizeResult:()=>void 0,detail:i,keepDetailWhenDone:!0}}function readWriteFileInput(e,t){if(toolBaseName(e)!==`write_file`||typeof t!=`object`||!t||Array.isArray(t))return;let n=t,r=n.filePath,i=n.content;if(typeof r==`string`&&r.trim().length!==0&&typeof i==`string`)return{path:r,content:i}}function presentTool(e,t,n){let r=toolBaseName(e);if(r===`todo`)return presentTodoTool(t);if(r===`write_file`)return presentWriteFileTool(e,t,n);if(n?.isSubagent===!0)return{title:`${DELEGATE_VERB} ${r}`,doneTitle:`Delegated ${r}`,subtitle:salientArg(t,`message`)??``,summarizeResult:()=>void 0};if(r===`final_output`)return{title:FINAL_OUTPUT_TITLE,subtitle:``,summarizeResult:()=>void 0};let i=BUILTIN_TOOL_COPY[r];if(i!==void 0){let e=salientArg(t,i.argKey)??i.extractItem?.(t);if(e!==void 0)return{title:`${i.verb} ${e}`,doneTitle:`${i.pastVerb} ${e}`,subtitle:``,summarizeResult:()=>void 0,group:{verb:i.verb,pastVerb:i.pastVerb,singularNoun:i.singularNoun,pluralNoun:i.pluralNoun,item:e}}}return{title:e,subtitle:summarizeToolArgs(t),summarizeResult:summarizeToolResult}}function presentPreparingTool(e,t){let n=toolBaseName(e);if(n===`final_output`)return{title:FINAL_OUTPUT_TITLE,subtitle:``,summarizeResult:()=>void 0};if(t?.isSubagent===!0)return{title:`${DELEGATE_VERB} ${n} …`,subtitle:``,summarizeResult:()=>void 0};let r=n===`write_file`?WRITE_FILE_VERB:BUILTIN_TOOL_COPY[n]?.verb;return{title:r===void 0?e:`${r} …`,subtitle:r===void 0?`preparing…`:``,summarizeResult:()=>void 0}}function isPanelRoutedTool(e){let t=toolBaseName(e);return t===`todo`||t===`ask_question`}function toolBaseName(e){return e.split(/[.:/]/u).at(-1)??e}function presentTodoTool(e){let t=typeof e==`object`&&e&&!Array.isArray(e)?e.todos:void 0;return Array.isArray(t)?{title:`Update todo list`,subtitle:`${t.length} task${t.length===1?``:`s`}`,summarizeResult:()=>void 0}:{title:`Read todo list`,subtitle:``,summarizeResult:()=>void 0}}function webSearchActionArg(e){if(typeof e!=`object`||!e||Array.isArray(e))return;let t=e.action;if(typeof t!=`object`||!t||Array.isArray(t))return;let n=t,r=n.queries;if(Array.isArray(r)){let e=r.filter(e=>typeof e==`string`).map(salientLine).filter(e=>e!==void 0).join(`, `);if(e.length>0)return e}for(let e of[`query`,`url`,`pattern`]){let t=n[e];if(typeof t==`string`){let e=salientLine(t);if(e!==void 0)return e}}}function taskIdsArg(e){if(typeof e!=`object`||!e||Array.isArray(e))return;let t=e.taskIds;if(!Array.isArray(t))return;let n=t.filter(e=>typeof e==`string`);if(n.length!==0)return salientLine(n.join(`, `))}function salientArg(e,t){if(typeof e!=`object`||!e||Array.isArray(e))return;let n=e[t];if(typeof n==`string`)return salientLine(n)}function salientLine(e){let t=stripTerminalControls(e).split(/\r?\n/u).find(e=>e.trim().length>0)?.trim()??``;return t.length>0?t:void 0}export{isPanelRoutedTool,presentPreparingTool,presentTool,readWriteFileInput,toolBaseName};
1
+ import{summarizeToolArgs,summarizeToolResult}from"./tool-format.js";import{diffWriteDetail}from"./line-diff.js";import{stripTerminalControls}from"#cli/ui/terminal-text.js";const WRITE_FILE_VERB=`Write`,DELEGATE_VERB=`Delegate`,FINAL_OUTPUT_TITLE=`Return final output`,BUILTIN_TOOL_COPY={agent:{verb:`Delegate`,pastVerb:`Delegated`,argKey:`message`,singularNoun:`task`,pluralNoun:`tasks`},ask_question:{verb:`Ask`,pastVerb:`Asked`,argKey:`question`,singularNoun:`question`,pluralNoun:`questions`},bash:{verb:`Run`,pastVerb:`Ran`,argKey:`command`,singularNoun:`command`,pluralNoun:`commands`},connection_search:{verb:`Discover`,pastVerb:`Discovered`,argKey:`keywords`,singularNoun:`tool search`,pluralNoun:`tool searches`},glob:{verb:`Glob`,pastVerb:`Globbed`,argKey:`pattern`,singularNoun:`pattern`,pluralNoun:`patterns`},grep:{verb:`Grep`,pastVerb:`Grepped`,argKey:`pattern`,singularNoun:`pattern`,pluralNoun:`patterns`},load_skill:{verb:`Load`,pastVerb:`Loaded`,argKey:`skill`,singularNoun:`skill`,pluralNoun:`skills`},read_file:{verb:`Read`,pastVerb:`Read`,argKey:`filePath`,singularNoun:`file`,pluralNoun:`files`},task_cancel:{verb:`Cancel`,pastVerb:`Cancelled`,argKey:`taskIds`,extractItem:taskIdsArg,singularNoun:`task`,pluralNoun:`tasks`},web_fetch:{verb:`Fetch`,pastVerb:`Fetched`,argKey:`url`,singularNoun:`URL`,pluralNoun:`URLs`},web_search:{verb:`Search`,pastVerb:`Searched`,argKey:`query`,extractItem:e=>salientArg(e,`objective`)??salientArg(e,`search_query`)??salientArg(e,`searchQuery`)??webSearchActionArg(e),singularNoun:`query`,pluralNoun:`queries`}};function presentWriteFileTool(e,t,n){let r=readWriteFileInput(e,t);if(r===void 0)return{title:e,subtitle:summarizeToolArgs(t),summarizeResult:summarizeToolResult};let i=diffWriteDetail(n?.previousContent,r.content,n?.existed).map(e=>e.kind===`gap`?e:{...e,text:stripTerminalControls(e.text)});return{title:`${WRITE_FILE_VERB} ${salientLine(r.path)??r.path}`,doneTitle:`Wrote ${salientLine(r.path)??r.path}`,subtitle:``,summarizeResult:()=>void 0,detail:i,keepDetailWhenDone:!0}}function readWriteFileInput(e,t){if(toolBaseName(e)!==`write_file`||typeof t!=`object`||!t||Array.isArray(t))return;let n=t,r=n.filePath,i=n.content;if(typeof r==`string`&&r.trim().length!==0&&typeof i==`string`)return{path:r,content:i}}function presentTool(e,t,n){let r=toolBaseName(e);if(r===`write_file`)return presentWriteFileTool(e,t,n);if(n?.isSubagent===!0)return{title:`${DELEGATE_VERB} ${r}`,doneTitle:`Delegated ${r}`,subtitle:salientArg(t,`message`)??``,summarizeResult:()=>void 0};if(r===`final_output`)return{title:FINAL_OUTPUT_TITLE,subtitle:``,summarizeResult:()=>void 0};let i=BUILTIN_TOOL_COPY[r];if(i!==void 0){let e=salientArg(t,i.argKey)??i.extractItem?.(t);if(e!==void 0)return{title:`${i.verb} ${e}`,doneTitle:`${i.pastVerb} ${e}`,subtitle:``,summarizeResult:()=>void 0,group:{verb:i.verb,pastVerb:i.pastVerb,singularNoun:i.singularNoun,pluralNoun:i.pluralNoun,item:e}}}return{title:e,subtitle:summarizeToolArgs(t),summarizeResult:summarizeToolResult}}function presentPreparingTool(e,t){let n=toolBaseName(e);if(n===`final_output`)return{title:FINAL_OUTPUT_TITLE,subtitle:``,summarizeResult:()=>void 0};if(t?.isSubagent===!0)return{title:`${DELEGATE_VERB} ${n} …`,subtitle:``,summarizeResult:()=>void 0};let r=n===`write_file`?WRITE_FILE_VERB:BUILTIN_TOOL_COPY[n]?.verb;return{title:r===void 0?e:`${r} …`,subtitle:r===void 0?`preparing…`:``,summarizeResult:()=>void 0}}function isPanelRoutedTool(e){return toolBaseName(e)===`ask_question`}function toolBaseName(e){return e.split(/[.:/]/u).at(-1)??e}function webSearchActionArg(e){if(typeof e!=`object`||!e||Array.isArray(e))return;let t=e.action;if(typeof t!=`object`||!t||Array.isArray(t))return;let n=t,r=n.queries;if(Array.isArray(r)){let e=r.filter(e=>typeof e==`string`).map(salientLine).filter(e=>e!==void 0).join(`, `);if(e.length>0)return e}for(let e of[`query`,`url`,`pattern`]){let t=n[e];if(typeof t==`string`){let e=salientLine(t);if(e!==void 0)return e}}}function taskIdsArg(e){if(typeof e!=`object`||!e||Array.isArray(e))return;let t=e.taskIds;if(!Array.isArray(t))return;let n=t.filter(e=>typeof e==`string`);if(n.length!==0)return salientLine(n.join(`, `))}function salientArg(e,t){if(typeof e!=`object`||!e||Array.isArray(e))return;let n=e[t];if(typeof n==`string`)return salientLine(n)}function salientLine(e){let t=stripTerminalControls(e).split(/\r?\n/u).find(e=>e.trim().length>0)?.trim()??``;return t.length>0?t:void 0}export{isPanelRoutedTool,presentPreparingTool,presentTool,readWriteFileInput,toolBaseName};
@@ -1 +1 @@
1
- import{remoteHost}from"./target.js";import{createDevDiagnostics}from"../diagnostics.js";import{promptCommandsFor}from"./prompt-commands.js";import{probeMcpConnection}from"./mcp-connection-status.js";import{createPromptCommandHandler}from"./prompt-command-handler.js";import{formatRemoteAuthChallengeMessage}from"./remote-auth-result.js";import{TerminalRenderer}from"./terminal-renderer.js";import{EveTUIRunner}from"./runner.js";import{Client}from"#client/index.js";import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{toErrorMessage}from"#shared/errors.js";import{resolveDevelopmentOidcToken,resolveLinkedDevelopmentOidcToken}from"#services/dev-client/request-headers.js";import{isVercelAuthChallenge}from"#services/dev-client/vercel-auth-error.js";import{resolveVercelDeployment}from"#setup/vercel-deployment.js";import{appendUserAgentProduct}from"#internal/user-agent.js";import{resolveLocalDevelopmentClientOptions,resolveRemoteDevelopmentClientOptions}from"#services/dev-client/client-options.js";import{createDevelopmentCredentialGate}from"#services/dev-client/credential-gate.js";async function startDevelopmentTuiStartup(e){let t=await createDevDiagnostics(e.appRoot).catch(()=>void 0),n=new TerminalRenderer({...e,diagnostics:t,onExitRequest:e.onExitRequest});return n.beginStartupDraft({initialDraft:e.initialInput,title:e.name??`eve`}),{diagnostics:t,renderer:n,finish:()=>n.finishStartupDraft(),async shutdown(){n.shutdown(),await t?.close()}}}function prepareRemoteTarget(e){return{target:e,credentials:createDevelopmentCredentialGate(e.serverUrl),resolveOidcToken:resolveDevelopmentOidcToken,resolveDeployment:t=>resolveVercelDeployment({workspaceRoot:e.workspaceRoot,host:remoteHost(e),signal:t})}}function prepareDevelopmentTarget(e){return e.kind===`local`?{kind:`local`,target:e}:{kind:`remote`,target:e,remote:prepareRemoteTarget(e)}}function withTuiUserAgent(e){let t=new Headers(e);return appendUserAgentProduct(t,`eve-tui/${resolveInstalledPackageInfo().version}`),Object.fromEntries(t.entries())}async function runDevelopmentTui(e){let{target:t,headers:n,initialInput:r,onboard:i,onOnboardingStep:a,onOnboardingTerminal:o,onBootProgress:s,lifecycle:c,startup:l,withExclusiveTerminal:u,...d}=e,f=prepareDevelopmentTarget(t),{serverUrl:p}=t,m={headers:withTuiUserAgent(n)},h=new Client(f.kind===`local`?resolveLocalDevelopmentClientOptions({...m,interactiveClient:!0,serverUrl:p,token:()=>resolveLinkedDevelopmentOidcToken(f.target.workspaceRoot)}):resolveRemoteDevelopmentClientOptions({...m,serverUrl:p,credentials:f.remote.credentials})),g={...d,client:h,serverUrl:p,promptCommandHandler:createPromptCommandHandler({target:t}),availablePromptCommands:promptCommandsFor(t.kind),formatTransportError:e=>isVercelAuthChallenge(e)?formatRemoteAuthChallengeMessage(p):toErrorMessage(e)};f.kind===`local`?(g.appRoot=f.target.workspaceRoot,g.probeMcpConnection=probeMcpConnection):g.remote=f.remote,r!==void 0&&(g.initialInput=r),l!==void 0&&(g.renderer=l.renderer,g.startup=l),i!==void 0&&(g.onboard=i),a!==void 0&&(g.onOnboardingStep=a),o!==void 0&&(g.onOnboardingTerminal=o),s!==void 0&&(g.onBootProgress=s),c!==void 0&&(g.lifecycle=c),u!==void 0&&(g.withExclusiveTerminal=u);let _=l?.diagnostics??(f.kind===`local`?await createDevDiagnostics(f.target.workspaceRoot).catch(()=>void 0):void 0);_!==void 0&&(g.diagnostics=_);try{await new EveTUIRunner(g).run()}finally{await _?.close()}}export{runDevelopmentTui,startDevelopmentTuiStartup};
1
+ import{remoteHost}from"./target.js";import{createDevDiagnostics}from"../diagnostics.js";import{promptCommandsFor}from"./prompt-commands.js";import{probeMcpConnection}from"./mcp-connection-status.js";import{createPromptCommandHandler}from"./prompt-command-handler.js";import{formatRemoteAuthChallengeMessage}from"./remote-auth-result.js";import{TerminalRenderer}from"./terminal-renderer.js";import{EveTUIRunner}from"./runner.js";import{Client}from"#client/index.js";import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{toErrorMessage}from"#shared/errors.js";import{resolveDevelopmentOidcToken,resolveLinkedDevelopmentOidcToken}from"#services/dev-client/request-headers.js";import{isVercelAuthChallenge}from"#services/dev-client/vercel-auth-error.js";import{resolveVercelDeployment}from"#setup/vercel-deployment.js";import{appendUserAgentProduct}from"#internal/user-agent.js";import{resolveLocalDevelopmentClientOptions,resolveRemoteDevelopmentClientOptions}from"#services/dev-client/client-options.js";import{createDevelopmentCredentialGate}from"#services/dev-client/credential-gate.js";function inlineArgumentSuggestions(e){return async t=>{if(t===`model`){let{gatewayModelCapabilities:e}=await import(`#setup/boxes/model-capabilities.js`),{fetchGatewayCatalog:t,modelOptionsFromCatalog:n}=await import(`#setup/boxes/select-model.js`),r=await t().catch(()=>void 0);return n(r).map(t=>{let n=e(r,t.value)?.reasoningLevels;return{value:t.value,label:t.value,hint:t.hint,...n===void 0||n.length===0?{}:{next:[{value:`default`,label:`default`},...n.map(e=>({value:e,label:e}))]}}})}let{browseRegistryCatalog:n}=await import(`#cli/commands/registry.js`);return(await n(e)).items.map(e=>({value:e.address,label:e.name,hint:e.description??e.address}))}}async function startDevelopmentTuiStartup(e){let t=await createDevDiagnostics(e.appRoot).catch(()=>void 0),n=new TerminalRenderer({...e,diagnostics:t,argumentSuggestions:inlineArgumentSuggestions(e.appRoot),onExitRequest:e.onExitRequest});return n.beginStartupDraft({initialDraft:e.initialInput,title:e.name??`eve`}),{diagnostics:t,renderer:n,finish:()=>n.finishStartupDraft(),async shutdown(){n.shutdown(),await t?.close()}}}function prepareRemoteTarget(e){return{target:e,credentials:createDevelopmentCredentialGate(e.serverUrl),resolveOidcToken:resolveDevelopmentOidcToken,resolveDeployment:t=>resolveVercelDeployment({workspaceRoot:e.workspaceRoot,host:remoteHost(e),signal:t})}}function prepareDevelopmentTarget(e){return e.kind===`local`?{kind:`local`,target:e}:{kind:`remote`,target:e,remote:prepareRemoteTarget(e)}}function withTuiUserAgent(e){let t=new Headers(e);return appendUserAgentProduct(t,`eve-tui/${resolveInstalledPackageInfo().version}`),Object.fromEntries(t.entries())}async function runDevelopmentTui(e){let{target:t,headers:n,initialInput:r,onboard:i,onOnboardingStep:a,onOnboardingTerminal:o,onBootProgress:s,lifecycle:c,startup:l,withExclusiveTerminal:u,...d}=e,f=prepareDevelopmentTarget(t),{serverUrl:p}=t,m={headers:withTuiUserAgent(n)},h=new Client(f.kind===`local`?resolveLocalDevelopmentClientOptions({...m,interactiveClient:!0,serverUrl:p,token:()=>resolveLinkedDevelopmentOidcToken(f.target.workspaceRoot)}):resolveRemoteDevelopmentClientOptions({...m,serverUrl:p,credentials:f.remote.credentials})),g={...d,client:h,serverUrl:p,promptCommandHandler:createPromptCommandHandler({target:t}),availablePromptCommands:promptCommandsFor(t.kind),...t.kind===`local`?{argumentSuggestions:inlineArgumentSuggestions(t.workspaceRoot)}:{},formatTransportError:e=>isVercelAuthChallenge(e)?formatRemoteAuthChallengeMessage(p):toErrorMessage(e)};f.kind===`local`?(g.appRoot=f.target.workspaceRoot,g.probeMcpConnection=probeMcpConnection):g.remote=f.remote,r!==void 0&&(g.initialInput=r),l!==void 0&&(g.renderer=l.renderer,g.startup=l),i!==void 0&&(g.onboard=i),a!==void 0&&(g.onOnboardingStep=a),o!==void 0&&(g.onOnboardingTerminal=o),s!==void 0&&(g.onBootProgress=s),c!==void 0&&(g.lifecycle=c),u!==void 0&&(g.withExclusiveTerminal=u);let _=l?.diagnostics??(f.kind===`local`?await createDevDiagnostics(f.target.workspaceRoot).catch(()=>void 0):void 0);_!==void 0&&(g.diagnostics=_);try{await new EveTUIRunner(g).run()}finally{await _?.close()}}export{runDevelopmentTui,startDevelopmentTuiStartup};
@@ -1,4 +1,4 @@
1
- import type { UpdateProjectCustomAllow, UpdateProjectTrustedSources } from "@vercel/sdk/models/updateprojectblock.js";
1
+ import type { UpdateProjectCustomAllow, UpdateProjectTrustedSources } from "#compiled/@vercel/sdk/index.js";
2
2
  export type TrustedSourceEnvironmentRule = UpdateProjectCustomAllow;
3
3
  export interface TrustedSourceProject {
4
4
  readonly projectId: string;
@@ -1 +1 @@
1
- import{trustedSourcesToJSON}from"../../../node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/updateprojectprojectsbranchmatcher.js";import{updateProjectTrustedSourcesFromJSON}from"../../../node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/updateprojectblock.js";import{array,object,string,unknown}from"../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/schemas.js";import"../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/index.js";import{planTrustedSourceAccess}from"./vercel-trusted-sources-policy.js";import{captureVercel}from"#setup/primitives/index.js";import{normalizeVercelApiResult}from"#setup/vercel-api-failure.js";const ProjectSchema=object({id:string().min(1),name:string().min(1),customEnvironments:array(object({slug:string().min(1)})).optional(),trustedSources:unknown().nullable().optional()});function parseJson(e){try{return JSON.parse(e)}catch{return}}function parseTrustedSources(e){let t=JSON.stringify(e);if(t===void 0)return;let n=updateProjectTrustedSourcesFromJSON(t);return n.ok?n.value:void 0}function parseProject(e){let t=ProjectSchema.safeParse(parseJson(e));if(!t.success)return;let{trustedSources:n,...r}=t.data;if(n==null)return r;let i=parseTrustedSources(n);return i===void 0?void 0:{...r,trustedSources:i}}const ProjectUpdateSchema=object({id:string().min(1)}),defaultDeps={captureVercel};function environmentLabel(e){switch(e){case`development`:return`Development`;case`preview`:return`Preview`;case`production`:return`Production`;default:return e}}function projectPolicyContext(e){return{projectId:e.id,customEnvironmentSlugs:e.customEnvironments?.map(({slug:e})=>e)??[]}}async function readProject(e){let t=await e.deps.captureVercel([`api`,`/v9/projects/${encodeURIComponent(e.projectId)}`,`--scope`,e.ownerId,`--raw`],{cwd:e.workspaceRoot,nonInteractive:!0,signal:e.signal});if(!t.ok)return{kind:`failed`,message:t.failure.message};let n=parseProject(t.stdout);return n===void 0||n.id!==e.projectId?{kind:`failed`,message:`Vercel returned an invalid project response.`}:{kind:`project`,project:n}}async function prepareVercelTrustedSourceAccess(e){let t={...defaultDeps,...e.deps},n=e.target.deployment,r=await readProject({deps:t,workspaceRoot:e.workspaceRoot,ownerId:n.ownerId,projectId:n.projectId,signal:e.signal});if(r.kind===`failed`)return{kind:`failed`,message:`Could not read Deployment Protection for ${n.projectName}: ${r.message}`};let{project:i}=r;if(planTrustedSourceAccess({project:projectPolicyContext(i),targetEnvironment:n.environment,trustedSources:i.trustedSources??void 0}).kind===`unchanged`)return{kind:`unchanged`};let a=environmentLabel(`development`),o=environmentLabel(n.environment);return await e.prompter.select({message:`Allow ${a} from ${i.name} to access ${o} deployments of ${i.name}?`,hintLayout:`stacked`,notices:[{tone:`warning`,text:`This changes Deployment Protection for ${i.name} until the Trusted Sources rule is removed.`}],options:[{value:`continue`,label:`Allow access`,hint:`Add ${a} → ${o} to Trusted Sources`},{value:`cancel`,label:`Cancel`,hint:`Leave Deployment Protection unchanged`}]})===`cancel`?{kind:`cancelled`}:{kind:`approved`,grant:{ownerId:n.ownerId,projectId:i.id,projectName:i.name,targetEnvironment:n.environment}}}async function applyVercelTrustedSourceAccess(e){let t={...defaultDeps,...e.deps},n=await readProject({deps:t,workspaceRoot:e.workspaceRoot,ownerId:e.grant.ownerId,projectId:e.grant.projectId,signal:e.signal});if(n.kind===`failed`)return{kind:`failed`,message:`Could not refresh Deployment Protection for ${e.grant.projectName}: ${n.message}`};let{project:r}=n,i=planTrustedSourceAccess({project:projectPolicyContext(r),targetEnvironment:e.grant.targetEnvironment,trustedSources:r.trustedSources??void 0});if(i.kind===`unchanged`)return{kind:`unchanged`};let a=normalizeVercelApiResult(await t.captureVercel([`api`,`/v9/projects/${encodeURIComponent(r.id)}`,`--scope`,e.grant.ownerId,`--method`,`PATCH`,`--field`,`trustedSources=${trustedSourcesToJSON(i.trustedSources)}`,`--raw`],{cwd:e.workspaceRoot,nonInteractive:!0,signal:e.signal}));if(!a.ok)return{kind:`failed`,message:`Could not update Trusted Sources for ${r.name}: ${a.failure.message}`};let o=ProjectUpdateSchema.safeParse(parseJson(a.stdout));return(o.success?o.data:void 0)?.id===r.id?{kind:`updated`,targetProjectName:r.name}:{kind:`failed`,message:`Vercel returned an invalid project response.`}}export{applyVercelTrustedSourceAccess,prepareVercelTrustedSourceAccess};
1
+ import{planTrustedSourceAccess}from"./vercel-trusted-sources-policy.js";import{z}from"#compiled/zod/index.js";import{captureVercel}from"#setup/primitives/index.js";import{trustedSourcesToJSON,updateProjectTrustedSourcesFromJSON}from"#compiled/@vercel/sdk/index.js";import{normalizeVercelApiResult}from"#setup/vercel-api-failure.js";const ProjectSchema=z.object({id:z.string().min(1),name:z.string().min(1),customEnvironments:z.array(z.object({slug:z.string().min(1)})).optional(),trustedSources:z.unknown().nullable().optional()});function parseJson(e){try{return JSON.parse(e)}catch{return}}function parseTrustedSources(e){let t=JSON.stringify(e);if(t===void 0)return;let n=updateProjectTrustedSourcesFromJSON(t);return n.ok?n.value:void 0}function parseProject(e){let t=ProjectSchema.safeParse(parseJson(e));if(!t.success)return;let{trustedSources:n,...r}=t.data;if(n==null)return r;let i=parseTrustedSources(n);return i===void 0?void 0:{...r,trustedSources:i}}const ProjectUpdateSchema=z.object({id:z.string().min(1)}),defaultDeps={captureVercel};function environmentLabel(e){switch(e){case`development`:return`Development`;case`preview`:return`Preview`;case`production`:return`Production`;default:return e}}function projectPolicyContext(e){return{projectId:e.id,customEnvironmentSlugs:e.customEnvironments?.map(({slug:e})=>e)??[]}}async function readProject(e){let t=await e.deps.captureVercel([`api`,`/v9/projects/${encodeURIComponent(e.projectId)}`,`--scope`,e.ownerId,`--raw`],{cwd:e.workspaceRoot,nonInteractive:!0,signal:e.signal});if(!t.ok)return{kind:`failed`,message:t.failure.message};let n=parseProject(t.stdout);return n===void 0||n.id!==e.projectId?{kind:`failed`,message:`Vercel returned an invalid project response.`}:{kind:`project`,project:n}}async function prepareVercelTrustedSourceAccess(e){let t={...defaultDeps,...e.deps},n=e.target.deployment,r=await readProject({deps:t,workspaceRoot:e.workspaceRoot,ownerId:n.ownerId,projectId:n.projectId,signal:e.signal});if(r.kind===`failed`)return{kind:`failed`,message:`Could not read Deployment Protection for ${n.projectName}: ${r.message}`};let{project:i}=r;if(planTrustedSourceAccess({project:projectPolicyContext(i),targetEnvironment:n.environment,trustedSources:i.trustedSources??void 0}).kind===`unchanged`)return{kind:`unchanged`};let a=environmentLabel(`development`),o=environmentLabel(n.environment);return await e.prompter.select({message:`Allow ${a} from ${i.name} to access ${o} deployments of ${i.name}?`,hintLayout:`stacked`,notices:[{tone:`warning`,text:`This changes Deployment Protection for ${i.name} until the Trusted Sources rule is removed.`}],options:[{value:`continue`,label:`Allow access`,hint:`Add ${a} → ${o} to Trusted Sources`},{value:`cancel`,label:`Cancel`,hint:`Leave Deployment Protection unchanged`}]})===`cancel`?{kind:`cancelled`}:{kind:`approved`,grant:{ownerId:n.ownerId,projectId:i.id,projectName:i.name,targetEnvironment:n.environment}}}async function applyVercelTrustedSourceAccess(e){let t={...defaultDeps,...e.deps},n=await readProject({deps:t,workspaceRoot:e.workspaceRoot,ownerId:e.grant.ownerId,projectId:e.grant.projectId,signal:e.signal});if(n.kind===`failed`)return{kind:`failed`,message:`Could not refresh Deployment Protection for ${e.grant.projectName}: ${n.message}`};let{project:r}=n,i=planTrustedSourceAccess({project:projectPolicyContext(r),targetEnvironment:e.grant.targetEnvironment,trustedSources:r.trustedSources??void 0});if(i.kind===`unchanged`)return{kind:`unchanged`};let a=normalizeVercelApiResult(await t.captureVercel([`api`,`/v9/projects/${encodeURIComponent(r.id)}`,`--scope`,e.grant.ownerId,`--method`,`PATCH`,`--field`,`trustedSources=${trustedSourcesToJSON(i.trustedSources)}`,`--raw`],{cwd:e.workspaceRoot,nonInteractive:!0,signal:e.signal}));if(!a.ok)return{kind:`failed`,message:`Could not update Trusted Sources for ${r.name}: ${a.failure.message}`};let o=ProjectUpdateSchema.safeParse(parseJson(a.stdout));return(o.success?o.data:void 0)?.id===r.id?{kind:`updated`,targetProjectName:r.name}:{kind:`failed`,message:`Vercel returned an invalid project response.`}}export{applyVercelTrustedSourceAccess,prepareVercelTrustedSourceAccess};
@@ -1,5 +1,5 @@
1
1
  import { z } from "#compiled/zod/index.js";
2
- import { type InputRequest } from "#client/index.js";
2
+ import { type InputRequest } from "#shared/input.js";
3
3
  import type { ConnectionAuthorizationChallenge } from "#connections/errors.js";
4
4
  declare const invokeResumeSchema: z.ZodObject<{
5
5
  session: z.ZodObject<{