eve 0.67.1 → 0.67.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/src/channel/channel-address.d.ts +2 -2
- package/dist/src/channel/compiled-channel.d.ts +3 -2
- package/dist/src/channel/cross-channel-receive.d.ts +1 -18
- package/dist/src/channel/cross-channel-receive.js +1 -1
- package/dist/src/channel/forwarded-principal.d.ts +3 -2
- package/dist/src/channel/resolve-text.d.ts +2 -1
- package/dist/src/channel/schedule.d.ts +2 -2
- package/dist/src/channel/session-callback.d.ts +2 -1
- package/dist/src/channel/types.d.ts +0 -7
- package/dist/src/cli/acp/command.d.ts +2 -1
- package/dist/src/cli/agent-command.d.ts +2 -1
- package/dist/src/cli/agent-detection.d.ts +0 -1
- package/dist/src/cli/agent-detection.js +1 -1
- package/dist/src/cli/application-command.d.ts +2 -1
- package/dist/src/cli/application-root.d.ts +3 -6
- package/dist/src/cli/application-root.js +1 -1
- package/dist/src/cli/commands/init-target.d.ts +1 -1
- package/dist/src/cli/commands/init-telemetry.d.ts +2 -1
- package/dist/src/cli/commands/registry-declared-setups.d.ts +2 -1
- package/dist/src/cli/commands/registry-install-transaction.d.ts +0 -13
- package/dist/src/cli/commands/registry-install-transaction.js +1 -1
- package/dist/src/cli/commands/registry-pnpm-build-policy-flow.d.ts +1 -1
- package/dist/src/cli/commands/registry-presentation.d.ts +0 -1
- package/dist/src/cli/commands/registry-presentation.js +1 -1
- package/dist/src/cli/commands/registry-project.d.ts +2 -1
- package/dist/src/cli/commands/registry.d.ts +0 -4
- package/dist/src/cli/commands/registry.js +1 -1
- package/dist/src/cli/commands/setup-headless.d.ts +2 -1
- package/dist/src/cli/commands/vercel-non-interactive.d.ts +2 -1
- package/dist/src/cli/dev/diagnostic-dump.d.ts +0 -2
- package/dist/src/cli/dev/diagnostic-dump.js +1 -1
- package/dist/src/cli/dev/diagnostic-sink.d.ts +3 -2
- package/dist/src/cli/dev/tui/agent-header.d.ts +2 -1
- package/dist/src/cli/dev/tui/argument-typeahead.d.ts +2 -1
- package/dist/src/cli/dev/tui/dev-rebuild-status.d.ts +2 -1
- package/dist/src/cli/dev/tui/diagnostic-presentation.d.ts +2 -1
- package/dist/src/cli/dev/tui/errors.d.ts +2 -7
- package/dist/src/cli/dev/tui/errors.js +1 -1
- package/dist/src/cli/dev/tui/flow-drawer.d.ts +2 -1
- package/dist/src/cli/dev/tui/line-editor.d.ts +1 -1
- package/dist/src/cli/dev/tui/mcp-connection-status.d.ts +2 -1
- package/dist/src/cli/dev/tui/message-queue.d.ts +4 -3
- package/dist/src/cli/dev/tui/prompt-command-handler.d.ts +2 -1
- package/dist/src/cli/dev/tui/provider-picker.d.ts +3 -2
- package/dist/src/cli/dev/tui/question-panel.d.ts +2 -1
- package/dist/src/cli/dev/tui/registry-result-message.d.ts +3 -4
- package/dist/src/cli/dev/tui/registry-result-message.js +1 -1
- package/dist/src/cli/dev/tui/remote-connection-probe.d.ts +3 -2
- package/dist/src/cli/dev/tui/setup-panel.d.ts +2 -2
- package/dist/src/cli/dev/tui/setup-selection-input.d.ts +2 -2
- package/dist/src/cli/dev/tui/status-line.d.ts +2 -1
- package/dist/src/cli/dev/tui/stream-format.d.ts +3 -2
- package/dist/src/cli/dev/tui/terminal-renderer.d.ts +3 -2
- package/dist/src/cli/dev/tui/theme.d.ts +1 -1
- package/dist/src/cli/dev/tui/tool-block-groups.d.ts +3 -2
- package/dist/src/cli/dev/tui/tool-presentation.d.ts +2 -1
- package/dist/src/cli/dev/tui/traces/trace-content.d.ts +0 -9
- package/dist/src/cli/dev/tui/traces/trace-content.js +1 -1
- package/dist/src/cli/dev/tui/traces/trace-view.d.ts +3 -2
- package/dist/src/cli/dev/tui/traces/trace-viewer-session.d.ts +2 -1
- package/dist/src/cli/dev/tui/traces/trace-viewer-state.d.ts +2 -3
- package/dist/src/cli/dev/tui/traces/trace-viewer-state.js +1 -1
- package/dist/src/cli/dev/ui-options.d.ts +3 -2
- package/dist/src/cli/dev/url-target.d.ts +2 -1
- package/dist/src/cli/invoke/command.d.ts +0 -11
- package/dist/src/cli/invoke/command.js +1 -1
- package/dist/src/cli/invoke/result.d.ts +1 -1
- package/dist/src/cli/telemetry/index.d.ts +0 -6
- package/dist/src/cli/telemetry/preference.d.ts +2 -1
- package/dist/src/cli/ui/alt-screen.d.ts +3 -2
- package/dist/src/cli/ui/live-region.d.ts +3 -2
- package/dist/src/cli/ui/output.d.ts +1 -1
- package/dist/src/client/eve-agent-store-helpers.d.ts +0 -1
- package/dist/src/client/eve-agent-store-helpers.js +1 -1
- package/dist/src/client/message-action-parts.d.ts +2 -1
- package/dist/src/client/session-utils.d.ts +3 -2
- package/dist/src/compiled/.vendor-stamp.json +6 -6
- package/dist/src/compiled/@workflow/core/index.js +2 -2
- package/dist/src/compiled/@workflow/core/private.js +1 -1
- package/dist/src/compiled/@workflow/core/runtime/constants.d.ts +4 -3
- package/dist/src/compiled/@workflow/core/runtime/helpers.d.ts +23 -0
- package/dist/src/compiled/@workflow/core/runtime/helpers.js +1 -1
- package/dist/src/compiled/@workflow/core/runtime/hook-wake.d.ts +69 -36
- package/dist/src/compiled/@workflow/core/runtime/lifecycle-hooks.d.ts +25 -22
- package/dist/src/compiled/@workflow/core/runtime/run-spec-version.d.ts +16 -0
- package/dist/src/compiled/@workflow/core/runtime/start.d.ts +59 -1
- package/dist/src/compiled/@workflow/core/runtime/step-latency.d.ts +3 -2
- package/dist/src/compiled/@workflow/core/runtime/suspension-handler.d.ts +34 -12
- package/dist/src/compiled/@workflow/core/runtime.js +4 -4
- package/dist/src/compiled/@workflow/core/serialization.d.ts +7 -2
- package/dist/src/compiled/@workflow/core/serialization.js +1 -1
- package/dist/src/compiled/@workflow/core/telemetry/semantic-conventions.d.ts +29 -0
- package/dist/src/compiled/@workflow/core/types.d.ts +1 -0
- package/dist/src/compiled/@workflow/core/version.d.ts +1 -1
- package/dist/src/compiled/@workflow/core/workflow.js +1 -1
- package/dist/src/compiled/@workflow/errors/index.d.ts +13 -0
- package/dist/src/compiled/@workflow/errors/index.js +1 -1
- package/dist/src/compiled/@workflow/world/events.d.ts +14 -4
- package/dist/src/compiled/@workflow/world/index.d.ts +2 -2
- package/dist/src/compiled/@workflow/world/interfaces.d.ts +2 -1
- package/dist/src/compiled/@workflow/world/shared.d.ts +24 -0
- package/dist/src/compiled/@workflow/world/spec-version.d.ts +23 -0
- package/dist/src/compiled/@workflow/world-local/index.js +5 -5
- package/dist/src/compiled/@workflow/world-vercel/index.js +16 -16
- package/dist/src/compiled/_chunks/workflow/{attribute-changes-DzJovO_f.js → attribute-changes-D721NpZv.js} +3 -3
- package/dist/src/compiled/_chunks/workflow/{dist-BQSf8Hax.js → dist-BUFGAKRb.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/dist-CaNNONeg.js +3 -0
- package/dist/src/compiled/_chunks/workflow/{frames-qKc30rjg.js → frames-Dr9fHWdo.js} +2 -2
- package/dist/src/compiled/_chunks/workflow/{global-BQnKzRXo.js → global-DKbOgrts.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/helpers-DkKxg_yn.js +1 -0
- package/dist/src/compiled/_chunks/workflow/logger-D4GJNTk4.js +14 -0
- package/dist/src/compiled/_chunks/workflow/resume-hook-uTW-jBYz.js +1 -0
- package/dist/src/compiled/_chunks/workflow/run-5DmiMN9b.js +1 -0
- package/dist/src/compiled/_chunks/workflow/serialization-CNIYl1D3.js +3 -0
- package/dist/src/compiled/_chunks/workflow/sleep-DFKgN7UG.js +1 -0
- package/dist/src/compiled/_chunks/workflow/wait-until-3_1djUuL.js +1 -0
- package/dist/src/compiled/_chunks/workflow/{ws-transport-BrsMYqJg.js → ws-transport--rYOVIaf.js} +1 -1
- package/dist/src/compiler/artifacts.d.ts +4 -27
- package/dist/src/compiler/artifacts.js +1 -1
- package/dist/src/compiler/compile-agent.d.ts +2 -1
- package/dist/src/compiler/compile-agent.js +1 -1
- package/dist/src/compiler/diagnostics.d.ts +0 -11
- package/dist/src/compiler/diagnostics.js +1 -1
- package/dist/src/compiler/manifest.d.ts +0 -4
- package/dist/src/compiler/module-map.d.ts +1 -5
- package/dist/src/compiler/module-map.js +1 -1
- package/dist/src/compiler/normalize-agent-config.js +1 -1
- package/dist/src/compiler/normalize-connection.d.ts +2 -1
- package/dist/src/compiler/normalize-instructions.d.ts +2 -6
- package/dist/src/compiler/normalize-instructions.js +1 -1
- package/dist/src/compiler/normalize-manifest-helpers.d.ts +0 -1
- package/dist/src/compiler/normalize-manifest-helpers.js +1 -1
- package/dist/src/compiler/normalize-manifest.js +1 -1
- package/dist/src/compiler/normalize-skill.d.ts +2 -1
- package/dist/src/compiler/project-sources.d.ts +0 -14
- package/dist/src/compiler/project-sources.js +1 -1
- package/dist/src/compiler/resolve-workspace-subagent.js +1 -1
- package/dist/src/compiler/source-graph.d.ts +1 -2
- package/dist/src/compiler/source-graph.js +1 -1
- package/dist/src/context/build-base-tool-context.d.ts +2 -1
- package/dist/src/context/dynamic-tool-lifecycle.d.ts +0 -4
- package/dist/src/context/dynamic-tool-lifecycle.js +1 -1
- package/dist/src/context/dynamic-tool-metadata.d.ts +0 -1
- package/dist/src/context/dynamic-tool-metadata.js +1 -1
- package/dist/src/context/memory-lifecycle.d.ts +0 -8
- package/dist/src/context/memory-lifecycle.js +1 -1
- package/dist/src/discover/connections.d.ts +0 -15
- package/dist/src/discover/connections.js +1 -1
- package/dist/src/discover/diagnostics.d.ts +0 -8
- package/dist/src/discover/diagnostics.js +1 -1
- package/dist/src/discover/discover-agent.js +1 -1
- package/dist/src/discover/discover-subagent.d.ts +0 -1
- package/dist/src/discover/discover-subagent.js +1 -1
- package/dist/src/discover/extensions.d.ts +3 -10
- package/dist/src/discover/extensions.js +1 -1
- package/dist/src/discover/filesystem.d.ts +5 -9
- package/dist/src/discover/filesystem.js +1 -1
- package/dist/src/discover/grammar.d.ts +0 -46
- package/dist/src/discover/grammar.js +1 -1
- package/dist/src/discover/manifest.d.ts +5 -4
- package/dist/src/discover/memory.d.ts +0 -1
- package/dist/src/discover/memory.js +1 -1
- package/dist/src/discover/named-source-directory.js +1 -1
- package/dist/src/discover/project-source.d.ts +2 -1
- package/dist/src/discover/project.js +1 -1
- package/dist/src/discover/sandbox.js +1 -1
- package/dist/src/discover/skills.d.ts +0 -4
- package/dist/src/discover/skills.js +1 -1
- package/dist/src/evals/cli/eval-client.d.ts +2 -1
- package/dist/src/evals/judge.d.ts +2 -1
- package/dist/src/evals/runner/execute-task.d.ts +1 -1
- package/dist/src/evals/types.d.ts +1 -1
- package/dist/src/eve-channel/support.d.ts +1 -3
- package/dist/src/eve-channel/support.js +1 -1
- package/dist/src/execution/dynamic-workflow/schema.d.ts +2 -1
- package/dist/src/execution/dynamic-workflow/tool.js +1 -1
- package/dist/src/execution/effective-agent-config.d.ts +2 -1
- package/dist/src/execution/eve-workflow-attributes.d.ts +3 -5
- package/dist/src/execution/eve-workflow-attributes.js +1 -1
- package/dist/src/execution/history-view.d.ts +2 -1
- package/dist/src/execution/node-step.d.ts +3 -2
- package/dist/src/execution/sandbox/active-handles.d.ts +2 -4
- package/dist/src/execution/sandbox/active-handles.js +1 -1
- package/dist/src/execution/sandbox/bash.d.ts +2 -1
- package/dist/src/execution/sandbox/bindings/docker.js +1 -1
- package/dist/src/execution/sandbox/bindings/immutable-resources.d.ts +0 -6
- package/dist/src/execution/sandbox/bindings/immutable-resources.js +1 -1
- package/dist/src/execution/sandbox/bindings/local-provider-utils.d.ts +3 -2
- package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.d.ts +0 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.js +1 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-network.d.ts +1 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-options.d.ts +0 -3
- package/dist/src/execution/sandbox/bindings/microsandbox-options.js +1 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-templates.d.ts +0 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-templates.js +1 -1
- package/dist/src/execution/sandbox/bindings/vercel.d.ts +1 -1
- package/dist/src/execution/sandbox/dockerfile.d.ts +0 -1
- package/dist/src/execution/sandbox/dockerfile.js +1 -1
- package/dist/src/execution/sandbox/ensure.d.ts +2 -1
- package/dist/src/execution/sandbox/ensure.js +1 -1
- package/dist/src/execution/sandbox/prewarm.d.ts +1 -18
- package/dist/src/execution/sandbox/prewarm.js +1 -1
- package/dist/src/execution/sandbox/require-sandbox.d.ts +0 -11
- package/dist/src/execution/sandbox/require-sandbox.js +1 -1
- package/dist/src/execution/sandbox/truncate-output.d.ts +2 -5
- package/dist/src/execution/sandbox/truncate-output.js +2 -2
- package/dist/src/execution/session/admission.d.ts +3 -2
- package/dist/src/execution/session/event-sink.d.ts +2 -1
- package/dist/src/execution/session/finalization.d.ts +2 -1
- package/dist/src/execution/session/handoff.d.ts +3 -2
- package/dist/src/execution/session/route-selected-delivery.d.ts +2 -1
- package/dist/src/execution/session/timeout-control.d.ts +2 -1
- package/dist/src/execution/session-activity.d.ts +0 -3
- package/dist/src/execution/session-activity.js +1 -1
- package/dist/src/execution/session-inbox/protocol.d.ts +2 -1
- package/dist/src/execution/session.d.ts +3 -2
- package/dist/src/execution/stable-workflow-names.d.ts +0 -6
- package/dist/src/execution/stable-workflow-names.js +1 -1
- package/dist/src/execution/tools/agent-router-workflow.js +1 -1
- package/dist/src/execution/tools/ask-question-workflow.js +1 -1
- package/dist/src/execution/tools/connection-search.js +1 -1
- package/dist/src/execution/tools/sleep-workflow.js +1 -1
- package/dist/src/execution/tools/subagent/invoke-preparation.d.ts +2 -1
- package/dist/src/execution/tools/subagent/task-agent-requests.d.ts +4 -3
- package/dist/src/execution/tools/workflow/background.d.ts +2 -6
- package/dist/src/execution/tools/workflow/background.js +1 -1
- package/dist/src/execution/tools/workflow/owner-channels.d.ts +1 -1
- package/dist/src/execution/tools/workflow/workflow-owner-background.d.ts +2 -1
- package/dist/src/execution/web-fetch/execute.d.ts +2 -2
- package/dist/src/execution/web-fetch/request.d.ts +2 -1
- package/dist/src/extensions/code/extension/lib/computer-use-driver-source.d.ts +0 -2
- package/dist/src/extensions/code/extension/lib/computer-use-driver-source.js +57 -57
- package/dist/src/extensions/code/extension/lib/computer-use.d.ts +1 -1
- package/dist/src/extensions/code/extension/lib/generated-paths.d.ts +2 -1
- package/dist/src/extensions/code/extension/lib/grep-search.d.ts +5 -5
- package/dist/src/extensions/code/extension/lib/grep-search.js +2 -2
- package/dist/src/extensions/code/extension/lib/guidelines.d.ts +2 -1
- package/dist/src/extensions/code/extension/lib/patch.d.ts +3 -2
- package/dist/src/extensions/code/extension/lib/prwatch-github.d.ts +1 -2
- package/dist/src/extensions/code/extension/lib/prwatch-github.js +1 -1
- package/dist/src/extensions/code/extension/lib/prwatch-registry.d.ts +2 -1
- package/dist/src/framework/host-inventory.d.ts +3 -2
- package/dist/src/harness/approval-candidates.d.ts +4 -3
- package/dist/src/harness/approval-delivery-coordinator.d.ts +2 -1
- package/dist/src/harness/compaction-prompt.d.ts +2 -1
- package/dist/src/harness/coordination.d.ts +0 -4
- package/dist/src/harness/coordination.js +1 -1
- package/dist/src/harness/input-requests.d.ts +1 -10
- package/dist/src/harness/input-requests.js +1 -1
- package/dist/src/harness/pending-input-batches.d.ts +0 -5
- package/dist/src/harness/pending-input-batches.js +1 -1
- package/dist/src/harness/provider-tools.d.ts +2 -1
- package/dist/src/harness/session-limit-continuation.d.ts +0 -4
- package/dist/src/harness/session-limit-continuation.js +1 -1
- package/dist/src/harness/session-usage-limits.d.ts +2 -1
- package/dist/src/harness/tool-loop.js +1 -1
- package/dist/src/harness/tool-model-output.d.ts +2 -1
- package/dist/src/harness/turn-client-context.d.ts +2 -1
- package/dist/src/instrumentation/state.d.ts +2 -2
- package/dist/src/internal/agent-name.d.ts +0 -2
- package/dist/src/internal/agent-name.js +1 -1
- package/dist/src/internal/application/build-profile.d.ts +2 -2
- package/dist/src/internal/application/dev-environment.d.ts +2 -8
- package/dist/src/internal/application/dev-environment.js +1 -1
- package/dist/src/internal/application/output-publication.d.ts +1 -1
- package/dist/src/internal/application/package.js +1 -1
- package/dist/src/internal/application/paths.d.ts +0 -5
- package/dist/src/internal/application/paths.js +1 -1
- package/dist/src/internal/application/tsconfig-dependencies.d.ts +0 -16
- package/dist/src/internal/application/tsconfig-dependencies.js +1 -1
- package/dist/src/internal/authored-definition/schema-backed.js +1 -1
- package/dist/src/internal/authored-definition/source-identity.d.ts +1 -1
- package/dist/src/internal/authored-module-map-loader.js +1 -1
- package/dist/src/internal/bundler/extension-scope-plugin.d.ts +2 -1
- package/dist/src/internal/bundler/nitro-rolldown.d.ts +0 -11
- package/dist/src/internal/bundler/nitro-rolldown.js +1 -1
- package/dist/src/internal/eve-project-root.d.ts +0 -3
- package/dist/src/internal/eve-project-root.js +1 -1
- package/dist/src/internal/external-resources-snapshot.d.ts +1 -1
- package/dist/src/internal/external-resources.d.ts +0 -1
- package/dist/src/internal/external-resources.js +1 -1
- package/dist/src/internal/helpers/markdown.js +1 -1
- package/dist/src/internal/invocation/metadata.d.ts +1 -1
- package/dist/src/internal/materialized-authored-modules.d.ts +2 -1
- package/dist/src/internal/mcp/protected-resource.d.ts +2 -1
- package/dist/src/internal/mcp/streamable-http-server.d.ts +4 -5
- package/dist/src/internal/mcp/streamable-http-server.js +1 -1
- package/dist/src/internal/model-catalog.d.ts +2 -1
- package/dist/src/internal/nitro/dev-runtime-artifacts.d.ts +0 -4
- package/dist/src/internal/nitro/dev-runtime-artifacts.js +1 -1
- package/dist/src/internal/nitro/dev-runtime-source-snapshot.d.ts +0 -1
- package/dist/src/internal/nitro/dev-runtime-source-snapshot.js +1 -1
- package/dist/src/internal/nitro/development-generation.d.ts +0 -1
- package/dist/src/internal/nitro/development-generation.js +1 -1
- package/dist/src/internal/nitro/host/channel-routes.d.ts +1 -1
- package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.d.ts +2 -1
- package/dist/src/internal/nitro/host/dev-host-candidate.d.ts +2 -1
- package/dist/src/internal/nitro/host/drained-nitro-dev-server.d.ts +1 -1
- package/dist/src/internal/nitro/host/extension-capability-requirements.js +1 -1
- package/dist/src/internal/nitro/host/schedule-task-routes.d.ts +1 -1
- package/dist/src/internal/nitro/host/workspace-extensions.js +1 -1
- package/dist/src/internal/nitro/routes/channel-request-instrumentation.d.ts +2 -1
- package/dist/src/internal/nitro/routes/channel-route-context.d.ts +1 -1
- package/dist/src/internal/nitro/routes/runtime-stack.d.ts +2 -1
- package/dist/src/internal/resolve-model-endpoint-status.d.ts +2 -1
- package/dist/src/internal/vercel/assemble-eve-services.d.ts +3 -2
- package/dist/src/internal/vercel/eve-service-contribution.d.ts +2 -3
- package/dist/src/internal/vercel/eve-service-contribution.js +1 -1
- package/dist/src/internal/vercel/project-link.d.ts +2 -1
- package/dist/src/internal/vercel/project-link.js +1 -1
- package/dist/src/internal/workflow/development-world-codec.d.ts +2 -1
- package/dist/src/internal/workflow/world-compatibility.d.ts +2 -1
- package/dist/src/internal/workflow-bundle/builder-support.d.ts +0 -9
- package/dist/src/internal/workflow-bundle/builder-support.js +2 -3
- package/dist/src/internal/workflow-bundle/dynamic-tool-transform.d.ts +0 -1
- package/dist/src/internal/workflow-bundle/dynamic-tool-transform.js +1 -1
- package/dist/src/protocol/activity.d.ts +3 -3
- package/dist/src/protocol/activity.js +1 -1
- package/dist/src/protocol/baggage.d.ts +2 -2
- package/dist/src/protocol/cancel-turn.d.ts +0 -2
- package/dist/src/protocol/event-dedupe.d.ts +2 -1
- package/dist/src/protocol/event-id.d.ts +0 -6
- package/dist/src/protocol/event-id.js +1 -1
- package/dist/src/protocol/traceparent.d.ts +2 -1
- package/dist/src/public/channels/chat-sdk/audience.d.ts +2 -4
- package/dist/src/public/channels/chat-sdk/audience.js +1 -1
- package/dist/src/public/channels/discord/discordChannel.d.ts +1 -1
- package/dist/src/public/channels/github/api.d.ts +2 -12
- package/dist/src/public/channels/github/api.js +1 -1
- package/dist/src/public/channels/github/auth.d.ts +0 -9
- package/dist/src/public/channels/github/auth.js +1 -1
- package/dist/src/public/channels/github/binding.d.ts +3 -2
- package/dist/src/public/channels/github/checkout.d.ts +3 -3
- package/dist/src/public/channels/github/defaults.d.ts +3 -2
- package/dist/src/public/channels/github/githubChannel.d.ts +1 -1
- package/dist/src/public/channels/github/limits.d.ts +0 -2
- package/dist/src/public/channels/github/limits.js +2 -2
- package/dist/src/public/channels/github/pr-context.d.ts +2 -3
- package/dist/src/public/channels/github/pr-context.js +1 -1
- package/dist/src/public/channels/github/state.d.ts +2 -1
- package/dist/src/public/channels/github/verify.d.ts +2 -1
- package/dist/src/public/channels/linear/defaults.d.ts +2 -1
- package/dist/src/public/channels/linear/inbound-images.d.ts +2 -1
- package/dist/src/public/channels/slack/app-manifest.d.ts +3 -4
- package/dist/src/public/channels/slack/app-manifest.js +1 -1
- package/dist/src/public/channels/slack/inbound.d.ts +2 -1
- package/dist/src/public/channels/slack/model-context.d.ts +0 -18
- package/dist/src/public/channels/slack/model-context.js +1 -1
- package/dist/src/public/channels/slack/privacy.d.ts +2 -1
- package/dist/src/public/channels/slack/verify.d.ts +1 -1
- package/dist/src/public/channels/teams/teamsChannel.d.ts +1 -1
- package/dist/src/public/channels/telegram/audience.d.ts +2 -3
- package/dist/src/public/channels/telegram/audience.js +1 -1
- package/dist/src/public/channels/telegram/telegramChannel.d.ts +1 -1
- package/dist/src/public/channels/twilio/defaults.d.ts +0 -7
- package/dist/src/public/channels/twilio/defaults.js +1 -1
- package/dist/src/public/channels/twilio/routing.d.ts +2 -1
- package/dist/src/public/channels/twilio/twilioChannel.d.ts +1 -1
- package/dist/src/public/definitions/channel.d.ts +1 -1
- package/dist/src/public/index.js +1 -1
- package/dist/src/public/memory/file/provider.js +1 -1
- package/dist/src/public/models/openai/chatgpt/model.d.ts +2 -1
- package/dist/src/public/models/openai/chatgpt/token-broker.d.ts +1 -1
- package/dist/src/public/nuxt/dev-server.d.ts +3 -2
- package/dist/src/public/skills/index.js +1 -1
- package/dist/src/public/sveltekit/dev-server.d.ts +3 -2
- package/dist/src/public/tools/index.js +1 -1
- package/dist/src/runtime/compiled-artifacts-source.d.ts +0 -4
- package/dist/src/runtime/compiled-artifacts-source.js +1 -1
- package/dist/src/runtime/connections/instance-identity.d.ts +0 -3
- package/dist/src/runtime/connections/instance-identity.js +1 -1
- package/dist/src/runtime/connections/mcp-tracing.d.ts +1 -6
- package/dist/src/runtime/connections/mcp-tracing.js +1 -1
- package/dist/src/runtime/connections/openapi-client.d.ts +1 -1
- package/dist/src/runtime/connections/scoped-authorization.d.ts +0 -9
- package/dist/src/runtime/connections/scoped-authorization.js +1 -1
- package/dist/src/runtime/hooks/registry.d.ts +0 -7
- package/dist/src/runtime/hooks/registry.js +1 -1
- package/dist/src/runtime/loaders/artifact-paths.d.ts +2 -1
- package/dist/src/runtime/loaders/bundled-artifacts.d.ts +0 -1
- package/dist/src/runtime/loaders/bundled-artifacts.js +1 -1
- package/dist/src/runtime/resolve-agent.d.ts +2 -2
- package/dist/src/runtime/resolve-agent.js +1 -1
- package/dist/src/runtime/resolve-dynamic-tool.d.ts +0 -16
- package/dist/src/runtime/resolve-dynamic-tool.js +1 -1
- package/dist/src/runtime/sandbox/prepared-artifacts.d.ts +1 -2
- package/dist/src/runtime/sandbox/prepared-artifacts.js +1 -1
- package/dist/src/runtime/schedules/register.d.ts +0 -4
- package/dist/src/runtime/schedules/register.js +1 -1
- package/dist/src/self-modification/credentials.d.ts +1 -4
- package/dist/src/self-modification/credentials.js +1 -1
- package/dist/src/self-modification/filesystem.d.ts +0 -1
- package/dist/src/self-modification/filesystem.js +1 -1
- package/dist/src/self-modification/git-workspace.d.ts +0 -3
- package/dist/src/self-modification/git-workspace.js +1 -1
- package/dist/src/self-modification/github-publisher.d.ts +2 -1
- package/dist/src/self-modification/migration.d.ts +0 -1
- package/dist/src/self-modification/migration.js +1 -1
- package/dist/src/self-modification/mode.d.ts +2 -1
- package/dist/src/self-modification/proposal.d.ts +0 -2
- package/dist/src/self-modification/proposal.js +2 -2
- package/dist/src/self-modification/setup.js +1 -1
- package/dist/src/services/dev-client/agent-info-probe.d.ts +2 -1
- package/dist/src/services/dev-client/request-headers.d.ts +1 -1
- package/dist/src/setup/ai-gateway-api-key.d.ts +2 -1
- package/dist/src/setup/append-env.d.ts +3 -2
- package/dist/src/setup/ask.d.ts +3 -3
- package/dist/src/setup/boxes/apply-ai-gateway-credential.d.ts +2 -1
- package/dist/src/setup/boxes/deploy-project.d.ts +4 -3
- package/dist/src/setup/boxes/link-project.d.ts +2 -1
- package/dist/src/setup/boxes/resolve-provisioning.d.ts +2 -1
- package/dist/src/setup/boxes/select-model.d.ts +0 -1
- package/dist/src/setup/boxes/select-model.js +1 -1
- package/dist/src/setup/cli/option-row.d.ts +1 -1
- package/dist/src/setup/cli/prompt-ui.d.ts +0 -10
- package/dist/src/setup/cli/prompt-ui.js +1 -1
- package/dist/src/setup/cli/rail-log.d.ts +0 -2
- package/dist/src/setup/cli/rail-log.js +2 -2
- package/dist/src/setup/connect-provisioning.d.ts +2 -1
- package/dist/src/setup/connection-connector.d.ts +2 -1
- package/dist/src/setup/flows/link.d.ts +2 -1
- package/dist/src/setup/flows/model-login.d.ts +1 -1
- package/dist/src/setup/flows/model-source-change.js +1 -1
- package/dist/src/setup/flows/registry-session.d.ts +3 -2
- package/dist/src/setup/integrations/discord/api.d.ts +2 -1
- package/dist/src/setup/integrations/discord/connect.d.ts +3 -3
- package/dist/src/setup/integrations/discord/connect.js +1 -1
- package/dist/src/setup/integrations/discord/setup.d.ts +2 -1
- package/dist/src/setup/integrations/file-memory/vercel.d.ts +1 -1
- package/dist/src/setup/integrations/github/connect.d.ts +3 -3
- package/dist/src/setup/integrations/github/connect.js +1 -1
- package/dist/src/setup/integrations/github/setup.d.ts +1 -1
- package/dist/src/setup/integrations/linear/connect.d.ts +2 -2
- package/dist/src/setup/integrations/linear/connect.js +1 -1
- package/dist/src/setup/integrations/linear/setup.d.ts +1 -1
- package/dist/src/setup/integrations/linq/connect.d.ts +3 -4
- package/dist/src/setup/integrations/linq/connect.js +1 -1
- package/dist/src/setup/integrations/linq/management.d.ts +2 -1
- package/dist/src/setup/integrations/linq/setup.d.ts +1 -9
- package/dist/src/setup/integrations/linq/setup.js +1 -1
- package/dist/src/setup/integrations/photon/connect.d.ts +5 -7
- package/dist/src/setup/integrations/photon/connect.js +1 -1
- package/dist/src/setup/integrations/photon/management.d.ts +5 -4
- package/dist/src/setup/integrations/photon/setup-flow.d.ts +2 -1
- package/dist/src/setup/integrations/registry.d.ts +0 -2
- package/dist/src/setup/integrations/registry.js +1 -1
- package/dist/src/setup/integrations/runner.d.ts +3 -2
- package/dist/src/setup/integrations/shared/scaffold.d.ts +2 -1
- package/dist/src/setup/integrations/shared/vercel-project.d.ts +2 -1
- package/dist/src/setup/integrations/shopify/setup.d.ts +2 -1
- package/dist/src/setup/integrations/teams/connect.d.ts +3 -3
- package/dist/src/setup/integrations/teams/connect.js +1 -1
- package/dist/src/setup/integrations/teams/setup.d.ts +2 -1
- package/dist/src/setup/integrations/web/setup.d.ts +2 -1
- package/dist/src/setup/primitives/pm/process-result.d.ts +2 -1
- package/dist/src/setup/primitives/pm/shared.d.ts +2 -1
- package/dist/src/setup/primitives/process-output.d.ts +2 -1
- package/dist/src/setup/quit-guard.d.ts +3 -2
- package/dist/src/setup/scaffold/create/add-to-project.d.ts +2 -1
- package/dist/src/setup/scaffold/create/project.js +1 -1
- package/dist/src/setup/scaffold/files.d.ts +2 -1
- package/dist/src/setup/scaffold/update/channels.d.ts +0 -1
- package/dist/src/setup/scaffold/workspace-glob.d.ts +0 -1
- package/dist/src/setup/scaffold/workspace-glob.js +1 -1
- package/dist/src/setup/scaffold/workspace-root.d.ts +2 -1
- package/dist/src/setup/slack-connect-create.d.ts +1 -1
- package/dist/src/setup/slack-connect-lifecycle.d.ts +5 -5
- package/dist/src/setup/slack-connect.d.ts +0 -4
- package/dist/src/setup/slack-connect.js +1 -1
- package/dist/src/setup/slackbot.d.ts +3 -3
- package/dist/src/setup/slackbot.js +1 -1
- package/dist/src/setup/vercel-project-api.d.ts +1 -1
- package/dist/src/setup/vercel-project.d.ts +3 -18
- package/dist/src/setup/vercel-project.js +0 -0
- package/dist/src/shared/action-types.d.ts +1 -58
- package/dist/src/shared/action-types.js +1 -1
- package/dist/src/shared/agent-definition.d.ts +0 -3
- package/dist/src/shared/agent-turn-outcome.d.ts +1 -3
- package/dist/src/shared/agent-turn-outcome.js +1 -1
- package/dist/src/shared/chatgpt-model.d.ts +0 -1
- package/dist/src/shared/chatgpt-model.js +1 -1
- package/dist/src/shared/conversation-context.d.ts +2 -1
- package/dist/src/shared/extension-package-contract.d.ts +2 -1
- package/dist/src/shared/forwarded-trace-policy.d.ts +3 -2
- package/dist/src/shared/gateway-service-tier.d.ts +2 -1
- package/dist/src/shared/memory-state.d.ts +0 -8
- package/dist/src/shared/memory-state.js +1 -1
- package/dist/src/shared/sandbox-environment.d.ts +0 -1
- package/dist/src/shared/sandbox-environment.js +1 -1
- package/dist/src/shared/skill-package.d.ts +0 -5
- package/dist/src/shared/skill-package.js +1 -1
- package/dist/src/shared/token-usage.d.ts +0 -7
- package/dist/src/shared/token-usage.js +1 -1
- package/dist/src/shared/ulid.d.ts +2 -8
- package/dist/src/shared/ulid.js +1 -1
- package/dist/src/shared/vercel-project.d.ts +2 -1
- package/dist/src/shared/vercel-services.d.ts +2 -2
- package/dist/src/shared/workflow-sandbox.d.ts +0 -7
- package/dist/src/source-change/agent-config-ast.d.ts +2 -1
- package/dist/src/source-change/agent-config-string-path.d.ts +2 -2
- package/dist/src/source-change/apply-agent-model-settings.d.ts +2 -1
- package/dist/src/source-change/apply-model-selection.d.ts +2 -1
- package/dist/src/source-change/static-source-change.d.ts +4 -3
- package/dist/src/subagents/invocation.d.ts +1 -1
- package/dist/src/subagents/tool.d.ts +2 -1
- package/dist/src/tools/definition.d.ts +0 -3
- package/dist/src/tools/durable-callbacks.d.ts +1 -2
- package/dist/src/tools/durable-callbacks.js +1 -1
- package/dist/src/tools/framework/agent.js +1 -1
- package/dist/src/tools/framework/task-cancel.d.ts +1 -1
- package/dist/src/tools/native-definition.d.ts +2 -1
- package/dist/src/tracing/agent-action-instrumentation.d.ts +2 -1
- package/dist/src/tracing/agent-memory-instrumentation.d.ts +2 -1
- package/dist/src/tracing/agent-otel-provider.d.ts +2 -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-tool-instrumentation.d.ts +2 -1
- package/dist/src/tracing/agent-tool-span-context.d.ts +3 -2
- package/dist/src/tracing/agent-trace-state.d.ts +0 -24
- package/dist/src/tracing/agent-trace-state.js +1 -1
- package/dist/src/tracing/batch-span-processor.d.ts +2 -1
- package/dist/src/tracing/local-trace-analysis.d.ts +4 -3
- package/dist/src/tracing/local-trace-discovery-index.d.ts +0 -2
- package/dist/src/tracing/local-trace-discovery-index.js +1 -1
- package/dist/src/tracing/local-trace-query.d.ts +2 -1
- package/dist/src/tracing/local-trace-retention.d.ts +4 -4
- package/dist/src/tracing/telemetry-budget.d.ts +0 -1
- package/dist/src/tracing/telemetry-budget.js +1 -1
- package/package.json +8 -8
- package/dist/src/cli/commands/channel-add-conflicts.d.ts +0 -21
- package/dist/src/cli/commands/channel-add-conflicts.js +0 -1
- package/dist/src/cli/commands/registry-search-presentation.d.ts +0 -16
- package/dist/src/cli/commands/registry-search-presentation.js +0 -6
- package/dist/src/compiled/_chunks/workflow/dist-BfMqXLK3.js +0 -3
- package/dist/src/compiled/_chunks/workflow/helpers-CNMO7zB1.js +0 -1
- package/dist/src/compiled/_chunks/workflow/logger-BCEj9caG.js +0 -14
- package/dist/src/compiled/_chunks/workflow/resume-hook-QS_cMwHn.js +0 -1
- package/dist/src/compiled/_chunks/workflow/run-CA5wWV2S.js +0 -1
- package/dist/src/compiled/_chunks/workflow/serialization-CJ265vSe.js +0 -3
- package/dist/src/compiled/_chunks/workflow/sleep-CBn94Ayv.js +0 -1
- package/dist/src/compiled/_chunks/workflow/wait-until-Bo2U6ON9.js +0 -1
- package/dist/src/compiler/compile-from-memory.d.ts +0 -44
- package/dist/src/compiler/compile-from-memory.js +0 -1
- package/dist/src/execution/connection-auth-tool-result.d.ts +0 -2
- package/dist/src/execution/connection-auth-tool-result.js +0 -1
- package/dist/src/internal/process/pnpm.d.ts +0 -28
- package/dist/src/internal/process/pnpm.js +0 -1
- package/dist/src/public/channels/slack/api-encoding.d.ts +0 -5
- package/dist/src/public/channels/slack/api-encoding.js +0 -1
- package/dist/src/public/definitions/instrumentation.d.ts +0 -1
- package/dist/src/public/definitions/instrumentation.js +0 -1
- package/dist/src/public/models/openai/chatgpt/unsigned-jwt.d.ts +0 -5
- package/dist/src/public/models/openai/chatgpt/unsigned-jwt.js +0 -1
- package/dist/src/sandbox/backends/probes.d.ts +0 -7
- package/dist/src/sandbox/backends/probes.js +0 -1
- package/dist/src/setup/channel-add-conflicts.d.ts +0 -28
- package/dist/src/setup/channel-add-conflicts.js +0 -1
- package/dist/src/setup/primitives/run-pnpm.d.ts +0 -1
- package/dist/src/setup/primitives/run-pnpm.js +0 -1
- package/dist/src/shared/dispatch-action.d.ts +0 -30
- package/dist/src/shared/dispatch-action.js +0 -1
|
@@ -51,7 +51,7 @@ export declare function deleteWordBackward(state: LineState): LineState;
|
|
|
51
51
|
/** Deletes the whitespace-delimited word before the caret (Ctrl+W). */
|
|
52
52
|
export declare function deleteWord(state: LineState): LineState;
|
|
53
53
|
/** Options for {@link applyLineEditorKey}. */
|
|
54
|
-
|
|
54
|
+
interface LineEditorOptions {
|
|
55
55
|
/** Single-line inputs flatten pasted newlines and ignore Shift+Enter. */
|
|
56
56
|
readonly multiline?: boolean;
|
|
57
57
|
}
|
|
@@ -11,9 +11,10 @@ export interface McpConnectionStatusTracker {
|
|
|
11
11
|
refresh(): void;
|
|
12
12
|
dispose(): void;
|
|
13
13
|
}
|
|
14
|
-
|
|
14
|
+
interface McpConnectionStatusTrackerOptions {
|
|
15
15
|
onChange: (disabledConnectionReasons: Readonly<Record<string, string>>) => void;
|
|
16
16
|
probe?: McpConnectionProbe;
|
|
17
17
|
intervalMs?: number;
|
|
18
18
|
}
|
|
19
19
|
export declare function createMcpConnectionStatusTracker(options: McpConnectionStatusTrackerOptions): McpConnectionStatusTracker;
|
|
20
|
+
export {};
|
|
@@ -18,7 +18,7 @@ import type { Theme } from "./theme.js";
|
|
|
18
18
|
/** Most messages the queue holds; Enter on a full queue keeps the draft. */
|
|
19
19
|
export declare const MESSAGE_QUEUE_LIMIT = 5;
|
|
20
20
|
/** What one Esc press did to the queue state. */
|
|
21
|
-
|
|
21
|
+
type MessageQueueEscapeOutcome =
|
|
22
22
|
/**
|
|
23
23
|
* A message is staged for steering. The caller sends it to the active
|
|
24
24
|
* session; repeated presses may select more queued messages.
|
|
@@ -27,7 +27,7 @@ export type MessageQueueEscapeOutcome =
|
|
|
27
27
|
/** Empty queue — the caller should cancel the turn. */
|
|
28
28
|
| "cancel";
|
|
29
29
|
/** Read-only projection consumed by {@link renderMessageQueueRows}. */
|
|
30
|
-
|
|
30
|
+
interface MessageQueueView {
|
|
31
31
|
readonly messages: readonly string[];
|
|
32
32
|
readonly full: boolean;
|
|
33
33
|
/** A popped message is awaiting steering admission. */
|
|
@@ -72,7 +72,7 @@ export declare class MessageQueue {
|
|
|
72
72
|
reset(): void;
|
|
73
73
|
view(): MessageQueueView;
|
|
74
74
|
}
|
|
75
|
-
|
|
75
|
+
interface MessageQueuePanelRowsInput {
|
|
76
76
|
readonly view: MessageQueueView;
|
|
77
77
|
readonly width: number;
|
|
78
78
|
readonly theme: Theme;
|
|
@@ -86,3 +86,4 @@ export interface MessageQueuePanelRowsInput {
|
|
|
86
86
|
* affordance — the panel is where steering and cancellation are taught.
|
|
87
87
|
*/
|
|
88
88
|
export declare function renderMessageQueueRows(input: MessageQueuePanelRowsInput): string[];
|
|
89
|
+
export {};
|
|
@@ -2,7 +2,7 @@ import type { ApplyModelOutcome } from "#setup/flows/model-source-change.js";
|
|
|
2
2
|
import type { PromptCommandHandler } from "./runner.js";
|
|
3
3
|
import type { TuiSetupFlows } from "./setup-commands.js";
|
|
4
4
|
import type { DevelopmentTuiTarget } from "./target.js";
|
|
5
|
-
|
|
5
|
+
interface PromptCommandHandlerOptions {
|
|
6
6
|
readonly target: DevelopmentTuiTarget;
|
|
7
7
|
/** Test seam; defaults to the model flow's shared source-change apply. */
|
|
8
8
|
readonly applyModel?: (input: {
|
|
@@ -15,3 +15,4 @@ export interface PromptCommandHandlerOptions {
|
|
|
15
15
|
readonly flows?: Partial<TuiSetupFlows>;
|
|
16
16
|
}
|
|
17
17
|
export declare function createPromptCommandHandler(options: PromptCommandHandlerOptions): PromptCommandHandler;
|
|
18
|
+
export {};
|
|
@@ -19,7 +19,7 @@ export type ProviderPickerPhase = {
|
|
|
19
19
|
message: string;
|
|
20
20
|
};
|
|
21
21
|
/** One provider picker interaction: ordinary select state plus its key field. */
|
|
22
|
-
|
|
22
|
+
interface ProviderPickerState {
|
|
23
23
|
select: SelectState;
|
|
24
24
|
phase: ProviderPickerPhase;
|
|
25
25
|
}
|
|
@@ -39,7 +39,7 @@ export type ProviderPickerEvent = {
|
|
|
39
39
|
validation: GatewayKeyValidation;
|
|
40
40
|
};
|
|
41
41
|
/** One state transition; abort controllers remain in the terminal renderer. */
|
|
42
|
-
|
|
42
|
+
type ProviderPickerTransition = {
|
|
43
43
|
kind: "ignore";
|
|
44
44
|
state: ProviderPickerState;
|
|
45
45
|
} | {
|
|
@@ -62,3 +62,4 @@ export type ProviderPickerTransition = {
|
|
|
62
62
|
export declare function initialProviderPickerState(options: readonly PromptOption<ProviderConnection>[], initialValue: ProviderConnection): ProviderPickerState;
|
|
63
63
|
/** Applies one provider-menu event without creating terminal resources. */
|
|
64
64
|
export declare function transitionProviderPicker(state: ProviderPickerState, event: ProviderPickerEvent, options: readonly PromptOption<ProviderConnection>[]): ProviderPickerTransition;
|
|
65
|
+
export {};
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
import type { AgentTUIInputOption } from "./runner.js";
|
|
11
11
|
import { type LineState } from "./line-editor.js";
|
|
12
12
|
import type { Theme } from "./theme.js";
|
|
13
|
-
|
|
13
|
+
interface QuestionPanelState {
|
|
14
14
|
readonly prompt: string;
|
|
15
15
|
readonly options: readonly AgentTUIInputOption[];
|
|
16
16
|
/** Row index under the cursor; `options.length` is the freeform row. */
|
|
@@ -23,3 +23,4 @@ export interface QuestionPanelState {
|
|
|
23
23
|
}
|
|
24
24
|
export declare function renderQuestionPanel(state: QuestionPanelState, theme: Theme, width: number): string[];
|
|
25
25
|
export declare function renderQuestionChoices(options: readonly AgentTUIInputOption[], cursor: number, theme: Theme, forceCursor?: boolean): string[];
|
|
26
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RegistryCatalogItem } from "#cli/commands/registry.js";
|
|
2
|
-
import type {
|
|
2
|
+
import type { RegistrySessionResult } from "#setup/flows/registry-session.js";
|
|
3
3
|
/** Builds the shared transient progress update for `/add` and initial onboarding. */
|
|
4
4
|
export declare function registryItemProgress(renderer: {
|
|
5
5
|
replaceContent?(content?: {
|
|
@@ -12,17 +12,16 @@ export declare function registryItemProgress(renderer: {
|
|
|
12
12
|
setNavigation?(navigation: undefined): void;
|
|
13
13
|
setStatus(status: string | undefined): void;
|
|
14
14
|
}): (item: RegistryCatalogItem, index: number, total: number) => void;
|
|
15
|
-
|
|
15
|
+
interface RegistryCommandOutcome {
|
|
16
16
|
failed: boolean;
|
|
17
17
|
/** Replaces the echoed `/add` once it settles. */
|
|
18
18
|
summary: string;
|
|
19
19
|
/** Detail hung under the summary; empty when the summary says it all. */
|
|
20
20
|
message: string;
|
|
21
21
|
}
|
|
22
|
-
/** The one-line record of an `/add` item left in place of its invocation. */
|
|
23
|
-
export declare function registryOutcomeSummary(outcome: RegistrySessionOutcome): string;
|
|
24
22
|
/**
|
|
25
23
|
* Summarizes an `/add` session in place of its echoed command. One item folds
|
|
26
24
|
* into the summary itself; several items list one marked row each.
|
|
27
25
|
*/
|
|
28
26
|
export declare function registryCommandOutcome(result: RegistrySessionResult, notes?: readonly string[]): RegistryCommandOutcome;
|
|
27
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
function registryItemProgress(e){return(t,n,r)=>{e.setNavigation?.(void 0),e.replaceContent?.(),e.setStatus(`Adding ${t.title??t.name} · ${n+1} of ${r}`)}}function outcomeDetails(e){switch(e.kind){case`installed`:{let t=e.facts.filter(e=>e.label.length>0),n=Math.max(0,...t.map(e=>e.label.length));return[...e.facts.map(e=>e.label.length===0?e.value:`${e.label.padEnd(n)} ${e.value}`),...e.output]}case`incomplete`:return[`Finish with \`${e.resumeCommand}\``];case`failed`:return e.message.replace(" Try again with `",`
|
|
2
2
|
Try again with \``).split(`
|
|
3
3
|
`);case`cancelled`:return[]}}function registryOutcomeSummary(e){switch(e.kind){case`installed`:return`Added ${e.title}`;case`incomplete`:return`Added ${e.title} · setup not finished`;case`failed`:return`Couldn't add ${e.title}`;case`cancelled`:return`${e.title} not added`}}function hasFailedOutcome(e){return e.some(e=>e.kind===`failed`)}function registryCommandOutcome(e,t=[]){let{outcomes:n}=e,r=n.filter(e=>e.kind===`installed`||e.kind===`incomplete`).length,i=n.length===1?registryOutcomeSummary(n[0]):`Added ${r} of ${n.length} items`,a=n.length===1?outcomeDetails(n[0]):n.flatMap(e=>[`* ${registryOutcomeSummary(e)}`,...outcomeDetails(e).map(e=>` ${e}`)]);return a.push(...t.map(e=>`⚠ ${e}`)),{failed:hasFailedOutcome(n),summary:i,message:a.join(`
|
|
4
|
-
`)}}export{registryCommandOutcome,registryItemProgress
|
|
4
|
+
`)}}export{registryCommandOutcome,registryItemProgress};
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { type Client } from "#client/index.js";
|
|
2
2
|
import type { RemoteConnectionState } from "./remote-connection-types.js";
|
|
3
|
-
|
|
3
|
+
type RemoteProbeResult = Extract<RemoteConnectionState, {
|
|
4
4
|
state: "ready" | "auth-required" | "unavailable";
|
|
5
5
|
}>;
|
|
6
|
-
|
|
6
|
+
type RemoteProbePhase = "connection-check" | "authentication-verification";
|
|
7
7
|
export declare function classifyRemoteError(error: unknown, phase: RemoteProbePhase): RemoteProbeResult;
|
|
8
8
|
export declare function probeRemoteInfo(input: {
|
|
9
9
|
readonly client: Client;
|
|
10
10
|
readonly phase: RemoteProbePhase;
|
|
11
11
|
}): Promise<RemoteProbeResult>;
|
|
12
|
+
export {};
|
|
@@ -88,7 +88,7 @@ interface SetupActionsPanelState {
|
|
|
88
88
|
cursor: number | undefined;
|
|
89
89
|
}
|
|
90
90
|
export type SetupSelectPanelState = SetupOptionSelectPanelState | SetupActionsPanelState;
|
|
91
|
-
|
|
91
|
+
interface SetupTextPanelState {
|
|
92
92
|
message: string;
|
|
93
93
|
editor: LineState;
|
|
94
94
|
placeholder?: string;
|
|
@@ -97,7 +97,7 @@ export interface SetupTextPanelState {
|
|
|
97
97
|
/** Context lines shown above the message; gone once the question settles. */
|
|
98
98
|
notices?: readonly SelectNotice[];
|
|
99
99
|
}
|
|
100
|
-
|
|
100
|
+
interface SetupAcknowledgePanelState {
|
|
101
101
|
message: string;
|
|
102
102
|
lines: readonly string[];
|
|
103
103
|
}
|
|
@@ -2,7 +2,7 @@ import type { PromptOption } from "#setup/cli/index.js";
|
|
|
2
2
|
import { type SearchActionOption, type SelectState } from "#setup/cli/select-state.js";
|
|
3
3
|
import type { TerminalKey } from "./stream-format.js";
|
|
4
4
|
/** Shared navigation grammar for setup selects, actions, and editable selects. */
|
|
5
|
-
|
|
5
|
+
type SetupSelectionIntent = {
|
|
6
6
|
kind: "cancel";
|
|
7
7
|
} | {
|
|
8
8
|
kind: "move";
|
|
@@ -16,7 +16,7 @@ export type SetupSelectionIntent = {
|
|
|
16
16
|
export declare function setupSelectionIntent(key: TerminalKey, options?: {
|
|
17
17
|
textNavigation?: boolean;
|
|
18
18
|
}): SetupSelectionIntent | undefined;
|
|
19
|
-
|
|
19
|
+
type SetupSelectInputResult = {
|
|
20
20
|
kind: "cancel";
|
|
21
21
|
} | {
|
|
22
22
|
kind: "repaint";
|
|
@@ -7,7 +7,7 @@ export interface DevBuildStatus {
|
|
|
7
7
|
readonly phase: "building" | "complete";
|
|
8
8
|
readonly summary: string;
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
interface StatusLineInput {
|
|
11
11
|
/** Transient authored-source build state, independent of the server log filter. */
|
|
12
12
|
devBuild?: DevBuildStatus;
|
|
13
13
|
/** Resolved model slug, e.g. "anthropic/claude-sonnet-5"; absent when `/eve/v1/info` failed. */
|
|
@@ -34,3 +34,4 @@ export interface StatusLineInput {
|
|
|
34
34
|
}
|
|
35
35
|
/** Builds model and connection segments, preserving the remote badge at narrow widths. */
|
|
36
36
|
export declare function buildStatusLine(input: StatusLineInput): string | undefined;
|
|
37
|
+
export {};
|
|
@@ -89,7 +89,7 @@ export type TerminalKey = {
|
|
|
89
89
|
type: "ignore";
|
|
90
90
|
};
|
|
91
91
|
/** One decoded key plus the UTF-16 code units it consumed from the input buffer. */
|
|
92
|
-
|
|
92
|
+
interface KeyToken {
|
|
93
93
|
key?: TerminalKey;
|
|
94
94
|
consumed: number;
|
|
95
95
|
/** The buffer ends mid-sequence; wait for more bytes before decoding. */
|
|
@@ -127,7 +127,7 @@ export declare function stripPromptControlCharacters(text: string): string;
|
|
|
127
127
|
*/
|
|
128
128
|
export declare function nextKey(buffer: string): KeyToken;
|
|
129
129
|
export declare function parseKey(chunk: Buffer): TerminalKey;
|
|
130
|
-
|
|
130
|
+
interface AssistantResponseStats {
|
|
131
131
|
totalTokens: number | undefined;
|
|
132
132
|
outputTokens: number | undefined;
|
|
133
133
|
tokensPerSecond: number | undefined;
|
|
@@ -155,3 +155,4 @@ export declare function formatTokenFlow(flow: {
|
|
|
155
155
|
arrowDown: string;
|
|
156
156
|
}): string;
|
|
157
157
|
export declare function formatAssistantResponseStats(stats: AssistantResponseStats, mode: AssistantResponseStatsMode): string | undefined;
|
|
158
|
+
export {};
|
|
@@ -24,7 +24,7 @@ export type TerminalOutput = {
|
|
|
24
24
|
on(event: "resize", listener: () => void): TerminalOutput;
|
|
25
25
|
off(event: "resize", listener: () => void): TerminalOutput;
|
|
26
26
|
};
|
|
27
|
-
|
|
27
|
+
type TerminalRendererOptions = {
|
|
28
28
|
input?: TerminalInput;
|
|
29
29
|
output?: TerminalOutput;
|
|
30
30
|
tools?: TerminalPartDisplayMode;
|
|
@@ -46,7 +46,7 @@ export type TerminalRendererOptions = {
|
|
|
46
46
|
argumentSuggestions?: (command: ArgumentTypeaheadCommand) => Promise<readonly PromptArgumentSuggestion[]>;
|
|
47
47
|
onExitRequest?: () => void;
|
|
48
48
|
};
|
|
49
|
-
|
|
49
|
+
type AgentHeaderOptions = {
|
|
50
50
|
name: string;
|
|
51
51
|
serverUrl: string;
|
|
52
52
|
info?: AgentInfoResult;
|
|
@@ -184,3 +184,4 @@ export declare class TerminalRenderer implements AgentTUIRenderer {
|
|
|
184
184
|
setLogDisplayMode(mode: LogDisplayMode): void;
|
|
185
185
|
flushDelayedDevBuildErrors(): void;
|
|
186
186
|
}
|
|
187
|
+
export {};
|
|
@@ -106,7 +106,7 @@ export interface Theme {
|
|
|
106
106
|
readonly glyph: ThemeGlyphs;
|
|
107
107
|
readonly spinner: readonly string[];
|
|
108
108
|
}
|
|
109
|
-
|
|
109
|
+
interface CreateThemeOptions {
|
|
110
110
|
/** Whether to emit ANSI color. Defaults to `true`. */
|
|
111
111
|
color?: boolean;
|
|
112
112
|
/** Whether the terminal renders Unicode glyphs. Defaults to `true`. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Block, DisplayBlock } from "./blocks.js";
|
|
2
|
-
|
|
2
|
+
interface ToolBlockDisplayGroup {
|
|
3
3
|
readonly members: readonly Block[];
|
|
4
4
|
readonly display: DisplayBlock;
|
|
5
5
|
}
|
|
@@ -18,7 +18,7 @@ export interface ToolBlockDisplayGroup {
|
|
|
18
18
|
* consume a group must remove its members by identity, never by prefix
|
|
19
19
|
* length.
|
|
20
20
|
*/
|
|
21
|
-
|
|
21
|
+
interface GroupToolBlocksOptions {
|
|
22
22
|
/**
|
|
23
23
|
* How captured log writes coalesce. `"window"` (the default, for the live
|
|
24
24
|
* block window) merges every write of one source across the whole input
|
|
@@ -38,3 +38,4 @@ export declare function groupToolBlocksForDisplay(blocks: readonly Block[], opti
|
|
|
38
38
|
* header. The completed section's counted footnote carries the full story.
|
|
39
39
|
*/
|
|
40
40
|
export declare const maxVisibleSubagentRunChildren = 1;
|
|
41
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ToolDetailLine } from "./line-diff.js";
|
|
2
2
|
/** Renderer-ready copy derived from a tool call without owning its lifecycle. */
|
|
3
|
-
|
|
3
|
+
interface ToolPresentation {
|
|
4
4
|
readonly title: string;
|
|
5
5
|
readonly subtitle: string;
|
|
6
6
|
readonly summarizeResult: (output: unknown) => string | undefined;
|
|
@@ -65,3 +65,4 @@ export declare function presentPreparingTool(toolName: string, context?: ToolPre
|
|
|
65
65
|
export declare function isPanelRoutedTool(toolName: string): boolean;
|
|
66
66
|
/** The tool's short name with any connection/server namespace stripped. */
|
|
67
67
|
export declare function toolBaseName(toolName: string): string;
|
|
68
|
+
export {};
|
|
@@ -22,12 +22,3 @@ export declare function formatAttributeContent(key: string, value: unknown, dim:
|
|
|
22
22
|
export declare function wrapPlainText(text: string, width: number): string[];
|
|
23
23
|
/** Formats a payload: JSON structure pretty-prints, anything else stays text. */
|
|
24
24
|
export declare function formatPayloadContent(text: string, width: number): string[];
|
|
25
|
-
/** Pretty-prints a JSON value with two-space indents, wrapped to `width`. */
|
|
26
|
-
export declare function prettyJson(value: unknown, width: number): string[];
|
|
27
|
-
/**
|
|
28
|
-
* Payload text can carry real newlines (tool results frequently end with one).
|
|
29
|
-
* Left raw, they split a composed frame row and inject phantom lines into the
|
|
30
|
-
* frame. Split them into real display lines; a trailing newline's empty tail
|
|
31
|
-
* is dropped.
|
|
32
|
-
*/
|
|
33
|
-
export declare function splitEmbeddedNewlines(lines: readonly string[]): string[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{stripTerminalControls,visibleLength,wrapVisibleLine}from"#cli/ui/terminal-text.js";function formatAttributeContent(e,t,n,r){if(typeof t!=`string`)return Array.isArray(t)?prettyJson(t,r):[stripTerminalControls(shortJson(t))];if(e===`gen_ai.input.messages`){let e=genAiMessageTranscript(t,n,r);if(e!==void 0)return e}return formatPayloadContent(t,r)}function wrapPlainText(e,t){return splitEmbeddedNewlines([stripTerminalControls(e)]).flatMap(e=>wrapVisibleLine(e,t))}function formatPayloadContent(e,t){let n=parseJson(e);return n!==void 0&&(Array.isArray(n)||isRecord(n))?prettyJson(n,t):wrapPlainText(e,t)}function genAiMessageTranscript(e,t,n){let r=parseJson(e);if(!Array.isArray(r)||!r.every(isGenAiMessage))return;let i=[],a=new Map;for(let e of r){let r=genAiMessageParts(e.parts,a),o=e.role===`tool`?toolRoleLabel(r):stripTerminalControls(String(e.role));r.forEach((e,r)=>{let a=r===0?`${t(`${o}:`)} `:` `;i.push(...wrapPrefixed(a,e.text,e.dim?t:void 0,n))})}return i}function toolRoleLabel(e){let t=e.find(e=>e.name!==void 0);return t?.name===void 0?`tool`:`tool ${t.name}`}function genAiMessageParts(e,t){if(!Array.isArray(e))return[{text:shortJson(e)}];let n=[];for(let r of e){if(!isRecord(r)||typeof r.type!=`string`){n.push({text:shortJson(r)});continue}if(r.type===`text`&&typeof r.content==`string`)n.push({text:stripTerminalControls(r.content)});else if(r.type===`reasoning`){let e=typeof r.content==`string`?stripTerminalControls(r.content.trim()):``;n.push({dim:!0,text:e.length>0?`⟨reasoning⟩ ${e}`:`⟨reasoning⟩`})}else if(r.type===`tool_call`&&typeof r.name==`string`){let e=stripTerminalControls(r.name);typeof r.id==`string`&&t.set(r.id,e),n.push({name:e,text:`→ ${e}(${shortJson(r.arguments)})`})}else if(r.type===`tool_call_response`){let e=typeof r.id==`string`?t.get(r.id):void 0;n.push({name:e,text:toolResponseText(r.response)})}else n.push({text:shortJson(r)})}return n.length===0&&n.push({text:shortJson(e)}),n}function toolResponseText(e){return typeof e==`string`?stripTerminalControls(e):shortJson(e)}function prettyJson(e,t){return JSON.stringify(e,null,2).split(`
|
|
2
|
-
`).flatMap(e=>wrapHanging(e,t,t))}function wrapPrefixed(e,t,n,r){let i=n??(e=>e),a=[];return splitEmbeddedNewlines([t]).forEach((t,n)=>{let o=n===0?e:` `,s=n===0?visibleLength(e):2;wrapHanging(t,r,Math.max(8,r-s)).forEach((e,t)=>{a.push(t===0?`${o}${i(e)}`:` ${i(e)}`)})}),a}function wrapHanging(e,t,n){let r=wrapVisibleLine(e,Math.max(8,t-2));if(visibleLength(r[0]??``)<=n)return r;let[i,...a]=wrapVisibleLine(r[0]??``,Math.max(8,n));return[i??``,...a,...r.slice(1)]}function splitEmbeddedNewlines(e){let t=e.flatMap(e=>e.split(/\r\n|\r|\n/));for(;t.length>1&&t[t.length-1]===``;)t.pop();return t}function shortJson(e){try{return JSON.stringify(e)??String(e)}catch{return String(e)}}function parseJson(e){try{return JSON.parse(e)}catch{return}}function isGenAiMessage(e){return isRecord(e)&&typeof e.role==`string`}function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}export{formatAttributeContent,formatPayloadContent,
|
|
2
|
+
`).flatMap(e=>wrapHanging(e,t,t))}function wrapPrefixed(e,t,n,r){let i=n??(e=>e),a=[];return splitEmbeddedNewlines([t]).forEach((t,n)=>{let o=n===0?e:` `,s=n===0?visibleLength(e):2;wrapHanging(t,r,Math.max(8,r-s)).forEach((e,t)=>{a.push(t===0?`${o}${i(e)}`:` ${i(e)}`)})}),a}function wrapHanging(e,t,n){let r=wrapVisibleLine(e,Math.max(8,t-2));if(visibleLength(r[0]??``)<=n)return r;let[i,...a]=wrapVisibleLine(r[0]??``,Math.max(8,n));return[i??``,...a,...r.slice(1)]}function splitEmbeddedNewlines(e){let t=e.flatMap(e=>e.split(/\r\n|\r|\n/));for(;t.length>1&&t[t.length-1]===``;)t.pop();return t}function shortJson(e){try{return JSON.stringify(e)??String(e)}catch{return String(e)}}function parseJson(e){try{return JSON.parse(e)}catch{return}}function isGenAiMessage(e){return isRecord(e)&&typeof e.role==`string`}function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}export{formatAttributeContent,formatPayloadContent,wrapPlainText};
|
|
@@ -9,7 +9,7 @@ import type { LocalTraceSpan } from "#tracing/local-trace-reader.js";
|
|
|
9
9
|
import type { Theme } from "../theme.js";
|
|
10
10
|
import type { TraceViewerSurfaces } from "./trace-surfaces.js";
|
|
11
11
|
import type { TextSelectionRange, TraceViewerState } from "./trace-viewer-state.js";
|
|
12
|
-
|
|
12
|
+
interface TraceViewerFrame {
|
|
13
13
|
readonly rows: readonly string[];
|
|
14
14
|
/** Detail rows the panel has for the selected span — fed back into key handling. */
|
|
15
15
|
readonly panelTotalRows: number;
|
|
@@ -20,7 +20,7 @@ export interface TraceViewerFrame {
|
|
|
20
20
|
/** Column width the body renders at (expandability is width-dependent). */
|
|
21
21
|
readonly contentWidth: number;
|
|
22
22
|
}
|
|
23
|
-
|
|
23
|
+
interface RenderTraceViewerOptions {
|
|
24
24
|
readonly width: number;
|
|
25
25
|
readonly height: number;
|
|
26
26
|
readonly theme: Theme;
|
|
@@ -53,3 +53,4 @@ export declare function conversationSelectionText(state: TraceViewerState, width
|
|
|
53
53
|
* does, so columns map to the same cells the user selected.
|
|
54
54
|
*/
|
|
55
55
|
export declare function panelSelectionText(state: TraceViewerState, totalWidth: number, theme: Theme, selection: TextSelectionRange): string;
|
|
56
|
+
export {};
|
|
@@ -19,7 +19,7 @@ export interface TraceViewerOpenOptions {
|
|
|
19
19
|
export interface TraceViewerRenderer {
|
|
20
20
|
open(options: TraceViewerOpenOptions): Promise<void>;
|
|
21
21
|
}
|
|
22
|
-
|
|
22
|
+
interface TraceViewerSessionOptions extends TraceViewerOpenOptions {
|
|
23
23
|
readonly theme: Theme;
|
|
24
24
|
readonly paint: (rows: readonly string[]) => void;
|
|
25
25
|
readonly dimensions: () => {
|
|
@@ -52,3 +52,4 @@ export declare class TraceViewerSession {
|
|
|
52
52
|
repaint(): void;
|
|
53
53
|
dispose(): void;
|
|
54
54
|
}
|
|
55
|
+
export {};
|
|
@@ -80,7 +80,7 @@ export interface TraceViewerKeyEnvironment {
|
|
|
80
80
|
*/
|
|
81
81
|
readonly conversationLineCounts?: readonly number[];
|
|
82
82
|
}
|
|
83
|
-
|
|
83
|
+
interface TraceViewerKeyResult {
|
|
84
84
|
readonly state: TraceViewerState;
|
|
85
85
|
readonly effect?: "close";
|
|
86
86
|
/** A completed drag selection to copy — the controller extracts and copies the text. */
|
|
@@ -88,8 +88,6 @@ export interface TraceViewerKeyResult {
|
|
|
88
88
|
}
|
|
89
89
|
export declare function createTraceViewerState(): TraceViewerState;
|
|
90
90
|
export declare function selectedTraceViewerSpan(state: TraceViewerState): LocalTraceSpan | undefined;
|
|
91
|
-
/** The number of selectable cards. */
|
|
92
|
-
export declare function traceViewerItemCount(state: TraceViewerState): number;
|
|
93
91
|
/**
|
|
94
92
|
* Applies a fresh trace listing. The viewed trace is kept by identity across
|
|
95
93
|
* reorders (a live trace climbs the list as spans land); when it disappears,
|
|
@@ -108,3 +106,4 @@ export declare function applyTraceList(state: TraceViewerState, entries: readonl
|
|
|
108
106
|
export declare function applyLoadedTrace(state: TraceViewerState, trace: LocalTrace | undefined): TraceViewerState;
|
|
109
107
|
/** The one key handler: navigation, expansion, the details drawer, closing. */
|
|
110
108
|
export declare function reduceTraceViewerKey(state: TraceViewerState, key: TerminalKey, environment: TraceViewerKeyEnvironment): TraceViewerKeyResult;
|
|
109
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{buildConversationItems,conversationItemExpandable}from"#cli/dev/tui/traces/trace-conversation.js";const TRACE_VIEWER_HEADER_ROWS=3;function orderedTextSelection(e){let{anchor:t,head:n}=e;return t.line<n.line||t.line===n.line&&t.column<=n.column?{start:t,end:n}:{start:n,end:t}}function createTraceViewerState(){return{...clearedTraceView(),traces:[],traceIndex:0}}function clearedTraceView(){return{trace:void 0,conversationItems:[],expandedItems:new Set,selectedRow:0,scrollRow:0,panelOpen:!1,panelFocus:!1,panelScroll:0,textSelection:void 0}}function selectedTraceViewerSpan(e){return e.conversationItems[e.selectedRow]?.span}function traceViewerItemCount(e){return e.conversationItems.length}function applyTraceList(e,t,n={}){let r=e.traces[e.traceIndex]?.traceId,i=n.preferTraceId===void 0?-1:t.findIndex(e=>e.traceId===n.preferTraceId);i===-1&&(i=r===void 0?-1:t.findIndex(e=>e.traceId===r)),i===-1&&(i=t.length===0?0:Math.max(0,e.traceIndex)),i>=t.length&&(i=Math.max(0,t.length-1));let a=t[i]?.traceId!==r,o=t.length===0?e.notice??`No local traces yet — chat with your agent and spans stream in live.`:e.notice?.startsWith(`No local traces`)?void 0:e.notice;return a?{...e,...clearedTraceView(),traces:t,traceIndex:i,notice:o}:{...e,traces:t,traceIndex:i,notice:o}}function applyLoadedTrace(e,t){if(t===void 0)return e.trace===void 0?e:{...e,trace:void 0,conversationItems:[],selectedRow:0,scrollRow:0,panelOpen:!1,panelFocus:!1,panelScroll:0,notice:`This trace was pruned — pick another with [ and ].`};let n=selectedTraceViewerSpan(e)?.spanId,r=e.conversationItems[e.selectedRow]?.kind,i=buildConversationItems(t),a;if(n===void 0)a=e.selectedRow;else{let matches=e=>e.span.spanId===n&&e.kind===r,t=e.conversationItems.slice(0,e.selectedRow).filter(matches).length,o=i.flatMap((e,t)=>matches(e)?[t]:[]);a=o[Math.min(t,o.length-1)]??-1}a===-1&&(a=Math.min(e.selectedRow,i.length-1)),a<0&&(a=0);let o=e.notice?.startsWith(`This trace was pruned`)?void 0:e.notice;return{...e,trace:t,conversationItems:i,selectedRow:a,notice:o}}function reduceTraceViewerKey(e,t,n){let r=Math.max(0,n.panelTotalRows-n.panelViewportRows),i=e.panelScroll>r?{...e,panelScroll:r}:e;switch(t.type){case`escape`:return i.textSelection===void 0?i.panelFocus?{state:{...i,panelFocus:!1}}:i.panelOpen?{state:{...i,panelOpen:!1,panelScroll:0}}:{state:i,effect:`close`}:{state:{...i,textSelection:void 0}};case`ctrl-c`:return{state:i,effect:`close`};case`mouse`:{if(t.action===`press`&&(t.button===64||t.button===65)){let e=t.button===64?-3:3;if(i.panelOpen&&t.x-1>=n.contentWidth){let t=Math.min(r,Math.max(0,i.panelScroll+e));return{state:{...i,panelScroll:t}}}return{state:scrollConversation(i,e,n)}}if(t.action===`press`&&t.button===0){let e=selectionCellAt(i,n,t.x,t.y);return e===void 0?{state:{...i,textSelection:void 0}}:{state:{...i,textSelection:{anchor:e.point,head:e.point,dragging:!1,region:e.region}}}}if(t.action===`press`&&t.button===32){if(i.textSelection===void 0)return{state:i};let e=i.textSelection.region===`panel`?panelCellAt(i,n,t.x,t.y):conversationCellAt(i,n,t.x,t.y);if(e===void 0)return{state:i};let r=i.textSelection.dragging||e.line!==i.textSelection.anchor.line||e.column!==i.textSelection.anchor.column;return{state:{...i,textSelection:{...i.textSelection,head:e,dragging:r}}}}if(t.action!==`release`||t.button!==0)return{state:i};let e=i.textSelection,a={...i,textSelection:void 0};if(e!==void 0&&e.dragging)return{state:a,copySelection:e};let o=t.y-1-3;if(o<0)return{state:a};let s=conversationItemAtBodyRow(a,n,o);if(s===void 0)return{state:a};let c=a.conversationItems[s],l=new Set(a.expandedItems);return c!==void 0&&!l.has(s)&&conversationItemExpandable(c,n.contentWidth)?l.add(s):l.delete(s),{state:{...a,selectedRow:s,expandedItems:l}}}case`enter`:return traceViewerItemCount(i)===0?{state:i}:i.panelOpen?{state:{...i,panelOpen:!1,panelFocus:!1}}:{state:{...i,panelOpen:!0,panelScroll:0}};case`tab`:return i.panelOpen?{state:{...i,panelFocus:!i.panelFocus}}:{state:i};case`up`:case`ctrl-p`:return i.panelFocus?{state:{...i,panelScroll:Math.max(0,i.panelScroll-1)}}:{state:moveSelection(i,-1,n)};case`down`:case`ctrl-n`:return i.panelFocus?{state:{...i,panelScroll:Math.min(r,i.panelScroll+1)}}:{state:moveSelection(i,1,n)};case`home`:return i.panelFocus?{state:{...i,panelScroll:0}}:{state:moveSelection(i,-i.selectedRow,n)};case`end`:return i.panelFocus?{state:{...i,panelScroll:r}}:{state:moveSelection(i,traceViewerItemCount(i)-1-i.selectedRow,n)};case`left`:case`right`:{if(i.panelFocus)return{state:i};let e=i.conversationItems[i.selectedRow];if(e===void 0||!i.expandedItems.has(i.selectedRow)&&!conversationItemExpandable(e,n.contentWidth))return{state:i};let t=new Set(i.expandedItems);t.has(i.selectedRow)?t.delete(i.selectedRow):t.add(i.selectedRow);let r={...i,expandedItems:t};return{state:{...r,scrollRow:conversationScrollRow(r,n)}}}case`text`:return t.framing===`bracketed-paste`?{state:i}:t.value===`k`?i.panelFocus?{state:{...i,panelScroll:Math.max(0,i.panelScroll-1)}}:{state:moveSelection(i,-1,n)}:t.value===`j`?i.panelFocus?{state:{...i,panelScroll:Math.min(r,i.panelScroll+1)}}:{state:moveSelection(i,1,n)}:t.value===`q`?{state:i,effect:`close`}:t.value===`[`||t.value===`]`?{state:switchTrace(i,t.value===`[`?1:-1)}:{state:i};default:return{state:i}}}function switchTrace(e,t){if(e.traces.length===0)return e;let n=Math.min(Math.max(0,e.traceIndex+t),e.traces.length-1);return n===e.traceIndex?e:{...e,...clearedTraceView(),traceIndex:n}}function moveSelection(e,t,n){let r=traceViewerItemCount(e);if(r===0)return e;let i=Math.min(Math.max(0,e.selectedRow+t),r-1);return{...e,selectedRow:i,panelScroll:0,scrollRow:conversationScrollRow({...e,selectedRow:i},n)}}function cardLineOffsets(e,t){let n=[0];for(let r=0;r<e.conversationItems.length;r+=1)n.push(n[r]+(t[r]??1)+1);return n}function conversationLineTotal(e,t){let n=cardLineOffsets(e,t);return n[n.length-1]}function conversationScrollRow(e,t){let n=t.conversationLineCounts;if(n===void 0)return e.scrollRow;let r=t.timelineViewportRows,i=cardLineOffsets(e,n)[e.selectedRow]??0,a=n[e.selectedRow]??1,o=i+a;return e.scrollRow<=i&&o<=e.scrollRow+r?e.scrollRow:a>r?i:Math.max(0,o-r)}function conversationCellAt(e,t,n,r){let i=t.conversationLineCounts;if(i===void 0||e.conversationItems.length===0)return;let a=r-1-3;if(a<0||a>=t.timelineViewportRows)return;let o=n-1;if(o<0||o>=t.contentWidth)return;let s=conversationLineTotal(e,i),c=e.scrollRow+a;if(!(c>=s))return{column:o,line:c}}function panelCellAt(e,t,n,r){if(!e.panelOpen||t.panelTotalRows===0)return;let i=r-1-3;if(i<0||i>=t.panelViewportRows)return;let a=n-1-(t.contentWidth+1);if(a<0)return;let o=e.panelScroll+i;if(!(o>=t.panelTotalRows))return{column:a,line:o}}function selectionCellAt(e,t,n,r){let i=conversationCellAt(e,t,n,r);if(i!==void 0)return{point:i,region:`conversation`};let a=panelCellAt(e,t,n,r);if(a!==void 0)return{point:a,region:`panel`}}function conversationItemAtBodyRow(e,t,n){let r=t.conversationLineCounts;if(r===void 0)return;let i=e.scrollRow+n,a=cardLineOffsets(e,r);for(let t=0;t<e.conversationItems.length;t+=1)if(i<a[t+1])return t}function scrollConversation(e,t,n){let r=n.conversationLineCounts;if(r===void 0||e.conversationItems.length===0)return e;let i=n.timelineViewportRows,a=Math.max(0,conversationLineTotal(e,r)-i),o=Math.min(a,Math.max(0,e.scrollRow+t));return o===e.scrollRow?e:{...e,scrollRow:o}}export{TRACE_VIEWER_HEADER_ROWS,applyLoadedTrace,applyTraceList,createTraceViewerState,orderedTextSelection,reduceTraceViewerKey,selectedTraceViewerSpan
|
|
1
|
+
import{buildConversationItems,conversationItemExpandable}from"#cli/dev/tui/traces/trace-conversation.js";const TRACE_VIEWER_HEADER_ROWS=3;function orderedTextSelection(e){let{anchor:t,head:n}=e;return t.line<n.line||t.line===n.line&&t.column<=n.column?{start:t,end:n}:{start:n,end:t}}function createTraceViewerState(){return{...clearedTraceView(),traces:[],traceIndex:0}}function clearedTraceView(){return{trace:void 0,conversationItems:[],expandedItems:new Set,selectedRow:0,scrollRow:0,panelOpen:!1,panelFocus:!1,panelScroll:0,textSelection:void 0}}function selectedTraceViewerSpan(e){return e.conversationItems[e.selectedRow]?.span}function traceViewerItemCount(e){return e.conversationItems.length}function applyTraceList(e,t,n={}){let r=e.traces[e.traceIndex]?.traceId,i=n.preferTraceId===void 0?-1:t.findIndex(e=>e.traceId===n.preferTraceId);i===-1&&(i=r===void 0?-1:t.findIndex(e=>e.traceId===r)),i===-1&&(i=t.length===0?0:Math.max(0,e.traceIndex)),i>=t.length&&(i=Math.max(0,t.length-1));let a=t[i]?.traceId!==r,o=t.length===0?e.notice??`No local traces yet — chat with your agent and spans stream in live.`:e.notice?.startsWith(`No local traces`)?void 0:e.notice;return a?{...e,...clearedTraceView(),traces:t,traceIndex:i,notice:o}:{...e,traces:t,traceIndex:i,notice:o}}function applyLoadedTrace(e,t){if(t===void 0)return e.trace===void 0?e:{...e,trace:void 0,conversationItems:[],selectedRow:0,scrollRow:0,panelOpen:!1,panelFocus:!1,panelScroll:0,notice:`This trace was pruned — pick another with [ and ].`};let n=selectedTraceViewerSpan(e)?.spanId,r=e.conversationItems[e.selectedRow]?.kind,i=buildConversationItems(t),a;if(n===void 0)a=e.selectedRow;else{let matches=e=>e.span.spanId===n&&e.kind===r,t=e.conversationItems.slice(0,e.selectedRow).filter(matches).length,o=i.flatMap((e,t)=>matches(e)?[t]:[]);a=o[Math.min(t,o.length-1)]??-1}a===-1&&(a=Math.min(e.selectedRow,i.length-1)),a<0&&(a=0);let o=e.notice?.startsWith(`This trace was pruned`)?void 0:e.notice;return{...e,trace:t,conversationItems:i,selectedRow:a,notice:o}}function reduceTraceViewerKey(e,t,n){let r=Math.max(0,n.panelTotalRows-n.panelViewportRows),i=e.panelScroll>r?{...e,panelScroll:r}:e;switch(t.type){case`escape`:return i.textSelection===void 0?i.panelFocus?{state:{...i,panelFocus:!1}}:i.panelOpen?{state:{...i,panelOpen:!1,panelScroll:0}}:{state:i,effect:`close`}:{state:{...i,textSelection:void 0}};case`ctrl-c`:return{state:i,effect:`close`};case`mouse`:{if(t.action===`press`&&(t.button===64||t.button===65)){let e=t.button===64?-3:3;if(i.panelOpen&&t.x-1>=n.contentWidth){let t=Math.min(r,Math.max(0,i.panelScroll+e));return{state:{...i,panelScroll:t}}}return{state:scrollConversation(i,e,n)}}if(t.action===`press`&&t.button===0){let e=selectionCellAt(i,n,t.x,t.y);return e===void 0?{state:{...i,textSelection:void 0}}:{state:{...i,textSelection:{anchor:e.point,head:e.point,dragging:!1,region:e.region}}}}if(t.action===`press`&&t.button===32){if(i.textSelection===void 0)return{state:i};let e=i.textSelection.region===`panel`?panelCellAt(i,n,t.x,t.y):conversationCellAt(i,n,t.x,t.y);if(e===void 0)return{state:i};let r=i.textSelection.dragging||e.line!==i.textSelection.anchor.line||e.column!==i.textSelection.anchor.column;return{state:{...i,textSelection:{...i.textSelection,head:e,dragging:r}}}}if(t.action!==`release`||t.button!==0)return{state:i};let e=i.textSelection,a={...i,textSelection:void 0};if(e!==void 0&&e.dragging)return{state:a,copySelection:e};let o=t.y-1-3;if(o<0)return{state:a};let s=conversationItemAtBodyRow(a,n,o);if(s===void 0)return{state:a};let c=a.conversationItems[s],l=new Set(a.expandedItems);return c!==void 0&&!l.has(s)&&conversationItemExpandable(c,n.contentWidth)?l.add(s):l.delete(s),{state:{...a,selectedRow:s,expandedItems:l}}}case`enter`:return traceViewerItemCount(i)===0?{state:i}:i.panelOpen?{state:{...i,panelOpen:!1,panelFocus:!1}}:{state:{...i,panelOpen:!0,panelScroll:0}};case`tab`:return i.panelOpen?{state:{...i,panelFocus:!i.panelFocus}}:{state:i};case`up`:case`ctrl-p`:return i.panelFocus?{state:{...i,panelScroll:Math.max(0,i.panelScroll-1)}}:{state:moveSelection(i,-1,n)};case`down`:case`ctrl-n`:return i.panelFocus?{state:{...i,panelScroll:Math.min(r,i.panelScroll+1)}}:{state:moveSelection(i,1,n)};case`home`:return i.panelFocus?{state:{...i,panelScroll:0}}:{state:moveSelection(i,-i.selectedRow,n)};case`end`:return i.panelFocus?{state:{...i,panelScroll:r}}:{state:moveSelection(i,traceViewerItemCount(i)-1-i.selectedRow,n)};case`left`:case`right`:{if(i.panelFocus)return{state:i};let e=i.conversationItems[i.selectedRow];if(e===void 0||!i.expandedItems.has(i.selectedRow)&&!conversationItemExpandable(e,n.contentWidth))return{state:i};let t=new Set(i.expandedItems);t.has(i.selectedRow)?t.delete(i.selectedRow):t.add(i.selectedRow);let r={...i,expandedItems:t};return{state:{...r,scrollRow:conversationScrollRow(r,n)}}}case`text`:return t.framing===`bracketed-paste`?{state:i}:t.value===`k`?i.panelFocus?{state:{...i,panelScroll:Math.max(0,i.panelScroll-1)}}:{state:moveSelection(i,-1,n)}:t.value===`j`?i.panelFocus?{state:{...i,panelScroll:Math.min(r,i.panelScroll+1)}}:{state:moveSelection(i,1,n)}:t.value===`q`?{state:i,effect:`close`}:t.value===`[`||t.value===`]`?{state:switchTrace(i,t.value===`[`?1:-1)}:{state:i};default:return{state:i}}}function switchTrace(e,t){if(e.traces.length===0)return e;let n=Math.min(Math.max(0,e.traceIndex+t),e.traces.length-1);return n===e.traceIndex?e:{...e,...clearedTraceView(),traceIndex:n}}function moveSelection(e,t,n){let r=traceViewerItemCount(e);if(r===0)return e;let i=Math.min(Math.max(0,e.selectedRow+t),r-1);return{...e,selectedRow:i,panelScroll:0,scrollRow:conversationScrollRow({...e,selectedRow:i},n)}}function cardLineOffsets(e,t){let n=[0];for(let r=0;r<e.conversationItems.length;r+=1)n.push(n[r]+(t[r]??1)+1);return n}function conversationLineTotal(e,t){let n=cardLineOffsets(e,t);return n[n.length-1]}function conversationScrollRow(e,t){let n=t.conversationLineCounts;if(n===void 0)return e.scrollRow;let r=t.timelineViewportRows,i=cardLineOffsets(e,n)[e.selectedRow]??0,a=n[e.selectedRow]??1,o=i+a;return e.scrollRow<=i&&o<=e.scrollRow+r?e.scrollRow:a>r?i:Math.max(0,o-r)}function conversationCellAt(e,t,n,r){let i=t.conversationLineCounts;if(i===void 0||e.conversationItems.length===0)return;let a=r-1-3;if(a<0||a>=t.timelineViewportRows)return;let o=n-1;if(o<0||o>=t.contentWidth)return;let s=conversationLineTotal(e,i),c=e.scrollRow+a;if(!(c>=s))return{column:o,line:c}}function panelCellAt(e,t,n,r){if(!e.panelOpen||t.panelTotalRows===0)return;let i=r-1-3;if(i<0||i>=t.panelViewportRows)return;let a=n-1-(t.contentWidth+1);if(a<0)return;let o=e.panelScroll+i;if(!(o>=t.panelTotalRows))return{column:a,line:o}}function selectionCellAt(e,t,n,r){let i=conversationCellAt(e,t,n,r);if(i!==void 0)return{point:i,region:`conversation`};let a=panelCellAt(e,t,n,r);if(a!==void 0)return{point:a,region:`panel`}}function conversationItemAtBodyRow(e,t,n){let r=t.conversationLineCounts;if(r===void 0)return;let i=e.scrollRow+n,a=cardLineOffsets(e,r);for(let t=0;t<e.conversationItems.length;t+=1)if(i<a[t+1])return t}function scrollConversation(e,t,n){let r=n.conversationLineCounts;if(r===void 0||e.conversationItems.length===0)return e;let i=n.timelineViewportRows,a=Math.max(0,conversationLineTotal(e,r)-i),o=Math.min(a,Math.max(0,e.scrollRow+t));return o===e.scrollRow?e:{...e,scrollRow:o}}export{TRACE_VIEWER_HEADER_ROWS,applyLoadedTrace,applyTraceList,createTraceViewerState,orderedTextSelection,reduceTraceViewerKey,selectedTraceViewerSpan};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AssistantResponseStatsMode, LogDisplayMode, TerminalPartDisplayMode, TuiDisplayOptions } from "#cli/dev/tui/types.js";
|
|
2
2
|
/** Parsed `eve dev` options that control terminal-UI behavior. */
|
|
3
|
-
|
|
3
|
+
interface DevelopmentTuiOptions {
|
|
4
4
|
readonly assistantResponseStats?: AssistantResponseStatsMode;
|
|
5
5
|
readonly connectionAuth?: TerminalPartDisplayMode;
|
|
6
6
|
readonly contextSize?: number;
|
|
@@ -11,7 +11,7 @@ export interface DevelopmentTuiOptions {
|
|
|
11
11
|
readonly ui?: boolean;
|
|
12
12
|
}
|
|
13
13
|
/** Whether `eve dev` launches the terminal UI or keeps only the server running. */
|
|
14
|
-
|
|
14
|
+
type DevUiMode = "tui" | "headless";
|
|
15
15
|
/** Resolves the UI mode from parsed flags and terminal interactivity. */
|
|
16
16
|
export declare function resolveDevUiMode(input: {
|
|
17
17
|
readonly options: Pick<DevelopmentTuiOptions, "ui">;
|
|
@@ -19,3 +19,4 @@ export declare function resolveDevUiMode(input: {
|
|
|
19
19
|
}): DevUiMode;
|
|
20
20
|
/** Builds terminal-UI display options with the defaults used by `eve dev`. */
|
|
21
21
|
export declare function resolveTuiDisplayOptions(options: DevelopmentTuiOptions): TuiDisplayOptions;
|
|
22
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type DevelopmentRequestHeaders = Readonly<Record<string, string>>;
|
|
2
|
-
|
|
2
|
+
interface DevelopmentUrlTargetOptions {
|
|
3
3
|
header?: DevelopmentRequestHeaders;
|
|
4
4
|
host?: string;
|
|
5
5
|
port?: number;
|
|
@@ -12,3 +12,4 @@ export interface DevelopmentUrlTarget {
|
|
|
12
12
|
}
|
|
13
13
|
export declare function parseDevelopmentHeaderOption(value: string, previous?: DevelopmentRequestHeaders): DevelopmentRequestHeaders;
|
|
14
14
|
export declare function resolveDevelopmentUrlTarget(options: DevelopmentUrlTargetOptions, positionalUrl: string | undefined): DevelopmentUrlTarget | undefined;
|
|
15
|
+
export {};
|
|
@@ -2,10 +2,6 @@ import { type Command } from "#compiled/commander/index.js";
|
|
|
2
2
|
import type { CliApplicationContext } from "#cli/application-command.js";
|
|
3
3
|
import { type RunInvokeInput } from "./invoke.js";
|
|
4
4
|
import { type InvokeResult } from "./result.js";
|
|
5
|
-
export interface InvokeCommandDependencies {
|
|
6
|
-
readonly loadEnvironment: (appRoot: string) => void | Promise<void>;
|
|
7
|
-
readonly runInvoke: (input: RunInvokeInput) => Promise<InvokeResult>;
|
|
8
|
-
}
|
|
9
5
|
/** Runtime overrides used when wiring `eve remote invoke` into the CLI. */
|
|
10
6
|
export interface InvokeCliRuntimeDependencies {
|
|
11
7
|
readonly runInvoke: (input: RunInvokeInput) => Promise<InvokeResult>;
|
|
@@ -20,11 +16,4 @@ export declare function registerRuntimeInvokeCommand(input: {
|
|
|
20
16
|
readonly program: Command;
|
|
21
17
|
readonly runtime: Partial<InvokeCliRuntimeDependencies>;
|
|
22
18
|
}): void;
|
|
23
|
-
/** Registers the non-interactive remote invocation command. */
|
|
24
|
-
export declare function registerInvokeCommand(input: {
|
|
25
|
-
readonly applicationContext: CliApplicationContext;
|
|
26
|
-
readonly deps: InvokeCommandDependencies;
|
|
27
|
-
readonly logger: InvokeCommandLogger;
|
|
28
|
-
readonly program: Command;
|
|
29
|
-
}): void;
|
|
30
19
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{parseInvokeResumeInput}from"./result.js";import{resolveInvokeOperation}from"./invoke.js";import{InvalidArgumentError}from"#compiled/commander/index.js";import{parseDevelopmentHeaderOption,resolveDevelopmentUrlTarget}from"#cli/dev/url-target.js";import{parseDevelopmentServerUrl}from"#cli/dev/url.js";function registerRuntimeInvokeCommand(e){registerInvokeCommand({...e,deps:{loadEnvironment:async e=>await(await import(`#cli/dev/environment.js`)).loadDevelopmentEnvironmentFiles(e),runInvoke:async t=>await(e.runtime.runInvoke??(await import(`./invoke.js`)).runInvoke)(t)}})}function registerInvokeCommand(e){e.program.command(`invoke [prompt]`).description(`Invoke an existing eve agent without a terminal UI.`).requiredOption(`-u, --url <url>`,`Existing eve agent URL`,parseDevelopmentServerUrl).option(`-H, --header <header>`,`Request header for a URL target, in "Name: value" form (repeatable)`,parseDevelopmentHeaderOption).option(`--resume`,`Read a previous resumable result from stdin`).option(`--scope <team>`,`Vercel team that owns the URL target`).action((t,n)=>runInvokeCommand({...e,options:n,prompt:t,url:n.url}))}async function runInvokeCommand(e){let{options:t}=e,n=t.resume===!0?parseInvokeResumeInput(await readJsonFromStdin()):void 0,r=n?.resume.target,i=resolveDevelopmentUrlTarget({header:t.header,url:e.url},void 0);if(r?.serverUrl!==void 0&&r.serverUrl!==i.serverUrl)throw Error(`Session target ${r.serverUrl} does not match ${i.serverUrl}.`);let a=resolveInvokeOperation({previous:n,prompt:e.prompt});await e.deps.loadEnvironment(e.applicationContext.root),await executeWithSignals(e,{kind:`remote`,serverUrl:i.serverUrl,workspaceRoot:e.applicationContext.root},i.headers,a,t.scope)}async function executeWithSignals(e,t,n,r,i){let a=new AbortController,o,handleSigint=()=>{o=130,a.abort()},handleSigterm=()=>{o=143,a.abort()};process.once(`SIGINT`,handleSigint),process.once(`SIGTERM`,handleSigterm);try{let s=n===void 0?{operation:r,signal:a.signal,target:t}:{headers:n,operation:r,signal:a.signal,target:t},c=i===void 0?s:{...s,vercelScope:i},l=await e.deps.runInvoke(c);e.logger.log(JSON.stringify(l,null,2)),process.exitCode=o??invokeExitCode(l)}finally{process.off(`SIGINT`,handleSigint),process.off(`SIGTERM`,handleSigterm)}}async function readJsonFromStdin(){let e=``;process.stdin.setEncoding(`utf8`);for await(let t of process.stdin)e+=t;if(e.trim().length===0)throw new InvalidArgumentError(`--resume expected a resumable eve remote invoke result on stdin.`);try{return JSON.parse(e)}catch{throw new InvalidArgumentError(`--resume received invalid JSON on stdin.`)}}function invokeExitCode(e){return e.status===`failed`||e.status===`authentication-required`||e.status===`ready`&&e.outcome.status===`failed`?1:e.status===`input-required`||e.status===`authorization-required`?3:0}export{
|
|
1
|
+
import{parseInvokeResumeInput}from"./result.js";import{resolveInvokeOperation}from"./invoke.js";import{InvalidArgumentError}from"#compiled/commander/index.js";import{parseDevelopmentHeaderOption,resolveDevelopmentUrlTarget}from"#cli/dev/url-target.js";import{parseDevelopmentServerUrl}from"#cli/dev/url.js";function registerRuntimeInvokeCommand(e){registerInvokeCommand({...e,deps:{loadEnvironment:async e=>await(await import(`#cli/dev/environment.js`)).loadDevelopmentEnvironmentFiles(e),runInvoke:async t=>await(e.runtime.runInvoke??(await import(`./invoke.js`)).runInvoke)(t)}})}function registerInvokeCommand(e){e.program.command(`invoke [prompt]`).description(`Invoke an existing eve agent without a terminal UI.`).requiredOption(`-u, --url <url>`,`Existing eve agent URL`,parseDevelopmentServerUrl).option(`-H, --header <header>`,`Request header for a URL target, in "Name: value" form (repeatable)`,parseDevelopmentHeaderOption).option(`--resume`,`Read a previous resumable result from stdin`).option(`--scope <team>`,`Vercel team that owns the URL target`).action((t,n)=>runInvokeCommand({...e,options:n,prompt:t,url:n.url}))}async function runInvokeCommand(e){let{options:t}=e,n=t.resume===!0?parseInvokeResumeInput(await readJsonFromStdin()):void 0,r=n?.resume.target,i=resolveDevelopmentUrlTarget({header:t.header,url:e.url},void 0);if(r?.serverUrl!==void 0&&r.serverUrl!==i.serverUrl)throw Error(`Session target ${r.serverUrl} does not match ${i.serverUrl}.`);let a=resolveInvokeOperation({previous:n,prompt:e.prompt});await e.deps.loadEnvironment(e.applicationContext.root),await executeWithSignals(e,{kind:`remote`,serverUrl:i.serverUrl,workspaceRoot:e.applicationContext.root},i.headers,a,t.scope)}async function executeWithSignals(e,t,n,r,i){let a=new AbortController,o,handleSigint=()=>{o=130,a.abort()},handleSigterm=()=>{o=143,a.abort()};process.once(`SIGINT`,handleSigint),process.once(`SIGTERM`,handleSigterm);try{let s=n===void 0?{operation:r,signal:a.signal,target:t}:{headers:n,operation:r,signal:a.signal,target:t},c=i===void 0?s:{...s,vercelScope:i},l=await e.deps.runInvoke(c);e.logger.log(JSON.stringify(l,null,2)),process.exitCode=o??invokeExitCode(l)}finally{process.off(`SIGINT`,handleSigint),process.off(`SIGTERM`,handleSigterm)}}async function readJsonFromStdin(){let e=``;process.stdin.setEncoding(`utf8`);for await(let t of process.stdin)e+=t;if(e.trim().length===0)throw new InvalidArgumentError(`--resume expected a resumable eve remote invoke result on stdin.`);try{return JSON.parse(e)}catch{throw new InvalidArgumentError(`--resume received invalid JSON on stdin.`)}}function invokeExitCode(e){return e.status===`failed`||e.status===`authentication-required`||e.status===`ready`&&e.outcome.status===`failed`?1:e.status===`input-required`||e.status===`authorization-required`?3:0}export{registerRuntimeInvokeCommand};
|
|
@@ -122,7 +122,7 @@ declare const invokeResultSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
122
122
|
}, z.core.$strict>], "status">;
|
|
123
123
|
/** Durable session coordinates emitted by `eve remote invoke`. Credentials are deliberately excluded. */
|
|
124
124
|
export type InvokeResume = z.infer<typeof invokeResumeSchema>;
|
|
125
|
-
|
|
125
|
+
type InvocationInputRequest = z.infer<typeof invocationInputRequestSchema>;
|
|
126
126
|
/** Result emitted by one non-interactive agent invocation. */
|
|
127
127
|
export type InvokeResult = z.infer<typeof invokeResultSchema>;
|
|
128
128
|
export type InvokeAuthenticationFailure = Extract<InvokeResult, {
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
export type EveCliTelemetryEvent = {
|
|
2
|
-
readonly id: string;
|
|
3
|
-
readonly event_time: number;
|
|
4
|
-
readonly key: string;
|
|
5
|
-
readonly value: string;
|
|
6
|
-
};
|
|
7
1
|
export type EveCliSetupFlow = "init" | "extension_init" | "onboarding";
|
|
8
2
|
export type EveCliSetupStep = "resolve_target" | "scaffold" | "install_dependencies" | "initialize_git" | "handoff" | "connection_ready" | "first_response" | "model_provider" | "model_settings" | "registry_channels" | "registry_integrations" | "registry_review" | "registry_install";
|
|
9
3
|
export type EveCliSetupTerminalResult = "completed" | "cancelled" | "error";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type EveCliTelemetryIdentity } from "#cli/telemetry/identity.js";
|
|
2
|
-
|
|
2
|
+
type EveTelemetryPreference = {
|
|
3
3
|
readonly enabled: boolean;
|
|
4
4
|
readonly notified: boolean;
|
|
5
5
|
};
|
|
@@ -7,3 +7,4 @@ export declare function readEveTelemetryPreference(): Promise<EveTelemetryPrefer
|
|
|
7
7
|
export declare function readOrCreateEveTelemetryIdentity(): Promise<EveCliTelemetryIdentity>;
|
|
8
8
|
export declare function setEveTelemetryEnabled(enabled: boolean): Promise<void>;
|
|
9
9
|
export declare function markEveTelemetryNotified(): Promise<void>;
|
|
10
|
+
export {};
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
* Like {@link LiveRegion}, writes go through the terminal's original `write`
|
|
11
11
|
* captured at construction so foreign-output capture never sees the paints.
|
|
12
12
|
*/
|
|
13
|
-
|
|
13
|
+
interface AltScreenOutput {
|
|
14
14
|
write(chunk: string): boolean;
|
|
15
15
|
}
|
|
16
|
-
|
|
16
|
+
interface AltScreenEnterOptions {
|
|
17
17
|
/** Interactive subprocesses need the terminal cursor; rendered views do not. */
|
|
18
18
|
cursor?: "hidden" | "visible";
|
|
19
19
|
/** Rendered views use mouse events; inherited subprocesses retain native selection. */
|
|
@@ -46,3 +46,4 @@ export declare class AltScreen {
|
|
|
46
46
|
/** Restores the main screen, cursor, and mouse reporting. */
|
|
47
47
|
exit(): void;
|
|
48
48
|
}
|
|
49
|
+
export {};
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
* `process.stdout.write`) never mistakes the engine's own paint for agent log
|
|
20
20
|
* output.
|
|
21
21
|
*/
|
|
22
|
-
|
|
22
|
+
interface LiveRegionOutput {
|
|
23
23
|
write(chunk: string): boolean;
|
|
24
24
|
}
|
|
25
|
-
|
|
25
|
+
interface LiveRegionOptions {
|
|
26
26
|
/** Wrap each paint in synchronized-update markers to avoid flicker. */
|
|
27
27
|
synchronized?: boolean;
|
|
28
28
|
}
|
|
@@ -60,3 +60,4 @@ export declare class LiveRegion {
|
|
|
60
60
|
*/
|
|
61
61
|
reset(): void;
|
|
62
62
|
}
|
|
63
|
+
export {};
|
|
@@ -2,7 +2,7 @@ type CliMessageTone = "accent" | "danger" | "default" | "info" | "muted" | "suba
|
|
|
2
2
|
/**
|
|
3
3
|
* Shared color palette used by the eve CLI.
|
|
4
4
|
*/
|
|
5
|
-
|
|
5
|
+
interface CliTheme {
|
|
6
6
|
readonly color: boolean;
|
|
7
7
|
accent(text: string): string;
|
|
8
8
|
danger(text: string): string;
|
|
@@ -3,7 +3,6 @@ import type { CancelSessionResult, SendTurnPayload } from "#client/types.js";
|
|
|
3
3
|
import { type MessageStreamEvent } from "#protocol/message.js";
|
|
4
4
|
import type { UserContent } from "ai";
|
|
5
5
|
export declare function isSettledSessionTail(events: readonly MessageStreamEvent[]): boolean;
|
|
6
|
-
export declare function collectPendingAuthorizations(events: readonly MessageStreamEvent[]): Set<string>;
|
|
7
6
|
export declare function assertExclusiveTurnInput(input: SendTurnPayload): void;
|
|
8
7
|
export declare function createSubmissionId(): string;
|
|
9
8
|
export declare function createAbortSignal(first: AbortSignal | undefined, second: AbortSignal): AbortSignal;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{isCurrentTurnBoundaryEvent}from"#protocol/message.js";import{updatePendingAuthorizations}from"#client/session-utils.js";function isSettledSessionTail(e){let t=e.at(-1);return t!==void 0&&isCurrentTurnBoundaryEvent(t)&&(t.type!==`session.waiting`||collectPendingAuthorizations(e).size===0)}function collectPendingAuthorizations(e){let t=new Set;for(let n of e)updatePendingAuthorizations(t,n);return t}function assertExclusiveTurnInput(e){if(e.message!==void 0==(e.inputResponses!==void 0))throw Error(`A turn requires exactly one of message or inputResponses.`)}let submissionSequence=0;function createSubmissionId(){let e=globalThis.crypto?.randomUUID;return e===void 0?(submissionSequence+=1,`submission_${submissionSequence.toString()}`):e.call(globalThis.crypto)}function createAbortSignal(e,t){return e?AbortSignal.any([e,t]):t}function summarizeUserContent(e){if(typeof e==`string`)return e;let t=[];for(let n of e)n.type===`text`?t.push(n.text):n.type===`file`&&t.push(n.filename?`[file: ${n.filename}]`:`[file]`);return t.join(`
|
|
2
|
-
`)}function isAbortError(e){return e instanceof Error&&e.name===`AbortError`}function toTerminalStreamFailureError(e){if(e.type!==`session.failed`)return;let t=Error(e.data.message);return t.name=e.data.code,t}function createActiveTurn(e){let t=Promise.withResolvers(),n=Promise.withResolvers(),r={abortController:new AbortController,acceptedFollowUps:0,cancel:()=>e(r),completion:n.promise,followUpDispatches:new Set,receivedFollowUps:0,receivedFollowUpEvents:new Map,followUpSubmissionIds:new Set,resolveCompletion:n.resolve,response:t.promise,resolveResponse:t.resolve};return r}async function followSteeredTurns(e,t,n){for(;e.followUpDispatches.size>0;)await Promise.allSettled(e.followUpDispatches);if(!(e.receivedFollowUps>=e.acceptedFollowUps))for await(let r of t){if(!n())return;if(e.receivedFollowUps+=e.receivedFollowUpEvents.get(r)??0,e.receivedFollowUpEvents.delete(r),isCurrentTurnBoundaryEvent(r)){for(;e.followUpDispatches.size>0;)await Promise.allSettled(e.followUpDispatches);if(e.receivedFollowUps>=e.acceptedFollowUps)return}}}async function waitWithSignal(e,t){if(t===void 0)return await e;let n=Promise.withResolvers(),onAbort=()=>n.reject(t.reason);t.addEventListener(`abort`,onAbort,{once:!0}),t.aborted&&onAbort();try{return await Promise.race([n.promise,e])}finally{t.removeEventListener(`abort`,onAbort)}}export{assertExclusiveTurnInput,
|
|
2
|
+
`)}function isAbortError(e){return e instanceof Error&&e.name===`AbortError`}function toTerminalStreamFailureError(e){if(e.type!==`session.failed`)return;let t=Error(e.data.message);return t.name=e.data.code,t}function createActiveTurn(e){let t=Promise.withResolvers(),n=Promise.withResolvers(),r={abortController:new AbortController,acceptedFollowUps:0,cancel:()=>e(r),completion:n.promise,followUpDispatches:new Set,receivedFollowUps:0,receivedFollowUpEvents:new Map,followUpSubmissionIds:new Set,resolveCompletion:n.resolve,response:t.promise,resolveResponse:t.resolve};return r}async function followSteeredTurns(e,t,n){for(;e.followUpDispatches.size>0;)await Promise.allSettled(e.followUpDispatches);if(!(e.receivedFollowUps>=e.acceptedFollowUps))for await(let r of t){if(!n())return;if(e.receivedFollowUps+=e.receivedFollowUpEvents.get(r)??0,e.receivedFollowUpEvents.delete(r),isCurrentTurnBoundaryEvent(r)){for(;e.followUpDispatches.size>0;)await Promise.allSettled(e.followUpDispatches);if(e.receivedFollowUps>=e.acceptedFollowUps)return}}}async function waitWithSignal(e,t){if(t===void 0)return await e;let n=Promise.withResolvers(),onAbort=()=>n.reject(t.reason);t.addEventListener(`abort`,onAbort,{once:!0}),t.aborted&&onAbort();try{return await Promise.race([n.promise,e])}finally{t.removeEventListener(`abort`,onAbort)}}export{assertExclusiveTurnInput,createAbortSignal,createActiveTurn,createSubmissionId,followSteeredTurns,isAbortError,isSettledSessionTail,summarizeUserContent,toTerminalStreamFailureError,waitWithSignal};
|
|
@@ -8,7 +8,7 @@ import type { EveDynamicToolPart, EveMessageInputRequest, EveMessageToolMetadata
|
|
|
8
8
|
* plain tool calls onto a single `dynamic-tool` UI part; this descriptor is the
|
|
9
9
|
* shared shape those variants collapse to before rendering.
|
|
10
10
|
*/
|
|
11
|
-
|
|
11
|
+
interface ActionDescriptor {
|
|
12
12
|
readonly kind: "load-skill" | "subagent-call" | "tool-call";
|
|
13
13
|
readonly name: string;
|
|
14
14
|
readonly toolName: string;
|
|
@@ -41,3 +41,4 @@ export declare function normalizeActionRequest(action: RuntimeActionRequest): Ac
|
|
|
41
41
|
export declare function normalizeActionResult(result: RuntimeActionResult): ActionDescriptor;
|
|
42
42
|
/** Best-effort string rendering of an unknown tool output for error display. */
|
|
43
43
|
export declare function stringifyUnknown(value: unknown): string;
|
|
44
|
+
export {};
|