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,4 +1,4 @@
|
|
|
1
|
-
import{SELF_MODIFICATION_CONFIG_PATH}from"./git-workspace.js";import{createHash}from"node:crypto";import{mkdir,readFile,writeFile}from"node:fs/promises";import{join,relative}from"node:path";import{
|
|
1
|
+
import{SELF_MODIFICATION_CONFIG_PATH}from"./git-workspace.js";import{createHash}from"node:crypto";import{mkdir,readFile,writeFile}from"node:fs/promises";import{join,relative}from"node:path";import{execFile}from"node:child_process";import{promisify}from"node:util";import{stripLogicalPathExtension}from"#discover/filesystem.js";import{captureVercel,runVercelCaptureStdout}from"#setup/primitives/run-vercel.js";import{discoverAgent}from"#discover/discover-agent.js";const runFile=promisify(execFile),defaultDependencies={captureVercel,runVercelCaptureStdout};function connectorName(e,t){return`selfmod-${e}-${t}`.toLowerCase().replaceAll(/[^a-z0-9-]/gu,`-`)}function renderSelfModificationConfig(e){if(e===void 0)return`import selfModification from "eve/self-modification";
|
|
2
2
|
|
|
3
3
|
export default selfModification({
|
|
4
4
|
// model: "provider/model",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type AgentInfoResult, type Client } from "#client/index.js";
|
|
2
|
-
|
|
2
|
+
type AgentInfoProbeResult = {
|
|
3
3
|
readonly kind: "ready";
|
|
4
4
|
readonly info: AgentInfoResult;
|
|
5
5
|
} | {
|
|
@@ -15,3 +15,4 @@ export declare function probeAgentInfo(input: {
|
|
|
15
15
|
readonly client: Pick<Client, "info">;
|
|
16
16
|
readonly timeoutMs?: number;
|
|
17
17
|
}): Promise<AgentInfoProbeResult>;
|
|
18
|
+
export {};
|
|
@@ -4,7 +4,7 @@ declare const VercelOidcClaimsSchema: z.ZodObject<{
|
|
|
4
4
|
project_id: z.ZodString;
|
|
5
5
|
}, z.core.$strip>;
|
|
6
6
|
/** Vercel owner and project expected to have minted an OIDC token. */
|
|
7
|
-
|
|
7
|
+
interface DevelopmentOidcTarget {
|
|
8
8
|
readonly ownerId: string;
|
|
9
9
|
readonly projectId: string;
|
|
10
10
|
/** Ignore an ambient token and ask Vercel for this exact project. */
|
|
@@ -2,7 +2,7 @@ import { appendEnv } from "./append-env.js";
|
|
|
2
2
|
export declare const AI_GATEWAY_API_KEY_ENV_VAR = "AI_GATEWAY_API_KEY";
|
|
3
3
|
export declare const AI_GATEWAY_API_KEY_ENV_FILE = ".env.local";
|
|
4
4
|
/** The location written by eve when a user supplies an AI Gateway API key. */
|
|
5
|
-
|
|
5
|
+
interface AiGatewayApiKeyLocation {
|
|
6
6
|
envKey: typeof AI_GATEWAY_API_KEY_ENV_VAR;
|
|
7
7
|
envFile: typeof AI_GATEWAY_API_KEY_ENV_FILE;
|
|
8
8
|
envPath: string;
|
|
@@ -13,3 +13,4 @@ export declare function writeAiGatewayApiKey(input: {
|
|
|
13
13
|
apiKey: string;
|
|
14
14
|
appendEnv?: typeof appendEnv;
|
|
15
15
|
}): Promise<AiGatewayApiKeyLocation>;
|
|
16
|
+
export {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
interface AppendEnvOptions {
|
|
2
2
|
/** Replace existing keys. Default: false (existing keys are preserved). */
|
|
3
3
|
force?: boolean;
|
|
4
4
|
}
|
|
5
|
-
|
|
5
|
+
interface AppendEnvResult {
|
|
6
6
|
/** Keys that were inserted or replaced. */
|
|
7
7
|
written: string[];
|
|
8
8
|
/** Keys that already existed and were preserved (only when `force` is false). */
|
|
@@ -19,3 +19,4 @@ export interface AppendEnvResult {
|
|
|
19
19
|
* accurately ("already had X — kept your value").
|
|
20
20
|
*/
|
|
21
21
|
export declare function appendEnv(envPath: string, values: Record<string, string>, options?: AppendEnvOptions): Promise<AppendEnvResult>;
|
|
22
|
+
export {};
|
package/dist/src/setup/ask.d.ts
CHANGED
|
@@ -156,7 +156,7 @@ export interface Asker {
|
|
|
156
156
|
askMany<T>(question: MultiSelectQuestion<T>): Promise<T[]>;
|
|
157
157
|
}
|
|
158
158
|
/** A ladder rung: wraps an asker and resolves (or rewrites) some questions. */
|
|
159
|
-
|
|
159
|
+
type AskerDecorator = (inner: Asker) => Asker;
|
|
160
160
|
/** How a question got its value, so nothing is silently assumed. */
|
|
161
161
|
export type ResolutionSource = "answer" | "detected" | "assumed" | "asked" | "skipped";
|
|
162
162
|
/** One announced question outcome. */
|
|
@@ -166,7 +166,7 @@ export interface Resolution {
|
|
|
166
166
|
source: ResolutionSource;
|
|
167
167
|
}
|
|
168
168
|
/** Every resolution is announced with its source: nothing is silently assumed. */
|
|
169
|
-
|
|
169
|
+
interface AskerEvents {
|
|
170
170
|
onResolved?: (resolution: Resolution) => void;
|
|
171
171
|
}
|
|
172
172
|
/**
|
|
@@ -195,7 +195,7 @@ export declare function withAnswers(answers: Record<string, unknown>, events?: A
|
|
|
195
195
|
*/
|
|
196
196
|
export declare function withRequired(keys: readonly string[]): AskerDecorator;
|
|
197
197
|
/** The two detected/recommended rungs of the ladder. */
|
|
198
|
-
|
|
198
|
+
type AnswerPolicy = "confirm-detected" | "assume";
|
|
199
199
|
/**
|
|
200
200
|
* The detected/recommended rungs. "confirm-detected" turns a detected value
|
|
201
201
|
* into a one-keystroke confirm (synthesized as an internal question through
|
|
@@ -10,7 +10,7 @@ export interface ApplyAiGatewayCredentialDeps {
|
|
|
10
10
|
runVercelEnvPull: typeof runVercelEnvPull;
|
|
11
11
|
detectAiGatewayResolution: typeof detectAiGatewayResolution;
|
|
12
12
|
}
|
|
13
|
-
|
|
13
|
+
interface ApplyAiGatewayCredentialOptions {
|
|
14
14
|
/** Reports credential progress and warnings. The box never prompts through it. */
|
|
15
15
|
prompter: Prompter;
|
|
16
16
|
deps?: ApplyAiGatewayCredentialDeps;
|
|
@@ -26,3 +26,4 @@ export interface ApplyAiGatewayCredentialOptions {
|
|
|
26
26
|
* scaffolded provider block.
|
|
27
27
|
*/
|
|
28
28
|
export declare function applyAiGatewayCredential(options: ApplyAiGatewayCredentialOptions): SetupBox<SetupState, null, ResolvedAiGatewayCredentials>;
|
|
29
|
+
export {};
|
|
@@ -14,7 +14,7 @@ export interface DeployProjectDeps {
|
|
|
14
14
|
detectDeployment: typeof detectDeployment;
|
|
15
15
|
syncHostFrameworkPreset: typeof syncHostFrameworkPreset;
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
interface DeployProjectOptions {
|
|
18
18
|
/** Deploy progress and command output stream through this log (rail styling preserved). */
|
|
19
19
|
prompter: {
|
|
20
20
|
log: ChannelSetupLog;
|
|
@@ -41,11 +41,11 @@ export interface DeployProjectOptions {
|
|
|
41
41
|
* commands inside `perform`; it is fixed at composition time (the box prompts
|
|
42
42
|
* for nothing) and passed straight through {@link DeployProjectOptions.headless}.
|
|
43
43
|
*/
|
|
44
|
-
|
|
44
|
+
interface DeployProjectInput {
|
|
45
45
|
headless: boolean;
|
|
46
46
|
}
|
|
47
47
|
/** The deploy facts `apply` records: the (re)deployed project and the cleared flags. */
|
|
48
|
-
|
|
48
|
+
interface DeployProjectPayload {
|
|
49
49
|
project: ProjectResolution;
|
|
50
50
|
deploymentPending: boolean;
|
|
51
51
|
deploymentDependenciesInstalled: boolean;
|
|
@@ -70,3 +70,4 @@ export interface DeployProjectPayload {
|
|
|
70
70
|
* gets the reconcile without composing a separate box.
|
|
71
71
|
*/
|
|
72
72
|
export declare function deployProject(options: DeployProjectOptions): SetupBox<SetupState, DeployProjectInput, DeployProjectPayload>;
|
|
73
|
+
export {};
|
|
@@ -9,7 +9,7 @@ export interface LinkProjectDeps {
|
|
|
9
9
|
detectProjectResolution: typeof detectProjectResolution;
|
|
10
10
|
unresolvedProject: typeof unresolvedProject;
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
interface LinkProjectOptions {
|
|
13
13
|
/** Streams link progress and, in interactive runs, may confirm ambiguous framework detection. */
|
|
14
14
|
prompter: Prompter;
|
|
15
15
|
/** Headless runs must not ask follow-up questions after the plan is fixed. */
|
|
@@ -31,3 +31,4 @@ export interface LinkProjectOptions {
|
|
|
31
31
|
* in `state.project`.
|
|
32
32
|
*/
|
|
33
33
|
export declare function linkVercelProject(options: LinkProjectOptions): SetupBox<SetupState, null, ProjectResolution>;
|
|
34
|
+
export {};
|
|
@@ -7,14 +7,14 @@ export type ReasoningLevel = Exclude<AgentReasoningDefinition, "provider-default
|
|
|
7
7
|
* `/model` menu paints so unsupported controls never present as available.
|
|
8
8
|
*/
|
|
9
9
|
export interface GatewayModelCapabilities {
|
|
10
|
-
/** Whether the model advertises adjustable reasoning
|
|
10
|
+
/** Whether the model advertises adjustable reasoning. */
|
|
11
11
|
readonly reasoning: boolean;
|
|
12
12
|
/** Effort levels worth offering for the model; empty when reasoning is unsupported. */
|
|
13
13
|
readonly reasoningLevels: readonly ReasoningLevel[];
|
|
14
14
|
/** Whether AI Gateway prices a `priority` service tier (Fast mode) for the model. */
|
|
15
15
|
readonly fastMode: boolean;
|
|
16
16
|
}
|
|
17
|
-
/** Every effort level eve can author
|
|
17
|
+
/** Every effort level eve can author. */
|
|
18
18
|
export declare const ALL_REASONING_LEVELS: readonly ReasoningLevel[];
|
|
19
19
|
/**
|
|
20
20
|
* Capabilities for `modelId` from a fetched catalog, or undefined when the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const ALL_REASONING_LEVELS=[`none`,`minimal`,`low`,`medium`,`high`,`xhigh`]
|
|
1
|
+
const ALL_REASONING_LEVELS=[`none`,`minimal`,`low`,`medium`,`high`,`xhigh`];function reasoningLevels(e){return e.reasoningEfforts.filter(e=>ALL_REASONING_LEVELS.includes(e))}function gatewayModelCapabilities(e,t){if(e===void 0||t===null)return;let n=e.find(e=>e.id===t);if(n===void 0)return;let r=reasoningLevels(n),i=(n.tags??[]).includes(`reasoning`)||r.length>0,a=n.pricing?.service_tiers;return{reasoning:i,reasoningLevels:r,fastMode:a!==void 0&&Object.hasOwn(a,`priority`)}}export{ALL_REASONING_LEVELS,gatewayModelCapabilities};
|
|
@@ -50,7 +50,7 @@ export interface ResolveProvisioningOptions {
|
|
|
50
50
|
deps?: ResolveProvisioningDeps;
|
|
51
51
|
}
|
|
52
52
|
/** Both provisioning plans plus the model wiring they imply. Input and payload. */
|
|
53
|
-
|
|
53
|
+
interface ResolvedProvisioning {
|
|
54
54
|
vercelProject: ResolvedVercelProject;
|
|
55
55
|
aiGateway: ResolvedAiGateway;
|
|
56
56
|
modelWiring: WiringMode;
|
|
@@ -71,3 +71,4 @@ export interface ResolvedProvisioning {
|
|
|
71
71
|
* `perform` passes the plan through untouched so `apply` can record it.
|
|
72
72
|
*/
|
|
73
73
|
export declare function resolveProvisioning(options: ResolveProvisioningOptions): SetupBox<SetupState, ResolvedProvisioning, ResolvedProvisioning>;
|
|
74
|
+
export {};
|
|
@@ -3,7 +3,6 @@ import type { SelectOption } from "../ask.js";
|
|
|
3
3
|
export type { GatewayCatalogModel } from "#shared/gateway-model-catalog.js";
|
|
4
4
|
/** Fetches the raw AI Gateway catalog. */
|
|
5
5
|
export declare function fetchGatewayCatalog(signal?: AbortSignal): Promise<GatewayCatalogModel[]>;
|
|
6
|
-
export { parseGatewayModelCatalog as parseGatewayCatalog } from "#shared/gateway-model-catalog.js";
|
|
7
6
|
/**
|
|
8
7
|
* Builds picker options from a fetched catalog, keeping the default model and
|
|
9
8
|
* filtering the rest to language models with the `web-search` tag. The curated
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DEFAULT_AGENT_MODEL_ID}from"#shared/default-agent-model.js";import{AI_GATEWAY_MODELS_URL,vercelGatewayFetch}from"#internal/gateway.js";import{parseGatewayModelCatalog
|
|
1
|
+
import{DEFAULT_AGENT_MODEL_ID}from"#shared/default-agent-model.js";import{AI_GATEWAY_MODELS_URL,vercelGatewayFetch}from"#internal/gateway.js";import{parseGatewayModelCatalog}from"#shared/gateway-model-catalog.js";function modelOption(e,t,n,r=!0){return{id:e,label:t,value:e,hint:n,featured:r||void 0}}const FEATURED_MODEL_IDS=[DEFAULT_AGENT_MODEL_ID,`anthropic/claude-opus-4.8`,`openai/gpt-5.5`],FALLBACK_MODELS=[modelOption(DEFAULT_AGENT_MODEL_ID,`Grok 4.7`,`SpaceXAI`),modelOption(`anthropic/claude-opus-4.8`,`Claude Opus 4.8`,`Anthropic`),modelOption(`openai/gpt-5.5`,`GPT-5.5`,`OpenAI`),modelOption(`google/gemini-3.5`,`Gemini 3.5`,`Google`,!1)],PROVIDER_BRANDS={openai:`OpenAI`,zai:`Z.AI`,xai:`xAI`,spacexai:`SpaceXAI`,deepseek:`DeepSeek`,moonshotai:`Moonshot AI`};function providerLabel(e){return e.length===0?``:PROVIDER_BRANDS[e]??e.charAt(0).toUpperCase()+e.slice(1)}async function fetchGatewayCatalog(e){let t=new AbortController,n=setTimeout(()=>t.abort(),5e3);try{let n=e===void 0?t.signal:AbortSignal.any([e,t.signal]),r=await vercelGatewayFetch(AI_GATEWAY_MODELS_URL,{signal:n});if(!r.ok)throw Error(`AI Gateway model catalog request failed (${r.status}).`);return parseGatewayModelCatalog(await r.json())}finally{clearTimeout(n)}}function featuredPriority(e){let t=FEATURED_MODEL_IDS.indexOf(e);return t===-1?FEATURED_MODEL_IDS.length:t}function modelOptionsFromCatalog(e){if(e===void 0)return FALLBACK_MODELS;let t=e.filter(e=>e.type===`language`&&(e.id===DEFAULT_AGENT_MODEL_ID||(e.tags??[]).includes(`web-search`))).map(e=>{let t=e.id.split(`/`)[0]??``;return{value:e.id,label:e.name,hint:providerLabel(t),provider:t,released:e.released}}).sort((e,t)=>{let n=featuredPriority(e.value)-featuredPriority(t.value);if(n!==0)return n;let r=(t.released??-1/0)-(e.released??-1/0);if(r!==0)return r;let i=e.label.localeCompare(t.label);return i===0?e.value.localeCompare(t.value):i});return t.length===0?FALLBACK_MODELS:t.map(({value:e,label:t,hint:n})=>({id:e,label:t,value:e,hint:n,featured:FEATURED_MODEL_IDS.includes(e)||void 0}))}export{fetchGatewayCatalog,modelOptionsFromCatalog};
|
|
@@ -20,7 +20,7 @@ export interface RowColors {
|
|
|
20
20
|
yellow(text: string): string;
|
|
21
21
|
}
|
|
22
22
|
/** The glyphs the row painter draws; the TUI passes theme-derived values, the CLI the unicode set. */
|
|
23
|
-
|
|
23
|
+
interface RowGlyphs {
|
|
24
24
|
/** Hollow cursor marker for an inert row. */
|
|
25
25
|
pointer: string;
|
|
26
26
|
/** Filled cursor marker for an actionable row. */
|
|
@@ -128,16 +128,6 @@ export declare function renderSelectPrompt<T extends PromptValue>(input: {
|
|
|
128
128
|
options: readonly PromptOption<T>[];
|
|
129
129
|
state: PromptState;
|
|
130
130
|
}): string;
|
|
131
|
-
/**
|
|
132
|
-
* Renders the virtual Submit row that closes every multi-select list. It has
|
|
133
|
-
* no checkbox — its bold label sits in the checkbox column, trails a green
|
|
134
|
-
* check, and uses the shared cursor highlight; enter confirms the checklist only
|
|
135
|
-
* from here. The label reads "Skip" while an optional checklist has nothing
|
|
136
|
-
* picked (the caller computes that), so an empty confirm is honest about what
|
|
137
|
-
* it does. Callers put a blank rail line above it to set it apart from the
|
|
138
|
-
* options.
|
|
139
|
-
*/
|
|
140
|
-
export declare function renderSubmitRow(isCursor: boolean, colors: PromptColors, label?: string): string;
|
|
141
131
|
/**
|
|
142
132
|
* Renders the type-ahead select interaction: a filter line, a scrolling window
|
|
143
133
|
* of options, and a mode-aware help line. Single-select marks the highlighted
|
|
@@ -2,4 +2,4 @@ import{UNICODE_ROW_GLYPHS,renderCursorRow,renderOptionRow,renderOptionRowContinu
|
|
|
2
2
|
`);return`${t.green(`│`)}\n${t.green(`●`)} ${n}\n`}function formatPromptCancellation(e,t){let n=e.replace(/\n/g,`
|
|
3
3
|
`);return`${t.red(`│`)}\n${t.red(`●`)} ${t.red(n)}\n`}function formatRailLine(e,t,n){if(e===``)return`${t.green(`│`)}\n`;let r=`${t.green(`│`)} `;return`${e.split(`
|
|
4
4
|
`).map(e=>e===``?t.green(`│`):wrapTextWithPrefix(n,e,r)).join(`
|
|
5
|
-
`)}\n`}function renderMultiselectPrompt(e){let t=railFor(e.state,e.colors),n=formatPromptHeader(e.state,e.message,{colors:e.colors,leadingRail:e.leadingRail}),r=new Set(e.selectedValues),i=e.options.some(e=>!e.disabled)?``:`\n${t}\n${t} ${e.colors.dim(`(no channels available to add)`)}`;switch(e.state){case`submit`:{let t=r.size===0?e.colors.dim(`(none selected)`):e.options.filter(e=>r.has(e.value)).map(e=>e.label).join(`, `);return formatPromptSubmission(e.state,e.message,t,{colors:e.colors,leadingRail:e.leadingRail})}case`cancel`:return`${n}${t} ${e.colors.strikethrough(e.colors.dim(`cancelled`))}\n${t}`;case`error`:{let r=renderMultiselectRows({...e,rail:t});return`${n.trim()}\n${t} ${r}${i}\n${cornerFor(e.state,e.colors)} ${e.colors.red(e.error??``)}\n`}case`initial`:case`active`:return`${n}${t} ${renderMultiselectRows({...e,rail:t})}${i}\n${cornerWithNote(cornerFor(e.state,e.colors),e.footerNote)}\n`}}function cornerWithNote(e,t){return t?`${e} ${t}`:e}function renderSelectPrompt(e){let t=railFor(e.state,e.colors),n=formatPromptHeader(e.state,e.message,{colors:e.colors,leadingRail:e.leadingRail}),r=e.options[e.cursor];switch(e.state){case`submit`:{let t=r?r.label:``;return formatPromptSubmission(e.state,e.message,t,{colors:e.colors,leadingRail:e.leadingRail})}case`cancel`:return`${n}${t} ${r?e.colors.strikethrough(e.colors.dim(r.label)):``}\n${t}`;case`initial`:case`active`:case`error`:{let r=labelColumnWidth(e.options);return`${n}${t} ${e.options.map((n,i)=>{let a=i===e.cursor;return`${optionRow(n,{colors:e.colors,isCursor:a,isChecked:!1,placeholder:!1,hintPadding:r-n.label.length})}${descriptionLine(n,a,t,e.colors)}`}).join(`\n${t} `)}\n${cornerWithNote(cornerFor(e.state,e.colors),e.footerNote)}\n`}}}function labelColumnWidth(e){return e.reduce((e,t)=>Math.max(e,t.label.length),0)}function optionRow(e,t){return renderOptionRow({colors:t.colors,glyphs:UNICODE_ROW_GLYPHS,label:e.label,hint:e.hint,focusHint:e.focusHint,accent:e.accent,isCursor:t.isCursor,state:resolveOptionRowState(e,t.isChecked),placeholder:t.placeholder,hintPadding:t.hintPadding})}function descriptionLine(e,t,n,r){return t&&e.description&&!e.disabled?`\n${n} ${renderOptionRowContinuation(r.dim(e.description))}`:``}function renderSubmitRow(e,t,n=`Submit`){let r=t.bold(n),i=e?`${UNICODE_ROW_GLYPHS.selectedPointer} ${r}`:` ${t.dim(r)}`;return`${renderCursorRow(i,e,t)} ${t.green(UNICODE_ROW_GLYPHS.success)}`}function renderMultiselectRows(e){let t=new Set(e.selectedValues),n=labelColumnWidth(e.options),r=e.options.map((r,i)=>{let a=i===e.cursor;return`${optionRow(r,{colors:e.colors,isCursor:a,isChecked:t.has(r.value),placeholder:!0,hintPadding:n-r.label.length})}${descriptionLine(r,a,e.rail,e.colors)}`}).join(`\n${e.rail} `),i=renderSubmitRow(e.cursor===e.options.length,e.colors,e.submitLabel);return`${r}\n${e.rail}\n${e.rail} ${i}`}function searchableHelpLine(e,t,n){let r=(n?[[t.cyan(`type`),`to filter`]]:[[t.cyan(`type`),`to filter`],[t.cyan(`enter`),`to select`]]).map(([e,n])=>`${e}${t.dim(` ${n}`)}`).join(t.dim(` · `));return`\n${e} ${t.dim(`(`)}${r}${t.dim(`)`)}`}function renderSearchableSelect(e){let{colors:t}=e,n=railFor(e.state,t),r=formatPromptHeader(e.state,e.message,{colors:t,leadingRail:e.leadingRail});if(e.state===`submit`)return formatPromptSubmission(e.state,e.message,e.submitDisplay,{colors:t,leadingRail:e.leadingRail});if(e.state===`cancel`)return`${r}${n} ${t.strikethrough(t.dim(e.filter))}${e.filter.trim()?`\n${n}`:``}`;let i=new Set(e.selectedValues),a=0;for(;e.options[a]?.featured;)a+=1;let o=e.viewSize??8,s=e.filter===``&&a>0?Math.min(a,o):o,c=e.multiple&&e.cursor>=e.options.length,l=!c&&e.cursor>=e.options.length?0:e.cursor,u=t.inverse(` `);e.filter.length>0?u=e.filter+t.inverse(` `):e.placeholder&&(u=t.dim(e.placeholder));let d=Math.max(0,Math.min(l-Math.floor(s/2),Math.max(0,e.options.length-s))),f=Math.min(d+s,e.options.length),p=e.options.slice(d,f),m=labelColumnWidth(p),h=p.length===0?t.dim(`(no matches)`):p.map((r,a)=>{let o=!c&&a+d===l;return`${optionRow(r,{colors:t,isCursor:o,isChecked:e.multiple&&i.has(r.value),placeholder:!1,hintPadding:m-r.label.length})}${descriptionLine(r,o,n,t)}`}).join(`\n${n} `),g=e.multiple?`\n${n}\n${n} ${renderSubmitRow(c,t,e.submitLabel)}`:``,_=e.options.length>p.length?`\n${n} ${t.dim(`↑↓ ${e.options.length} options, showing ${d+1}–${f}`)}`:``,v=searchableHelpLine(n,t,e.multiple),y=`${n} ${t.dim(` `)} ${u}\n${n} ${h}${g}${_}${v}`;return e.state===`error`?`${r.trim()}\n${y}\n${cornerFor(e.state,t)} ${t.red(e.error??``)}\n`:`${r}${y}\n${cornerWithNote(cornerFor(e.state,t),e.footerNote)}\n`}export{CORNER,RAIL,bulletFor,cornerFor,formatPromptCancellation,formatPromptHeader,formatPromptOpener,formatPromptOutro,formatPromptSubmission,formatRailLine,railFor,renderMultiselectPrompt,renderSearchableSelect,renderSelectPrompt
|
|
5
|
+
`)}\n`}function renderMultiselectPrompt(e){let t=railFor(e.state,e.colors),n=formatPromptHeader(e.state,e.message,{colors:e.colors,leadingRail:e.leadingRail}),r=new Set(e.selectedValues),i=e.options.some(e=>!e.disabled)?``:`\n${t}\n${t} ${e.colors.dim(`(no channels available to add)`)}`;switch(e.state){case`submit`:{let t=r.size===0?e.colors.dim(`(none selected)`):e.options.filter(e=>r.has(e.value)).map(e=>e.label).join(`, `);return formatPromptSubmission(e.state,e.message,t,{colors:e.colors,leadingRail:e.leadingRail})}case`cancel`:return`${n}${t} ${e.colors.strikethrough(e.colors.dim(`cancelled`))}\n${t}`;case`error`:{let r=renderMultiselectRows({...e,rail:t});return`${n.trim()}\n${t} ${r}${i}\n${cornerFor(e.state,e.colors)} ${e.colors.red(e.error??``)}\n`}case`initial`:case`active`:return`${n}${t} ${renderMultiselectRows({...e,rail:t})}${i}\n${cornerWithNote(cornerFor(e.state,e.colors),e.footerNote)}\n`}}function cornerWithNote(e,t){return t?`${e} ${t}`:e}function renderSelectPrompt(e){let t=railFor(e.state,e.colors),n=formatPromptHeader(e.state,e.message,{colors:e.colors,leadingRail:e.leadingRail}),r=e.options[e.cursor];switch(e.state){case`submit`:{let t=r?r.label:``;return formatPromptSubmission(e.state,e.message,t,{colors:e.colors,leadingRail:e.leadingRail})}case`cancel`:return`${n}${t} ${r?e.colors.strikethrough(e.colors.dim(r.label)):``}\n${t}`;case`initial`:case`active`:case`error`:{let r=labelColumnWidth(e.options);return`${n}${t} ${e.options.map((n,i)=>{let a=i===e.cursor;return`${optionRow(n,{colors:e.colors,isCursor:a,isChecked:!1,placeholder:!1,hintPadding:r-n.label.length})}${descriptionLine(n,a,t,e.colors)}`}).join(`\n${t} `)}\n${cornerWithNote(cornerFor(e.state,e.colors),e.footerNote)}\n`}}}function labelColumnWidth(e){return e.reduce((e,t)=>Math.max(e,t.label.length),0)}function optionRow(e,t){return renderOptionRow({colors:t.colors,glyphs:UNICODE_ROW_GLYPHS,label:e.label,hint:e.hint,focusHint:e.focusHint,accent:e.accent,isCursor:t.isCursor,state:resolveOptionRowState(e,t.isChecked),placeholder:t.placeholder,hintPadding:t.hintPadding})}function descriptionLine(e,t,n,r){return t&&e.description&&!e.disabled?`\n${n} ${renderOptionRowContinuation(r.dim(e.description))}`:``}function renderSubmitRow(e,t,n=`Submit`){let r=t.bold(n),i=e?`${UNICODE_ROW_GLYPHS.selectedPointer} ${r}`:` ${t.dim(r)}`;return`${renderCursorRow(i,e,t)} ${t.green(UNICODE_ROW_GLYPHS.success)}`}function renderMultiselectRows(e){let t=new Set(e.selectedValues),n=labelColumnWidth(e.options),r=e.options.map((r,i)=>{let a=i===e.cursor;return`${optionRow(r,{colors:e.colors,isCursor:a,isChecked:t.has(r.value),placeholder:!0,hintPadding:n-r.label.length})}${descriptionLine(r,a,e.rail,e.colors)}`}).join(`\n${e.rail} `),i=renderSubmitRow(e.cursor===e.options.length,e.colors,e.submitLabel);return`${r}\n${e.rail}\n${e.rail} ${i}`}function searchableHelpLine(e,t,n){let r=(n?[[t.cyan(`type`),`to filter`]]:[[t.cyan(`type`),`to filter`],[t.cyan(`enter`),`to select`]]).map(([e,n])=>`${e}${t.dim(` ${n}`)}`).join(t.dim(` · `));return`\n${e} ${t.dim(`(`)}${r}${t.dim(`)`)}`}function renderSearchableSelect(e){let{colors:t}=e,n=railFor(e.state,t),r=formatPromptHeader(e.state,e.message,{colors:t,leadingRail:e.leadingRail});if(e.state===`submit`)return formatPromptSubmission(e.state,e.message,e.submitDisplay,{colors:t,leadingRail:e.leadingRail});if(e.state===`cancel`)return`${r}${n} ${t.strikethrough(t.dim(e.filter))}${e.filter.trim()?`\n${n}`:``}`;let i=new Set(e.selectedValues),a=0;for(;e.options[a]?.featured;)a+=1;let o=e.viewSize??8,s=e.filter===``&&a>0?Math.min(a,o):o,c=e.multiple&&e.cursor>=e.options.length,l=!c&&e.cursor>=e.options.length?0:e.cursor,u=t.inverse(` `);e.filter.length>0?u=e.filter+t.inverse(` `):e.placeholder&&(u=t.dim(e.placeholder));let d=Math.max(0,Math.min(l-Math.floor(s/2),Math.max(0,e.options.length-s))),f=Math.min(d+s,e.options.length),p=e.options.slice(d,f),m=labelColumnWidth(p),h=p.length===0?t.dim(`(no matches)`):p.map((r,a)=>{let o=!c&&a+d===l;return`${optionRow(r,{colors:t,isCursor:o,isChecked:e.multiple&&i.has(r.value),placeholder:!1,hintPadding:m-r.label.length})}${descriptionLine(r,o,n,t)}`}).join(`\n${n} `),g=e.multiple?`\n${n}\n${n} ${renderSubmitRow(c,t,e.submitLabel)}`:``,_=e.options.length>p.length?`\n${n} ${t.dim(`↑↓ ${e.options.length} options, showing ${d+1}–${f}`)}`:``,v=searchableHelpLine(n,t,e.multiple),y=`${n} ${t.dim(` `)} ${u}\n${n} ${h}${g}${_}${v}`;return e.state===`error`?`${r.trim()}\n${y}\n${cornerFor(e.state,t)} ${t.red(e.error??``)}\n`:`${r}${y}\n${cornerWithNote(cornerFor(e.state,t),e.footerNote)}\n`}export{CORNER,RAIL,bulletFor,cornerFor,formatPromptCancellation,formatPromptHeader,formatPromptOpener,formatPromptOutro,formatPromptSubmission,formatRailLine,railFor,renderMultiselectPrompt,renderSearchableSelect,renderSelectPrompt};
|
|
@@ -24,8 +24,6 @@ export interface RailSpinner {
|
|
|
24
24
|
* checked in the colocated test.
|
|
25
25
|
*/
|
|
26
26
|
export declare const SPINNER_FRAMES: readonly ["⠨", "⠸", "⢸", "⢺", "⢾", "⢿", "⢾", "⢼", "⢸", "⠸", "⠨", "⠪", "⠮", "⠯", "⢯", "⢿", "⠿", "⠾", "⠺", "⠪"];
|
|
27
|
-
/** Delay between spinner frames. ~8 fps reads as a calm pulse. */
|
|
28
|
-
export declare const SPINNER_FRAME_MS = 120;
|
|
29
27
|
/** A rail log whose current command detail can be cleared before the next prompt is drawn. */
|
|
30
28
|
export interface RailLog extends ChannelSetupLog {
|
|
31
29
|
section?(title: string, lines: readonly string[]): void;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{formatPromptHeader,formatRailLine}from"./prompt-ui.js";import{clipVisible,visibleLength}from"#cli/ui/terminal-text.js";import{LiveRegion}from"#cli/ui/live-region.js";const SPINNER_FRAMES=[`⠨`,`⠸`,`⢸`,`⢺`,`⢾`,`⢿`,`⢾`,`⢼`,`⢸`,`⠸`,`⠨`,`⠪`,`⠮`,`⠯`,`⢯`,`⢿`,`⠿`,`⠾`,`⠺`,`⠪`],SPINNER_CELLS=[...SPINNER_FRAMES[0]].length;function dotCount(e){let t=0;for(let n of e){let e=(n.codePointAt(0)??10240)-10240;for(;e>0;)t+=e&1,e>>=1}return t}const SPINNER_STATIC=SPINNER_FRAMES.reduce((e,t)=>dotCount(t)>dotCount(e)?t:e)
|
|
1
|
+
import{formatPromptHeader,formatRailLine}from"./prompt-ui.js";import{clipVisible,visibleLength}from"#cli/ui/terminal-text.js";import{LiveRegion}from"#cli/ui/live-region.js";const SPINNER_FRAMES=[`⠨`,`⠸`,`⢸`,`⢺`,`⢾`,`⢿`,`⢾`,`⢼`,`⢸`,`⠸`,`⠨`,`⠪`,`⠮`,`⠯`,`⢯`,`⢿`,`⠿`,`⠾`,`⠺`,`⠪`],SPINNER_CELLS=[...SPINNER_FRAMES[0]].length;function dotCount(e){let t=0;for(let n of e){let e=(n.codePointAt(0)??10240)-10240;for(;e>0;)t+=e&1,e>>=1}return t}const SPINNER_STATIC=SPINNER_FRAMES.reduce((e,t)=>dotCount(t)>dotCount(e)?t:e);function createRailLog(e){let{colors:t,output:n}=e,r=n.isTTY===!0,i=r&&n.columns?n.columns:80,a=Math.max(4,i-(SPINNER_CELLS+3)),o=r?new LiveRegion({write:e=>(n.write(e),!0)}):void 0,s,clip=e=>visibleLength(e)>a?`${clipVisible(e,a-1)}…`:e,spinnerRow=e=>{let n=SPINNER_FRAMES[e.frame%SPINNER_FRAMES.length]??SPINNER_FRAMES[0];return`${t.green(n)} ${e.label}`},previewRow=e=>`${t.green(`│`)} ${t.dim(clip(e))}`;function liveRows(){let e=s?.view;if(e===void 0)return[];let n=e.kind===`spinner`?[t.green(`│`),spinnerRow(e)]:[];return e.preview!==void 0&&n.push(previewRow(e.preview)),n}function commit(e){if(o===void 0){n.write(e);return}o.flush(e.replace(/\n+$/u,``).split(`
|
|
2
2
|
`),liveRows())}function writeLine(e){commit(formatRailLine(e,t,n))}function settle(e){let r=s;if(r!==void 0&&(r.view?.kind===`spinner`&&r.view.timer!==void 0&&clearInterval(r.view.timer),s=void 0,o!==void 0)){if(e&&r.commandLines.length>0){let e=r.commandLines.flatMap(e=>formatRailLine(t.dim(e),t,n).replace(/\n+$/u,``).split(`
|
|
3
|
-
`));o.flush(e,[])}else o.update([])}}return{message(e){settle(!1),writeLine(e),s={commandLines:[],view:{kind:`status`}}},info(e){settle(!1),writeLine(t.dim(e))},success(e){settle(!1),writeLine(t.dim(e))},warning(e){settle(!0),writeLine(t.yellow(e))},error(e){settle(!0),writeLine(t.red(e))},commandOutput(e){if(o===void 0||s===void 0){n.write(formatRailLine(t.dim(e),t,n));return}s.commandLines.push(e),s.view!==void 0&&(s.view.preview=e,o.update(liveRows()))},section(e,r){settle(!1);let i=r.map(e=>formatRailLine(e,t,n)).join(``);commit(`${formatPromptHeader(`submit`,e,{colors:t,leadingRail:`green`})}${i}`)},spinner(e){if(settle(!1),o===void 0)return n.write(`${t.green(`│`)}\n${t.green(SPINNER_STATIC)} ${e}\n`),{stop(){}};let r={kind:`spinner`,frame:0,label:clip(e)},i={commandLines:[],view:r};s=i,o.update(liveRows());let a=setInterval(()=>{s===i&&i.view===r&&(r.frame+=1,o.update(liveRows()))},120);r.timer=a,a.unref?.();let c=!1;return{stop(){c||(c=!0,clearInterval(a),s===i&&(i.view=void 0,o.update([])))}}},settle(){settle(!1)}}}export{SPINNER_FRAMES,
|
|
3
|
+
`));o.flush(e,[])}else o.update([])}}return{message(e){settle(!1),writeLine(e),s={commandLines:[],view:{kind:`status`}}},info(e){settle(!1),writeLine(t.dim(e))},success(e){settle(!1),writeLine(t.dim(e))},warning(e){settle(!0),writeLine(t.yellow(e))},error(e){settle(!0),writeLine(t.red(e))},commandOutput(e){if(o===void 0||s===void 0){n.write(formatRailLine(t.dim(e),t,n));return}s.commandLines.push(e),s.view!==void 0&&(s.view.preview=e,o.update(liveRows()))},section(e,r){settle(!1);let i=r.map(e=>formatRailLine(e,t,n)).join(``);commit(`${formatPromptHeader(`submit`,e,{colors:t,leadingRail:`green`})}${i}`)},spinner(e){if(settle(!1),o===void 0)return n.write(`${t.green(`│`)}\n${t.green(SPINNER_STATIC)} ${e}\n`),{stop(){}};let r={kind:`spinner`,frame:0,label:clip(e)},i={commandLines:[],view:r};s=i,o.update(liveRows());let a=setInterval(()=>{s===i&&i.view===r&&(r.frame+=1,o.update(liveRows()))},120);r.timer=a,a.unref?.();let c=!1;return{stop(){c||(c=!0,clearInterval(a),s===i&&(i.view=void 0,o.update([])))}}},settle(){settle(!1)}}}export{SPINNER_FRAMES,createRailLog};
|
|
@@ -11,7 +11,7 @@ export type ConnectTriggerAttachmentResult = {
|
|
|
11
11
|
state: "attach-failed";
|
|
12
12
|
};
|
|
13
13
|
/** Inputs required to replace a Vercel Connect connector's trigger destination. */
|
|
14
|
-
|
|
14
|
+
interface ReplaceConnectTriggerOptions {
|
|
15
15
|
connectorUid: string;
|
|
16
16
|
projectRoot: string;
|
|
17
17
|
triggerPath: string;
|
|
@@ -30,3 +30,4 @@ export interface ReplaceConnectTriggerOptions {
|
|
|
30
30
|
* destination created during connector provisioning.
|
|
31
31
|
*/
|
|
32
32
|
export declare function replaceConnectTrigger(options: ReplaceConnectTriggerOptions): Promise<ConnectTriggerAttachmentResult>;
|
|
33
|
+
export {};
|
|
@@ -17,7 +17,7 @@ export interface SetupConnectionConnectorOptions {
|
|
|
17
17
|
signal?: AbortSignal;
|
|
18
18
|
}
|
|
19
19
|
/** Connector identity returned by the Vercel CLI. */
|
|
20
|
-
|
|
20
|
+
interface ConnectConnectorRef {
|
|
21
21
|
uid: string;
|
|
22
22
|
id: string;
|
|
23
23
|
name?: string;
|
|
@@ -42,3 +42,4 @@ export declare function cleanupCreatedConnectionConnector(input: {
|
|
|
42
42
|
}): Promise<void>;
|
|
43
43
|
/** Attaches the canonical connector by name first, then offers explicit Find/Create fallbacks. */
|
|
44
44
|
export declare function setupConnectionConnector(options: SetupConnectionConnectorOptions): Promise<SetupConnectionConnectorResult>;
|
|
45
|
+
export {};
|
|
@@ -15,7 +15,7 @@ export interface LinkFlowDeps {
|
|
|
15
15
|
linkProject?: LinkProjectDeps;
|
|
16
16
|
applyAiGatewayCredential?: ApplyAiGatewayCredentialDeps;
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
type LinkFlowResult = {
|
|
19
19
|
kind: "done";
|
|
20
20
|
/**
|
|
21
21
|
* The credential the runtime will actually resolve, from the one
|
|
@@ -60,3 +60,4 @@ export declare function runLinkFlow(input: {
|
|
|
60
60
|
teamSelectMessage?: (currentTeam: string) => string;
|
|
61
61
|
deps?: Partial<LinkFlowDeps>;
|
|
62
62
|
}): Promise<LinkFlowResult>;
|
|
63
|
+
export {};
|
|
@@ -15,7 +15,7 @@ type LoginInput = {
|
|
|
15
15
|
/** Applies writes under one watcher lease and waits for runtime activation. */
|
|
16
16
|
withConnectionUpdate?(task: () => Promise<void>): Promise<void>;
|
|
17
17
|
};
|
|
18
|
-
|
|
18
|
+
type ModelLoginResult = {
|
|
19
19
|
kind: "ready";
|
|
20
20
|
reload: boolean;
|
|
21
21
|
model?: ConnectedModel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{readFile}from"node:fs/promises";import{resolveDiscoveryProject}from"#discover/project.js";import pc from"#compiled/picocolors/index.js";import{join}from"node:path";import{
|
|
1
|
+
import{readFile}from"node:fs/promises";import{resolveDiscoveryProject}from"#discover/project.js";import pc from"#compiled/picocolors/index.js";import{join}from"node:path";import{parseModelHelper}from"#shared/model-helper.js";import{discoverAgent}from"#discover/discover-agent.js";import{formatLanguageModelGatewayId}from"#internal/runtime-model.js";import{CHATGPT_MODEL_SELECTION_PREFIX}from"#shared/chatgpt-model.js";import{createCompiledRuntimeModelCatalogLoader}from"#compiler/model-catalog.js";import{readModelSelectionFromSource}from"#source-change/apply-model-selection.js";import{createStaticSourceChange}from"#source-change/static-source-change.js";function formatApplyModelSettingsOutcome(e){return e.kind===`rejected`?e.message:e.kind===`unchanged`?`Model settings are already up to date.`:e.changed.length===1&&e.changed[0]===`model`&&e.model!==void 0?`Model changed to ${pc.bold(e.model)}. Live on your next prompt.`:`Model settings updated: ${e.changed.map(t=>t===`model`?`model ${e.model??`updated`}`:t===`reasoning`?`reasoning ${e.reasoning??`provider default`}`:`Fast mode ${e.fastMode?`on`:`off`}`).join(`, `)}. Live on your next prompt.`}async function changeAgentModelSettings(e){let{appRoot:t,patch:n}=e;if(n.model.kind===`set`){let e=await validateModelSlug(t,n.model.value);if(e!==null)return{kind:`rejected`,message:e}}let r=await resolveDiscoveryProject(t),{manifest:i}=await discoverAgent(r),a=await createStaticSourceChange(i).updateModelSettings(n);if(a.kind===`bail`)return{kind:`rejected`,message:`Couldn't edit ${a.at.logicalPath}: ${a.reason}. Change the model settings by hand.`};if(a.changed.length===0)return{kind:`unchanged`};let o={kind:`changed`,changed:a.changed};return n.model.kind===`set`&&(o.model=n.model.value),n.reasoning.kind!==`keep`&&(o.reasoning=n.reasoning.kind===`set`?n.reasoning.value:null),n.gatewayServiceTier.kind!==`keep`&&(o.fastMode=n.gatewayServiceTier.kind===`set`),o}async function changeAgentModel(e){let{appRoot:t,slug:n}=e,r=await validateModelSlug(t,n);return r===null?changeValidatedAgentModel(e):{kind:`rejected`,message:r}}async function changeValidatedAgentModel(e){let{appRoot:t,slug:n}=e,r=await resolveDiscoveryProject(t),{manifest:i}=await discoverAgent(r),a=await createStaticSourceChange(i).updateModelName(n);return a.kind===`bail`?{kind:`rejected`,message:`Couldn't edit ${a.at.logicalPath}: ${a.reason}. Change \`model\` by hand.`}:a.from===a.to?{kind:`unchanged`,model:a.to}:{kind:`changed`,to:a.to}}async function validateModelSlug(e,t){if(parseModelHelper(t)!==void 0)return null;if(t.startsWith(CHATGPT_MODEL_SELECTION_PREFIX))return"Choose a bare OpenAI model id after `chatgpt/`.";if(!t.includes(`/`))return`\`${t}\` isn't a provider/model id (e.g. anthropic/claude-sonnet-5).`;let n=createCompiledRuntimeModelCatalogLoader(e);try{if(await n.getModelLimits(formatLanguageModelGatewayId(t))===null)return`I couldn't confirm \`${t}\` in the AI Gateway model catalog, so I didn't change agent.ts.`}catch{return null}return null}async function readAuthoredModelSelection(e){let t=await resolveDiscoveryProject(e),{manifest:n}=await discoverAgent(t);if(!n.configModule)return;let r=await readFile(join(t.agentRoot,n.configModule.logicalPath),`utf8`);return readModelSelectionFromSource(r)}export{changeAgentModel,changeAgentModelSettings,changeValidatedAgentModel,formatApplyModelSettingsOutcome,readAuthoredModelSelection,validateModelSlug};
|
|
@@ -2,7 +2,7 @@ import type { Prompter } from "#setup/prompter.js";
|
|
|
2
2
|
import { detectDeployment } from "#setup/project-resolution.js";
|
|
3
3
|
import type { RegistrySetupCompletion, RegistrySetupFact } from "#setup/registry-setup-protocol.js";
|
|
4
4
|
import { runDeployFlow } from "./deploy.js";
|
|
5
|
-
|
|
5
|
+
interface RegistrySessionDeps {
|
|
6
6
|
detectDeployment: typeof detectDeployment;
|
|
7
7
|
runDeployFlow: typeof runDeployFlow;
|
|
8
8
|
}
|
|
@@ -36,7 +36,7 @@ export interface RegistrySessionResult {
|
|
|
36
36
|
cancelled?: true;
|
|
37
37
|
deployed?: "production";
|
|
38
38
|
}
|
|
39
|
-
|
|
39
|
+
interface RegistrySession {
|
|
40
40
|
add(title: string, output: readonly string[], setup?: RegistrySetupCompletion): void;
|
|
41
41
|
addIncomplete(title: string, resumeCommand: string): void;
|
|
42
42
|
addFailure(title: string, message: string): void;
|
|
@@ -50,3 +50,4 @@ export interface RegistrySession {
|
|
|
50
50
|
}
|
|
51
51
|
/** Owns the accumulated output and deployment decision for one `/add` session. */
|
|
52
52
|
export declare function createRegistrySession(deps: RegistrySessionDeps): RegistrySession;
|
|
53
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Non-secret Discord application metadata resolved from a bot token. */
|
|
2
|
-
|
|
2
|
+
interface DiscordApplication {
|
|
3
3
|
id: string;
|
|
4
4
|
name: string;
|
|
5
5
|
publicKey: string;
|
|
@@ -13,3 +13,4 @@ export declare function registerDiscordCommand(applicationId: string, botToken:
|
|
|
13
13
|
}, fetchImpl?: typeof fetch): Promise<void>;
|
|
14
14
|
/** Points Discord HTTP Interactions at a persisted Connect connector. */
|
|
15
15
|
export declare function configureDiscordInteractionsEndpoint(botToken: string, connectorId: string, fetchImpl?: typeof fetch): Promise<void>;
|
|
16
|
+
export {};
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { type ChannelSetupLog } from "#setup/cli/index.js";
|
|
2
2
|
import type { VercelProjectReference } from "#setup/project-resolution.js";
|
|
3
3
|
import { runVercel, runVercelCaptureStdout } from "#setup/primitives/run-vercel.js";
|
|
4
|
-
|
|
5
|
-
export interface DiscordConnectorRef {
|
|
4
|
+
interface DiscordConnectorRef {
|
|
6
5
|
id: string;
|
|
7
6
|
uid: string;
|
|
8
7
|
}
|
|
9
|
-
|
|
8
|
+
interface ProvisionDiscordConnectorDeps {
|
|
10
9
|
runVercel: typeof runVercel;
|
|
11
10
|
runVercelCaptureStdout: typeof runVercelCaptureStdout;
|
|
12
11
|
}
|
|
@@ -22,3 +21,4 @@ export declare function provisionDiscordConnector(input: {
|
|
|
22
21
|
signal?: AbortSignal;
|
|
23
22
|
deps?: ProvisionDiscordConnectorDeps;
|
|
24
23
|
}): Promise<DiscordConnectorRef>;
|
|
24
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z}from"#compiled/zod/index.js";import{runVercel,runVercelCaptureStdout}from"#setup/primitives/run-vercel.js";import{createPromptCommandOutput,withPhase}from"#setup/cli/index.js";import{replaceConnectTrigger}from"#setup/connect-provisioning.js";const DISCORD_TRIGGER_PATH=`/eve/v1/discord`,DiscordConnectorRefSchema=z.object({id:z.string().min(1),uid:z.string().min(1),supportedSubjectTypes:z.array(z.string()).refine(e=>e.includes(`app`))});function parseCreatedDiscordConnector(e){try{let t=DiscordConnectorRefSchema.safeParse(JSON.parse(e));return t.success?{id:t.data.id,uid:t.data.uid}:void 0}catch{return}}async function provisionDiscordConnector(e){let t=e.deps??{runVercel,runVercelCaptureStdout},n=createPromptCommandOutput(e.log),r=await withPhase(e.log,`Creating Discord connector...`,()=>t.runVercelCaptureStdout([`connect`,`create`,`discord`,`--connector-type`,`discord`,`--data`,`@-`,`--name`,e.slug,`--triggers`,`-F`,`json`,`--scope`,e.project.orgId],{cwd:e.projectRoot,nonInteractive:!0,onOutput:n,signal:e.signal,stdin:JSON.stringify({botToken:e.botToken.trim()})}));if(e.signal?.throwIfAborted(),!r.ok){let e=[r.stderr,r.stdout].find(e=>e!==void 0&&e.trim().length>0);throw Error(e?`Discord connector creation failed:\n${e}`:`Discord connector creation failed.`)}let i=parseCreatedDiscordConnector(r.stdout);if(i===void 0)throw Error(`Vercel returned an invalid Discord connector.`);if((await withPhase(e.log,`Connecting Discord interactions...`,()=>replaceConnectTrigger({connectorUid:i.uid,projectRoot:e.projectRoot,projectId:e.project.projectId,orgId:e.project.orgId,environment:`production`,triggerPath:DISCORD_TRIGGER_PATH,onOutput:n,signal:e.signal,deps:t}))).state!==`attached`)throw Error(`Discord connector was created, but its trigger could not be attached. Run \`vercel connect attach ${i.uid} --project ${e.project.projectId} --environment production --triggers --trigger-path ${DISCORD_TRIGGER_PATH} --yes --scope ${e.project.orgId}\`.`);return i}export{
|
|
1
|
+
import{z}from"#compiled/zod/index.js";import{runVercel,runVercelCaptureStdout}from"#setup/primitives/run-vercel.js";import{createPromptCommandOutput,withPhase}from"#setup/cli/index.js";import{replaceConnectTrigger}from"#setup/connect-provisioning.js";const DISCORD_TRIGGER_PATH=`/eve/v1/discord`,DiscordConnectorRefSchema=z.object({id:z.string().min(1),uid:z.string().min(1),supportedSubjectTypes:z.array(z.string()).refine(e=>e.includes(`app`))});function parseCreatedDiscordConnector(e){try{let t=DiscordConnectorRefSchema.safeParse(JSON.parse(e));return t.success?{id:t.data.id,uid:t.data.uid}:void 0}catch{return}}async function provisionDiscordConnector(e){let t=e.deps??{runVercel,runVercelCaptureStdout},n=createPromptCommandOutput(e.log),r=await withPhase(e.log,`Creating Discord connector...`,()=>t.runVercelCaptureStdout([`connect`,`create`,`discord`,`--connector-type`,`discord`,`--data`,`@-`,`--name`,e.slug,`--triggers`,`-F`,`json`,`--scope`,e.project.orgId],{cwd:e.projectRoot,nonInteractive:!0,onOutput:n,signal:e.signal,stdin:JSON.stringify({botToken:e.botToken.trim()})}));if(e.signal?.throwIfAborted(),!r.ok){let e=[r.stderr,r.stdout].find(e=>e!==void 0&&e.trim().length>0);throw Error(e?`Discord connector creation failed:\n${e}`:`Discord connector creation failed.`)}let i=parseCreatedDiscordConnector(r.stdout);if(i===void 0)throw Error(`Vercel returned an invalid Discord connector.`);if((await withPhase(e.log,`Connecting Discord interactions...`,()=>replaceConnectTrigger({connectorUid:i.uid,projectRoot:e.projectRoot,projectId:e.project.projectId,orgId:e.project.orgId,environment:`production`,triggerPath:DISCORD_TRIGGER_PATH,onOutput:n,signal:e.signal,deps:t}))).state!==`attached`)throw Error(`Discord connector was created, but its trigger could not be attached. Run \`vercel connect attach ${i.uid} --project ${e.project.projectId} --environment production --triggers --trigger-path ${DISCORD_TRIGGER_PATH} --yes --scope ${e.project.orgId}\`.`);return i}export{parseCreatedDiscordConnector,provisionDiscordConnector};
|
|
@@ -12,7 +12,7 @@ export interface DiscordSetupDeps {
|
|
|
12
12
|
resolveApplication: typeof resolveDiscordApplication;
|
|
13
13
|
writeTextFile: typeof writeTextFile;
|
|
14
14
|
}
|
|
15
|
-
|
|
15
|
+
interface DiscordSetupPlan {
|
|
16
16
|
botToken: string;
|
|
17
17
|
commandName: string;
|
|
18
18
|
commandDescription: string;
|
|
@@ -29,3 +29,4 @@ export declare function applyDiscordSetup(plan: DiscordSetupPlan, context: Setup
|
|
|
29
29
|
}[];
|
|
30
30
|
}>;
|
|
31
31
|
export declare const DISCORD_SETUP: import("../types.js").SetupIntegration;
|
|
32
|
+
export {};
|
|
@@ -70,7 +70,7 @@ export interface FileMemoryBlobPlan {
|
|
|
70
70
|
readonly storeName: string;
|
|
71
71
|
readonly regionWarning?: string;
|
|
72
72
|
}
|
|
73
|
-
|
|
73
|
+
interface FileMemoryBlobResult {
|
|
74
74
|
readonly action: FileMemoryBlobAction;
|
|
75
75
|
readonly store: BlobStore;
|
|
76
76
|
}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { type ChannelSetupLog } from "#setup/cli/index.js";
|
|
2
2
|
import type { VercelProjectReference } from "#setup/project-resolution.js";
|
|
3
3
|
import { runVercel, runVercelCaptureStdout } from "#setup/primitives/run-vercel.js";
|
|
4
|
-
export declare const GITHUB_TRIGGER_PATH = "/eve/v1/github";
|
|
5
4
|
/** Identity of the GitHub connector provisioned for an agent channel. */
|
|
6
|
-
|
|
5
|
+
interface GitHubConnectorRef {
|
|
7
6
|
/** GitHub's actual @mention handle, without the `[bot]` suffix. */
|
|
8
7
|
appSlug: string;
|
|
9
8
|
id: string;
|
|
10
9
|
uid: string;
|
|
11
10
|
}
|
|
12
11
|
/** Effects used to provision a GitHub Connect connector. */
|
|
13
|
-
|
|
12
|
+
interface ProvisionGitHubConnectorDeps {
|
|
14
13
|
runVercel: typeof runVercel;
|
|
15
14
|
runVercelCaptureStdout: typeof runVercelCaptureStdout;
|
|
16
15
|
}
|
|
@@ -26,3 +25,4 @@ export declare function provisionGitHubConnector(input: {
|
|
|
26
25
|
signal?: AbortSignal;
|
|
27
26
|
deps?: ProvisionGitHubConnectorDeps;
|
|
28
27
|
}): Promise<GitHubConnectorRef>;
|
|
28
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z}from"#compiled/zod/index.js";import{runVercel,runVercelCaptureStdout}from"#setup/primitives/run-vercel.js";import{createPromptCommandOutput,withPhase}from"#setup/cli/index.js";import{replaceConnectTrigger}from"#setup/connect-provisioning.js";const GITHUB_TRIGGER_PATH=`/eve/v1/github`,GitHubConnectorRefSchema=z.object({id:z.string().min(1),uid:z.string().min(1),supportedSubjectTypes:z.array(z.string()).refine(e=>e.includes(`app`))}),GitHubConnectorDetailsSchema=z.object({data:z.object({appSlug:z.string().min(1)}),id:z.string().min(1),type:z.literal(`github`),uid:z.string().min(1)});function parseCreatedGitHubConnector(e){try{let t=GitHubConnectorRefSchema.safeParse(JSON.parse(e));return t.success?{id:t.data.id,uid:t.data.uid}:void 0}catch{return}}function parseGitHubConnectorDetails(e,t){try{let n=GitHubConnectorDetailsSchema.safeParse(JSON.parse(e));return!n.success||n.data.id!==t.id||n.data.uid!==t.uid?void 0:{...t,appSlug:n.data.data.appSlug}}catch{return}}async function provisionGitHubConnector(e){let t=e.deps??{runVercel,runVercelCaptureStdout},n=createPromptCommandOutput(e.log),r=await withPhase(e.log,`Creating GitHub connector...`,()=>t.runVercelCaptureStdout([`connect`,`create`,`github`,`--name`,e.slug,`--triggers`,...e.events.flatMap(e=>[`--trigger-event`,e]),`-F`,`json`,`--scope`,e.project.orgId],{cwd:e.projectRoot,nonInteractive:!0,onOutput:n,signal:e.signal}));if(e.signal?.throwIfAborted(),!r.ok){let e=[r.stderr,r.stdout].find(e=>e!==void 0&&e.trim().length>0);throw Error(e?`GitHub connector creation failed:\n${e}`:`GitHub connector creation failed.`)}let i=parseCreatedGitHubConnector(r.stdout);if(i===void 0)throw Error(`Vercel returned an invalid GitHub connector.`);let a=await withPhase(e.log,`Reading GitHub App details...`,()=>t.runVercelCaptureStdout([`api`,`/v1/connect/connectors/${encodeURIComponent(i.id)}`,`--scope`,e.project.orgId,`--raw`],{cwd:e.projectRoot,nonInteractive:!0,onOutput:n,signal:e.signal}));if(e.signal?.throwIfAborted(),!a.ok)throw Error(`Could not read the created GitHub connector.`);let o=parseGitHubConnectorDetails(a.stdout,i);if(o===void 0)throw Error(`Vercel returned invalid details for the GitHub connector.`);let s=await withPhase(e.log,`Connecting GitHub webhooks...`,()=>replaceConnectTrigger({connectorUid:o.uid,projectRoot:e.projectRoot,projectId:e.project.projectId,orgId:e.project.orgId,environment:`production`,triggerPath:GITHUB_TRIGGER_PATH,onOutput:n,signal:e.signal,deps:t}));if(e.signal?.throwIfAborted(),s.state!==`attached`)throw Error(`GitHub connector was created, but its trigger could not be attached. Run \`vercel connect attach ${o.uid} --project ${e.project.projectId} --environment production --triggers --trigger-path ${GITHUB_TRIGGER_PATH} --yes --scope ${e.project.orgId}\`.`);return o}export{
|
|
1
|
+
import{z}from"#compiled/zod/index.js";import{runVercel,runVercelCaptureStdout}from"#setup/primitives/run-vercel.js";import{createPromptCommandOutput,withPhase}from"#setup/cli/index.js";import{replaceConnectTrigger}from"#setup/connect-provisioning.js";const GITHUB_TRIGGER_PATH=`/eve/v1/github`,GitHubConnectorRefSchema=z.object({id:z.string().min(1),uid:z.string().min(1),supportedSubjectTypes:z.array(z.string()).refine(e=>e.includes(`app`))}),GitHubConnectorDetailsSchema=z.object({data:z.object({appSlug:z.string().min(1)}),id:z.string().min(1),type:z.literal(`github`),uid:z.string().min(1)});function parseCreatedGitHubConnector(e){try{let t=GitHubConnectorRefSchema.safeParse(JSON.parse(e));return t.success?{id:t.data.id,uid:t.data.uid}:void 0}catch{return}}function parseGitHubConnectorDetails(e,t){try{let n=GitHubConnectorDetailsSchema.safeParse(JSON.parse(e));return!n.success||n.data.id!==t.id||n.data.uid!==t.uid?void 0:{...t,appSlug:n.data.data.appSlug}}catch{return}}async function provisionGitHubConnector(e){let t=e.deps??{runVercel,runVercelCaptureStdout},n=createPromptCommandOutput(e.log),r=await withPhase(e.log,`Creating GitHub connector...`,()=>t.runVercelCaptureStdout([`connect`,`create`,`github`,`--name`,e.slug,`--triggers`,...e.events.flatMap(e=>[`--trigger-event`,e]),`-F`,`json`,`--scope`,e.project.orgId],{cwd:e.projectRoot,nonInteractive:!0,onOutput:n,signal:e.signal}));if(e.signal?.throwIfAborted(),!r.ok){let e=[r.stderr,r.stdout].find(e=>e!==void 0&&e.trim().length>0);throw Error(e?`GitHub connector creation failed:\n${e}`:`GitHub connector creation failed.`)}let i=parseCreatedGitHubConnector(r.stdout);if(i===void 0)throw Error(`Vercel returned an invalid GitHub connector.`);let a=await withPhase(e.log,`Reading GitHub App details...`,()=>t.runVercelCaptureStdout([`api`,`/v1/connect/connectors/${encodeURIComponent(i.id)}`,`--scope`,e.project.orgId,`--raw`],{cwd:e.projectRoot,nonInteractive:!0,onOutput:n,signal:e.signal}));if(e.signal?.throwIfAborted(),!a.ok)throw Error(`Could not read the created GitHub connector.`);let o=parseGitHubConnectorDetails(a.stdout,i);if(o===void 0)throw Error(`Vercel returned invalid details for the GitHub connector.`);let s=await withPhase(e.log,`Connecting GitHub webhooks...`,()=>replaceConnectTrigger({connectorUid:o.uid,projectRoot:e.projectRoot,projectId:e.project.projectId,orgId:e.project.orgId,environment:`production`,triggerPath:GITHUB_TRIGGER_PATH,onOutput:n,signal:e.signal,deps:t}));if(e.signal?.throwIfAborted(),s.state!==`attached`)throw Error(`GitHub connector was created, but its trigger could not be attached. Run \`vercel connect attach ${o.uid} --project ${e.project.projectId} --environment production --triggers --trigger-path ${GITHUB_TRIGGER_PATH} --yes --scope ${e.project.orgId}\`.`);return o}export{parseCreatedGitHubConnector,provisionGitHubConnector};
|
|
@@ -30,7 +30,7 @@ declare const GITHUB_EVENT_OPTIONS: readonly [{
|
|
|
30
30
|
readonly hint: "Add comments to new pull requests.";
|
|
31
31
|
}];
|
|
32
32
|
type GitHubWebhookEvent = (typeof GITHUB_EVENT_OPTIONS)[number]["value"];
|
|
33
|
-
|
|
33
|
+
interface GitHubSetupPlan {
|
|
34
34
|
events: readonly GitHubWebhookEvent[];
|
|
35
35
|
project: VercelProjectReference;
|
|
36
36
|
slug: string;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { type ChannelSetupLog } from "#setup/cli/index.js";
|
|
2
2
|
import type { VercelProjectReference } from "#setup/project-resolution.js";
|
|
3
3
|
import { runVercel, runVercelCaptureStdout } from "#setup/primitives/run-vercel.js";
|
|
4
|
-
export declare const LINEAR_TRIGGER_PATH = "/eve/v1/linear";
|
|
5
4
|
/** Identity of the Linear connector provisioned for an agent channel. */
|
|
6
5
|
export interface LinearConnectorRef {
|
|
7
6
|
id: string;
|
|
8
7
|
uid: string;
|
|
9
8
|
}
|
|
10
9
|
/** Effects used to provision a Linear Connect connector. */
|
|
11
|
-
|
|
10
|
+
interface ProvisionLinearConnectorDeps {
|
|
12
11
|
runVercel: typeof runVercel;
|
|
13
12
|
runVercelCaptureStdout: typeof runVercelCaptureStdout;
|
|
14
13
|
}
|
|
@@ -40,3 +39,4 @@ export declare function provisionLinearConnector(input: {
|
|
|
40
39
|
signal?: AbortSignal;
|
|
41
40
|
deps?: ProvisionLinearConnectorDeps;
|
|
42
41
|
}): Promise<LinearConnectorRef>;
|
|
42
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z}from"#compiled/zod/index.js";import{runVercel,runVercelCaptureStdout}from"#setup/primitives/run-vercel.js";import{createPromptCommandOutput,withPhase}from"#setup/cli/index.js";import{replaceConnectTrigger}from"#setup/connect-provisioning.js";const LINEAR_TRIGGER_PATH=`/eve/v1/linear`,LinearConnectorRefSchema=z.object({id:z.string().min(1),uid:z.string().min(1),supportedSubjectTypes:z.array(z.string()).refine(e=>e.includes(`app`))});function parseCreatedLinearConnector(e){try{let t=LinearConnectorRefSchema.safeParse(JSON.parse(e));return t.success?{id:t.data.id,uid:t.data.uid}:void 0}catch{return}}async function findLinearConnector(e){let t=await(e.deps??{runVercel,runVercelCaptureStdout}).runVercelCaptureStdout([`connect`,`list`,`--all-projects`,`--service`,`linear`,`-F`,`json`,`--scope`,e.project.orgId],{cwd:e.projectRoot,nonInteractive:!0,signal:e.signal});if(t.ok)try{let n=JSON.parse(t.stdout);if(!Array.isArray(n.connectors))return;let r=`linear/${e.slug}`,i=n.connectors.find(e=>typeof e==`object`&&!!e&&e.uid===r);return typeof i?.id==`string`?{id:i.id,uid:r}:void 0}catch{return}}async function attachLinearConnector(e){let t=e.deps??{runVercel,runVercelCaptureStdout},n=createPromptCommandOutput(e.log),r=await withPhase(e.log,`Connecting Linear Agent Sessions...`,()=>replaceConnectTrigger({connectorUid:e.connector.uid,projectRoot:e.projectRoot,projectId:e.project.projectId,orgId:e.project.orgId,environment:`production`,triggerPath:LINEAR_TRIGGER_PATH,onOutput:n,signal:e.signal,deps:t}));if(e.signal?.throwIfAborted(),r.state!==`attached`)throw Error(`Linear connector was found, but its trigger could not be attached. Run \`vercel connect attach ${e.connector.uid} --project ${e.project.projectId} --environment production --triggers --trigger-path ${LINEAR_TRIGGER_PATH} --yes --scope ${e.project.orgId}\`.`)}async function provisionLinearConnector(e){let t=e.deps??{runVercel,runVercelCaptureStdout},n=createPromptCommandOutput(e.log),r=await withPhase(e.log,`Creating Linear connector...`,()=>t.runVercelCaptureStdout([`connect`,`create`,`linear`,`--name`,e.slug,`--triggers`,`--trigger-event`,`AgentSessionEvent`,`-F`,`json`,`--scope`,e.project.orgId],{cwd:e.projectRoot,nonInteractive:!0,onOutput:n,signal:e.signal}));if(e.signal?.throwIfAborted(),!r.ok){let e=[r.stderr,r.stdout].find(e=>e!==void 0&&e.trim().length>0);throw Error(e?`Linear connector creation failed:\n${e}`:`Linear connector creation failed.`)}let i=parseCreatedLinearConnector(r.stdout);if(i===void 0)throw Error(`Vercel returned an invalid Linear connector.`);return await attachLinearConnector({...e,connector:i,deps:t}),i}export{
|
|
1
|
+
import{z}from"#compiled/zod/index.js";import{runVercel,runVercelCaptureStdout}from"#setup/primitives/run-vercel.js";import{createPromptCommandOutput,withPhase}from"#setup/cli/index.js";import{replaceConnectTrigger}from"#setup/connect-provisioning.js";const LINEAR_TRIGGER_PATH=`/eve/v1/linear`,LinearConnectorRefSchema=z.object({id:z.string().min(1),uid:z.string().min(1),supportedSubjectTypes:z.array(z.string()).refine(e=>e.includes(`app`))});function parseCreatedLinearConnector(e){try{let t=LinearConnectorRefSchema.safeParse(JSON.parse(e));return t.success?{id:t.data.id,uid:t.data.uid}:void 0}catch{return}}async function findLinearConnector(e){let t=await(e.deps??{runVercel,runVercelCaptureStdout}).runVercelCaptureStdout([`connect`,`list`,`--all-projects`,`--service`,`linear`,`-F`,`json`,`--scope`,e.project.orgId],{cwd:e.projectRoot,nonInteractive:!0,signal:e.signal});if(t.ok)try{let n=JSON.parse(t.stdout);if(!Array.isArray(n.connectors))return;let r=`linear/${e.slug}`,i=n.connectors.find(e=>typeof e==`object`&&!!e&&e.uid===r);return typeof i?.id==`string`?{id:i.id,uid:r}:void 0}catch{return}}async function attachLinearConnector(e){let t=e.deps??{runVercel,runVercelCaptureStdout},n=createPromptCommandOutput(e.log),r=await withPhase(e.log,`Connecting Linear Agent Sessions...`,()=>replaceConnectTrigger({connectorUid:e.connector.uid,projectRoot:e.projectRoot,projectId:e.project.projectId,orgId:e.project.orgId,environment:`production`,triggerPath:LINEAR_TRIGGER_PATH,onOutput:n,signal:e.signal,deps:t}));if(e.signal?.throwIfAborted(),r.state!==`attached`)throw Error(`Linear connector was found, but its trigger could not be attached. Run \`vercel connect attach ${e.connector.uid} --project ${e.project.projectId} --environment production --triggers --trigger-path ${LINEAR_TRIGGER_PATH} --yes --scope ${e.project.orgId}\`.`)}async function provisionLinearConnector(e){let t=e.deps??{runVercel,runVercelCaptureStdout},n=createPromptCommandOutput(e.log),r=await withPhase(e.log,`Creating Linear connector...`,()=>t.runVercelCaptureStdout([`connect`,`create`,`linear`,`--name`,e.slug,`--triggers`,`--trigger-event`,`AgentSessionEvent`,`-F`,`json`,`--scope`,e.project.orgId],{cwd:e.projectRoot,nonInteractive:!0,onOutput:n,signal:e.signal}));if(e.signal?.throwIfAborted(),!r.ok){let e=[r.stderr,r.stdout].find(e=>e!==void 0&&e.trim().length>0);throw Error(e?`Linear connector creation failed:\n${e}`:`Linear connector creation failed.`)}let i=parseCreatedLinearConnector(r.stdout);if(i===void 0)throw Error(`Vercel returned an invalid Linear connector.`);return await attachLinearConnector({...e,connector:i,deps:t}),i}export{attachLinearConnector,findLinearConnector,parseCreatedLinearConnector,provisionLinearConnector};
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import type { ChannelSetupLog } from "#setup/cli/index.js";
|
|
2
2
|
import type { VercelProjectReference } from "#setup/project-resolution.js";
|
|
3
3
|
import { runVercel, runVercelCaptureStdout } from "#setup/primitives/run-vercel.js";
|
|
4
|
-
|
|
5
|
-
export declare const LINQ_TRIGGER_EVENTS: string[];
|
|
6
|
-
export interface LinqConnectorRef {
|
|
4
|
+
interface LinqConnectorRef {
|
|
7
5
|
id: string;
|
|
8
6
|
uid: string;
|
|
9
7
|
phoneNumber?: string;
|
|
10
8
|
}
|
|
11
|
-
|
|
9
|
+
interface ProvisionLinqConnectorDeps {
|
|
12
10
|
runVercel: typeof runVercel;
|
|
13
11
|
runVercelCaptureStdout: typeof runVercelCaptureStdout;
|
|
14
12
|
}
|
|
@@ -30,3 +28,4 @@ export declare function provisionLinqConnector(input: {
|
|
|
30
28
|
signal?: AbortSignal;
|
|
31
29
|
deps?: ProvisionLinqConnectorDeps;
|
|
32
30
|
}): Promise<LinqConnectorRef>;
|
|
31
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z}from"#compiled/zod/index.js";import{runVercel,runVercelCaptureStdout}from"#setup/primitives/run-vercel.js";import{createPromptCommandOutput,withPhase}from"#setup/cli/index.js";import{replaceConnectTrigger}from"#setup/connect-provisioning.js";const LINQ_TRIGGER_PATH=`/eve/v1/linq`,LINQ_TRIGGER_EVENTS=[`message.received`,`reaction.added`,`reaction.removed`],ConnectorSchema=z.object({id:z.string().min(1),uid:z.string().min(1),supportedSubjectTypes:z.array(z.string()).refine(e=>e.includes(`app`)),data:z.object({phoneNumbers:z.array(z.string().min(1)).optional()}).optional()});function parseCreatedLinqConnector(e){try{let t=ConnectorSchema.safeParse(JSON.parse(e));if(!t.success)return;let n=t.data.data?.phoneNumbers?.[0],r={id:t.data.id,uid:t.data.uid};return n!==void 0&&(r.phoneNumber=n),r}catch{return}}function requireCreatedConnector(e){if(!e.ok){let t=[e.stderr,e.stdout].find(e=>e!==void 0&&e.trim().length>0);throw Error(t?`Linq connector creation failed:\n${t}`:`Linq connector creation failed.`)}let t=parseCreatedLinqConnector(e.stdout);if(t===void 0)throw Error(`Vercel returned an invalid Linq connector.`);return t}async function provisionLinqConnector(e){let t=e.deps??{runVercel,runVercelCaptureStdout},n=createPromptCommandOutput(e.log),onOutput=e=>{URL.parse(e.text)===null&&n(e)},r=[`connect`,`create`,`linq`,`--name`,e.slug],i=e.existingAccount===void 0?void 0:JSON.stringify({apiToken:e.existingAccount.apiToken,phoneNumbers:e.existingAccount.phoneNumbers});i!==void 0&&r.push(`--connector-type`,`linq`,`--data`,`@-`),r.push(`--triggers`,...LINQ_TRIGGER_EVENTS.flatMap(e=>[`--trigger-event`,e]),`-F`,`json`,`--scope`,e.project.orgId);let a=await withPhase(e.log,`Creating Linq connector...`,()=>t.runVercelCaptureStdout(r,{cwd:e.projectRoot,nonInteractive:!0,onOutput,signal:e.signal,stdin:i}));e.signal?.throwIfAborted();let o=await readLinqConnector({connector:requireCreatedConnector(a),projectRoot:e.projectRoot,orgId:e.project.orgId,signal:e.signal,deps:t});if((await withPhase(e.log,`Connecting Linq credentials...`,()=>replaceConnectTrigger({connectorUid:o.uid,projectRoot:e.projectRoot,projectId:e.project.projectId,orgId:e.project.orgId,environment:`production`,triggerPath:LINQ_TRIGGER_PATH,onOutput,signal:e.signal,deps:t}))).state!==`attached`)throw Error(`Linq connector was created, but its trigger could not be attached. Run \`vercel connect attach ${o.uid} --project ${e.project.projectId} --environment production --triggers --trigger-path ${LINQ_TRIGGER_PATH} --yes --scope ${e.project.orgId}\`.`);return o}async function readLinqConnector(e){let t=await e.deps.runVercelCaptureStdout([`api`,`/v1/connect/connectors/${encodeURIComponent(e.connector.id)}`,`--scope`,e.orgId],{cwd:e.projectRoot,nonInteractive:!0,signal:e.signal});if(!t.ok)return e.connector;let n=parseCreatedLinqConnector(t.stdout);return n?.phoneNumber===void 0?e.connector:{...e.connector,phoneNumber:n.phoneNumber}}export{
|
|
1
|
+
import{z}from"#compiled/zod/index.js";import{runVercel,runVercelCaptureStdout}from"#setup/primitives/run-vercel.js";import{createPromptCommandOutput,withPhase}from"#setup/cli/index.js";import{replaceConnectTrigger}from"#setup/connect-provisioning.js";const LINQ_TRIGGER_PATH=`/eve/v1/linq`,LINQ_TRIGGER_EVENTS=[`message.received`,`reaction.added`,`reaction.removed`],ConnectorSchema=z.object({id:z.string().min(1),uid:z.string().min(1),supportedSubjectTypes:z.array(z.string()).refine(e=>e.includes(`app`)),data:z.object({phoneNumbers:z.array(z.string().min(1)).optional()}).optional()});function parseCreatedLinqConnector(e){try{let t=ConnectorSchema.safeParse(JSON.parse(e));if(!t.success)return;let n=t.data.data?.phoneNumbers?.[0],r={id:t.data.id,uid:t.data.uid};return n!==void 0&&(r.phoneNumber=n),r}catch{return}}function requireCreatedConnector(e){if(!e.ok){let t=[e.stderr,e.stdout].find(e=>e!==void 0&&e.trim().length>0);throw Error(t?`Linq connector creation failed:\n${t}`:`Linq connector creation failed.`)}let t=parseCreatedLinqConnector(e.stdout);if(t===void 0)throw Error(`Vercel returned an invalid Linq connector.`);return t}async function provisionLinqConnector(e){let t=e.deps??{runVercel,runVercelCaptureStdout},n=createPromptCommandOutput(e.log),onOutput=e=>{URL.parse(e.text)===null&&n(e)},r=[`connect`,`create`,`linq`,`--name`,e.slug],i=e.existingAccount===void 0?void 0:JSON.stringify({apiToken:e.existingAccount.apiToken,phoneNumbers:e.existingAccount.phoneNumbers});i!==void 0&&r.push(`--connector-type`,`linq`,`--data`,`@-`),r.push(`--triggers`,...LINQ_TRIGGER_EVENTS.flatMap(e=>[`--trigger-event`,e]),`-F`,`json`,`--scope`,e.project.orgId);let a=await withPhase(e.log,`Creating Linq connector...`,()=>t.runVercelCaptureStdout(r,{cwd:e.projectRoot,nonInteractive:!0,onOutput,signal:e.signal,stdin:i}));e.signal?.throwIfAborted();let o=await readLinqConnector({connector:requireCreatedConnector(a),projectRoot:e.projectRoot,orgId:e.project.orgId,signal:e.signal,deps:t});if((await withPhase(e.log,`Connecting Linq credentials...`,()=>replaceConnectTrigger({connectorUid:o.uid,projectRoot:e.projectRoot,projectId:e.project.projectId,orgId:e.project.orgId,environment:`production`,triggerPath:LINQ_TRIGGER_PATH,onOutput,signal:e.signal,deps:t}))).state!==`attached`)throw Error(`Linq connector was created, but its trigger could not be attached. Run \`vercel connect attach ${o.uid} --project ${e.project.projectId} --environment production --triggers --trigger-path ${LINQ_TRIGGER_PATH} --yes --scope ${e.project.orgId}\`.`);return o}async function readLinqConnector(e){let t=await e.deps.runVercelCaptureStdout([`api`,`/v1/connect/connectors/${encodeURIComponent(e.connector.id)}`,`--scope`,e.orgId],{cwd:e.projectRoot,nonInteractive:!0,signal:e.signal});if(!t.ok)return e.connector;let n=parseCreatedLinqConnector(t.stdout);return n?.phoneNumber===void 0?e.connector:{...e.connector,phoneNumber:n.phoneNumber}}export{parseCreatedLinqConnector,provisionLinqConnector};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
interface LinqManagementDeps {
|
|
2
2
|
fetch: typeof fetch;
|
|
3
3
|
}
|
|
4
4
|
/** Lists the phone numbers assigned to a Linq partner API token. */
|
|
5
5
|
export declare function listLinqPhoneNumbers(apiToken: string, signal?: AbortSignal, deps?: LinqManagementDeps): Promise<string[]>;
|
|
6
|
+
export {};
|