eve 0.67.1 → 0.68.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 +34 -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 +3 -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/command-options.d.ts +1 -0
- package/dist/src/cli/dev/command.js +1 -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/local-server-process.js +1 -1
- 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/tui/tui.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/@photon-ai/chat-adapter-imessage/index.js +55 -55
- package/dist/src/compiled/@vercel/blob/index.js +1 -1
- package/dist/src/compiled/@vercel/oidc/index.js +1 -1
- 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/extension-compatibility.d.ts +6 -6
- package/dist/src/compiler/extension-compatibility.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/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-driver-source.d.ts +0 -2
- package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use-driver-source.js +57 -57
- package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use-sandbox.js +1 -1
- package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use.d.ts +1 -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/tools.d.ts +1 -0
- package/dist/src/computer-use/tools.js +1 -0
- package/dist/src/context/build-base-tool-context.d.ts +2 -1
- package/dist/src/context/dynamic-tool-lifecycle.d.ts +1 -5
- 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/hook-lifecycle.d.ts +4 -3
- package/dist/src/context/hook-lifecycle.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/continuation-conflict-step.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/proxied-deliver-step.js +1 -1
- package/dist/src/execution/publish-channel-event.js +1 -1
- 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/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.js +1 -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/task-input-response-route.js +1 -1
- package/dist/src/execution/tasks/child/notify.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 +2 -2
- package/dist/src/execution/tools/sleep-workflow.js +1 -1
- package/dist/src/execution/tools/subagent/emit-event-step.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/answer.d.ts +4 -1
- package/dist/src/execution/tools/workflow/answer.js +1 -1
- 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/execution/workflow-runtime.js +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/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/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 +2 -2
- 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/ai-sdk-hook-bridge.js +1 -1
- package/dist/src/instrumentation/lifecycle.d.ts +2 -2
- package/dist/src/instrumentation/lifecycle.js +1 -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-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 -8
- 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/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 +2 -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 +3 -1
- package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.js +1 -1
- package/dist/src/internal/nitro/host/dev-host-candidate.d.ts +2 -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/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/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/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/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-codec.d.ts +2 -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/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/definitions/hook.d.ts +12 -0
- 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-client.d.ts +7 -0
- package/dist/src/runtime/connections/mcp-client.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/extension/subagents/agent/tools/search_traces.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/model-capabilities.d.ts +2 -2
- package/dist/src/setup/boxes/model-capabilities.js +1 -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 -3
- package/dist/src/setup/integrations/web/setup.js +3 -3
- 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/create/web-template.d.ts +1 -1
- package/dist/src/setup/scaffold/create/web-template.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/connection-types.d.ts +5 -0
- 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-model-catalog.d.ts +25 -2
- package/dist/src/shared/gateway-model-catalog.js +1 -1
- 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/parent-notification.js +1 -1
- package/dist/src/subagents/tool.d.ts +2 -1
- package/dist/src/tasks/types.d.ts +2 -0
- package/dist/src/tools/definition.d.ts +8 -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/docs/concepts/project-structure.mdx +1 -1
- package/docs/guides/auth-and-route-protection.md +1 -1
- package/docs/guides/deployment/vercel.mdx +1 -1
- package/docs/guides/dynamic-capabilities.md +10 -7
- package/docs/guides/hooks.md +34 -2
- package/docs/install-integrations.mdx +1 -1
- package/docs/reference/cli.md +36 -15
- package/docs/tools/human-in-the-loop.md +2 -0
- package/package.json +31 -10
- 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/boundary-hook-error.d.ts +0 -4
- package/dist/src/shared/boundary-hook-error.js +0 -1
- package/dist/src/shared/dispatch-action.d.ts +0 -30
- package/dist/src/shared/dispatch-action.js +0 -1
- /package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use-sandbox.d.ts +0 -0
- /package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use.js +0 -0
- /package/dist/src/{extensions/code → computer-use}/extension/tools/computer_use.d.ts +0 -0
- /package/dist/src/{extensions/code → computer-use}/extension/tools/computer_use.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{loadDevelopmentEnvironmentFiles}from"#cli/dev/environment.js";import{fork}from"node:child_process";import{fileURLToPath}from"node:url";import{EVE_DEV_ENV_FLAG}from"#internal/application/optional-package-install.js";const childPath=fileURLToPath(new URL(`./local-server-child.js`,import.meta.url)),DEV_SERVER_CLOSE_BUDGET_MS=800;function createDevelopmentServer(e,t={}){let n,r,i=!1,a=!1,o=Promise.withResolvers(),s=Promise.withResolvers();o.promise.catch(()=>void 0);let release=()=>{let e=n;e!==void 0&&(n=void 0,e.stdout?.destroy(),e.stderr?.destroy(),e.connected&&e.disconnect(),e.unref())};return{start:async()=>{if(n!==void 0)throw Error(`DevelopmentServer.start() was already called.`);let r={...process.env};await loadDevelopmentEnvironmentFiles(e),process.env[EVE_DEV_ENV_FLAG]??=`1`;let c=fork(childPath,[JSON.stringify({developmentExtensions:t.developmentExtensions,existing:t.existing,host:t.host,port:t.port})],{cwd:e,detached:!0,env:{...r,[EVE_DEV_ENV_FLAG]:`1`},stdio:[`ignore`,`pipe`,`pipe`,`ipc`]});return n=c,c.stdout?.on(`data`,e=>(t.output===`stderr`?process.stderr:process.stdout).write(e)),c.stderr?.on(`data`,e=>process.stderr.write(e)),new Promise((e,n)=>{let r=!1;c.once(`error`,n),c.once(`exit`,(e,t)=>{a=!0,s.resolve(),release(),r?i?o.resolve():o.reject(Error(`Development server exited unexpectedly (${String(e)}, ${String(t)}).`)):n(Error(`Development server exited during startup (${String(e)}, ${String(t)}).`))}),c.on(`message`,a=>{if(a.type===`progress`&&t.onBootProgress?.(a.event),a.type===`started`&&!r&&(r=!0,e(a.handle),a.handle.kind===`existing`&&(i=!0,release())),a.type===`failed`&&!r){r=!0;let e=Error(a.message);a.stack!==void 0&&(e.stack=a.stack),n(e)}})})},close(){if(r!==void 0)return r;let e=n;return e===void 0?Promise.resolve():(i=!0,r=(async()=>{e.connected&&e.send({type:`shutdown`}),!await terminatesWithin(e,s.promise,()=>a,550)&&(signalProcessGroup(e,`SIGTERM`),!await terminatesWithin(e,s.promise,()=>a,150)&&(signalProcessGroup(e,`SIGKILL`),await terminatesWithin(e,s.promise,()=>a,100),release()))})(),r)},wait:()=>o.promise}}async function terminatesWithin(e,t,n,r){let i=Date.now()+r;for(await settlesOrTimesOut(t,r);!hasTerminated(e,n())&&Date.now()<i;)await sleep(Math.min(25,i-Date.now()));return hasTerminated(e,n())}async function settlesOrTimesOut(e,t){let n;try{await Promise.race([e,new Promise(e=>{n=setTimeout(e,t)})])}finally{n!==void 0&&clearTimeout(n)}}function sleep(e){return new Promise(t=>setTimeout(t,e))}function hasTerminated(e,t){return t&&!isProcessGroupAlive(e)}function isProcessGroupAlive(e){if(process.platform===`win32`||e.pid===void 0)return!1;try{return process.kill(-e.pid,0),!0}catch{return!1}}function signalProcessGroup(e,t){if(process.platform!==`win32`&&e.pid!==void 0)try{process.kill(-e.pid,t);return}catch{}e.kill(t)}export{DEV_SERVER_CLOSE_BUDGET_MS,createDevelopmentServer};
|
|
1
|
+
import{loadDevelopmentEnvironmentFiles}from"#cli/dev/environment.js";import{fork}from"node:child_process";import{fileURLToPath}from"node:url";import{EVE_DEV_ENV_FLAG}from"#internal/application/optional-package-install.js";const childPath=fileURLToPath(new URL(`./local-server-child.js`,import.meta.url)),DEV_SERVER_CLOSE_BUDGET_MS=800;function createDevelopmentServer(e,t={}){let n,r,i=!1,a=!1,o=Promise.withResolvers(),s=Promise.withResolvers();o.promise.catch(()=>void 0);let release=()=>{let e=n;e!==void 0&&(n=void 0,e.stdout?.destroy(),e.stderr?.destroy(),e.connected&&e.disconnect(),e.unref())};return{start:async()=>{if(n!==void 0)throw Error(`DevelopmentServer.start() was already called.`);let r={...process.env};await loadDevelopmentEnvironmentFiles(e),process.env[EVE_DEV_ENV_FLAG]??=`1`;let c=fork(childPath,[JSON.stringify({developmentExtensions:t.developmentExtensions,existing:t.existing,host:t.host,port:t.port,resume:t.resume})],{cwd:e,detached:!0,env:{...r,[EVE_DEV_ENV_FLAG]:`1`},stdio:[`ignore`,`pipe`,`pipe`,`ipc`]});return n=c,c.stdout?.on(`data`,e=>(t.output===`stderr`?process.stderr:process.stdout).write(e)),c.stderr?.on(`data`,e=>process.stderr.write(e)),new Promise((e,n)=>{let r=!1;c.once(`error`,n),c.once(`exit`,(e,t)=>{a=!0,s.resolve(),release(),r?i?o.resolve():o.reject(Error(`Development server exited unexpectedly (${String(e)}, ${String(t)}).`)):n(Error(`Development server exited during startup (${String(e)}, ${String(t)}).`))}),c.on(`message`,a=>{if(a.type===`progress`&&t.onBootProgress?.(a.event),a.type===`started`&&!r&&(r=!0,e(a.handle),a.handle.kind===`existing`&&(i=!0,release())),a.type===`failed`&&!r){r=!0;let e=Error(a.message);a.stack!==void 0&&(e.stack=a.stack),n(e)}})})},close(){if(r!==void 0)return r;let e=n;return e===void 0?Promise.resolve():(i=!0,r=(async()=>{e.connected&&e.send({type:`shutdown`}),!await terminatesWithin(e,s.promise,()=>a,550)&&(signalProcessGroup(e,`SIGTERM`),!await terminatesWithin(e,s.promise,()=>a,150)&&(signalProcessGroup(e,`SIGKILL`),await terminatesWithin(e,s.promise,()=>a,100),release()))})(),r)},wait:()=>o.promise}}async function terminatesWithin(e,t,n,r){let i=Date.now()+r;for(await settlesOrTimesOut(t,r);!hasTerminated(e,n())&&Date.now()<i;)await sleep(Math.min(25,i-Date.now()));return hasTerminated(e,n())}async function settlesOrTimesOut(e,t){let n;try{await Promise.race([e,new Promise(e=>{n=setTimeout(e,t)})])}finally{n!==void 0&&clearTimeout(n)}}function sleep(e){return new Promise(t=>setTimeout(t,e))}function hasTerminated(e,t){return t&&!isProcessGroupAlive(e)}function isProcessGroupAlive(e){if(process.platform===`win32`||e.pid===void 0)return!1;try{return process.kill(-e.pid,0),!0}catch{return!1}}function signalProcessGroup(e,t){if(process.platform!==`win32`&&e.pid!==void 0)try{process.kill(-e.pid,t);return}catch{}e.kill(t)}export{DEV_SERVER_CLOSE_BUDGET_MS,createDevelopmentServer};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** Builds the startup card the dev TUI commits before the first prompt. */
|
|
2
2
|
import type { AgentInfoResult } from "#client/index.js";
|
|
3
3
|
import type { Theme } from "./theme.js";
|
|
4
|
-
|
|
4
|
+
interface AgentHeaderInput {
|
|
5
5
|
/** Resolved display name used when agent inspection is unavailable. */
|
|
6
6
|
name?: string;
|
|
7
7
|
/** Agent inspection payload, or `undefined` when it could not be fetched. */
|
|
@@ -12,3 +12,4 @@ export interface AgentHeaderInput {
|
|
|
12
12
|
}
|
|
13
13
|
/** Returns the styled rows of the startup card. */
|
|
14
14
|
export declare function buildAgentHeader(input: AgentHeaderInput): string[];
|
|
15
|
+
export {};
|
|
@@ -7,7 +7,7 @@ export interface PromptArgumentSuggestion {
|
|
|
7
7
|
/** Follow-up values available after selecting this exact value. */
|
|
8
8
|
readonly next?: readonly PromptArgumentSuggestion[];
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
interface ArgumentTypeaheadQuery {
|
|
11
11
|
readonly command: ArgumentTypeaheadCommand;
|
|
12
12
|
readonly argument: string;
|
|
13
13
|
/** Complete arguments before the one currently being typed. */
|
|
@@ -33,3 +33,4 @@ export declare function selectedArgumentSuggestion(state: ArgumentTypeaheadState
|
|
|
33
33
|
export declare function argumentTypeaheadCompletion(state: ArgumentTypeaheadState, suggestion: PromptArgumentSuggestion): string;
|
|
34
34
|
/** Paints canonical catalog values under the command's active argument column. */
|
|
35
35
|
export declare function renderArgumentSuggestions(state: ArgumentTypeaheadState, theme: Theme, width: number): string[];
|
|
36
|
+
export {};
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* components and each lifecycle phase renders as one short clause.
|
|
6
6
|
*/
|
|
7
7
|
import type { WatcherChangeEvent } from "#internal/nitro/host/dev-watcher-log.js";
|
|
8
|
-
|
|
8
|
+
type DevRebuildPhase = "rebuilding" | "rebuilt" | "reloading";
|
|
9
9
|
/**
|
|
10
10
|
* Summarizes one batch of watcher change events as `<paths> <verb>` — e.g.
|
|
11
11
|
* `tui/setup-panel.ts changed`. Paths shrink to their last two components,
|
|
@@ -19,3 +19,4 @@ export declare function summarizeChangedFiles(events: readonly WatcherChangeEven
|
|
|
19
19
|
* `tui/setup-panel.ts changed · rebuilding…`.
|
|
20
20
|
*/
|
|
21
21
|
export declare function formatDevRebuildStatus(summary: string, phase: DevRebuildPhase): string;
|
|
22
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
type DiagnosticPresentation = {
|
|
2
2
|
readonly kind: "inline";
|
|
3
3
|
readonly text: string;
|
|
4
4
|
} | {
|
|
@@ -14,3 +14,4 @@ export declare function presentDiagnostic(text: string, path: string): Diagnosti
|
|
|
14
14
|
export declare function formatStoredDiagnostic(presentation: Extract<DiagnosticPresentation, {
|
|
15
15
|
kind: "stored";
|
|
16
16
|
}>): string;
|
|
17
|
+
export {};
|
|
@@ -20,12 +20,6 @@ export declare class InterruptedError extends Error {
|
|
|
20
20
|
}
|
|
21
21
|
export declare function interruptedError(): InterruptedError;
|
|
22
22
|
export declare function isInterruptedError(error: unknown): boolean;
|
|
23
|
-
/**
|
|
24
|
-
* Recognizes errors raised by aborting an in-flight fetch/stream (e.g. the
|
|
25
|
-
* subagent child-session pump being cancelled). These are expected shutdown
|
|
26
|
-
* noise, not failures to surface.
|
|
27
|
-
*/
|
|
28
|
-
export declare function isAbortLikeError(error: unknown): boolean;
|
|
29
23
|
/**
|
|
30
24
|
* Stable identity for one failure cascade entry. The harness emits the same
|
|
31
25
|
* `{ code, message }` payload on `step.failed`, `turn.failed`, and (for
|
|
@@ -46,7 +40,7 @@ export declare function formatFailureMessage(event: FailureStreamEvent): string;
|
|
|
46
40
|
* inspection dump for unrecognized failures. One projection so every
|
|
47
41
|
* consumer narrows the untyped `details` payload the same way.
|
|
48
42
|
*/
|
|
49
|
-
|
|
43
|
+
interface FailureDetails {
|
|
50
44
|
readonly semanticErrorId?: string;
|
|
51
45
|
readonly hint?: string;
|
|
52
46
|
readonly detail?: string;
|
|
@@ -73,3 +67,4 @@ export declare function formatFailureDetail(event: FailureStreamEvent): string |
|
|
|
73
67
|
* in-session via `/model`). Returns `undefined` to keep the harness hint.
|
|
74
68
|
*/
|
|
75
69
|
export declare function localFailureHint(event: FailureStreamEvent): string | undefined;
|
|
70
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var InterruptedError=class extends Error{constructor(){super(`Interrupted`),this.name=`InterruptedError`}};function interruptedError(){return new InterruptedError}function isInterruptedError(e){return e instanceof InterruptedError}function
|
|
1
|
+
var InterruptedError=class extends Error{constructor(){super(`Interrupted`),this.name=`InterruptedError`}};function interruptedError(){return new InterruptedError}function isInterruptedError(e){return e instanceof InterruptedError}function failureKey(e){return`${e.data.code}:${e.data.message}`}function formatFailureMessage(e){let{code:t,message:n}=e.data;return!t||n===t||n.startsWith(`${t}:`)||n.startsWith(`${t} `)?n:`${t}: ${n}`}function failureDetails(e){let t=e.data.details;if(typeof t!=`object`||!t)return{};let n=t,r={};return typeof n.semanticErrorId==`string`&&(r.semanticErrorId=n.semanticErrorId),typeof n.hint==`string`&&n.hint.trim().length>0&&(r.hint=n.hint.trim()),typeof n.detail==`string`&&(r.detail=n.detail),r}function formatFailureHint(e){return failureDetails(e).hint}function formatFailureDetail(e){let t=failureDetails(e).detail;if(t===void 0)return;let n=t.trim();if(n.length!==0&&n!==e.data.message.trim())return n}const LOCAL_HINT_OVERRIDES={"gateway-auth-invalid-api-key":`Run /model to refresh credentials, or update AI_GATEWAY_API_KEY in .env.local (a stale shell export can shadow it).`,"gateway-auth-invalid-oidc-token":`Run /model to refresh the OIDC token, or set AI_GATEWAY_API_KEY in .env.local.`,"gateway-auth-missing-credentials":`Run /model to connect this to a project and refresh AI Gateway credentials, or set AI_GATEWAY_API_KEY manually in .env.local.`};function localFailureHint(e){let t=failureDetails(e).semanticErrorId;return t===void 0?void 0:LOCAL_HINT_OVERRIDES[t]}export{InterruptedError,failureDetails,failureKey,formatFailureDetail,formatFailureHint,formatFailureMessage,interruptedError,isInterruptedError,localFailureHint};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Theme } from "./theme.js";
|
|
2
2
|
import { type FlowPanelState } from "./setup-panel.js";
|
|
3
3
|
/** Temporary setup content enclosed by a drawer and its navigation controls. */
|
|
4
|
-
|
|
4
|
+
interface FlowDrawer {
|
|
5
5
|
readonly rows: string[];
|
|
6
6
|
readonly controls: string[];
|
|
7
7
|
}
|
|
@@ -9,3 +9,4 @@ export interface FlowDrawer {
|
|
|
9
9
|
export declare function renderFlowDrawer(state: FlowPanelState, theme: Theme, width: number): FlowDrawer;
|
|
10
10
|
/** Frames a transient command panel with the same rules as a setup flow. */
|
|
11
11
|
export declare function renderTransientDrawer(body: readonly string[], controls: readonly string[], theme: Theme, width: number): FlowDrawer;
|
|
12
|
+
export {};
|
|
@@ -51,7 +51,7 @@ export declare function deleteWordBackward(state: LineState): LineState;
|
|
|
51
51
|
/** Deletes the whitespace-delimited word before the caret (Ctrl+W). */
|
|
52
52
|
export declare function deleteWord(state: LineState): LineState;
|
|
53
53
|
/** Options for {@link applyLineEditorKey}. */
|
|
54
|
-
|
|
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 +1 @@
|
|
|
1
|
-
import{remoteHost}from"./target.js";import{createDevDiagnostics}from"../diagnostics.js";import{promptCommandsFor}from"./prompt-commands.js";import{probeMcpConnection}from"./mcp-connection-status.js";import{createPromptCommandHandler}from"./prompt-command-handler.js";import{formatRemoteAuthChallengeMessage}from"./remote-auth-result.js";import{TerminalRenderer}from"./terminal-renderer.js";import{EveTUIRunner}from"./runner.js";import{Client}from"#client/index.js";import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{LOGIN_CONNECTION_COMMAND_OPTIONS}from"#setup/flows/model-login-options.js";import{toErrorMessage}from"#shared/errors.js";import{resolveDevelopmentOidcToken,resolveLinkedDevelopmentOidcToken}from"#services/dev-client/request-headers.js";import{isVercelAuthChallenge}from"#services/dev-client/vercel-auth-error.js";import{resolveVercelDeployment}from"#setup/vercel-deployment.js";import{appendUserAgentProduct}from"#internal/user-agent.js";import{resolveLocalDevelopmentClientOptions,resolveRemoteDevelopmentClientOptions}from"#services/dev-client/client-options.js";import{createDevelopmentCredentialGate}from"#services/dev-client/credential-gate.js";function inlineArgumentSuggestions(e){return async t=>{if(t===`loglevel`)return[{value:`all`,label:`all`,hint:`Show all captured logs`},{value:`stderr`,label:`stderr`,hint:`Show stderr logs only`},{value:`sandbox`,label:`sandbox`,hint:`Show sandbox logs only`},{value:`none`,label:`none`,hint:`Hide captured logs`}];if(t===`login`)return LOGIN_CONNECTION_COMMAND_OPTIONS.map(e=>({value:e.command,label:e.label}));if(t===`model`){let{gatewayModelCapabilities:e}=await import(`#setup/boxes/model-capabilities.js`),{fetchGatewayCatalog:t,modelOptionsFromCatalog:n}=await import(`#setup/boxes/select-model.js`),r=await t().catch(()=>void 0);return n(r).map(t=>{let n=e(r,t.value)
|
|
1
|
+
import{remoteHost}from"./target.js";import{createDevDiagnostics}from"../diagnostics.js";import{promptCommandsFor}from"./prompt-commands.js";import{probeMcpConnection}from"./mcp-connection-status.js";import{createPromptCommandHandler}from"./prompt-command-handler.js";import{formatRemoteAuthChallengeMessage}from"./remote-auth-result.js";import{TerminalRenderer}from"./terminal-renderer.js";import{EveTUIRunner}from"./runner.js";import{Client}from"#client/index.js";import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{LOGIN_CONNECTION_COMMAND_OPTIONS}from"#setup/flows/model-login-options.js";import{toErrorMessage}from"#shared/errors.js";import{resolveDevelopmentOidcToken,resolveLinkedDevelopmentOidcToken}from"#services/dev-client/request-headers.js";import{isVercelAuthChallenge}from"#services/dev-client/vercel-auth-error.js";import{resolveVercelDeployment}from"#setup/vercel-deployment.js";import{appendUserAgentProduct}from"#internal/user-agent.js";import{resolveLocalDevelopmentClientOptions,resolveRemoteDevelopmentClientOptions}from"#services/dev-client/client-options.js";import{createDevelopmentCredentialGate}from"#services/dev-client/credential-gate.js";function inlineArgumentSuggestions(e){return async t=>{if(t===`loglevel`)return[{value:`all`,label:`all`,hint:`Show all captured logs`},{value:`stderr`,label:`stderr`,hint:`Show stderr logs only`},{value:`sandbox`,label:`sandbox`,hint:`Show sandbox logs only`},{value:`none`,label:`none`,hint:`Hide captured logs`}];if(t===`login`)return LOGIN_CONNECTION_COMMAND_OPTIONS.map(e=>({value:e.command,label:e.label}));if(t===`model`){let{gatewayModelCapabilities:e}=await import(`#setup/boxes/model-capabilities.js`),{fetchGatewayCatalog:t,modelOptionsFromCatalog:n}=await import(`#setup/boxes/select-model.js`),r=await t().catch(()=>void 0);return n(r).map(t=>{let n=e(r,t.value);return{value:t.value,label:t.value,hint:t.hint,...n?.reasoning?{next:[{value:`default`,label:`default`},...n.reasoningLevels.map(e=>({value:e,label:e}))]}:{}}})}let{browseRegistryCatalog:n}=await import(`#cli/commands/registry.js`);return(await n(e)).items.map(e=>({value:e.address,label:e.name,hint:e.description??e.address}))}}async function startDevelopmentTuiStartup(e){let t=await createDevDiagnostics(e.appRoot).catch(()=>void 0),n=new TerminalRenderer({...e,diagnostics:t,argumentSuggestions:inlineArgumentSuggestions(e.appRoot),onExitRequest:e.onExitRequest});return n.beginStartupDraft({initialDraft:e.initialInput,title:e.name??`eve`}),{diagnostics:t,renderer:n,finish:()=>n.finishStartupDraft(),async shutdown(){n.shutdown(),await t?.close()}}}function prepareRemoteTarget(e){return{target:e,credentials:createDevelopmentCredentialGate(e.serverUrl),resolveOidcToken:resolveDevelopmentOidcToken,resolveDeployment:t=>resolveVercelDeployment({workspaceRoot:e.workspaceRoot,host:remoteHost(e),signal:t})}}function prepareDevelopmentTarget(e){return e.kind===`local`?{kind:`local`,target:e}:{kind:`remote`,target:e,remote:prepareRemoteTarget(e)}}function withTuiUserAgent(e){let t=new Headers(e);return appendUserAgentProduct(t,`eve-tui/${resolveInstalledPackageInfo().version}`),Object.fromEntries(t.entries())}async function runDevelopmentTui(e){let{target:t,headers:n,initialInput:r,onboard:i,onOnboardingStep:a,onOnboardingTerminal:o,onBootProgress:s,lifecycle:c,startup:l,withExclusiveTerminal:u,...d}=e,f=prepareDevelopmentTarget(t),{serverUrl:p}=t,m={headers:withTuiUserAgent(n)},h=new Client(f.kind===`local`?resolveLocalDevelopmentClientOptions({...m,interactiveClient:!0,serverUrl:p,token:()=>resolveLinkedDevelopmentOidcToken(f.target.workspaceRoot)}):resolveRemoteDevelopmentClientOptions({...m,serverUrl:p,credentials:f.remote.credentials})),g={...d,client:h,serverUrl:p,promptCommandHandler:createPromptCommandHandler({target:t}),availablePromptCommands:promptCommandsFor(t.kind),...t.kind===`local`?{argumentSuggestions:inlineArgumentSuggestions(t.workspaceRoot)}:{},formatTransportError:e=>isVercelAuthChallenge(e)?formatRemoteAuthChallengeMessage(p):toErrorMessage(e)};f.kind===`local`?(g.appRoot=f.target.workspaceRoot,g.probeMcpConnection=probeMcpConnection):g.remote=f.remote,r!==void 0&&(g.initialInput=r),l!==void 0&&(g.renderer=l.renderer,g.startup=l),i!==void 0&&(g.onboard=i),a!==void 0&&(g.onOnboardingStep=a),o!==void 0&&(g.onOnboardingTerminal=o),s!==void 0&&(g.onBootProgress=s),c!==void 0&&(g.lifecycle=c),u!==void 0&&(g.withExclusiveTerminal=u);let _=l?.diagnostics??(f.kind===`local`?await createDevDiagnostics(f.target.workspaceRoot).catch(()=>void 0):void 0);_!==void 0&&(g.diagnostics=_);try{await new EveTUIRunner(g).run()}finally{await _?.close()}}export{runDevelopmentTui,startDevelopmentTuiStartup};
|
|
@@ -1,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 {};
|