eve 0.67.0 → 0.67.2

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 (673) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/src/channel/channel-address.d.ts +2 -2
  3. package/dist/src/channel/compiled-channel.d.ts +3 -2
  4. package/dist/src/channel/cross-channel-receive.d.ts +1 -18
  5. package/dist/src/channel/cross-channel-receive.js +1 -1
  6. package/dist/src/channel/forwarded-principal.d.ts +3 -2
  7. package/dist/src/channel/resolve-text.d.ts +2 -1
  8. package/dist/src/channel/schedule-auth.d.ts +0 -2
  9. package/dist/src/channel/schedule-auth.js +1 -1
  10. package/dist/src/channel/schedule.d.ts +2 -2
  11. package/dist/src/channel/session-callback.d.ts +2 -1
  12. package/dist/src/channel/types.d.ts +0 -7
  13. package/dist/src/chunks/{use-eve-agent-OCHP4s0z.js → use-eve-agent-D4HVZBjn.js} +1 -1
  14. package/dist/src/chunks/{use-eve-agent-DzdyI97Z.js → use-eve-agent-DXcE_8Ja.js} +1 -1
  15. package/dist/src/cli/acp/command.d.ts +2 -1
  16. package/dist/src/cli/agent-command.d.ts +2 -1
  17. package/dist/src/cli/agent-detection.d.ts +0 -1
  18. package/dist/src/cli/agent-detection.js +1 -1
  19. package/dist/src/cli/application-command.d.ts +2 -1
  20. package/dist/src/cli/application-root.d.ts +3 -8
  21. package/dist/src/cli/application-root.js +1 -1
  22. package/dist/src/cli/commands/agent-instructions.d.ts +0 -4
  23. package/dist/src/cli/commands/agent-instructions.js +3 -3
  24. package/dist/src/cli/commands/extension-init.js +1 -1
  25. package/dist/src/cli/commands/init-agent-workspace.js +1 -1
  26. package/dist/src/cli/commands/init-project.d.ts +0 -1
  27. package/dist/src/cli/commands/init-project.js +1 -1
  28. package/dist/src/cli/commands/init-target.d.ts +1 -1
  29. package/dist/src/cli/commands/init-telemetry.d.ts +2 -1
  30. package/dist/src/cli/commands/init.js +1 -1
  31. package/dist/src/cli/commands/registry-declared-setups.d.ts +2 -1
  32. package/dist/src/cli/commands/registry-install-transaction.d.ts +0 -13
  33. package/dist/src/cli/commands/registry-install-transaction.js +1 -1
  34. package/dist/src/cli/commands/registry-pnpm-build-policy-flow.d.ts +1 -1
  35. package/dist/src/cli/commands/registry-presentation.d.ts +0 -1
  36. package/dist/src/cli/commands/registry-presentation.js +1 -1
  37. package/dist/src/cli/commands/registry-project.d.ts +2 -1
  38. package/dist/src/cli/commands/registry.d.ts +0 -4
  39. package/dist/src/cli/commands/registry.js +1 -1
  40. package/dist/src/cli/commands/setup-headless.d.ts +2 -1
  41. package/dist/src/cli/commands/vercel-non-interactive.d.ts +2 -1
  42. package/dist/src/cli/dev/diagnostic-dump.d.ts +0 -2
  43. package/dist/src/cli/dev/diagnostic-dump.js +1 -1
  44. package/dist/src/cli/dev/diagnostic-sink.d.ts +3 -2
  45. package/dist/src/cli/dev/environment.js +1 -1
  46. package/dist/src/cli/dev/tui/agent-header.d.ts +2 -1
  47. package/dist/src/cli/dev/tui/argument-typeahead.d.ts +2 -1
  48. package/dist/src/cli/dev/tui/dev-rebuild-status.d.ts +2 -1
  49. package/dist/src/cli/dev/tui/diagnostic-presentation.d.ts +2 -1
  50. package/dist/src/cli/dev/tui/errors.d.ts +2 -7
  51. package/dist/src/cli/dev/tui/errors.js +1 -1
  52. package/dist/src/cli/dev/tui/flow-drawer.d.ts +2 -1
  53. package/dist/src/cli/dev/tui/line-editor.d.ts +1 -1
  54. package/dist/src/cli/dev/tui/mcp-connection-status.d.ts +2 -1
  55. package/dist/src/cli/dev/tui/message-queue.d.ts +4 -3
  56. package/dist/src/cli/dev/tui/prompt-command-handler.d.ts +2 -1
  57. package/dist/src/cli/dev/tui/provider-picker.d.ts +3 -2
  58. package/dist/src/cli/dev/tui/question-panel.d.ts +2 -1
  59. package/dist/src/cli/dev/tui/registry-result-message.d.ts +3 -4
  60. package/dist/src/cli/dev/tui/registry-result-message.js +1 -1
  61. package/dist/src/cli/dev/tui/remote-connection-probe.d.ts +3 -2
  62. package/dist/src/cli/dev/tui/runner.d.ts +0 -1
  63. package/dist/src/cli/dev/tui/runner.js +1 -1
  64. package/dist/src/cli/dev/tui/setup-panel.d.ts +2 -2
  65. package/dist/src/cli/dev/tui/setup-selection-input.d.ts +2 -2
  66. package/dist/src/cli/dev/tui/status-line.d.ts +2 -1
  67. package/dist/src/cli/dev/tui/stream-format.d.ts +3 -2
  68. package/dist/src/cli/dev/tui/terminal-renderer.d.ts +3 -2
  69. package/dist/src/cli/dev/tui/theme.d.ts +1 -1
  70. package/dist/src/cli/dev/tui/tool-block-groups.d.ts +3 -2
  71. package/dist/src/cli/dev/tui/tool-presentation.d.ts +2 -1
  72. package/dist/src/cli/dev/tui/traces/trace-content.d.ts +0 -9
  73. package/dist/src/cli/dev/tui/traces/trace-content.js +1 -1
  74. package/dist/src/cli/dev/tui/traces/trace-view.d.ts +3 -2
  75. package/dist/src/cli/dev/tui/traces/trace-viewer-session.d.ts +2 -1
  76. package/dist/src/cli/dev/tui/traces/trace-viewer-state.d.ts +2 -3
  77. package/dist/src/cli/dev/tui/traces/trace-viewer-state.js +1 -1
  78. package/dist/src/cli/dev/ui-options.d.ts +3 -2
  79. package/dist/src/cli/dev/url-target.d.ts +2 -1
  80. package/dist/src/cli/invoke/command.d.ts +0 -11
  81. package/dist/src/cli/invoke/command.js +1 -1
  82. package/dist/src/cli/invoke/result.d.ts +1 -1
  83. package/dist/src/cli/telemetry/index.d.ts +0 -6
  84. package/dist/src/cli/telemetry/preference.d.ts +2 -1
  85. package/dist/src/cli/ui/alt-screen.d.ts +3 -2
  86. package/dist/src/cli/ui/live-region.d.ts +3 -2
  87. package/dist/src/cli/ui/output.d.ts +1 -16
  88. package/dist/src/cli/ui/output.js +2 -5
  89. package/dist/src/client/eve-agent-store-helpers.d.ts +0 -1
  90. package/dist/src/client/eve-agent-store-helpers.js +1 -1
  91. package/dist/src/client/eve-agent-store.js +1 -1
  92. package/dist/src/client/message-action-parts.d.ts +2 -1
  93. package/dist/src/client/session-utils.d.ts +3 -2
  94. package/dist/src/compiled/.vendor-stamp.json +6 -6
  95. package/dist/src/compiled/@workflow/core/index.js +2 -2
  96. package/dist/src/compiled/@workflow/core/private.js +1 -1
  97. package/dist/src/compiled/@workflow/core/runtime/constants.d.ts +4 -3
  98. package/dist/src/compiled/@workflow/core/runtime/helpers.d.ts +23 -0
  99. package/dist/src/compiled/@workflow/core/runtime/helpers.js +1 -1
  100. package/dist/src/compiled/@workflow/core/runtime/hook-wake.d.ts +69 -36
  101. package/dist/src/compiled/@workflow/core/runtime/lifecycle-hooks.d.ts +25 -22
  102. package/dist/src/compiled/@workflow/core/runtime/run-spec-version.d.ts +16 -0
  103. package/dist/src/compiled/@workflow/core/runtime/start.d.ts +59 -1
  104. package/dist/src/compiled/@workflow/core/runtime/step-latency.d.ts +3 -2
  105. package/dist/src/compiled/@workflow/core/runtime/suspension-handler.d.ts +34 -12
  106. package/dist/src/compiled/@workflow/core/runtime.js +4 -4
  107. package/dist/src/compiled/@workflow/core/serialization.d.ts +7 -2
  108. package/dist/src/compiled/@workflow/core/serialization.js +1 -1
  109. package/dist/src/compiled/@workflow/core/telemetry/semantic-conventions.d.ts +29 -0
  110. package/dist/src/compiled/@workflow/core/types.d.ts +1 -0
  111. package/dist/src/compiled/@workflow/core/version.d.ts +1 -1
  112. package/dist/src/compiled/@workflow/core/workflow.js +1 -1
  113. package/dist/src/compiled/@workflow/errors/index.d.ts +13 -0
  114. package/dist/src/compiled/@workflow/errors/index.js +1 -1
  115. package/dist/src/compiled/@workflow/world/events.d.ts +14 -4
  116. package/dist/src/compiled/@workflow/world/index.d.ts +2 -2
  117. package/dist/src/compiled/@workflow/world/interfaces.d.ts +2 -1
  118. package/dist/src/compiled/@workflow/world/shared.d.ts +24 -0
  119. package/dist/src/compiled/@workflow/world/spec-version.d.ts +23 -0
  120. package/dist/src/compiled/@workflow/world-local/index.js +5 -5
  121. package/dist/src/compiled/@workflow/world-vercel/index.js +16 -16
  122. package/dist/src/compiled/_chunks/workflow/{attribute-changes-DzJovO_f.js → attribute-changes-D721NpZv.js} +3 -3
  123. package/dist/src/compiled/_chunks/workflow/{dist-BQSf8Hax.js → dist-BUFGAKRb.js} +1 -1
  124. package/dist/src/compiled/_chunks/workflow/dist-CaNNONeg.js +3 -0
  125. package/dist/src/compiled/_chunks/workflow/{frames-qKc30rjg.js → frames-Dr9fHWdo.js} +2 -2
  126. package/dist/src/compiled/_chunks/workflow/{global-BQnKzRXo.js → global-DKbOgrts.js} +1 -1
  127. package/dist/src/compiled/_chunks/workflow/helpers-DkKxg_yn.js +1 -0
  128. package/dist/src/compiled/_chunks/workflow/logger-D4GJNTk4.js +14 -0
  129. package/dist/src/compiled/_chunks/workflow/resume-hook-uTW-jBYz.js +1 -0
  130. package/dist/src/compiled/_chunks/workflow/run-5DmiMN9b.js +1 -0
  131. package/dist/src/compiled/_chunks/workflow/serialization-CNIYl1D3.js +3 -0
  132. package/dist/src/compiled/_chunks/workflow/sleep-DFKgN7UG.js +1 -0
  133. package/dist/src/compiled/_chunks/workflow/wait-until-3_1djUuL.js +1 -0
  134. package/dist/src/compiled/_chunks/workflow/{ws-transport-BrsMYqJg.js → ws-transport--rYOVIaf.js} +1 -1
  135. package/dist/src/compiler/artifacts.d.ts +4 -27
  136. package/dist/src/compiler/artifacts.js +1 -1
  137. package/dist/src/compiler/compile-agent.d.ts +2 -1
  138. package/dist/src/compiler/compile-agent.js +1 -1
  139. package/dist/src/compiler/diagnostics.d.ts +0 -11
  140. package/dist/src/compiler/diagnostics.js +1 -1
  141. package/dist/src/compiler/manifest.d.ts +0 -4
  142. package/dist/src/compiler/module-map.d.ts +1 -5
  143. package/dist/src/compiler/module-map.js +1 -1
  144. package/dist/src/compiler/normalize-agent-config.js +1 -1
  145. package/dist/src/compiler/normalize-connection.d.ts +2 -1
  146. package/dist/src/compiler/normalize-instructions.d.ts +2 -6
  147. package/dist/src/compiler/normalize-instructions.js +1 -1
  148. package/dist/src/compiler/normalize-manifest-helpers.d.ts +0 -1
  149. package/dist/src/compiler/normalize-manifest-helpers.js +1 -1
  150. package/dist/src/compiler/normalize-manifest.js +1 -1
  151. package/dist/src/compiler/normalize-skill.d.ts +2 -1
  152. package/dist/src/compiler/project-sources.d.ts +0 -14
  153. package/dist/src/compiler/project-sources.js +1 -1
  154. package/dist/src/compiler/resolve-workspace-subagent.js +1 -1
  155. package/dist/src/compiler/source-graph.d.ts +1 -2
  156. package/dist/src/compiler/source-graph.js +1 -1
  157. package/dist/src/context/build-base-tool-context.d.ts +2 -1
  158. package/dist/src/context/dynamic-tool-lifecycle.d.ts +0 -4
  159. package/dist/src/context/dynamic-tool-lifecycle.js +1 -1
  160. package/dist/src/context/dynamic-tool-metadata.d.ts +0 -1
  161. package/dist/src/context/dynamic-tool-metadata.js +1 -1
  162. package/dist/src/context/memory-lifecycle.d.ts +0 -8
  163. package/dist/src/context/memory-lifecycle.js +1 -1
  164. package/dist/src/discover/connections.d.ts +0 -15
  165. package/dist/src/discover/connections.js +1 -1
  166. package/dist/src/discover/diagnostics.d.ts +0 -12
  167. package/dist/src/discover/diagnostics.js +1 -1
  168. package/dist/src/discover/discover-agent.js +1 -1
  169. package/dist/src/discover/discover-subagent.d.ts +0 -1
  170. package/dist/src/discover/discover-subagent.js +1 -1
  171. package/dist/src/discover/extensions.d.ts +3 -10
  172. package/dist/src/discover/extensions.js +1 -1
  173. package/dist/src/discover/filesystem.d.ts +5 -9
  174. package/dist/src/discover/filesystem.js +1 -1
  175. package/dist/src/discover/grammar.d.ts +0 -46
  176. package/dist/src/discover/grammar.js +1 -1
  177. package/dist/src/discover/manifest.d.ts +5 -4
  178. package/dist/src/discover/memory.d.ts +0 -1
  179. package/dist/src/discover/memory.js +1 -1
  180. package/dist/src/discover/named-source-directory.js +1 -1
  181. package/dist/src/discover/project-source.d.ts +2 -1
  182. package/dist/src/discover/project.js +1 -1
  183. package/dist/src/discover/sandbox.js +1 -1
  184. package/dist/src/discover/skills.d.ts +0 -4
  185. package/dist/src/discover/skills.js +1 -1
  186. package/dist/src/evals/cli/eval-client.d.ts +2 -1
  187. package/dist/src/evals/judge.d.ts +2 -1
  188. package/dist/src/evals/runner/execute-task.d.ts +1 -1
  189. package/dist/src/evals/types.d.ts +1 -1
  190. package/dist/src/eve-channel/support.d.ts +1 -3
  191. package/dist/src/eve-channel/support.js +1 -1
  192. package/dist/src/execution/dynamic-workflow/schema.d.ts +2 -1
  193. package/dist/src/execution/dynamic-workflow/tool.js +1 -1
  194. package/dist/src/execution/effective-agent-config.d.ts +2 -1
  195. package/dist/src/execution/eve-workflow-attributes.d.ts +3 -5
  196. package/dist/src/execution/eve-workflow-attributes.js +1 -1
  197. package/dist/src/execution/history-view.d.ts +2 -1
  198. package/dist/src/execution/node-step.d.ts +3 -2
  199. package/dist/src/execution/runtime-context.js +1 -1
  200. package/dist/src/execution/sandbox/active-handles.d.ts +2 -4
  201. package/dist/src/execution/sandbox/active-handles.js +1 -1
  202. package/dist/src/execution/sandbox/bash.d.ts +2 -1
  203. package/dist/src/execution/sandbox/bindings/docker-templates.js +1 -1
  204. package/dist/src/execution/sandbox/bindings/docker.js +1 -1
  205. package/dist/src/execution/sandbox/bindings/immutable-resources.d.ts +0 -6
  206. package/dist/src/execution/sandbox/bindings/immutable-resources.js +1 -1
  207. package/dist/src/execution/sandbox/bindings/just-bash.js +1 -1
  208. package/dist/src/execution/sandbox/bindings/local-provider-utils.d.ts +3 -2
  209. package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.d.ts +0 -1
  210. package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.js +1 -1
  211. package/dist/src/execution/sandbox/bindings/microsandbox-network.d.ts +1 -1
  212. package/dist/src/execution/sandbox/bindings/microsandbox-options.d.ts +0 -3
  213. package/dist/src/execution/sandbox/bindings/microsandbox-options.js +1 -1
  214. package/dist/src/execution/sandbox/bindings/microsandbox-templates.d.ts +0 -1
  215. package/dist/src/execution/sandbox/bindings/microsandbox-templates.js +1 -1
  216. package/dist/src/execution/sandbox/bindings/vercel.d.ts +1 -1
  217. package/dist/src/execution/sandbox/dockerfile.d.ts +0 -1
  218. package/dist/src/execution/sandbox/dockerfile.js +1 -1
  219. package/dist/src/execution/sandbox/ensure.d.ts +2 -1
  220. package/dist/src/execution/sandbox/ensure.js +1 -1
  221. package/dist/src/execution/sandbox/prewarm.d.ts +1 -18
  222. package/dist/src/execution/sandbox/prewarm.js +1 -1
  223. package/dist/src/execution/sandbox/require-sandbox.d.ts +0 -11
  224. package/dist/src/execution/sandbox/require-sandbox.js +1 -1
  225. package/dist/src/execution/sandbox/truncate-output.d.ts +2 -5
  226. package/dist/src/execution/sandbox/truncate-output.js +2 -2
  227. package/dist/src/execution/session/admission.d.ts +3 -2
  228. package/dist/src/execution/session/event-sink.d.ts +2 -1
  229. package/dist/src/execution/session/finalization.d.ts +2 -1
  230. package/dist/src/execution/session/handoff.d.ts +3 -2
  231. package/dist/src/execution/session/route-selected-delivery.d.ts +2 -1
  232. package/dist/src/execution/session/timeout-control.d.ts +2 -1
  233. package/dist/src/execution/session-activity.d.ts +0 -3
  234. package/dist/src/execution/session-activity.js +1 -1
  235. package/dist/src/execution/session-inbox/protocol.d.ts +2 -1
  236. package/dist/src/execution/session.d.ts +3 -2
  237. package/dist/src/execution/stable-workflow-names.d.ts +0 -6
  238. package/dist/src/execution/stable-workflow-names.js +1 -1
  239. package/dist/src/execution/tools/agent-router-workflow.js +1 -1
  240. package/dist/src/execution/tools/ask-question-workflow.js +1 -1
  241. package/dist/src/execution/tools/connection-search.js +1 -1
  242. package/dist/src/execution/tools/sleep-workflow.js +1 -1
  243. package/dist/src/execution/tools/subagent/invoke-preparation.d.ts +2 -1
  244. package/dist/src/execution/tools/subagent/start.js +1 -1
  245. package/dist/src/execution/tools/subagent/task-agent-requests.d.ts +4 -3
  246. package/dist/src/execution/tools/workflow/background.d.ts +2 -6
  247. package/dist/src/execution/tools/workflow/background.js +1 -1
  248. package/dist/src/execution/tools/workflow/owner-channels.d.ts +1 -1
  249. package/dist/src/execution/tools/workflow/workflow-owner-background.d.ts +2 -1
  250. package/dist/src/execution/web-fetch/execute.d.ts +2 -2
  251. package/dist/src/execution/web-fetch/request.d.ts +2 -1
  252. package/dist/src/extensions/code/extension/lib/computer-use-driver-source.d.ts +0 -2
  253. package/dist/src/extensions/code/extension/lib/computer-use-driver-source.js +57 -57
  254. package/dist/src/extensions/code/extension/lib/computer-use.d.ts +1 -1
  255. package/dist/src/extensions/code/extension/lib/generated-paths.d.ts +2 -1
  256. package/dist/src/extensions/code/extension/lib/grep-search.d.ts +5 -5
  257. package/dist/src/extensions/code/extension/lib/grep-search.js +2 -2
  258. package/dist/src/extensions/code/extension/lib/guidelines.d.ts +2 -1
  259. package/dist/src/extensions/code/extension/lib/patch.d.ts +3 -2
  260. package/dist/src/extensions/code/extension/lib/prwatch-github.d.ts +1 -2
  261. package/dist/src/extensions/code/extension/lib/prwatch-github.js +1 -1
  262. package/dist/src/extensions/code/extension/lib/prwatch-registry.d.ts +2 -1
  263. package/dist/src/framework/host-inventory.d.ts +3 -2
  264. package/dist/src/harness/approval-candidates.d.ts +4 -3
  265. package/dist/src/harness/approval-delivery-coordinator.d.ts +2 -1
  266. package/dist/src/harness/authorization.d.ts +0 -9
  267. package/dist/src/harness/authorization.js +1 -1
  268. package/dist/src/harness/compaction-prompt.d.ts +2 -1
  269. package/dist/src/harness/coordination.d.ts +0 -4
  270. package/dist/src/harness/coordination.js +1 -1
  271. package/dist/src/harness/input-requests.d.ts +1 -10
  272. package/dist/src/harness/input-requests.js +1 -1
  273. package/dist/src/harness/pending-input-batches.d.ts +0 -5
  274. package/dist/src/harness/pending-input-batches.js +1 -1
  275. package/dist/src/harness/provider-safety.d.ts +9 -0
  276. package/dist/src/harness/provider-safety.js +1 -1
  277. package/dist/src/harness/provider-tools.d.ts +2 -1
  278. package/dist/src/harness/session-limit-continuation.d.ts +0 -4
  279. package/dist/src/harness/session-limit-continuation.js +1 -1
  280. package/dist/src/harness/session-usage-limits.d.ts +2 -1
  281. package/dist/src/harness/step-hooks.js +1 -1
  282. package/dist/src/harness/tool-loop.js +2 -2
  283. package/dist/src/harness/tool-model-output.d.ts +2 -1
  284. package/dist/src/harness/turn-cancellation.d.ts +2 -7
  285. package/dist/src/harness/turn-cancellation.js +1 -1
  286. package/dist/src/harness/turn-client-context.d.ts +2 -1
  287. package/dist/src/harness/workflow-stream-error.d.ts +0 -7
  288. package/dist/src/harness/workflow-stream-error.js +1 -1
  289. package/dist/src/instrumentation/runtime.js +1 -1
  290. package/dist/src/instrumentation/state.d.ts +2 -2
  291. package/dist/src/internal/agent-name.d.ts +0 -2
  292. package/dist/src/internal/agent-name.js +1 -1
  293. package/dist/src/internal/application/build-profile.d.ts +2 -2
  294. package/dist/src/internal/application/cache-metadata.js +1 -1
  295. package/dist/src/internal/application/compiled-artifacts.js +1 -1
  296. package/dist/src/internal/application/dev-environment.d.ts +2 -8
  297. package/dist/src/internal/application/dev-environment.js +1 -1
  298. package/dist/src/internal/application/optional-package-import.js +1 -1
  299. package/dist/src/internal/application/optional-package-install.js +1 -1
  300. package/dist/src/internal/application/output-publication-lock.js +1 -1
  301. package/dist/src/internal/application/output-publication.d.ts +1 -1
  302. package/dist/src/internal/application/package.js +1 -1
  303. package/dist/src/internal/application/paths.d.ts +0 -5
  304. package/dist/src/internal/application/paths.js +1 -1
  305. package/dist/src/internal/application/tsconfig-dependencies.d.ts +0 -16
  306. package/dist/src/internal/application/tsconfig-dependencies.js +1 -1
  307. package/dist/src/internal/authored-asset-import-plugin.js +1 -1
  308. package/dist/src/internal/authored-definition/schema-backed.js +1 -1
  309. package/dist/src/internal/authored-definition/source-identity.d.ts +1 -1
  310. package/dist/src/internal/authored-module-evaluation-error.js +1 -1
  311. package/dist/src/internal/authored-module-loader.js +1 -1
  312. package/dist/src/internal/authored-module-map-loader.js +1 -1
  313. package/dist/src/internal/authored-package-boundary.js +1 -1
  314. package/dist/src/internal/authored-relative-extension-resolver.js +1 -1
  315. package/dist/src/internal/bundler/extension-scope-plugin.d.ts +2 -1
  316. package/dist/src/internal/bundler/extension-scope-plugin.js +1 -1
  317. package/dist/src/internal/bundler/nitro-rolldown.d.ts +3 -12
  318. package/dist/src/internal/bundler/nitro-rolldown.js +1 -1
  319. package/dist/src/internal/bundler/vendored-dependency-log.d.ts +7 -0
  320. package/dist/src/internal/bundler/vendored-dependency-log.js +1 -0
  321. package/dist/src/internal/eve-project-root.d.ts +0 -3
  322. package/dist/src/internal/eve-project-root.js +1 -1
  323. package/dist/src/internal/external-resources-snapshot.d.ts +1 -1
  324. package/dist/src/internal/external-resources.d.ts +0 -1
  325. package/dist/src/internal/external-resources.js +1 -1
  326. package/dist/src/internal/gateway.d.ts +2 -0
  327. package/dist/src/internal/gateway.js +1 -1
  328. package/dist/src/internal/helpers/markdown.js +1 -1
  329. package/dist/src/internal/instrumentation-layout.js +1 -1
  330. package/dist/src/internal/invocation/metadata.d.ts +1 -1
  331. package/dist/src/internal/materialized-authored-modules.d.ts +2 -1
  332. package/dist/src/internal/materialized-authored-modules.js +1 -1
  333. package/dist/src/internal/mcp/protected-resource.d.ts +2 -1
  334. package/dist/src/internal/mcp/streamable-http-server.d.ts +4 -5
  335. package/dist/src/internal/mcp/streamable-http-server.js +1 -1
  336. package/dist/src/internal/model-catalog.d.ts +2 -1
  337. package/dist/src/internal/nitro/dev-runtime-artifacts-retention.js +1 -1
  338. package/dist/src/internal/nitro/dev-runtime-artifacts.d.ts +0 -4
  339. package/dist/src/internal/nitro/dev-runtime-artifacts.js +1 -1
  340. package/dist/src/internal/nitro/dev-runtime-source-snapshot-copy.js +1 -1
  341. package/dist/src/internal/nitro/dev-runtime-source-snapshot-local-roots.js +1 -1
  342. package/dist/src/internal/nitro/dev-runtime-source-snapshot.d.ts +0 -1
  343. package/dist/src/internal/nitro/dev-runtime-source-snapshot.js +1 -1
  344. package/dist/src/internal/nitro/development-generation.d.ts +0 -1
  345. package/dist/src/internal/nitro/development-generation.js +1 -1
  346. package/dist/src/internal/nitro/host/build-application.js +1 -1
  347. package/dist/src/internal/nitro/host/build-extension.js +1 -1
  348. package/dist/src/internal/nitro/host/build-vercel-agent-summary.js +1 -1
  349. package/dist/src/internal/nitro/host/channel-routes.d.ts +1 -1
  350. package/dist/src/internal/nitro/host/configure-nitro-routes.js +1 -1
  351. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
  352. package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.d.ts +2 -1
  353. package/dist/src/internal/nitro/host/dev-authored-source-watcher.js +1 -1
  354. package/dist/src/internal/nitro/host/dev-host-candidate.d.ts +2 -1
  355. package/dist/src/internal/nitro/host/drained-nitro-dev-server.d.ts +1 -1
  356. package/dist/src/internal/nitro/host/extension-capability-requirements.js +1 -1
  357. package/dist/src/internal/nitro/host/extension-external-dependency-plugin.js +1 -1
  358. package/dist/src/internal/nitro/host/local-tracing-runtime-plugin.js +1 -1
  359. package/dist/src/internal/nitro/host/nitro-bundler-config.js +1 -1
  360. package/dist/src/internal/nitro/host/schedule-task-routes.d.ts +2 -26
  361. package/dist/src/internal/nitro/host/schedule-task-routes.js +2 -2
  362. package/dist/src/internal/nitro/host/start-production-server.js +1 -1
  363. package/dist/src/internal/nitro/host/workspace-extensions.js +1 -1
  364. package/dist/src/internal/nitro/routes/channel-request-instrumentation.d.ts +2 -1
  365. package/dist/src/internal/nitro/routes/channel-route-context.d.ts +1 -1
  366. package/dist/src/internal/nitro/routes/runtime-stack.d.ts +2 -1
  367. package/dist/src/internal/resolve-model-endpoint-status.d.ts +2 -1
  368. package/dist/src/internal/vercel/assemble-eve-services.d.ts +3 -2
  369. package/dist/src/internal/vercel/build-agent-workspace.js +1 -1
  370. package/dist/src/internal/vercel/eve-service-contribution.d.ts +2 -3
  371. package/dist/src/internal/vercel/eve-service-contribution.js +1 -1
  372. package/dist/src/internal/vercel/project-link.d.ts +2 -1
  373. package/dist/src/internal/vercel/project-link.js +1 -1
  374. package/dist/src/internal/workflow/development-world-client.js +1 -1
  375. package/dist/src/internal/workflow/development-world-codec.d.ts +2 -1
  376. package/dist/src/internal/workflow/development-world-server.js +1 -1
  377. package/dist/src/internal/workflow/world-compatibility.d.ts +2 -1
  378. package/dist/src/internal/workflow-bundle/builder-support.d.ts +0 -9
  379. package/dist/src/internal/workflow-bundle/builder-support.js +2 -3
  380. package/dist/src/internal/workflow-bundle/builder.js +2 -2
  381. package/dist/src/internal/workflow-bundle/dynamic-tool-transform.d.ts +0 -1
  382. package/dist/src/internal/workflow-bundle/dynamic-tool-transform.js +1 -1
  383. package/dist/src/internal/workflow-bundle/workflow-builders.js +1 -1
  384. package/dist/src/protocol/activity.d.ts +3 -3
  385. package/dist/src/protocol/activity.js +1 -1
  386. package/dist/src/protocol/baggage.d.ts +2 -2
  387. package/dist/src/protocol/cancel-turn.d.ts +0 -2
  388. package/dist/src/protocol/event-dedupe.d.ts +2 -1
  389. package/dist/src/protocol/event-id.d.ts +0 -6
  390. package/dist/src/protocol/event-id.js +1 -1
  391. package/dist/src/protocol/traceparent.d.ts +2 -1
  392. package/dist/src/public/channels/chat-sdk/audience.d.ts +2 -4
  393. package/dist/src/public/channels/chat-sdk/audience.js +1 -1
  394. package/dist/src/public/channels/discord/discordChannel.d.ts +1 -1
  395. package/dist/src/public/channels/github/api.d.ts +2 -22
  396. package/dist/src/public/channels/github/api.js +1 -1
  397. package/dist/src/public/channels/github/auth.d.ts +0 -9
  398. package/dist/src/public/channels/github/auth.js +1 -1
  399. package/dist/src/public/channels/github/binding.d.ts +3 -2
  400. package/dist/src/public/channels/github/checkout.d.ts +3 -3
  401. package/dist/src/public/channels/github/defaults.d.ts +3 -2
  402. package/dist/src/public/channels/github/githubChannel.d.ts +1 -1
  403. package/dist/src/public/channels/github/limits.d.ts +0 -2
  404. package/dist/src/public/channels/github/limits.js +2 -2
  405. package/dist/src/public/channels/github/pr-context.d.ts +2 -3
  406. package/dist/src/public/channels/github/pr-context.js +1 -1
  407. package/dist/src/public/channels/github/state.d.ts +2 -1
  408. package/dist/src/public/channels/github/verify.d.ts +2 -1
  409. package/dist/src/public/channels/linear/defaults.d.ts +2 -1
  410. package/dist/src/public/channels/linear/inbound-images.d.ts +2 -1
  411. package/dist/src/public/channels/slack/app-manifest.d.ts +3 -4
  412. package/dist/src/public/channels/slack/app-manifest.js +1 -1
  413. package/dist/src/public/channels/slack/hitl.d.ts +0 -4
  414. package/dist/src/public/channels/slack/hitl.js +2 -2
  415. package/dist/src/public/channels/slack/inbound.d.ts +2 -1
  416. package/dist/src/public/channels/slack/model-context.d.ts +0 -18
  417. package/dist/src/public/channels/slack/model-context.js +1 -1
  418. package/dist/src/public/channels/slack/mrkdwn.d.ts +0 -2
  419. package/dist/src/public/channels/slack/mrkdwn.js +1 -1
  420. package/dist/src/public/channels/slack/privacy.d.ts +2 -1
  421. package/dist/src/public/channels/slack/verify.d.ts +1 -1
  422. package/dist/src/public/channels/teams/teamsChannel.d.ts +1 -1
  423. package/dist/src/public/channels/telegram/audience.d.ts +2 -3
  424. package/dist/src/public/channels/telegram/audience.js +1 -1
  425. package/dist/src/public/channels/telegram/telegramChannel.d.ts +1 -1
  426. package/dist/src/public/channels/twilio/defaults.d.ts +0 -7
  427. package/dist/src/public/channels/twilio/defaults.js +1 -1
  428. package/dist/src/public/channels/twilio/routing.d.ts +2 -1
  429. package/dist/src/public/channels/twilio/twilioChannel.d.ts +1 -1
  430. package/dist/src/public/channels/upload-policy.d.ts +0 -11
  431. package/dist/src/public/channels/upload-policy.js +1 -1
  432. package/dist/src/public/definitions/channel.d.ts +1 -1
  433. package/dist/src/public/index.js +1 -1
  434. package/dist/src/public/memory/file/provider.js +1 -1
  435. package/dist/src/public/models/openai/chatgpt/model.d.ts +2 -1
  436. package/dist/src/public/models/openai/chatgpt/token-broker.d.ts +1 -1
  437. package/dist/src/public/next/server.js +1 -1
  438. package/dist/src/public/nuxt/dev-server.d.ts +3 -2
  439. package/dist/src/public/nuxt/dev-server.js +1 -1
  440. package/dist/src/public/skills/index.js +1 -1
  441. package/dist/src/public/sveltekit/dev-server.d.ts +3 -2
  442. package/dist/src/public/sveltekit/dev-server.js +1 -1
  443. package/dist/src/public/tools/index.js +1 -1
  444. package/dist/src/runtime/compiled-artifacts-source.d.ts +0 -4
  445. package/dist/src/runtime/compiled-artifacts-source.js +1 -1
  446. package/dist/src/runtime/connections/instance-identity.d.ts +0 -3
  447. package/dist/src/runtime/connections/instance-identity.js +1 -1
  448. package/dist/src/runtime/connections/mcp-tracing.d.ts +1 -6
  449. package/dist/src/runtime/connections/mcp-tracing.js +1 -1
  450. package/dist/src/runtime/connections/openapi-client.d.ts +1 -1
  451. package/dist/src/runtime/connections/scoped-authorization.d.ts +0 -9
  452. package/dist/src/runtime/connections/scoped-authorization.js +1 -1
  453. package/dist/src/runtime/hooks/registry.d.ts +0 -7
  454. package/dist/src/runtime/hooks/registry.js +1 -1
  455. package/dist/src/runtime/loaders/artifact-paths.d.ts +2 -1
  456. package/dist/src/runtime/loaders/bundled-artifacts.d.ts +0 -1
  457. package/dist/src/runtime/loaders/bundled-artifacts.js +1 -1
  458. package/dist/src/runtime/resolve-agent.d.ts +2 -2
  459. package/dist/src/runtime/resolve-agent.js +1 -1
  460. package/dist/src/runtime/resolve-dynamic-tool.d.ts +0 -16
  461. package/dist/src/runtime/resolve-dynamic-tool.js +1 -1
  462. package/dist/src/runtime/sandbox/prepared-artifacts.d.ts +1 -2
  463. package/dist/src/runtime/sandbox/prepared-artifacts.js +1 -1
  464. package/dist/src/runtime/schedules/register.d.ts +0 -4
  465. package/dist/src/runtime/schedules/register.js +1 -1
  466. package/dist/src/self-modification/credentials.d.ts +1 -4
  467. package/dist/src/self-modification/credentials.js +1 -1
  468. package/dist/src/self-modification/extension/subagents/agent/tools/search_traces.js +1 -1
  469. package/dist/src/self-modification/filesystem.d.ts +0 -1
  470. package/dist/src/self-modification/filesystem.js +1 -1
  471. package/dist/src/self-modification/git-workspace.d.ts +0 -3
  472. package/dist/src/self-modification/git-workspace.js +1 -1
  473. package/dist/src/self-modification/github-publisher.d.ts +2 -1
  474. package/dist/src/self-modification/migration.d.ts +0 -1
  475. package/dist/src/self-modification/migration.js +1 -1
  476. package/dist/src/self-modification/mode.d.ts +2 -1
  477. package/dist/src/self-modification/proposal.d.ts +0 -2
  478. package/dist/src/self-modification/proposal.js +2 -2
  479. package/dist/src/self-modification/setup.js +1 -1
  480. package/dist/src/services/dev-client/agent-info-probe.d.ts +2 -1
  481. package/dist/src/services/dev-client/request-headers.d.ts +1 -1
  482. package/dist/src/services/dev-client/vercel-auth-error.d.ts +0 -8
  483. package/dist/src/services/dev-client/vercel-auth-error.js +2 -3
  484. package/dist/src/setup/ai-gateway-api-key.d.ts +2 -1
  485. package/dist/src/setup/append-env.d.ts +3 -2
  486. package/dist/src/setup/ask.d.ts +3 -3
  487. package/dist/src/setup/boxes/apply-ai-gateway-credential.d.ts +2 -1
  488. package/dist/src/setup/boxes/deploy-project.d.ts +4 -3
  489. package/dist/src/setup/boxes/link-project.d.ts +2 -1
  490. package/dist/src/setup/boxes/resolve-provisioning.d.ts +2 -1
  491. package/dist/src/setup/boxes/select-model.d.ts +2 -37
  492. package/dist/src/setup/boxes/select-model.js +1 -1
  493. package/dist/src/setup/cli/option-row.d.ts +1 -1
  494. package/dist/src/setup/cli/prompt-ui.d.ts +0 -10
  495. package/dist/src/setup/cli/prompt-ui.js +1 -1
  496. package/dist/src/setup/cli/rail-log.d.ts +0 -2
  497. package/dist/src/setup/cli/rail-log.js +2 -2
  498. package/dist/src/setup/connect-provisioning.d.ts +2 -1
  499. package/dist/src/setup/connection-connector.d.ts +2 -1
  500. package/dist/src/setup/flows/link.d.ts +2 -1
  501. package/dist/src/setup/flows/model-login.d.ts +1 -1
  502. package/dist/src/setup/flows/model-source-change.js +1 -1
  503. package/dist/src/setup/flows/provider.d.ts +2 -45
  504. package/dist/src/setup/flows/provider.js +1 -4
  505. package/dist/src/setup/flows/registry-session.d.ts +3 -2
  506. package/dist/src/setup/integrations/discord/api.d.ts +2 -1
  507. package/dist/src/setup/integrations/discord/connect.d.ts +3 -3
  508. package/dist/src/setup/integrations/discord/connect.js +1 -1
  509. package/dist/src/setup/integrations/discord/setup.d.ts +2 -1
  510. package/dist/src/setup/integrations/file-memory/vercel.d.ts +1 -1
  511. package/dist/src/setup/integrations/github/connect.d.ts +3 -3
  512. package/dist/src/setup/integrations/github/connect.js +1 -1
  513. package/dist/src/setup/integrations/github/setup.d.ts +1 -1
  514. package/dist/src/setup/integrations/linear/connect.d.ts +2 -2
  515. package/dist/src/setup/integrations/linear/connect.js +1 -1
  516. package/dist/src/setup/integrations/linear/setup.d.ts +1 -1
  517. package/dist/src/setup/integrations/linq/connect.d.ts +3 -4
  518. package/dist/src/setup/integrations/linq/connect.js +1 -1
  519. package/dist/src/setup/integrations/linq/management.d.ts +2 -1
  520. package/dist/src/setup/integrations/linq/setup.d.ts +1 -9
  521. package/dist/src/setup/integrations/linq/setup.js +1 -1
  522. package/dist/src/setup/integrations/photon/connect.d.ts +5 -7
  523. package/dist/src/setup/integrations/photon/connect.js +1 -1
  524. package/dist/src/setup/integrations/photon/management.d.ts +5 -4
  525. package/dist/src/setup/integrations/photon/setup-flow.d.ts +2 -1
  526. package/dist/src/setup/integrations/registry.d.ts +0 -2
  527. package/dist/src/setup/integrations/registry.js +1 -1
  528. package/dist/src/setup/integrations/runner.d.ts +3 -2
  529. package/dist/src/setup/integrations/shared/scaffold.d.ts +2 -1
  530. package/dist/src/setup/integrations/shared/vercel-project.d.ts +2 -1
  531. package/dist/src/setup/integrations/shopify/setup.d.ts +2 -1
  532. package/dist/src/setup/integrations/teams/connect.d.ts +3 -3
  533. package/dist/src/setup/integrations/teams/connect.js +1 -1
  534. package/dist/src/setup/integrations/teams/setup.d.ts +2 -1
  535. package/dist/src/setup/integrations/web/setup.d.ts +2 -1
  536. package/dist/src/setup/primitives/pm/pnpm.js +1 -1
  537. package/dist/src/setup/primitives/pm/process-result.d.ts +2 -1
  538. package/dist/src/setup/primitives/pm/shared.d.ts +2 -1
  539. package/dist/src/setup/primitives/process-output.d.ts +2 -1
  540. package/dist/src/setup/primitives/run-vercel.js +1 -1
  541. package/dist/src/setup/project-resolution.d.ts +0 -2
  542. package/dist/src/setup/project-resolution.js +1 -1
  543. package/dist/src/setup/provider-settings.js +1 -1
  544. package/dist/src/setup/quit-guard.d.ts +3 -2
  545. package/dist/src/setup/scaffold/connections/catalog.d.ts +0 -13
  546. package/dist/src/setup/scaffold/connections/catalog.js +1 -1
  547. package/dist/src/setup/scaffold/create/add-to-project.d.ts +2 -1
  548. package/dist/src/setup/scaffold/create/project.js +1 -1
  549. package/dist/src/setup/scaffold/files.d.ts +2 -1
  550. package/dist/src/setup/scaffold/update/channels.d.ts +0 -1
  551. package/dist/src/setup/scaffold/version-tokens.js +1 -1
  552. package/dist/src/setup/scaffold/workspace-glob.d.ts +0 -1
  553. package/dist/src/setup/scaffold/workspace-glob.js +1 -1
  554. package/dist/src/setup/scaffold/workspace-root.d.ts +2 -1
  555. package/dist/src/setup/scaffold/workspace-root.js +1 -1
  556. package/dist/src/setup/slack-connect-create.d.ts +1 -1
  557. package/dist/src/setup/slack-connect-lifecycle.d.ts +5 -5
  558. package/dist/src/setup/slack-connect.d.ts +0 -4
  559. package/dist/src/setup/slack-connect.js +1 -1
  560. package/dist/src/setup/slackbot.d.ts +3 -3
  561. package/dist/src/setup/slackbot.js +1 -1
  562. package/dist/src/setup/vercel-api-failure.d.ts +0 -2
  563. package/dist/src/setup/vercel-api-failure.js +1 -1
  564. package/dist/src/setup/vercel-project-api.d.ts +1 -1
  565. package/dist/src/setup/vercel-project.d.ts +4 -38
  566. package/dist/src/setup/vercel-project.js +0 -0
  567. package/dist/src/shared/action-types.d.ts +1 -58
  568. package/dist/src/shared/action-types.js +1 -1
  569. package/dist/src/shared/agent-definition.d.ts +0 -3
  570. package/dist/src/shared/agent-turn-outcome.d.ts +1 -3
  571. package/dist/src/shared/agent-turn-outcome.js +1 -1
  572. package/dist/src/shared/chatgpt-model.d.ts +0 -1
  573. package/dist/src/shared/chatgpt-model.js +1 -1
  574. package/dist/src/shared/conversation-context.d.ts +2 -1
  575. package/dist/src/shared/conversation-identity.d.ts +2 -0
  576. package/dist/src/shared/conversation-identity.js +1 -0
  577. package/dist/src/shared/extension-package-contract.d.ts +2 -1
  578. package/dist/src/shared/forwarded-trace-policy.d.ts +3 -2
  579. package/dist/src/shared/gateway-service-tier.d.ts +2 -1
  580. package/dist/src/shared/memory-state.d.ts +0 -8
  581. package/dist/src/shared/memory-state.js +1 -1
  582. package/dist/src/shared/sandbox-environment.d.ts +0 -1
  583. package/dist/src/shared/sandbox-environment.js +1 -1
  584. package/dist/src/shared/skill-package.d.ts +0 -5
  585. package/dist/src/shared/skill-package.js +1 -1
  586. package/dist/src/shared/skill-paths.d.ts +0 -13
  587. package/dist/src/shared/skill-paths.js +2 -2
  588. package/dist/src/shared/token-usage.d.ts +0 -7
  589. package/dist/src/shared/token-usage.js +1 -1
  590. package/dist/src/shared/ulid.d.ts +2 -8
  591. package/dist/src/shared/ulid.js +1 -1
  592. package/dist/src/shared/vercel-project.d.ts +2 -1
  593. package/dist/src/shared/vercel-services.d.ts +2 -2
  594. package/dist/src/shared/workflow-sandbox.d.ts +0 -7
  595. package/dist/src/source-change/agent-config-ast.d.ts +2 -1
  596. package/dist/src/source-change/agent-config-string-path.d.ts +2 -2
  597. package/dist/src/source-change/apply-agent-model-settings.d.ts +2 -1
  598. package/dist/src/source-change/apply-model-selection.d.ts +2 -1
  599. package/dist/src/source-change/static-source-change.d.ts +4 -3
  600. package/dist/src/subagents/invocation.d.ts +1 -1
  601. package/dist/src/subagents/tool.d.ts +2 -1
  602. package/dist/src/svelte/index.js +1 -1
  603. package/dist/src/svelte/use-eve-agent.js +1 -1
  604. package/dist/src/tools/definition.d.ts +0 -3
  605. package/dist/src/tools/durable-callbacks.d.ts +1 -2
  606. package/dist/src/tools/durable-callbacks.js +1 -1
  607. package/dist/src/tools/framework/agent.js +1 -1
  608. package/dist/src/tools/framework/task-cancel.d.ts +1 -1
  609. package/dist/src/tools/native-definition.d.ts +2 -1
  610. package/dist/src/tracing/agent-action-instrumentation.d.ts +2 -1
  611. package/dist/src/tracing/agent-invocation-coordinator.js +1 -1
  612. package/dist/src/tracing/agent-memory-instrumentation.d.ts +2 -1
  613. package/dist/src/tracing/agent-otel-attributes.js +1 -1
  614. package/dist/src/tracing/agent-otel-provider.d.ts +2 -1
  615. package/dist/src/tracing/agent-span-id-generator.d.ts +0 -1
  616. package/dist/src/tracing/agent-span-id-generator.js +1 -1
  617. package/dist/src/tracing/agent-tool-instrumentation.d.ts +2 -1
  618. package/dist/src/tracing/agent-tool-span-context.d.ts +3 -2
  619. package/dist/src/tracing/agent-trace-context-store.d.ts +0 -2
  620. package/dist/src/tracing/agent-trace-context-store.js +1 -1
  621. package/dist/src/tracing/agent-trace-state.d.ts +0 -24
  622. package/dist/src/tracing/agent-trace-state.js +1 -1
  623. package/dist/src/tracing/batch-span-processor.d.ts +2 -1
  624. package/dist/src/tracing/conversation-context.d.ts +0 -2
  625. package/dist/src/tracing/conversation-context.js +1 -1
  626. package/dist/src/tracing/install-instrumentation-runtime.js +1 -1
  627. package/dist/src/tracing/local-trace-analysis.d.ts +4 -3
  628. package/dist/src/tracing/local-trace-discovery-index.d.ts +0 -2
  629. package/dist/src/tracing/local-trace-discovery-index.js +1 -1
  630. package/dist/src/tracing/local-trace-query.d.ts +2 -1
  631. package/dist/src/tracing/local-trace-retention.d.ts +4 -4
  632. package/dist/src/tracing/telemetry-budget.d.ts +0 -1
  633. package/dist/src/tracing/telemetry-budget.js +1 -1
  634. package/dist/src/vue/index.js +1 -1
  635. package/dist/src/vue/use-eve-agent.js +1 -1
  636. package/docs/agent-config.md +7 -0
  637. package/package.json +8 -8
  638. package/dist/src/cli/commands/channel-add-conflicts.d.ts +0 -21
  639. package/dist/src/cli/commands/channel-add-conflicts.js +0 -1
  640. package/dist/src/cli/commands/init-confirm.d.ts +0 -12
  641. package/dist/src/cli/commands/init-confirm.js +0 -1
  642. package/dist/src/cli/commands/registry-search-presentation.d.ts +0 -16
  643. package/dist/src/cli/commands/registry-search-presentation.js +0 -6
  644. package/dist/src/compiled/_chunks/workflow/dist-BfMqXLK3.js +0 -3
  645. package/dist/src/compiled/_chunks/workflow/helpers-CNMO7zB1.js +0 -1
  646. package/dist/src/compiled/_chunks/workflow/logger-BCEj9caG.js +0 -14
  647. package/dist/src/compiled/_chunks/workflow/resume-hook-QS_cMwHn.js +0 -1
  648. package/dist/src/compiled/_chunks/workflow/run-CA5wWV2S.js +0 -1
  649. package/dist/src/compiled/_chunks/workflow/serialization-CJ265vSe.js +0 -3
  650. package/dist/src/compiled/_chunks/workflow/sleep-CBn94Ayv.js +0 -1
  651. package/dist/src/compiled/_chunks/workflow/wait-until-Bo2U6ON9.js +0 -1
  652. package/dist/src/compiler/compile-from-memory.d.ts +0 -44
  653. package/dist/src/compiler/compile-from-memory.js +0 -1
  654. package/dist/src/execution/connection-auth-tool-result.d.ts +0 -2
  655. package/dist/src/execution/connection-auth-tool-result.js +0 -1
  656. package/dist/src/internal/process/pnpm.d.ts +0 -28
  657. package/dist/src/internal/process/pnpm.js +0 -1
  658. package/dist/src/public/channels/slack/api-encoding.d.ts +0 -5
  659. package/dist/src/public/channels/slack/api-encoding.js +0 -1
  660. package/dist/src/public/definitions/instrumentation.d.ts +0 -1
  661. package/dist/src/public/definitions/instrumentation.js +0 -1
  662. package/dist/src/public/models/openai/chatgpt/unsigned-jwt.d.ts +0 -5
  663. package/dist/src/public/models/openai/chatgpt/unsigned-jwt.js +0 -1
  664. package/dist/src/sandbox/backends/probes.d.ts +0 -7
  665. package/dist/src/sandbox/backends/probes.js +0 -1
  666. package/dist/src/setup/channel-add-conflicts.d.ts +0 -28
  667. package/dist/src/setup/channel-add-conflicts.js +0 -1
  668. package/dist/src/setup/gateway-models.d.ts +0 -10
  669. package/dist/src/setup/gateway-models.js +0 -1
  670. package/dist/src/setup/primitives/run-pnpm.d.ts +0 -1
  671. package/dist/src/setup/primitives/run-pnpm.js +0 -1
  672. package/dist/src/shared/dispatch-action.d.ts +0 -30
  673. package/dist/src/shared/dispatch-action.js +0 -1
