eve 0.67.2 → 0.69.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +120 -0
- package/bin/eve.js +15 -0
- package/dist/src/_virtual/_rolldown/runtime.js +1 -1
- package/dist/src/approval/definition.d.ts +19 -5
- package/dist/src/channel/adapter.d.ts +2 -0
- package/dist/src/channel/auth/oidc.js +1 -1
- package/dist/src/channel/channel-address.d.ts +1 -4
- package/dist/src/channel/channel-address.js +1 -1
- package/dist/src/channel/channel-operations.d.ts +4 -11
- package/dist/src/channel/channel-operations.js +1 -1
- package/dist/src/channel/compiled-channel.d.ts +0 -2
- package/dist/src/channel/compiled-channel.js +2 -2
- package/dist/src/channel/cross-channel-receive.d.ts +1 -3
- package/dist/src/channel/cross-channel-receive.js +1 -1
- package/dist/src/channel/forwarded-principal.js +1 -1
- package/dist/src/channel/schedule-auth.d.ts +16 -0
- package/dist/src/channel/schedule-auth.js +1 -1
- package/dist/src/channel/session-callback.js +1 -1
- package/dist/src/channel/session.d.ts +3 -8
- package/dist/src/channel/session.js +1 -1
- package/dist/src/channel/task-card.d.ts +121 -0
- package/dist/src/channel/task-card.js +1 -0
- package/dist/src/channel/types.d.ts +12 -54
- package/dist/src/chunks/{use-eve-agent-DXcE_8Ja.js → use-eve-agent-D_5129A9.js} +295 -205
- package/dist/src/chunks/{use-eve-agent-D4HVZBjn.js → use-eve-agent-Dab2MnT2.js} +295 -205
- package/dist/src/cli/commands/info.d.ts +11 -0
- package/dist/src/cli/commands/info.js +1 -1
- package/dist/src/cli/commands/init-agent-workspace.js +1 -1
- package/dist/src/cli/commands/init.js +1 -1
- package/dist/src/cli/dev/command-options.d.ts +3 -2
- package/dist/src/cli/dev/command.js +1 -1
- package/dist/src/cli/dev/local-server-process.js +1 -1
- package/dist/src/cli/dev/tui/blocks.d.ts +19 -18
- package/dist/src/cli/dev/tui/blocks.js +3 -3
- package/dist/src/cli/dev/tui/command-typeahead.d.ts +3 -6
- package/dist/src/cli/dev/tui/diagnostic-presentation.d.ts +10 -0
- package/dist/src/cli/dev/tui/diagnostic-presentation.js +3 -2
- package/dist/src/cli/dev/tui/prompt-placeholder.d.ts +2 -0
- package/dist/src/cli/dev/tui/prompt-placeholder.js +1 -0
- package/dist/src/cli/dev/tui/rail.d.ts +1 -1
- package/dist/src/cli/dev/tui/runner.d.ts +25 -2
- package/dist/src/cli/dev/tui/runner.js +3 -3
- package/dist/src/cli/dev/tui/status-line.d.ts +4 -2
- package/dist/src/cli/dev/tui/status-line.js +1 -1
- package/dist/src/cli/dev/tui/subagent-pump.d.ts +44 -52
- package/dist/src/cli/dev/tui/subagent-pump.js +1 -1
- package/dist/src/cli/dev/tui/task-activity.d.ts +55 -0
- package/dist/src/cli/dev/tui/task-activity.js +1 -0
- package/dist/src/cli/dev/tui/terminal-renderer.d.ts +13 -30
- package/dist/src/cli/dev/tui/terminal-renderer.js +11 -11
- package/dist/src/cli/dev/tui/theme.d.ts +1 -1
- package/dist/src/cli/dev/tui/theme.js +1 -1
- package/dist/src/cli/dev/tui/tool-block-groups.d.ts +6 -9
- package/dist/src/cli/dev/tui/tool-block-groups.js +1 -1
- package/dist/src/cli/dev/tui/tool-presentation.d.ts +16 -3
- package/dist/src/cli/dev/tui/tool-presentation.js +1 -1
- package/dist/src/cli/dev/tui/traces/trace-conversation.js +3 -1
- package/dist/src/cli/dev/tui/traces/trace-view.js +1 -1
- package/dist/src/cli/dev/tui/tui.js +1 -1
- package/dist/src/cli/dev/tui/types.d.ts +11 -5
- package/dist/src/cli/dev/ui-options.d.ts +2 -2
- package/dist/src/cli/option-parsers.d.ts +3 -1
- package/dist/src/cli/option-parsers.js +1 -1
- package/dist/src/cli/ui/terminal-text.js +1 -1
- package/dist/src/client/agent-info-schema.d.ts +150 -9
- package/dist/src/client/agent-info-schema.js +1 -1
- package/dist/src/client/agent-session.d.ts +28 -0
- package/dist/src/client/agent-session.js +1 -0
- package/dist/src/client/eve-agent-store-helpers.d.ts +1 -1
- package/dist/src/client/eve-agent-store-helpers.js +2 -2
- package/dist/src/client/eve-agent-store.js +1 -1
- package/dist/src/client/index.d.ts +2 -1
- package/dist/src/client/index.js +1 -1
- package/dist/src/client/message-action-parts.js +1 -1
- package/dist/src/client/message-reducer.js +1 -1
- package/dist/src/client/message-task-parts.d.ts +8 -0
- package/dist/src/client/message-task-parts.js +1 -0
- package/dist/src/client/optimistic-message-submissions.js +1 -1
- package/dist/src/client/session-controls.d.ts +0 -1
- package/dist/src/client/session-utils.d.ts +10 -0
- package/dist/src/client/session-utils.js +1 -1
- package/dist/src/client/session.d.ts +8 -16
- package/dist/src/client/session.js +1 -1
- package/dist/src/client/stream-version.js +1 -1
- package/dist/src/client/types.d.ts +2 -4
- package/dist/src/compiled/.vendor-stamp.json +3 -2
- package/dist/src/compiled/@eve/catalog/index.js +1 -1
- package/dist/src/compiled/@photon-ai/chat-adapter-imessage/index.js +55 -55
- package/dist/src/compiled/@vercel/blob/index.js +1 -1
- package/dist/src/compiled/@vercel/connect/LICENSE +202 -0
- package/dist/src/compiled/@vercel/connect/authorization-details.d.ts +11 -0
- package/dist/src/compiled/@vercel/connect/authorization.d.ts +47 -0
- package/dist/src/compiled/@vercel/connect/connector.d.ts +32 -0
- package/dist/src/compiled/@vercel/connect/index.d.ts +5 -0
- package/dist/src/compiled/@vercel/connect/index.js +26 -0
- package/dist/src/compiled/@vercel/connect/installation.d.ts +48 -0
- package/dist/src/compiled/@vercel/connect/token.d.ts +137 -0
- package/dist/src/compiled/@vercel/oidc/index.js +1 -1
- package/dist/src/compiled/@workflow/core/runtime.js +3 -3
- package/dist/src/compiled/@workflow/world-vercel/index.js +1 -1
- package/dist/src/compiler/bundled-extension.d.ts +7 -1
- package/dist/src/compiler/bundled-extension.js +1 -1
- package/dist/src/compiler/default-tool-policy.d.ts +2 -2
- package/dist/src/compiler/default-tool-policy.js +1 -1
- package/dist/src/compiler/development-extensions.js +1 -1
- package/dist/src/compiler/extension-compatibility.d.ts +54 -18
- package/dist/src/compiler/extension-compatibility.js +1 -1
- package/dist/src/compiler/extension-mount-bindings.d.ts +5 -0
- package/dist/src/compiler/extension-mount-bindings.js +1 -0
- package/dist/src/compiler/load-binding-namespace.d.ts +10 -2
- package/dist/src/compiler/load-binding-namespace.js +1 -1
- package/dist/src/compiler/manifest.d.ts +19 -17
- package/dist/src/compiler/manifest.js +1 -1
- package/dist/src/compiler/module-lifecycle.d.ts +2 -2
- package/dist/src/compiler/module-lifecycle.js +1 -1
- package/dist/src/compiler/module-map.d.ts +1 -1
- package/dist/src/compiler/module-map.js +3 -3
- package/dist/src/compiler/normalize-manifest-helpers.d.ts +18 -1
- package/dist/src/compiler/normalize-manifest-helpers.js +1 -1
- package/dist/src/compiler/normalize-manifest-types.d.ts +2 -0
- package/dist/src/compiler/normalize-manifest.js +1 -1
- package/dist/src/compiler/normalize-subagent.js +1 -1
- package/dist/src/compiler/normalize-tool.js +1 -1
- package/dist/src/compiler/project-sources.d.ts +4 -0
- package/dist/src/compiler/project-sources.js +1 -1
- package/dist/src/compiler/remote-agent-node.js +1 -1
- package/dist/src/compiler/source-graph.d.ts +5 -0
- package/dist/src/compiler/source-graph.js +1 -1
- package/dist/src/computer-use/extension/extension.d.ts +2 -0
- package/dist/src/computer-use/extension/extension.js +1 -0
- package/dist/src/computer-use/extension/lib/command-failure.d.ts +7 -0
- package/dist/src/computer-use/extension/lib/command-failure.js +2 -0
- package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use-sandbox.d.ts +8 -0
- package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use-sandbox.js +3 -3
- package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use.d.ts +2 -0
- package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use.js +2 -1
- package/dist/src/computer-use/extension/lib/sandbox.d.ts +1 -0
- package/dist/src/computer-use/extension/lib/sandbox.js +1 -0
- package/dist/src/computer-use/extension/lib/shell.d.ts +1 -0
- package/dist/src/computer-use/extension/lib/shell.js +1 -0
- package/dist/src/computer-use/extension/tools/computer_use.js +1 -0
- package/dist/src/computer-use/tools.d.ts +1 -0
- package/dist/src/computer-use/tools.js +1 -0
- package/dist/src/context/build-dynamic-tools.js +1 -1
- package/dist/src/context/dynamic-subagent-lifecycle.d.ts +5 -0
- package/dist/src/context/dynamic-subagent-lifecycle.js +1 -1
- package/dist/src/context/dynamic-tool-lifecycle.d.ts +1 -1
- package/dist/src/context/dynamic-tool-lifecycle.js +1 -1
- package/dist/src/context/dynamic-tool-metadata.d.ts +1 -1
- package/dist/src/context/hook-lifecycle.d.ts +4 -3
- package/dist/src/context/hook-lifecycle.js +1 -1
- package/dist/src/context/key-names.d.ts +0 -1
- package/dist/src/context/key-names.js +1 -1
- package/dist/src/context/keys.d.ts +8 -14
- package/dist/src/context/keys.js +1 -1
- package/dist/src/context/memory-lifecycle.js +1 -1
- package/dist/src/context/memory-tools.d.ts +0 -1
- package/dist/src/context/provider.d.ts +1 -3
- package/dist/src/context/run-step.d.ts +2 -3
- package/dist/src/context/run-step.js +1 -1
- package/dist/src/context/serialize.js +1 -1
- package/dist/src/discover/bundled-extension.js +1 -1
- package/dist/src/discover/discover-agent.js +1 -1
- package/dist/src/discover/extensions.d.ts +0 -7
- package/dist/src/discover/extensions.js +1 -1
- package/dist/src/discover/manifest.d.ts +4 -0
- package/dist/src/evals/assertions/run.d.ts +4 -3
- package/dist/src/evals/assertions/run.js +1 -1
- package/dist/src/evals/index.d.ts +1 -1
- package/dist/src/evals/match.d.ts +4 -4
- package/dist/src/evals/mock-model.js +1 -1
- package/dist/src/evals/runner/derive-run-facts.d.ts +3 -3
- package/dist/src/evals/runner/derive-run-facts.js +1 -1
- package/dist/src/evals/runner/reporters/assertion-scores.d.ts +19 -0
- package/dist/src/evals/runner/reporters/assertion-scores.js +1 -0
- package/dist/src/evals/runner/reporters/braintrust.js +1 -1
- package/dist/src/evals/runner/reporters/datadog-client.d.ts +123 -0
- package/dist/src/evals/runner/reporters/datadog-client.js +4 -0
- package/dist/src/evals/runner/reporters/datadog.d.ts +9 -98
- package/dist/src/evals/runner/reporters/datadog.js +2 -3
- package/dist/src/evals/session-content.js +1 -1
- package/dist/src/evals/session.d.ts +4 -4
- package/dist/src/evals/session.js +2 -2
- package/dist/src/evals/types.d.ts +18 -15
- package/dist/src/eve-channel/create-request.d.ts +5 -4
- package/dist/src/eve-channel/create-request.js +1 -1
- package/dist/src/eve-channel/index.d.ts +0 -9
- package/dist/src/eve-channel/index.js +1 -1
- package/dist/src/eve-channel/request.d.ts +3 -7
- package/dist/src/eve-channel/request.js +1 -1
- package/dist/src/eve-channel/support.d.ts +15 -5
- package/dist/src/eve-channel/support.js +1 -1
- package/dist/src/eve-channel/turn-policy-request.d.ts +2 -0
- package/dist/src/eve-channel/turn-policy-request.js +1 -0
- package/dist/src/eve-channel/types.d.ts +4 -0
- package/dist/src/execution/agent-sessions/context.d.ts +60 -0
- package/dist/src/execution/agent-sessions/context.js +1 -0
- package/dist/src/{subagents/remote-dispatch.d.ts → execution/agent-sessions/remote.d.ts} +17 -40
- package/dist/src/execution/agent-sessions/remote.js +1 -0
- package/dist/src/execution/agent-sessions/requests.d.ts +20 -0
- package/dist/src/execution/agent-sessions/requests.js +1 -0
- package/dist/src/execution/agent-sessions/session.d.ts +12 -0
- package/dist/src/execution/agent-sessions/session.js +1 -0
- package/dist/src/execution/agent-sessions/steps.d.ts +59 -0
- package/dist/src/execution/agent-sessions/steps.js +1 -0
- package/dist/src/execution/agent-sessions/target.d.ts +45 -0
- package/dist/src/execution/agent-sessions/target.js +1 -0
- package/dist/src/execution/agent-sessions/usage.d.ts +18 -0
- package/dist/src/execution/agent-sessions/usage.js +1 -0
- package/dist/src/execution/authorization-callback-match.d.ts +2 -4
- package/dist/src/execution/authorization-callback-match.js +1 -1
- package/dist/src/execution/cancel-descendant-turns-step.d.ts +1 -5
- package/dist/src/execution/cancel-descendant-turns-step.js +1 -1
- package/dist/src/execution/cancelled-model-call-batch.js +1 -1
- package/dist/src/execution/connection-announcement.d.ts +7 -0
- package/dist/src/execution/connection-announcement.js +4 -0
- package/dist/src/execution/continuation-conflict-step.d.ts +2 -3
- package/dist/src/execution/continuation-conflict-step.js +1 -1
- package/dist/src/execution/coordination-dispatch-shared.d.ts +9 -27
- package/dist/src/execution/coordination-dispatch-shared.js +1 -1
- package/dist/src/execution/coordination-dispatch-step.d.ts +3 -2
- package/dist/src/execution/coordination-dispatch-step.js +1 -1
- package/dist/src/execution/create-session-step.d.ts +0 -1
- package/dist/src/execution/create-session-step.js +1 -1
- package/dist/src/execution/deliver-payloads.js +1 -1
- package/dist/src/execution/durable-session-store.d.ts +0 -1
- package/dist/src/execution/dynamic-connections.js +1 -1
- package/dist/src/execution/dynamic-workflow/program-step.js +1 -1
- package/dist/src/execution/dynamic-workflow/schema.d.ts +1 -3
- package/dist/src/execution/dynamic-workflow/schema.js +1 -1
- package/dist/src/execution/dynamic-workflow/tool.d.ts +1 -1
- package/dist/src/execution/dynamic-workflow/tool.js +1 -1
- package/dist/src/execution/dynamic-workflow/workflow.js +1 -1
- package/dist/src/execution/forward-session-input.d.ts +4 -0
- package/dist/src/execution/forward-session-input.js +1 -0
- package/dist/src/execution/legacy-remote-agent/protocol.d.ts +41 -0
- package/dist/src/execution/legacy-remote-agent/protocol.js +1 -0
- package/dist/src/execution/legacy-session/authorization.js +1 -1
- package/dist/src/execution/legacy-session/completion-step.js +1 -1
- package/dist/src/execution/legacy-session/inbox.js +1 -1
- package/dist/src/execution/legacy-session/input.js +1 -1
- package/dist/src/execution/legacy-session/interrupt-step.js +1 -1
- package/dist/src/execution/model-call-batching.js +1 -1
- package/dist/src/execution/node-step.d.ts +1 -1
- package/dist/src/execution/node-step.js +1 -1
- package/dist/src/execution/proxied-deliver-step.d.ts +9 -6
- package/dist/src/execution/proxied-deliver-step.js +1 -1
- package/dist/src/execution/publish-session-events.d.ts +130 -0
- package/dist/src/execution/publish-session-events.js +1 -0
- package/dist/src/execution/route-child-delivery.d.ts +5 -4
- package/dist/src/execution/route-child-delivery.js +1 -3
- package/dist/src/execution/runtime-context.js +1 -1
- package/dist/src/execution/sandbox/prewarm.js +1 -1
- package/dist/src/execution/session/admission.d.ts +1 -12
- package/dist/src/execution/session/admission.js +1 -1
- package/dist/src/execution/session/entry-input.d.ts +0 -2
- package/dist/src/execution/session/entry.js +1 -1
- package/dist/src/execution/session/finalization.js +1 -1
- package/dist/src/execution/session/handoff-steps.d.ts +13 -2
- package/dist/src/execution/session/handoff-steps.js +1 -1
- package/dist/src/execution/session/handoff.d.ts +17 -3
- package/dist/src/execution/session/handoff.js +1 -1
- package/dist/src/execution/session/input-queue.d.ts +27 -28
- package/dist/src/execution/session/input-queue.js +1 -1
- package/dist/src/execution/session/next-input.d.ts +5 -0
- package/dist/src/execution/session/next-input.js +1 -1
- package/dist/src/execution/session/pending-turn-state.d.ts +2 -0
- package/dist/src/execution/session/pending-turn-state.js +1 -1
- package/dist/src/execution/session/principal.d.ts +14 -0
- package/dist/src/execution/session/principal.js +1 -0
- package/dist/src/execution/session/program.js +1 -1
- package/dist/src/execution/session/route-selected-delivery.js +1 -1
- package/dist/src/execution/session/state-cursor.d.ts +17 -15
- package/dist/src/execution/session/state-cursor.js +1 -1
- package/dist/src/execution/session/state-delta.d.ts +33 -0
- package/dist/src/execution/session/state-delta.js +1 -0
- package/dist/src/execution/session/timeout-steps.js +1 -1
- package/dist/src/execution/session/turn-event-handler.d.ts +27 -0
- package/dist/src/execution/session/turn-event-handler.js +1 -0
- package/dist/src/execution/session/turn-step-result.d.ts +1 -3
- package/dist/src/execution/session/turn-step-result.js +1 -1
- package/dist/src/execution/session/turn-step-types.d.ts +24 -15
- package/dist/src/execution/session/turn-step.d.ts +2 -2
- package/dist/src/execution/session/turn-step.js +1 -1
- package/dist/src/execution/session/turn-waiting-step.d.ts +4 -0
- package/dist/src/execution/session/turn-waiting-step.js +1 -0
- package/dist/src/execution/session/turn.d.ts +33 -2
- package/dist/src/execution/session/turn.js +1 -1
- package/dist/src/execution/session-callback-request.js +1 -1
- package/dist/src/execution/session-event-stream.d.ts +33 -0
- package/dist/src/execution/session-event-stream.js +1 -0
- package/dist/src/execution/session-inbox/inbox.d.ts +2 -0
- package/dist/src/execution/session-inbox/inbox.js +1 -1
- package/dist/src/execution/session-inbox/protocol.js +1 -1
- package/dist/src/execution/session-inbox/release-step.js +1 -1
- package/dist/src/execution/session-inbox/resume.js +1 -1
- package/dist/src/execution/session-workflow-tool-run.d.ts +11 -2
- package/dist/src/execution/session-workflow-tool-run.js +1 -1
- package/dist/src/execution/session.d.ts +0 -1
- package/dist/src/execution/session.js +2 -2
- package/dist/src/execution/settle-cancelled-turn-step.d.ts +21 -9
- package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
- package/dist/src/execution/stable-workflow-names.d.ts +0 -1
- package/dist/src/execution/stable-workflow-names.js +1 -1
- package/dist/src/execution/tasks/calls.d.ts +42 -0
- package/dist/src/execution/tasks/calls.js +1 -0
- package/dist/src/execution/tasks/model-step.d.ts +58 -0
- package/dist/src/execution/tasks/model-step.js +1 -0
- package/dist/src/execution/tasks/render.d.ts +66 -0
- package/dist/src/execution/tasks/render.js +8 -0
- package/dist/src/execution/tasks/session.d.ts +19 -0
- package/dist/src/execution/tasks/session.js +1 -0
- package/dist/src/execution/tasks/start.d.ts +34 -0
- package/dist/src/execution/tasks/start.js +1 -0
- package/dist/src/execution/tasks/steps.d.ts +31 -0
- package/dist/src/execution/tasks/steps.js +1 -0
- package/dist/src/execution/tasks/table.d.ts +192 -0
- package/dist/src/execution/tasks/table.js +1 -0
- package/dist/src/execution/tasks/task-id-input.d.ts +19 -0
- package/dist/src/execution/tasks/task-id-input.js +1 -0
- package/dist/src/execution/tasks/tool-entry-point.d.ts +11 -0
- package/dist/src/execution/tasks/tool-entry-point.js +1 -0
- package/dist/src/execution/tasks/workflow-target.d.ts +2 -0
- package/dist/src/execution/tasks/workflow-target.js +1 -1
- package/dist/src/execution/terminal-session-completion-step.js +1 -1
- package/dist/src/execution/terminal-session-failure-step.js +1 -1
- package/dist/src/execution/terminate-child-sessions-step.d.ts +2 -9
- package/dist/src/execution/terminate-child-sessions-step.js +1 -1
- package/dist/src/execution/tool-auth.js +1 -1
- package/dist/src/execution/tools/agent-router-workflow.d.ts +1 -1
- package/dist/src/execution/tools/agent-router-workflow.js +1 -1
- package/dist/src/execution/tools/agent-router.d.ts +1 -1
- package/dist/src/execution/tools/agent-router.js +1 -1
- package/dist/src/execution/tools/connection-approval.d.ts +25 -0
- package/dist/src/execution/tools/connection-approval.js +1 -0
- package/dist/src/execution/tools/connection-search-rank.d.ts +21 -0
- package/dist/src/execution/tools/connection-search-rank.js +1 -0
- package/dist/src/execution/tools/connection-target.d.ts +13 -0
- package/dist/src/execution/tools/connection-target.js +1 -0
- package/dist/src/execution/tools/connection-tools.d.ts +10 -0
- package/dist/src/execution/tools/connection-tools.js +2 -0
- package/dist/src/execution/tools/load-skill.js +1 -1
- package/dist/src/execution/tools/workflow/answer.d.ts +10 -4
- package/dist/src/execution/tools/workflow/answer.js +1 -1
- package/dist/src/execution/tools/workflow/ask.d.ts +73 -10
- package/dist/src/execution/tools/workflow/ask.js +1 -1
- package/dist/src/execution/tools/workflow/body.d.ts +60 -19
- package/dist/src/execution/tools/workflow/body.js +1 -1
- package/dist/src/execution/tools/workflow/cancel.d.ts +7 -2
- package/dist/src/execution/tools/workflow/cancel.js +1 -1
- package/dist/src/execution/tools/workflow/emit-workflow-tool-run-report-step.d.ts +10 -4
- package/dist/src/execution/tools/workflow/emit-workflow-tool-run-report-step.js +1 -1
- package/dist/src/execution/tools/workflow/{background.d.ts → harness-definition.d.ts} +6 -6
- package/dist/src/execution/tools/workflow/harness-definition.js +1 -0
- package/dist/src/execution/tools/workflow/interrupt.d.ts +6 -0
- package/dist/src/execution/tools/workflow/interrupt.js +1 -0
- package/dist/src/execution/tools/workflow/messages.d.ts +135 -10
- package/dist/src/execution/tools/workflow/messages.js +1 -1
- package/dist/src/execution/tools/workflow/owner-inbox.js +1 -1
- package/dist/src/execution/tools/workflow/owner.d.ts +15 -4
- package/dist/src/execution/tools/workflow/owner.js +1 -1
- package/dist/src/execution/tools/workflow/serve.d.ts +3 -0
- package/dist/src/execution/tools/workflow/serve.js +1 -0
- package/dist/src/execution/tools/workflow/start.d.ts +18 -11
- package/dist/src/execution/tools/workflow/start.js +1 -1
- package/dist/src/execution/tools/workflow/step-execution.js +1 -1
- package/dist/src/execution/tools/workflow/step.js +1 -1
- package/dist/src/execution/tools/workflow/types.d.ts +0 -10
- package/dist/src/execution/tools/workflow/withdraw-step.d.ts +31 -0
- package/dist/src/execution/tools/workflow/withdraw-step.js +1 -0
- package/dist/src/execution/tools/workflow/workflow-owner-blocking.d.ts +3 -5
- package/dist/src/execution/tools/workflow/workflow-owner-blocking.js +1 -1
- package/dist/src/execution/tools/workflow/workflow.d.ts +3 -3
- package/dist/src/execution/tools/workflow/workflow.js +1 -1
- package/dist/src/execution/web-fetch/request.js +1 -1
- package/dist/src/execution/workflow-callback-url.d.ts +0 -5
- package/dist/src/execution/workflow-callback-url.js +1 -1
- package/dist/src/execution/workflow-runtime.d.ts +3 -5
- package/dist/src/execution/workflow-runtime.js +1 -1
- package/dist/src/execution/workflow-webhook-route.js +1 -1
- package/dist/src/extensions/code/extension/lib/connect-authentication.js +1 -1
- package/dist/src/extensions/code/extension/lib/github-shell.js +1 -1
- package/dist/src/extensions/code/extension/lib/prwatch-github.js +1 -1
- package/dist/src/extensions/code/extension/lib/sandbox.d.ts +3 -2
- package/dist/src/extensions/code/extension/lib/sandbox.js +1 -1
- package/dist/src/extensions/code/extension/lib/signed-commit.d.ts +1 -1
- package/dist/src/extensions/code/extension/lib/signed-commit.js +2 -2
- package/dist/src/extensions/code/tools.d.ts +2 -1
- package/dist/src/extensions/code/tools.js +1 -1
- package/dist/src/framework/sources/modules/agent.d.ts +1 -0
- package/dist/src/framework/sources/modules/agent.js +1 -1
- package/dist/src/framework/sources/registry.js +1 -1
- package/dist/src/harness/action-presentation.js +1 -1
- package/dist/src/harness/action-result-helpers.d.ts +1 -0
- package/dist/src/harness/action-result-helpers.js +1 -1
- package/dist/src/harness/advertised-tools.d.ts +1 -1
- package/dist/src/harness/advertised-tools.js +1 -1
- package/dist/src/harness/announcements.d.ts +22 -0
- package/dist/src/harness/announcements.js +1 -0
- package/dist/src/harness/approval-candidates.d.ts +10 -2
- package/dist/src/harness/approval-candidates.js +1 -1
- package/dist/src/harness/approval-delivery-coordinator.d.ts +4 -5
- package/dist/src/harness/approval-delivery-coordinator.js +1 -1
- package/dist/src/harness/approval-recheck.d.ts +7 -0
- package/dist/src/harness/approval-recheck.js +1 -0
- package/dist/src/harness/authorization-event-fields.d.ts +13 -0
- package/dist/src/harness/authorization-event-fields.js +1 -0
- package/dist/src/harness/authorization.d.ts +2 -1
- package/dist/src/harness/authorization.js +1 -1
- package/dist/src/harness/coordination.d.ts +31 -27
- package/dist/src/harness/coordination.js +1 -1
- package/dist/src/harness/current-messages.d.ts +6 -1
- package/dist/src/harness/current-messages.js +1 -1
- package/dist/src/harness/emission.d.ts +7 -1
- package/dist/src/harness/emission.js +1 -1
- package/dist/src/harness/execute-tool.d.ts +4 -15
- package/dist/src/harness/hitl/session-limit-input-requests.d.ts +2 -0
- package/dist/src/harness/hitl/session-limit-input-requests.js +1 -1
- package/dist/src/harness/input-request-resolution.d.ts +5 -2
- package/dist/src/harness/input-request-resolution.js +1 -1
- package/dist/src/harness/input-requests.js +1 -1
- package/dist/src/harness/messages.d.ts +11 -3
- package/dist/src/harness/messages.js +1 -1
- package/dist/src/harness/nested-actions.d.ts +23 -0
- package/dist/src/harness/nested-actions.js +1 -0
- package/dist/src/harness/pending-input-batches.d.ts +8 -6
- package/dist/src/harness/pending-input-batches.js +1 -1
- package/dist/src/harness/provider-tool-history.d.ts +7 -2
- package/dist/src/harness/provider-tool-history.js +1 -1
- package/dist/src/harness/proxy-input-requests.d.ts +41 -36
- package/dist/src/harness/proxy-input-requests.js +1 -1
- package/dist/src/harness/session-limit-enforcement.js +1 -1
- package/dist/src/harness/stale-input-responses.js +1 -1
- package/dist/src/harness/step-hooks.js +1 -1
- package/dist/src/harness/tool-loop.js +2 -2
- package/dist/src/harness/tool-model-output.js +1 -1
- package/dist/src/harness/tool-presentation.js +1 -1
- package/dist/src/harness/tools.d.ts +1 -5
- package/dist/src/harness/tools.js +1 -1
- package/dist/src/harness/turn-tag-state.d.ts +6 -5
- package/dist/src/harness/types.d.ts +7 -15
- package/dist/src/harness/workflow-dispatch.d.ts +30 -0
- package/dist/src/harness/workflow-dispatch.js +1 -0
- package/dist/src/harness/workflow-tool-runs.d.ts +5 -65
- package/dist/src/harness/workflow-tool-runs.js +1 -1
- package/dist/src/instrumentation/ai-sdk-hook-bridge.js +1 -1
- package/dist/src/instrumentation/lifecycle.d.ts +5 -2
- package/dist/src/instrumentation/lifecycle.js +1 -1
- package/dist/src/instrumentation/native-events.d.ts +0 -7
- package/dist/src/instrumentation/native-events.js +1 -1
- package/dist/src/instrumentation/runtime.d.ts +1 -4
- package/dist/src/instrumentation/runtime.js +1 -1
- package/dist/src/instrumentation/state.d.ts +0 -6
- package/dist/src/instrumentation/state.js +1 -1
- package/dist/src/internal/application/package.js +1 -1
- package/dist/src/internal/authored-definition/schema-backed.d.ts +10 -0
- package/dist/src/internal/authored-definition/schema-backed.js +1 -1
- package/dist/src/internal/authored-module-loader.d.ts +12 -6
- package/dist/src/internal/authored-module-loader.js +2 -2
- package/dist/src/internal/authored-module-map-loader.js +1 -1
- package/dist/src/internal/authored-package-boundary.d.ts +3 -0
- package/dist/src/internal/authored-package-boundary.js +1 -1
- package/dist/src/internal/bundler/extension-mount-plugin.d.ts +14 -0
- package/dist/src/internal/bundler/extension-mount-plugin.js +1 -0
- package/dist/src/internal/bundler/extension-scope-plugin.d.ts +8 -11
- package/dist/src/internal/bundler/extension-scope-plugin.js +2 -3
- package/dist/src/internal/invocation/workflow-execution.d.ts +2 -2
- package/dist/src/internal/invocation/workflow-execution.js +1 -1
- package/dist/src/internal/mount-state.d.ts +1 -0
- package/dist/src/internal/mount-state.js +1 -0
- package/dist/src/internal/nitro/dev-runtime-artifacts-retention.d.ts +2 -2
- package/dist/src/internal/nitro/dev-runtime-artifacts-retention.js +1 -1
- package/dist/src/internal/nitro/dev-runtime-artifacts.d.ts +2 -4
- package/dist/src/internal/nitro/dev-runtime-artifacts.js +1 -1
- package/dist/src/internal/nitro/dev-runtime-generation-metadata.d.ts +13 -0
- package/dist/src/internal/nitro/dev-runtime-generation-metadata.js +1 -0
- package/dist/src/internal/nitro/development-generation.d.ts +2 -0
- package/dist/src/internal/nitro/development-generation.js +1 -1
- package/dist/src/internal/nitro/host/build-application.js +1 -1
- package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
- package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.d.ts +1 -0
- package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.js +1 -1
- package/dist/src/internal/nitro/host/dev-host-fingerprint.js +1 -1
- package/dist/src/internal/nitro/host/dev-workflow-world-setup.d.ts +1 -0
- package/dist/src/internal/nitro/host/dev-workflow-world-setup.js +1 -1
- package/dist/src/internal/nitro/host/extension-capability-requirements.js +1 -1
- package/dist/src/internal/nitro/host/start-development-server.js +1 -1
- package/dist/src/internal/nitro/host/types.d.ts +2 -0
- package/dist/src/internal/nitro/host/workspace-extensions.js +1 -1
- package/dist/src/internal/nitro/routes/runtime-stack.js +1 -1
- package/dist/src/internal/node-esm-compat-banner.js +1 -1
- package/dist/src/internal/workflow/cancel-expired-development-run.d.ts +2 -0
- package/dist/src/internal/workflow/cancel-expired-development-run.js +1 -0
- package/dist/src/internal/workflow/development-runtime-compatibility.d.ts +12 -0
- package/dist/src/internal/workflow/development-runtime-compatibility.js +1 -0
- package/dist/src/internal/workflow/development-world-client.js +1 -1
- package/dist/src/internal/workflow/development-world-protocol.d.ts +9 -0
- package/dist/src/internal/workflow/development-world-server.d.ts +2 -0
- package/dist/src/internal/workflow/development-world-server.js +1 -1
- package/dist/src/internal/workflow/is-inactive-workflow-run-error.d.ts +2 -0
- package/dist/src/internal/workflow/is-inactive-workflow-run-error.js +1 -0
- package/dist/src/internal/workflow-bundle/authored-workflow-directives.d.ts +4 -3
- package/dist/src/internal/workflow-bundle/authored-workflow-directives.js +1 -1
- package/dist/src/internal/workflow-bundle/builder.js +1 -1
- package/dist/src/internal/workflow-bundle/dynamic-capability-transform-plugin.js +1 -1
- package/dist/src/internal/workflow-bundle/workflow-builders.js +1 -1
- package/dist/src/models/auto.d.ts +6 -0
- package/dist/src/models/auto.js +2 -2
- package/dist/src/protocol/message-version.d.ts +1 -0
- package/dist/src/protocol/message-version.js +1 -1
- package/dist/src/protocol/message.d.ts +126 -67
- package/dist/src/protocol/message.js +2 -2
- package/dist/src/protocol/remote-agent-protocol.d.ts +16 -0
- package/dist/src/protocol/remote-agent-protocol.js +1 -0
- package/dist/src/protocol/routes.d.ts +0 -6
- package/dist/src/protocol/routes.js +1 -1
- package/dist/src/protocol/task-tools.d.ts +21 -0
- package/dist/src/protocol/task-tools.js +1 -0
- package/dist/src/public/channels/auth.js +1 -1
- package/dist/src/public/channels/chat-sdk/chatSdkChannel.d.ts +25 -16
- package/dist/src/public/channels/chat-sdk/chatSdkChannel.js +2 -2
- package/dist/src/public/channels/chat-sdk/index.d.ts +1 -1
- package/dist/src/public/channels/chat-sdk/input-actions.d.ts +8 -0
- package/dist/src/public/channels/chat-sdk/input-actions.js +1 -0
- package/dist/src/public/channels/index.d.ts +1 -1
- package/dist/src/public/channels/linq/linqChannel.js +1 -1
- package/dist/src/public/channels/photon/photonIMessageChannel.js +1 -1
- package/dist/src/public/channels/slack/action-status.d.ts +11 -12
- package/dist/src/public/channels/slack/action-status.js +1 -1
- package/dist/src/public/channels/slack/api.js +1 -1
- package/dist/src/public/channels/slack/attachments.js +1 -1
- package/dist/src/public/channels/slack/auth.d.ts +3 -0
- package/dist/src/public/channels/slack/auth.js +1 -1
- package/dist/src/public/channels/slack/connections.d.ts +6 -6
- package/dist/src/public/channels/slack/connections.js +1 -1
- package/dist/src/public/channels/slack/defaults.d.ts +13 -19
- package/dist/src/public/channels/slack/defaults.js +4 -4
- package/dist/src/public/channels/slack/hitl.d.ts +22 -13
- package/dist/src/public/channels/slack/hitl.js +2 -2
- package/dist/src/public/channels/slack/index.d.ts +4 -3
- package/dist/src/public/channels/slack/index.js +1 -1
- package/dist/src/public/channels/slack/input-response.d.ts +1 -5
- package/dist/src/public/channels/slack/input-response.js +1 -1
- package/dist/src/public/channels/slack/interaction-cards.js +1 -1
- package/dist/src/public/channels/slack/interactions.js +1 -1
- package/dist/src/public/channels/slack/renderers.d.ts +76 -0
- package/dist/src/public/channels/slack/renderers.js +1 -0
- package/dist/src/public/channels/slack/session-operations.d.ts +6 -0
- package/dist/src/public/channels/slack/session-operations.js +1 -1
- package/dist/src/public/channels/slack/slackChannel.d.ts +47 -103
- package/dist/src/public/channels/slack/slackChannel.js +1 -1
- package/dist/src/public/channels/slack/task-card.d.ts +24 -0
- package/dist/src/public/channels/slack/task-card.js +1 -0
- package/dist/src/public/channels/telegram/hitl.d.ts +7 -1
- package/dist/src/public/channels/telegram/hitl.js +2 -1
- package/dist/src/public/channels/telegram/state.js +1 -1
- package/dist/src/public/channels/telegram/telegramChannel.d.ts +5 -0
- package/dist/src/public/channels/telegram/telegramChannel.js +1 -1
- package/dist/src/public/definitions/channel.d.ts +6 -1
- package/dist/src/public/definitions/channel.js +1 -1
- package/dist/src/public/definitions/connections/mcp.d.ts +4 -6
- package/dist/src/public/definitions/connections/openapi.d.ts +7 -8
- package/dist/src/public/definitions/extension.d.ts +2 -2
- package/dist/src/public/definitions/extension.js +1 -1
- package/dist/src/public/definitions/hook.d.ts +16 -4
- package/dist/src/public/definitions/state.d.ts +4 -2
- package/dist/src/public/definitions/state.js +1 -1
- package/dist/src/public/memory/index.d.ts +0 -1
- package/dist/src/public/models/openai/index.d.ts +1 -1
- package/dist/src/public/models/openai/index.js +1 -1
- package/dist/src/public/schedules/index.d.ts +1 -0
- package/dist/src/public/schedules/index.js +1 -1
- package/dist/src/public/server/index.d.ts +28 -0
- package/dist/src/public/server/index.js +1 -0
- package/dist/src/public/tools/index.d.ts +3 -2
- package/dist/src/public/tools/index.js +1 -1
- package/dist/src/public/tools/no-reply.d.ts +1 -0
- package/dist/src/public/tools/no-reply.js +1 -0
- package/dist/src/runtime/agent/bootstrap-model-utils.d.ts +6 -7
- package/dist/src/runtime/agent/bootstrap-model-utils.js +1 -1
- package/dist/src/runtime/agent/bootstrap.d.ts +0 -1
- package/dist/src/runtime/agent/bootstrap.js +1 -1
- package/dist/src/runtime/agent/mock-model-adapter.js +1 -1
- package/dist/src/runtime/agent/mock-model-fixtures.d.ts +1 -1
- package/dist/src/runtime/agent/mock-model-fixtures.js +2 -2
- package/dist/src/runtime/channels/registry.js +1 -1
- package/dist/src/runtime/connections/mcp-client.d.ts +1 -2
- package/dist/src/runtime/connections/openapi-client.js +1 -1
- package/dist/src/runtime/connections/scoped-authorization.d.ts +1 -1
- package/dist/src/runtime/connections/scoped-authorization.js +1 -1
- package/dist/src/runtime/connections/tool-result.d.ts +27 -0
- package/dist/src/runtime/connections/tool-result.js +2 -0
- package/dist/src/runtime/connections/tool-signature.d.ts +14 -0
- package/dist/src/runtime/connections/tool-signature.js +1 -0
- package/dist/src/runtime/local-dev-capability.js +1 -1
- package/dist/src/runtime/prompt/compose.d.ts +1 -3
- package/dist/src/runtime/prompt/compose.js +3 -3
- package/dist/src/runtime/resolve-agent-graph.js +1 -1
- package/dist/src/runtime/resolve-tool.js +1 -1
- package/dist/src/runtime/sessions/compiled-agent-cache.js +1 -1
- package/dist/src/runtime/sessions/runtime-context-keys.js +1 -1
- package/dist/src/runtime/sessions/turn.d.ts +1 -16
- package/dist/src/runtime/subagents/dynamic-remote-agent-config.js +1 -1
- package/dist/src/runtime/subagents/registry.js +1 -1
- package/dist/src/runtime/subagents/workflow-reference.d.ts +6 -3
- package/dist/src/runtime/subagents/workflow-reference.js +1 -1
- package/dist/src/runtime/subagents/workflow.d.ts +12 -6
- package/dist/src/runtime/subagents/workflow.js +1 -1
- package/dist/src/runtime/tools/registry.js +1 -1
- package/dist/src/self-modification/extension/classify-registry-item.d.ts +3 -0
- package/dist/src/self-modification/extension/classify-registry-item.js +1 -1
- package/dist/src/self-modification/extension/subagents/agent/agent.d.ts +1 -1
- package/dist/src/self-modification/extension/subagents/agent/agent.js +1 -1
- package/dist/src/self-modification/extension/subagents/agent/instructions.js +7 -7
- package/dist/src/self-modification/extension/subagents/agent/tools/registry_add.js +1 -1
- package/dist/src/self-modification/extension/subagents/agent/tools/search_registry.d.ts +2 -0
- package/dist/src/self-modification/extension/subagents/agent/tools/search_registry.js +1 -1
- package/dist/src/self-modification/extension/subagents/agent/tools/search_traces.js +1 -1
- package/dist/src/self-modification/scaffold.d.ts +2 -0
- package/dist/src/self-modification/scaffold.js +7 -0
- package/dist/src/self-modification/setup.js +1 -7
- package/dist/src/setup/boxes/model-capabilities.d.ts +2 -2
- package/dist/src/setup/boxes/model-capabilities.js +1 -1
- package/dist/src/setup/boxes/select-model.js +1 -1
- package/dist/src/setup/integrations/shopify/templates.d.ts +1 -1
- package/dist/src/setup/integrations/shopify/templates.js +31 -19
- package/dist/src/setup/integrations/web/setup.d.ts +0 -2
- package/dist/src/setup/integrations/web/setup.js +3 -3
- package/dist/src/setup/scaffold/create/agent-paths.d.ts +5 -0
- package/dist/src/setup/scaffold/create/agent-paths.js +1 -0
- package/dist/src/setup/scaffold/create/instructions-template.d.ts +1 -0
- package/dist/src/setup/scaffold/create/instructions-template.js +8 -0
- package/dist/src/setup/scaffold/create/project.js +3 -10
- package/dist/src/setup/scaffold/create/web-template.d.ts +1 -1
- package/dist/src/setup/scaffold/create/web-template.js +1 -1
- package/dist/src/shared/action-request-name.d.ts +3 -0
- package/dist/src/shared/action-request-name.js +1 -0
- package/dist/src/shared/action-types.d.ts +49 -21
- package/dist/src/shared/action-types.js +1 -1
- package/dist/src/shared/agent-definition.d.ts +0 -7
- package/dist/src/shared/chatgpt-model.d.ts +1 -1
- package/dist/src/shared/chatgpt-model.js +1 -1
- package/dist/src/shared/connection-types.d.ts +2 -3
- package/dist/src/shared/default-agent-model.d.ts +10 -1
- package/dist/src/shared/default-agent-model.js +1 -1
- package/dist/src/shared/extension-mount.d.ts +2 -0
- package/dist/src/shared/extension-mount.js +1 -0
- package/dist/src/shared/format-duration.d.ts +2 -0
- package/dist/src/shared/format-duration.js +1 -0
- package/dist/src/shared/gateway-model-catalog.d.ts +25 -2
- package/dist/src/shared/gateway-model-catalog.js +1 -1
- package/dist/src/shared/input.d.ts +1 -0
- package/dist/src/shared/memory-state.d.ts +1 -0
- package/dist/src/shared/memory-state.js +1 -1
- package/dist/src/shared/model-helper.d.ts +2 -2
- package/dist/src/shared/model-helper.js +1 -1
- package/dist/src/shared/model-summary.d.ts +2 -6
- package/dist/src/shared/model-summary.js +1 -1
- package/dist/src/shared/presentation-text.d.ts +5 -0
- package/dist/src/shared/presentation-text.js +1 -1
- package/dist/src/shared/serialized-observability-state.d.ts +0 -4
- package/dist/src/shared/serialized-observability-state.js +1 -1
- package/dist/src/shared/value-delta.d.ts +39 -0
- package/dist/src/shared/value-delta.js +1 -0
- package/dist/src/subagents/adapter-state.d.ts +0 -2
- package/dist/src/subagents/adapter-state.js +1 -1
- package/dist/src/subagents/adapter.js +1 -1
- package/dist/src/subagents/callback-route.js +1 -1
- package/dist/src/subagents/event-proxy-step.d.ts +16 -29
- package/dist/src/subagents/event-proxy-step.js +1 -1
- package/dist/src/subagents/hitl-proxy.d.ts +35 -17
- package/dist/src/subagents/hitl-proxy.js +1 -1
- package/dist/src/subagents/invocation.d.ts +1 -2
- package/dist/src/subagents/parent-notification.d.ts +2 -1
- package/dist/src/subagents/parent-notification.js +1 -1
- package/dist/src/subagents/token-budget.d.ts +8 -9
- package/dist/src/subagents/token-budget.js +1 -1
- package/dist/src/subagents/tool.d.ts +6 -12
- package/dist/src/subagents/tool.js +1 -1
- package/dist/src/svelte/index.js +1 -1
- package/dist/src/svelte/use-eve-agent.js +1 -1
- package/dist/src/tools/behavior.d.ts +5 -5
- package/dist/src/tools/definition.d.ts +58 -14
- package/dist/src/tools/definition.js +1 -1
- package/dist/src/tools/durable-callbacks.d.ts +1 -1
- package/dist/src/tools/dynamic.d.ts +6 -0
- package/dist/src/tools/framework/agent-contract.d.ts +2 -5
- package/dist/src/tools/framework/agent-contract.js +1 -1
- package/dist/src/tools/framework/agent.d.ts +2 -5
- package/dist/src/tools/framework/agent.js +1 -1
- package/dist/src/tools/framework/connection-tools.d.ts +3 -0
- package/dist/src/tools/framework/connection-tools.js +1 -0
- package/dist/src/tools/provided/agent-router.d.ts +6 -3
- package/dist/src/tools/provided/agent-router.js +1 -1
- package/dist/src/{execution/tools → tools/provided}/ask-question-workflow.d.ts +3 -4
- package/dist/src/tools/provided/ask-question-workflow.js +1 -0
- package/dist/src/tools/provided/ask-question.d.ts +20 -5
- package/dist/src/tools/provided/ask-question.js +2 -1
- package/dist/src/tools/provided/interrupted.d.ts +18 -0
- package/dist/src/tools/provided/interrupted.js +1 -0
- package/dist/src/tools/provided/no-reply.d.ts +19 -0
- package/dist/src/tools/provided/no-reply.js +1 -0
- package/dist/src/tools/provided/sleep-workflow.d.ts +4 -0
- package/dist/src/tools/provided/sleep-workflow.js +1 -0
- package/dist/src/tools/provided/sleep.d.ts +11 -5
- package/dist/src/tools/provided/sleep.js +1 -1
- package/dist/src/tools/provided/task-cancel.d.ts +6 -0
- package/dist/src/tools/provided/task-cancel.js +1 -0
- package/dist/src/tools/provided/task-wait.d.ts +9 -0
- package/dist/src/tools/provided/task-wait.js +1 -0
- package/dist/src/tools/provided/workflow.d.ts +2 -2
- package/dist/src/tools/provided/workflow.js +1 -1
- package/dist/src/tools/schema-emission.d.ts +23 -0
- package/dist/src/tools/schema-emission.js +1 -0
- package/dist/src/tools/schema.d.ts +22 -8
- package/dist/src/tools/schema.js +1 -1
- package/dist/src/tools/workflow-definition.d.ts +187 -85
- package/dist/src/tools/workflow-definition.js +1 -1
- package/dist/src/tools/workflow-entry-point.d.ts +3 -0
- package/dist/src/tools/workflow-entry-point.js +1 -0
- package/dist/src/tracing/agent-action-instrumentation.d.ts +1 -3
- package/dist/src/tracing/agent-action-instrumentation.js +1 -1
- package/dist/src/tracing/agent-invocation-coordinator.d.ts +9 -18
- package/dist/src/tracing/agent-invocation-coordinator.js +1 -1
- package/dist/src/tracing/agent-otel-content.d.ts +0 -2
- package/dist/src/tracing/agent-otel-content.js +3 -3
- package/dist/src/tracing/agent-otel-provider.js +2 -2
- package/dist/src/tracing/agent-otel-runtime-context.d.ts +20 -0
- package/dist/src/tracing/agent-otel-runtime-context.js +1 -1
- package/dist/src/tracing/agent-otel-usage.js +1 -1
- package/dist/src/tracing/agent-span-contract.d.ts +1 -1
- package/dist/src/tracing/agent-span-contract.js +1 -1
- package/dist/src/tracing/agent-span-id-generator.d.ts +0 -1
- package/dist/src/tracing/agent-span-id-generator.js +1 -1
- package/dist/src/tracing/agent-trace-context-codec.d.ts +1 -2
- package/dist/src/tracing/agent-trace-context-codec.js +1 -1
- package/dist/src/tracing/agent-trace-context-store.d.ts +2 -27
- package/dist/src/tracing/agent-trace-context-store.js +1 -1
- package/dist/src/tracing/agent-trace-state.d.ts +1 -19
- package/dist/src/tracing/content-attributes.js +1 -1
- package/dist/src/tracing/install-instrumentation-runtime.js +1 -1
- package/dist/src/vue/index.js +1 -1
- package/dist/src/vue/use-eve-agent.js +1 -1
- package/docs/agent-config.md +36 -13
- package/docs/channels/chat-sdk.mdx +15 -4
- package/docs/channels/custom.mdx +89 -17
- package/docs/channels/eve.mdx +1 -1
- package/docs/channels/mcp.mdx +1 -1
- package/docs/channels/overview.mdx +14 -56
- package/docs/channels/slack.mdx +230 -35
- package/docs/channels/telegram.mdx +2 -0
- package/docs/concepts/built-in-tools.md +36 -28
- package/docs/concepts/context-control.md +2 -2
- package/docs/concepts/execution-model-and-durability.mdx +10 -11
- package/docs/concepts/project-structure.mdx +1 -1
- package/docs/concepts/sessions-runs-and-streaming.md +67 -47
- package/docs/connections/mcp.mdx +4 -4
- package/docs/connections/openapi.mdx +2 -2
- package/docs/connections/overview.mdx +2 -2
- package/docs/evals/assertions.mdx +5 -5
- package/docs/evals/cases.mdx +1 -1
- package/docs/evals/reporters.mdx +6 -4
- package/docs/extensions.md +11 -2
- package/docs/guides/auth-and-route-protection.md +1 -1
- package/docs/guides/client/streaming.mdx +31 -11
- package/docs/guides/deployment/vercel.mdx +1 -1
- package/docs/guides/dev-tui.md +13 -3
- package/docs/guides/dynamic-capabilities.md +15 -10
- package/docs/guides/evaluate.md +29 -2
- package/docs/guides/frontend/overview.mdx +5 -7
- package/docs/guides/hooks.md +48 -12
- package/docs/guides/instrumentation/instrumentation.mdx +2 -0
- package/docs/guides/remote-agents.md +12 -14
- package/docs/guides/self-modification.md +10 -0
- package/docs/install-integrations.mdx +1 -1
- package/docs/instructions.mdx +1 -1
- package/docs/patterns/multi-tenant-approvals.md +1 -1
- package/docs/protocols/ucp.mdx +20 -16
- package/docs/reference/cli.md +96 -22
- package/docs/reference/typescript-api.md +43 -41
- package/docs/schedules.mdx +14 -34
- package/docs/subagents/index.mdx +24 -56
- package/docs/tools/human-in-the-loop.md +50 -13
- package/docs/tools/meta.json +1 -1
- package/docs/tools/overview.mdx +79 -59
- package/docs/tools/tasks-upgrade.md +201 -0
- package/docs/tools/tasks.md +315 -0
- package/docs/tools/workflows.mdx +368 -154
- package/package.json +41 -14
- package/dist/src/channel/activity-renderer.d.ts +0 -21
- package/dist/src/channel/activity-renderer.js +0 -1
- package/dist/src/channel/activity-sink.d.ts +0 -2
- package/dist/src/channel/activity-sink.js +0 -1
- package/dist/src/eve-channel/activity-observer-request.d.ts +0 -7
- package/dist/src/eve-channel/activity-observer-request.js +0 -1
- package/dist/src/eve-channel/delivery-policy-request.d.ts +0 -4
- package/dist/src/eve-channel/delivery-policy-request.js +0 -1
- package/dist/src/execution/activity-cohort.d.ts +0 -20
- package/dist/src/execution/activity-cohort.js +0 -1
- package/dist/src/execution/activity-collector.d.ts +0 -12
- package/dist/src/execution/activity-collector.js +0 -1
- package/dist/src/execution/activity-events.d.ts +0 -8
- package/dist/src/execution/activity-events.js +0 -1
- package/dist/src/execution/activity-route.d.ts +0 -2
- package/dist/src/execution/activity-route.js +0 -1
- package/dist/src/execution/activity-work-id.d.ts +0 -9
- package/dist/src/execution/activity-work-id.js +0 -1
- package/dist/src/execution/activity-work.d.ts +0 -30
- package/dist/src/execution/activity-work.js +0 -1
- package/dist/src/execution/cancel-indexed-session-tasks-step.d.ts +0 -7
- package/dist/src/execution/cancel-indexed-session-tasks-step.js +0 -1
- package/dist/src/execution/dispatch-action-failures.d.ts +0 -8
- package/dist/src/execution/dispatch-action-failures.js +0 -1
- package/dist/src/execution/dispatch-start-operation.d.ts +0 -15
- package/dist/src/execution/dispatch-start-operation.js +0 -1
- package/dist/src/execution/publish-channel-event.d.ts +0 -23
- package/dist/src/execution/publish-channel-event.js +0 -1
- package/dist/src/execution/scheduled-launch-delivery.d.ts +0 -7
- package/dist/src/execution/scheduled-launch-delivery.js +0 -1
- package/dist/src/execution/session/event-sink.d.ts +0 -26
- package/dist/src/execution/session/event-sink.js +0 -1
- package/dist/src/execution/session-activity-projection.d.ts +0 -16
- package/dist/src/execution/session-activity-projection.js +0 -1
- package/dist/src/execution/session-activity-renderer-step.d.ts +0 -15
- package/dist/src/execution/session-activity-renderer-step.js +0 -1
- package/dist/src/execution/session-activity.d.ts +0 -3
- package/dist/src/execution/session-activity.js +0 -1
- package/dist/src/execution/submit-activity.d.ts +0 -7
- package/dist/src/execution/submit-activity.js +0 -1
- package/dist/src/execution/task-event-callback.d.ts +0 -12
- package/dist/src/execution/task-event-callback.js +0 -1
- package/dist/src/execution/task-input-capability.d.ts +0 -4
- package/dist/src/execution/task-input-capability.js +0 -1
- package/dist/src/execution/task-input-response-route.d.ts +0 -2
- package/dist/src/execution/task-input-response-route.js +0 -1
- package/dist/src/execution/tasks/child/notify.d.ts +0 -44
- package/dist/src/execution/tasks/child/notify.js +0 -1
- package/dist/src/execution/tasks/parent/control-shared.d.ts +0 -23
- package/dist/src/execution/tasks/parent/control-shared.js +0 -1
- package/dist/src/execution/tasks/parent/delegate.d.ts +0 -35
- package/dist/src/execution/tasks/parent/delegate.js +0 -1
- package/dist/src/execution/tasks/parent/dispatch.d.ts +0 -22
- package/dist/src/execution/tasks/parent/dispatch.js +0 -1
- package/dist/src/execution/tasks/parent/hitl-proxy-steps.d.ts +0 -27
- package/dist/src/execution/tasks/parent/hitl-proxy-steps.js +0 -1
- package/dist/src/execution/tasks/parent/run-parent.d.ts +0 -58
- package/dist/src/execution/tasks/parent/run-parent.js +0 -1
- package/dist/src/execution/tasks/parent/subagent-task-projection.d.ts +0 -26
- package/dist/src/execution/tasks/parent/subagent-task-projection.js +0 -1
- package/dist/src/execution/tasks/parent/task-cancel.d.ts +0 -12
- package/dist/src/execution/tasks/parent/task-cancel.js +0 -1
- package/dist/src/execution/tasks/parent/tool-execution.d.ts +0 -45
- package/dist/src/execution/tasks/parent/tool-execution.js +0 -1
- package/dist/src/execution/terminal-session-event.d.ts +0 -13
- package/dist/src/execution/terminal-session-event.js +0 -1
- package/dist/src/execution/tools/ask-question-workflow.js +0 -1
- package/dist/src/execution/tools/ask-question.d.ts +0 -19
- package/dist/src/execution/tools/ask-question.js +0 -2
- package/dist/src/execution/tools/connection-search.d.ts +0 -2
- package/dist/src/execution/tools/connection-search.js +0 -2
- package/dist/src/execution/tools/sleep-workflow.d.ts +0 -3
- package/dist/src/execution/tools/sleep-workflow.js +0 -1
- package/dist/src/execution/tools/sleep.d.ts +0 -10
- package/dist/src/execution/tools/sleep.js +0 -1
- package/dist/src/execution/tools/subagent/accept-event-step.d.ts +0 -7
- package/dist/src/execution/tools/subagent/accept-event-step.js +0 -1
- package/dist/src/execution/tools/subagent/emit-event-step.d.ts +0 -12
- package/dist/src/execution/tools/subagent/emit-event-step.js +0 -1
- package/dist/src/execution/tools/subagent/invoke-agent.d.ts +0 -42
- package/dist/src/execution/tools/subagent/invoke-agent.js +0 -1
- package/dist/src/execution/tools/subagent/invoke-preparation.d.ts +0 -44
- package/dist/src/execution/tools/subagent/invoke-preparation.js +0 -1
- package/dist/src/execution/tools/subagent/invoke-step.d.ts +0 -64
- package/dist/src/execution/tools/subagent/invoke-step.js +0 -1
- package/dist/src/execution/tools/subagent/receipt-identity.d.ts +0 -11
- package/dist/src/execution/tools/subagent/receipt-identity.js +0 -1
- package/dist/src/execution/tools/subagent/start.d.ts +0 -51
- package/dist/src/execution/tools/subagent/start.js +0 -1
- package/dist/src/execution/tools/subagent/steer.d.ts +0 -13
- package/dist/src/execution/tools/subagent/steer.js +0 -1
- package/dist/src/execution/tools/subagent/task-agent-requests.d.ts +0 -24
- package/dist/src/execution/tools/subagent/task-agent-requests.js +0 -1
- package/dist/src/execution/tools/subagent/task-cancel.d.ts +0 -10
- package/dist/src/execution/tools/subagent/task-cancel.js +0 -1
- package/dist/src/execution/tools/tasks.d.ts +0 -3
- package/dist/src/execution/tools/tasks.js +0 -1
- package/dist/src/execution/tools/workflow/background.js +0 -1
- package/dist/src/execution/tools/workflow/workflow-owner-background.d.ts +0 -14
- package/dist/src/execution/tools/workflow/workflow-owner-background.js +0 -1
- package/dist/src/extensions/code/extension/tools/computer_use.js +0 -1
- package/dist/src/harness/background-tools.d.ts +0 -45
- package/dist/src/harness/background-tools.js +0 -1
- package/dist/src/instrumentation/background-task-runtime.d.ts +0 -18
- package/dist/src/instrumentation/background-task-runtime.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_cli-config@0.3.0/node_modules/@vercel/cli-config/dist/index.js +0 -21
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/envpath.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/errors.js +0 -2
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/errutils.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/exec.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/fsutils.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/index.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/lookup.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/safety.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/authorization.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/connector.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/index.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/installation.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/internal/base-url.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/internal/default-scopes.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/internal/env.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/internal/url-validation.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/token.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/auth-errors.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/exchange-vercel-oidc-token.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/get-context.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/get-vercel-oidc-token-sync.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/get-vercel-oidc-token-with-refresh.js +0 -2
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/index.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/oauth.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/token-error.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/token-io.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/token-util.js +0 -2
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/token.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/verify-vercel-oidc-token.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/version.js +0 -1
- package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/index.js +0 -1
- package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js +0 -1
- package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js +0 -1
- package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js +0 -1
- package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js +0 -1
- package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -1
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/index.js +0 -1
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/command.js +0 -1
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/error.js +0 -2
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/kill.js +0 -1
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/promise.js +0 -1
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/stdio.js +0 -1
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/stream.js +0 -1
- package/dist/src/node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/buffer-stream.js +0 -1
- package/dist/src/node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/index.js +0 -1
- package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/core.js +0 -1
- package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/main.js +0 -1
- package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/realtime.js +0 -1
- package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/signals.js +0 -1
- package/dist/src/node_modules/.pnpm/is-stream@2.0.1/node_modules/is-stream/index.js +0 -1
- package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/index.js +0 -1
- package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/mode.js +0 -1
- package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/windows.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/index.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/compact/decrypt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/compact/encrypt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/flattened/decrypt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/flattened/encrypt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/general/decrypt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/general/encrypt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwk/embedded.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwk/thumbprint.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwks/local.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwks/remote.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/compact/sign.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/compact/verify.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/flattened/sign.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/flattened/verify.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/general/sign.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/general/verify.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/decrypt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/encrypt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/produce.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/sign.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/unsecured.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/verify.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/export.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/generate_key_pair.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/generate_secret.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/import.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/aesgcmkw.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/buffer_utils.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/cek.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_iv_length.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_key_type.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_p2s.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/crypto_key.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/decrypt_key_management.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/encrypt_key_management.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/epoch.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/invalid_key_input.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_disjoint.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_jwk.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_object.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/iv.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/jwt_claims_set.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/private_symbols.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/secs.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/validate_algorithms.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/validate_crit.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/aeskw.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/asn1.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/base64url.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/cbc_tag.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/check_cek_length.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/check_key_length.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/ciphers.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/decrypt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/digest.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/dsa_digest.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/ecdhes.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/encrypt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/fetch_jwks.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/generate.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/get_named_curve.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/get_sign_verify_key.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/hmac_digest.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/is_key_like.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/is_key_object.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/jwk_to_key.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/key_to_jwk.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/node_key.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/normalize_key.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/pbes2kw.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/random.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/rsaes.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/runtime.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/sign.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/timing_safe_equal.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/verify.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/webcrypto.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/base64url.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/decode_jwt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/decode_protected_header.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/errors.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/runtime.js +0 -1
- package/dist/src/node_modules/.pnpm/merge-stream@2.0.0/node_modules/merge-stream/index.js +0 -1
- package/dist/src/node_modules/.pnpm/mimic-fn@2.1.0/node_modules/mimic-fn/index.js +0 -1
- package/dist/src/node_modules/.pnpm/npm-run-path@4.0.1/node_modules/npm-run-path/index.js +0 -1
- package/dist/src/node_modules/.pnpm/onetime@5.1.2/node_modules/onetime/index.js +0 -1
- package/dist/src/node_modules/.pnpm/path-key@3.1.1/node_modules/path-key/index.js +0 -1
- package/dist/src/node_modules/.pnpm/shebang-command@2.0.0/node_modules/shebang-command/index.js +0 -1
- package/dist/src/node_modules/.pnpm/shebang-regex@3.0.0/node_modules/shebang-regex/index.js +0 -1
- package/dist/src/node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/index.js +0 -1
- package/dist/src/node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/signals.js +0 -1
- package/dist/src/node_modules/.pnpm/strip-final-newline@2.0.0/node_modules/strip-final-newline/index.js +0 -2
- package/dist/src/node_modules/.pnpm/which@2.0.2/node_modules/which/which.js +0 -1
- package/dist/src/protocol/activity.d.ts +0 -112
- package/dist/src/protocol/activity.js +0 -1
- package/dist/src/protocol/agent-handle-error.d.ts +0 -13
- package/dist/src/protocol/agent-handle-error.js +0 -1
- package/dist/src/public/channels/slack/activity-plan.d.ts +0 -5
- package/dist/src/public/channels/slack/activity-plan.js +0 -1
- package/dist/src/public/channels/slack/activity.d.ts +0 -63
- package/dist/src/public/channels/slack/activity.js +0 -2
- package/dist/src/public/tools/connection-search.d.ts +0 -1
- package/dist/src/public/tools/connection-search.js +0 -1
- package/dist/src/public/tools/task-cancel.d.ts +0 -1
- package/dist/src/public/tools/task-cancel.js +0 -1
- package/dist/src/runtime/prompt/connections.d.ts +0 -9
- package/dist/src/runtime/prompt/connections.js +0 -2
- package/dist/src/shared/boundary-hook-error.d.ts +0 -4
- package/dist/src/shared/boundary-hook-error.js +0 -1
- package/dist/src/shared/empty-delivery.d.ts +0 -3
- package/dist/src/shared/empty-delivery.js +0 -1
- package/dist/src/subagents/agent-handle-errors.d.ts +0 -25
- package/dist/src/subagents/agent-handle-errors.js +0 -1
- package/dist/src/subagents/callback-step.d.ts +0 -11
- package/dist/src/subagents/callback-step.js +0 -1
- package/dist/src/subagents/continuation-bundle.d.ts +0 -13
- package/dist/src/subagents/continuation-bundle.js +0 -1
- package/dist/src/subagents/handle-dispatch.d.ts +0 -65
- package/dist/src/subagents/handle-dispatch.js +0 -1
- package/dist/src/subagents/handles/operation-id.d.ts +0 -15
- package/dist/src/subagents/handles/operation-id.js +0 -1
- package/dist/src/subagents/handles/prompt.d.ts +0 -52
- package/dist/src/subagents/handles/prompt.js +0 -3
- package/dist/src/subagents/handles/query.d.ts +0 -41
- package/dist/src/subagents/handles/query.js +0 -1
- package/dist/src/subagents/handles/state-key.d.ts +0 -8
- package/dist/src/subagents/handles/state-key.js +0 -1
- package/dist/src/subagents/handles/store.d.ts +0 -217
- package/dist/src/subagents/handles/store.js +0 -1
- package/dist/src/subagents/handles/transitions.d.ts +0 -103
- package/dist/src/subagents/handles/transitions.js +0 -1
- package/dist/src/subagents/remote-dispatch.js +0 -1
- package/dist/src/subagents/start-local.d.ts +0 -29
- package/dist/src/subagents/start-local.js +0 -1
- package/dist/src/subagents/start-remote.d.ts +0 -21
- package/dist/src/subagents/start-remote.js +0 -1
- package/dist/src/tasks/delivery-context.d.ts +0 -32
- package/dist/src/tasks/delivery-context.js +0 -4
- package/dist/src/tasks/delivery-policy.d.ts +0 -14
- package/dist/src/tasks/delivery-policy.js +0 -1
- package/dist/src/tasks/json.d.ts +0 -88
- package/dist/src/tasks/json.js +0 -1
- package/dist/src/tasks/notification.d.ts +0 -10
- package/dist/src/tasks/notification.js +0 -1
- package/dist/src/tasks/task-id.d.ts +0 -31
- package/dist/src/tasks/task-id.js +0 -1
- package/dist/src/tasks/task-inbox-token.d.ts +0 -2
- package/dist/src/tasks/task-inbox-token.js +0 -1
- package/dist/src/tasks/transitions.d.ts +0 -17
- package/dist/src/tasks/transitions.js +0 -1
- package/dist/src/tasks/types.d.ts +0 -136
- package/dist/src/tasks/types.js +0 -1
- package/dist/src/tools/framework/connection-search.d.ts +0 -3
- package/dist/src/tools/framework/connection-search.js +0 -1
- package/dist/src/tools/framework/task-cancel.d.ts +0 -4
- package/dist/src/tools/framework/task-cancel.js +0 -1
- package/dist/src/tools/framework/task-contract.d.ts +0 -19
- package/dist/src/tools/framework/task-contract.js +0 -1
- package/dist/src/tools/native-definition.d.ts +0 -7
- package/dist/src/tools/native-definition.js +0 -1
- package/dist/src/tracing/agent-invocation-terminal.d.ts +0 -18
- package/dist/src/tracing/agent-invocation-terminal.js +0 -1
- /package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use-driver-source.d.ts +0 -0
- /package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use-driver-source.js +0 -0
- /package/dist/src/{extensions/code → computer-use}/extension/tools/computer_use.d.ts +0 -0
- /package/dist/src/execution/{tools/subagent → agent-sessions}/metadata.d.ts +0 -0
- /package/dist/src/execution/{tools/subagent → agent-sessions}/metadata.js +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import{buildAgentHeader}from"./agent-header.js";import{PROMPT_COMMANDS,isPromptControlCommand,parsePromptCommand,promptCommandSpec}from"./prompt-commands.js";import{argumentTypeaheadCompletion,argumentTypeaheadFor,argumentTypeaheadLoadingLabel,argumentTypeaheadQuery,moveArgumentTypeaheadSelection,renderArgumentSuggestions,selectedArgumentSuggestion}from"./argument-typeahead.js";import{detectMarkdownRendering}from"./markdown.js";import{renderAttentionRows,renderBlockLines}from"./blocks.js";import{copyTextToClipboard}from"./clipboard.js";import{dismissTypeahead,inlineCommandHint,isTypeaheadOpen,moveTypeaheadSelection,renderCommandSuggestions,selectedTypeaheadCommand,typeaheadCompletion,typeaheadFor}from"./command-typeahead.js";import{formatDevRebuildStatus,summarizeChangedFiles}from"./dev-rebuild-status.js";import{formatStoredDiagnostic,presentDiagnostic}from"./diagnostic-presentation.js";import{interruptedError}from"./errors.js";import{FileContentCache}from"./file-content-cache.js";import{EMPTY_LINE,KillRing,PromptHistory,applyLineEditorKey,deleteForward,layoutPromptInput,lineOf,movePromptLine,visibleLine}from"./line-editor.js";import{enterBadge,flowMessageRows,renderAcknowledgeQuestion,renderSelectQuestion,renderTextQuestion}from"./setup-panel.js";import{renderFlowDrawer,renderTransientDrawer}from"./flow-drawer.js";import{nextLogDisplayMode}from"./log-display-mode.js";import{MessageQueue,renderMessageQueueRows}from"./message-queue.js";import{initialProviderPickerState,transitionProviderPicker}from"./provider-picker.js";import{renderQuestionChoices,renderQuestionPanel}from"./question-panel.js";import{formatAssistantResponseStats,formatTokenFlow,formatTurnDuration,isIncompleteOsc,isIncompletePaste,nextKey,sanitizePastedText,stripPasteStart,stripPromptControlCharacters,takeUntil}from"./stream-format.js";import{TraceViewerSession}from"./traces/trace-viewer-session.js";import{buildStatusLine}from"./status-line.js";import{createTheme,detectUnicode}from"./theme.js";import{
|
|
2
|
-
`);if(this.#
|
|
1
|
+
import{buildAgentHeader}from"./agent-header.js";import{PROMPT_COMMANDS,isPromptControlCommand,parsePromptCommand,promptCommandSpec}from"./prompt-commands.js";import{argumentTypeaheadCompletion,argumentTypeaheadFor,argumentTypeaheadLoadingLabel,argumentTypeaheadQuery,moveArgumentTypeaheadSelection,renderArgumentSuggestions,selectedArgumentSuggestion}from"./argument-typeahead.js";import{detectMarkdownRendering}from"./markdown.js";import{renderAttentionRows,renderBlockLines}from"./blocks.js";import{copyTextToClipboard}from"./clipboard.js";import{dismissTypeahead,inlineCommandHint,isTypeaheadOpen,moveTypeaheadSelection,renderCommandSuggestions,selectedTypeaheadCommand,typeaheadCompletion,typeaheadFor}from"./command-typeahead.js";import{formatDevRebuildStatus,summarizeChangedFiles}from"./dev-rebuild-status.js";import{formatStoredDiagnostic,presentDiagnostic,splitWorkflowLogs}from"./diagnostic-presentation.js";import{interruptedError}from"./errors.js";import{FileContentCache}from"./file-content-cache.js";import{EMPTY_LINE,KillRing,PromptHistory,applyLineEditorKey,deleteForward,layoutPromptInput,lineOf,movePromptLine,visibleLine}from"./line-editor.js";import{enterBadge,flowMessageRows,renderAcknowledgeQuestion,renderSelectQuestion,renderTextQuestion}from"./setup-panel.js";import{renderFlowDrawer,renderTransientDrawer}from"./flow-drawer.js";import{nextLogDisplayMode}from"./log-display-mode.js";import{MessageQueue,renderMessageQueueRows}from"./message-queue.js";import{agentDisplayName,isPanelRoutedTool,presentPreparingTool,presentTool,readWriteFileInput,toolBaseName}from"./tool-presentation.js";import{initialPromptPlaceholder}from"./prompt-placeholder.js";import{initialProviderPickerState,transitionProviderPicker}from"./provider-picker.js";import{renderQuestionChoices,renderQuestionPanel}from"./question-panel.js";import{formatAssistantResponseStats,formatTokenFlow,formatTurnDuration,isIncompleteOsc,isIncompletePaste,nextKey,sanitizePastedText,stripPasteStart,stripPromptControlCharacters,takeUntil}from"./stream-format.js";import{TraceViewerSession}from"./traces/trace-viewer-session.js";import{buildStatusLine}from"./status-line.js";import{createTheme,detectUnicode}from"./theme.js";import{groupToolBlocksForDisplay,summarizeChildTools}from"./tool-block-groups.js";import{TaskActivity,renderTaskPanelRows,waitingLabel}from"./task-activity.js";import{TurnClock}from"./turn-clock.js";import{reduceSetupSelectInput,setupSelectionIntent}from"./setup-selection-input.js";import{BACKGROUND_COLOR_QUERY,parseBackgroundColorReply}from"./terminal-background.js";import{inspectError}from"#internal/logging.js";import{eveVersionTag}from"#cli/banner.js";import{clipVisible,renderInputText,renderInputWithBlockCursor,stripAnsi,stripTerminalControls,wrapVisibleLine}from"#cli/ui/terminal-text.js";import{initialSelectState,orderedSelection,reduceSelect,searchActionQuery,selectValueAtCursor}from"#setup/cli/select-state.js";import{toErrorMessage}from"#shared/errors.js";import{StringDecoder}from"node:string_decoder";import{summarizeKnownError}from"#harness/semantic-errors/index.js";import{parseDevRebuildLogLine}from"#internal/nitro/host/dev-watcher-log.js";import{LiveRegion}from"#cli/ui/live-region.js";import{AltScreen}from"#cli/ui/alt-screen.js";import{PROGRESS_PULSE_ASCII_GLYPH,PROGRESS_PULSE_GLYPH,isProgressPulseVisible}from"#cli/ui/progress-pulse.js";import{readGatewayServiceTier}from"#shared/gateway-service-tier.js";function isMultiSelectRequest(e){return e.kind===`multi`||e.kind===`searchable-multi`}function moveActionCursor(e,t,n){return n===0?void 0:e===void 0?t===`down`?0:n-1:(e+(t===`down`?1:-1)+n)%n}function completedTurnStatus(e){return e.interrupted?`Interrupted`:e.cancelled?`Cancelled`:e.continueSession?`Ready`:`Done`}function turnActivityLabel(e,t){return e===void 0?`Thinking`:e.runningTools.size>0?`Running`:!e.inStep&&t.length>0?waitingLabel(t):e.modelActivity}function updateTurnActivity(e,t){switch(t.type){case`step-start`:e.inStep=!0,e.modelActivity=`Thinking`;break;case`step-finish`:e.inStep=!1;break;case`turn-start`:case`reasoning-delta`:e.modelActivity=`Thinking`;break;case`assistant-delta`:case`tool-call-preparing`:e.modelActivity=`Generating`;break;case`assistant-complete`:t.text?.trim()&&(e.modelActivity=`Generating`);break;case`tool-call`:e.runningTools.add(t.toolCallId),e.modelActivity=`Thinking`;break;case`tool-result`:case`tool-error`:case`tool-rejected`:case`tool-withdrawn`:case`task-started`:e.runningTools.delete(t.toolCallId)}}const incompletePasteFlushMs=1e3,STATUS={processing:`Thinking`,connectionAuth:`Waiting for connection authorization…`};var TerminalRenderer=class{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h=[];#g=new Map;#_;#v=new Set;#y=[];#b=new Set;#x=new Map;#S=0;#C=new TaskActivity;#w=new Set;#T=new Set;#E=new Set;#D=new Set;#O=new Map;#k=new FileContentCache;#A;#j=`Send a message…`;#M;#N;#P;#F=0;#I;#L=!1;#R;#z=[];#B;#V=0;#H;#U;#W=``;#G=0;#K=new PromptHistory;#q=new KillRing;#J=!1;#Y;#X;#Z;#Q=new Map;#$=new Map;#ee=!1;#te=!1;#ne=new TurnClock;#re;#ie=EMPTY_LINE;#ae=!1;#oe={kind:`idle`};#se;#ce=STATUS.processing;#le;#ue=`eve`;#de=!1;#fe=!1;#pe=!1;#me=!1;#he=!1;#ge=!1;#_e=!1;#ve;#ye=!0;#be=0;#xe=Date.now();#Se;#Ce;#we;#Te=!1;#Ee;#De=``;#Oe=new StringDecoder(`utf8`);#ke;#Ae;#je;#Me=!1;#Ne=!1;#Pe;#Fe;#Ie;#Le;#Re;#ze;#Be;#Ve=``;#He=``;#Ue=!1;#We;#Ge;#Ke;#qe=!1;#Je;#Ye=0;#Xe;#Ze;#Qe;#$e;#et;#tt;#nt;#rt;#it=new MessageQueue;#at;#ot;#st=!1;#ct;#lt;#ut=!1;#dt;#ft;#pt;#mt;#ht;setupFlow={begin:e=>this.#Dt(e),setNavigation:e=>this.#Ot(e),end:e=>this.#kt(e?.preserveDiagnostics??!0),readSelect:e=>this.#At(e),readEditableSelect:e=>this.#Mt(e),readProviderPicker:e=>this.#Nt(e),readText:e=>this.#Pt(e),readAcknowledge:e=>this.#Ft(e),readChoice:e=>this.#jt(e),setStatus:e=>this.#Ut(e),renderLine:(e,t)=>this.#Wt(e,t),replaceContent:e=>this.#Gt(e),renderOutput:e=>this.#Kt(e),withInheritedStdio:e=>this.#qt(e),withExclusiveTerminal:e=>this.#qt(e),waitForInterrupt:e=>this.#Bt(e)};traceViewer={open:e=>this.#Yt(e)};constructor(e){this.#e=e?.input??process.stdin,this.#t=e?.output??process.stdout,this.#n=new LiveRegion(this.#t),this.#r=new AltScreen(this.#t),this.#i=createTheme({color:e?.color??!0,unicode:e?.unicode??detectUnicode()}),this.#a=e?.renderMarkdown??detectMarkdownRendering(),this.#o=e?.tools??`auto-collapsed`,this.#s=e?.reasoning??`auto-collapsed`,this.#c=e?.subagents??`collapsed`,this.#l=e?.connectionAuth??`full`,this.#u=e?.assistantResponseStats??`tokensPerSecond`,this.#Ie=e?.contextSize,this.#d=e?.captureForeignOutput??this.#t===process.stdout,this.#f=e?.diagnostics,this.#ve=e?.onExitRequest,this.#Z=e?.argumentSuggestions,this.#m=e?.logs??`none`,this.#p=e?.availablePromptCommands??PROMPT_COMMANDS}#gt(e){this.#Y=typeaheadFor(this.#p,e,this.#Y);let t=argumentTypeaheadQuery(e);if(t===void 0||this.#Z===void 0){this.#X=void 0;return}let n=this.#Q.get(t.command);if(n===void 0){this.#Q.set(t.command,{kind:`loading`,visible:!1});let e=t.command;this.#$.set(e,setTimeout(()=>{this.#$.delete(e),this.#Q.get(e)?.kind===`loading`&&(this.#Q.set(e,{kind:`loading`,visible:!0}),this.#Kn())},500)),this.#Z(e).catch(()=>[]).then(t=>{let n=this.#$.get(e);n!==void 0&&clearTimeout(n),this.#$.delete(e),this.#Q.set(e,{kind:`ready`,suggestions:t}),this.#J&&this.#gt(this.#W),this.#Kn()}),this.#X=void 0;return}if(n.kind===`loading`){this.#X=void 0;return}this.#X=argumentTypeaheadFor(t,n.suggestions,this.#X)}#_t(e){let t=argumentTypeaheadQuery(this.#W),n=t===void 0?void 0:this.#Q.get(t.command);return n?.kind===`loading`&&n.visible&&t!==void 0?[clip(this.#i.colors.dim(`Loading ${argumentTypeaheadLoadingLabel(t.command)}…`),e)]:this.#X===void 0?this.#Y!==void 0&&isTypeaheadOpen(this.#Y)?renderCommandSuggestions(this.#Y,this.#i,e):[]:renderArgumentSuggestions(this.#X,this.#i,e)}setStartupPhase(e){this.#M=e,e===void 0?this.#gn():this.#mn(),this.#Kn()}renderAgentHeader(e){this.#I=void 0,this.#ue=e.name,(this.#A?.info?.agent.model.routing.kind!==`dynamic`||e.info?.agent.model.routing.kind!==`dynamic`)&&(this.#nt=void 0),this.#A=e,this.#j=initialPromptPlaceholder(e.info,e.localDevelopment===!0),this.#Qt();let t=this.#Zn().join(`
|
|
2
|
+
`);if(this.#L){t!==this.#R&&(this.#R=t,this.#yn({kind:`agent-header`,body:t,live:!1})),this.#Kn();return}this.#L=!0,this.#R=t,this.#n.flush(this.#Zn(),this.#nr(this.#ur()))}beginStartupDraft(e){this.#Qt({title:e.title}),this.#J=!0,this.#ee=!0,this.#M=`starting`,this.#I={name:e.title},this.#F=Date.now();let t=lineOf(stripPromptControlCharacters(e.initialDraft??``));this.#N=t,this.#yt(t),this.#dn(),this.#mn(),this.#Kn();let apply=e=>{t=e,this.#N=e,this.#pn(),this.#yt(t),this.#Kn()};this.#P=e=>{if(e.type===`escape`&&this.#ft!==void 0){this.#ft(`escape`);return}if(e.type===`ctrl-c`&&this.#ft!==void 0){this.#Jt(),this.#ft(`ctrl-c`);return}let n=this.#q.apply(t,e,{multiline:!0});if(n!==void 0){apply(n);return}if(e.type===`enter`&&t.text.trim().length>0){this.#it.enqueue(t.text)&&apply(EMPTY_LINE);return}e.type===`ctrl-c`&&this.#ve?.()},this.#vt()}#vt(){this.#N!==void 0&&this.#P!==void 0&&(this.#cn(),this.#yt(this.#N),this.#J=!0,this.#Ee=this.#P,this.#tn())}finishStartupDraft(){let e={draft:this.#N?.text??this.#W,queuedPrompt:this.#it.takePrompt()};return this.#N=void 0,this.#P=void 0,this.#nn(),this.#fn(),this.#J=!1,this.#ee=!1,e}async readPrompt(e){this.#Qt(e),this.#vn(),this.#xn(),this.#J=!0,this.#ee=!0,this.#oe={kind:`idle`},this.#ce=``,this.#ge=this.#_e,this.#_e=!1;let t=this.#it.restoreDraft()?.split(`
|
|
3
3
|
`).map(stripPromptControlCharacters).join(`
|
|
4
|
-
`),n=stripPromptControlCharacters(e?.initialDraft??this.#te.text),r=t===void 0?n:n.length===0?t:`${t}\n\n${n}`,i=lineOf(r);return this.#te=EMPTY_LINE,this.#U.begin(i.text),this.#ht(i),this.#ft(i.text),this.#cn(),this.#zn(),await new Promise((e,t)=>{this.#ie=t;let apply=e=>{i=e,this.#un(),this.#ht(i),this.#ft(e.text),this.#zn()},recall=e=>{e!==void 0&&apply(lineOf(e))},interrupt=()=>{this.#K=void 0,this.#ln(),this.#Zt(),t(interruptedError())},suggestions=()=>this.#K!==void 0&&isTypeaheadOpen(this.#K)?this.#K:void 0,argumentSuggestions=()=>this.#q?.suggestions.length?this.#q:void 0,highlighted=()=>{let e=suggestions();return e===void 0?void 0:selectedTypeaheadCommand(e)};this.#Ce=t=>{t.type!==`ctrl-c`&&this.#pe&&(this.#pe=!1,this.#zn());let n=this.#W.apply(i,t,{multiline:!0});if(n!==void 0){apply(n);return}switch(t.type){case`up`:case`ctrl-p`:{let e=argumentSuggestions();if(e!==void 0){this.#q=moveArgumentTypeaheadSelection(e,-1),this.#zn();break}let t=suggestions();if(t!==void 0){this.#K=moveTypeaheadSelection(t,-1),this.#zn();break}let n=movePromptLine(i,`up`);n===void 0?recall(this.#U.previous(i.text)):apply(n);break}case`down`:case`ctrl-n`:{let e=argumentSuggestions();if(e!==void 0){this.#q=moveArgumentTypeaheadSelection(e,1),this.#zn();break}let t=suggestions();if(t!==void 0){this.#K=moveTypeaheadSelection(t,1),this.#zn();break}let n=movePromptLine(i,`down`);n===void 0?recall(this.#U.next()):apply(n);break}case`tab`:{let e=argumentSuggestions(),t=e===void 0?void 0:selectedArgumentSuggestion(e);if(e!==void 0&&t!==void 0){apply(lineOf(argumentTypeaheadCompletion(e,t)));break}let n=highlighted();n!==void 0&&apply(lineOf(typeaheadCompletion(n)));break}case`escape`:{if(this.#q!==void 0){this.#q=void 0,this.#zn();break}let e=suggestions();e!==void 0&&(this.#K=dismissTypeahead(e),this.#zn());break}case`enter`:{let t=argumentSuggestions(),n=t===void 0?void 0:selectedArgumentSuggestion(t),r=highlighted();if(t!==void 0&&n?.next!==void 0&&t.completed.length===0){apply(lineOf(`${argumentTypeaheadCompletion(t,n)} `));break}if(t===void 0&&r!==void 0&&this.#J!==void 0&&(r.name===`add`||r.name===`login`||r.name===`loglevel`||r.name===`model`)){apply(lineOf(typeaheadCompletion(r)));break}let a=t!==void 0&&n!==void 0?argumentTypeaheadCompletion(t,n):r!==void 0&&parsePromptCommand(i.text)===null?typeaheadCompletion(r).trimEnd():i.text;if(a.trim().length===0)break;this.#K=void 0,this.#q=void 0,promptCommandSpec(a)?.spec.history!==`omit`&&this.#U.add(a),this.#G=!1,this.#ln(),this.#ae=STATUS.processing,isPromptControlCommand(a)?this.#St(stripTerminalControls(a.trim())):(this.#fn(),this.#vn(a),this.#Ke=a,this.#$.arm()),this.#ht(EMPTY_LINE),this.#zn(),this.#$t(),e(a);break}case`ctrl-d`:i.text.length===0?(this.#Gt(),interrupt()):apply(deleteForward(i));break;case`ctrl-l`:this.#Hn();break;case`ctrl-r`:this.#zn();break;case`ctrl-c`:if(this.#pe){this.#Gt(),interrupt();break}this.#pe=!0,apply(EMPTY_LINE)}},this.#Qt()})}#ht(e){this.#V=e.text,this.#H=e.cursor}takeQueuedPrompt(){let e=this.#et.view().steering,t=this.#et.takePrompt();return t!==void 0&&(this.#at=e?`steer`:`queue`),t}async renderStream(e,t){this.#Yt(t),this.#v.clear(),this.#G=!1,this.#re.kind!==`waiting`&&(this.#re={kind:`waiting`,startedAtMs:Date.now()}),this.#ae=this.#R>0?STATUS.connectionAuth:STATUS.processing,this.#bn(t?.submittedPrompt),t?.submittedPrompt!==void 0&&this.#f?.recordPrompt(),t?.submittedPrompt!==void 0&&!this.#$.armed&&this.#$.arm(),this.#de=!1,this.#rt=!1,this.#ot=!1,this.#st=t?.submittedPrompt,this.#et.beginTurn(),this.#tt=e.cancel,this.#nt=e.steer,this.#je=void 0,this.#Me=void 0,this.#Pe=void 0,this.#Fe=void 0,this.#Ie=Date.now();let n={text:new Map,reasoning:new Map,tools:new Map,modelActivity:`Thinking`,runningTools:new Set,cancelled:!1,restoreCancelledPrompt:!0};this.#ee=n;let r={tools:t?.tools??this.#o,reasoning:t?.reasoning??this.#s,assistantResponseStats:t?.assistantResponseStats??this.#u};this.#dn(),this.#ne=!0,this.#zn();let i=new Promise(e=>{this.#Oe=e});this.#Ce=e=>this.#on(e),this.#Qt();try{for await(let t of takeUntil(iterateTUIStream(e.events),i)){if(this.#de)break;this.#On(t,r,n)}}catch(e){let t=summarizeKnownError(e);t===null?this.#xn(`Error`,toErrorMessage(e),{detail:inspectError(e)}):this.#xn(t.name,t.message,{detail:inspectError(e),hint:t.hint})}finally{this.#Oe=void 0,this.#de&&e.abort?.(),this.#tt=void 0,this.#nt=void 0,this.#$t(),this.#ne=!1,this.#ee=void 0,this.#re.kind===`waiting`&&(this.#re={kind:`idle`}),this.#gn(),this.#ae=completedTurnStatus({interrupted:this.#de,cancelled:this.#rt,continueSession:t?.continueSession===!0}),this.#Fn(n),(this.#de||n.cancelled)&&this.#Pn(n),this.#Dn(),this.#gn(),this.#f?.reportStats(),this.#zn(),t?.continueSession||this.#Zt()}}async renderIdleStream(e,t){let n={tools:t?.tools??this.#o,reasoning:t?.reasoning??this.#s,assistantResponseStats:t?.assistantResponseStats??this.#u},r={text:new Map,reasoning:new Map,tools:new Map,modelActivity:`Thinking`,runningTools:new Set,cancelled:!1,restoreCancelledPrompt:!1};try{for await(let t of iterateTUIStream(e.events))this.#On(t,n,r)}catch(e){let t=summarizeKnownError(e);t===null?this.#xn(`Error`,toErrorMessage(e),{detail:inspectError(e)}):this.#xn(t.name,t.message,{detail:inspectError(e),hint:t.hint})}finally{this.#Fn(r),r.cancelled&&this.#Pn(r),this.#Dn(),this.#gn(),this.#f?.reportStats(),this.#zn()}}async readToolApproval(e,t){this.#Yt(t),this.#pn(),this.#G=!1,this.#re={kind:`idle`},this.#de=!1;let n=0;return this.#qe=t=>renderTransientDrawer([` ${this.#i.colors.bold(`Approve ${formatToolApprovalTitle(e)}?`)}`,``,...renderQuestionChoices([{id:`yes`,label:`Yes`},{id:`no`,label:`No`}],n,this.#i)],[`y yes · n no · Ctrl-C cancel`],this.#i,t),this.#zn(),await new Promise((t,r)=>{let approve=()=>{this.#qe=void 0,this.#fn(),this.#ae=STATUS.processing,this.#$t(),this.#zn(),t({approved:!0})},deny=()=>{this.#qe=void 0,this.#fn(),this.#ae=STATUS.processing,this.#_t(e.toolCallId),this.#$t(),this.#zn(),t({approved:!1,reason:`Denied by user.`})};this.#ie=r,this.#Ce=e=>{switch(e.type){case`text`:{if(e.framing!==`unframed`)break;let t=e.value.toLowerCase();t===`y`?approve():t===`n`&&deny();break}case`up`:case`ctrl-p`:n=0,this.#zn();break;case`down`:case`ctrl-n`:n=1,this.#zn();break;case`enter`:n===0?approve():deny();break;case`ctrl-r`:this.#zn();break;case`ctrl-c`:this.#de=!0,this.#qe=void 0,this.#Zt(),r(interruptedError())}},this.#Qt()})}async readInputQuestion(e,t){this.#Yt(t),this.#pn(),this.#G=!1,this.#Z=!1,this.#re={kind:`idle`},this.#de=!1;let n=e.options??[],r=n.length>0,i=(e.allowFreeform===!0||!r)&&r,a=n.length+ +!!i,o=questionSectionId(e.requestId),s=r?`select`:`text`,c=0,l=EMPTY_LINE,isOnFreeformRow=()=>i&&c===n.length,selectDrawer=t=>renderTransientDrawer(renderQuestionPanel({prompt:stripTerminalControls(e.prompt),options:n,cursor:c,allowFreeform:i,editor:l,caretVisible:this.#ge},this.#i,t),[`↑/↓ move · enter to select · esc to dismiss`],this.#i,t),textPanel=t=>{let n=promptInputRows({text:l.text,cursor:l.cursor,width:Math.max(1,t-2),theme:this.#i,caretVisible:this.#ge,ghost:``,maxRows:3});return n.at(-1)===``&&n.pop(),renderTransientDrawer([` ${this.#i.colors.bold(stripTerminalControls(e.prompt))}`,``,...n.map(e=>` ${e}`)],[`Enter submit · Esc dismiss`],this.#i,t)},syncFreeformCaret=()=>{isOnFreeformRow()?this.#cn():(this.#ln(),this.#un())};s===`select`?(s=`select`,this.#G=!1,this.#Tn(o),this.#qe=selectDrawer,this.#ae=``,syncFreeformCaret(),this.#zn()):(s=`text`,this.#qe=textPanel,this.#G=!0,this.#ht(l),this.#ae=``,this.#cn(),this.#zn());let finalize=t=>{this.#qe=void 0,this.#Cn({id:o,kind:`question`,title:stripTerminalControls(e.prompt),body:`${this.#i.colors.dim(this.#i.glyph.elbow)} ${stripTerminalControls(t.label)}`,preformatted:!0,live:!1}),this.#G=!1,this.#fn(),this.#ae=STATUS.processing,this.#ln(),this.#$t(),this.#zn();let n={};return t.optionId!==void 0&&(n.optionId=t.optionId),t.text!==void 0&&(n.text=t.text),n},dismiss=()=>{this.#qe=void 0,this.#Cn({id:o,kind:`question`,title:stripTerminalControls(e.prompt),body:`${this.#i.colors.dim(this.#i.glyph.elbow)} ${this.#i.colors.dim(`Skipped. The question stays open.`)}`,preformatted:!0,live:!1}),this.#G=!1,this.#ae=``,this.#ln(),this.#$t(),this.#zn(),u(void 0)},moveCursor=e=>{a!==0&&(c=(c+e+a)%a,syncFreeformCaret(),this.#zn())},selectOptionAt=e=>{let t=n[e];t&&u(finalize({optionId:t.id,label:t.label}))},u;return await new Promise((t,n)=>{this.#ie=n,u=t,this.#Ce=t=>{if(t.type===`ctrl-c`){if((s===`text`||isOnFreeformRow())&&l.text.length>0){l=EMPTY_LINE,this.#un(),s===`text`&&this.#ht(l),this.#zn();return}this.#de=!0,this.#qe=void 0,this.#ln(),this.#Zt(),n(interruptedError());return}if(t.type===`ctrl-r`){this.#zn();return}if(s===`select`){let n=setupSelectionIntent(t,{textNavigation:!isOnFreeformRow()});if(n?.kind===`move`){moveCursor(n.direction===`up`?-1:1);return}switch(t.type){case`up`:case`ctrl-p`:moveCursor(-1);break;case`down`:case`ctrl-n`:moveCursor(1);break;case`enter`:if(isOnFreeformRow()){let t=resolveQuestionText(l.text,e);t!==void 0&&u(finalize(t));break}selectOptionAt(c);break;case`escape`:if(isOnFreeformRow()&&l.text.length>0){l=EMPTY_LINE,this.#un(),this.#zn();break}dismiss();break;default:if(isOnFreeformRow()){let e=this.#W.apply(l,t);e!==void 0&&(l=e,this.#un(),this.#zn())}}return}let r=this.#W.apply(l,t,{multiline:!0});if(r!==void 0){l=r,this.#un(),this.#ht(l),this.#zn();return}switch(t.type){case`up`:case`down`:{let e=movePromptLine(l,t.type);e!==void 0&&(l=e,this.#un(),this.#ht(l),this.#zn());break}case`enter`:{let t=resolveQuestionText(l.text,e);if(t===void 0)break;u(finalize(t));break}case`escape`:if(l.text.length>0){l=EMPTY_LINE,this.#un(),this.#ht(l),this.#zn();break}dismiss()}},this.#Qt()})}upsertSubagentStep(e){if(this.#f?.recordSubagentDispatch(e.callId),this.#c===`hidden`)return;let t=stripTerminalControls(e.reasoning??``).trim(),n=stripTerminalControls(e.message??``).trim();if(t.length!==0||n.length!==0){if(this.#Sn(e.callId,e.subagentName),this.#c===`collapsed`){this.#zn();return}this.#wn({id:subagentStepSectionId(e.callId,e.sectionKey),kind:`subagent-step`,subagentCallId:e.callId,depth:1,reasoning:t,body:n,collapsed:this.#c!==`full`,live:!e.finalized}),this.#zn()}}upsertSubagentTool(e){if(this.#f?.recordSubagentDispatch(e.callId),e.status===`failed`&&e.errorText!==void 0&&this.#f?.append({source:`tool`,summary:`${e.toolName} failed (subagent ${e.subagentName})`,detail:e.errorText}),this.#c===`hidden`)return;if(this.#Sn(e.callId,e.subagentName),this.#c===`collapsed`){this.#zn();return}let t=subagentToolStatus(e.status),n=e.status===`preparing`?presentPreparingTool(e.toolName):presentTool(e.toolName,e.input,this.#Mn({input:e.input,output:e.output,toolCallId:e.childCallId,toolName:e.toolName})),r={id:subagentToolSectionId(e.callId,e.childCallId),kind:`subagent-tool`,subagentCallId:e.callId,depth:1,title:stripTerminalControls(n.title),subtitle:stripTerminalControls(n.subtitle),status:t,live:t===`running`||t===`approval`,expanded:this.#c===`full`,toolName:e.toolName,toolGroup:n.group,toolInput:e.input};n.doneTitle!==void 0&&(r.doneTitle=stripTerminalControls(n.doneTitle)),n.detail!==void 0&&(r.detailLines=n.detail,r.keepDetailWhenDone=n.keepDetailWhenDone===!0),e.output===void 0?e.errorText!==void 0&&(r.result=stripTerminalControls(e.errorText)):(r.result=n.summarizeResult(e.output),r.toolOutput=e.output),this.#wn(r),this.#gt(e.callId),this.#zn()}#gt(e){applyCohortLiveness(this.#h.filter(t=>t.kind===`subagent-tool`&&t.subagentCallId===e).map(e=>({block:e,active:isActiveToolStatus(e.status)})))}removeSubagentTool(e){this.#Tn(subagentToolSectionId(e.callId,e.childCallId)),this.#zn()}subagents={begin:e=>this.beginSubagent(e),background:e=>this.backgroundSubagent(e),upsertStep:e=>this.upsertSubagentStep(e),upsertTool:e=>this.upsertSubagentTool(e),removeTool:e=>this.removeSubagentTool(e),complete:e=>this.completeSubagent(e),markChildToolCallId:e=>this.markChildToolCallId(e)};beginSubagent(e){if(this.#c===`hidden`)return;this.#Sn(e.callId,e.name);let t=this.#g.get(subagentHeaderId(e.callId));t!==void 0&&(t.status===`done`&&delete t.status,t.live=!0),this.#T.delete(e.callId),this.#zn()}backgroundSubagent(e){let t=this.#g.get(subagentHeaderId(e.callId));if(t===void 0||this.#v.has(subagentHeaderId(e.callId)))return;t.status=`running`,t.live=!0,t.updateSeq=++this.#S;let n=this.#w.has(e.callId);this.#w.add(e.callId),n||this.#En(e.callId),this.#gn(),this.#zn()}completeSubagent(e){let t=this.#g.get(subagentHeaderId(e.callId));if(t!==void 0){if(t.status=`done`,e.authoritative){this.#w.delete(e.callId),this.#T.delete(e.callId);for(let t of this.#h)t.subagentCallId===e.callId&&(t.live=!1)}else{this.#T.add(e.callId);for(let t of this.#h)t.subagentCallId===e.callId&&(t.live=!0)}this.#gn(),this.#zn()}}markChildToolCallId(e){this.#b.add(e);let t=this.#x.get(e);t!==void 0&&(this.#Tn(t),this.#x.delete(e),this.#zn())}#_t(e){let t=this.#g.get(toolSectionId(e));t!==void 0&&(t.status=`denied`,t.live=!1)}upsertConnectionAuth(e){if(this.#l===`hidden`)return;let t=connectionAuthTerminalMessage(e.state);this.#Cn({id:connectionAuthSectionId(e.name),kind:`connection-auth`,title:`${stripTerminalControls(e.name)} · authorization · ${e.state}`,body:formatConnectionAuthContent(e,t),preformatted:!0,live:t===void 0}),this.#zn()}setConnectionAuthPendingCount(e){let t=Math.max(0,e);if(t===this.#R)return;let n=this.#R>0;this.#R=t,t>0?(this.#ae=STATUS.connectionAuth,this.#zn()):n&&(this.#ae=STATUS.processing,this.#zn())}setVercelStatus(e){this.#z=e,this.#zn()}setRemoteConnectionStatus(e){this.#B=e,this.#zn()}reset(){this.#h=[],this.#g.clear(),this.#v.clear(),this.#L=void 0,this.#I.length=0,this.#y.length=0,this.#P=!1,this.#F=void 0,this.#vt(),this.#Q=!1,this.#Ke=void 0,this.#Ve=void 0,this.#R=0,this.#je=void 0,this.#Me=void 0,this.#Pe=void 0,this.#Fe=void 0,this.#Ie=void 0,this.#ce&&(this.#n.clearAll(),this.#zn())}renderSessionBoundary(){this.#yn(),this.#vt();let e=this.#i.colors,t=this.#i.glyph,n=e.dim(`${t.cornerOpen}${t.dash.repeat(2)} Session restarted, clear context.`);this.#_n({kind:`session-boundary`,body:n,live:!1}),this.#zn()}#vt(){this.#Qe=void 0,this.#$e=void 0,this.#b.clear(),this.#x.clear(),this.#D.clear(),this.#w.clear(),this.#T.clear(),this.#C.clear(),this.#et.reset(),this.#at=void 0,this.#E.clear(),this.#$.reset(),this.#gn()}renderNotice(e){let t=stripTerminalControls(e);t.trim().length!==0&&(this.#Yt(),this.#_n({kind:`notice`,body:t,live:!1}),this.#zn())}renderSetupWarning(e){let t=stripTerminalControls(e);if(t.trim().length===0){this.#yt();return}this.#Yt(),this.#Ze=t,this.#zn()}clearSetupWarning(){this.#yt()}#yt(){this.#Ze!==void 0&&(this.#Ze=void 0,this.#zn())}renderCommandInvocation(e){let t=stripTerminalControls(e);t.trim().length!==0&&(this.#Yt(),this.#St(t),this.#zn())}async choosePromptCommand(e){this.#Yt(),this.#G=!1;let t=typeaheadFor(e,`/`);return this.#Je=e=>{let n=renderCommandSuggestions(t,this.#i,e),r=Math.max(1,this.#ir()-7),i=Math.max(0,Math.min(t.selectedIndex-r+1,n.length-r));return renderTransientDrawer(n.slice(i,i+r),[`↑/↓ move · Enter select · Esc close`],this.#i,e)},this.#ae=``,this.#zn(),await new Promise(e=>{this.#Ye=()=>e(void 0),this.#Ce=n=>{if(n.type===`up`||n.type===`ctrl-p`)t=moveTypeaheadSelection(t,-1),this.#zn();else if(n.type===`down`||n.type===`ctrl-n`)t=moveTypeaheadSelection(t,1),this.#zn();else if(n.type===`enter`){let n=selectedTypeaheadCommand(t);this.#bt(),e(n===void 0?void 0:typeaheadCompletion(n))}else(n.type===`escape`||n.type===`ctrl-c`)&&(this.#bt(),e(void 0))},this.#Qt()})}async showInfoPanel(e){this.#Yt(),this.#G=!1;let t=stripAnsi(e),n=0,infoRows=e=>t.split(`
|
|
5
|
-
`).flatMap(t=>wrapVisibleLine(t,Math.max(1,e-4)).map(e=>` ${e}`));this.#
|
|
6
|
-
`),live:!1}),this.#_n({kind:`flow`,title:n.tone,body:n.text,live:!1})),e=[]}}this.#zn()}}async#Dt(e){let t=this.#Nt(e.message),n=isMultiSelectRequest(e),r=e.kind===`search`?e.searchAction:void 0,i=e.kind===`search`&&e.layout===void 0,a=e.options,o=e.navigation?.kind===`planner`,s={options:a,searchAction:r,submitRow:n&&!o};`initialValue`in e&&e.initialValue!==void 0&&(s.defaultValue=e.initialValue),`initialValues`in e&&e.initialValues!==void 0&&(s.initialValues=e.initialValues);let c=initialSelectState(s),l,u=!1,d=0,isCurrentSearch=e=>e===d,clearSearch=()=>{d+=1,u=!1,c=reduceSelect(c,{type:`clear`},{options:a,searchAction:r,submitRow:n&&!o}),this.#zn()},loadSearch=async(e,t)=>{u=!0,l=void 0;let i=++d;this.#zn();try{let s=await t(e);if(!isCurrentSearch(i))return;let l=c.filter;a=s,c={...initialSelectState({options:s,searchAction:r,submitRow:n&&!o}),filter:l}}catch(e){isCurrentSearch(i)&&(l=toErrorMessage(e))}finally{isCurrentSearch(i)&&(u=!1,this.#zn())}},f=e.notices;if(e.kind===`task-list`||e.kind===`search`&&e.layout===`task-list`){let n=t.taskListLineStart??t.lines.length,r=t.lines.slice(n).filter(e=>e.tone===`success`||e.tone===`warning`||e.tone===`error`).map(e=>({tone:e.tone,text:e.text}));f=e.notices??r,t.taskListLineStart=t.lines.length,t.hideLinesWhileQuestion=!0}let panelState=()=>{let t={...e,message:``,options:a,select:c};return f!==void 0&&f.length>0&&(t.notices=f),l!==void 0&&(t.error=l),u&&(t.loadingFrame=this.#Kn()),i&&(t.caretVisible=this.#ge),t};return t.question=e=>renderSelectQuestion(panelState(),this.#i,e),i&&this.#cn(),this.#zn(),await this.#It((t,s)=>{let close=e=>{d+=1,s(e)};if(u){t.type===`ctrl-c`?close(void 0):t.type===`escape`?clearSearch():t.type===`ctrl-r`&&this.#zn();return}let f=e.navigation?.kind===`planner`?e.navigation:void 0,p=t.type===`left`&&(f?.activeStep??0)>(f?.firstNavigableStep??0)?`back`:t.type===`right`&&f!==void 0&&f.activeStep>=(f.firstNavigableStep??0)&&f.activeStep<f.steps.length-1?`forward`:void 0;if(p!==void 0){close({kind:`navigate`,direction:p,values:n?orderedSelection(a,c.selected):[]});return}let m={key:t,options:a,searchAction:r,select:c},h=reduceSetupSelectInput(n?{...m,kind:e.kind,required:e.required,plannerNavigation:o||void 0}:{...m,kind:e.kind});switch(h.kind){case`cancel`:close(void 0);return;case`repaint`:this.#zn();return;case`update`:c=h.select,l=void 0,i&&this.#un(),this.#zn();return;case`submit`:{let e=searchActionQuery(h.values[0]??``),t=r?.load;if(e===void 0||t===void 0){close(h.values);return}loadSearch(e,t);return}case`error`:l=h.message,this.#zn();return;case`ignore`:return}},i?()=>this.#ln():void 0).promise}#Ot(e){this.#Yt();let t=this.#Pt();t.status={text:stripTerminalControls(e.status),startedAtMs:Date.now()};let n;t.question=t=>renderSelectQuestion({kind:`actions`,context:e.context,actions:e.actions,cursor:n},this.#i,t),this.#zn();let r=this.#It((t,r)=>{let i=setupSelectionIntent(t,{textNavigation:!0});switch(i?.kind){case`cancel`:r(void 0);return;case`move`:n=moveActionCursor(n,i.direction,e.actions.length),this.#zn();return;case`repaint`:this.#zn();return;case`submit`:n!==void 0&&r(e.actions[n].value);return;case void 0:return}},()=>{t.status=void 0});return{choice:r.promise,close:()=>r.settle(void 0)}}async#kt(e){let t=this.#Nt(e.message),n={options:e.options};e.initialValue!==void 0&&(n.defaultValue=e.initialValue);let r=initialSelectState(n),i=lineOf(``),a;t.question=t=>{let n={kind:`inline-edit`,layout:`task-list`,message:``,options:e.options,select:r,edit:{optionValue:e.editable.value,caretVisible:this.#ge,editor:{kind:`rename`,editor:i,defaultValue:e.editable.defaultValue,formatHint:e.editable.formatHint}}};return a!==void 0&&(n.error=a),renderSelectQuestion(n,this.#i,t)};let onEditableRow=()=>selectValueAtCursor([...e.options],r.cursor)===e.editable.value,syncEditableRow=()=>{onEditableRow()?this.#cn():(i=lineOf(``),this.#ln())};return syncEditableRow(),this.#zn(),await this.#It((t,n)=>{let applyEditor=e=>{i=e,a=void 0,this.#un(),this.#zn()},applySelect=t=>{r=reduceSelect(r,t,{options:e.options}),a=void 0,syncEditableRow(),this.#zn()},submit=()=>{let t=selectValueAtCursor([...e.options],r.cursor);if(t===void 0)return;if(t!==e.editable.value){n({kind:`selected`,value:t});return}let o=(i.text||e.editable.defaultValue).trim(),s=e.editable.validate?.(o);if(s!==void 0){a=s,this.#zn();return}n(o===e.editable.defaultValue?{kind:`selected`,value:t}:{kind:`edited`,value:t,text:o})},o=setupSelectionIntent(t,{textNavigation:!onEditableRow()});switch(o?.kind){case`cancel`:n(void 0);return;case`move`:applySelect({type:o.direction});return;case`submit`:submit();return;case`repaint`:this.#zn();return;case void 0:}if(!onEditableRow())return;let s=this.#W.apply(i,t);s!==void 0&&applyEditor(s)},()=>this.#ln()).promise}async#At(e){this.#W.clear();let t=this.#Nt(e.message),n=initialProviderPickerState(e.options,e.initialValue),r,cursorBadge=()=>{if(n.phase.kind!==`inactive`)return;let t=selectValueAtCursor([...e.options],n.select.cursor),r=e.options.find(e=>e.value===t);if(r!==void 0)return enterBadge(this.#i,r.checked===!0?`change`:void 0)};t.question=t=>{let r=cursorBadge(),i={kind:`inline-edit`,layout:`stacked`,message:``,options:e.options,select:n.select,edit:{optionValue:`ai-gateway-key`,caretVisible:this.#ge,editor:{kind:`key`,phase:n.phase}}};return r!==void 0&&(i.cursorBadge=r),renderSelectQuestion(i,this.#i,t)};let syncCaret=()=>{n.phase.kind===`editing`||n.phase.kind===`invalid`?this.#cn():this.#ln()};return syncCaret(),this.#zn(),await this.#It((t,i,a)=>{let dispatch=t=>{let o=transitionProviderPicker(n,t,e.options);switch(o.kind){case`ignore`:return;case`clear`:r?.abort(),r=void 0,n=o.state,syncCaret(),this.#zn();return;case`cancel`:i(void 0);return;case`render`:n=o.state,syncCaret(),this.#zn();return;case`validate`:{n=o.state,syncCaret(),this.#zn();let t=new AbortController;r=t;let i;try{i=e.validateInlineKey(o.key,t.signal)}catch(e){a(e);return}i.then(e=>{r!==t||t.signal.aborted||(r=void 0,dispatch({type:`validated`,validation:e}))},e=>{r!==t||t.signal.aborted||(r=void 0,a(e))});return}case`settle`:i(o.result);return}},o=setupSelectionIntent(t,{textNavigation:n.phase.kind===`inactive`});switch(o?.kind){case`cancel`:dispatch({type:`cancel`});return;case`move`:dispatch({type:`move`,direction:o.direction});return;case`submit`:dispatch({type:`submit`});return;case`repaint`:this.#zn();return;case void 0:}if(n.phase.kind!==`editing`&&n.phase.kind!==`invalid`)return;let s=applyLineEditorKey(n.phase.editor,t);s!==void 0&&(this.#un(),dispatch({type:`edit`,editor:s}))},()=>{r?.abort(),r=void 0,this.#ln()}).promise}async#jt(e){e.mask===!0&&this.#W.clear();let t=this.#Nt(e.message),n=lineOf(``),r;return t.question=t=>{let i={message:``,editor:n,mask:e.mask===!0};return e.placeholder===void 0?e.defaultValue!==void 0&&(i.placeholder=e.defaultValue):i.placeholder=e.placeholder,e.notices!==void 0&&(i.notices=e.notices),r!==void 0&&(i.error=r),renderTextQuestion(i,this.#i,t,this.#ge)},this.#cn(),this.#zn(),await this.#It((t,i)=>{let apply=e=>{n=e,r=void 0,this.#un(),this.#zn()},a=e.mask?applyLineEditorKey(n,t):this.#W.apply(n,t);if(a!==void 0){apply(a);return}switch(t.type){case`ctrl-c`:case`escape`:i(void 0);return;case`ctrl-r`:this.#zn();return;case`enter`:{let t=n.text.length>0?n.text:e.defaultValue??``,a=e.validate?.(t);if(a!==void 0){r=a,this.#zn();return}i(t);return}default:return}},()=>this.#ln()).promise}async#Mt(e){let t=this.#Nt(e.message);return t.question=t=>renderAcknowledgeQuestion({message:``,lines:e.lines},this.#i,t),this.#zn(),await this.#It((e,t)=>{switch(e.type){case`enter`:case`escape`:case`ctrl-c`:t();return;case`ctrl-r`:this.#zn();return;default:return}}).promise}#Nt(e){this.#Yt(),this.#G=!1,this.#re={kind:`idle`},this.#ae=``;let t=this.#Pt();return t.questionTitle=stripTerminalControls(e),t.status!==void 0&&(t.status=void 0,t.summary=void 0,t.preview=void 0),t}#Pt(){return this.#Xe===void 0&&(this.#Xe={title:``,startedAtMs:Date.now(),lines:[],outputBuffer:[],implicit:!0}),this.#Xe}#Ft(){this.#Xe?.implicit===!0?this.#Xe=void 0:this.#Xe!==void 0&&(this.#Xe.question=void 0,this.#Xe.questionTitle=void 0,this.#Xe.hideLinesWhileQuestion=!1),this.#Ce=void 0,this.#$t(),this.#A===void 0?this.#Xe!==void 0&&this.#Rt():this.#mt(),this.#Xe===void 0&&this.#zn()}#It(e,t){let n=!1,r,i,a=new Promise((e,t)=>{r=e,i=t}),settle=e=>{n||(n=!0,t?.(),this.#Ft(),r(e))},reject=e=>{n||(n=!0,t?.(),this.#Ft(),i(e))};return this.#an(),this.#Ce=t=>{t.type===`ctrl-c`&&this.#Gt(),e(t,settle,reject)},this.#Qt(),{promise:a,settle}}#Lt(e){let t,n=new Promise(e=>{t=e});return this.#ct=t,this.#Rt(e?.interruptible??!0),{promise:n,dispose:()=>{this.#ct===t&&(this.#ct=void 0,this.#zt())}}}#Rt(e=!0){if(this.#A!==void 0){this.#mt();return}if(this.#ct===void 0)return;let consumer=t=>{if(e&&(t.type===`ctrl-c`||t.type===`escape`)){t.type===`ctrl-c`&&this.#Gt();let e=this.#ct;this.#ct=void 0,this.#zt(),e?.(t.type===`ctrl-c`?`ctrl-c`:`escape`);return}t.type===`ctrl-r`&&this.#zn()};this.#lt=consumer,this.#an(),this.#Ce=consumer,this.#Qt()}#zt(){this.#lt!==void 0&&(this.#Ce===this.#lt&&this.#$t(),this.#lt=void 0)}#Bt(e){let t=e===void 0?void 0:{text:stripTerminalControls(e),startedAtMs:Date.now()};if(this.#Xe!==void 0){this.#Xe.status=t,t===void 0&&(this.#Xe.preview=void 0),this.#zn();return}if(!(this.#G||this.#ne)){if(t===void 0){this.#re={kind:`idle`},this.#oe=void 0,this.#pn(),this.#zn();return}this.#Yt(),this.#fn(),this.#oe=t.text,this.#zn()}}#Vt(e,t){let n=stripTerminalControls(e);if(n.trim().length===0)return;let r=this.#Xe;if(r!==void 0){if(r.preview=void 0,t===`warning`||t===`error`)for(let e of r.outputBuffer)r.lines.push({text:e,tone:`info`,evidence:!0});r.outputBuffer=[],r.lines.push({text:n,tone:t}),this.#zn();return}this.#Yt(),this.#_n({kind:`flow`,title:t,body:n,live:!1}),this.#zn()}#Ht(e){let t=this.#Xe;t!==void 0&&(t.lines=[],t.outputBuffer=[],t.preview=void 0,t.status=void 0,t.summary=e===void 0?void 0:{headline:stripTerminalControls(e.headline),facts:e.facts.map(e=>({label:stripTerminalControls(e.label),value:stripTerminalControls(e.value)}))},this.#zn())}#Ut(e){let t=stripTerminalControls(e);if(t.trim().length===0)return;let n=this.#Xe;if(n===void 0){this.#Vt(t,`info`);return}n.preview=t,n.outputBuffer.push(t),n.outputBuffer.length>40&&n.outputBuffer.shift(),this.#zn()}async#Wt(e){this.#we=``,this.#an(),this.#ct=void 0,this.#zt(),this.#$t(),this.#mn(),this.#n.clear(),this.#or(),this.#r.enter({cursor:`visible`,mouse:!1}),this.#e.isTTY&&this.#e.setRawMode?.(!1),this.#e.pause();try{return await e()}finally{this.#r.exit(),this.#e.isTTY&&this.#e.setRawMode?.(!0),this.#e.resume(),this.#we=``,this.#an(),this.#n.hideCursor(),this.#ar(),this.#Xe===void 0?this.#gn():(this.#dn(),this.#Rt()),this.#n.reset(),this.#zn()}}setSessionId(e){this.#it=e}shutdown(){this.#Zt();for(let e of this.#X.values())clearTimeout(e);if(this.#X.clear(),this.#le&&!this.#ue){this.#ue=!0;let e=this.#it===void 0?``:` ${this.#i.glyph.dot} session ${this.#it}`;this.#t.write(`${this.#i.colors.dim(`${eveVersionTag()}${e}`)}\n`)}}suspendPromptForInput(){this.#te={cursor:this.#H,text:this.#V},this.#Zt()}requestInterrupt(){this.#de=!0,this.#Xe!==void 0&&this.#Ce?.({type:`ctrl-c`}),this.#Oe?.(),this.#Zt()}exitRequested(){return this.#fe}#Gt(){this.#fe=!0,this.#he?.()}async#Kt(e){if(this.#ut!==void 0||!this.#ce)return;let t=new TraceViewerSession({...e,theme:this.#i,dimensions:()=>({width:this.#rr(),height:this.#ir()}),paint:e=>this.#r.paint(e,this.#ir()),tracingDisabled:process.env.EVE_TRACES===`off`,copyText:e=>copyTextToClipboard(e,e=>this.#r.writeRaw(e)),terminalBackground:this.#dt});this.#ut=t,this.#r.enter(),this.#i.color&&this.#r.writeRaw(BACKGROUND_COLOR_QUERY),await new Promise(e=>{this.#Jt=e,this.#Ce=e=>{t.handleKey(e)===`close`&&this.#qt()},this.#Qt(),t.start()})}#qt(){let e=this.#ut;if(e===void 0)return;this.#ut=void 0,e.dispose(),this.#$t(),this.#r.exit(),this.#n.hideCursor(),this.#zn(),this.#n.showCursor();let t=this.#Jt;this.#Jt=void 0,t?.()}#Jt;#Yt(e){this.#se=e?.title??this.#se,e?.contextSize!==void 0&&(this.#Ne=e.contextSize),!this.#ce&&(this.#ce=!0,this.#le=!0,this.#n.reset(),this.#n.hideCursor(),this.#ar(),this.#e.isTTY&&(this.#e.setRawMode?.(!0),this.#e.resume(),this.#n.emitBracketedPaste(!0)),this.#De=()=>this.#zn(),this.#t.on(`resize`,this.#De),process.on(`exit`,this.#Xt))}#Xt=()=>{this.#ce&&(this.#r.exit(),this.#e.isTTY&&(this.#n.emitBracketedPaste(!1),this.#e.setRawMode?.(!1)),this.#n.showCursor())};#Zt(){this.#qe=void 0;let e=this.#Ye;e!==void 0&&(this.#Ye=void 0,this.#Je=void 0,this.finishCommand({kind:`dismiss`}),this.#Ce=void 0,e()),this.#qt();let t=this.#ie;if(this.#ie=void 0,t?.(interruptedError()),this.#$t(),this.#ln(),this.#mn(),this.#xe!==void 0&&(clearTimeout(this.#xe),this.#xe=void 0),this.#Se=!1,this.#mr(),this.#ce){this.#gr(),this.#Ct();for(let e of this.#h)e.kind===`log`&&e.id===void 0&&(e.live=!1);this.#zn(),this.#n.clear(),this.#n.showCursor(),this.#or(),this.#n.newline(),this.#e.isTTY&&(this.#n.emitBracketedPaste(!1),this.#e.setRawMode?.(!1),this.#e.pause()),this.#De&&=(this.#t.off(`resize`,this.#De),void 0),process.off(`exit`,this.#Xt),this.#ce=!1}}#Qt(){this.#e.off(`data`,this.#en),this.#e.on(`data`,this.#en),this.#we.length>0&&queueMicrotask(()=>{this.#Ce!==void 0&&this.#we.length>0&&(this.#rn(),this.#tn())})}#$t(){this.#e.off(`data`,this.#en),this.#an(),this.#Ce=void 0}#en=e=>{this.#an(),this.#we+=this.#Te.write(e),this.#rn(),this.#tn()};#tn(){if(this.#we===`\x1B`){this.#Ee=setTimeout(()=>{this.#we===`\x1B`&&(this.#we=``,this.#nn({type:`escape`}))},30),this.#Ee.unref?.();return}if(isIncompletePaste(this.#we)){let e=this.#we;this.#Ee=setTimeout(()=>{if(this.#we!==e)return;let t=sanitizePastedText(stripPasteStart(e));this.#we=``,t.length>0&&this.#nn({type:`text`,value:t,framing:`bracketed-paste`})},incompletePasteFlushMs),this.#Ee.unref?.();return}if(isIncompleteOsc(this.#we)){let e=this.#we;this.#Ee=setTimeout(()=>{this.#we===e&&(this.#we=``)},incompletePasteFlushMs),this.#Ee.unref?.()}}#nn(e){this.#W.interruptYank(e),this.#Ce?.(e)}#rn(){for(;this.#we.length>0;){let e=nextKey(this.#we);if(e.incomplete)return;if(this.#we=this.#we.slice(e.consumed),e.key!==void 0&&e.key.type!==`ignore`){if(e.key.type===`osc`){this.#in(e.key.value);continue}this.#nn(e.key)}}}#in(e){let t=parseBackgroundColorReply(e);t!==void 0&&(this.#dt=t,this.#ut?.setTerminalBackground(t))}#an(){this.#Ee&&=(clearTimeout(this.#Ee),void 0)}#on(e){switch(e.type){case`ctrl-l`:case`ctrl-r`:this.#zn();break;case`enter`:{let e=this.#te.text;if(e.trim().length===0)break;if(parsePromptCommand(e)?.type===`cancel`&&this.#tt!==void 0){this.#te=EMPTY_LINE,this.#et.requestCancellation(),this.#ot=!0,this.renderCommandInvocation(e.trim()),this.finishCommand({kind:`result`,summary:`Cancellation requested`}),this.#tt(),this.#zn();break}let t=this.#nt;t!==void 0&&parsePromptCommand(e)===null?(this.#te=EMPTY_LINE,this.#sn(e,t)):this.#et.enqueue(e)&&(this.#te=EMPTY_LINE),this.#zn();break}case`ctrl-c`:case`escape`:if(e.type===`ctrl-c`&&this.#et.view().cancelling){this.#de=!0,this.#me=!0,this.#re={kind:`idle`},this.#ae=`Interrupted`,this.#Oe?.(),this.#zn();break}if(this.#et.idle&&this.#tt===void 0)break;if(this.#et.handleEscape()===`steer`){let e=this.#nt;if(e!==void 0){let t=this.#et.takeSteering();this.#sn(t,e)}}else this.#ot=!0,this.#tt?.();this.#zn();break;default:{let t=this.#W.apply(this.#te,e,{multiline:!0});t!==void 0&&(this.#te=t,this.#zn());break}}}#sn(e,t){this.#at=`steer`,this.#bn(e),t(e).catch(t=>{this.#et.restoreSteering(e),this.#xn(`Steering failed`,toErrorMessage(t)),this.#zn()})}#cn(){this.#ln(),this.#un(),this.#ye=setInterval(()=>{this.#ge=!this.#ge,this.#zn()},500),this.#ye.unref?.()}#ln(){this.#ye&&=(clearInterval(this.#ye),void 0),this.#ge=!0}#un(){this.#ge=!0}#dn(){this.#mn(),this.#be=setInterval(()=>{this.#_e+=1,this.#zn()},90),this.#be.unref?.()}#fn(){let e=Date.now();this.#ve=e,this.#re={kind:`waiting`,startedAtMs:e},this.#dn()}#pn(){this.#hn()||this.#mn()}#mn(){this.#be&&=(clearInterval(this.#be),void 0)}#hn(){return this.#h.some(e=>e.live&&e.subagentCallId!==void 0&&(this.#w.has(e.subagentCallId)||this.#T.has(e.subagentCallId)))}#gn(){this.#hn()?this.#dn():!this.#ne&&this.#re.kind===`idle`&&this.#mn()}#_n(e){e.id!==this.#Ve?.id&&this.#gr(),e.updateSeq=++this.#S;let t=e.subagentCallId!==void 0&&this.#w.has(e.subagentCallId)?-1:this.#h.findIndex(e=>e.subagentCallId!==void 0&&this.#w.has(e.subagentCallId));t<0?this.#h.push(e):this.#h.splice(t,0,e),e.id&&this.#g.set(e.id,e)}#vn(e){this.#Q=!0,this.#_n({kind:`user`,body:stripTerminalControls(e),live:!1}),this.#zn()}#yn(){let e=this.#$.settle();if(e===void 0||e.elapsedMs<=1e4&&e.inputTokens<=2e4)return;let t=`Done in ${this.#Zn(e.elapsedMs)}`,n=this.#Me??0;if(this.#Ne!==void 0&&this.#Ne>0&&n>0){let e=Math.round(n/this.#Ne*100);t+=` ${this.#i.glyph.dot} ${e}% context`}this.#_n({kind:`turn-stats`,body:t,live:!1})}#bn(e){if(e==null)return;let t=this.#at;if(this.#at=void 0,this.#Ke===e){this.#Ke=void 0;return}let n={kind:`user`,body:stripTerminalControls(e),live:!1};t!==void 0&&(n.promptOrigin=t),this.#_n(n)}#xn(e,t,n={}){let r=stripTerminalControls(e),i=stripTerminalControls(t),a=n.detail===void 0?void 0:stripTerminalControls(n.detail),o=n.hint===void 0?void 0:stripTerminalControls(n.hint),s={source:`workflow`,summary:`${r}: ${i}`,detail:a??i};this.#f?.append(o===void 0?s:{...s,hint:o});let c={kind:`error`,title:r,body:i,live:!1};o!==void 0&&(c.hint=o),a!==void 0&&(c.detail=this.#f===void 0?a:`details: ${this.#f.displayPath}`),this.#_n(c),this.#zn()}#Sn(e,t){if(this.#D.has(e))return;this.#D.add(e);let n=stripTerminalControls(t),r=this.#C.get(n)??[];if(r.push(e),this.#C.set(n,r),r.length===2){let e=this.#g.get(subagentHeaderId(r[0]));e!==void 0&&(e.subtitle=`#1`)}let i={id:subagentHeaderId(e),kind:`subagent`,subagentCallId:e,title:n,live:!0};r.length>1&&(i.subtitle=`#${r.length}`),this.#_n(i)}#Cn(e){if(e.id&&this.#v.has(e.id))return;let t=e.id?this.#g.get(e.id):void 0;if(t){Object.assign(t,e),t.updateSeq=++this.#S;return}this.#_n(e)}#wn(e){if(e.id&&this.#v.has(e.id))return;let t=e.id?this.#g.get(e.id):void 0;if(t!==void 0){Object.assign(t,e),t.updateSeq=++this.#S;return}let n=e.subagentCallId;if(n===void 0){this.#_n(e);return}e.id!==this.#Ve?.id&&this.#gr(),e.updateSeq=++this.#S;let r=-1;for(let e=0;e<this.#h.length;e+=1)this.#h[e]?.subagentCallId===n&&(r=e);this.#h.splice(r<0?this.#h.length:r+1,0,e),e.id!==void 0&&this.#g.set(e.id,e)}#Tn(e){this.#h=this.#h.filter(t=>t.id!==e),this.#g.delete(e)}#En(e){let t=this.#h.filter(t=>t.subagentCallId===e);t.length!==0&&(this.#h=this.#h.filter(t=>t.subagentCallId!==e),this.#h.push(...t))}#Dn(){for(let e of this.#h)e.subagentCallId!==void 0&&this.#T.has(e.subagentCallId)||e.status===`approval`||e.status===`running`||e.kind===`connection-auth`&&e.live||e===this.#_||(e.live=!1)}#On(e,t,n){let r=turnActivityLabel(n);switch(updateTurnActivity(n,e),e.type){case`turn-start`:e.turnId!==this.#$e&&(this.#$e=e.turnId,this.#Qe=void 0,this.#zn());break;case`step-start`:this.#Qe=typeof e.modelId==`string`&&stripTerminalControls(e.modelId.slice(0,256)).replace(/\s+/gu,` `).trim()||void 0,this.#zn();break;case`step-finish`:this.#f?.recordStepUsage(e.usage),e.usage!==void 0&&this.#$.addUsage(e.usage),this.#Fn(n),this.#Rn(e.usage),this.#zn();break;case`assistant-delta`:{let t=(n.text.get(e.id)??``)+stripTerminalControls(e.delta);n.text.set(e.id,t),this.#kn(e.id,t,!0);break}case`assistant-complete`:{let t=n.text.get(e.id)??``,r=typeof e.text==`string`?stripTerminalControls(e.text):t;n.text.set(e.id,r),this.#kn(e.id,r,!1);break}case`reasoning-delta`:{if(t.reasoning===`hidden`)break;let r=(n.reasoning.get(e.id)??``)+stripTerminalControls(e.delta);if(n.reasoning.set(e.id,r),t.reasoning===`full`){this.#An(e.id,r,!0,t);break}break}case`reasoning-complete`:{if(t.reasoning===`hidden`)break;let r=n.reasoning.get(e.id)??``;if(t.reasoning===`full`){this.#An(e.id,r,!1,t);break}break}case`tool-call-preparing`:if(t.tools===`hidden`||isPanelRoutedTool(e.toolName))break;this.#jn({input:void 0,preparing:!0,status:`running`,toolCallId:e.toolCallId,toolName:e.toolName},t,n);break;case`tool-call`:if(this.#f?.recordToolCall(e.toolName),t.tools===`hidden`)break;this.#jn({input:e.input,status:`running`,toolCallId:e.toolCallId,toolName:e.toolName},t,n);break;case`tool-approval-request`:{if(t.tools===`hidden`)break;let r=n.tools.get(e.toolCallId);if(r===void 0)break;this.#jn({...r,status:`approval`},t,n);break}case`tool-result`:{if(t.tools===`hidden`)break;let r=this.#Ln(e.toolCallId,n);if(r===void 0)break;this.#jn({...r,output:e.output,status:`done`},t,n);break}case`tool-error`:{let r=this.#Ln(e.toolCallId,n);if(this.#f?.append({source:`tool`,summary:`${r?.toolName??e.toolCallId} failed`,detail:e.errorText}),t.tools===`hidden`||r===void 0)break;this.#jn({...r,errorText:e.errorText,status:`error`},t,n);break}case`tool-rejected`:{if(t.tools===`hidden`)break;let r=this.#Ln(e.toolCallId,n);if(r===void 0)break;this.#jn({...r,errorText:e.reason,status:`denied`},t,n);break}case`error`:this.#xn(`Error`,e.errorText,{detail:e.detail,hint:e.hint});break;case`turn-cancelled`:if(n.cancelled=!0,!n.restoreCancelledPrompt)break;this.#rt=!0,!this.#ot&&this.#st!==void 0&&this.#te.text.length===0&&(this.#te=lineOf(this.#st),this.renderNotice(`The turn was cancelled from outside this prompt — the message was restored to the input.`));break;case`finish`:this.#Rn(e.usage),this.#zn()}n===this.#ee&&turnActivityLabel(n)!==r&&this.#zn()}#kn(e,t,n){let r=stripTerminalControls(t).trim();r.length!==0&&(this.#Cn({id:e,kind:`assistant`,body:r,live:n}),this.#zn())}#An(e,t,n,r){let i=stripTerminalControls(t).trim();i.length!==0&&(this.#Cn({id:e,kind:`reasoning`,body:i,collapsed:collapseReasoning(r.reasoning,n),live:n}),this.#zn())}#jn(e,t,n){if(n.tools.set(e.toolCallId,e),this.#b.has(e.toolCallId)||isPanelRoutedTool(e.toolName))return;let r=toolSectionId(e.toolCallId);this.#x.set(e.toolCallId,r);let i=this.#Mn(e);this.#Cn(renderNativeToolBlock(e,r,t.tools===`full`,i)),this.#In(n),this.#zn()}#Mn(e){e.output!==void 0&&this.#E.observeRead(e.output);let t={};this.#Nn(e.toolName)&&(t.isSubagent=!0);let n=readWriteFileInput(e.toolName,e.input);if(n===void 0)return t.isSubagent===!0?t:void 0;let r=this.#E.observeWrite({path:n.path,content:n.content,callId:e.toolCallId});r!==void 0&&(t.previousContent=r);let i=writeExistedFlag(e.output);return i!==void 0&&(t.existed=i),t}#Nn(e){let t=this.#O?.info?.subagents.local;if(t===void 0||t.length===0)return!1;let n=toolBaseName(e);return t.some(e=>e.name===n)}#Pn(e){for(let t of e.tools.keys()){if(this.#b.has(t))continue;let e=this.#x.get(t)??toolSectionId(t),n=this.#g.get(e);n?.kind===`tool`&&n.status===`running`&&(n.status=`error`,n.result=`interrupted`,n.live=!1)}}#Fn(e){for(let[t,n]of e.tools){if(n.preparing!==!0)continue;e.tools.delete(t);let r=this.#x.get(t)??toolSectionId(t);this.#Tn(r),this.#x.delete(t)}}#In(e){let t=[];for(let n of e.tools.values()){if(this.#b.has(n.toolCallId))continue;let e=this.#x.get(n.toolCallId)??toolSectionId(n.toolCallId),r=this.#g.get(e);r?.kind===`tool`&&t.push({block:r,active:isActiveToolStatus(n.status)})}applyCohortLiveness(t)}#Ln(e,t){let n=t.tools.get(e);if(n!==void 0)return n;let r=this.#x.get(e)??toolSectionId(e),i=this.#g.get(r);if(i!==void 0&&i.kind===`tool`)return{errorText:i.status===`error`&&typeof i.result==`string`?i.result:void 0,input:i.toolInput,output:i.toolOutput,status:i.status??`running`,toolCallId:e,toolName:i.toolName??i.title??`tool`}}#Rn(e){if(e===void 0)return;let{inputTokens:t,outputTokens:n}=e;if((t!=null||n!=null)&&(this.#je=(t??0)+(n??0)),this.#Me=t??this.#Me,this.#Pe=n??this.#Pe,this.#Pe!=null&&this.#Ie!==void 0){let e=(Date.now()-this.#Ie)/1e3;e>0&&(this.#Fe=this.#Pe/e)}}#zn(){if(this.#ce){if(this.#ke){this.#Ae=!0;return}this.#ke=!0;try{do this.#Ae=!1,this.#Bn();while(this.#Ae)}finally{this.#ke=!1}}}#Bn(){if(!this.#ce)return;if(this.#ut!==void 0){this.#ut.repaint();return}let e=this.#rr(),t=this.#Yn(e),n=this.#N===void 0?[]:this.#Wn(),r=Math.max(1,this.#ir()-n.length-t.length),i=[],a=this.#L,o=groupToolBlocksForDisplay(this.#h),s=0;for(;s<o.length&&o[s].display.live===!1;)s+=1;if(s>0){let e=new Set(o.slice(0,s).flatMap(e=>e.members));for(let t=this.#h.length-1;t>=0;--t)e.has(this.#h[t])&&this.#h.splice(t,1)}for(let t of o.slice(0,s)){for(let e of t.members)this.#y.push(e),e.id&&(this.#v.add(e.id),this.#g.delete(e.id));if(this.#vr(t.display))continue;let n=this.#Gn(t.display,e,a);a=previousBlockOf(t.display),this.#L=a,i.push(...n),this.#I.push(...n)}let c=[];for(let{display:t}of o.slice(s)){if(this.#vr(t))continue;let n=this.#Gn(t,e,a);a=previousBlockOf(t);for(let e=0;e<n.length;e+=1)c.push({block:t,row:n[e]})}let l=[...n,...clipLiveRows(c.map(e=>e.row),r,e,this.#i),...t];i.length>0?this.#n.flush(i,l):this.#n.update(l)}#Vn(){if(!this.#ce)return;let e=this.#rr(),t=this.#Yn(e),n=Math.max(1,this.#ir()-t.length),r=this.#L,i=[];for(let{display:t}of groupToolBlocksForDisplay(this.#h)){if(this.#vr(t))continue;let n=this.#Gn(t,e,r);r=previousBlockOf(t),i.push(...n)}let a=[...clipLiveRows(i,n,e,this.#i),...t];this.#n.clearAll(),this.#n.flush([...this.#Wn(),...this.#I],a)}logDisplayMode(){return this.#m}setLogDisplayMode(e){e!==this.#m&&(this.#m=e,e===`all`&&this.flushDelayedDevBuildErrors(),this.#Un(),this.#ce&&this.#Vn())}flushDelayedDevBuildErrors(){let e=this.#Be;e!==void 0&&(this.#Be=void 0,this.#_n({kind:`log`,title:`stderr`,body:e,live:!0}),this.#zn())}#Hn(){this.#Se=!0,this.#xe!==void 0&&clearTimeout(this.#xe),this.#xe=setTimeout(()=>{this.#Se=!1,this.#xe=void 0,this.#zn()},5e3),this.setLogDisplayMode(nextLogDisplayMode(this.#m)),this.#zn()}#Un(){let e=this.#rr();this.#I.length=0;let t;for(let{display:n}of groupToolBlocksForDisplay(this.#y,{logCoalescing:`runs`})){if(this.#vr(n))continue;let r=this.#Gn(n,e,t);t=previousBlockOf(n),this.#I.push(...r)}this.#L=t}#Wn(){let e=this.#O,t=this.#N;if(e===void 0&&t===void 0)return[];let n={name:e?.name??t?.name,theme:this.#i,width:this.#rr()};return e?.info!==void 0&&(n.info=e.info),buildAgentHeader(n)}#Gn(e,t,n){let r={renderMarkdown:this.#a,activityPulse:this.#qn(this.#ve,this.#i.unicode?PROGRESS_PULSE_GLYPH:PROGRESS_PULSE_ASCII_GLYPH)};n!==void 0&&(r.previous=n),this.#Xe!==void 0&&(r.setupFlowOpen=!0),this.#Je!==void 0&&(r.transientPanelOpen=!0);let i=renderBlockLines(e,t,this.#i,r);return(e.depth??0)===0&&leadsWithGap(e,n)?[``,...i]:i}#Kn(){return this.#i.spinner[this.#_e%this.#i.spinner.length]??``}#qn(e,t){return isProgressPulseVisible(Date.now()-e)?t:` `}#Jn(e){return{glyph:this.#qn(e.startedAtMs,this.#i.unicode?PROGRESS_PULSE_GLYPH:PROGRESS_PULSE_ASCII_GLYPH)}}#Yn(e){let t=this.#i.colors,n=[``];if(this.#Je!==void 0){let t=this.#Je(e);return[...t.rows,...t.controls]}if(this.#qe!==void 0){let t=this.#qe(e);return[...n,...t.rows,...t.controls]}let r=this.#Xe;if(r!==void 0&&(this.#A===void 0||r.question!==void 0)){let t=this.#Jn(r),i;if(r.status!==void 0){let{startedAtMs:e,...n}=r.status,a=Date.now()-e,o=a>=5e3?` ${formatTurnDuration(a)}`:``;i={...n,text:`${n.text}${o}`,indicator:t}}let a;if(r.question!==void 0){let t=r.question(e);a={kind:`question`,title:r.questionTitle,rows:t},i!==void 0&&(a={kind:`question`,title:r.questionTitle,rows:t,status:i})}else i===void 0?a=r.preview===void 0?{kind:`idle`,indicator:t}:{kind:`preview`,text:r.preview,indicator:t}:(a={kind:`status`,status:i},r.preview!==void 0&&(a={kind:`status`,status:i,preview:r.preview}));let o={title:r.title,navigation:r.navigation,lines:r.summary===void 0?r.hideLinesWhileQuestion===!0?[]:r.lines:[{text:r.summary.headline,tone:`success`},...r.summary.facts.map(e=>({text:`${e.label}: ${e.value}`,tone:`info`}))],content:a},s=renderFlowDrawer(o,this.#i,e);return n.length===1&&n[0]===``&&(n.length=0),n.push(...s.rows),s.controls.length>0&&n.push(...s.controls),this.#tr(n,e),n}r!==void 0&&n.push(...flowMessageRows(r.lines,this.#i).map(t=>t.length===0?``:clip(` ${t}`,e))),this.#k===void 0&&this.#Ze!==void 0&&n.push(...renderAttentionRows(this.#Ze,e,this.#i),``);let i=renderMessageQueueRows({view:this.#et.view(),width:e,theme:this.#i,working:this.#ne});if(i.length>0&&n.push(...i,``),this.#G){let r=this.#K===void 0?void 0:inlineCommandHint(this.#K),i=this.#pt(e);this.#pe&&n.push(clip(t.dim(`Press Ctrl+C again to exit`),e),``);let a=r?t.dim(` ${r}`):``,o=[];this.#er(o,e);let s=Math.max(1,this.#ir()-1-n.length-1-i.length-o.length-(i.length>0?2:0)),c={text:this.#V,cursor:this.#H,width:e,theme:this.#i,caretVisible:this.#ge,ghost:a,maxRows:s};this.#Z&&this.#V.length===0&&(c.placeholder=this.#A===void 0?this.#Q?``:`Send a message…`:`Message · Enter to queue`);let l=promptInputRows(c);return i.length>0&&l.at(-1)===``&&l.pop(),n.push(...l),i.length>0&&n.push(t.dim(this.#i.glyph.dash.repeat(e))),n.push(...i),i.length>0&&o.length>0&&n.push(t.dim(this.#i.glyph.dash.repeat(e))),n.push(...o),n}let a=this.#re.kind===`waiting`&&this.#oe===void 0;if(this.#ne||a){n.push(this.#Xn(e)),this.#Qn(n,e);let t=[];return this.#er(t,e),!this.#ne&&t.length>0&&n.push(``),n.push(...t),n}if(this.#te.text.length>0)return this.#$n(n,e,{inert:!1}),this.#er(n,e),n;let o=this.#oe??(this.#ae.length>0?this.#ae:`Ready`),s=this.#nr(),c=t.dim(this.#i.glyph.dot),l=s?`${c} ${o} ${t.dim(this.#i.glyph.dot)} ${s}`:`${c} ${o}`;return n.push(clip(l,e)),this.#er(n,e),n}#Xn(e){let t=this.#i.colors,n=this.#re,r=this.#$.startedAtMs??this.#Ie??(n.kind===`waiting`?n.startedAtMs:Date.now()),i=Math.max(0,Date.now()-r),a=i%1e3<500?this.#i.unicode?`•`:`*`:` `,o=i<1e3?`0s`:formatTurnDuration(Math.floor(i/1e3)*1e3),s=`${turnActivityLabel(this.#ee)} (${o})`,{inputTokens:c,outputTokens:l}=this.#$.usage;return clip(`${a} ${s}${c>0||l>0?t.dim(` (${formatTokenFlow({inputTokens:c,outputTokens:l},this.#i.glyph)})`):``}`,e)}#Zn(e){let{inputTokens:t,outputTokens:n}=this.#$.usage,r=t===0&&n===0?``:` (${formatTokenFlow({inputTokens:t,outputTokens:n},this.#i.glyph)})`;return`${formatTurnDuration(e)}${r}`}#Qn(e,t){this.#ne&&this.#$n(e,t,{inert:!0})}#$n(e,t,n){e.push(``);let r={text:this.#te.text,cursor:this.#te.cursor,width:t,theme:this.#i,caretVisible:!0,ghost:``,maxRows:4,inert:n.inert};n.inert&&this.#te.text.length===0&&(r.placeholder=``),e.push(...promptInputRows(r))}#er(e,t){if(this.#k!==void 0){let n=this.#Xe?.status?.text??{starting:`Starting agent…`,connecting:`Reading saved connection…`,updating:`Loading selected model…`}[this.#k],r=this.#qn(this.#M,this.#i.unicode?PROGRESS_PULSE_GLYPH:PROGRESS_PULSE_ASCII_GLYPH);e.push(clip(this.#i.colors.dim(`${r} ${n}`),t));return}let n=this.#B===void 0?``:` `,r=Math.max(1,t-n.length),i={theme:this.#i,width:r};this.#Ue&&this.#He!==void 0&&(i.devBuild=this.#He),this.#Se&&(i.logLevel=this.#m);let a=this.#O?.info?.agent.model;a?.routing.kind===`dynamic`?i.model=this.#Qe===void 0?`dynamic model`:`dynamic model · ${this.#Qe}`:a?.id!==void 0&&(i.model=a.id),a?.reasoning!==void 0&&a.reasoning!==`provider-default`&&(i.reasoning=a.reasoning),readGatewayServiceTier(a?.providerOptions).kind===`priority`&&(i.fastMode=!0);let o=a?.endpoint;o!==void 0&&(i.endpoint=o),this.#z!==void 0&&(i.vercel=this.#z),this.#B!==void 0&&(i.remote=this.#B);let s=buildStatusLine(i);s!==void 0&&e.push(clip(`${n}${s}`,t))}#tr(e,t){if(this.#B===void 0)return;let n=Math.max(1,t-2),r=buildStatusLine({remote:this.#B,theme:this.#i,width:n});r!==void 0&&e.push(``,clip(` ${r}`,t))}#nr(){let e=this.#i.colors,t=[],n=formatAssistantResponseStats({totalTokens:this.#je,outputTokens:this.#Pe,tokensPerSecond:this.#Fe},this.#u);return n&&t.push(n),t.length>0?e.dim(t.join(` ${this.#i.glyph.dot} `)):``}#rr(){return Math.max(20,this.#t.columns||80)}#ir(){return Math.max(8,this.#t.rows||24)}#ar(){if(this.#Le!==void 0||!this.#d)return;this.#Re=``,this.#ze=``;let capture=(e,t)=>{let n=e.write.bind(e);return e.write=((e,n,r)=>{let i=typeof n==`string`?n:void 0,a=typeof n==`function`?n:r;return this.#cr(t,chunkToString(e,i)),a?.(),!0}),()=>{e.write=n}},e=capture(process.stdout,`stdout`),t=capture(process.stderr,`stderr`);this.#f?.subscribeLogRecords(e=>this.#sr(e)),this.#Le=()=>{this.#f?.unsubscribeLogRecords(),e(),t()}}#or(){let e=this.#Le;e!==void 0&&(this.#Le=void 0,e(),this.#Re.length>0&&(this.#f?.append({source:`stdout`,detail:this.#Re}),this.#_r(`stdout`)&&process.stdout.write(`${this.#Re}\n`),this.#Re=``),this.#ze.length>0&&(this.#f?.append({source:`stderr`,detail:this.#ze}),this.#_r(`stderr`)&&process.stderr.write(`${this.#ze}\n`),this.#ze=``))}#sr(e){let t=e.fields===void 0?``:` ${JSON.stringify(e.fields)}`;this.#ur(`[eve:${e.namespace}] ${e.message}${t}`),this.#zn()}#cr(e,t){let n=(e===`stdout`?this.#Re:this.#ze)+t;if(e===`stdout`&&parseDevRebuildLogLine(n.trimEnd())!==void 0){this.#Re=``,this.#f?.append({source:e,detail:n.trimEnd()}),this.#lr(n.trimEnd()),this.#zn();return}let r=n.lastIndexOf(`
|
|
7
|
-
`),i=r===-1?n:n.slice(r+1);if(e===`stdout`?this.#
|
|
8
|
-
`);t=[],e.trim().length!==0&&this.#
|
|
9
|
-
`)){let e=parseSandboxLogLine(n.trimEnd());if(e!==void 0){flushPending(),this.#
|
|
10
|
-
`),n=t.findIndex(e=>parseDevRebuildLogLine(e.trimEnd())?.kind===`failed`);if(n===-1){if(this.#f===void 0){this.#
|
|
11
|
-
`);r.trim().length>0&&this.#
|
|
12
|
-
`);this.#
|
|
4
|
+
`),n=stripPromptControlCharacters(e?.initialDraft??this.#ie.text),r=t===void 0?n:n.length===0?t:`${t}\n\n${n}`,i=lineOf(r);return this.#ie=EMPTY_LINE,this.#K.begin(i.text),this.#yt(i),this.#gt(i.text),this.#dn(),this.#Kn(),await new Promise((e,t)=>{this.#se=t;let apply=e=>{i=e,this.#pn(),this.#yt(i),this.#gt(e.text),this.#Kn()},recall=e=>{e!==void 0&&apply(lineOf(e))},interrupt=()=>{this.#Y=void 0,this.#fn(),this.#en(),t(interruptedError())},suggestions=()=>this.#Y!==void 0&&isTypeaheadOpen(this.#Y)?this.#Y:void 0,argumentSuggestions=()=>this.#X?.suggestions.length?this.#X:void 0,highlighted=()=>{let e=suggestions();return e===void 0?void 0:selectedTypeaheadCommand(e)};this.#Ee=t=>{t.type!==`ctrl-c`&&this.#ge&&(this.#ge=!1,this.#Kn());let n=this.#q.apply(i,t,{multiline:!0});if(n!==void 0){apply(n);return}switch(t.type){case`up`:case`ctrl-p`:{let e=argumentSuggestions();if(e!==void 0){this.#X=moveArgumentTypeaheadSelection(e,-1),this.#Kn();break}let t=suggestions();if(t!==void 0){this.#Y=moveTypeaheadSelection(t,-1),this.#Kn();break}let n=movePromptLine(i,`up`);n===void 0?recall(this.#K.previous(i.text)):apply(n);break}case`down`:case`ctrl-n`:{let e=argumentSuggestions();if(e!==void 0){this.#X=moveArgumentTypeaheadSelection(e,1),this.#Kn();break}let t=suggestions();if(t!==void 0){this.#Y=moveTypeaheadSelection(t,1),this.#Kn();break}let n=movePromptLine(i,`down`);n===void 0?recall(this.#K.next()):apply(n);break}case`tab`:{let e=argumentSuggestions(),t=e===void 0?void 0:selectedArgumentSuggestion(e);if(e!==void 0&&t!==void 0){apply(lineOf(argumentTypeaheadCompletion(e,t)));break}let n=highlighted();n!==void 0&&apply(lineOf(typeaheadCompletion(n)));break}case`escape`:{if(this.#X!==void 0){this.#X=void 0,this.#Kn();break}let e=suggestions();e!==void 0&&(this.#Y=dismissTypeahead(e),this.#Kn());break}case`enter`:{let t=argumentSuggestions(),n=t===void 0?void 0:selectedArgumentSuggestion(t),r=highlighted();if(t!==void 0&&n?.next!==void 0&&t.completed.length===0){apply(lineOf(`${argumentTypeaheadCompletion(t,n)} `));break}if(t===void 0&&r!==void 0&&this.#Z!==void 0&&(r.name===`add`||r.name===`login`||r.name===`loglevel`||r.name===`model`)){apply(lineOf(typeaheadCompletion(r)));break}let a=t!==void 0&&n!==void 0?argumentTypeaheadCompletion(t,n):r!==void 0&&parsePromptCommand(i.text)===null?typeaheadCompletion(r).trimEnd():i.text;if(a.trim().length===0)break;this.#Y=void 0,this.#X=void 0,promptCommandSpec(a)?.spec.history!==`omit`&&this.#K.add(a),this.#J=!1,this.#fn(),this.#ce=STATUS.processing,isPromptControlCommand(a)?this.#Tt(stripTerminalControls(a.trim())):(this.#hn(),this.#bn(a),this.#Xe=a,this.#ne.arm()),this.#yt(EMPTY_LINE),this.#Kn(),this.#nn(),e(a);break}case`ctrl-d`:i.text.length===0?(this.#Jt(),interrupt()):apply(deleteForward(i));break;case`ctrl-l`:this.#Yn();break;case`ctrl-r`:this.#Kn();break;case`ctrl-c`:if(this.#ge){this.#Jt(),interrupt();break}this.#ge=!0,apply(EMPTY_LINE)}},this.#tn()})}#yt(e){this.#W=e.text,this.#G=e.cursor}takeQueuedPrompt(){let e=this.#it.view().steering,t=this.#it.takePrompt();return t!==void 0&&(this.#lt=e?`steer`:`queue`),t}async renderStream(e,t){this.#Qt(t),this.#v.clear(),this.#J=!1,this.#oe.kind!==`waiting`&&(this.#oe={kind:`waiting`,startedAtMs:Date.now()}),this.#ce=this.#V>0?STATUS.connectionAuth:STATUS.processing,this.#Sn(t?.submittedPrompt),t?.submittedPrompt!==void 0&&this.#f?.recordPrompt(),t?.submittedPrompt!==void 0&&!this.#ne.armed&&this.#ne.arm(),this.#me=!1,this.#st=!1,this.#ut=!1,this.#dt=t?.submittedPrompt,this.#it.beginTurn(),this.#at=e.cancel,this.#ot=e.steer,this.#Pe=void 0,this.#Fe=void 0,this.#Le=void 0,this.#Re=void 0,this.#ze=Date.now();let n={text:new Map,reasoning:new Map,tools:new Map,modelActivity:`Thinking`,inStep:!1,runningTools:new Set,cancelled:!1,restoreCancelledPrompt:!0};this.#re=n;let r={tools:t?.tools??this.#o,reasoning:t?.reasoning??this.#s,assistantResponseStats:t?.assistantResponseStats??this.#u};this.#mn(),this.#ae=!0,this.#Kn();let i=new Promise(e=>{this.#je=e});this.#Ee=e=>this.#ln(e),this.#tn();try{for await(let t of takeUntil(iterateTUIStream(e.events),i)){if(this.#me)break;this.#Dn(t,r,n)}}catch(e){let t=summarizeKnownError(e);t===null?this.#Cn(`Error`,toErrorMessage(e),{detail:inspectError(e)}):this.#Cn(t.name,t.message,{detail:inspectError(e),hint:t.hint})}finally{this.#je=void 0,this.#me&&e.abort?.(),this.#at=void 0,this.#ot=void 0,this.#nn(),this.#ae=!1,this.#re=void 0,this.#oe.kind===`waiting`&&(this.#oe={kind:`idle`}),this.#vn(),this.#ce=completedTurnStatus({interrupted:this.#me,cancelled:this.#st,continueSession:t?.continueSession===!0}),this.#Hn(n),this.#Pn(),(this.#me||n.cancelled)&&(this.#Vn(n),this.#In()),this.#En(),this.#vn(),this.#f?.reportStats(),this.#Kn(),t?.continueSession||this.#en()}}async renderIdleStream(e,t){let n={tools:t?.tools??this.#o,reasoning:t?.reasoning??this.#s,assistantResponseStats:t?.assistantResponseStats??this.#u},r={text:new Map,reasoning:new Map,tools:new Map,modelActivity:`Thinking`,inStep:!1,runningTools:new Set,cancelled:!1,restoreCancelledPrompt:!1};try{for await(let t of iterateTUIStream(e.events))this.#Dn(t,n,r)}catch(e){let t=summarizeKnownError(e);t===null?this.#Cn(`Error`,toErrorMessage(e),{detail:inspectError(e)}):this.#Cn(t.name,t.message,{detail:inspectError(e),hint:t.hint})}finally{this.#Hn(r),this.#Pn(),r.cancelled&&(this.#Vn(r),this.#In()),this.#En(),this.#vn(),this.#f?.reportStats(),this.#Kn()}}async readToolApproval(e,t){this.#Qt(t),this.#gn(),this.#J=!1,this.#oe={kind:`idle`},this.#me=!1;let n=0;return this.#Ze=t=>renderTransientDrawer([` ${this.#i.colors.bold(`Approve ${formatToolApprovalTitle(e)}?`)}`,``,...renderQuestionChoices([{id:`yes`,label:`Yes`},{id:`no`,label:`No`}],n,this.#i)],[`y yes · n no · Ctrl-C cancel`],this.#i,t),this.#Kn(),await new Promise((t,r)=>{let approve=()=>{this.#Ze=void 0,this.#hn(),this.#ce=STATUS.processing,this.#nn(),this.#Kn(),t({approved:!0})},deny=()=>{this.#Ze=void 0,this.#hn(),this.#ce=STATUS.processing,this.#bt(e.toolCallId),this.#nn(),this.#Kn(),t({approved:!1,reason:`Denied by user.`})};this.#se=r,this.#Ee=e=>{switch(e.type){case`text`:{if(e.framing!==`unframed`)break;let t=e.value.toLowerCase();t===`y`?approve():t===`n`&&deny();break}case`up`:case`ctrl-p`:n=0,this.#Kn();break;case`down`:case`ctrl-n`:n=1,this.#Kn();break;case`enter`:n===0?approve():deny();break;case`ctrl-r`:this.#Kn();break;case`ctrl-c`:this.#me=!0,this.#Ze=void 0,this.#en(),r(interruptedError())}},this.#tn()})}async readInputQuestion(e,t){this.#Qt(t),this.#gn(),this.#J=!1,this.#ee=!1,this.#oe={kind:`idle`},this.#me=!1;let n=e.options??[],r=n.length>0,i=(e.allowFreeform===!0||!r)&&r,a=n.length+ +!!i,o=questionSectionId(e.requestId),s=r?`select`:`text`,c=0,l=EMPTY_LINE,isOnFreeformRow=()=>i&&c===n.length,selectDrawer=t=>renderTransientDrawer(renderQuestionPanel({prompt:stripTerminalControls(e.prompt),options:n,cursor:c,allowFreeform:i,editor:l,caretVisible:this.#ye},this.#i,t),[`↑/↓ move · enter to select · esc to dismiss`],this.#i,t),textPanel=t=>{let n=promptInputRows({text:l.text,cursor:l.cursor,width:Math.max(1,t-2),theme:this.#i,caretVisible:this.#ye,ghost:``,maxRows:3});return n.at(-1)===``&&n.pop(),renderTransientDrawer([` ${this.#i.colors.bold(stripTerminalControls(e.prompt))}`,``,...n.map(e=>` ${e}`)],[`Enter submit · Esc dismiss`],this.#i,t)},syncFreeformCaret=()=>{isOnFreeformRow()?this.#dn():(this.#fn(),this.#pn())};s===`select`?(s=`select`,this.#J=!1,this.#Tn(o),this.#Ze=selectDrawer,this.#ce=``,syncFreeformCaret(),this.#Kn()):(s=`text`,this.#Ze=textPanel,this.#J=!0,this.#yt(l),this.#ce=``,this.#dn(),this.#Kn());let finalize=t=>{this.#Ze=void 0,this.#wn({id:o,kind:`question`,title:stripTerminalControls(e.prompt),body:`${this.#i.colors.dim(this.#i.glyph.elbow)} ${stripTerminalControls(t.label)}`,preformatted:!0,live:!1}),this.#J=!1,this.#hn(),this.#ce=STATUS.processing,this.#fn(),this.#nn(),this.#Kn();let n={};return t.optionId!==void 0&&(n.optionId=t.optionId),t.text!==void 0&&(n.text=t.text),n},dismiss=()=>{this.#Ze=void 0,this.#wn({id:o,kind:`question`,title:stripTerminalControls(e.prompt),body:`${this.#i.colors.dim(this.#i.glyph.elbow)} ${this.#i.colors.dim(`Skipped. The question stays open.`)}`,preformatted:!0,live:!1}),this.#J=!1,this.#ce=``,this.#fn(),this.#nn(),this.#Kn(),u(void 0)},moveCursor=e=>{a!==0&&(c=(c+e+a)%a,syncFreeformCaret(),this.#Kn())},selectOptionAt=e=>{let t=n[e];t&&u(finalize({optionId:t.id,label:t.label}))},u;return await new Promise((t,n)=>{this.#se=n,u=t,this.#Ee=t=>{if(t.type===`ctrl-c`){if((s===`text`||isOnFreeformRow())&&l.text.length>0){l=EMPTY_LINE,this.#pn(),s===`text`&&this.#yt(l),this.#Kn();return}this.#me=!0,this.#Ze=void 0,this.#fn(),this.#en(),n(interruptedError());return}if(t.type===`ctrl-r`){this.#Kn();return}if(s===`select`){let n=setupSelectionIntent(t,{textNavigation:!isOnFreeformRow()});if(n?.kind===`move`){moveCursor(n.direction===`up`?-1:1);return}switch(t.type){case`up`:case`ctrl-p`:moveCursor(-1);break;case`down`:case`ctrl-n`:moveCursor(1);break;case`enter`:if(isOnFreeformRow()){let t=resolveQuestionText(l.text,e);t!==void 0&&u(finalize(t));break}selectOptionAt(c);break;case`escape`:if(isOnFreeformRow()&&l.text.length>0){l=EMPTY_LINE,this.#pn(),this.#Kn();break}dismiss();break;default:if(isOnFreeformRow()){let e=this.#q.apply(l,t);e!==void 0&&(l=e,this.#pn(),this.#Kn())}}return}let r=this.#q.apply(l,t,{multiline:!0});if(r!==void 0){l=r,this.#pn(),this.#yt(l),this.#Kn();return}switch(t.type){case`up`:case`down`:{let e=movePromptLine(l,t.type);e!==void 0&&(l=e,this.#pn(),this.#yt(l),this.#Kn());break}case`enter`:{let t=resolveQuestionText(l.text,e);if(t===void 0)break;u(finalize(t));break}case`escape`:if(l.text.length>0){l=EMPTY_LINE,this.#pn(),this.#yt(l),this.#Kn();break}dismiss()}},this.#tn()})}upsertSubagentStep(e){if(this.#f?.recordSubagentDispatch(e.callId),this.#c===`hidden`)return;let t=stripTerminalControls(e.reasoning??``).trim(),n=stripTerminalControls(e.message??``).trim();if(t.length===0&&n.length===0)return;let r=this.#C.get(e.callId);if(r!==void 0&&(r.step=firstLine(n)??`Thinking`),this.#c===`full`&&e.finalized){let i=subagentStepRowId(e.callId,e.sectionKey);if(!this.#w.has(i)){this.#w.add(i);let a={kind:`subagent-step`,subagentCallId:e.callId,agentName:r?.name??agentDisplayName(stripTerminalControls(e.subagentName)),depth:1,body:n,live:!1};t.length>0&&(a.reasoning=t),this.#yn(a)}}this.#Kn()}upsertSubagentTool(e){if(this.#f?.recordSubagentDispatch(e.callId),e.status===`failed`&&e.errorText!==void 0&&this.#f?.append({source:`tool`,summary:`${e.toolName} failed (subagent ${e.subagentName})`,detail:e.errorText}),this.#c===`hidden`)return;let t=subagentToolStatus(e.status),n=this.#zn({input:e.input,output:e.output,toolCallId:e.childCallId,toolName:e.toolName,label:e.label,agentTask:e.agentTask}),r=e.status===`preparing`?presentPreparingTool(e.toolName,n):presentTool(e.toolName,e.input,n),i=this.#C.get(e.callId),a={kind:`subagent-tool`,subagentCallId:e.callId,agentName:i?.name??agentDisplayName(stripTerminalControls(e.subagentName)),depth:1,title:stripTerminalControls(r.title),subtitle:stripTerminalControls(r.subtitle),status:t,live:!1,toolName:e.toolName,toolGroup:r.group,toolInput:e.input};r.doneTitle!==void 0&&(a.doneTitle=stripTerminalControls(r.doneTitle)),r.detail!==void 0&&(a.detailLines=r.detail,a.keepDetailWhenDone=r.keepDetailWhenDone===!0),e.output===void 0?e.errorText!==void 0&&(a.result=stripTerminalControls(e.errorText)):(a.result=r.summarizeResult(e.output),a.toolOutput=e.output),i?.childTools.set(e.childCallId,a);let o=t===`done`||t===`error`||t===`denied`,s=subagentToolRowId(e.callId,e.childCallId);this.#c===`full`&&o&&!this.#w.has(s)&&(this.#w.add(s),this.#yn(a)),this.#Kn()}removeSubagentTool(e){let t=this.#C.get(e.callId)?.childTools;if(e.reason!==void 0){let n=t?.get(e.childCallId)?.toolName??e.childCallId;this.#f?.append({source:`tool`,summary:`${n} was refused for the model to retry`,detail:e.reason})}t?.delete(e.childCallId),this.#Kn()}subagents={begin:({callId:e})=>{this.#E.add(e)},end:({callId:e})=>{this.#D.add(e),this.#Nn(e)},upsertStep:e=>this.upsertSubagentStep(e),upsertTool:e=>this.upsertSubagentTool(e),removeTool:e=>this.removeSubagentTool(e),markChildToolCallId:e=>this.markChildToolCallId(e)};markChildToolCallId(e){this.#b.add(e);let t=this.#x.get(e);t!==void 0&&(this.#Tn(t),this.#x.delete(e),this.#Kn())}#bt(e){let t=this.#g.get(toolSectionId(e));t!==void 0&&(t.status=`denied`,t.live=!1)}upsertConnectionAuth(e){if(this.#l===`hidden`)return;let t=connectionAuthTerminalMessage(e.state);this.#wn({id:connectionAuthSectionId(e.name),kind:`connection-auth`,title:`${stripTerminalControls(e.name)} · authorization · ${e.state}`,body:formatConnectionAuthContent(e,t),preformatted:!0,live:t===void 0}),this.#Kn()}setConnectionAuthPendingCount(e){let t=Math.max(0,e);if(t===this.#V)return;let n=this.#V>0;this.#V=t,t>0?(this.#ce=STATUS.connectionAuth,this.#Kn()):n&&(this.#ce=STATUS.processing,this.#Kn())}setVercelStatus(e){this.#H=e,this.#Kn()}setRemoteConnectionStatus(e){this.#U=e,this.#Kn()}reset(){this.#h=[],this.#g.clear(),this.#v.clear(),this.#B=void 0,this.#z.length=0,this.#y.length=0,this.#L=!1,this.#R=void 0,this.#xt(),this.#te=!1,this.#Xe=void 0,this.#Ge=void 0,this.#V=0,this.#Pe=void 0,this.#Fe=void 0,this.#Le=void 0,this.#Re=void 0,this.#ze=void 0,this.#de&&(this.#n.clearAll(),this.#Kn())}renderSessionBoundary(){this.#xn(),this.#In(),this.#xt();let e=this.#i.colors,t=this.#i.glyph,n=e.dim(`${t.cornerOpen}${t.dash.repeat(2)} Session restarted, clear context.`);this.#yn({kind:`session-boundary`,body:n,live:!1}),this.#Kn()}#xt(){this.#nt=void 0,this.#rt=void 0,this.#b.clear(),this.#x.clear();for(let e of this.#O.values())clearTimeout(e.timer);this.#O.clear(),this.#C.clear(),this.#w.clear(),this.#T.clear(),this.#E.clear(),this.#D.clear(),this.#it.reset(),this.#lt=void 0,this.#k.clear(),this.#ne.reset(),this.#vn()}renderNotice(e){let t=stripTerminalControls(e);t.trim().length!==0&&(this.#Qt(),this.#yn({kind:`notice`,body:t,live:!1}),this.#Kn())}renderSetupWarning(e){let t=stripTerminalControls(e);if(t.trim().length===0){this.#St();return}this.#Qt(),this.#tt=t,this.#Kn()}clearSetupWarning(){this.#St()}#St(){this.#tt!==void 0&&(this.#tt=void 0,this.#Kn())}renderCommandInvocation(e){let t=stripTerminalControls(e);t.trim().length!==0&&(this.#Qt(),this.#Tt(t),this.#Kn())}async choosePromptCommand(e){this.#Qt(),this.#J=!1;let t=typeaheadFor(e,`/`);return this.#Qe=e=>{let n=renderCommandSuggestions(t,this.#i,e),r=Math.max(1,this.#dr()-7),i=Math.max(0,Math.min(t.selectedIndex-r+1,n.length-r));return renderTransientDrawer(n.slice(i,i+r),[`↑/↓ move · Enter select · Esc close`],this.#i,e)},this.#ce=``,this.#Kn(),await new Promise(e=>{this.#$e=()=>e(void 0),this.#Ee=n=>{if(n.type===`up`||n.type===`ctrl-p`)t=moveTypeaheadSelection(t,-1),this.#Kn();else if(n.type===`down`||n.type===`ctrl-n`)t=moveTypeaheadSelection(t,1),this.#Kn();else if(n.type===`enter`){let n=selectedTypeaheadCommand(t);this.#Ct(),e(n===void 0?void 0:typeaheadCompletion(n))}else(n.type===`escape`||n.type===`ctrl-c`)&&(this.#Ct(),e(void 0))},this.#tn()})}async showInfoPanel(e){this.#Qt(),this.#J=!1;let t=stripAnsi(e),n=0,infoRows=e=>t.split(`
|
|
5
|
+
`).flatMap(t=>wrapVisibleLine(t,Math.max(1,e-4)).map(e=>` ${e}`));this.#Qe=e=>{let t=infoRows(e),r=Math.max(1,this.#dr()-7);return n=Math.min(n,Math.max(0,t.length-r)),renderTransientDrawer(t.slice(n,n+r),[t.length>r?`↑/↓ scroll · Esc close`:`Esc to close`],this.#i,e)},this.#ce=``,this.#Kn(),await new Promise(e=>{this.#$e=e,this.#Ee=t=>{if(t.type===`up`||t.type===`ctrl-p`)n=Math.max(0,n-1),this.#Kn();else if(t.type===`down`||t.type===`ctrl-n`){let e=Math.max(1,this.#dr()-7);n=Math.min(n+1,Math.max(0,infoRows(this.#ur()).length-e)),this.#Kn()}else(t.type===`escape`||t.type===`ctrl-c`||t.type===`enter`)&&(this.#Ct(),e())},this.#tn()})}#Ct(){this.#Qe=void 0,this.finishCommand({kind:`dismiss`}),this.#Ee=void 0,this.#$e=void 0,this.#nn(),this.#Kn()}finishCommand(e){if(e.kind===`dismiss`){this.#wt()&&this.#Kn();return}let t=this.#Et(e.summary);t!==void 0&&(t.status=`done`);let n=e.message===void 0?``:stripAnsi(e.message);if(n.trim().length===0){t!==void 0&&this.#Kn();return}this.#Qt(),this.#yn({kind:`result`,body:n,live:!1}),this.#Kn()}#wt(){let e=this.#_;return e!==void 0&&(this.#_=void 0,this.#h=this.#h.filter(t=>t!==e),!0)}#Tt(e){this.#_!==void 0&&this.#Et();let t={kind:`command`,body:e,live:!0};this.#_=t,this.#yn(t)}#Et(e){let t=this.#_;if(t!==void 0)return this.#_=void 0,t.live=!1,e!==void 0&&(t.result=stripTerminalControls(e)),t}#Dt(e){this.#Qt(),this.#N===void 0&&(this.#J=!1),this.#oe={kind:`idle`},this.#ce=``,this.#et={title:stripTerminalControls(e),startedAtMs:Date.now(),lines:[],outputBuffer:[]},this.#mn(),this.#Kn()}#Ot(e){this.#et!==void 0&&(this.#et.navigation=e,this.#Kn())}#kt(e){this.#ft=void 0,this.#Ht();let t=this.#et;if(t!==void 0){if(this.#et=void 0,this.#N===void 0?this.#gn():this.#vt(),e){let e=[];for(let n of t.lines){if(n.evidence===!0){e.push(n.text);continue}(n.tone===`warning`||n.tone===`error`)&&(e.length>0&&this.#yn({kind:`flow`,title:`info`,body:e.join(`
|
|
6
|
+
`),live:!1}),this.#yn({kind:`flow`,title:n.tone,body:n.text,live:!1})),e=[]}}this.#Kn()}}async#At(e){let t=this.#It(e.message),n=isMultiSelectRequest(e),r=e.kind===`search`?e.searchAction:void 0,i=e.kind===`search`&&e.layout===void 0,a=e.options,o=e.navigation?.kind===`planner`,s={options:a,searchAction:r,submitRow:n&&!o};`initialValue`in e&&e.initialValue!==void 0&&(s.defaultValue=e.initialValue),`initialValues`in e&&e.initialValues!==void 0&&(s.initialValues=e.initialValues);let c=initialSelectState(s),l,u=!1,d=0,isCurrentSearch=e=>e===d,clearSearch=()=>{d+=1,u=!1,c=reduceSelect(c,{type:`clear`},{options:a,searchAction:r,submitRow:n&&!o}),this.#Kn()},loadSearch=async(e,t)=>{u=!0,l=void 0;let i=++d;this.#Kn();try{let s=await t(e);if(!isCurrentSearch(i))return;let l=c.filter;a=s,c={...initialSelectState({options:s,searchAction:r,submitRow:n&&!o}),filter:l}}catch(e){isCurrentSearch(i)&&(l=toErrorMessage(e))}finally{isCurrentSearch(i)&&(u=!1,this.#Kn())}},f=e.notices;if(e.kind===`task-list`||e.kind===`search`&&e.layout===`task-list`){let n=t.taskListLineStart??t.lines.length,r=t.lines.slice(n).filter(e=>e.tone===`success`||e.tone===`warning`||e.tone===`error`).map(e=>({tone:e.tone,text:e.text}));f=e.notices??r,t.taskListLineStart=t.lines.length,t.hideLinesWhileQuestion=!0}let panelState=()=>{let t={...e,message:``,options:a,select:c};return f!==void 0&&f.length>0&&(t.notices=f),l!==void 0&&(t.error=l),u&&(t.loadingFrame=this.#$n()),i&&(t.caretVisible=this.#ye),t};return t.question=e=>renderSelectQuestion(panelState(),this.#i,e),i&&this.#dn(),this.#Kn(),await this.#zt((t,s)=>{let close=e=>{d+=1,s(e)};if(u){t.type===`ctrl-c`?close(void 0):t.type===`escape`?clearSearch():t.type===`ctrl-r`&&this.#Kn();return}let f=e.navigation?.kind===`planner`?e.navigation:void 0,p=t.type===`left`&&(f?.activeStep??0)>(f?.firstNavigableStep??0)?`back`:t.type===`right`&&f!==void 0&&f.activeStep>=(f.firstNavigableStep??0)&&f.activeStep<f.steps.length-1?`forward`:void 0;if(p!==void 0){close({kind:`navigate`,direction:p,values:n?orderedSelection(a,c.selected):[]});return}let m={key:t,options:a,searchAction:r,select:c},h=reduceSetupSelectInput(n?{...m,kind:e.kind,required:e.required,plannerNavigation:o||void 0}:{...m,kind:e.kind});switch(h.kind){case`cancel`:close(void 0);return;case`repaint`:this.#Kn();return;case`update`:c=h.select,l=void 0,i&&this.#pn(),this.#Kn();return;case`submit`:{let e=searchActionQuery(h.values[0]??``),t=r?.load;if(e===void 0||t===void 0){close(h.values);return}loadSearch(e,t);return}case`error`:l=h.message,this.#Kn();return;case`ignore`:return}},i?()=>this.#fn():void 0).promise}#jt(e){this.#Qt();let t=this.#Lt();t.status={text:stripTerminalControls(e.status),startedAtMs:Date.now()};let n;t.question=t=>renderSelectQuestion({kind:`actions`,context:e.context,actions:e.actions,cursor:n},this.#i,t),this.#Kn();let r=this.#zt((t,r)=>{let i=setupSelectionIntent(t,{textNavigation:!0});switch(i?.kind){case`cancel`:r(void 0);return;case`move`:n=moveActionCursor(n,i.direction,e.actions.length),this.#Kn();return;case`repaint`:this.#Kn();return;case`submit`:n!==void 0&&r(e.actions[n].value);return;case void 0:return}},()=>{t.status=void 0});return{choice:r.promise,close:()=>r.settle(void 0)}}async#Mt(e){let t=this.#It(e.message),n={options:e.options};e.initialValue!==void 0&&(n.defaultValue=e.initialValue);let r=initialSelectState(n),i=lineOf(``),a;t.question=t=>{let n={kind:`inline-edit`,layout:`task-list`,message:``,options:e.options,select:r,edit:{optionValue:e.editable.value,caretVisible:this.#ye,editor:{kind:`rename`,editor:i,defaultValue:e.editable.defaultValue,formatHint:e.editable.formatHint}}};return a!==void 0&&(n.error=a),renderSelectQuestion(n,this.#i,t)};let onEditableRow=()=>selectValueAtCursor([...e.options],r.cursor)===e.editable.value,syncEditableRow=()=>{onEditableRow()?this.#dn():(i=lineOf(``),this.#fn())};return syncEditableRow(),this.#Kn(),await this.#zt((t,n)=>{let applyEditor=e=>{i=e,a=void 0,this.#pn(),this.#Kn()},applySelect=t=>{r=reduceSelect(r,t,{options:e.options}),a=void 0,syncEditableRow(),this.#Kn()},submit=()=>{let t=selectValueAtCursor([...e.options],r.cursor);if(t===void 0)return;if(t!==e.editable.value){n({kind:`selected`,value:t});return}let o=(i.text||e.editable.defaultValue).trim(),s=e.editable.validate?.(o);if(s!==void 0){a=s,this.#Kn();return}n(o===e.editable.defaultValue?{kind:`selected`,value:t}:{kind:`edited`,value:t,text:o})},o=setupSelectionIntent(t,{textNavigation:!onEditableRow()});switch(o?.kind){case`cancel`:n(void 0);return;case`move`:applySelect({type:o.direction});return;case`submit`:submit();return;case`repaint`:this.#Kn();return;case void 0:}if(!onEditableRow())return;let s=this.#q.apply(i,t);s!==void 0&&applyEditor(s)},()=>this.#fn()).promise}async#Nt(e){this.#q.clear();let t=this.#It(e.message),n=initialProviderPickerState(e.options,e.initialValue),r,cursorBadge=()=>{if(n.phase.kind!==`inactive`)return;let t=selectValueAtCursor([...e.options],n.select.cursor),r=e.options.find(e=>e.value===t);if(r!==void 0)return enterBadge(this.#i,r.checked===!0?`change`:void 0)};t.question=t=>{let r=cursorBadge(),i={kind:`inline-edit`,layout:`stacked`,message:``,options:e.options,select:n.select,edit:{optionValue:`ai-gateway-key`,caretVisible:this.#ye,editor:{kind:`key`,phase:n.phase}}};return r!==void 0&&(i.cursorBadge=r),renderSelectQuestion(i,this.#i,t)};let syncCaret=()=>{n.phase.kind===`editing`||n.phase.kind===`invalid`?this.#dn():this.#fn()};return syncCaret(),this.#Kn(),await this.#zt((t,i,a)=>{let dispatch=t=>{let o=transitionProviderPicker(n,t,e.options);switch(o.kind){case`ignore`:return;case`clear`:r?.abort(),r=void 0,n=o.state,syncCaret(),this.#Kn();return;case`cancel`:i(void 0);return;case`render`:n=o.state,syncCaret(),this.#Kn();return;case`validate`:{n=o.state,syncCaret(),this.#Kn();let t=new AbortController;r=t;let i;try{i=e.validateInlineKey(o.key,t.signal)}catch(e){a(e);return}i.then(e=>{r!==t||t.signal.aborted||(r=void 0,dispatch({type:`validated`,validation:e}))},e=>{r!==t||t.signal.aborted||(r=void 0,a(e))});return}case`settle`:i(o.result);return}},o=setupSelectionIntent(t,{textNavigation:n.phase.kind===`inactive`});switch(o?.kind){case`cancel`:dispatch({type:`cancel`});return;case`move`:dispatch({type:`move`,direction:o.direction});return;case`submit`:dispatch({type:`submit`});return;case`repaint`:this.#Kn();return;case void 0:}if(n.phase.kind!==`editing`&&n.phase.kind!==`invalid`)return;let s=applyLineEditorKey(n.phase.editor,t);s!==void 0&&(this.#pn(),dispatch({type:`edit`,editor:s}))},()=>{r?.abort(),r=void 0,this.#fn()}).promise}async#Pt(e){e.mask===!0&&this.#q.clear();let t=this.#It(e.message),n=lineOf(``),r;return t.question=t=>{let i={message:``,editor:n,mask:e.mask===!0};return e.placeholder===void 0?e.defaultValue!==void 0&&(i.placeholder=e.defaultValue):i.placeholder=e.placeholder,e.notices!==void 0&&(i.notices=e.notices),r!==void 0&&(i.error=r),renderTextQuestion(i,this.#i,t,this.#ye)},this.#dn(),this.#Kn(),await this.#zt((t,i)=>{let apply=e=>{n=e,r=void 0,this.#pn(),this.#Kn()},a=e.mask?applyLineEditorKey(n,t):this.#q.apply(n,t);if(a!==void 0){apply(a);return}switch(t.type){case`ctrl-c`:case`escape`:i(void 0);return;case`ctrl-r`:this.#Kn();return;case`enter`:{let t=n.text.length>0?n.text:e.defaultValue??``,a=e.validate?.(t);if(a!==void 0){r=a,this.#Kn();return}i(t);return}default:return}},()=>this.#fn()).promise}async#Ft(e){let t=this.#It(e.message);return t.question=t=>renderAcknowledgeQuestion({message:``,lines:e.lines},this.#i,t),this.#Kn(),await this.#zt((e,t)=>{switch(e.type){case`enter`:case`escape`:case`ctrl-c`:t();return;case`ctrl-r`:this.#Kn();return;default:return}}).promise}#It(e){this.#Qt(),this.#J=!1,this.#oe={kind:`idle`},this.#ce=``;let t=this.#Lt();return t.questionTitle=stripTerminalControls(e),t.status!==void 0&&(t.status=void 0,t.summary=void 0,t.preview=void 0),t}#Lt(){return this.#et===void 0&&(this.#et={title:``,startedAtMs:Date.now(),lines:[],outputBuffer:[],implicit:!0}),this.#et}#Rt(){this.#et?.implicit===!0?this.#et=void 0:this.#et!==void 0&&(this.#et.question=void 0,this.#et.questionTitle=void 0,this.#et.hideLinesWhileQuestion=!1),this.#Ee=void 0,this.#nn(),this.#N===void 0?this.#et!==void 0&&this.#Vt():this.#vt(),this.#et===void 0&&this.#Kn()}#zt(e,t){let n=!1,r,i,a=new Promise((e,t)=>{r=e,i=t}),settle=e=>{n||(n=!0,t?.(),this.#Rt(),r(e))},reject=e=>{n||(n=!0,t?.(),this.#Rt(),i(e))};return this.#cn(),this.#Ee=t=>{t.type===`ctrl-c`&&this.#Jt(),e(t,settle,reject)},this.#tn(),{promise:a,settle}}#Bt(e){let t,n=new Promise(e=>{t=e});return this.#ft=t,this.#Vt(e?.interruptible??!0),{promise:n,dispose:()=>{this.#ft===t&&(this.#ft=void 0,this.#Ht())}}}#Vt(e=!0){if(this.#N!==void 0){this.#vt();return}if(this.#ft===void 0)return;let consumer=t=>{if(e&&(t.type===`ctrl-c`||t.type===`escape`)){t.type===`ctrl-c`&&this.#Jt();let e=this.#ft;this.#ft=void 0,this.#Ht(),e?.(t.type===`ctrl-c`?`ctrl-c`:`escape`);return}t.type===`ctrl-r`&&this.#Kn()};this.#pt=consumer,this.#cn(),this.#Ee=consumer,this.#tn()}#Ht(){this.#pt!==void 0&&(this.#Ee===this.#pt&&this.#nn(),this.#pt=void 0)}#Ut(e){let t=e===void 0?void 0:{text:stripTerminalControls(e),startedAtMs:Date.now()};if(this.#et!==void 0){this.#et.status=t,t===void 0&&(this.#et.preview=void 0),this.#Kn();return}if(!(this.#J||this.#ae)){if(t===void 0){this.#oe={kind:`idle`},this.#le=void 0,this.#gn(),this.#Kn();return}this.#Qt(),this.#hn(),this.#le=t.text,this.#Kn()}}#Wt(e,t){let n=stripTerminalControls(e);if(n.trim().length===0)return;let r=this.#et;if(r!==void 0){if(r.preview=void 0,t===`warning`||t===`error`)for(let e of r.outputBuffer)r.lines.push({text:e,tone:`info`,evidence:!0});r.outputBuffer=[],r.lines.push({text:n,tone:t}),this.#Kn();return}this.#Qt(),this.#yn({kind:`flow`,title:t,body:n,live:!1}),this.#Kn()}#Gt(e){let t=this.#et;t!==void 0&&(t.lines=[],t.outputBuffer=[],t.preview=void 0,t.status=void 0,t.summary=e===void 0?void 0:{headline:stripTerminalControls(e.headline),facts:e.facts.map(e=>({label:stripTerminalControls(e.label),value:stripTerminalControls(e.value)}))},this.#Kn())}#Kt(e){let t=stripTerminalControls(e);if(t.trim().length===0)return;let n=this.#et;if(n===void 0){this.#Wt(t,`info`);return}n.preview=t,n.outputBuffer.push(t),n.outputBuffer.length>40&&n.outputBuffer.shift(),this.#Kn()}async#qt(e){this.#De=``,this.#cn(),this.#ft=void 0,this.#Ht(),this.#nn(),this.#_n(),this.#n.clear(),this.#pr(),this.#r.enter({cursor:`visible`,mouse:!1}),this.#e.isTTY&&this.#e.setRawMode?.(!1),this.#e.pause();try{return await e()}finally{this.#r.exit(),this.#e.isTTY&&this.#e.setRawMode?.(!0),this.#e.resume(),this.#De=``,this.#cn(),this.#n.hideCursor(),this.#fr(),this.#et===void 0?this.#vn():(this.#mn(),this.#Vt()),this.#n.reset(),this.#Kn()}}setSessionId(e){this.#ct=e}shutdown(){this.#en();for(let e of this.#$.values())clearTimeout(e);if(this.#$.clear(),this.#fe&&!this.#pe){this.#pe=!0;let e=this.#ct===void 0?``:` ${this.#i.glyph.dot} session ${this.#ct}`;this.#t.write(`${this.#i.colors.dim(`${eveVersionTag()}${e}`)}\n`)}}suspendPromptForInput(){this.#ie={cursor:this.#G,text:this.#W},this.#en()}requestInterrupt(){this.#me=!0,this.#et!==void 0&&this.#Ee?.({type:`ctrl-c`}),this.#je?.(),this.#en()}exitRequested(){return this.#he}#Jt(){this.#he=!0,this.#ve?.()}async#Yt(e){if(this.#mt!==void 0||!this.#de)return;let t=new TraceViewerSession({...e,theme:this.#i,dimensions:()=>({width:this.#ur(),height:this.#dr()}),paint:e=>this.#r.paint(e,this.#dr()),tracingDisabled:process.env.EVE_TRACES===`off`,copyText:e=>copyTextToClipboard(e,e=>this.#r.writeRaw(e)),terminalBackground:this.#ht});this.#mt=t,this.#r.enter(),this.#i.color&&this.#r.writeRaw(BACKGROUND_COLOR_QUERY),await new Promise(e=>{this.#Zt=e,this.#Ee=e=>{t.handleKey(e)===`close`&&this.#Xt()},this.#tn(),t.start()})}#Xt(){let e=this.#mt;if(e===void 0)return;this.#mt=void 0,e.dispose(),this.#nn(),this.#r.exit(),this.#n.hideCursor(),this.#Kn(),this.#n.showCursor();let t=this.#Zt;this.#Zt=void 0,t?.()}#Zt;#Qt(e){this.#ue=e?.title??this.#ue,e?.contextSize!==void 0&&(this.#Ie=e.contextSize),!this.#de&&(this.#de=!0,this.#fe=!0,this.#n.reset(),this.#n.hideCursor(),this.#fr(),this.#e.isTTY&&(this.#e.setRawMode?.(!0),this.#e.resume(),this.#n.emitBracketedPaste(!0)),this.#Ae=()=>this.#Kn(),this.#t.on(`resize`,this.#Ae),process.on(`exit`,this.#$t))}#$t=()=>{this.#de&&(this.#r.exit(),this.#e.isTTY&&(this.#n.emitBracketedPaste(!1),this.#e.setRawMode?.(!1)),this.#n.showCursor())};#en(){this.#Ze=void 0;let e=this.#$e;e!==void 0&&(this.#$e=void 0,this.#Qe=void 0,this.finishCommand({kind:`dismiss`}),this.#Ee=void 0,e()),this.#Xt();let t=this.#se;if(this.#se=void 0,t?.(interruptedError()),this.#nn(),this.#fn(),this.#_n(),this.#we!==void 0&&(clearTimeout(this.#we),this.#we=void 0),this.#Te=!1,this.#Sr(),this.#de){this.#wr(),this.#Et();for(let e of this.#h)e.kind===`log`&&e.id===void 0&&(e.live=!1);this.#Kn(),this.#n.clear(),this.#n.showCursor(),this.#pr(),this.#n.newline(),this.#e.isTTY&&(this.#n.emitBracketedPaste(!1),this.#e.setRawMode?.(!1),this.#e.pause()),this.#Ae&&=(this.#t.off(`resize`,this.#Ae),void 0),process.off(`exit`,this.#$t),this.#de=!1}}#tn(){this.#e.off(`data`,this.#rn),this.#e.on(`data`,this.#rn),this.#De.length>0&&queueMicrotask(()=>{this.#Ee!==void 0&&this.#De.length>0&&(this.#on(),this.#in())})}#nn(){this.#e.off(`data`,this.#rn),this.#cn(),this.#Ee=void 0}#rn=e=>{this.#cn(),this.#De+=this.#Oe.write(e),this.#on(),this.#in()};#in(){if(this.#De===`\x1B`){this.#ke=setTimeout(()=>{this.#De===`\x1B`&&(this.#De=``,this.#an({type:`escape`}))},30),this.#ke.unref?.();return}if(isIncompletePaste(this.#De)){let e=this.#De;this.#ke=setTimeout(()=>{if(this.#De!==e)return;let t=sanitizePastedText(stripPasteStart(e));this.#De=``,t.length>0&&this.#an({type:`text`,value:t,framing:`bracketed-paste`})},incompletePasteFlushMs),this.#ke.unref?.();return}if(isIncompleteOsc(this.#De)){let e=this.#De;this.#ke=setTimeout(()=>{this.#De===e&&(this.#De=``)},incompletePasteFlushMs),this.#ke.unref?.()}}#an(e){this.#q.interruptYank(e),this.#Ee?.(e)}#on(){for(;this.#De.length>0;){let e=nextKey(this.#De);if(e.incomplete)return;if(this.#De=this.#De.slice(e.consumed),e.key!==void 0&&e.key.type!==`ignore`){if(e.key.type===`osc`){this.#sn(e.key.value);continue}this.#an(e.key)}}}#sn(e){let t=parseBackgroundColorReply(e);t!==void 0&&(this.#ht=t,this.#mt?.setTerminalBackground(t))}#cn(){this.#ke&&=(clearTimeout(this.#ke),void 0)}#ln(e){switch(e.type){case`ctrl-l`:case`ctrl-r`:this.#Kn();break;case`enter`:{let e=this.#ie.text;if(e.trim().length===0)break;if(parsePromptCommand(e)?.type===`cancel`&&this.#at!==void 0){this.#ie=EMPTY_LINE,this.#it.requestCancellation(),this.#ut=!0,this.renderCommandInvocation(e.trim()),this.finishCommand({kind:`result`,summary:`Cancellation requested`}),this.#at(),this.#Kn();break}let t=this.#ot;t!==void 0&&parsePromptCommand(e)===null?(this.#ie=EMPTY_LINE,this.#un(e,t)):this.#it.enqueue(e)&&(this.#ie=EMPTY_LINE),this.#Kn();break}case`ctrl-c`:case`escape`:if(e.type===`ctrl-c`&&this.#it.view().cancelling){this.#me=!0,this.#_e=!0,this.#oe={kind:`idle`},this.#ce=`Interrupted`,this.#je?.(),this.#Kn();break}if(this.#it.idle&&this.#at===void 0)break;if(this.#it.handleEscape()===`steer`){let e=this.#ot;if(e!==void 0){let t=this.#it.takeSteering();this.#un(t,e)}}else this.#ut=!0,this.#at?.();this.#Kn();break;default:{let t=this.#q.apply(this.#ie,e,{multiline:!0});t!==void 0&&(this.#ie=t,this.#Kn());break}}}#un(e,t){this.#lt=`steer`,this.#Sn(e),t(e).catch(t=>{this.#it.restoreSteering(e),this.#Cn(`Steering failed`,toErrorMessage(t)),this.#Kn()})}#dn(){this.#fn(),this.#pn(),this.#Se=setInterval(()=>{this.#ye=!this.#ye,this.#Kn()},500),this.#Se.unref?.()}#fn(){this.#Se&&=(clearInterval(this.#Se),void 0),this.#ye=!0}#pn(){this.#ye=!0}#mn(){this.#_n(),this.#Ce=setInterval(()=>{this.#be+=1,this.#Kn()},90),this.#Ce.unref?.()}#hn(){let e=Date.now();this.#xe=e,this.#oe={kind:`waiting`,startedAtMs:e},this.#mn()}#gn(){this.#C.working().length>0||this.#_n()}#_n(){this.#Ce&&=(clearInterval(this.#Ce),void 0)}#vn(){this.#C.working().length>0?this.#mn():!this.#ae&&this.#oe.kind===`idle`&&this.#_n()}#yn(e){e.id!==this.#Ge?.id&&this.#wr(),e.updateSeq=++this.#S,this.#h.push(e),e.id&&this.#g.set(e.id,e)}#bn(e){this.#te=!0,this.#yn({kind:`user`,body:stripTerminalControls(e),live:!1}),this.#Kn()}#xn(){let e=this.#ne.settle();if(e===void 0||e.elapsedMs<=1e4&&e.inputTokens<=2e4)return;let t=`Done in ${this.#ir(e.elapsedMs)}`,n=this.#Fe??0;if(this.#Ie!==void 0&&this.#Ie>0&&n>0){let e=Math.round(n/this.#Ie*100);t+=` ${this.#i.glyph.dot} ${e}% context`}this.#yn({kind:`turn-stats`,body:t,live:!1})}#Sn(e){if(e==null)return;this.#te=!0;let t=this.#lt;if(this.#lt=void 0,this.#Xe===e){this.#Xe=void 0;return}let n={kind:`user`,body:stripTerminalControls(e),live:!1};t!==void 0&&(n.promptOrigin=t),this.#yn(n)}#Cn(e,t,n={}){let r=stripTerminalControls(e),i=stripTerminalControls(t),a=n.detail===void 0?void 0:stripTerminalControls(n.detail),o=n.hint===void 0?void 0:stripTerminalControls(n.hint),s={source:`workflow`,summary:`${r}: ${i}`,detail:a??i};this.#f?.append(o===void 0?s:{...s,hint:o});let c={kind:`error`,title:r,body:i,live:!1};o!==void 0&&(c.hint=o),a!==void 0&&(c.detail=this.#f===void 0?a:`details: ${this.#f.displayPath}`),this.#yn(c),this.#Kn()}#wn(e){if(e.id&&this.#v.has(e.id))return;let t=e.id?this.#g.get(e.id):void 0;if(t){Object.assign(t,e),t.updateSeq=++this.#S;return}this.#yn(e)}#Tn(e){this.#h=this.#h.filter(t=>t.id!==e),this.#g.delete(e)}#En(){for(let e of this.#h)e.status===`approval`||e.status===`running`||e.kind===`connection-auth`&&e.live||e===this.#_||(e.live=!1)}#Dn(e,t,n){let r=turnActivityLabel(n,this.#C.working());switch(updateTurnActivity(n,e),e.type){case`turn-start`:e.turnId!==this.#rt&&(this.#rt=e.turnId,this.#nt=void 0,this.#Kn());break;case`step-start`:this.#nt=typeof e.modelId==`string`&&stripTerminalControls(e.modelId.slice(0,256)).replace(/\s+/gu,` `).trim()||void 0,this.#Kn();break;case`step-finish`:this.#f?.recordStepUsage(e.usage),e.usage!==void 0&&this.#ne.addUsage(e.usage),this.#Hn(n),this.#Gn(e.usage),this.#Kn();break;case`assistant-delta`:{let t=(n.text.get(e.id)??``)+stripTerminalControls(e.delta);n.text.set(e.id,t),this.#On(e.id,t,!0);break}case`assistant-complete`:{let t=n.text.get(e.id)??``,r=typeof e.text==`string`?stripTerminalControls(e.text):t;n.text.set(e.id,r),this.#On(e.id,r,!1);break}case`reasoning-delta`:{if(t.reasoning===`hidden`)break;let r=(n.reasoning.get(e.id)??``)+stripTerminalControls(e.delta);if(n.reasoning.set(e.id,r),t.reasoning===`full`){this.#kn(e.id,r,!0,t);break}break}case`reasoning-complete`:{if(t.reasoning===`hidden`)break;let r=n.reasoning.get(e.id)??``;if(t.reasoning===`full`){this.#kn(e.id,r,!1,t);break}break}case`tool-call-preparing`:if(t.tools===`hidden`||isPanelRoutedTool(e.toolName))break;this.#An({input:void 0,preparing:!0,status:`running`,toolCallId:e.toolCallId,toolName:e.toolName},t,n);break;case`tool-call`:if(this.#f?.recordToolCall(e.toolName),t.tools===`hidden`){n.tools.set(e.toolCallId,{input:e.input,label:e.label,status:`running`,toolCallId:e.toolCallId,toolName:e.toolName});break}this.#An({input:e.input,status:`running`,toolCallId:e.toolCallId,toolName:e.toolName,label:e.label},t,n);break;case`tool-approval-request`:{if(t.tools===`hidden`)break;let r=n.tools.get(e.toolCallId);if(r===void 0)break;this.#An({...r,status:`approval`},t,n);break}case`tool-result`:{if(t.tools===`hidden`)break;let r=this.#Wn(e.toolCallId,n);if(r===void 0)break;this.#An({...r,output:e.output,status:`done`,completeLabel:e.label},t,n);break}case`tool-error`:{let r=this.#Wn(e.toolCallId,n);if(this.#f?.append({source:`tool`,summary:`${r?.toolName??e.toolCallId} failed`,detail:e.errorText}),t.tools===`hidden`||r===void 0)break;this.#An({...r,errorText:e.errorText,status:`error`},t,n);break}case`tool-rejected`:{if(t.tools===`hidden`)break;let r=this.#Wn(e.toolCallId,n);if(r===void 0)break;this.#An({...r,errorText:e.reason,status:`denied`},t,n);break}case`tool-withdrawn`:{let t=n.tools.get(e.toolCallId);this.#f?.append({source:`tool`,summary:`${t?.toolName??e.toolCallId} was refused for the model to retry`,detail:e.reason}),n.tools.delete(e.toolCallId),this.#Tn(this.#x.get(e.toolCallId)??toolSectionId(e.toolCallId)),this.#x.delete(e.toolCallId),this.#Kn();break}case`task-started`:this.#jn(e,t,n);break;case`task-settled`:this.#Mn(e);break;case`error`:this.#Cn(`Error`,e.errorText,{detail:e.detail,hint:e.hint});break;case`turn-cancelled`:if(n.cancelled=!0,!n.restoreCancelledPrompt)break;this.#st=!0,!this.#ut&&this.#dt!==void 0&&this.#ie.text.length===0&&(this.#ie=lineOf(this.#dt),this.renderNotice(`The turn was cancelled from outside this prompt — the message was restored to the input.`));break;case`finish`:this.#Gn(e.usage),this.#Kn()}n===this.#re&&turnActivityLabel(n,this.#C.working())!==r&&this.#Kn()}#On(e,t,n){let r=stripTerminalControls(t).trim();r.length!==0&&(this.#wn({id:e,kind:`assistant`,body:r,live:n}),this.#Kn())}#kn(e,t,n,r){let i=stripTerminalControls(t).trim();i.length!==0&&(this.#wn({id:e,kind:`reasoning`,body:i,collapsed:collapseReasoning(r.reasoning,n),live:n}),this.#Kn())}#An(e,t,n){if(n.tools.set(e.toolCallId,e),this.#b.has(e.toolCallId)||isPanelRoutedTool(e.toolName))return;let r=toolSectionId(e.toolCallId);this.#x.set(e.toolCallId,r);let i=this.#zn(e);this.#wn(renderNativeToolBlock(e,r,t.tools===`full`,i)),this.#Un(n),this.#Kn()}#jn(e,t,n){let{kind:r,toolCallId:i,toolName:a}=e,o=this.#x.get(i)??toolSectionId(i),s=n.tools.get(i);if(n.tools.delete(i),this.#x.delete(i),!(r===`agent`?this.#c!==`hidden`:t.tools!==`hidden`)||this.#T.has(i)){this.#Tn(o),this.#Un(n),this.#Kn();return}this.#T.add(i);let c=s?.input,l=s?.label,u=agentDisplayName(stripTerminalControls(a)),d=agentTaskSummary(c);if(r===`tool`){let e=presentTool(a,c,this.#zn({input:c,toolCallId:i,toolName:a,label:l}));u=stripTerminalControls(e.title),d=stripTerminalControls(e.subtitle)}let f=this.#C.start({callId:i,kind:r,baseName:u,toolName:a,input:c,label:l,nowMs:Date.now()});this.#Ln(o,{id:taskLineId(i,`start`),kind:`task`,taskKind:r,title:f.name,subtitle:d,live:!1}),this.#Un(n),this.#vn(),this.#Kn()}#Mn(e){let{toolCallId:t}=e,n=this.#C.get(t);if(n===void 0||this.#O.has(t))return;let r=Date.now();if(n.kind!==`agent`||!this.#E.has(t)||this.#D.has(t)){this.#Fn(e,r);return}n.finishing=!0;let i=setTimeout(()=>this.#Nn(t),TASK_END_GRACE_MS);i.unref?.(),this.#O.set(t,{event:e,endedAtMs:r,timer:i}),this.#Kn()}#Nn(e){let t=this.#O.get(e);t!==void 0&&(clearTimeout(t.timer),this.#O.delete(e),this.#Fn(t.event,t.endedAtMs))}#Pn(){for(let e of this.#O.keys())this.#Nn(e)}#Fn(e,t){let n=this.#C.finish(e.toolCallId);if(n===void 0)return;let r=` ${this.#i.glyph.dot} `,i=`finished in ${formatTurnDuration(t-n.startedAtMs)}`,a={id:taskLineId(e.toolCallId,`end`),kind:`task`,taskKind:n.kind,title:n.name,live:!1};switch(e.status){case`completed`:{let t=n.kind===`agent`?summarizeChildTools([...n.childTools.values()]):presentTool(n.toolName,n.input,this.#zn({input:n.input,toolCallId:e.toolCallId,toolName:n.toolName,label:n.label})).summarizeResult(e.output);a.status=`done`,a.body=t===void 0||t.length===0?i:`${i}${r}${t}`;break}case`failed`:{let t=firstLine(stripTerminalControls(e.errorText??``));a.status=`error`,a.body=t===void 0?`failed`:`failed${r}${t}`;break}case`cancelled`:a.status=`denied`,a.body=`stopped`}this.#yn(a),this.#vn(),this.#Kn()}#In(){this.#Pn();let e=Date.now();for(let t of this.#C.working())this.#Fn({type:`task-settled`,toolCallId:t.callId,status:`cancelled`},e)}#Ln(e,t){let n=this.#h.findIndex(t=>t.id===e);if(n===-1){this.#yn(t);return}this.#g.delete(e),t.updateSeq=++this.#S,this.#h[n]=t,t.id!==void 0&&this.#g.set(t.id,t)}#Rn(e){let t=this.#C.working();return t.length===0?[]:renderTaskPanelRows(t,{width:e,theme:this.#i,nowMs:Date.now(),pulse:this.#er(this.#xe,this.#i.unicode?PROGRESS_PULSE_GLYPH:PROGRESS_PULSE_ASCII_GLYPH)})}#zn(e){e.output!==void 0&&this.#k.observeRead(e.output);let t={};(e.agentTask===!0||this.#Bn(e.toolName))&&(t.isSubagent=!0),e.label!==void 0&&(t.label=e.label),e.completeLabel!==void 0&&(t.completeLabel=e.completeLabel);let n=readWriteFileInput(e.toolName,e.input);if(n===void 0)return Object.keys(t).length>0?t:void 0;let r=this.#k.observeWrite({path:n.path,content:n.content,callId:e.toolCallId});r!==void 0&&(t.previousContent=r);let i=writeExistedFlag(e.output);return i!==void 0&&(t.existed=i),t}#Bn(e){let t=this.#A?.info?.subagents.local;if(t===void 0||t.length===0)return!1;let n=toolBaseName(e);return t.some(e=>e.name===n)}#Vn(e){for(let t of e.tools.keys()){if(this.#b.has(t))continue;let e=this.#x.get(t)??toolSectionId(t),n=this.#g.get(e);n?.kind===`tool`&&n.status===`running`&&(n.status=`error`,n.result=`interrupted`,n.live=!1)}}#Hn(e){for(let[t,n]of e.tools){if(n.preparing!==!0)continue;e.tools.delete(t);let r=this.#x.get(t)??toolSectionId(t);this.#Tn(r),this.#x.delete(t)}}#Un(e){let t=[];for(let n of e.tools.values()){if(this.#b.has(n.toolCallId))continue;let e=this.#x.get(n.toolCallId)??toolSectionId(n.toolCallId),r=this.#g.get(e);r?.kind===`tool`&&t.push({block:r,active:isActiveToolStatus(n.status)})}applyCohortLiveness(t)}#Wn(e,t){let n=t.tools.get(e);if(n!==void 0)return n;let r=this.#x.get(e)??toolSectionId(e),i=this.#g.get(r);if(i!==void 0&&i.kind===`tool`)return{errorText:i.status===`error`&&typeof i.result==`string`?i.result:void 0,input:i.toolInput,output:i.toolOutput,status:i.status??`running`,toolCallId:e,toolName:i.toolName??i.title??`tool`}}#Gn(e){if(e===void 0)return;let{inputTokens:t,outputTokens:n}=e;if((t!=null||n!=null)&&(this.#Pe=(t??0)+(n??0)),this.#Fe=t??this.#Fe,this.#Le=n??this.#Le,this.#Le!=null&&this.#ze!==void 0){let e=(Date.now()-this.#ze)/1e3;e>0&&(this.#Re=this.#Le/e)}}#Kn(){if(this.#de){if(this.#Me){this.#Ne=!0;return}this.#Me=!0;try{do this.#Ne=!1,this.#qn();while(this.#Ne)}finally{this.#Me=!1}}}#qn(){if(!this.#de)return;if(this.#mt!==void 0){this.#mt.repaint();return}let e=this.#ur(),t=this.#nr(e),n=this.#I===void 0?[]:this.#Zn(),r=Math.max(1,this.#dr()-n.length-t.length),i=[],a=this.#B,o=groupToolBlocksForDisplay(this.#h),s=0;for(;s<o.length&&o[s].display.live===!1;)s+=1;if(s>0){let e=new Set(o.slice(0,s).flatMap(e=>e.members));for(let t=this.#h.length-1;t>=0;--t)e.has(this.#h[t])&&this.#h.splice(t,1)}for(let t of o.slice(0,s)){for(let e of t.members)this.#y.push(e),e.id&&(this.#v.add(e.id),this.#g.delete(e.id));if(this.#Er(t.display))continue;let n=this.#Qn(t.display,e,a);a=previousBlockOf(t.display),this.#B=a,i.push(...n),this.#z.push(...n)}let c=[];for(let{display:t}of o.slice(s)){if(this.#Er(t))continue;let n=this.#Qn(t,e,a);a=previousBlockOf(t);for(let e=0;e<n.length;e+=1)c.push({block:t,row:n[e]})}let l=[...n,...clipLiveRows(c.map(e=>e.row),r,e,this.#i),...t];i.length>0?this.#n.flush(i,l):this.#n.update(l)}#Jn(){if(!this.#de)return;let e=this.#ur(),t=this.#nr(e),n=Math.max(1,this.#dr()-t.length),r=this.#B,i=[];for(let{display:t}of groupToolBlocksForDisplay(this.#h)){if(this.#Er(t))continue;let n=this.#Qn(t,e,r);r=previousBlockOf(t),i.push(...n)}let a=[...clipLiveRows(i,n,e,this.#i),...t];this.#n.clearAll(),this.#n.flush([...this.#Zn(),...this.#z],a)}logDisplayMode(){return this.#m}setLogDisplayMode(e){e!==this.#m&&(this.#m=e,e===`all`&&this.flushDelayedDevBuildErrors(),this.#Xn(),this.#de&&this.#Jn())}flushDelayedDevBuildErrors(){let e=this.#We;e!==void 0&&(this.#We=void 0,this.#yn({kind:`log`,title:`stderr`,body:e,live:!0}),this.#Kn())}#Yn(){this.#Te=!0,this.#we!==void 0&&clearTimeout(this.#we),this.#we=setTimeout(()=>{this.#Te=!1,this.#we=void 0,this.#Kn()},5e3),this.setLogDisplayMode(nextLogDisplayMode(this.#m)),this.#Kn()}#Xn(){let e=this.#ur();this.#z.length=0;let t;for(let{display:n}of groupToolBlocksForDisplay(this.#y,{logCoalescing:`runs`})){if(this.#Er(n))continue;let r=this.#Qn(n,e,t);t=previousBlockOf(n),this.#z.push(...r)}this.#B=t}#Zn(){let e=this.#A,t=this.#I;if(e===void 0&&t===void 0)return[];let n={name:e?.name??t?.name,theme:this.#i,width:this.#ur()};return e?.info!==void 0&&(n.info=e.info),buildAgentHeader(n)}#Qn(e,t,n){let r={renderMarkdown:this.#a,activityPulse:this.#er(this.#xe,this.#i.unicode?PROGRESS_PULSE_GLYPH:PROGRESS_PULSE_ASCII_GLYPH)};n!==void 0&&(r.previous=n),this.#et!==void 0&&(r.setupFlowOpen=!0),this.#Qe!==void 0&&(r.transientPanelOpen=!0);let i=renderBlockLines(e,t,this.#i,r);return(e.depth??0)===0&&leadsWithGap(e,n)?[``,...i]:i}#$n(){return this.#i.spinner[this.#be%this.#i.spinner.length]??``}#er(e,t){return isProgressPulseVisible(Date.now()-e)?t:` `}#tr(e){return{glyph:this.#er(e.startedAtMs,this.#i.unicode?PROGRESS_PULSE_GLYPH:PROGRESS_PULSE_ASCII_GLYPH)}}#nr(e){let t=this.#i.colors,n=[``];if(this.#Qe!==void 0){let t=this.#Qe(e);return[...t.rows,...t.controls]}if(this.#Ze!==void 0){let t=this.#Ze(e);return[...n,...t.rows,...t.controls]}let r=this.#et;if(r!==void 0&&(this.#N===void 0||r.question!==void 0)){let t=this.#tr(r),i;if(r.status!==void 0){let{startedAtMs:e,...n}=r.status,a=Date.now()-e,o=a>=5e3?` ${formatTurnDuration(a)}`:``;i={...n,text:`${n.text}${o}`,indicator:t}}let a;if(r.question!==void 0){let t=r.question(e);a={kind:`question`,title:r.questionTitle,rows:t},i!==void 0&&(a={kind:`question`,title:r.questionTitle,rows:t,status:i})}else i===void 0?a=r.preview===void 0?{kind:`idle`,indicator:t}:{kind:`preview`,text:r.preview,indicator:t}:(a={kind:`status`,status:i},r.preview!==void 0&&(a={kind:`status`,status:i,preview:r.preview}));let o={title:r.title,navigation:r.navigation,lines:r.summary===void 0?r.hideLinesWhileQuestion===!0?[]:r.lines:[{text:r.summary.headline,tone:`success`},...r.summary.facts.map(e=>({text:`${e.label}: ${e.value}`,tone:`info`}))],content:a},s=renderFlowDrawer(o,this.#i,e);return n.length===1&&n[0]===``&&(n.length=0),n.push(...s.rows),s.controls.length>0&&n.push(...s.controls),this.#cr(n,e),n}r!==void 0&&n.push(...flowMessageRows(r.lines,this.#i).map(t=>t.length===0?``:clip(` ${t}`,e))),this.#M===void 0&&this.#tt!==void 0&&n.push(...renderAttentionRows(this.#tt,e,this.#i),``);let i=this.#Rn(e);i.length>0&&(n.push(...i),this.#J&&n.push(``));let a=renderMessageQueueRows({view:this.#it.view(),width:e,theme:this.#i,working:this.#ae});if(a.length>0&&n.push(...a,``),this.#J){let r=this.#Y===void 0?void 0:inlineCommandHint(this.#Y),i=this.#_t(e);this.#ge&&n.push(clip(t.dim(`Press Ctrl+C again to exit`),e),``);let a=r?t.dim(` ${r}`):``,o=[];this.#sr(o,e);let s=Math.max(1,this.#dr()-1-n.length-1-i.length-o.length-(i.length>0?2:0)),c={text:this.#W,cursor:this.#G,width:e,theme:this.#i,caretVisible:this.#ye,ghost:a,maxRows:s};this.#ee&&this.#W.length===0&&(c.placeholder=this.#N===void 0?this.#te?``:this.#j:`Message · Enter to queue`);let l=promptInputRows(c);return i.length>0&&l.at(-1)===``&&l.pop(),n.push(...l),i.length>0&&n.push(t.dim(this.#i.glyph.dash.repeat(e))),n.push(...i),i.length>0&&o.length>0&&n.push(t.dim(this.#i.glyph.dash.repeat(e))),n.push(...o),n}let o=this.#oe.kind===`waiting`&&this.#le===void 0;if(this.#ae||o){n.push(this.#rr(e)),this.#ar(n,e);let t=[];return this.#sr(t,e),!this.#ae&&t.length>0&&n.push(``),n.push(...t),n}if(this.#ie.text.length>0)return this.#or(n,e,{inert:!1}),this.#sr(n,e),n;let s=this.#le??(this.#ce.length>0?this.#ce:`Ready`),c=this.#lr(),l=t.dim(this.#i.glyph.dot),u=c?`${l} ${s} ${t.dim(this.#i.glyph.dot)} ${c}`:`${l} ${s}`;return n.push(clip(u,e)),this.#sr(n,e),n}#rr(e){let t=this.#i.colors,n=this.#oe,r=this.#ne.startedAtMs??this.#ze??(n.kind===`waiting`?n.startedAtMs:Date.now()),i=Math.max(0,Date.now()-r),a=i%1e3<500?this.#i.unicode?`•`:`*`:` `,o=i<1e3?`0s`:formatTurnDuration(Math.floor(i/1e3)*1e3),s=`${turnActivityLabel(this.#re,this.#C.working())} (${o})`,{inputTokens:c,outputTokens:l}=this.#ne.usage;return clip(`${a} ${s}${c>0||l>0?t.dim(` (${formatTokenFlow({inputTokens:c,outputTokens:l},this.#i.glyph)})`):``}`,e)}#ir(e){let{inputTokens:t,outputTokens:n}=this.#ne.usage,r=t===0&&n===0?``:` (${formatTokenFlow({inputTokens:t,outputTokens:n},this.#i.glyph)})`;return`${formatTurnDuration(e)}${r}`}#ar(e,t){this.#ae&&this.#or(e,t,{inert:!0})}#or(e,t,n){e.push(``);let r={text:this.#ie.text,cursor:this.#ie.cursor,width:t,theme:this.#i,caretVisible:!0,ghost:``,maxRows:4,inert:n.inert};n.inert&&this.#ie.text.length===0&&(r.placeholder=``),e.push(...promptInputRows(r))}#sr(e,t){if(this.#M!==void 0){let n=this.#et?.status?.text??{starting:`Starting agent…`,connecting:`Reading saved connection…`,updating:`Loading selected model…`}[this.#M],r=this.#er(this.#F,this.#i.unicode?PROGRESS_PULSE_GLYPH:PROGRESS_PULSE_ASCII_GLYPH);e.push(clip(this.#i.colors.dim(`${r} ${n}`),t));return}let n=this.#U===void 0?``:` `,r=Math.max(1,t-n.length),i={theme:this.#i,width:r};this.#qe&&this.#Ke!==void 0&&(i.devBuild=this.#Ke),this.#Te&&(i.logLevel=this.#m);let a=this.#A?.info?.agent.model;a?.routing.kind===`dynamic`?(i.dynamicModel=!0,this.#nt!==void 0&&(i.model=this.#nt)):a?.id!==void 0&&(i.model=a.id),a?.reasoning!==void 0&&a.reasoning!==`provider-default`&&(i.reasoning=a.reasoning),readGatewayServiceTier(a?.providerOptions).kind===`priority`&&(i.fastMode=!0);let o=a?.endpoint;o!==void 0&&(i.endpoint=o),this.#H!==void 0&&(i.vercel=this.#H),this.#U!==void 0&&(i.remote=this.#U);let s=buildStatusLine(i);s!==void 0&&e.push(clip(`${n}${s}`,t))}#cr(e,t){if(this.#U===void 0)return;let n=Math.max(1,t-2),r=buildStatusLine({remote:this.#U,theme:this.#i,width:n});r!==void 0&&e.push(``,clip(` ${r}`,t))}#lr(){let e=this.#i.colors,t=[],n=formatAssistantResponseStats({totalTokens:this.#Pe,outputTokens:this.#Le,tokensPerSecond:this.#Re},this.#u);return n&&t.push(n),t.length>0?e.dim(t.join(` ${this.#i.glyph.dot} `)):``}#ur(){return Math.max(20,this.#t.columns||80)}#dr(){return Math.max(8,this.#t.rows||24)}#fr(){if(this.#Be!==void 0||!this.#d)return;this.#Ve=``,this.#He=``,this.#Ue=!1;let capture=(e,t)=>{let n=e.write.bind(e);return e.write=((e,n,r)=>{let i=typeof n==`string`?n:void 0,a=typeof n==`function`?n:r;return this.#hr(t,chunkToString(e,i)),a?.(),!0}),()=>{e.write=n}},e=capture(process.stdout,`stdout`),t=capture(process.stderr,`stderr`);this.#f?.subscribeLogRecords(e=>this.#mr(e)),this.#Be=()=>{this.#f?.unsubscribeLogRecords(),e(),t()}}#pr(){let e=this.#Be;e!==void 0&&(this.#Be=void 0,e(),this.#Ve.length>0&&(this.#f?.append({source:`stdout`,detail:this.#Ve}),this.#Tr(`stdout`)&&process.stdout.write(`${this.#Ve}\n`),this.#Ve=``),this.#He.length>0&&(this.#f?.append({source:`stderr`,detail:this.#He}),this.#Tr(`stderr`)&&process.stderr.write(`${this.#He}\n`),this.#He=``))}#mr(e){let t=e.fields===void 0?``:` ${JSON.stringify(e.fields)}`;this.#vr(`[eve:${e.namespace}] ${e.message}${t}`),this.#Kn()}#hr(e,t){let n=(e===`stdout`?this.#Ve:this.#He)+t;if(e===`stdout`&&parseDevRebuildLogLine(n.trimEnd())!==void 0){this.#Ve=``,this.#f?.append({source:e,detail:n.trimEnd()}),this.#gr(n.trimEnd()),this.#Kn();return}let r=n.lastIndexOf(`
|
|
7
|
+
`),i=r===-1?n:n.slice(r+1);if(e===`stdout`?this.#Ve=i:this.#He=i,r===-1)return;let a=stripAnsi(n.slice(0,r)).replace(/\s+$/u,``);a.trim().length!==0&&(this.#f?.append({source:e,detail:a}),e===`stdout`?this.#gr(a):this.#_r(a),this.#Kn())}#gr(e){let t=[],flushPending=()=>{if(t.length===0)return;let e=t.join(`
|
|
8
|
+
`);t=[],e.trim().length!==0&&this.#yn({kind:`log`,title:`stdout`,body:e,live:!0})};for(let n of e.split(`
|
|
9
|
+
`)){let e=parseSandboxLogLine(n.trimEnd());if(e!==void 0){flushPending(),this.#yn({kind:`sandbox`,body:e,live:!1});continue}let r=parseDevRebuildLogLine(n.trimEnd());if(r===void 0){t.push(n);continue}flushPending(),this.#br(r,n.trimEnd())}flushPending()}#_r(e){let t=splitWorkflowLogs(e,this.#Ue);this.#Ue=t.at(-1)?.workflow??this.#Ue;for(let e of t)if(e.text.trim().length!==0){if(!e.workflow){this.#vr(e.text);continue}this.#yn({kind:`log`,title:`stderr`,body:e.text,logVisibility:`all-only`,live:!0})}}#vr(e){let t=e.split(`
|
|
10
|
+
`),n=t.findIndex(e=>parseDevRebuildLogLine(e.trimEnd())?.kind===`failed`);if(n===-1){if(this.#f===void 0){this.#yn({kind:`log`,title:`stderr`,body:e,live:!0});return}let t=presentDiagnostic(e,this.#f.displayPath);if(t.kind===`inline`){this.#yn({kind:`log`,title:`stderr`,body:t.text,live:!0});return}this.#yn({kind:`log`,title:`stderr`,body:formatStoredDiagnostic(t),logVisibility:`stderr-only`,live:!0}),this.#yn({kind:`log`,title:`stderr`,body:e,logVisibility:`all-only`,live:!0});return}let r=t.slice(0,n).join(`
|
|
11
|
+
`);r.trim().length>0&&this.#yn({kind:`log`,title:`stderr`,body:r,live:!0});let i=t.slice(n).join(`
|
|
12
|
+
`);this.#yr(i)}#yr(e){if(this.#Sr(),this.#m===`all`){if(e.trim().length===0)return;this.#yn({kind:`log`,title:`stderr`,body:e,live:!0});return}this.#We=e}#br(e,t){let n=this.#Cr();if(e.kind===`failed`){this.#yr(t);return}if(e.kind===`rebuilding`){let t=summarizeChangedFiles(e.events,e.more);if(this.#xr({phase:`building`,summary:t}),n!==void 0){n.state.summary=t,n.block.body=formatDevRebuildStatus(t,`rebuilding`);return}let r=`dev-rebuild:${this.#Ye}`;this.#Ye+=1,this.#Ge={id:r,summary:t},this.#yn({kind:`log`,id:r,title:`stdout`,body:formatDevRebuildStatus(t,`rebuilding`),live:!0});return}let r=n?.state.summary??this.#Ke?.summary;if(r!==void 0&&this.#xr({phase:`complete`,summary:r}),n!==void 0){n.block.body=formatDevRebuildStatus(n.state.summary,e.kind),e.kind===`rebuilt`&&(this.#We=void 0);return}e.kind===`rebuilt`&&(this.#We=void 0),this.#yn({kind:`log`,title:`stdout`,body:t,live:!0})}#xr(e){this.#Je!==void 0&&clearTimeout(this.#Je),this.#Ke=e,this.#qe=e.phase===`complete`,this.#Je=setTimeout(()=>{e.phase===`building`?(this.#qe=!0,this.#Je=void 0):this.#Sr(),this.#Kn()},e.phase===`building`?250:4e3)}#Sr(){this.#Je!==void 0&&clearTimeout(this.#Je),this.#Ke=void 0,this.#qe=!1,this.#Je=void 0}#Cr(){let e=this.#Ge;if(e===void 0)return;let t=this.#g.get(e.id);if(t!==void 0&&t.live===!0)return{state:e,block:t}}#wr(){let e=this.#Ge;if(e===void 0)return;this.#Ge=void 0;let t=this.#g.get(e.id);t!==void 0&&(t.live=!1)}#Tr(e){switch(this.#m){case`none`:return!1;case`stderr`:return e===`stderr`;case`sandbox`:return e===`sandbox`;case`all`:return!0}}#Er(e){return e.kind===`sandbox`?!this.#Tr(`sandbox`):e.kind===`log`?e.logVisibility===`stderr-only`?this.#m!==`stderr`:e.logVisibility===`all-only`?this.#m!==`all`:!this.#Tr(e.title===`stderr`?`stderr`:`stdout`):!1}};function chunkToString(e,t){return typeof e==`string`?e:Buffer.from(e).toString(t)}async function*iterateTUIStream(e){if(e instanceof ReadableStream){let t=e.getReader();try{for(;;){let{done:e,value:n}=await t.read();if(e)return;yield n}}finally{t.releaseLock()}return}yield*e}function clip(e,t){return clipVisible(e,t)}function promptInputRows({text:e,cursor:t,width:n,theme:r,caretVisible:i,ghost:a,maxRows:o,placeholder:s,inert:c}){let l=r.colors;if(e.length===0&&s!==void 0){let e=renderInputWithBlockCursor({...visibleLine({text:s,cursor:0},Math.max(1,n-3),r.glyph.ellipsis),visible:i,inverse:l.inverse,render:e=>l.dim(renderInputText(e))});return[clip(`${r.glyph.prompt} ${e}`,n),``]}let u=renderInputText,d=layoutPromptInput({text:e,cursor:t}),f=Math.min(Math.max(1,o),d.rows.length),p=Math.max(0,Math.min(d.caretRow-f+1,d.rows.length-f)),m=c===!0?l.dim(r.glyph.prompt):e.startsWith(`/`)?r.glyph.user:r.glyph.prompt,h=l.dim(r.glyph.ellipsis),g=Math.max(1,n-3),_=[];for(let e=p;e<p+f;e+=1){let t=d.rows[e],o=e===0?m:` `;(e===p&&p>0||e===p+f-1&&p+f<d.rows.length)&&(o=h);let s;if(e===d.caretRow){let{before:e,under:n,after:o}=visibleLine({text:t.text,cursor:d.caretOffset},g,r.glyph.ellipsis);s=renderInputWithBlockCursor({before:e,under:n,after:o,visible:i,inverse:l.inverse,render:u}),a.length>0&&d.rows.length===1&&(s+=a)}else s=u(t.text);_.push(clip(`${o} ${s}`,n))}return _.push(``),_}function previousBlockOf(e){let t={kind:e.kind};return e.title!==void 0&&(t.title=e.title),e.subagentCallId!==void 0&&(t.subagentCallId=e.subagentCallId),t}function isActiveToolStatus(e){return e===`running`||e===`approval`}function applyCohortLiveness(e){let t=e.some(e=>e.active);for(let n of e)n.block.live=t||n.active}function leadsWithGap(e,t){if((e.kind===`tool`||e.kind===`task`)&&(t?.kind===`user`||t?.kind===`assistant`||t?.kind===`question`))return!0;if(e.kind===`sandbox`&&t?.kind===`sandbox`)return!1;if(t?.kind===`sandbox`&&e.kind!==`sandbox`||t?.kind===`log`)return!0;switch(e.kind){case`user`:case`assistant`:case`reasoning`:case`error`:case`notice`:case`question`:case`connection-auth`:case`sandbox`:case`log`:case`command`:case`warning`:case`flow`:case`turn-stats`:case`session-boundary`:case`agent-header`:return!0;default:return!1}}function parseSandboxLogLine(e){let t=e.trim();if(!t.startsWith(`eve: `))return;let n=t.slice(5);return/\bsandbox\b/i.test(n)&&!isLowValueSandboxLogLine(n)?n:void 0}function isLowValueSandboxLogLine(e){return/^initializing (?:\d+ )?sandbox templates?\b/i.test(e)||/^initialized \d+ sandbox\b/i.test(e)||/^reused cached sandbox template\b/i.test(e)||/^sandbox template "[^"]+" \([^)]+\): (checking|reusing|loading microsandbox runtime|microsandbox runtime ready)\b/i.test(e)}function clipLiveRows(e,t,n,r){if(e.length<=t)return[...e];if(t<=1)return[clip(hiddenRowsMarker(e.length,r),n)];let i=t-1;return[clip(hiddenRowsMarker(e.length-i,r),n),...e.slice(e.length-i)]}function hiddenRowsMarker(e,t){let n=e.toLocaleString(),r=e===1?`row`:`rows`;return t.colors.dim(`${t.glyph.dot} ${t.glyph.ellipsis} ${n} earlier ${r} hidden while streaming`)}function collapseReasoning(e,t){switch(e){case`collapsed`:return!0;case`auto-collapsed`:return!t;default:return!1}}function renderNativeToolBlock(e,t,n,r){let i=e.preparing===!0?presentPreparingTool(e.toolName,r):presentTool(e.toolName,e.input,r),a={id:t,kind:`tool`,title:stripTerminalControls(i.title),subtitle:stripTerminalControls(i.subtitle),status:e.status,live:e.status===`running`||e.status===`approval`,expanded:n,toolInput:e.input,toolName:e.toolName,toolGroup:i.group};return i.doneTitle!==void 0&&(a.doneTitle=stripTerminalControls(i.doneTitle)),i.detail!==void 0&&(a.detailLines=i.detail,a.keepDetailWhenDone=i.keepDetailWhenDone===!0),e.output===void 0?e.errorText!==void 0&&(a.result=stripTerminalControls(e.errorText)):(a.result=i.summarizeResult(e.output),a.toolOutput=e.output),a}function writeExistedFlag(e){if(typeof e!=`object`||!e||Array.isArray(e))return;let t=e.existed;return typeof t==`boolean`?t:void 0}function subagentToolStatus(e){switch(e){case`preparing`:return`running`;case`approval-requested`:return`approval`;case`executing`:return`running`;case`done`:return`done`;case`failed`:return`error`;case`rejected`:return`denied`}}function formatToolApprovalTitle(e){return stripTerminalControls(e.title??e.toolName)}function toolSectionId(e){return`tool:${e}`}function questionSectionId(e){return`question:${e}`}const TASK_END_GRACE_MS=2e3;function taskLineId(e,t){return`task:${e}:${t}`}function subagentStepRowId(e,t){return`subagent:${e}:step:${t}`}function subagentToolRowId(e,t){return`subagent:${e}:tool:${t}`}function agentTaskSummary(e){if(typeof e!=`object`||!e)return``;let t=Reflect.get(e,`message`);return typeof t==`string`?firstLine(stripTerminalControls(t))??``:``}function firstLine(e){return e.split(/\r?\n/u).find(e=>e.trim().length>0)?.trim()}function connectionAuthSectionId(e){return`connection-auth:${e}`}function connectionAuthTerminalMessage(e){switch(e){case`authorized`:return`Authorization complete`;case`declined`:return`Authorization declined`;case`failed`:return`Authorization failed`;case`timed-out`:return`Authorization timed out`;case`required`:case`pending`:return}}function formatConnectionAuthContent(e,t){let n=[];if(t!==void 0)n.push(t);else{let t=stripTerminalControls(e.description);t.length>0&&n.push(t);let r=e.challenge;r?.url&&n.push(`URL: ${stripTerminalControls(r.url)}`),r?.userCode&&n.push(`Code: ${stripTerminalControls(r.userCode)}`),r?.expiresAt&&n.push(`Expires: ${stripTerminalControls(r.expiresAt)}`),r?.instructions&&n.push(stripTerminalControls(r.instructions))}if(e.reason!==void 0){let t=stripTerminalControls(e.reason);t.length>0&&n.push(`Reason: ${t}`)}return n.join(`
|
|
13
13
|
`)}function resolveQuestionText(e,t){let n=e.trim();if(n.length===0)return;let r=n.toLowerCase(),i=t.options??[];if(i.length>0){let e=matchQuestionOption(r,i);if(e!==void 0)return{optionId:e.id,label:e.label}}if(t.allowFreeform===!0||i.length===0)return{text:n,label:n}}function matchQuestionOption(e,t){let n=t.find(t=>t.id.toLowerCase()===e);if(n!==void 0)return n;let r=t.find(t=>t.label.toLowerCase()===e);if(r!==void 0)return r;let i=Number(e);if(Number.isInteger(i)&&i>0&&i<=t.length)return t[i-1]}export{TerminalRenderer};
|
|
@@ -92,7 +92,7 @@ export interface ThemeGlyphs {
|
|
|
92
92
|
arrowUp: string;
|
|
93
93
|
/** `↓` — output (response) tokens in the token-flow segment. */
|
|
94
94
|
arrowDown: string;
|
|
95
|
-
/**
|
|
95
|
+
/** `⚡︎` — intrinsic speed or Fast mode (Gateway priority tier) marker. */
|
|
96
96
|
fast: string;
|
|
97
97
|
/** `↵` — the Enter affordance inside a selection badge. */
|
|
98
98
|
enter: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function ansi(e,t,n){if(!n)return e=>e;let r=`[${e}m`,i=`[${t}m`;return e=>`${r}${e}${i}`}function ansi256(e,t){if(!t)return e=>e;let n=`[38;5;${e}m`;return e=>`${n}${e}[39m`}const UNICODE_GLYPHS={brand:`▲`,user:`│`,reasoning:`○`,square:`▪`,corner:`└`,cornerOpen:`┌`,external:`⌝`,dotActive:`⏺`,success:`✓`,error:`⨯`,warning:`⚠`,subagent:`※`,rule:`│`,question:`?`,connection:`●`,arrow:`→`,pointer:`›`,selectedPointer:`›`,option:` `,prompt:`❯`,elbow:`⎿`,hrule:`▔`,dash:`─`,caret:`▏`,dot:`·`,ellipsis:`…`,arrowUp:`↑`,arrowDown:`↓`,fast
|
|
1
|
+
function ansi(e,t,n){if(!n)return e=>e;let r=`[${e}m`,i=`[${t}m`;return e=>`${r}${e}${i}`}function ansi256(e,t){if(!t)return e=>e;let n=`[38;5;${e}m`;return e=>`${n}${e}[39m`}const UNICODE_GLYPHS={brand:`▲`,user:`│`,reasoning:`○`,square:`▪`,corner:`└`,cornerOpen:`┌`,external:`⌝`,dotActive:`⏺`,success:`✓`,error:`⨯`,warning:`⚠`,subagent:`※`,rule:`│`,question:`?`,connection:`●`,arrow:`→`,pointer:`›`,selectedPointer:`›`,option:` `,prompt:`❯`,elbow:`⎿`,hrule:`▔`,dash:`─`,caret:`▏`,dot:`·`,ellipsis:`…`,arrowUp:`↑`,arrowDown:`↓`,fast:`⚡︎`,enter:`↵`,validating:`▪`},ASCII_GLYPHS={brand:`>`,user:`|`,reasoning:`o`,square:`*`,corner:"`",cornerOpen:`,`,external:`^`,dotActive:`*`,success:`+`,error:`x`,warning:`!`,subagent:`*`,rule:`|`,question:`?`,connection:`*`,arrow:`->`,pointer:`>`,selectedPointer:`>`,option:`.`,prompt:`>`,elbow:"`-",hrule:`=`,dash:`-`,caret:`_`,dot:`-`,ellipsis:`...`,arrowUp:`^`,arrowDown:`v`,fast:`>>`,enter:`<-'`,validating:`o`},UNICODE_SPINNER=[`⠋`,`⠙`,`⠹`,`⠸`,`⠼`,`⠴`,`⠦`,`⠧`,`⠇`,`⠏`],ASCII_SPINNER=[`-`,`\\`,`|`,`/`];function createTheme(e={}){let t=e.color??!0,n=e.unicode??!0;return{color:t,unicode:n,colors:{reset:ansi(0,0,t),bold:ansi(1,22,t),dim:ansi(2,22,t),inverse:ansi(7,27,t),italic:ansi(3,23,t),white:ansi(97,39,t),gray:ansi(90,39,t),cyan:ansi(36,39,t),green:ansi(32,39,t),red:ansi(31,39,t),yellow:ansi(33,39,t),magenta:ansi(35,39,t),blue:ansi(34,39,t),orange:ansi256(208,t)},glyph:n?UNICODE_GLYPHS:ASCII_GLYPHS,spinner:n?UNICODE_SPINNER:ASCII_SPINNER}}function detectUnicode(e=process.env){let t=e.EVE_TUI_UNICODE;return t===`0`||t===`false`?!1:t===`1`||t===`true`?!0:e.TERM===`dumb`?!1:process.platform!==`win32`||!!(e.WT_SESSION||e.TERM_PROGRAM===`vscode`)}export{createTheme,detectUnicode};
|
|
@@ -8,11 +8,8 @@ interface ToolBlockDisplayGroup {
|
|
|
8
8
|
*
|
|
9
9
|
* A contiguous run of equivalent tool calls is partitioned by status, so a
|
|
10
10
|
* batch with interleaved outcomes renders as one succeeded aggregate and one
|
|
11
|
-
* failed aggregate instead of fragmenting on every status flip.
|
|
12
|
-
*
|
|
13
|
-
* counted header, reorders the interleaved children call by call, and elides
|
|
14
|
-
* all but the newest {@link maxVisibleSubagentRunChildren} children behind a
|
|
15
|
-
* `… +N more` row. Captured log writes coalesce per
|
|
11
|
+
* failed aggregate instead of fragmenting on every status flip. Captured log
|
|
12
|
+
* writes coalesce per
|
|
16
13
|
* {@link GroupToolBlocksOptions.logCoalescing}. Because of all this, a
|
|
17
14
|
* group's members are not always contiguous in the input: callers that
|
|
18
15
|
* consume a group must remove its members by identity, never by prefix
|
|
@@ -33,9 +30,9 @@ interface GroupToolBlocksOptions {
|
|
|
33
30
|
}
|
|
34
31
|
export declare function groupToolBlocksForDisplay(blocks: readonly Block[], options?: GroupToolBlocksOptions): ToolBlockDisplayGroup[];
|
|
35
32
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
33
|
+
* What an agent did, for the line its task ends on: counted settled work plus
|
|
34
|
+
* a failure count, so an error folds into the summary without vanishing from
|
|
35
|
+
* it. `undefined` when the agent ran no tools.
|
|
39
36
|
*/
|
|
40
|
-
export declare
|
|
37
|
+
export declare function summarizeChildTools(children: readonly Block[]): string | undefined;
|
|
41
38
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{toolBaseName}from"./tool-presentation.js";function groupToolBlocksForDisplay(e,t={}){if((t.logCoalescing??`window`)===`window`){let t=new Map;for(let n of e){if(!isGroupableLogWrite(n))continue;let e=logBucketKey(n),r=t.get(e);r===void 0?t.set(e,[n]):r.push(n)}let n=new Map;for(let e of t.values())n.set(e.at(-1),coalesceLogBucket(e));return groupBlocks(e,n)}return groupBlocks(e)}function groupBlocks(e,t){let n=[];for(let r=0;r<e.length;){let i=e[r];if(isGroupableLogWrite(i)){if(t!==void 0){let e=t.get(i);e!==void 0&&n.push(e),r+=1;continue}let a=[i];for(;r+a.length<e.length&&isGroupableLogWrite(e[r+a.length]);)a.push(e[r+a.length]);n.push(...coalesceLogWrites(a)),r+=a.length;continue}if(
|
|
1
|
+
import{toolBaseName}from"./tool-presentation.js";function groupToolBlocksForDisplay(e,t={}){if((t.logCoalescing??`window`)===`window`){let t=new Map;for(let n of e){if(!isGroupableLogWrite(n))continue;let e=logBucketKey(n),r=t.get(e);r===void 0?t.set(e,[n]):r.push(n)}let n=new Map;for(let e of t.values())n.set(e.at(-1),coalesceLogBucket(e));return groupBlocks(e,n)}return groupBlocks(e)}function groupBlocks(e,t){let n=[];for(let r=0;r<e.length;){let i=e[r];if(isGroupableLogWrite(i)){if(t!==void 0){let e=t.get(i);e!==void 0&&n.push(e),r+=1;continue}let a=[i];for(;r+a.length<e.length&&isGroupableLogWrite(e[r+a.length]);)a.push(e[r+a.length]);n.push(...coalesceLogWrites(a)),r+=a.length;continue}if(!isGroupable(i)){n.push({members:[i],display:i}),r+=1;continue}let a=[i];for(;r+a.length<e.length;){let t=e[r+a.length];if(!isGroupable(t)||!sameRun(i,t))break;a.push(t)}a.some(e=>e.status===`running`)&&a.length>1?n.push({members:a,display:aggregateLiveToolBlocks(a)}):n.push(...partitionRunByStatus(a)),r+=a.length}return n}function isGroupable(e){return(e.kind===`tool`||e.kind===`subagent-tool`)&&e.toolGroup!==void 0&&e.expanded!==!0&&(e.status===`running`||e.status===`error`||e.status===`done`&&e.result===void 0)}function sameRun(e,t){return t.kind===e.kind&&t.depth===e.depth&&t.live===e.live&&t.subagentCallId===e.subagentCallId&&t.toolName===e.toolName}function partitionRunByStatus(e){let t=new Map;for(let n of e){let e=t.get(n.status);e===void 0?t.set(n.status,[n]):e.push(n)}return[...t.values()].map(e=>({members:e,display:e.length===1?e[0]:e[0].status===`done`?collapseSettledToolBlocks(e):aggregateToolBlocks(e)}))}function isGroupableLogWrite(e){return e.kind===`log`&&e.id===void 0}function logBucketKey(e){return`${e.title??``}\u0000${e.logVisibility??``}`}function coalesceLogWrites(e){let t=new Map;for(let n of e){let e=logBucketKey(n),r=t.get(e);r===void 0?t.set(e,[n]):r.push(n)}return[...t.values()].map(coalesceLogBucket)}function coalesceLogBucket(e){if(e.length===1)return{members:e,display:e[0]};let t=e.at(-1),n={kind:`log`,live:e.some(e=>e.live!==!1),body:t.body??``,elided:e.length-1};return t.title!==void 0&&(n.title=t.title),t.logVisibility!==void 0&&(n.logVisibility=t.logVisibility),{members:e,display:n}}function aggregateToolBlocks(e){let t=e[0],n=t.toolGroup,r=e.length;return{...t,id:void 0,result:void 0,title:`${n.verb} ${r} ${r===1?n.singularNoun:n.pluralNoun}`,toolGroupItems:newestFirstItems(e)}}function aggregateLiveToolBlocks(e){return{...aggregateToolBlocks(e),status:`running`,live:!0}}function collapseSettledToolBlocks(e){let t=e[0],n=t.toolGroup,r=e.length,i=r===1?n.singularNoun:n.pluralNoun;return{...t,id:void 0,result:void 0,title:`${n.verb} ${r} ${i}`,doneTitle:`${n.pastVerb} ${r} ${i}`}}function condensedRunTitle(e){let t=new Map;for(let n of e){let e=condensedKindCopy(n),r=`${e.pastVerb} ${e.pluralNoun}`,i=t.get(r);i===void 0?t.set(r,{copy:e,count:1}):i.count+=1}let n=[...t.values()].sort((e,t)=>t.count-e.count),r=n.slice(0,3).map(({copy:e,count:t})=>`${e.pastVerb} ${t} ${t===1?e.singularNoun:e.pluralNoun}`);return n.length>3?`${r.join(`, `)}, and more`:r.join(`, `)}function summarizeChildTools(e){let t=e.filter(e=>e.kind===`subagent-tool`);if(t.length===0)return;let n=t.filter(e=>e.status===`done`),r=t.filter(e=>e.status===`error`).length,i=[];return n.length>0&&i.push(condensedRunTitle(n)),r>0&&i.push(`${r} failed`),i.length>0?i.join(`, `):void 0}function condensedKindCopy(e){let t=e.toolGroup;return t===void 0?toolBaseName(e.toolName??``)===`write_file`?{pastVerb:`Wrote`,singularNoun:`file`,pluralNoun:`files`}:{pastVerb:`Used`,singularNoun:`tool`,pluralNoun:`tools`}:{pastVerb:t.pastVerb,singularNoun:t.singularNoun,pluralNoun:t.pluralNoun}}function updateRecency(e){return e.updateSeq??0}function newestFirstItems(e){return e.map((e,t)=>({member:e,order:updateRecency(e),position:t})).sort((e,t)=>t.order-e.order||t.position-e.position).map(({member:e})=>{let t={text:e.toolGroup.item};return e.status===`error`&&e.result!==void 0?{...t,result:e.result}:t})}export{groupToolBlocksForDisplay,summarizeChildTools};
|
|
@@ -26,6 +26,10 @@ export interface ToolPresentationContext {
|
|
|
26
26
|
* `Delegate stock-price` — instead of a generic tool call.
|
|
27
27
|
*/
|
|
28
28
|
readonly isSubagent?: boolean;
|
|
29
|
+
/** The tool's own `label.start` copy, used when eve has no copy of its own for the tool. */
|
|
30
|
+
readonly label?: string;
|
|
31
|
+
/** The tool's own `label.complete` copy, shown once the call succeeds. */
|
|
32
|
+
readonly completeLabel?: string;
|
|
29
33
|
}
|
|
30
34
|
/** Copy needed to aggregate equivalent calls without merging their state. */
|
|
31
35
|
export interface ToolGroupPresentation {
|
|
@@ -49,11 +53,20 @@ export declare function readWriteFileInput(toolName: string, input: unknown): {
|
|
|
49
53
|
* calls keep the generic formatter, so presentation can never break execution.
|
|
50
54
|
*/
|
|
51
55
|
export declare function presentTool(toolName: string, input: unknown, context?: ToolPresentationContext): ToolPresentation;
|
|
56
|
+
/**
|
|
57
|
+
* The bundled self-modification subagent's compiled name: its extension
|
|
58
|
+
* namespace joined to `subagents/agent` by the compiler's `__` rule.
|
|
59
|
+
*/
|
|
60
|
+
export declare const SELF_MODIFICATION_AGENT_NAME = "self-modification__agent";
|
|
61
|
+
/** True for the bundled self-modification subagent's dispatch tool. */
|
|
62
|
+
export declare function isSelfModificationAgent(toolName: string): boolean;
|
|
63
|
+
/** The name an agent task goes by in the delegate row, task line, and task panel. */
|
|
64
|
+
export declare function agentDisplayName(toolName: string): string;
|
|
52
65
|
/**
|
|
53
66
|
* Placeholder copy for a call whose input is still streaming from the model
|
|
54
|
-
* (`action.
|
|
55
|
-
* already reads as intent (`Fetch …`); unknown tools
|
|
56
|
-
*
|
|
67
|
+
* (`action.input.appended`). Known tools lead with their activity verb so the
|
|
68
|
+
* row already reads as intent (`Fetch …`); unknown tools lead with their name.
|
|
69
|
+
* The full presentation replaces this once the input arrives.
|
|
57
70
|
*/
|
|
58
71
|
export declare function presentPreparingTool(toolName: string, context?: ToolPresentationContext): ToolPresentation;
|
|
59
72
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{summarizeToolArgs,summarizeToolResult}from"./tool-format.js";import{diffWriteDetail}from"./line-diff.js";import{stripTerminalControls}from"#cli/ui/terminal-text.js";const WRITE_FILE_VERB=`Write`,DELEGATE_VERB=`Delegate`,FINAL_OUTPUT_TITLE=`Return final output`,BUILTIN_TOOL_COPY={agent:{verb:`Delegate`,pastVerb:`Delegated`,argKey:`message`,singularNoun:`task`,pluralNoun:`tasks`},ask_question:{verb:`Ask`,pastVerb:`Asked`,argKey:`question`,singularNoun:`question`,pluralNoun:`questions`},bash:{verb:`Run`,pastVerb:`Ran`,argKey:`command`,singularNoun:`command`,pluralNoun:`commands`},connection_search:{verb:`
|
|
1
|
+
import{summarizeToolArgs,summarizeToolResult}from"./tool-format.js";import{diffWriteDetail}from"./line-diff.js";import{stripTerminalControls}from"#cli/ui/terminal-text.js";const WRITE_FILE_VERB=`Write`,DELEGATE_VERB=`Delegate`,FINAL_OUTPUT_TITLE=`Return final output`,BUILTIN_TOOL_COPY={agent:{verb:`Delegate`,pastVerb:`Delegated`,argKey:`message`,singularNoun:`task`,pluralNoun:`tasks`},ask_question:{verb:`Ask`,pastVerb:`Asked`,argKey:`question`,singularNoun:`question`,pluralNoun:`questions`},bash:{verb:`Run`,pastVerb:`Ran`,argKey:`command`,singularNoun:`command`,pluralNoun:`commands`},connection_execute:{verb:`Call`,pastVerb:`Called`,argKey:``,extractItem:e=>{let t=salientArg(e,`connection`),n=salientArg(e,`tool`);return t===void 0||n===void 0?void 0:`${t}.${n}`},singularNoun:`connection tool`,pluralNoun:`connection tools`},connection_search:{verb:`Search`,pastVerb:`Searched`,argKey:`query`,extractItem:e=>salientArg(e,`connection`),singularNoun:`tool search`,pluralNoun:`tool searches`},glob:{verb:`Glob`,pastVerb:`Globbed`,argKey:`pattern`,singularNoun:`pattern`,pluralNoun:`patterns`},grep:{verb:`Grep`,pastVerb:`Grepped`,argKey:`pattern`,singularNoun:`pattern`,pluralNoun:`patterns`},load_skill:{verb:`Load`,pastVerb:`Loaded`,argKey:`skill`,singularNoun:`skill`,pluralNoun:`skills`},read_file:{verb:`Read`,pastVerb:`Read`,argKey:`filePath`,singularNoun:`file`,pluralNoun:`files`},web_fetch:{verb:`Fetch`,pastVerb:`Fetched`,argKey:`url`,singularNoun:`URL`,pluralNoun:`URLs`},web_search:{verb:`Search`,pastVerb:`Searched`,argKey:`query`,extractItem:e=>salientArg(e,`objective`)??salientArg(e,`search_query`)??salientArg(e,`searchQuery`)??webSearchActionArg(e),singularNoun:`query`,pluralNoun:`queries`}};function presentWriteFileTool(e,t,n){let r=readWriteFileInput(e,t);if(r===void 0)return{title:e,subtitle:summarizeToolArgs(t),summarizeResult:summarizeToolResult};let i=diffWriteDetail(n?.previousContent,r.content,n?.existed).map(e=>e.kind===`gap`?e:{...e,text:stripTerminalControls(e.text)});return{title:`${WRITE_FILE_VERB} ${salientLine(r.path)??r.path}`,doneTitle:`Wrote ${salientLine(r.path)??r.path}`,subtitle:``,summarizeResult:()=>void 0,detail:i,keepDetailWhenDone:!0}}function readWriteFileInput(e,t){if(toolBaseName(e)!==`write_file`||typeof t!=`object`||!t||Array.isArray(t))return;let n=t,r=n.filePath,i=n.content;if(typeof r==`string`&&r.trim().length!==0&&typeof i==`string`)return{path:r,content:i}}function presentTool(e,t,n){let r=toolBaseName(e);if(r===`write_file`)return presentWriteFileTool(e,t,n);if(n?.isSubagent===!0){let n=agentDisplayName(e);return{title:`${DELEGATE_VERB} ${n}`,doneTitle:`Delegated ${n}`,subtitle:salientArg(t,`message`)??``,summarizeResult:()=>void 0}}if(r===`final_output`)return{title:FINAL_OUTPUT_TITLE,subtitle:``,summarizeResult:()=>void 0};let i=BUILTIN_TOOL_COPY[r];if(i!==void 0){let e=salientArg(t,i.argKey)??i.extractItem?.(t);if(e!==void 0)return{title:`${i.verb} ${e}`,doneTitle:`${i.pastVerb} ${e}`,subtitle:``,summarizeResult:()=>void 0,group:{verb:i.verb,pastVerb:i.pastVerb,singularNoun:i.singularNoun,pluralNoun:i.pluralNoun,item:e}}}if(n?.label!==void 0){let e={title:n.label,subtitle:``,summarizeResult:summarizeToolResult};return n.completeLabel===void 0?e:{...e,doneTitle:n.completeLabel}}return{title:e,subtitle:summarizeToolArgs(t),summarizeResult:summarizeToolResult}}const SELF_MODIFICATION_AGENT_NAME=`self-modification__agent`,AGENT_DISPLAY_NAMES=new Map([[`agent`,`subagent`],[SELF_MODIFICATION_AGENT_NAME,`agent editor`]]);function isSelfModificationAgent(e){return toolBaseName(e)===SELF_MODIFICATION_AGENT_NAME}function agentDisplayName(e){let t=toolBaseName(e);return AGENT_DISPLAY_NAMES.get(t)??t}function presentPreparingTool(e,t){let n=toolBaseName(e);return n===`final_output`?{title:FINAL_OUTPUT_TITLE,subtitle:``,summarizeResult:()=>void 0}:t?.isSubagent===!0?{title:`${DELEGATE_VERB} ${agentDisplayName(e)} …`,subtitle:``,summarizeResult:()=>void 0}:{title:`${(n===`write_file`?WRITE_FILE_VERB:BUILTIN_TOOL_COPY[n]?.verb)??e} …`,subtitle:``,summarizeResult:()=>void 0}}function isPanelRoutedTool(e){return toolBaseName(e)===`ask_question`}function toolBaseName(e){return e.split(/[.:/]/u).at(-1)??e}function webSearchActionArg(e){if(typeof e!=`object`||!e||Array.isArray(e))return;let t=e.action;if(typeof t!=`object`||!t||Array.isArray(t))return;let n=t,r=n.queries;if(Array.isArray(r)){let e=r.filter(e=>typeof e==`string`).map(salientLine).filter(e=>e!==void 0).join(`, `);if(e.length>0)return e}for(let e of[`query`,`url`,`pattern`]){let t=n[e];if(typeof t==`string`){let e=salientLine(t);if(e!==void 0)return e}}}function salientArg(e,t){if(typeof e!=`object`||!e||Array.isArray(e))return;let n=e[t];if(typeof n==`string`)return salientLine(n)}function salientLine(e){let t=stripTerminalControls(e).split(/\r?\n/u).find(e=>e.trim().length>0)?.trim()??``;return t.length>0?t:void 0}export{SELF_MODIFICATION_AGENT_NAME,agentDisplayName,isPanelRoutedTool,isSelfModificationAgent,presentPreparingTool,presentTool,readWriteFileInput,toolBaseName};
|
|
@@ -1 +1,3 @@
|
|
|
1
|
-
import{formatCompactTokenCount}from"../stream-format.js";import{formatPayloadContent,wrapPlainText}from"./trace-content.js";import{SURFACE_CLOSE}from"./trace-surfaces.js";import{formatElapsed}from"#cli/format-elapsed.js";import{clipVisible,stripTerminalControls,visibleLength}from"#cli/ui/terminal-text.js";import{localTraceSpanCostUsd}from"#tracing/local-trace-summary.js";import{formatCostUsd}from"#cli/commands/trace-detail.js";import{compareLocalTraceSpans,isAgentTurnSpan}from"#tracing/local-trace-reader.js";import{agentTurnIdentity}from"#tracing/agent-span-contract.js";function buildConversationItems(e){let t=new Map(e.spans.map(e=>[e.spanId,e])),n=new Map;for(let r of e.spans){if(!isAgentTurnSpan(r))continue;let e=agentTurnIdentity(r),i=turnSubagent(r,t);e!==void 0&&i!==void 0&&n.set(e,i)}let r=[],i
|
|
1
|
+
import{formatCompactTokenCount}from"../stream-format.js";import{formatPayloadContent,wrapPlainText}from"./trace-content.js";import{SURFACE_CLOSE}from"./trace-surfaces.js";import{formatElapsed}from"#cli/format-elapsed.js";import{clipVisible,stripTerminalControls,visibleLength}from"#cli/ui/terminal-text.js";import{localTraceSpanCostUsd}from"#tracing/local-trace-summary.js";import{formatCostUsd}from"#cli/commands/trace-detail.js";import{compareLocalTraceSpans,isAgentTurnSpan}from"#tracing/local-trace-reader.js";import{agentTurnIdentity}from"#tracing/agent-span-contract.js";function buildConversationItems(e){let t=new Map(e.spans.map(e=>[e.spanId,e])),n=new Map;for(let r of e.spans){if(!isAgentTurnSpan(r))continue;let e=agentTurnIdentity(r),i=turnSubagent(r,t);e!==void 0&&i!==void 0&&n.set(e,i)}let r=[],i;for(let t of[...e.spans].sort(compareLocalTraceSpans)){let e=isModelSpan(t)?systemInstructionsText(t.attributes):void 0;if(e!==void 0){i={span:t,text:e};break}}i!==void 0&&r.push({item:{kind:`system`,durationMs:0,error:!1,span:i.span,subagent:subagentFor(i.span,n,t),text:i.text},order:0n});for(let i of e.spans){let e=subagentFor(i,n,t),a=stringAttribute(i,`agent.channel.delivery.input`);if(a!==void 0){let t=deliveryText(a);if(t===void 0)continue;r.push({item:{kind:`user`,durationMs:0,error:!1,span:i,subagent:e,text:t},order:i.startTimeNs});continue}if(isModelSpan(i)){let n=stringAttribute(i,`ai.response.text`),a=stringAttribute(i,`ai.response.reasoning`),o=numberAttribute(i,`agent.usage.input_tokens`)!==void 0||numberAttribute(i,`agent.usage.output_tokens`)!==void 0,s=i.attributes[`ai.response.tool_calls`]!==void 0;if((n===void 0||n.trim().length===0)&&(a===void 0||a.trim().length===0)&&!o&&!s&&i.statusCode!==2)continue;r.push({item:{kind:`assistant`,costUsd:stepCostUsd(i,t),durationMs:spanDurationMs(i),error:i.statusCode===2,inputTokens:numberAttribute(i,`agent.usage.input_tokens`),model:stringAttribute(i,`gen_ai.request.model`),outputTokens:numberAttribute(i,`agent.usage.output_tokens`),reasoning:a,span:i,subagent:e,text:n,toolCallNames:s?parseToolCallNames(stringAttribute(i,`ai.response.tool_calls`)):void 0},order:i.startTimeNs});for(let t of parseProviderToolResults(stringAttribute(i,`ai.response.tool_results`)))r.push({item:{kind:`tool`,args:t.args,durationMs:0,error:t.error,name:stripTerminalControls(t.name),result:t.result,span:i,subagent:e},order:i.startTimeNs});continue}i.name===`agent.action`&&r.push({item:{kind:`tool`,args:stringAttribute(i,`gen_ai.tool.call.arguments`),durationMs:spanDurationMs(i),error:i.statusCode===2,name:stripTerminalControls(stringAttribute(i,`agent.action.name`)??`action`),result:unwrapJsonString(stringAttribute(i,`gen_ai.tool.call.result`)),span:i,subagent:e},order:i.startTimeNs})}return r.sort((e,t)=>e.order===t.order?0:e.order<t.order?-1:1).map(e=>e.item)}function systemInstructionsText(e){let t=e[`gen_ai.system_instructions`];if(typeof t==`string`)try{let e=JSON.parse(t);if(!Array.isArray(e))return;let n=e.flatMap(e=>typeof e!=`object`||!e||!(`type`in e)||e.type!==`text`||!(`content`in e)||typeof e.content!=`string`?[]:[e.content]).join(`
|
|
2
|
+
|
|
3
|
+
`);return n.length>0?n:void 0}catch{return}}function subagentFor(e,t,n){let r=e;for(;r!==void 0;){let e=agentTurnIdentity(r);if(e!==void 0)return t.get(e);r=r.parentSpanId===void 0?void 0:n.get(r.parentSpanId)}}function turnSubagent(e,t){let n=stringAttribute(e,`agent.subagent.name`);if(n!==void 0){let t=n??stringAttribute(e,`gen_ai.agent.name`);return{name:t===void 0?void 0:stripTerminalControls(t)}}let r=e.parentSpanId===void 0?void 0:t.get(e.parentSpanId);if(r===void 0||r.name!==`agent.action`)return;let i=stringAttribute(r,`agent.action.kind`);if(i!==`subagent-call`&&i!==`remote-agent-call`)return;let a=stringAttribute(r,`agent.turn.id`);if(a===void 0)return;let o=stringAttribute(r,`agent.action.name`);return{name:o===void 0?void 0:stripTerminalControls(o),parentCallId:stringAttribute(r,`agent.action.call_id`),parentTurnId:a}}function renderConversationItem(e,t,n,r,i,a){let{colors:o,glyph:s}=n,c=Math.max(8,t-8),l=conversationItemExpandable(e,t),u=n.color?a:void 0,d=u?.primaryText??o.white,f,p,m=[];if(e.kind===`tool`){let t=o.bold(d(e.name??`tool`));f=`${foldMarker(i,l,n)}${t}`,p=e.durationMs>0?o.dim(formatElapsed(e.durationMs)):``;let r=e.args===void 0?[]:formatPayloadContent(e.args,c),a=e.result===void 0?[]:formatPayloadContent(e.result,c),s=i?r:capLines(r,c),u=i?a:capLines(a,c);s.length>0&&m.push(``,o.dim(`Input:`),``,...s),u.length>0&&m.push(``,o.dim(`Output:`),``,...u)}else if(e.kind===`system`){f=`${foldMarker(i,l,n)}${o.bold(d(`system`))}`,p=o.dim(`~${formatCompactTokenCount(estimateTokens(e.text??``))} tokens`);let t=wrapPlainText(e.text??``,c);m.push(...i?t:capLines(t,c))}else if(e.kind===`assistant`){f=`${foldMarker(i,l,n)}${o.bold(d(`assistant`))}${e.model===void 0?``:o.dim(` · ${stripTerminalControls(e.model)}`)}`,p=assistantMetrics(e,s,o);let t=e.reasoning===void 0||e.reasoning.trim().length===0?[]:wrapPlainText(e.reasoning,c),r=e.text===void 0||e.text.trim().length===0?[]:wrapPlainText(e.text,c),a=(i?t:capLines(t,c)).map(e=>o.dim(e)),u=i?r:capLines(r,c);if(a.length>0&&(m.push(o.dim(`Thought:`),``,...a),u.length>0&&m.push(``)),m.push(...u),(e.text===void 0||e.text.trim().length===0)&&e.toolCallNames!==void 0&&e.toolCallNames.length>0){a.length>0&&m.push(``);for(let t of e.toolCallNames)m.push(o.dim(`→ ${t}`))}}else{let t=e.kind===`user`&&e.subagent!==void 0?`task`:e.kind;f=`${foldMarker(i,l,n)}${o.bold(d(t))}`,p=``;let r=e.text===void 0||e.text.trim().length===0?[]:wrapPlainText(e.text,c);m.push(...i?r:capLines(r,c))}if(e.subagent!==void 0){let t=e.subagent.name===void 0?`subagent`:`subagent:${e.subagent.name}`;f+=o.dim(` · ${t}`)}e.error&&(f+=` ${o.red(s.error)}`),!i&&l?m.push(`…`,``,o.dim(`Click to expand`)):i&&l&&m.push(``,o.dim(`Click to collapse`));let h=u===void 0?void 0:e.error?u.errorHeader:u.header,g=u===void 0?void 0:e.error?u.errorBody:u.body,_=railCell(n,r,e.error,u);return[cardRow(``,t,n,_,h),cardSplitRow(f,p,t,n,_,h),cardRow(``,t,n,_,h),cardRow(``,t,n,_,g),...m.map(e=>cardRow(e,t,n,_,g)),cardRow(``,t,n,_,g)]}function cardRow(e,t,n,r,i){let a=clipVisible(e,Math.max(1,t-8)),o=` `.repeat(Math.max(0,t-8-visibleLength(a)));return i===void 0||!n.color?` ${r} ${a}${o} `:` ${r}${i} ${a.replaceAll(`\x1B[0m`,`\x1b[0m${i}`)}\x1b[0m${i}${o} ${SURFACE_CLOSE} `}function railCell(e,t,n,r){let{colors:i,glyph:a}=e;if(t){let t=e.unicode?`▌`:a.rule;return r===void 0?i.white(t):r.primaryText(t)}return r===void 0?n?i.red(a.rule):i.dim(a.rule):` `}function cardSplitRow(e,t,n,r,i,a){if(visibleLength(t)===0)return cardRow(e,n,r,i,a);let o=Math.max(1,n-8),s=visibleLength(t),c=Math.max(1,o-s-2),l=clipVisible(e,c);return cardRow(`${l}${` `.repeat(Math.max(2,o-visibleLength(l)-s))}${t}`,n,r,i,a)}function assistantMetrics(e,t,n){let r=[];return e.durationMs>0&&r.push(formatElapsed(e.durationMs)),e.inputTokens!==void 0&&r.push(`${t.arrowUp}${formatCompactTokenCount(e.inputTokens)}`),e.outputTokens!==void 0&&r.push(`${t.arrowDown}${formatCompactTokenCount(e.outputTokens)}`),e.costUsd!==void 0&&r.push(formatCostUsd(e.costUsd)),r.length===0?``:n.dim(r.join(` · `))}function stepCostUsd(e,t){let n=e;for(;n.parentSpanId!==void 0;){if(n=t.get(n.parentSpanId),n===void 0)return;if(n.name===`agent.step`)return localTraceSpanCostUsd(n)}}function foldMarker(e,t,n){return e?`${n.colors.dim(`▾`)} `:t?`${n.colors.dim(`▸`)} `:``}function capLines(e,t){return e.length<=3?[...e]:[...e.slice(0,2),clipVisible(e[2],Math.max(1,t))]}function conversationItemLineCount(e,t,n,r){return renderConversationItem(e,t,n,!1,r).length}function conversationItemExpandable(e,t){let n=Math.max(8,t-8);if(e.kind===`tool`){let t=e.args===void 0?0:formatPayloadContent(e.args,n-2).length,r=e.result===void 0?0:formatPayloadContent(e.result,n-2).length;return t>3||r>3}if(e.kind===`system`)return wrapPlainText(e.text??``,n).length>3;if(e.kind===`user`)return(e.text===void 0||e.text.trim().length===0?0:wrapPlainText(e.text,n).length)>3;let r=e.reasoning===void 0||e.reasoning.trim().length===0?0:wrapPlainText(e.reasoning,n).length,i=e.text===void 0||e.text.trim().length===0?0:wrapPlainText(e.text,n).length;return r>3||i>3}function estimateTokens(e){return Math.ceil(e.length/4)}function deliveryText(e){if(e!==void 0)try{let t=JSON.parse(e);return isRecord(t)&&typeof t.message==`string`?t.message:void 0}catch{return e}}function unwrapJsonString(e){if(e!==void 0)try{let t=JSON.parse(e);return typeof t==`string`?t:e}catch{return e}}function isModelSpan(e){return e.name.startsWith(`ai.`)&&e.name.includes(`do`)||e.attributes[`gen_ai.operation.name`]===`chat`}function parseToolCallNames(e){if(e!==void 0)try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>isRecord(e)&&typeof e.toolName==`string`).map(e=>e.toolName):void 0}catch{return}}function parseProviderToolResults(e){if(e===void 0)return[];try{let t=JSON.parse(e);if(!Array.isArray(t))return[];let asText=e=>typeof e==`string`?e:e===void 0?void 0:JSON.stringify(e);return t.filter(isRecord).map(e=>{let t=`error`in e;return{args:asText(e.input),error:t,name:typeof e.toolName==`string`?e.toolName:`tool`,result:asText(t?e.error:e.output)}})}catch{return[]}}function stringAttribute(e,t){let n=e.attributes[t];return typeof n==`string`?n:void 0}function numberAttribute(e,t){let n=e.attributes[t];return typeof n==`number`?n:void 0}function spanDurationMs(e){return Math.max(0,Number(e.endTimeNs-e.startTimeNs)/1e6)}function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}export{buildConversationItems,conversationItemExpandable,conversationItemLineCount,renderConversationItem};
|