@@ -1 +1 @@
1
- import{hasInteractiveTerminal}from"./preconditions.js";import{serializeHeadlessSetupEvent}from"./setup-headless.js";import{prepareWebChatProjectRoot,prepareWebRegistryProject,readRegistryConfig}from"./registry-project.js";import{errorMessage,reportRegistryCompletion,resolveRegistryItemForAdd,runRegistryAction,setupReminder,setupResumeCommand}from"./registry-recovery.js";import{runRegistryAddCommand}from"./registry-add-command.js";import{runDeclaredSetups}from"./registry-declared-setups.js";import{installRegistryItemTransaction}from"./registry-install-transaction.js";import{eveMetadataFromRegistryItem,parseOfficialRegistrySearchMetadata}from"./registry-metadata.js";import{prepareDeclaredPnpmBuildPolicy}from"./registry-pnpm-build-policy-flow.js";import{printRegistrySearchResults,registryViewText}from"./registry-presentation.js";import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{createPrompter}from"#setup/prompter.js";import{WizardCancelledError}from"#setup/step.js";import{addRegistryItems,getRegistryItems,searchRegistries}from"#compiled/shadcn-registry/index.js";import semver from"#compiled/semver/index.js";const defaultAddCommandDependencies={createPrompter,hasInteractiveTerminal,loadSetupCommandRunner:async()=>(await import(`./registry-setup-command.js`)).runRegistrySetupCommand,prepareWebRegistryProject};function resolveOfficialRegistryUrl(e=process.env.EVE_DEV_OFFICIAL_REGISTRY_URL){if(e===void 0)return`https://eve.dev/r`;let t;try{t=new URL(e)}catch{throw Error(`EVE_DEV_OFFICIAL_REGISTRY_URL must be an HTTP(S) URL.`)}if(t.protocol!==`http:`&&t.protocol!==`https:`)throw Error(`EVE_DEV_OFFICIAL_REGISTRY_URL must be an HTTP(S) URL.`);if(t.username!==``||t.password!==``)throw Error(`EVE_DEV_OFFICIAL_REGISTRY_URL must not include credentials.`);if(t.search!==``||t.hash!==``)throw Error(`EVE_DEV_OFFICIAL_REGISTRY_URL must not include a query or fragment.`);return t.pathname=t.pathname.replace(/\/+$/,``),t.toString().replace(/\/$/,``)}const OFFICIAL_REGISTRY=resolveOfficialRegistryUrl(),OFFICIAL_CATALOG=`${OFFICIAL_REGISTRY}/registry.json`,SKILLS_REGISTRY=`@skills`;function itemAddress(e){return e.startsWith(`@`)||/^https?:\/\//.test(e)?e:`${OFFICIAL_REGISTRY}/${e}.json`}async function installOfficialRegistryItem(e,t,n={}){let r=await readEveRegistryConfig(e);await addRegistryItems([itemAddress(t)],{config:r,cwd:e,overwrite:n.overwrite})}function assertCompatibleEveVersion(e){if(e===void 0)return;let t=resolveInstalledPackageInfo().version;if(semver.validRange(e)===null)throw Error(`Registry item has an invalid eve version requirement: ${e}.`);if(!semver.subset(t,e))throw Error(`This registry item requires eve ${e}, but this project is using eve ${t}. Upgrade eve and run the command again.`)}function isOfficialItemAddress(e){return e.startsWith(`${OFFICIAL_REGISTRY}/`)}function withBuiltInRegistries(e){return{...e,registries:{[SKILLS_REGISTRY]:`https://www.skills.sh/r/{name}?agent=eve`,...e.registries}}}async function readEveRegistryConfig(e){return withBuiltInRegistries(await readRegistryConfig(e))}function configuredRegistrySources(e){return Object.keys(e.registries??{})}function validateRegistrySource(e){if(e!==void 0&&!e.startsWith(`@`)&&!/^https?:\/\//.test(e))throw Error(`Registry sources must be a namespace or URL: ${e}`)}async function loadOfficialSearchMetadata(){let e=await fetch(OFFICIAL_CATALOG);if(!e.ok)throw Error(`Could not read the eve registry (${e.status}).`);return parseOfficialRegistrySearchMetadata(await e.json())}function searchItemAddress(e){return e.registry===OFFICIAL_CATALOG?e.name:e.addCommandArgument}function enrichSearchItem(e,t){let n=searchItemAddress(e);return{item:e,address:n,...t.get(n)}}function registrySourceLabel(e){return e===OFFICIAL_CATALOG?`eve`:e===SKILLS_REGISTRY?`skills.sh`:e}function searchPresentationSections(e,t,n){return e.flatMap(e=>{let r=t.get(e);return r===void 0?[]:[{label:registrySourceLabel(e),items:r.items.map(e=>enrichSearchItem(e,n)),total:r.pagination.total}]})}async function printAddSuggestions(e,t,n){try{let r=n.split(`/`).at(-1)||n,{resultsBySource:i,sources:a,metadataByAddress:o}=await searchRegistryCatalog(t,{limit:5,query:r}),s=searchPresentationSections(a,i,o);if(s.every(e=>e.items.length===0))return;e.log(`Did you mean?`),printRegistrySearchResults(e,{query:r,sections:s})}catch{}}async function searchRegistryCatalog(e,t){validateRegistrySource(t.source);let n=await readEveRegistryConfig(e),r=t.source?[t.source]:[OFFICIAL_CATALOG,...configuredRegistrySources(n).filter(e=>t.query!==void 0||e!==SKILLS_REGISTRY)],i=await Promise.all(r.map(async e=>{try{return{result:await searchRegistries([e],{config:n,limit:t.limit??100,query:t.query}),source:e}}catch(t){return{error:t,source:e}}})),a=[],o=new Map;for(let e of i)if(`error`in e)a.push({message:errorMessage(e.error),registry:e.source});else{let t=e.result.errors??[];if(a.push(...t),t.length===0){let t=e.result.items.filter(t=>t.registry===e.source);o.set(e.source,{...e.result,items:t,pagination:{...e.result.pagination,total:e.result.items.length===t.length?e.result.pagination.total:0}})}}let s=new Map(a.map(e=>[`${e.registry}\0${e.message}`,e])),c=o.has(OFFICIAL_CATALOG)?await loadOfficialSearchMetadata():new Map,l=o.get(OFFICIAL_CATALOG);if(l!==void 0){let e=l.items.filter(e=>c.get(searchItemAddress(e))?.hidden!==!0);l.items=e,l.pagination={...l.pagination,total:e.length},l.items.sort((e,t)=>{let rank=e=>c.get(searchItemAddress(e))?.implementation===`native`?0:1;return rank(e)-rank(t)})}let u=[...o.values()];return{config:n,result:{items:u.flatMap(e=>e.items),pagination:{hasMore:u.some(e=>e.pagination.hasMore),limit:t.limit??100,offset:0,total:u.reduce((e,t)=>e+t.pagination.total,0)},...s.size>0?{errors:[...s.values()]}:{}},resultsBySource:o,sources:r,metadataByAddress:c}}async function browseRegistryCatalog(e,t={}){let{result:n}=await searchRegistryCatalog(e,t);return{items:n.items.map(e=>{let t={address:e.registry===OFFICIAL_CATALOG?e.name:e.addCommandArgument,name:e.name,source:e.registry===OFFICIAL_CATALOG?`Vercel`:e.registry};return e.title!==void 0&&(t.title=e.title),e.type!==void 0&&(t.type=e.type),e.description!==void 0&&(t.description=e.description),t}),total:n.pagination.total,errors:n.errors??[]}}async function browseRegistryItems(e,t,n,r,i={}){let{result:a,resultsBySource:o,sources:s,metadataByAddress:c}=await searchRegistryCatalog(t,{limit:i.limit,query:n,source:r}),l=a.errors??[];if(i.json||o.size>0){let t=a.items.map(e=>({...e,...c.get(searchItemAddress(e))})),r={query:n,sections:searchPresentationSections(s,o,c)};i.json&&(r.json={...a,items:t}),printRegistrySearchResults(e,r)}for(let t of l)e.error(`${t.registry}: ${t.message}`);l.length>0&&(process.exitCode=1)}async function getRegistryItemManifest(e,t){let n=await readEveRegistryConfig(e),r=await getRegistryItems([itemAddress(t)],{config:n});return r.length===1?r[0]:r}async function installRegistryItem(e,t,n={},r=defaultAddCommandDependencies){let i,a=[],o={error:e=>{i=e},log:e=>a.push(e)},s=process.exitCode,c=await runAddCommand(o,e,t,{...n,yes:n.prompter===void 0||n.yes,setupAuthorized:n.prompter!==void 0},r);if(process.exitCode=s,i!==void 0)throw Error(i);if(c===!1)throw new WizardCancelledError;if(c===`setup-incomplete`)return{output:a,setupIncomplete:{resumeCommand:setupResumeCommand(t)}};let l={output:a};return c!==void 0&&(l.setup=c),l}async function runAddCommand(e,t,n,r,i=defaultAddCommandDependencies){let setupIncomplete=t=>(r.silent!==!0&&e.log(setupReminder(n,t)),`setup-incomplete`);return runRegistryAction(e,t,async()=>{let a=itemAddress(n),o=a===itemAddress(`channel/web`)?await prepareWebChatProjectRoot(t):t,s=await readEveRegistryConfig(t);if(r.skipInstall===!0){if(r.overwrite===!0)throw Error(`--overwrite cannot be used with --skip-install.`);if(r.skipSetup===!0)throw Error(`--skip-install cannot be used with --skip-setup.`);if(!isOfficialItemAddress(a))throw Error(`Setup flows are currently supported only for official eve registry items.`)}let c=await resolveRegistryItemForAdd(e,async()=>(await getRegistryItems([a],{config:s}))[0],()=>printAddSuggestions(e,t,n));if(!c.found)return;let l=c.item,u=isOfficialItemAddress(a)?eveMetadataFromRegistryItem(l):void 0;if(assertCompatibleEveVersion(u?.requires),r.skipInstall===!0){if(u?.setup===void 0)throw Error(`Registry item "${n}" does not declare a setup flow.`);let a=await runDeclaredSetups({logger:e,appRoot:t,item:n,setups:u.setup,options:r,dependencies:i,resumeCommand:setupResumeCommand(n)});return a===!1&&!r.nonInteractive?setupIncomplete(`cancelled`):reportRegistryCompletion(e,n,a,r)}if(!await prepareDeclaredPnpmBuildPolicy({logger:e,appRoot:o,item:n,policies:u?.install?.pnpm?.buildScripts,options:r}))return!1;if(a===itemAddress(`channel/web`)&&await(i.prepareWebRegistryProject??prepareWebRegistryProject)(o),await installRegistryItemTransaction({appRoot:o,item:n,registryItem:l,nonInteractive:r.nonInteractive,logger:e,install:async()=>{await addRegistryItems([a],{config:s,cwd:o,overwrite:r.overwrite,silent:r.silent})}}),u?.setup===void 0)return reportRegistryCompletion(e,n,{facts:[]},r);let d=i.hasInteractiveTerminal?.()??defaultAddCommandDependencies.hasInteractiveTerminal();if(r.nonInteractive&&e.log(serializeHeadlessSetupEvent({version:1,type:`progress`,message:r.skipInstall?`Setup ${n}`:`Installed ${n}`})),r.skipSetup===!0)return r.nonInteractive?reportRegistryCompletion(e,n,{facts:[]},r):setupIncomplete(`skipped`);if(!r.nonInteractive&&!r.yes&&!d&&r.setupAuthorized!==!0)return setupIncomplete(`skipped`);if(!r.nonInteractive&&!r.yes&&r.setupAuthorized!==!0)try{if(await(r.prompter??i.createPrompter?.()??defaultAddCommandDependencies.createPrompter()).select({message:`Set up ${n} now?`,initialValue:`yes`,options:[{value:`yes`,label:`Yes`},{value:`no`,label:`No`}]})===`no`)return setupIncomplete(`skipped`)}catch(e){if(!(e instanceof WizardCancelledError))throw e;return setupIncomplete(`cancelled`)}let f=await runDeclaredSetups({logger:e,appRoot:t,item:n,setups:u.setup,options:{...r,force:r.overwrite},dependencies:i,resumeCommand:setupResumeCommand(n)});return f===!1&&!r.nonInteractive?setupIncomplete(`cancelled`):reportRegistryCompletion(e,n,f,r)})}async function runRegistryListCommand(e,t,n,r={}){await runRegistryAction(e,t,()=>browseRegistryItems(e,t,void 0,n,r))}async function runRegistrySearchCommand(e,t,n,r,i={}){await runRegistryAction(e,t,()=>browseRegistryItems(e,t,n,r,{...i,limit:i.limit??10}))}async function runRegistryViewCommand(e,t,n,r={}){await runRegistryAction(e,t,async()=>{let i=await readEveRegistryConfig(t),a=await getRegistryItems([itemAddress(n)],{config:i}),o=a.length===1?a[0]:a;e.log(r.json?JSON.stringify(o,null,2):registryViewText(n,o))})}export{browseRegistryCatalog,getRegistryItemManifest,installOfficialRegistryItem,installRegistryItem,resolveOfficialRegistryUrl,runAddCommand,runRegistryAddCommand,runRegistryListCommand,runRegistrySearchCommand,runRegistryViewCommand};
1
+ import{hasInteractiveTerminal}from"./preconditions.js";import{serializeHeadlessSetupEvent}from"./setup-headless.js";import{prepareWebChatProjectRoot,prepareWebRegistryProject,readRegistryConfig}from"./registry-project.js";import{errorMessage,reportRegistryCompletion,resolveRegistryItemForAdd,runRegistryAction,setupReminder,setupResumeCommand}from"./registry-recovery.js";import{runRegistryAddCommand}from"./registry-add-command.js";import{runDeclaredSetups}from"./registry-declared-setups.js";import{installRegistryItemTransaction}from"./registry-install-transaction.js";import{eveMetadataFromRegistryItem,parseOfficialRegistrySearchMetadata}from"./registry-metadata.js";import{prepareDeclaredPnpmBuildPolicy}from"./registry-pnpm-build-policy-flow.js";import{printRegistrySearchResults,registryViewText}from"./registry-presentation.js";import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{createPrompter}from"#setup/prompter.js";import{WizardCancelledError}from"#setup/step.js";import{addRegistryItems,getRegistryItems,searchRegistries}from"#compiled/shadcn-registry/index.js";import semver from"#compiled/semver/index.js";const defaultAddCommandDependencies={createPrompter,hasInteractiveTerminal,loadSetupCommandRunner:async()=>(await import(`./registry-setup-command.js`)).runRegistrySetupCommand,prepareWebRegistryProject};function resolveOfficialRegistryUrl(e=process.env.EVE_DEV_OFFICIAL_REGISTRY_URL){if(e===void 0)return`https://eve.dev/r`;let t;try{t=new URL(e)}catch{throw Error(`EVE_DEV_OFFICIAL_REGISTRY_URL must be an HTTP(S) URL.`)}if(t.protocol!==`http:`&&t.protocol!==`https:`)throw Error(`EVE_DEV_OFFICIAL_REGISTRY_URL must be an HTTP(S) URL.`);if(t.username!==``||t.password!==``)throw Error(`EVE_DEV_OFFICIAL_REGISTRY_URL must not include credentials.`);if(t.search!==``||t.hash!==``)throw Error(`EVE_DEV_OFFICIAL_REGISTRY_URL must not include a query or fragment.`);return t.pathname=t.pathname.replace(/\/+$/,``),t.toString().replace(/\/$/,``)}const OFFICIAL_REGISTRY=resolveOfficialRegistryUrl(),OFFICIAL_CATALOG=`${OFFICIAL_REGISTRY}/registry.json`,SKILLS_REGISTRY=`@skills`;function itemAddress(e){return e.startsWith(`@`)||/^https?:\/\//.test(e)?e:`${OFFICIAL_REGISTRY}/${e}.json`}function assertCompatibleEveVersion(e){if(e===void 0)return;let t=resolveInstalledPackageInfo().version;if(semver.validRange(e)===null)throw Error(`Registry item has an invalid eve version requirement: ${e}.`);if(!semver.subset(t,e))throw Error(`This registry item requires eve ${e}, but this project is using eve ${t}. Upgrade eve and run the command again.`)}function isOfficialItemAddress(e){return e.startsWith(`${OFFICIAL_REGISTRY}/`)}function withBuiltInRegistries(e){return{...e,registries:{[SKILLS_REGISTRY]:`https://www.skills.sh/r/{name}?agent=eve`,...e.registries}}}async function readEveRegistryConfig(e){return withBuiltInRegistries(await readRegistryConfig(e))}function configuredRegistrySources(e){return Object.keys(e.registries??{})}function validateRegistrySource(e){if(e!==void 0&&!e.startsWith(`@`)&&!/^https?:\/\//.test(e))throw Error(`Registry sources must be a namespace or URL: ${e}`)}async function loadOfficialSearchMetadata(){let e=await fetch(OFFICIAL_CATALOG);if(!e.ok)throw Error(`Could not read the eve registry (${e.status}).`);return parseOfficialRegistrySearchMetadata(await e.json())}function searchItemAddress(e){return e.registry===OFFICIAL_CATALOG?e.name:e.addCommandArgument}function enrichSearchItem(e,t){let n=searchItemAddress(e);return{item:e,address:n,...t.get(n)}}function registrySourceLabel(e){return e===OFFICIAL_CATALOG?`eve`:e===SKILLS_REGISTRY?`skills.sh`:e}function searchPresentationSections(e,t,n){return e.flatMap(e=>{let r=t.get(e);return r===void 0?[]:[{label:registrySourceLabel(e),items:r.items.map(e=>enrichSearchItem(e,n)),total:r.pagination.total}]})}async function printAddSuggestions(e,t,n){try{let r=n.split(`/`).at(-1)||n,{resultsBySource:i,sources:a,metadataByAddress:o}=await searchRegistryCatalog(t,{limit:5,query:r}),s=searchPresentationSections(a,i,o);if(s.every(e=>e.items.length===0))return;e.log(`Did you mean?`),printRegistrySearchResults(e,{query:r,sections:s})}catch{}}async function searchRegistryCatalog(e,t){validateRegistrySource(t.source);let n=await readEveRegistryConfig(e),r=t.source?[t.source]:[OFFICIAL_CATALOG,...configuredRegistrySources(n).filter(e=>t.query!==void 0||e!==SKILLS_REGISTRY)],i=await Promise.all(r.map(async e=>{try{return{result:await searchRegistries([e],{config:n,limit:t.limit??100,query:t.query}),source:e}}catch(t){return{error:t,source:e}}})),a=[],o=new Map;for(let e of i)if(`error`in e)a.push({message:errorMessage(e.error),registry:e.source});else{let t=e.result.errors??[];if(a.push(...t),t.length===0){let t=e.result.items.filter(t=>t.registry===e.source);o.set(e.source,{...e.result,items:t,pagination:{...e.result.pagination,total:e.result.items.length===t.length?e.result.pagination.total:0}})}}let s=new Map(a.map(e=>[`${e.registry}\0${e.message}`,e])),c=o.has(OFFICIAL_CATALOG)?await loadOfficialSearchMetadata():new Map,l=o.get(OFFICIAL_CATALOG);if(l!==void 0){let e=l.items.filter(e=>c.get(searchItemAddress(e))?.hidden!==!0);l.items=e,l.pagination={...l.pagination,total:e.length},l.items.sort((e,t)=>{let rank=e=>c.get(searchItemAddress(e))?.implementation===`native`?0:1;return rank(e)-rank(t)})}let u=[...o.values()];return{config:n,result:{items:u.flatMap(e=>e.items),pagination:{hasMore:u.some(e=>e.pagination.hasMore),limit:t.limit??100,offset:0,total:u.reduce((e,t)=>e+t.pagination.total,0)},...s.size>0?{errors:[...s.values()]}:{}},resultsBySource:o,sources:r,metadataByAddress:c}}async function browseRegistryCatalog(e,t={}){let{result:n}=await searchRegistryCatalog(e,t);return{items:n.items.map(e=>{let t={address:e.registry===OFFICIAL_CATALOG?e.name:e.addCommandArgument,name:e.name,source:e.registry===OFFICIAL_CATALOG?`Vercel`:e.registry};return e.title!==void 0&&(t.title=e.title),e.type!==void 0&&(t.type=e.type),e.description!==void 0&&(t.description=e.description),t}),total:n.pagination.total,errors:n.errors??[]}}async function browseRegistryItems(e,t,n,r,i={}){let{result:a,resultsBySource:o,sources:s,metadataByAddress:c}=await searchRegistryCatalog(t,{limit:i.limit,query:n,source:r}),l=a.errors??[];if(i.json||o.size>0){let t=a.items.map(e=>({...e,...c.get(searchItemAddress(e))})),r={query:n,sections:searchPresentationSections(s,o,c)};i.json&&(r.json={...a,items:t}),printRegistrySearchResults(e,r)}for(let t of l)e.error(`${t.registry}: ${t.message}`);l.length>0&&(process.exitCode=1)}async function installRegistryItem(e,t,n={},r=defaultAddCommandDependencies){let i,a=[],o={error:e=>{i=e},log:e=>a.push(e)},s=process.exitCode,c=await runAddCommand(o,e,t,{...n,yes:n.prompter===void 0||n.yes,setupAuthorized:n.prompter!==void 0},r);if(process.exitCode=s,i!==void 0)throw Error(i);if(c===!1)throw new WizardCancelledError;if(c===`setup-incomplete`)return{output:a,setupIncomplete:{resumeCommand:setupResumeCommand(t)}};let l={output:a};return c!==void 0&&(l.setup=c),l}async function runAddCommand(e,t,n,r,i=defaultAddCommandDependencies){let setupIncomplete=t=>(r.silent!==!0&&e.log(setupReminder(n,t)),`setup-incomplete`);return runRegistryAction(e,t,async()=>{let a=itemAddress(n),o=a===itemAddress(`channel/web`)?await prepareWebChatProjectRoot(t):t,s=await readEveRegistryConfig(t);if(r.skipInstall===!0){if(r.overwrite===!0)throw Error(`--overwrite cannot be used with --skip-install.`);if(r.skipSetup===!0)throw Error(`--skip-install cannot be used with --skip-setup.`);if(!isOfficialItemAddress(a))throw Error(`Setup flows are currently supported only for official eve registry items.`)}let c=await resolveRegistryItemForAdd(e,async()=>(await getRegistryItems([a],{config:s}))[0],()=>printAddSuggestions(e,t,n));if(!c.found)return;let l=c.item,u=isOfficialItemAddress(a)?eveMetadataFromRegistryItem(l):void 0;if(assertCompatibleEveVersion(u?.requires),r.skipInstall===!0){if(u?.setup===void 0)throw Error(`Registry item "${n}" does not declare a setup flow.`);let a=await runDeclaredSetups({logger:e,appRoot:t,item:n,setups:u.setup,options:r,dependencies:i,resumeCommand:setupResumeCommand(n)});return a===!1&&!r.nonInteractive?setupIncomplete(`cancelled`):reportRegistryCompletion(e,n,a,r)}if(!await prepareDeclaredPnpmBuildPolicy({logger:e,appRoot:o,item:n,policies:u?.install?.pnpm?.buildScripts,options:r}))return!1;if(a===itemAddress(`channel/web`)&&await(i.prepareWebRegistryProject??prepareWebRegistryProject)(o),await installRegistryItemTransaction({appRoot:o,item:n,registryItem:l,nonInteractive:r.nonInteractive,logger:e,install:async()=>{await addRegistryItems([a],{config:s,cwd:o,overwrite:r.overwrite,silent:r.silent})}}),u?.setup===void 0)return reportRegistryCompletion(e,n,{facts:[]},r);let d=i.hasInteractiveTerminal?.()??defaultAddCommandDependencies.hasInteractiveTerminal();if(r.nonInteractive&&e.log(serializeHeadlessSetupEvent({version:1,type:`progress`,message:r.skipInstall?`Setup ${n}`:`Installed ${n}`})),r.skipSetup===!0)return r.nonInteractive?reportRegistryCompletion(e,n,{facts:[]},r):setupIncomplete(`skipped`);if(!r.nonInteractive&&!r.yes&&!d&&r.setupAuthorized!==!0)return setupIncomplete(`skipped`);if(!r.nonInteractive&&!r.yes&&r.setupAuthorized!==!0)try{if(await(r.prompter??i.createPrompter?.()??defaultAddCommandDependencies.createPrompter()).select({message:`Set up ${n} now?`,initialValue:`yes`,options:[{value:`yes`,label:`Yes`},{value:`no`,label:`No`}]})===`no`)return setupIncomplete(`skipped`)}catch(e){if(!(e instanceof WizardCancelledError))throw e;return setupIncomplete(`cancelled`)}let f=await runDeclaredSetups({logger:e,appRoot:t,item:n,setups:u.setup,options:{...r,force:r.overwrite},dependencies:i,resumeCommand:setupResumeCommand(n)});return f===!1&&!r.nonInteractive?setupIncomplete(`cancelled`):reportRegistryCompletion(e,n,f,r)})}async function runRegistryListCommand(e,t,n,r={}){await runRegistryAction(e,t,()=>browseRegistryItems(e,t,void 0,n,r))}async function runRegistrySearchCommand(e,t,n,r,i={}){await runRegistryAction(e,t,()=>browseRegistryItems(e,t,n,r,{...i,limit:i.limit??10}))}async function runRegistryViewCommand(e,t,n,r={}){await runRegistryAction(e,t,async()=>{let i=await readEveRegistryConfig(t),a=await getRegistryItems([itemAddress(n)],{config:i}),o=a.length===1?a[0]:a;e.log(r.json?JSON.stringify(o,null,2):registryViewText(n,o))})}export{browseRegistryCatalog,installRegistryItem,resolveOfficialRegistryUrl,runAddCommand,runRegistryAddCommand,runRegistryListCommand,runRegistrySearchCommand,runRegistryViewCommand};
@@ -61,7 +61,7 @@ export declare function headlessSetupContinuation(input: {
61
61
  status: "input_required";
62
62
  }>["question"];
63
63
  }): HeadlessSetupCommand;
64
- export type HeadlessIntegrationSetupEvent = {
64
+ type HeadlessIntegrationSetupEvent = {
65
65
  version: 1;
66
66
  type: "external_action";
67
67
  id: string;
@@ -94,3 +94,4 @@ export declare function reportHeadlessSetupCompletion(input: {
94
94
  nonInteractive: boolean | undefined;
95
95
  }): RegistrySetupCompletion | undefined;
96
96
  export declare function serializeHeadlessSetupEvent(event: HeadlessSetupEvent | HeadlessIntegrationSetupEvent): string;
97
+ export {};
@@ -3,7 +3,7 @@ import { isEveProject } from "#setup/scaffold/index.js";
3
3
  import { runVercel } from "#setup/primitives/index.js";
4
4
  import { readProjectLink, type VercelProjectReference } from "#setup/project-resolution.js";
5
5
  import { resolveProjectByNameOrId, resolveTeam } from "#setup/vercel-project.js";
6
- export interface VercelNonInteractiveLogger {
6
+ interface VercelNonInteractiveLogger {
7
7
  error(message: string): void;
8
8
  log(message: string): void;
9
9
  }
@@ -30,3 +30,4 @@ export declare function runNonInteractiveLink(input: {
30
30
  onCreatedProject?: (link: VercelProjectReference) => Promise<void>;
31
31
  onProjectCreationUnknown?: () => void;
32
32
  }): Promise<boolean>;
33
+ export {};
@@ -50,8 +50,6 @@ export interface CreateDevDiagnosticDumpOptions {
50
50
  * disable the dump silently — never through stderr, which the TUI captures.
51
51
  */
52
52
  export declare function createDevDiagnosticDump(appRoot: string, logPath: string, options?: CreateDevDiagnosticDumpOptions): DevDiagnosticDump;
53
- /** Collects the real environment facts for {@link createDevDiagnosticDump}. */
54
- export declare function collectDevEnvironmentInfo(appRoot: string): Promise<DevEnvironmentInfo>;
55
53
  /**
56
54
  * Counts files and total bytes under the app's local durable session store
57
55
  * (`.eve/.workflow-data`). Returns `undefined` when the directory does not
@@ -1 +1 @@
1
- import{access,readdir,stat,writeFile}from"node:fs/promises";import{delimiter,join,relative,sep}from"node:path";import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{constants}from"node:fs";import{LOCAL_WORKFLOW_WORLD_DATA_DIRECTORY_RELATIVE_PATH}from"#internal/workflow/local-world-data-directory.js";import{captureVercel,resolveVercelInvocation}from"#setup/primitives/run-vercel.js";function createDevDiagnosticDump(e,t,n={}){let r=t.replace(/\.log$/,`.dump`),i=n.now??(()=>new Date),a=i().getTime(),o,s,c=Promise.resolve(),l=!1,u=!1,write=()=>{if(u||l)return;let e=formatDump({at:i(),durationMs:i().getTime()-a,environment:o,stats:s});c=c.then(()=>writeFile(r,e,{encoding:`utf8`,mode:384})).catch(()=>{l=!0})};return write(),(n.environment??(()=>collectDevEnvironmentInfo(e)))().then(e=>{o=e,write()}).catch(()=>{}),{path:r,displayPath:relative(e,r).split(sep).join(`/`),updateSessionStats(e){s=e,write()},async close(){u||(write(),u=!0,await c)}}}function formatDump(e){let t={updatedAt:e.at.toISOString(),durationMs:e.durationMs,environment:e.environment??null,session:e.stats??null};return`${JSON.stringify(t,null,2)}\n`}async function collectDevEnvironmentInfo(e){let[t,n]=await Promise.all([detectVercelCli(e),measureSessionsDirectory(e)]),r={eveVersion:resolveInstalledPackageInfo().version,nodeVersion:process.version,platform:`${process.platform} ${process.arch}`,...t};return n!==void 0&&(r.sessionsDirectory=n),r}async function detectVercelCli(e){let t=resolveVercelInvocation(e),[n,r]=await Promise.all([captureVercel([`--version`],{cwd:e,nonInteractive:!0,timeoutMs:5e3}),t.command===`vercel`?findOnPath(`vercel`):Promise.resolve(t.command)]),i=n.ok?n.stdout:`${n.failure.stdout}\n${n.failure.stderr}`,a=/(\d+\.\d+\.\d+\S*)/.exec(i)?.[1],o={};return a!==void 0&&(o.vercelCliVersion=a),r!==void 0&&(o.vercelCliPath=r),o}async function findOnPath(e){let t=(process.env.PATH??``).split(delimiter).filter(e=>e.length>0);for(let n of t){let t=join(n,e);try{return await access(t,constants.X_OK),t}catch{}}}async function measureSessionsDirectory(e){let t=join(e,LOCAL_WORKFLOW_WORLD_DATA_DIRECTORY_RELATIVE_PATH),n;try{n=await readdir(t,{recursive:!0,withFileTypes:!0})}catch{return}let r=0,i=0;for(let e of n)if(e.isFile()){r+=1;try{i+=(await stat(join(e.parentPath,e.name))).size}catch{}}return{path:LOCAL_WORKFLOW_WORLD_DATA_DIRECTORY_RELATIVE_PATH,files:r,bytes:i}}export{collectDevEnvironmentInfo,createDevDiagnosticDump,measureSessionsDirectory};
1
+ import{access,readdir,stat,writeFile}from"node:fs/promises";import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{constants}from"node:fs";import{delimiter,join,relative,sep}from"node:path";import{LOCAL_WORKFLOW_WORLD_DATA_DIRECTORY_RELATIVE_PATH}from"#internal/workflow/local-world-data-directory.js";import{captureVercel,resolveVercelInvocation}from"#setup/primitives/run-vercel.js";function createDevDiagnosticDump(e,t,n={}){let r=t.replace(/\.log$/,`.dump`),i=n.now??(()=>new Date),a=i().getTime(),o,s,c=Promise.resolve(),l=!1,u=!1,write=()=>{if(u||l)return;let e=formatDump({at:i(),durationMs:i().getTime()-a,environment:o,stats:s});c=c.then(()=>writeFile(r,e,{encoding:`utf8`,mode:384})).catch(()=>{l=!0})};return write(),(n.environment??(()=>collectDevEnvironmentInfo(e)))().then(e=>{o=e,write()}).catch(()=>{}),{path:r,displayPath:relative(e,r).split(sep).join(`/`),updateSessionStats(e){s=e,write()},async close(){u||(write(),u=!0,await c)}}}function formatDump(e){let t={updatedAt:e.at.toISOString(),durationMs:e.durationMs,environment:e.environment??null,session:e.stats??null};return`${JSON.stringify(t,null,2)}\n`}async function collectDevEnvironmentInfo(e){let[t,n]=await Promise.all([detectVercelCli(e),measureSessionsDirectory(e)]),r={eveVersion:resolveInstalledPackageInfo().version,nodeVersion:process.version,platform:`${process.platform} ${process.arch}`,...t};return n!==void 0&&(r.sessionsDirectory=n),r}async function detectVercelCli(e){let t=resolveVercelInvocation(e),[n,r]=await Promise.all([captureVercel([`--version`],{cwd:e,nonInteractive:!0,timeoutMs:5e3}),t.command===`vercel`?findOnPath(`vercel`):Promise.resolve(t.command)]),i=n.ok?n.stdout:`${n.failure.stdout}\n${n.failure.stderr}`,a=/(\d+\.\d+\.\d+\S*)/.exec(i)?.[1],o={};return a!==void 0&&(o.vercelCliVersion=a),r!==void 0&&(o.vercelCliPath=r),o}async function findOnPath(e){let t=(process.env.PATH??``).split(delimiter).filter(e=>e.length>0);for(let n of t){let t=join(n,e);try{return await access(t,constants.X_OK),t}catch{}}}async function measureSessionsDirectory(e){let t=join(e,LOCAL_WORKFLOW_WORLD_DATA_DIRECTORY_RELATIVE_PATH),n;try{n=await readdir(t,{recursive:!0,withFileTypes:!0})}catch{return}let r=0,i=0;for(let e of n)if(e.isFile()){r+=1;try{i+=(await stat(join(e.parentPath,e.name))).size}catch{}}return{path:LOCAL_WORKFLOW_WORLD_DATA_DIRECTORY_RELATIVE_PATH,files:r,bytes:i}}export{createDevDiagnosticDump,measureSessionsDirectory};
@@ -1,6 +1,6 @@
1
1
  import type { LogLevel } from "#internal/logging.js";
2
2
  import type { JsonObject } from "#shared/json.js";
3
- export type DevDiagnosticSource = "stderr" | "stdout" | "sandbox" | "workflow" | "tool" | "log";
3
+ type DevDiagnosticSource = "stderr" | "stdout" | "sandbox" | "workflow" | "tool" | "log";
4
4
  /** Captured output or a failure summary attributed to one capture point. */
5
5
  export interface DevDiagnosticOutputEntry {
6
6
  readonly source: Exclude<DevDiagnosticSource, "log">;
@@ -29,9 +29,10 @@ export interface DevDiagnosticSink {
29
29
  append(entry: DevDiagnosticEntry): void;
30
30
  close(): Promise<void>;
31
31
  }
32
- export interface CreateDevDiagnosticSinkOptions {
32
+ interface CreateDevDiagnosticSinkOptions {
33
33
  readonly now?: () => Date;
34
34
  readonly pid?: number;
35
35
  }
36
36
  /** Creates the local, process-owned diagnostics file used by `eve dev`. */
37
37
  export declare function createDevDiagnosticSink(appRoot: string, options?: CreateDevDiagnosticSinkOptions): Promise<DevDiagnosticSink>;
38
+ export {};
@@ -1 +1 @@
1
- import{isObject}from"#shared/guards.js";import{join,resolve}from"node:path";import{readFileSync}from"node:fs";import{parseEnv}from"node:util";import{MODEL_CONNECTION_ENV}from"#shared/model-helper.js";import{findEveProjectRoot}from"#internal/eve-project-root.js";import{readProviderSettingsSync}from"#setup/provider-settings.js";const DEVELOPMENT_ENV_FILE_NAMES=[`.env.development.local`,`.env.local`,`.env.development`,`.env`];function isMissingEnvironmentFileError(e){return isObject(e)&&e.code===`ENOENT`}const developmentEnvironmentLoaders=new Map;function getDevelopmentEnvironmentFilePaths(e){return DEVELOPMENT_ENV_FILE_NAMES.map(t=>join(getDevelopmentEnvironmentLoader(e).environmentRoot,t))}async function loadDevelopmentEnvironmentFiles(e){let t=resolve(e);getDevelopmentEnvironmentLoader(t,await findEveProjectRoot(t)).reload()}function stageDevelopmentEnvironmentFiles(e){return getDevelopmentEnvironmentLoader(e).stageReload()}function readDevelopmentEnvironmentHostValues(e){let t={},n=readDevelopmentEnvironmentValues(getDevelopmentEnvironmentLoader(e).environmentRoot),r=new Set(n.keys());for(let e of[...r].sort((e,t)=>e.localeCompare(t)))t[e]=process.env[e]??null;return t}function getDevelopmentEnvironmentLoader(e,t){let n=resolve(e),r=developmentEnvironmentLoaders.get(n);if(r!==void 0&&t===void 0)return r;let i=resolve(t??n);if(r?.environmentRoot===i)return r;let a=createDevelopmentEnvironmentLoader(n,i);return developmentEnvironmentLoaders.set(n,a),a}function createDevelopmentEnvironmentLoader(e,t){let n=new Set(Object.keys(process.env)),r=new Map,stageReload=()=>{let i=new Map(r),a=readDevelopmentEnvironmentValues(t),o=readProviderSettingsSync(e),s=new Set([...r.keys(),...a.keys(),MODEL_CONNECTION_ENV,`EVE_MODEL_TEAM`,`EVE_MODEL_TEAM_NAME`,`EVE_MODEL_KEY_SOURCE`]),c=new Map([...s].map(e=>[e,process.env[e]])),l=!1;o?process.env[MODEL_CONNECTION_ENV]=o.selected:delete process.env[MODEL_CONNECTION_ENV];let u=o?.keySource;return u?process.env.EVE_MODEL_KEY_SOURCE=u:delete process.env.EVE_MODEL_KEY_SOURCE,o?.teamId&&o.teamName?(process.env.EVE_MODEL_TEAM=o.teamId,process.env.EVE_MODEL_TEAM_NAME=o.teamName):(delete process.env.EVE_MODEL_TEAM,delete process.env.EVE_MODEL_TEAM_NAME),applyDevelopmentEnvironmentValues({managedValues:r,nextValues:a,protectedKeys:n}),{commit(){l=!0},rollback(){if(!l){l=!0,r.clear();for(let[e,t]of i)r.set(e,t);for(let[e,t]of c)t===void 0?delete process.env[e]:process.env[e]=t}}}};return{environmentRoot:t,reload(){stageReload().commit()},stageReload}}function applyDevelopmentEnvironmentValues(e){for(let[t,n]of e.managedValues)e.nextValues.has(t)||e.protectedKeys.has(t)||(process.env[t]===n&&delete process.env[t],e.managedValues.delete(t));for(let[t,n]of e.nextValues)e.protectedKeys.has(t)||(process.env[t]=n,e.managedValues.set(t,n))}function readDevelopmentEnvironmentValues(e){let t=new Map;for(let n of[...DEVELOPMENT_ENV_FILE_NAMES].reverse())try{let r=parseEnv(readFileSync(join(e,n),`utf8`));for(let[e,n]of Object.entries(r))n!==void 0&&t.set(e,n)}catch(e){if(!isMissingEnvironmentFileError(e))throw e}return t}export{DEVELOPMENT_ENV_FILE_NAMES,getDevelopmentEnvironmentFilePaths,loadDevelopmentEnvironmentFiles,readDevelopmentEnvironmentHostValues,stageDevelopmentEnvironmentFiles};
1
+ import{isObject}from"#shared/guards.js";import{readFileSync}from"node:fs";import{join,resolve}from"node:path";import{parseEnv}from"node:util";import{MODEL_CONNECTION_ENV}from"#shared/model-helper.js";import{findEveProjectRoot}from"#internal/eve-project-root.js";import{readProviderSettingsSync}from"#setup/provider-settings.js";const DEVELOPMENT_ENV_FILE_NAMES=[`.env.development.local`,`.env.local`,`.env.development`,`.env`];function isMissingEnvironmentFileError(e){return isObject(e)&&e.code===`ENOENT`}const developmentEnvironmentLoaders=new Map;function getDevelopmentEnvironmentFilePaths(e){return DEVELOPMENT_ENV_FILE_NAMES.map(t=>join(getDevelopmentEnvironmentLoader(e).environmentRoot,t))}async function loadDevelopmentEnvironmentFiles(e){let t=resolve(e);getDevelopmentEnvironmentLoader(t,await findEveProjectRoot(t)).reload()}function stageDevelopmentEnvironmentFiles(e){return getDevelopmentEnvironmentLoader(e).stageReload()}function readDevelopmentEnvironmentHostValues(e){let t={},n=readDevelopmentEnvironmentValues(getDevelopmentEnvironmentLoader(e).environmentRoot),r=new Set(n.keys());for(let e of[...r].sort((e,t)=>e.localeCompare(t)))t[e]=process.env[e]??null;return t}function getDevelopmentEnvironmentLoader(e,t){let n=resolve(e),r=developmentEnvironmentLoaders.get(n);if(r!==void 0&&t===void 0)return r;let i=resolve(t??n);if(r?.environmentRoot===i)return r;let a=createDevelopmentEnvironmentLoader(n,i);return developmentEnvironmentLoaders.set(n,a),a}function createDevelopmentEnvironmentLoader(e,t){let n=new Set(Object.keys(process.env)),r=new Map,stageReload=()=>{let i=new Map(r),a=readDevelopmentEnvironmentValues(t),o=readProviderSettingsSync(e),s=new Set([...r.keys(),...a.keys(),MODEL_CONNECTION_ENV,`EVE_MODEL_TEAM`,`EVE_MODEL_TEAM_NAME`,`EVE_MODEL_KEY_SOURCE`]),c=new Map([...s].map(e=>[e,process.env[e]])),l=!1;o?process.env[MODEL_CONNECTION_ENV]=o.selected:delete process.env[MODEL_CONNECTION_ENV];let u=o?.keySource;return u?process.env.EVE_MODEL_KEY_SOURCE=u:delete process.env.EVE_MODEL_KEY_SOURCE,o?.teamId&&o.teamName?(process.env.EVE_MODEL_TEAM=o.teamId,process.env.EVE_MODEL_TEAM_NAME=o.teamName):(delete process.env.EVE_MODEL_TEAM,delete process.env.EVE_MODEL_TEAM_NAME),applyDevelopmentEnvironmentValues({managedValues:r,nextValues:a,protectedKeys:n}),{commit(){l=!0},rollback(){if(!l){l=!0,r.clear();for(let[e,t]of i)r.set(e,t);for(let[e,t]of c)t===void 0?delete process.env[e]:process.env[e]=t}}}};return{environmentRoot:t,reload(){stageReload().commit()},stageReload}}function applyDevelopmentEnvironmentValues(e){for(let[t,n]of e.managedValues)e.nextValues.has(t)||e.protectedKeys.has(t)||(process.env[t]===n&&delete process.env[t],e.managedValues.delete(t));for(let[t,n]of e.nextValues)e.protectedKeys.has(t)||(process.env[t]=n,e.managedValues.set(t,n))}function readDevelopmentEnvironmentValues(e){let t=new Map;for(let n of[...DEVELOPMENT_ENV_FILE_NAMES].reverse())try{let r=parseEnv(readFileSync(join(e,n),`utf8`));for(let[e,n]of Object.entries(r))n!==void 0&&t.set(e,n)}catch(e){if(!isMissingEnvironmentFileError(e))throw e}return t}export{DEVELOPMENT_ENV_FILE_NAMES,getDevelopmentEnvironmentFilePaths,loadDevelopmentEnvironmentFiles,readDevelopmentEnvironmentHostValues,stageDevelopmentEnvironmentFiles};
@@ -1,7 +1,7 @@
1
1
  /** Builds the startup card the dev TUI commits before the first prompt. */
2
2
  import type { AgentInfoResult } from "#client/index.js";
3
3
  import type { Theme } from "./theme.js";
4
- export interface AgentHeaderInput {
4
+ interface AgentHeaderInput {
5
5
  /** Resolved display name used when agent inspection is unavailable. */
6
6
  name?: string;
7
7
  /** Agent inspection payload, or `undefined` when it could not be fetched. */
@@ -12,3 +12,4 @@ export interface AgentHeaderInput {
12
12
  }
13
13
  /** Returns the styled rows of the startup card. */
14
14
  export declare function buildAgentHeader(input: AgentHeaderInput): string[];
15
+ export {};
@@ -7,7 +7,7 @@ export interface PromptArgumentSuggestion {
7
7
  /** Follow-up values available after selecting this exact value. */
8
8
  readonly next?: readonly PromptArgumentSuggestion[];
9
9
  }
10
- export interface ArgumentTypeaheadQuery {
10
+ interface ArgumentTypeaheadQuery {
11
11
  readonly command: ArgumentTypeaheadCommand;
12
12
  readonly argument: string;
13
13
  /** Complete arguments before the one currently being typed. */
@@ -33,3 +33,4 @@ export declare function selectedArgumentSuggestion(state: ArgumentTypeaheadState
33
33
  export declare function argumentTypeaheadCompletion(state: ArgumentTypeaheadState, suggestion: PromptArgumentSuggestion): string;
34
34
  /** Paints canonical catalog values under the command's active argument column. */
35
35
  export declare function renderArgumentSuggestions(state: ArgumentTypeaheadState, theme: Theme, width: number): string[];
36
+ export {};
@@ -5,7 +5,7 @@
5
5
  * components and each lifecycle phase renders as one short clause.
6
6
  */
7
7
  import type { WatcherChangeEvent } from "#internal/nitro/host/dev-watcher-log.js";
8
- export type DevRebuildPhase = "rebuilding" | "rebuilt" | "reloading";
8
+ type DevRebuildPhase = "rebuilding" | "rebuilt" | "reloading";
9
9
  /**
10
10
  * Summarizes one batch of watcher change events as `<paths> <verb>` — e.g.
11
11
  * `tui/setup-panel.ts changed`. Paths shrink to their last two components,
@@ -19,3 +19,4 @@ export declare function summarizeChangedFiles(events: readonly WatcherChangeEven
19
19
  * `tui/setup-panel.ts changed · rebuilding…`.
20
20
  */
21
21
  export declare function formatDevRebuildStatus(summary: string, phase: DevRebuildPhase): string;
22
+ export {};
@@ -1,4 +1,4 @@
1
- export type DiagnosticPresentation = {
1
+ type DiagnosticPresentation = {
2
2
  readonly kind: "inline";
3
3
  readonly text: string;
4
4
  } | {
@@ -14,3 +14,4 @@ export declare function presentDiagnostic(text: string, path: string): Diagnosti
14
14
  export declare function formatStoredDiagnostic(presentation: Extract<DiagnosticPresentation, {
15
15
  kind: "stored";
16
16
  }>): string;
17
+ export {};
@@ -20,12 +20,6 @@ export declare class InterruptedError extends Error {
20
20
  }
21
21
  export declare function interruptedError(): InterruptedError;
22
22
  export declare function isInterruptedError(error: unknown): boolean;
23
- /**
24
- * Recognizes errors raised by aborting an in-flight fetch/stream (e.g. the
25
- * subagent child-session pump being cancelled). These are expected shutdown
26
- * noise, not failures to surface.
27
- */
28
- export declare function isAbortLikeError(error: unknown): boolean;
29
23
  /**
30
24
  * Stable identity for one failure cascade entry. The harness emits the same
31
25
  * `{ code, message }` payload on `step.failed`, `turn.failed`, and (for
@@ -46,7 +40,7 @@ export declare function formatFailureMessage(event: FailureStreamEvent): string;
46
40
  * inspection dump for unrecognized failures. One projection so every
47
41
  * consumer narrows the untyped `details` payload the same way.
48
42
  */
49
- export interface FailureDetails {
43
+ interface FailureDetails {
50
44
  readonly semanticErrorId?: string;
51
45
  readonly hint?: string;
52
46
  readonly detail?: string;
@@ -73,3 +67,4 @@ export declare function formatFailureDetail(event: FailureStreamEvent): string |
73
67
  * in-session via `/model`). Returns `undefined` to keep the harness hint.
74
68
  */
75
69
  export declare function localFailureHint(event: FailureStreamEvent): string | undefined;
70
+ export {};
@@ -1 +1 @@
1
- var InterruptedError=class extends Error{constructor(){super(`Interrupted`),this.name=`InterruptedError`}};function interruptedError(){return new InterruptedError}function isInterruptedError(e){return e instanceof InterruptedError}function isAbortLikeError(e){return e instanceof Error?e.name===`AbortError`||/\babort(?:ed)?\b/iu.test(e.message):!1}function failureKey(e){return`${e.data.code}:${e.data.message}`}function formatFailureMessage(e){let{code:t,message:n}=e.data;return!t||n===t||n.startsWith(`${t}:`)||n.startsWith(`${t} `)?n:`${t}: ${n}`}function failureDetails(e){let t=e.data.details;if(typeof t!=`object`||!t)return{};let n=t,r={};return typeof n.semanticErrorId==`string`&&(r.semanticErrorId=n.semanticErrorId),typeof n.hint==`string`&&n.hint.trim().length>0&&(r.hint=n.hint.trim()),typeof n.detail==`string`&&(r.detail=n.detail),r}function formatFailureHint(e){return failureDetails(e).hint}function formatFailureDetail(e){let t=failureDetails(e).detail;if(t===void 0)return;let n=t.trim();if(n.length!==0&&n!==e.data.message.trim())return n}const LOCAL_HINT_OVERRIDES={"gateway-auth-invalid-api-key":`Run /model to refresh credentials, or update AI_GATEWAY_API_KEY in .env.local (a stale shell export can shadow it).`,"gateway-auth-invalid-oidc-token":`Run /model to refresh the OIDC token, or set AI_GATEWAY_API_KEY in .env.local.`,"gateway-auth-missing-credentials":`Run /model to connect this to a project and refresh AI Gateway credentials, or set AI_GATEWAY_API_KEY manually in .env.local.`};function localFailureHint(e){let t=failureDetails(e).semanticErrorId;return t===void 0?void 0:LOCAL_HINT_OVERRIDES[t]}export{InterruptedError,failureDetails,failureKey,formatFailureDetail,formatFailureHint,formatFailureMessage,interruptedError,isAbortLikeError,isInterruptedError,localFailureHint};
1
+ var InterruptedError=class extends Error{constructor(){super(`Interrupted`),this.name=`InterruptedError`}};function interruptedError(){return new InterruptedError}function isInterruptedError(e){return e instanceof InterruptedError}function failureKey(e){return`${e.data.code}:${e.data.message}`}function formatFailureMessage(e){let{code:t,message:n}=e.data;return!t||n===t||n.startsWith(`${t}:`)||n.startsWith(`${t} `)?n:`${t}: ${n}`}function failureDetails(e){let t=e.data.details;if(typeof t!=`object`||!t)return{};let n=t,r={};return typeof n.semanticErrorId==`string`&&(r.semanticErrorId=n.semanticErrorId),typeof n.hint==`string`&&n.hint.trim().length>0&&(r.hint=n.hint.trim()),typeof n.detail==`string`&&(r.detail=n.detail),r}function formatFailureHint(e){return failureDetails(e).hint}function formatFailureDetail(e){let t=failureDetails(e).detail;if(t===void 0)return;let n=t.trim();if(n.length!==0&&n!==e.data.message.trim())return n}const LOCAL_HINT_OVERRIDES={"gateway-auth-invalid-api-key":`Run /model to refresh credentials, or update AI_GATEWAY_API_KEY in .env.local (a stale shell export can shadow it).`,"gateway-auth-invalid-oidc-token":`Run /model to refresh the OIDC token, or set AI_GATEWAY_API_KEY in .env.local.`,"gateway-auth-missing-credentials":`Run /model to connect this to a project and refresh AI Gateway credentials, or set AI_GATEWAY_API_KEY manually in .env.local.`};function localFailureHint(e){let t=failureDetails(e).semanticErrorId;return t===void 0?void 0:LOCAL_HINT_OVERRIDES[t]}export{InterruptedError,failureDetails,failureKey,formatFailureDetail,formatFailureHint,formatFailureMessage,interruptedError,isInterruptedError,localFailureHint};
@@ -1,7 +1,7 @@
1
1
  import type { Theme } from "./theme.js";
2
2
  import { type FlowPanelState } from "./setup-panel.js";
3
3
  /** Temporary setup content enclosed by a drawer and its navigation controls. */
4
- export interface FlowDrawer {
4
+ interface FlowDrawer {
5
5
  readonly rows: string[];
6
6
  readonly controls: string[];
7
7
  }
@@ -9,3 +9,4 @@ export interface FlowDrawer {
9
9
  export declare function renderFlowDrawer(state: FlowPanelState, theme: Theme, width: number): FlowDrawer;
10
10
  /** Frames a transient command panel with the same rules as a setup flow. */
11
11
  export declare function renderTransientDrawer(body: readonly string[], controls: readonly string[], theme: Theme, width: number): FlowDrawer;
12
+ export {};
@@ -51,7 +51,7 @@ export declare function deleteWordBackward(state: LineState): LineState;
51
51
  /** Deletes the whitespace-delimited word before the caret (Ctrl+W). */
52
52
  export declare function deleteWord(state: LineState): LineState;
53
53
  /** Options for {@link applyLineEditorKey}. */
54
- export interface LineEditorOptions {
54
+ interface LineEditorOptions {
55
55
  /** Single-line inputs flatten pasted newlines and ignore Shift+Enter. */
56
56
  readonly multiline?: boolean;
57
57
  }
@@ -11,9 +11,10 @@ export interface McpConnectionStatusTracker {
11
11
  refresh(): void;
12
12
  dispose(): void;
13
13
  }
14
- export interface McpConnectionStatusTrackerOptions {
14
+ interface McpConnectionStatusTrackerOptions {
15
15
  onChange: (disabledConnectionReasons: Readonly<Record<string, string>>) => void;
16
16
  probe?: McpConnectionProbe;
17
17
  intervalMs?: number;
18
18
  }
19
19
  export declare function createMcpConnectionStatusTracker(options: McpConnectionStatusTrackerOptions): McpConnectionStatusTracker;
20
+ export {};
@@ -18,7 +18,7 @@ import type { Theme } from "./theme.js";
18
18
  /** Most messages the queue holds; Enter on a full queue keeps the draft. */
19
19
  export declare const MESSAGE_QUEUE_LIMIT = 5;
20
20
  /** What one Esc press did to the queue state. */
21
- export type MessageQueueEscapeOutcome =
21
+ type MessageQueueEscapeOutcome =
22
22
  /**
23
23
  * A message is staged for steering. The caller sends it to the active
24
24
  * session; repeated presses may select more queued messages.
@@ -27,7 +27,7 @@ export type MessageQueueEscapeOutcome =
27
27
  /** Empty queue — the caller should cancel the turn. */
28
28
  | "cancel";
29
29
  /** Read-only projection consumed by {@link renderMessageQueueRows}. */
30
- export interface MessageQueueView {
30
+ interface MessageQueueView {
31
31
  readonly messages: readonly string[];
32
32
  readonly full: boolean;
33
33
  /** A popped message is awaiting steering admission. */
@@ -72,7 +72,7 @@ export declare class MessageQueue {
72
72
  reset(): void;
73
73
  view(): MessageQueueView;
74
74
  }
75
- export interface MessageQueuePanelRowsInput {
75
+ interface MessageQueuePanelRowsInput {
76
76
  readonly view: MessageQueueView;
77
77
  readonly width: number;
78
78
  readonly theme: Theme;
@@ -86,3 +86,4 @@ export interface MessageQueuePanelRowsInput {
86
86
  * affordance — the panel is where steering and cancellation are taught.
87
87
  */
88
88
  export declare function renderMessageQueueRows(input: MessageQueuePanelRowsInput): string[];
89
+ export {};
@@ -2,7 +2,7 @@ import type { ApplyModelOutcome } from "#setup/flows/model-source-change.js";
2
2
  import type { PromptCommandHandler } from "./runner.js";
3
3
  import type { TuiSetupFlows } from "./setup-commands.js";
4
4
  import type { DevelopmentTuiTarget } from "./target.js";
5
- export interface PromptCommandHandlerOptions {
5
+ interface PromptCommandHandlerOptions {
6
6
  readonly target: DevelopmentTuiTarget;
7
7
  /** Test seam; defaults to the model flow's shared source-change apply. */
8
8
  readonly applyModel?: (input: {
@@ -15,3 +15,4 @@ export interface PromptCommandHandlerOptions {
15
15
  readonly flows?: Partial<TuiSetupFlows>;
16
16
  }
17
17
  export declare function createPromptCommandHandler(options: PromptCommandHandlerOptions): PromptCommandHandler;
18
+ export {};
@@ -19,7 +19,7 @@ export type ProviderPickerPhase = {
19
19
  message: string;
20
20
  };
21
21
  /** One provider picker interaction: ordinary select state plus its key field. */
22
- export interface ProviderPickerState {
22
+ interface ProviderPickerState {
23
23
  select: SelectState;
24
24
  phase: ProviderPickerPhase;
25
25
  }
@@ -39,7 +39,7 @@ export type ProviderPickerEvent = {
39
39
  validation: GatewayKeyValidation;
40
40
  };
41
41
  /** One state transition; abort controllers remain in the terminal renderer. */
42
- export type ProviderPickerTransition = {
42
+ type ProviderPickerTransition = {
43
43
  kind: "ignore";
44
44
  state: ProviderPickerState;
45
45
  } | {
@@ -62,3 +62,4 @@ export type ProviderPickerTransition = {
62
62
  export declare function initialProviderPickerState(options: readonly PromptOption<ProviderConnection>[], initialValue: ProviderConnection): ProviderPickerState;
63
63
  /** Applies one provider-menu event without creating terminal resources. */
64
64
  export declare function transitionProviderPicker(state: ProviderPickerState, event: ProviderPickerEvent, options: readonly PromptOption<ProviderConnection>[]): ProviderPickerTransition;
65
+ export {};
@@ -10,7 +10,7 @@
10
10
  import type { AgentTUIInputOption } from "./runner.js";
11
11
  import { type LineState } from "./line-editor.js";
12
12
  import type { Theme } from "./theme.js";
13
- export interface QuestionPanelState {
13
+ interface QuestionPanelState {
14
14
  readonly prompt: string;
15
15
  readonly options: readonly AgentTUIInputOption[];
16
16
  /** Row index under the cursor; `options.length` is the freeform row. */
@@ -23,3 +23,4 @@ export interface QuestionPanelState {
23
23
  }
24
24
  export declare function renderQuestionPanel(state: QuestionPanelState, theme: Theme, width: number): string[];
25
25
  export declare function renderQuestionChoices(options: readonly AgentTUIInputOption[], cursor: number, theme: Theme, forceCursor?: boolean): string[];
26
+ export {};
@@ -1,5 +1,5 @@
1
1
  import type { RegistryCatalogItem } from "#cli/commands/registry.js";
2
- import type { RegistrySessionOutcome, RegistrySessionResult } from "#setup/flows/registry-session.js";
2
+ import type { RegistrySessionResult } from "#setup/flows/registry-session.js";
3
3
  /** Builds the shared transient progress update for `/add` and initial onboarding. */
4
4
  export declare function registryItemProgress(renderer: {
5
5
  replaceContent?(content?: {
@@ -12,17 +12,16 @@ export declare function registryItemProgress(renderer: {
12
12
  setNavigation?(navigation: undefined): void;
13
13
  setStatus(status: string | undefined): void;
14
14
  }): (item: RegistryCatalogItem, index: number, total: number) => void;
15
- export interface RegistryCommandOutcome {
15
+ interface RegistryCommandOutcome {
16
16
  failed: boolean;
17
17
  /** Replaces the echoed `/add` once it settles. */
18
18
  summary: string;
19
19
  /** Detail hung under the summary; empty when the summary says it all. */
20
20
  message: string;
21
21
  }
22
- /** The one-line record of an `/add` item left in place of its invocation. */
23
- export declare function registryOutcomeSummary(outcome: RegistrySessionOutcome): string;
24
22
  /**
25
23
  * Summarizes an `/add` session in place of its echoed command. One item folds
26
24
  * into the summary itself; several items list one marked row each.
27
25
  */
28
26
  export declare function registryCommandOutcome(result: RegistrySessionResult, notes?: readonly string[]): RegistryCommandOutcome;
27
+ export {};
@@ -1,4 +1,4 @@
1
1
  function registryItemProgress(e){return(t,n,r)=>{e.setNavigation?.(void 0),e.replaceContent?.(),e.setStatus(`Adding ${t.title??t.name} · ${n+1} of ${r}`)}}function outcomeDetails(e){switch(e.kind){case`installed`:{let t=e.facts.filter(e=>e.label.length>0),n=Math.max(0,...t.map(e=>e.label.length));return[...e.facts.map(e=>e.label.length===0?e.value:`${e.label.padEnd(n)} ${e.value}`),...e.output]}case`incomplete`:return[`Finish with \`${e.resumeCommand}\``];case`failed`:return e.message.replace(" Try again with `",`
2
2
  Try again with \``).split(`
3
3
  `);case`cancelled`:return[]}}function registryOutcomeSummary(e){switch(e.kind){case`installed`:return`Added ${e.title}`;case`incomplete`:return`Added ${e.title} · setup not finished`;case`failed`:return`Couldn't add ${e.title}`;case`cancelled`:return`${e.title} not added`}}function hasFailedOutcome(e){return e.some(e=>e.kind===`failed`)}function registryCommandOutcome(e,t=[]){let{outcomes:n}=e,r=n.filter(e=>e.kind===`installed`||e.kind===`incomplete`).length,i=n.length===1?registryOutcomeSummary(n[0]):`Added ${r} of ${n.length} items`,a=n.length===1?outcomeDetails(n[0]):n.flatMap(e=>[`* ${registryOutcomeSummary(e)}`,...outcomeDetails(e).map(e=>` ${e}`)]);return a.push(...t.map(e=>`⚠ ${e}`)),{failed:hasFailedOutcome(n),summary:i,message:a.join(`
4
- `)}}export{registryCommandOutcome,registryItemProgress,registryOutcomeSummary};
4
+ `)}}export{registryCommandOutcome,registryItemProgress};
@@ -1,11 +1,12 @@
1
1
  import { type Client } from "#client/index.js";
2
2
  import type { RemoteConnectionState } from "./remote-connection-types.js";
3
- export type RemoteProbeResult = Extract<RemoteConnectionState, {
3
+ type RemoteProbeResult = Extract<RemoteConnectionState, {
4
4
  state: "ready" | "auth-required" | "unavailable";
5
5
  }>;
6
- export type RemoteProbePhase = "connection-check" | "authentication-verification";
6
+ type RemoteProbePhase = "connection-check" | "authentication-verification";
7
7
  export declare function classifyRemoteError(error: unknown, phase: RemoteProbePhase): RemoteProbeResult;
8
8
  export declare function probeRemoteInfo(input: {
9
9
  readonly client: Client;
10
10
  readonly phase: RemoteProbePhase;
11
11
  }): Promise<RemoteProbeResult>;
12
+ export {};
@@ -23,7 +23,6 @@ import type { detectProjectIdentity } from "#setup/project-resolution.js";
23
23
  import { getVercelAuthStatus } from "#setup/vercel-project.js";
24
24
  import type { DevDiagnostics } from "../diagnostics.js";
25
25
  import type { CommandLifecycle } from "../../shutdown.js";
26
- export { parsePromptCommand, type PromptCommand } from "./prompt-commands.js";
27
26
  export type AgentTUIStreamResult = {
28
27
  steer?: (message: string) => Promise<void>;
29
28
  events: AsyncIterable<AgentTUIStreamEvent> | ReadableStream<AgentTUIStreamEvent>;
@@ -1,4 +1,4 @@
1
1
  import{PROMPT_COMMANDS,formatPromptCommandHelp,parsePromptCommand}from"./prompt-commands.js";import{failureKey,formatFailureDetail,formatFailureHint,formatFailureMessage,isInterruptedError,localFailureHint}from"./errors.js";import{parseLogDisplayMode}from"./log-display-mode.js";import{createMcpConnectionStatusTracker}from"./mcp-connection-status.js";import{describeRemoteAuthCompletedMutations}from"./remote-auth-result.js";import{createRemoteConnectionController}from"./remote-connection.js";import{prepareRemoteTuiAccess}from"./remote-startup.js";import{SubagentPump}from"./subagent-pump.js";import{BOOT_DETECTIONS,CLI_MISSING_SETUP_ISSUE,LOGIN_SETUP_ISSUE,detectSetupIssues,formatSetupIssuesLine,normalizeLocalModelEndpoint,orderedSetupIssues}from"./setup-issues.js";import{TerminalRenderer}from"./terminal-renderer.js";import{createVercelStatusTracker}from"./vercel-status.js";import"#client/index.js";import{loadDevelopmentEnvironmentFiles}from"#cli/dev/environment.js";import{getVercelAuthStatus}from"#setup/vercel-project.js";import{inspectApplication}from"#services/inspect-application.js";import{devBootPhase}from"#internal/dev-boot-progress.js";import{toErrorMessage}from"#shared/errors.js";import{probeAgentInfo}from"#services/dev-client/agent-info-probe.js";import{isJsonObjectValue}from"#shared/json.js";import{SteeringStream}from"#cli/dev/tui/steering-stream.js";import{renderApplicationInfo}from"#cli/commands/info.js";import{createEventDeduper}from"#protocol/event-dedupe.js";import{isCurrentTurnBoundaryEvent}from"#protocol/message.js";import{createDevelopmentRuntimeArtifactRefresher}from"#services/dev-client.js";async function delayMs(e){await new Promise(t=>{setTimeout(t,e).unref?.()})}async function abortableDelay(e,t){t.aborted||await new Promise(n=>{let r=setTimeout(done,e);r.unref?.(),t.addEventListener(`abort`,done,{once:!0});function done(){clearTimeout(r),t.removeEventListener(`abort`,done),n()}})}function authIssueForStatus(e){if(e===`logged-out`)return LOGIN_SETUP_ISSUE;if(e===`cli-missing`)return CLI_MISSING_SETUP_ISSUE}var EveTUIRunner=class{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v=!1;#y;#b;#x=!0;#S;#C;#w;#T;#E;#D;#O;#k;#A;#j=!1;#M=new AbortController;#N=!1;#P=0;#F=0;#I=[];#L;#R;#z;#B;#V=new Map;#H;#U=[];#W;#G=!1;#K;#q=new Map;#J=new Set;#Y;#X;constructor(e){this.#e=e.session,e.client!==void 0&&(this.#t=e.client),e.lifecycle!==void 0&&(this.#X=e.lifecycle),this.#n=createRenderer(e);let t={formatActionResultError};if(this.#t!==void 0&&(t.client=this.#t),this.#n.subagents!==void 0&&(t.view=this.#n.subagents),e.appRoot!==void 0&&(t.onToolCompleted=async(e,t,n)=>{let r=registryHandoffAddress(e,t,n);r!==void 0&&this.#pe(r)}),this.#K=new SubagentPump(t),this.#r=e.name??`eve`,this.#w=e.withExclusiveTerminal,this.#i=e.tools??`full`,this.#a=e.reasoning??`full`,this.#o=e.subagents??`full`,this.#s=e.connectionAuth??`full`,this.#c=e.assistantResponseStats??`tokensPerSecond`,this.#l=e.contextSize,this.#u=e.formatTransportError??toErrorMessage,e.initialInput!==void 0&&(this.#m=e.initialInput),e.startup!==void 0&&(this.#h=e.startup),this.#_=e.onboard===!0,this.#y=e.onOnboardingStep,this.#b=e.onOnboardingTerminal,e.appRoot!==void 0){this.#p=e.appRoot;let t={appRoot:e.appRoot,onChange:e=>this.#n.setVercelStatus?.(e)};e.detectProjectIdentity!==void 0&&(t.detectIdentity=e.detectProjectIdentity),this.#R=createVercelStatusTracker(t),e.probeMcpConnection!==void 0&&(this.#z=createMcpConnectionStatusTracker({onChange:()=>{},probe:e.probeMcpConnection}))}if(e.promptCommandHandler!==void 0&&(this.#S=e.promptCommandHandler),this.#C=e.availablePromptCommands??PROMPT_COMMANDS,e.remote!==void 0){if(this.#E=e.remote.runAuthFlow,this.#t===void 0)throw Error(`A remote TUI requires a configured development client.`);this.#T=createRemoteConnectionController({client:this.#t,credentials:e.remote.credentials,target:e.remote.target,onChange:e=>this.#n.setRemoteConnectionStatus?.(e),resolveOidcToken:e.remote.resolveOidcToken,resolveDeployment:e.remote.resolveDeployment})}this.#D=e.bootDetections??BOOT_DETECTIONS,this.#O=e.getVercelAuthStatus??getVercelAuthStatus,this.#k=e.inspectApplication??inspectApplication,e.onBootProgress!==void 0&&(this.#A=e.onBootProgress),e.serverUrl!==void 0&&(this.#f=e.serverUrl),e.serverUrl!==void 0&&e.remote===void 0&&(this.#d=createDevelopmentRuntimeArtifactRefresher({serverUrl:e.serverUrl}))}async#Z(){if(this.#f===void 0){this.#ee(),this.#_||await this.#he(void 0);return}let e;if(this.#T!==void 0){let t=await this.#T.check();t.state===`ready`&&(e=t.info)}else{let t=this.#t;if(t!==void 0)try{let n=await devBootPhase(`connecting to agent`,()=>probeAgentInfo({client:t,timeoutMs:2e3}),this.#A);n.kind===`ready`&&(e=n.info)}catch{e=void 0}}this.#ee();let t=this.#$(e);this.#_||await this.#he(t)}#Q(){let e=this.#h?.finish();return this.#g=e?.queuedPrompt,e?.draft??this.#m}#$(e){let t=this.#p===void 0?e:normalizeLocalModelEndpoint(e,process.env);this.#B=t;let n=this.#f;if(n===void 0||this.#x)return t;let r={name:this.#r,serverUrl:n};return t!==void 0&&(r.info=t),this.#n.renderAgentHeader?.(r),t}#ee(){let e=this.#A;this.#A=void 0,e?.({type:`before-first-paint`})}async run(){let onStop=()=>this.#n.requestInterrupt?.();this.#X?.signal.aborted===!0?onStop():this.#X?.signal.addEventListener(`abort`,onStop,{once:!0});try{await this.#te()}finally{this.#X?.signal.removeEventListener(`abort`,onStop),this.#j=!0,this.#M.abort(),this.#K.abortAll(),this.#n.shutdown?.(),this.#R?.dispose(),this.#z?.dispose(),this.#T?.dispose()}}async#te(){let e=this.#r,t,n,r=!1,i=!1,a=!1;this.#n.setStartupPhase?.(`starting`),await this.#Z(),this.#R?.refreshIdentity(),this.#z?.refresh();let o=(this.#_||this.#B?.agent.model.endpoint?.kind===`gateway`&&!this.#B.agent.model.endpoint.connected)&&this.#p!==void 0&&this.#S!==void 0&&this.#n.setupFlow!==void 0,s;if(this.#T!==void 0&&this.#n.setupFlow!==void 0){let e=await prepareRemoteTuiAccess({connection:this.#T,renderer:this.#n.setupFlow,signal:this.#X?.signal,runAuthFlow:this.#E});if(e?.kind===`authenticated`){let e=this.#T.current().connection;e.state===`ready`&&this.#$(e.info)}else e?.kind===`failed`||e?.kind===`unavailable`?s={failed:!0,message:e.kind===`failed`?e.message:e.failure.message}:e?.kind===`cancelled`&&(s={cancelled:!0},e.completedMutations.length>0&&(s.message=`Completed before cancellation: ${describeRemoteAuthCompletedMutations(e.completedMutations).join(`, `)}.`))}o&&(this.#n.setStartupPhase?.(`connecting`),s=await this.#we(e));let c=this.#Q();for(s?.cancelled||s?.failed?c=[this.#g,c].filter(Boolean).join(`
2
2
 
3
3
  `)||void 0:t=this.#g,this.#x=!1,this.#$(this.#B),this.#ge(),this.#n.setStartupPhase?.(void 0),(!o||s?.cancelled||s?.failed)&&s?.message!==void 0&&this.#ye({kind:`result`,message:s.message});;){if(this.#X?.signal.aborted===!0||this.#n.exitRequested?.()===!0)return;let o=this.#U[0];if(o!==void 0&&n===void 0&&this.#H===void 0){this.#U.shift(),this.#W=o;try{await this.#me(o)}finally{this.#W=void 0}i=!1,a=!1,t=void 0;continue}if(!a){if(t==null){if(!this.#n.readPrompt){if(r)return;throw Error(`No prompt was provided and the renderer does not support prompt input.`)}let n={title:e};c!==void 0&&(n.initialDraft=c,c=void 0);try{this.#G=!0,t=await this.#se(n)}catch(e){if(isInterruptedError(e)){if(this.#H===void 0&&this.#U.length===0)return;a=!0,t=``}else throw e}finally{this.#G=!1}if(this.#U.length>0&&this.#H===void 0){t=void 0;continue}if(t==null&&this.#H===void 0)return}let o=this.#H===void 0?parsePromptCommand(t):null;if(o?.type===`exit`){this.#ye({kind:`dismiss`}),this.#X?.requestStop();return}if(o?.type===`cancel`&&(i=await this.#ie({absent:`No active turn to cancel`,accepted:`Cancellation requested`,failed:`Couldn't cancel the turn`,invoke:e=>e.cancel()}),n=void 0,a=!1,t=void 0,!i))continue;if(o?.type===`reset`){if(!await this.#ae()){n=void 0,a=!1,t=void 0;continue}this.#ye({kind:`dismiss`}),n=void 0,a=!1,t=void 0;continue}if(o?.type===`compact`&&(i=await this.#ie({absent:`No active session to compact`,accepted:`Compaction requested`,failed:`Couldn't compact the session`,invoke:e=>e.compact()}),n=void 0,a=!1,t=void 0,!i)||o?.type===`clear`&&(i=await this.#ie({absent:`No active session to clear`,failed:`Couldn't clear the session`,dismissOnAccepted:!0,invoke:e=>e.clear()}),n=void 0,a=!1,t=void 0,!i))continue;if(o?.type===`help`){if(this.#n.choosePromptCommand!==void 0){let e=await this.#n.choosePromptCommand(this.#C);e!==void 0&&(c=e)}else this.#ye({kind:`result`,message:formatPromptCommandHelp(this.#C)});n=void 0,a=!1,t=void 0;continue}if(o?.type===`info`){await this.#De(),n=void 0,a=!1,t=void 0;continue}if(o?.type===`loglevel`){let e=this.#Oe(o.argument),r=e.startsWith(`/loglevel is not available`)||e.startsWith(`Unknown log level`);this.#ye(r?{kind:`result`,message:e}:{kind:`result`,summary:e}),n=void 0,a=!1,t=void 0;continue}if(o?.type===`traces`){await this.#Ee(o.argument),n=void 0,a=!1,t=void 0;continue}if(o?.type===`extension`){try{await this.#Ce(o,e,{trigger:`command`})}catch(e){if(isInterruptedError(e))return;throw e}n=void 0,t=void 0,a=!1;continue}r=!0}let s=this.#H;this.#H=void 0;let l=s??(i?this.#de():await(async()=>(this.#re(),await this.#le({prompt:a?void 0:t,inputResponses:n})))()),u=this.#e?.state.sessionId;u!==void 0&&this.#n.setSessionId?.(u);let d=t,f=!1;try{for(;;){await this.#n.renderStream(l,{title:e,submittedPrompt:d,continueSession:!!this.#n.readPrompt,tools:this.#i,reasoning:this.#a,subagents:this.#o,connectionAuth:this.#s,assistantResponseStats:this.#c,contextSize:this.#l});let r=l.turnState?.pendingApprovals??[],i=l.turnState?.pendingQuestions??[];if(r.length>0||i.length>0){let o=[];if(r.length>0){if(!this.#n.readToolApproval)throw Error(`Tool approval was requested, but the renderer does not support tool approval input.`);for(let t of r){let n=await this.#n.readToolApproval(t,{title:e});o.push({requestId:t.approvalId,optionId:n.approved?`approve`:`cancel`})}}if(i.length>0){if(!this.#n.readInputQuestion)throw Error(`An interactive question was requested, but the renderer does not support input questions.`);for(let t of i){let n=toAgentTUIInputQuestion(t),r=await this.#n.readInputQuestion(n,{title:e});if(r===void 0)continue;let i={requestId:t.requestId};r.optionId!==void 0&&(i.optionId=r.optionId),r.text!==void 0&&(i.text=r.text),o.push(i)}}if(o.length===0)break;a=!0,n=o,t=void 0,f=!0;break}if(this.#Pe(l)){l=this.#de(),d=void 0;continue}if(l.turnState&&l.turnState.boundaryEvent===void 0&&!l.turnState.aborted){let e=this.#e?.state.sessionId;this.#n.renderNotice?.(e?`Lost the event stream — the turn may still be running on the server (session ${e}). Your next message resumes this session; use /cancel to stop the turn.`:`Lost the connection to the running turn.`)}break}}catch(e){if(isInterruptedError(e))return;throw e}if(f)continue;i=!1,a=!1,n=void 0,t=void 0;let p=l.turnState?.boundaryEvent;this.#Y!==this.#e&&(p===`session.waiting`||p===`session.completed`)&&(t=this.#n.takeQueuedPrompt?.()),this.#re(l.turnState?.aborted===!0)}}#ne(){this.#K.abortAll(),this.#V.clear(),this.#q.clear(),this.#J.clear(),this.#n.setConnectionAuthPendingCount?.(0),this.#e=void 0,this.#d?.clear()}#re(e=!1){let t=this.#Y;t!==void 0&&(this.#Y=void 0,this.#e===t&&(this.#ne(),e?this.#n.renderNotice?.(`Stopped following the turn and started a new session. Earlier context was cleared; the interrupted turn may still be running on the server.`):this.#n.renderSessionBoundary===void 0?this.#n.renderNotice?.(`Session ended — started a new session. Earlier context was cleared.`):this.#n.renderSessionBoundary()))}async#ie(e){let t=this.#e;if(t===void 0)return this.#ye({kind:`result`,summary:e.absent}),!1;try{return(await e.invoke(t)).status===`accepted`?(this.#ye(e.dismissOnAccepted===!0?{kind:`dismiss`}:{kind:`result`,summary:e.accepted}),!0):(this.#ye({kind:`result`,summary:e.absent}),!1)}catch(t){return this.#ye({kind:`result`,message:toErrorMessage(t),summary:e.failed}),!1}}async#ae(){if(this.#e===void 0)return this.#ne(),this.#n.reset?.(),!0;try{await this.#e.reset()}catch(e){return this.#ye({kind:`result`,message:`Couldn't reset the session: ${toErrorMessage(e)}`}),!1}return this.#ne(),this.#n.reset?.(),!0}async#oe(e){if(!this.#n.readPrompt)return;let t=this.#n.readPrompt(e),n=this.#d;if(n===void 0)return await t;let r=!1,i=!1,a,o=!1,s=0,refresh=async()=>{if(!(r||i)){i=!0;try{await n.refreshIdle({onRuntimeArtifactsChanged:()=>this.#Me()}),this.#p!==void 0&&this.#B===void 0&&!o&&(o=!0,this.#Ae().finally(()=>{o=!1}));let e=this.#B?.agent.model.endpoint,t=e?.kind===`chatgpt`&&(e.state===`signed-out`||e.state===`reauth-required`),r=Date.now();t&&r-s>=5e3&&(s=r,this.#Ae())}finally{i=!1}}},startRefresh=()=>{if(r||i)return;let e=refresh().finally(()=>{a===e&&(a=void 0)});a=e};startRefresh();let c=setInterval(()=>{startRefresh()},500);c.unref?.();try{return await t}finally{r=!0,clearInterval(c),await a}}async#se(e){let t=this.#oe(e);if(this.#n.renderIdleStream===void 0||this.#e?.state.sessionId===void 0)return await t;let n=new AbortController,r=this.#ce(n.signal,e).catch(e=>{n.signal.aborted||this.#n.renderNotice?.(`Stopped following session updates: ${toErrorMessage(e)}`)});try{return await t}finally{n.abort(),await r}}async#ce(e,t){let n=this.#e;if(n===void 0)return;let r=100;for(;!e.aborted;){let i=n.stream({signal:e})[Symbol.asyncIterator](),a=!1;try{for(;!e.aborted;){let r=!1,o={async*[Symbol.asyncIterator](){for(;!e.aborted;){let e=await i.next();if(e.done===!0||(r=!0,a=!0,yield e.value,isCurrentTurnBoundaryEvent(e.value)))return}}},s=this.#fe(o,()=>{},n);if(await this.#n.renderIdleStream(s,{...t,continueSession:!0}),this.#Pe(s),(s.turnState?.pendingApprovals.length??0)>0||(s.turnState?.pendingQuestions.length??0)>0){this.#H={events:(async function*(){})(),turnState:s.turnState},this.#n.suspendPromptForInput?.();return}if(s.turnState?.boundaryEvent===`session.completed`||s.turnState?.boundaryEvent===`session.failed`)return;if(!r)break}}finally{await i.return?.()}r=a?100:Math.min(r*2,2e3),e.aborted||await abortableDelay(r,e)}}async#le(e){let t=new AbortController,n={signal:t.signal};e.prompt!==void 0&&(n.message=e.prompt),e.inputResponses!==void 0&&e.inputResponses.length>0&&(n.inputResponses=e.inputResponses);let r,i=this.#e;try{if(this.#d!==void 0&&await this.#d.refresh({inputResponses:n.inputResponses,message:n.message,onRuntimeArtifactsChanged:()=>this.#Me()}),n.message!==void 0&&(n.inputResponses?.length??0)===0&&this.#n.flushDelayedDevBuildErrors?.(),this.#e===void 0){if(this.#t===void 0)throw Error(`Cannot create a session without an eve client.`);if(n.message===void 0)throw Error(`Cannot answer an input request before the session starts.`);let e=await this.#t.sessions.create({...n,message:n.message});this.#e=e.session,r=e.response}else r=n.inputResponses===void 0?await this.#e.send(n.message,{signal:n.signal,turnPolicy:`queue`}):await this.#e.respond(n.inputResponses,{signal:n.signal})}catch(e){if(isInterruptedError(e))throw e;return this.#T?.reportFailure(e),this.#Y=i,{events:errorOnlyTUIStream({errorText:this.#u(e)}),turnState:createTurnState()}}return this.#fe(r,()=>t.abort(),this.#e)}async#ue(e,t){if(e.cancelInFlight!==!0){e.cancelInFlight=!0;try{for(let n=0;n<8;n+=1){if(e.boundaryEvent!==void 0||e.aborted===!0)return;let n=e.turnId;try{if((await t?.cancel(n===void 0?void 0:{turnId:n}))?.status===`accepted`)return}catch{}await delayMs(250)}}finally{e.cancelInFlight=!1}}}#de(){if(this.#e===void 0)throw Error(`Cannot stream a session before its first turn is accepted.`);let e=new AbortController,t=this.#e;return this.#fe(t.stream({signal:e.signal}),()=>e.abort(),t)}#fe(e,t,n){let r=createTurnState(),i=n===void 0?void 0:new SteeringStream(e,n);return{steer:i===void 0?void 0:e=>i.send(e),abort:()=>{r.aborted=!0,this.#Y=n,i?.abort(),t()},cancel:()=>{this.#ue(r,n)},events:eveEventsToTUIStream({onAssistantResponse:()=>{this.#_&&!this.#v&&(this.#v=!0,this.#y?.({flow:`onboarding`,step:`first_response`}))},events:i??e,pendingInputRequests:this.#V,turnState:r,onSubagentCalled:e=>this.#K.begin(e),onSubagentBackgrounded:e=>this.#K.background(e),onSubagentCompleted:e=>this.#K.settle(e),onTurnCancelled:e=>this.#K.settleCancelledTurn(e),onConnectionAuthRequired:e=>this.#Ne(e),onConnectionAuthCompleted:e=>this.#Fe(e),onRegistryHandoff:this.#p===void 0?void 0:async e=>this.#pe(e),onTerminalFailure:()=>{this.#Y=n},failureHintOverride:this.#p===void 0?void 0:localFailureHint}),turnState:r}}#pe(e){this.#W===e||this.#U.includes(e)||(this.#U.push(e),this.#G&&this.#n.suspendPromptForInput?.())}async#me(e){this.#n.renderCommandInvocation?.(`/add ${e}`),await this.#Ce({type:`extension`,name:`add`,argument:e},`Add to your agent`,{trigger:`command`})}async#he(e){if(this.#p===void 0)return;let t={appRoot:this.#p,env:process.env};e!==void 0&&(t.info=e),this.#I=await detectSetupIssues(t,this.#D),this.#n.renderSetupWarning!==void 0&&(this.#ge(),this.#_e())}#ge(){if(this.#x)return;let e=orderedSetupIssues(this.#I,this.#L);e.length>0?this.#n.renderSetupWarning?.(formatSetupIssuesLine(e)):this.#n.clearSetupWarning?.()}async#_e(){let e=this.#p;if(e===void 0||process.env.EVE_MODEL_CONNECTION!==`ai-gateway-project`)return;let t;try{t=await this.#O(e,{signal:this.#M.signal})}catch{return}this.#j||this.#N||(this.#L=authIssueForStatus(t),this.#ge())}async#ve(e){let t=this.#p;if(t===void 0||this.#n.renderSetupWarning===void 0)return;let n=++this.#P,r={appRoot:t,env:process.env};e!==void 0&&(r.info=e);try{let[e,i]=await Promise.all([detectSetupIssues(r,this.#D),process.env.EVE_MODEL_CONNECTION===`ai-gateway-project`?this.#O(t,{signal:this.#M.signal}):void 0]);if(this.#j||n!==this.#P)return;this.#I=e,this.#L=i===void 0?void 0:authIssueForStatus(i),this.#ge()}catch{return}}#ye(e){if(this.#n.finishCommand!==void 0){this.#n.finishCommand(e);return}if(e.kind===`result`){let t=[e.summary,e.message].filter(Boolean).join(`
4
- `);t!==``&&this.#n.renderNotice?.(t)}}async#be(e,t){let n=this.#S;if(n===void 0)return{message:`/${e.name} is not available in this session.`};let r=this.#B?.agent.model.endpoint,i={...t,renderer:this.#n,settleOutcome:e=>this.#Se(e),chatGptAccountLabel:r?.kind===`chatgpt`&&r.state===`ready`?r.accountLabel:void 0,withExclusiveTerminal:this.#w},a=this.#z?.current(),o=a!==void 0&&Object.keys(a).length>0?{...i,disabledConnectionReasons:a}:i;return await n.handle(e,o)}async#xe(e){if(e?.kind===`model-access-changed`){this.#R?.applyEffect({kind:`refresh-identity`}),this.#N=!0,await this.#ke(e);return}e!==void 0&&(this.#R?.applyEffect(e),this.#N=!0,this.#ve(this.#B))}async#Se(e){if(e.effect===void 0)return e;let t=e.effect.kind===`model-access-changed`&&e.effect.reload?setTimeout(()=>{this.#x&&this.#n.setStartupPhase?.(`updating`),this.#n.setupFlow?.setStatus(`Loading selected model…`)},150):void 0;try{await this.#xe(e.effect);let{effect:t,...n}=e;return n}catch{return{failed:!0,message:`Settings were saved, but the agent could not reload. Retry the command or restart eve dev.`}}finally{clearTimeout(t)}}async#Ce(e,t,n){let r=await this.#be(e,{...n,title:t}),i=r===void 0?void 0:await this.#Se(r);return!(n.suppressSuccessfulTranscript===!0&&i?.failed!==!0||n.suppressCancelledTranscript===!0&&i?.cancelled===!0)&&n.trigger!==`startup`&&(i===void 0?this.#ye({kind:`result`}):this.#ye({kind:`result`,message:i.message,summary:i.summary})),this.#Te(),i}async#we(e){this.#y?.({flow:`onboarding`,step:`model_provider`});let t=await this.#Ce({type:`extension`,name:`login`,argument:``},e,{trigger:`startup`,initialModelStep:`provider`});return!t?.cancelled&&t?.failed!==!0&&this.#y?.({flow:`onboarding`,step:`connection_ready`}),this.#b?.({flow:`onboarding`,step:`model_provider`,result:t?.cancelled?`cancelled`:t?.failed===!0?`error`:`completed`}),t}#Te(){if(this.#x)return;let e=this.#T?.current().connection;e?.state===`ready`&&e.info!==this.#B&&(this.#B=e.info,this.#f!==void 0&&this.#n.renderAgentHeader?.({info:e.info,name:this.#r,serverUrl:this.#f}))}async#Ee(e){if(this.#p===void 0||this.#n.traceViewer===void 0){this.#ye({kind:`result`,message:`/traces is only available in local dev sessions.`});return}try{await this.#n.traceViewer.open({appRoot:this.#p,sessionId:this.#e?.state.sessionId,reference:e===``?void 0:e})}catch(e){if(isInterruptedError(e))return;throw e}finally{this.#ye({kind:`dismiss`})}}async#De(){let e=this.#p;if(e===void 0){this.#ye({kind:`result`,message:`/info is only available in local dev sessions.`});return}try{let t=renderApplicationInfo(await this.#k(e));this.#n.showInfoPanel===void 0?this.#ye({kind:`result`,message:t}):await this.#n.showInfoPanel(t)}catch(e){this.#ye({kind:`result`,message:`Couldn't inspect the application: ${toErrorMessage(e)}`})}}#Oe(e){let t=this.#n;if(t.logDisplayMode===void 0||t.setLogDisplayMode===void 0)return`/loglevel is not available in this session.`;if(e===``)return`Logs: ${t.logDisplayMode()}. Use /loglevel all|stderr|sandbox|none — logs stay buffered, so switching also hides or restores past lines.`;let n=parseLogDisplayMode(e);if(n===void 0)return`Unknown log level "${e}". Use all, stderr, sandbox, or none.`;if(n===t.logDisplayMode())return`Logs already set to ${n}.`;switch(t.setLogDisplayMode(n),n){case`none`:return`Logs hidden. Output stays buffered — /loglevel all restores it.`;case`stderr`:return`Showing stderr logs only.`;case`sandbox`:return`Showing sandbox logs only.`;case`all`:return`Showing all logs.`}}async#ke(e){let t=this.#p;t!==void 0&&(++this.#F,++this.#P,await loadDevelopmentEnvironmentFiles(t),e.reload&&await this.#d?.refreshAfterSourceChange({}),e.model&&this.#B?this.#$({...this.#B,agent:{...this.#B.agent,model:{...this.#B.agent.model,...e.model}}}):this.#$(this.#B),this.#I=[],this.#L=void 0,this.#ge(),this.#Ae())}async#Ae(e=!1){let t=this.#B,n=++this.#F,r=await this.#je();this.#j||n!==this.#F||r===void 0||(this.#$(r),e&&!this.#n.renderAgentHeader&&this.#n.renderNotice?.(formatAgentUpdateNotice(t,r)),this.#ve(this.#B))}async#je(){let e=this.#t;if(e===void 0)return;let t=await probeAgentInfo({client:e});return t.kind===`ready`?t.info:void 0}#Me(){this.#Ae(!0)}#Ne(e){let t={name:e.data.name,description:e.data.description,state:`required`};e.data.authorization!==void 0&&(t.challenge=e.data.authorization),e.data.webhookUrl!==void 0&&(t.webhookUrl=e.data.webhookUrl),this.#q.set(e.data.name,t),this.#Ie(t)}#Pe(e){if(e.turnState?.boundaryEvent!==`session.waiting`)return!1;let t=!1;for(let e of this.#q.values())e.state===`required`&&e.webhookUrl!==void 0&&(e.state=`pending`,this.#J.add(e.name),this.#Ie(e),t=!0);return t&&this.#n.setConnectionAuthPendingCount?.(this.#J.size),this.#J.size>0}#Fe(e){let t=this.#q.get(e.data.name)??{name:e.data.name,description:``,state:e.data.outcome};t.state=e.data.outcome,e.data.reason!==void 0&&(t.reason=e.data.reason),this.#q.set(e.data.name,t),this.#J.delete(e.data.name),this.#Ie(t),this.#n.setConnectionAuthPendingCount?.(this.#J.size)}#Ie(e){let t={name:e.name,description:e.description,state:e.state};e.challenge!==void 0&&(t.challenge=e.challenge),e.reason!==void 0&&(t.reason=e.reason),this.#n.upsertConnectionAuth?.(t)}};function createRenderer(e){return e.renderer?e.renderer:new TerminalRenderer({tools:e.tools,reasoning:e.reasoning,subagents:e.subagents,connectionAuth:e.connectionAuth,assistantResponseStats:e.assistantResponseStats,contextSize:e.contextSize,logs:e.logs,availablePromptCommands:e.availablePromptCommands,argumentSuggestions:e.argumentSuggestions,input:e.userInput,output:e.screen,diagnostics:e.diagnostics,onExitRequest:e.lifecycle?.requestStop})}function formatAgentUpdateNotice(e,t){let n=e?.agent.model.id,r=t?.agent.model.id;return n!==void 0&&r!==void 0&&n!==r?`Agent updated: Model ${n} -> ${r}`:`Agent updated.`}function registryHandoffAddress(e,t,n){if((e!==`self-modification__agent`||t!==`registry_add`)&&(e!==void 0||t!==`selfmod__registry_add`)||typeof n!=`object`||!n)return;let r=n;return r.status===`needs-terminal`&&typeof r.address==`string`?r.address:void 0}async function*eveEventsToTUIStream(e){let{events:t,pendingInputRequests:n,turnState:r,onSubagentCalled:i,onSubagentBackgrounded:a,onSubagentCompleted:o,onTurnCancelled:s,onConnectionAuthRequired:c,onConnectionAuthCompleted:l,onRegistryHandoff:u,onTerminalFailure:d,failureHintOverride:f}=e,p=new Map,m=new Map,h=new Map,g=createEventDeduper(),_=0,v=new Set,y=new Set,b=new Set,x=!1,S=!1,C;for await(let w of t)if(g.admit(w)&&!(S&&isPostTurnVisibleEvent(w)))switch(w.type){case`session.started`:case`message.received`:break;case`turn.started`:w.data.turnId!==r.turnId&&(S=!1),r.turnId=w.data.turnId,yield{type:`turn-start`,turnId:w.data.turnId};break;case`step.started`:_+=1,yield{type:`step-start`,modelId:w.data.modelId};break;case`step.completed`:{let e=w;C=e.data.usage,yield*closeOpenParts(p,`assistant-complete`,_),yield*closeOpenParts(m,`reasoning-complete`,_),yield{type:`step-finish`,usage:e.data.usage};break}case`message.appended`:{let t=w,n=textPartId(t.data.turnId,t.data.stepIndex),r=partStateFor(p,n);if(r.completed){if(_<=r.completedEpoch)break;r.generation+=1,r.text=``,r.completed=!1}let i=t.data.messageDelta;if(i.length===0)break;r.text+=i,i&&e.onAssistantResponse?.(),yield{type:`assistant-delta`,id:partGenerationId(n,r.generation),delta:i};break}case`message.completed`:{let t=textPartId(w.data.turnId,w.data.stepIndex),n=partStateFor(p,t),r=w.data.message;if(n.completed){if(r===null||_<=n.completedEpoch)break;n.generation+=1,n.text=r,n.completedEpoch=_,yield{type:`assistant-complete`,id:partGenerationId(t,n.generation),text:r};break}let i=partGenerationId(t,n.generation);if(r!==null){if(n.text.length===0)n.text=r,n.completed=!0,n.completedEpoch=_,yield{type:`assistant-complete`,id:i,text:r};else if(r.startsWith(n.text)){let t=r.slice(n.text.length);t.length>0&&(t&&e.onAssistantResponse?.(),yield{type:`assistant-delta`,id:i,delta:t}),n.text=r,n.completed=!0,n.completedEpoch=_,yield{type:`assistant-complete`,id:i}}else n.text=r,n.completed=!0,n.completedEpoch=_,yield{type:`assistant-complete`,id:i,text:r}}else n.text.length>0&&(n.completed=!0,n.completedEpoch=_,yield{type:`assistant-complete`,id:i});break}case`reasoning.appended`:{let e=w,t=reasoningPartId(e.data.turnId,e.data.stepIndex),n=partStateFor(m,t);if(n.completed){if(_<=n.completedEpoch)break;n.generation+=1,n.text=``,n.completed=!1}let r=e.data.reasoningDelta;if(r.length===0)break;n.text+=r,yield{type:`reasoning-delta`,id:partGenerationId(t,n.generation),delta:r};break}case`reasoning.completed`:{let e=reasoningPartId(w.data.turnId,w.data.stepIndex),t=partStateFor(m,e),n=w.data.reasoning;if(t.completed){if(n.length===0||_<=t.completedEpoch)break;t.generation+=1,t.text=n,t.completedEpoch=_;let r=partGenerationId(e,t.generation);yield{type:`reasoning-delta`,id:r,delta:n},yield{type:`reasoning-complete`,id:r};break}let r=partGenerationId(e,t.generation);if(t.text.length===0&&n.length>0)t.text=n,yield{type:`reasoning-delta`,id:r,delta:n};else if(n.length>0&&!n.startsWith(t.text)){yield{type:`reasoning-complete`,id:r},t.generation+=1,t.text=n,t.completed=!0,t.completedEpoch=_;let i=partGenerationId(e,t.generation);yield{type:`reasoning-delta`,id:i,delta:n},yield{type:`reasoning-complete`,id:i};break}t.completed=!0,t.completedEpoch=_,yield{type:`reasoning-complete`,id:r};break}case`actions.requested`:{let e=w.data.actions.filter(e=>e.kind===`tool-call`);if(e.length===0)break;for(let t of e)h.set(t.callId,t.toolName),!v.has(t.callId)&&(v.add(t.callId),yield{type:`tool-call`,toolCallId:t.callId,toolName:t.toolName,input:t.input});break}case`input.requested`:{let e=w.data.requests.filter(e=>e.action.kind===`tool-call`);if(e.length===0)break;for(let t of e){let e=t.action.callId;if(h.set(e,t.action.toolName),t.kind!==`session-limit`&&!v.has(e)&&(v.add(e),yield{type:`tool-call`,toolCallId:e,toolName:t.action.toolName,input:t.action.input}),!y.has(t.requestId)){if(y.add(t.requestId),n.set(t.requestId,t),t.kind!==`tool-approval`){upsertPendingQuestion(r,t);continue}upsertPendingApproval(r,t),yield{type:`tool-approval-request`,approvalId:t.requestId,toolCallId:e}}}break}case`approval.candidate`:{if(w.data.outcome===`pending`)break;let e=n.get(w.data.requestId);e!==void 0&&upsertPendingApproval(r,e);break}case`approval.settled`:case`input.resolved`:{let e=new Set(w.type===`input.resolved`?w.data.resolutions.map(e=>e.requestId):[w.data.requestId]);for(let t of e)n.delete(t);r.pendingApprovals=r.pendingApprovals.filter(t=>!e.has(t.approvalId)),r.pendingQuestions=r.pendingQuestions.filter(t=>!e.has(t.requestId));break}case`action.result`:{let e=w,t=e.data.result,n=`output`in t?t.output:void 0;if(e.data.status===`completed`&&isJsonObjectValue(n)&&n.status===`working`&&typeof n.taskId==`string`&&typeof n.agentId==`string`&&a?.(t.callId),e.data.result.kind!==`tool-result`)break;let r=e.data.result.callId;if(!v.has(r))break;switch(e.data.status){case`completed`:{let t=e.data.result.output;yield{type:`tool-result`,toolCallId:r,output:t};let n=registryHandoffAddress(void 0,h.get(r),t);n!==void 0&&await u?.(n);break}case`failed`:yield{type:`tool-error`,toolCallId:r,errorText:formatActionResultError(e)};break;case`rejected`:yield{type:`tool-rejected`,toolCallId:r,reason:formatActionResultError(e)}}break}case`step.failed`:case`turn.failed`:{let e=toFailureEvent(w,b,f);e&&(yield e);break}case`session.failed`:{r.sawSessionFailure=!0,d?.(w);let e=toFailureEvent(w,b,f);e&&(yield e),r.boundaryEvent=w.type,yield*closeOpenParts(p,`assistant-complete`,_),yield*closeOpenParts(m,`reasoning-complete`,_),yield{type:`finish`,usage:C},x=!0;return}case`session.waiting`:case`session.completed`:r.boundaryEvent=w.type,yield*closeOpenParts(p,`assistant-complete`,_),yield*closeOpenParts(m,`reasoning-complete`,_),yield{type:`finish`,usage:C},x=!0;return;case`turn.completed`:S=!0,yield*closeOpenParts(p,`assistant-complete`,_),yield*closeOpenParts(m,`reasoning-complete`,_);break;case`turn.cancelled`:s?.(w.data.turnId),yield*closeOpenParts(p,`assistant-complete`,_),yield*closeOpenParts(m,`reasoning-complete`,_),yield{type:`turn-cancelled`};break;case`subagent.called`:i?.(w);break;case`subagent.started`:case`subagent.event`:break;case`subagent.completed`:{let e=w;e.data.backgroundTask===void 0?o?.(e.data.callId):a?.(e.data.callId);break}case`authorization.required`:c?.(w);break;case`authorization.completed`:l?.(w)}x||(yield*closeOpenParts(p,`assistant-complete`,_),yield*closeOpenParts(m,`reasoning-complete`,_),yield{type:`finish`,usage:C})}async function*errorOnlyTUIStream(e){yield{type:`error`,errorText:e.errorText},yield{type:`finish`}}function createTurnState(){return{aborted:!1,pendingApprovals:[],pendingQuestions:[],sawSessionFailure:!1}}function upsertPendingApproval(e,t){let n=toAgentTUIToolApprovalRequest(t),r=e.pendingApprovals.findIndex(e=>e.approvalId===n.approvalId);r===-1?e.pendingApprovals.push(n):e.pendingApprovals[r]=n}function toAgentTUIToolApprovalRequest(e){return{approvalId:e.requestId,toolCallId:e.action.callId,toolName:e.action.toolName,input:e.action.input}}function upsertPendingQuestion(e,t){let n=e.pendingQuestions.findIndex(e=>e.requestId===t.requestId);n===-1?e.pendingQuestions.push(t):e.pendingQuestions[n]=t}function textPartId(e,t){return`text:${e}:${t}`}function reasoningPartId(e,t){return`reasoning:${e}:${t}`}function partStateFor(e,t){let n=e.get(t);return n===void 0&&(n={generation:0,text:``,completed:!1,completedEpoch:0},e.set(t,n)),n}function partGenerationId(e,t){return t===0?e:`${e}#${t}`}function*closeOpenParts(e,t,n){for(let[r,i]of e)i.completed||i.text.length===0||(i.completed=!0,i.completedEpoch=n,yield{type:t,id:partGenerationId(r,i.generation)})}function isPostTurnVisibleEvent(e){switch(e.type){case`actions.requested`:case`authorization.completed`:case`authorization.required`:case`input.requested`:case`message.appended`:case`message.completed`:case`reasoning.appended`:case`reasoning.completed`:case`result.completed`:case`step.completed`:case`step.failed`:case`step.started`:case`subagent.called`:case`subagent.completed`:case`subagent.event`:case`subagent.started`:case`turn.completed`:case`turn.failed`:return!0;default:return!1}}function formatActionResultError(e){if(e.data.error?.message)return e.data.error.message;let t=e.data.result.output;if(typeof t==`string`)return t;try{return JSON.stringify(t)}catch{return`Tool execution failed.`}}function toFailureEvent(e,t,n){let r=failureKey(e);if(t.has(r))return;t.add(r);let i={type:`error`,errorText:formatFailureMessage(e)},a=n?.(e)??formatFailureHint(e);a!==void 0&&(i.hint=a);let o=formatFailureDetail(e);return o!==void 0&&(i.detail=o),i}function toAgentTUIInputQuestion(e){let t=e.display===`text`?`text`:e.display===`select`||e.options!==void 0&&e.options.length>0?`select`:`text`,n={requestId:e.requestId,prompt:e.prompt,display:t};return e.options!==void 0&&(n.options=e.options.map(e=>{let t={id:e.id,label:e.label};return e.description!==void 0&&(t.description=e.description),e.style!==void 0&&(t.style=e.style),t})),e.allowFreeform!==void 0&&(n.allowFreeform=e.allowFreeform),n}export{EveTUIRunner,parsePromptCommand,registryHandoffAddress};
4
+ `);t!==``&&this.#n.renderNotice?.(t)}}async#be(e,t){let n=this.#S;if(n===void 0)return{message:`/${e.name} is not available in this session.`};let r=this.#B?.agent.model.endpoint,i={...t,renderer:this.#n,settleOutcome:e=>this.#Se(e),chatGptAccountLabel:r?.kind===`chatgpt`&&r.state===`ready`?r.accountLabel:void 0,withExclusiveTerminal:this.#w},a=this.#z?.current(),o=a!==void 0&&Object.keys(a).length>0?{...i,disabledConnectionReasons:a}:i;return await n.handle(e,o)}async#xe(e){if(e?.kind===`model-access-changed`){this.#R?.applyEffect({kind:`refresh-identity`}),this.#N=!0,await this.#ke(e);return}e!==void 0&&(this.#R?.applyEffect(e),this.#N=!0,this.#ve(this.#B))}async#Se(e){if(e.effect===void 0)return e;let t=e.effect.kind===`model-access-changed`&&e.effect.reload?setTimeout(()=>{this.#x&&this.#n.setStartupPhase?.(`updating`),this.#n.setupFlow?.setStatus(`Loading selected model…`)},150):void 0;try{await this.#xe(e.effect);let{effect:t,...n}=e;return n}catch{return{failed:!0,message:`Settings were saved, but the agent could not reload. Retry the command or restart eve dev.`}}finally{clearTimeout(t)}}async#Ce(e,t,n){let r=await this.#be(e,{...n,title:t}),i=r===void 0?void 0:await this.#Se(r);return!(n.suppressSuccessfulTranscript===!0&&i?.failed!==!0||n.suppressCancelledTranscript===!0&&i?.cancelled===!0)&&n.trigger!==`startup`&&(i===void 0?this.#ye({kind:`result`}):this.#ye({kind:`result`,message:i.message,summary:i.summary})),this.#Te(),i}async#we(e){this.#y?.({flow:`onboarding`,step:`model_provider`});let t=await this.#Ce({type:`extension`,name:`login`,argument:``},e,{trigger:`startup`,initialModelStep:`provider`});return!t?.cancelled&&t?.failed!==!0&&this.#y?.({flow:`onboarding`,step:`connection_ready`}),this.#b?.({flow:`onboarding`,step:`model_provider`,result:t?.cancelled?`cancelled`:t?.failed===!0?`error`:`completed`}),t}#Te(){if(this.#x)return;let e=this.#T?.current().connection;e?.state===`ready`&&e.info!==this.#B&&(this.#B=e.info,this.#f!==void 0&&this.#n.renderAgentHeader?.({info:e.info,name:this.#r,serverUrl:this.#f}))}async#Ee(e){if(this.#p===void 0||this.#n.traceViewer===void 0){this.#ye({kind:`result`,message:`/traces is only available in local dev sessions.`});return}try{await this.#n.traceViewer.open({appRoot:this.#p,sessionId:this.#e?.state.sessionId,reference:e===``?void 0:e})}catch(e){if(isInterruptedError(e))return;throw e}finally{this.#ye({kind:`dismiss`})}}async#De(){let e=this.#p;if(e===void 0){this.#ye({kind:`result`,message:`/info is only available in local dev sessions.`});return}try{let t=renderApplicationInfo(await this.#k(e));this.#n.showInfoPanel===void 0?this.#ye({kind:`result`,message:t}):await this.#n.showInfoPanel(t)}catch(e){this.#ye({kind:`result`,message:`Couldn't inspect the application: ${toErrorMessage(e)}`})}}#Oe(e){let t=this.#n;if(t.logDisplayMode===void 0||t.setLogDisplayMode===void 0)return`/loglevel is not available in this session.`;if(e===``)return`Logs: ${t.logDisplayMode()}. Use /loglevel all|stderr|sandbox|none — logs stay buffered, so switching also hides or restores past lines.`;let n=parseLogDisplayMode(e);if(n===void 0)return`Unknown log level "${e}". Use all, stderr, sandbox, or none.`;if(n===t.logDisplayMode())return`Logs already set to ${n}.`;switch(t.setLogDisplayMode(n),n){case`none`:return`Logs hidden. Output stays buffered — /loglevel all restores it.`;case`stderr`:return`Showing stderr logs only.`;case`sandbox`:return`Showing sandbox logs only.`;case`all`:return`Showing all logs.`}}async#ke(e){let t=this.#p;t!==void 0&&(++this.#F,++this.#P,await loadDevelopmentEnvironmentFiles(t),e.reload&&await this.#d?.refreshAfterSourceChange({}),e.model&&this.#B?this.#$({...this.#B,agent:{...this.#B.agent,model:{...this.#B.agent.model,...e.model}}}):this.#$(this.#B),this.#I=[],this.#L=void 0,this.#ge(),this.#Ae())}async#Ae(e=!1){let t=this.#B,n=++this.#F,r=await this.#je();this.#j||n!==this.#F||r===void 0||(this.#$(r),e&&!this.#n.renderAgentHeader&&this.#n.renderNotice?.(formatAgentUpdateNotice(t,r)),this.#ve(this.#B))}async#je(){let e=this.#t;if(e===void 0)return;let t=await probeAgentInfo({client:e});return t.kind===`ready`?t.info:void 0}#Me(){this.#Ae(!0)}#Ne(e){let t={name:e.data.name,description:e.data.description,state:`required`};e.data.authorization!==void 0&&(t.challenge=e.data.authorization),e.data.webhookUrl!==void 0&&(t.webhookUrl=e.data.webhookUrl),this.#q.set(e.data.name,t),this.#Ie(t)}#Pe(e){if(e.turnState?.boundaryEvent!==`session.waiting`)return!1;let t=!1;for(let e of this.#q.values())e.state===`required`&&e.webhookUrl!==void 0&&(e.state=`pending`,this.#J.add(e.name),this.#Ie(e),t=!0);return t&&this.#n.setConnectionAuthPendingCount?.(this.#J.size),this.#J.size>0}#Fe(e){let t=this.#q.get(e.data.name)??{name:e.data.name,description:``,state:e.data.outcome};t.state=e.data.outcome,e.data.reason!==void 0&&(t.reason=e.data.reason),this.#q.set(e.data.name,t),this.#J.delete(e.data.name),this.#Ie(t),this.#n.setConnectionAuthPendingCount?.(this.#J.size)}#Ie(e){let t={name:e.name,description:e.description,state:e.state};e.challenge!==void 0&&(t.challenge=e.challenge),e.reason!==void 0&&(t.reason=e.reason),this.#n.upsertConnectionAuth?.(t)}};function createRenderer(e){return e.renderer?e.renderer:new TerminalRenderer({tools:e.tools,reasoning:e.reasoning,subagents:e.subagents,connectionAuth:e.connectionAuth,assistantResponseStats:e.assistantResponseStats,contextSize:e.contextSize,logs:e.logs,availablePromptCommands:e.availablePromptCommands,argumentSuggestions:e.argumentSuggestions,input:e.userInput,output:e.screen,diagnostics:e.diagnostics,onExitRequest:e.lifecycle?.requestStop})}function formatAgentUpdateNotice(e,t){let n=e?.agent.model.id,r=t?.agent.model.id;return n!==void 0&&r!==void 0&&n!==r?`Agent updated: Model ${n} -> ${r}`:`Agent updated.`}function registryHandoffAddress(e,t,n){if((e!==`self-modification__agent`||t!==`registry_add`)&&(e!==void 0||t!==`selfmod__registry_add`)||typeof n!=`object`||!n)return;let r=n;return r.status===`needs-terminal`&&typeof r.address==`string`?r.address:void 0}async function*eveEventsToTUIStream(e){let{events:t,pendingInputRequests:n,turnState:r,onSubagentCalled:i,onSubagentBackgrounded:a,onSubagentCompleted:o,onTurnCancelled:s,onConnectionAuthRequired:c,onConnectionAuthCompleted:l,onRegistryHandoff:u,onTerminalFailure:d,failureHintOverride:f}=e,p=new Map,m=new Map,h=new Map,g=createEventDeduper(),_=0,v=new Set,y=new Set,b=new Set,x=!1,S=!1,C;for await(let w of t)if(g.admit(w)&&!(S&&isPostTurnVisibleEvent(w)))switch(w.type){case`session.started`:case`message.received`:break;case`turn.started`:w.data.turnId!==r.turnId&&(S=!1),r.turnId=w.data.turnId,yield{type:`turn-start`,turnId:w.data.turnId};break;case`step.started`:_+=1,yield{type:`step-start`,modelId:w.data.modelId};break;case`step.completed`:{let e=w;C=e.data.usage,yield*closeOpenParts(p,`assistant-complete`,_),yield*closeOpenParts(m,`reasoning-complete`,_),yield{type:`step-finish`,usage:e.data.usage};break}case`message.appended`:{let t=w,n=textPartId(t.data.turnId,t.data.stepIndex),r=partStateFor(p,n);if(r.completed){if(_<=r.completedEpoch)break;r.generation+=1,r.text=``,r.completed=!1}let i=t.data.messageDelta;if(i.length===0)break;r.text+=i,i&&e.onAssistantResponse?.(),yield{type:`assistant-delta`,id:partGenerationId(n,r.generation),delta:i};break}case`message.completed`:{let t=textPartId(w.data.turnId,w.data.stepIndex),n=partStateFor(p,t),r=w.data.message;if(n.completed){if(r===null||_<=n.completedEpoch)break;n.generation+=1,n.text=r,n.completedEpoch=_,yield{type:`assistant-complete`,id:partGenerationId(t,n.generation),text:r};break}let i=partGenerationId(t,n.generation);if(r!==null){if(n.text.length===0)n.text=r,n.completed=!0,n.completedEpoch=_,yield{type:`assistant-complete`,id:i,text:r};else if(r.startsWith(n.text)){let t=r.slice(n.text.length);t.length>0&&(t&&e.onAssistantResponse?.(),yield{type:`assistant-delta`,id:i,delta:t}),n.text=r,n.completed=!0,n.completedEpoch=_,yield{type:`assistant-complete`,id:i}}else n.text=r,n.completed=!0,n.completedEpoch=_,yield{type:`assistant-complete`,id:i,text:r}}else n.text.length>0&&(n.completed=!0,n.completedEpoch=_,yield{type:`assistant-complete`,id:i});break}case`reasoning.appended`:{let e=w,t=reasoningPartId(e.data.turnId,e.data.stepIndex),n=partStateFor(m,t);if(n.completed){if(_<=n.completedEpoch)break;n.generation+=1,n.text=``,n.completed=!1}let r=e.data.reasoningDelta;if(r.length===0)break;n.text+=r,yield{type:`reasoning-delta`,id:partGenerationId(t,n.generation),delta:r};break}case`reasoning.completed`:{let e=reasoningPartId(w.data.turnId,w.data.stepIndex),t=partStateFor(m,e),n=w.data.reasoning;if(t.completed){if(n.length===0||_<=t.completedEpoch)break;t.generation+=1,t.text=n,t.completedEpoch=_;let r=partGenerationId(e,t.generation);yield{type:`reasoning-delta`,id:r,delta:n},yield{type:`reasoning-complete`,id:r};break}let r=partGenerationId(e,t.generation);if(t.text.length===0&&n.length>0)t.text=n,yield{type:`reasoning-delta`,id:r,delta:n};else if(n.length>0&&!n.startsWith(t.text)){yield{type:`reasoning-complete`,id:r},t.generation+=1,t.text=n,t.completed=!0,t.completedEpoch=_;let i=partGenerationId(e,t.generation);yield{type:`reasoning-delta`,id:i,delta:n},yield{type:`reasoning-complete`,id:i};break}t.completed=!0,t.completedEpoch=_,yield{type:`reasoning-complete`,id:r};break}case`actions.requested`:{let e=w.data.actions.filter(e=>e.kind===`tool-call`);if(e.length===0)break;for(let t of e)h.set(t.callId,t.toolName),!v.has(t.callId)&&(v.add(t.callId),yield{type:`tool-call`,toolCallId:t.callId,toolName:t.toolName,input:t.input});break}case`input.requested`:{let e=w.data.requests.filter(e=>e.action.kind===`tool-call`);if(e.length===0)break;for(let t of e){let e=t.action.callId;if(h.set(e,t.action.toolName),t.kind!==`session-limit`&&!v.has(e)&&(v.add(e),yield{type:`tool-call`,toolCallId:e,toolName:t.action.toolName,input:t.action.input}),!y.has(t.requestId)){if(y.add(t.requestId),n.set(t.requestId,t),t.kind!==`tool-approval`){upsertPendingQuestion(r,t);continue}upsertPendingApproval(r,t),yield{type:`tool-approval-request`,approvalId:t.requestId,toolCallId:e}}}break}case`approval.candidate`:{if(w.data.outcome===`pending`)break;let e=n.get(w.data.requestId);e!==void 0&&upsertPendingApproval(r,e);break}case`approval.settled`:case`input.resolved`:{let e=new Set(w.type===`input.resolved`?w.data.resolutions.map(e=>e.requestId):[w.data.requestId]);for(let t of e)n.delete(t);r.pendingApprovals=r.pendingApprovals.filter(t=>!e.has(t.approvalId)),r.pendingQuestions=r.pendingQuestions.filter(t=>!e.has(t.requestId));break}case`action.result`:{let e=w,t=e.data.result,n=`output`in t?t.output:void 0;if(e.data.status===`completed`&&isJsonObjectValue(n)&&n.status===`working`&&typeof n.taskId==`string`&&typeof n.agentId==`string`&&a?.(t.callId),e.data.result.kind!==`tool-result`)break;let r=e.data.result.callId;if(!v.has(r))break;switch(e.data.status){case`completed`:{let t=e.data.result.output;yield{type:`tool-result`,toolCallId:r,output:t};let n=registryHandoffAddress(void 0,h.get(r),t);n!==void 0&&await u?.(n);break}case`failed`:yield{type:`tool-error`,toolCallId:r,errorText:formatActionResultError(e)};break;case`rejected`:yield{type:`tool-rejected`,toolCallId:r,reason:formatActionResultError(e)}}break}case`step.failed`:case`turn.failed`:{let e=toFailureEvent(w,b,f);e&&(yield e);break}case`session.failed`:{r.sawSessionFailure=!0,d?.(w);let e=toFailureEvent(w,b,f);e&&(yield e),r.boundaryEvent=w.type,yield*closeOpenParts(p,`assistant-complete`,_),yield*closeOpenParts(m,`reasoning-complete`,_),yield{type:`finish`,usage:C},x=!0;return}case`session.waiting`:case`session.completed`:r.boundaryEvent=w.type,yield*closeOpenParts(p,`assistant-complete`,_),yield*closeOpenParts(m,`reasoning-complete`,_),yield{type:`finish`,usage:C},x=!0;return;case`turn.completed`:S=!0,yield*closeOpenParts(p,`assistant-complete`,_),yield*closeOpenParts(m,`reasoning-complete`,_);break;case`turn.cancelled`:s?.(w.data.turnId),yield*closeOpenParts(p,`assistant-complete`,_),yield*closeOpenParts(m,`reasoning-complete`,_),yield{type:`turn-cancelled`};break;case`subagent.called`:i?.(w);break;case`subagent.started`:case`subagent.event`:break;case`subagent.completed`:{let e=w;e.data.backgroundTask===void 0?o?.(e.data.callId):a?.(e.data.callId);break}case`authorization.required`:c?.(w);break;case`authorization.completed`:l?.(w)}x||(yield*closeOpenParts(p,`assistant-complete`,_),yield*closeOpenParts(m,`reasoning-complete`,_),yield{type:`finish`,usage:C})}async function*errorOnlyTUIStream(e){yield{type:`error`,errorText:e.errorText},yield{type:`finish`}}function createTurnState(){return{aborted:!1,pendingApprovals:[],pendingQuestions:[],sawSessionFailure:!1}}function upsertPendingApproval(e,t){let n=toAgentTUIToolApprovalRequest(t),r=e.pendingApprovals.findIndex(e=>e.approvalId===n.approvalId);r===-1?e.pendingApprovals.push(n):e.pendingApprovals[r]=n}function toAgentTUIToolApprovalRequest(e){return{approvalId:e.requestId,toolCallId:e.action.callId,toolName:e.action.toolName,input:e.action.input}}function upsertPendingQuestion(e,t){let n=e.pendingQuestions.findIndex(e=>e.requestId===t.requestId);n===-1?e.pendingQuestions.push(t):e.pendingQuestions[n]=t}function textPartId(e,t){return`text:${e}:${t}`}function reasoningPartId(e,t){return`reasoning:${e}:${t}`}function partStateFor(e,t){let n=e.get(t);return n===void 0&&(n={generation:0,text:``,completed:!1,completedEpoch:0},e.set(t,n)),n}function partGenerationId(e,t){return t===0?e:`${e}#${t}`}function*closeOpenParts(e,t,n){for(let[r,i]of e)i.completed||i.text.length===0||(i.completed=!0,i.completedEpoch=n,yield{type:t,id:partGenerationId(r,i.generation)})}function isPostTurnVisibleEvent(e){switch(e.type){case`actions.requested`:case`authorization.completed`:case`authorization.required`:case`input.requested`:case`message.appended`:case`message.completed`:case`reasoning.appended`:case`reasoning.completed`:case`result.completed`:case`step.completed`:case`step.failed`:case`step.started`:case`subagent.called`:case`subagent.completed`:case`subagent.event`:case`subagent.started`:case`turn.completed`:case`turn.failed`:return!0;default:return!1}}function formatActionResultError(e){if(e.data.error?.message)return e.data.error.message;let t=e.data.result.output;if(typeof t==`string`)return t;try{return JSON.stringify(t)}catch{return`Tool execution failed.`}}function toFailureEvent(e,t,n){let r=failureKey(e);if(t.has(r))return;t.add(r);let i={type:`error`,errorText:formatFailureMessage(e)},a=n?.(e)??formatFailureHint(e);a!==void 0&&(i.hint=a);let o=formatFailureDetail(e);return o!==void 0&&(i.detail=o),i}function toAgentTUIInputQuestion(e){let t=e.display===`text`?`text`:e.display===`select`||e.options!==void 0&&e.options.length>0?`select`:`text`,n={requestId:e.requestId,prompt:e.prompt,display:t};return e.options!==void 0&&(n.options=e.options.map(e=>{let t={id:e.id,label:e.label};return e.description!==void 0&&(t.description=e.description),e.style!==void 0&&(t.style=e.style),t})),e.allowFreeform!==void 0&&(n.allowFreeform=e.allowFreeform),n}export{EveTUIRunner,registryHandoffAddress};
@@ -88,7 +88,7 @@ interface SetupActionsPanelState {
88
88
  cursor: number | undefined;
89
89
  }
90
90
  export type SetupSelectPanelState = SetupOptionSelectPanelState | SetupActionsPanelState;
91
- export interface SetupTextPanelState {
91
+ interface SetupTextPanelState {
92
92
  message: string;
93
93
  editor: LineState;
94
94
  placeholder?: string;
@@ -97,7 +97,7 @@ export interface SetupTextPanelState {
97
97
  /** Context lines shown above the message; gone once the question settles. */
98
98
  notices?: readonly SelectNotice[];
99
99
  }
100
- export interface SetupAcknowledgePanelState {
100
+ interface SetupAcknowledgePanelState {
101
101
  message: string;
102
102
  lines: readonly string[];
103
103
  }
@@ -2,7 +2,7 @@ import type { PromptOption } from "#setup/cli/index.js";
2
2
  import { type SearchActionOption, type SelectState } from "#setup/cli/select-state.js";
3
3
  import type { TerminalKey } from "./stream-format.js";
4
4
  /** Shared navigation grammar for setup selects, actions, and editable selects. */
5
- export type SetupSelectionIntent = {
5
+ type SetupSelectionIntent = {
6
6
  kind: "cancel";
7
7
  } | {
8
8
  kind: "move";
@@ -16,7 +16,7 @@ export type SetupSelectionIntent = {
16
16
  export declare function setupSelectionIntent(key: TerminalKey, options?: {
17
17
  textNavigation?: boolean;
18
18
  }): SetupSelectionIntent | undefined;
19
- export type SetupSelectInputResult = {
19
+ type SetupSelectInputResult = {
20
20
  kind: "cancel";
21
21
  } | {
22
22
  kind: "repaint";
@@ -7,7 +7,7 @@ export interface DevBuildStatus {
7
7
  readonly phase: "building" | "complete";
8
8
  readonly summary: string;
9
9
  }
10
- export interface StatusLineInput {
10
+ interface StatusLineInput {
11
11
  /** Transient authored-source build state, independent of the server log filter. */
12
12
  devBuild?: DevBuildStatus;
13
13
  /** Resolved model slug, e.g. "anthropic/claude-sonnet-5"; absent when `/eve/v1/info` failed. */
@@ -34,3 +34,4 @@ export interface StatusLineInput {
34
34
  }
35
35
  /** Builds model and connection segments, preserving the remote badge at narrow widths. */
36
36
  export declare function buildStatusLine(input: StatusLineInput): string | undefined;
37
+ export {};