eve 0.67.0 → 0.67.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -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-auth.d.ts +0 -2
- package/dist/src/channel/schedule-auth.js +1 -1
- package/dist/src/channel/schedule.d.ts +2 -2
- package/dist/src/channel/session-callback.d.ts +2 -1
- package/dist/src/channel/types.d.ts +0 -7
- package/dist/src/chunks/{use-eve-agent-OCHP4s0z.js → use-eve-agent-D4HVZBjn.js} +1 -1
- package/dist/src/chunks/{use-eve-agent-DzdyI97Z.js → use-eve-agent-DXcE_8Ja.js} +1 -1
- 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 -8
- package/dist/src/cli/application-root.js +1 -1
- package/dist/src/cli/commands/agent-instructions.d.ts +0 -4
- package/dist/src/cli/commands/agent-instructions.js +3 -3
- package/dist/src/cli/commands/extension-init.js +1 -1
- package/dist/src/cli/commands/init-agent-workspace.js +1 -1
- package/dist/src/cli/commands/init-project.d.ts +0 -1
- package/dist/src/cli/commands/init-project.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/init.js +1 -1
- package/dist/src/cli/commands/registry-declared-setups.d.ts +2 -1
- package/dist/src/cli/commands/registry-install-transaction.d.ts +0 -13
- package/dist/src/cli/commands/registry-install-transaction.js +1 -1
- package/dist/src/cli/commands/registry-pnpm-build-policy-flow.d.ts +1 -1
- package/dist/src/cli/commands/registry-presentation.d.ts +0 -1
- package/dist/src/cli/commands/registry-presentation.js +1 -1
- package/dist/src/cli/commands/registry-project.d.ts +2 -1
- package/dist/src/cli/commands/registry.d.ts +0 -4
- package/dist/src/cli/commands/registry.js +1 -1
- package/dist/src/cli/commands/setup-headless.d.ts +2 -1
- package/dist/src/cli/commands/vercel-non-interactive.d.ts +2 -1
- package/dist/src/cli/dev/diagnostic-dump.d.ts +0 -2
- package/dist/src/cli/dev/diagnostic-dump.js +1 -1
- package/dist/src/cli/dev/diagnostic-sink.d.ts +3 -2
- package/dist/src/cli/dev/environment.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/runner.d.ts +0 -1
- package/dist/src/cli/dev/tui/runner.js +1 -1
- package/dist/src/cli/dev/tui/setup-panel.d.ts +2 -2
- package/dist/src/cli/dev/tui/setup-selection-input.d.ts +2 -2
- package/dist/src/cli/dev/tui/status-line.d.ts +2 -1
- package/dist/src/cli/dev/tui/stream-format.d.ts +3 -2
- package/dist/src/cli/dev/tui/terminal-renderer.d.ts +3 -2
- package/dist/src/cli/dev/tui/theme.d.ts +1 -1
- package/dist/src/cli/dev/tui/tool-block-groups.d.ts +3 -2
- package/dist/src/cli/dev/tui/tool-presentation.d.ts +2 -1
- package/dist/src/cli/dev/tui/traces/trace-content.d.ts +0 -9
- package/dist/src/cli/dev/tui/traces/trace-content.js +1 -1
- package/dist/src/cli/dev/tui/traces/trace-view.d.ts +3 -2
- package/dist/src/cli/dev/tui/traces/trace-viewer-session.d.ts +2 -1
- package/dist/src/cli/dev/tui/traces/trace-viewer-state.d.ts +2 -3
- package/dist/src/cli/dev/tui/traces/trace-viewer-state.js +1 -1
- package/dist/src/cli/dev/ui-options.d.ts +3 -2
- package/dist/src/cli/dev/url-target.d.ts +2 -1
- package/dist/src/cli/invoke/command.d.ts +0 -11
- package/dist/src/cli/invoke/command.js +1 -1
- package/dist/src/cli/invoke/result.d.ts +1 -1
- package/dist/src/cli/telemetry/index.d.ts +0 -6
- package/dist/src/cli/telemetry/preference.d.ts +2 -1
- package/dist/src/cli/ui/alt-screen.d.ts +3 -2
- package/dist/src/cli/ui/live-region.d.ts +3 -2
- package/dist/src/cli/ui/output.d.ts +1 -16
- package/dist/src/cli/ui/output.js +2 -5
- 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/eve-agent-store.js +1 -1
- package/dist/src/client/message-action-parts.d.ts +2 -1
- package/dist/src/client/session-utils.d.ts +3 -2
- package/dist/src/compiled/.vendor-stamp.json +6 -6
- package/dist/src/compiled/@workflow/core/index.js +2 -2
- package/dist/src/compiled/@workflow/core/private.js +1 -1
- package/dist/src/compiled/@workflow/core/runtime/constants.d.ts +4 -3
- package/dist/src/compiled/@workflow/core/runtime/helpers.d.ts +23 -0
- package/dist/src/compiled/@workflow/core/runtime/helpers.js +1 -1
- package/dist/src/compiled/@workflow/core/runtime/hook-wake.d.ts +69 -36
- package/dist/src/compiled/@workflow/core/runtime/lifecycle-hooks.d.ts +25 -22
- package/dist/src/compiled/@workflow/core/runtime/run-spec-version.d.ts +16 -0
- package/dist/src/compiled/@workflow/core/runtime/start.d.ts +59 -1
- package/dist/src/compiled/@workflow/core/runtime/step-latency.d.ts +3 -2
- package/dist/src/compiled/@workflow/core/runtime/suspension-handler.d.ts +34 -12
- package/dist/src/compiled/@workflow/core/runtime.js +4 -4
- package/dist/src/compiled/@workflow/core/serialization.d.ts +7 -2
- package/dist/src/compiled/@workflow/core/serialization.js +1 -1
- package/dist/src/compiled/@workflow/core/telemetry/semantic-conventions.d.ts +29 -0
- package/dist/src/compiled/@workflow/core/types.d.ts +1 -0
- package/dist/src/compiled/@workflow/core/version.d.ts +1 -1
- package/dist/src/compiled/@workflow/core/workflow.js +1 -1
- package/dist/src/compiled/@workflow/errors/index.d.ts +13 -0
- package/dist/src/compiled/@workflow/errors/index.js +1 -1
- package/dist/src/compiled/@workflow/world/events.d.ts +14 -4
- package/dist/src/compiled/@workflow/world/index.d.ts +2 -2
- package/dist/src/compiled/@workflow/world/interfaces.d.ts +2 -1
- package/dist/src/compiled/@workflow/world/shared.d.ts +24 -0
- package/dist/src/compiled/@workflow/world/spec-version.d.ts +23 -0
- package/dist/src/compiled/@workflow/world-local/index.js +5 -5
- package/dist/src/compiled/@workflow/world-vercel/index.js +16 -16
- package/dist/src/compiled/_chunks/workflow/{attribute-changes-DzJovO_f.js → attribute-changes-D721NpZv.js} +3 -3
- package/dist/src/compiled/_chunks/workflow/{dist-BQSf8Hax.js → dist-BUFGAKRb.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/dist-CaNNONeg.js +3 -0
- package/dist/src/compiled/_chunks/workflow/{frames-qKc30rjg.js → frames-Dr9fHWdo.js} +2 -2
- package/dist/src/compiled/_chunks/workflow/{global-BQnKzRXo.js → global-DKbOgrts.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/helpers-DkKxg_yn.js +1 -0
- package/dist/src/compiled/_chunks/workflow/logger-D4GJNTk4.js +14 -0
- package/dist/src/compiled/_chunks/workflow/resume-hook-uTW-jBYz.js +1 -0
- package/dist/src/compiled/_chunks/workflow/run-5DmiMN9b.js +1 -0
- package/dist/src/compiled/_chunks/workflow/serialization-CNIYl1D3.js +3 -0
- package/dist/src/compiled/_chunks/workflow/sleep-DFKgN7UG.js +1 -0
- package/dist/src/compiled/_chunks/workflow/wait-until-3_1djUuL.js +1 -0
- package/dist/src/compiled/_chunks/workflow/{ws-transport-BrsMYqJg.js → ws-transport--rYOVIaf.js} +1 -1
- package/dist/src/compiler/artifacts.d.ts +4 -27
- package/dist/src/compiler/artifacts.js +1 -1
- package/dist/src/compiler/compile-agent.d.ts +2 -1
- package/dist/src/compiler/compile-agent.js +1 -1
- package/dist/src/compiler/diagnostics.d.ts +0 -11
- package/dist/src/compiler/diagnostics.js +1 -1
- package/dist/src/compiler/manifest.d.ts +0 -4
- package/dist/src/compiler/module-map.d.ts +1 -5
- package/dist/src/compiler/module-map.js +1 -1
- package/dist/src/compiler/normalize-agent-config.js +1 -1
- package/dist/src/compiler/normalize-connection.d.ts +2 -1
- package/dist/src/compiler/normalize-instructions.d.ts +2 -6
- package/dist/src/compiler/normalize-instructions.js +1 -1
- package/dist/src/compiler/normalize-manifest-helpers.d.ts +0 -1
- package/dist/src/compiler/normalize-manifest-helpers.js +1 -1
- package/dist/src/compiler/normalize-manifest.js +1 -1
- package/dist/src/compiler/normalize-skill.d.ts +2 -1
- package/dist/src/compiler/project-sources.d.ts +0 -14
- package/dist/src/compiler/project-sources.js +1 -1
- package/dist/src/compiler/resolve-workspace-subagent.js +1 -1
- package/dist/src/compiler/source-graph.d.ts +1 -2
- package/dist/src/compiler/source-graph.js +1 -1
- package/dist/src/context/build-base-tool-context.d.ts +2 -1
- package/dist/src/context/dynamic-tool-lifecycle.d.ts +0 -4
- package/dist/src/context/dynamic-tool-lifecycle.js +1 -1
- package/dist/src/context/dynamic-tool-metadata.d.ts +0 -1
- package/dist/src/context/dynamic-tool-metadata.js +1 -1
- package/dist/src/context/memory-lifecycle.d.ts +0 -8
- package/dist/src/context/memory-lifecycle.js +1 -1
- package/dist/src/discover/connections.d.ts +0 -15
- package/dist/src/discover/connections.js +1 -1
- package/dist/src/discover/diagnostics.d.ts +0 -12
- package/dist/src/discover/diagnostics.js +1 -1
- package/dist/src/discover/discover-agent.js +1 -1
- package/dist/src/discover/discover-subagent.d.ts +0 -1
- package/dist/src/discover/discover-subagent.js +1 -1
- package/dist/src/discover/extensions.d.ts +3 -10
- package/dist/src/discover/extensions.js +1 -1
- package/dist/src/discover/filesystem.d.ts +5 -9
- package/dist/src/discover/filesystem.js +1 -1
- package/dist/src/discover/grammar.d.ts +0 -46
- package/dist/src/discover/grammar.js +1 -1
- package/dist/src/discover/manifest.d.ts +5 -4
- package/dist/src/discover/memory.d.ts +0 -1
- package/dist/src/discover/memory.js +1 -1
- package/dist/src/discover/named-source-directory.js +1 -1
- package/dist/src/discover/project-source.d.ts +2 -1
- package/dist/src/discover/project.js +1 -1
- package/dist/src/discover/sandbox.js +1 -1
- package/dist/src/discover/skills.d.ts +0 -4
- package/dist/src/discover/skills.js +1 -1
- package/dist/src/evals/cli/eval-client.d.ts +2 -1
- package/dist/src/evals/judge.d.ts +2 -1
- package/dist/src/evals/runner/execute-task.d.ts +1 -1
- package/dist/src/evals/types.d.ts +1 -1
- package/dist/src/eve-channel/support.d.ts +1 -3
- package/dist/src/eve-channel/support.js +1 -1
- package/dist/src/execution/dynamic-workflow/schema.d.ts +2 -1
- package/dist/src/execution/dynamic-workflow/tool.js +1 -1
- package/dist/src/execution/effective-agent-config.d.ts +2 -1
- package/dist/src/execution/eve-workflow-attributes.d.ts +3 -5
- package/dist/src/execution/eve-workflow-attributes.js +1 -1
- package/dist/src/execution/history-view.d.ts +2 -1
- package/dist/src/execution/node-step.d.ts +3 -2
- package/dist/src/execution/runtime-context.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-templates.js +1 -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/just-bash.js +1 -1
- package/dist/src/execution/sandbox/bindings/local-provider-utils.d.ts +3 -2
- package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.d.ts +0 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.js +1 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-network.d.ts +1 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-options.d.ts +0 -3
- package/dist/src/execution/sandbox/bindings/microsandbox-options.js +1 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-templates.d.ts +0 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-templates.js +1 -1
- package/dist/src/execution/sandbox/bindings/vercel.d.ts +1 -1
- package/dist/src/execution/sandbox/dockerfile.d.ts +0 -1
- package/dist/src/execution/sandbox/dockerfile.js +1 -1
- package/dist/src/execution/sandbox/ensure.d.ts +2 -1
- package/dist/src/execution/sandbox/ensure.js +1 -1
- package/dist/src/execution/sandbox/prewarm.d.ts +1 -18
- package/dist/src/execution/sandbox/prewarm.js +1 -1
- package/dist/src/execution/sandbox/require-sandbox.d.ts +0 -11
- package/dist/src/execution/sandbox/require-sandbox.js +1 -1
- package/dist/src/execution/sandbox/truncate-output.d.ts +2 -5
- package/dist/src/execution/sandbox/truncate-output.js +2 -2
- package/dist/src/execution/session/admission.d.ts +3 -2
- package/dist/src/execution/session/event-sink.d.ts +2 -1
- package/dist/src/execution/session/finalization.d.ts +2 -1
- package/dist/src/execution/session/handoff.d.ts +3 -2
- package/dist/src/execution/session/route-selected-delivery.d.ts +2 -1
- package/dist/src/execution/session/timeout-control.d.ts +2 -1
- package/dist/src/execution/session-activity.d.ts +0 -3
- package/dist/src/execution/session-activity.js +1 -1
- package/dist/src/execution/session-inbox/protocol.d.ts +2 -1
- package/dist/src/execution/session.d.ts +3 -2
- package/dist/src/execution/stable-workflow-names.d.ts +0 -6
- package/dist/src/execution/stable-workflow-names.js +1 -1
- package/dist/src/execution/tools/agent-router-workflow.js +1 -1
- package/dist/src/execution/tools/ask-question-workflow.js +1 -1
- package/dist/src/execution/tools/connection-search.js +1 -1
- package/dist/src/execution/tools/sleep-workflow.js +1 -1
- package/dist/src/execution/tools/subagent/invoke-preparation.d.ts +2 -1
- package/dist/src/execution/tools/subagent/start.js +1 -1
- package/dist/src/execution/tools/subagent/task-agent-requests.d.ts +4 -3
- package/dist/src/execution/tools/workflow/background.d.ts +2 -6
- package/dist/src/execution/tools/workflow/background.js +1 -1
- package/dist/src/execution/tools/workflow/owner-channels.d.ts +1 -1
- package/dist/src/execution/tools/workflow/workflow-owner-background.d.ts +2 -1
- package/dist/src/execution/web-fetch/execute.d.ts +2 -2
- package/dist/src/execution/web-fetch/request.d.ts +2 -1
- package/dist/src/extensions/code/extension/lib/computer-use-driver-source.d.ts +0 -2
- package/dist/src/extensions/code/extension/lib/computer-use-driver-source.js +57 -57
- package/dist/src/extensions/code/extension/lib/computer-use.d.ts +1 -1
- package/dist/src/extensions/code/extension/lib/generated-paths.d.ts +2 -1
- package/dist/src/extensions/code/extension/lib/grep-search.d.ts +5 -5
- package/dist/src/extensions/code/extension/lib/grep-search.js +2 -2
- package/dist/src/extensions/code/extension/lib/guidelines.d.ts +2 -1
- package/dist/src/extensions/code/extension/lib/patch.d.ts +3 -2
- package/dist/src/extensions/code/extension/lib/prwatch-github.d.ts +1 -2
- package/dist/src/extensions/code/extension/lib/prwatch-github.js +1 -1
- package/dist/src/extensions/code/extension/lib/prwatch-registry.d.ts +2 -1
- package/dist/src/framework/host-inventory.d.ts +3 -2
- package/dist/src/harness/approval-candidates.d.ts +4 -3
- package/dist/src/harness/approval-delivery-coordinator.d.ts +2 -1
- package/dist/src/harness/authorization.d.ts +0 -9
- package/dist/src/harness/authorization.js +1 -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-safety.d.ts +9 -0
- package/dist/src/harness/provider-safety.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/step-hooks.js +1 -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-cancellation.d.ts +2 -7
- package/dist/src/harness/turn-cancellation.js +1 -1
- package/dist/src/harness/turn-client-context.d.ts +2 -1
- package/dist/src/harness/workflow-stream-error.d.ts +0 -7
- package/dist/src/harness/workflow-stream-error.js +1 -1
- package/dist/src/instrumentation/runtime.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/cache-metadata.js +1 -1
- package/dist/src/internal/application/compiled-artifacts.js +1 -1
- 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/optional-package-import.js +1 -1
- package/dist/src/internal/application/optional-package-install.js +1 -1
- package/dist/src/internal/application/output-publication-lock.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-asset-import-plugin.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-evaluation-error.js +1 -1
- package/dist/src/internal/authored-module-loader.js +1 -1
- package/dist/src/internal/authored-module-map-loader.js +1 -1
- package/dist/src/internal/authored-package-boundary.js +1 -1
- package/dist/src/internal/authored-relative-extension-resolver.js +1 -1
- package/dist/src/internal/bundler/extension-scope-plugin.d.ts +2 -1
- package/dist/src/internal/bundler/extension-scope-plugin.js +1 -1
- package/dist/src/internal/bundler/nitro-rolldown.d.ts +3 -12
- package/dist/src/internal/bundler/nitro-rolldown.js +1 -1
- package/dist/src/internal/bundler/vendored-dependency-log.d.ts +7 -0
- package/dist/src/internal/bundler/vendored-dependency-log.js +1 -0
- 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/gateway.d.ts +2 -0
- package/dist/src/internal/gateway.js +1 -1
- package/dist/src/internal/helpers/markdown.js +1 -1
- package/dist/src/internal/instrumentation-layout.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/materialized-authored-modules.js +1 -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.js +1 -1
- package/dist/src/internal/nitro/dev-runtime-artifacts.d.ts +0 -4
- package/dist/src/internal/nitro/dev-runtime-artifacts.js +1 -1
- package/dist/src/internal/nitro/dev-runtime-source-snapshot-copy.js +1 -1
- package/dist/src/internal/nitro/dev-runtime-source-snapshot-local-roots.js +1 -1
- package/dist/src/internal/nitro/dev-runtime-source-snapshot.d.ts +0 -1
- package/dist/src/internal/nitro/dev-runtime-source-snapshot.js +1 -1
- package/dist/src/internal/nitro/development-generation.d.ts +0 -1
- package/dist/src/internal/nitro/development-generation.js +1 -1
- package/dist/src/internal/nitro/host/build-application.js +1 -1
- package/dist/src/internal/nitro/host/build-extension.js +1 -1
- package/dist/src/internal/nitro/host/build-vercel-agent-summary.js +1 -1
- package/dist/src/internal/nitro/host/channel-routes.d.ts +1 -1
- package/dist/src/internal/nitro/host/configure-nitro-routes.js +1 -1
- package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
- package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.d.ts +2 -1
- package/dist/src/internal/nitro/host/dev-authored-source-watcher.js +1 -1
- package/dist/src/internal/nitro/host/dev-host-candidate.d.ts +2 -1
- package/dist/src/internal/nitro/host/drained-nitro-dev-server.d.ts +1 -1
- package/dist/src/internal/nitro/host/extension-capability-requirements.js +1 -1
- package/dist/src/internal/nitro/host/extension-external-dependency-plugin.js +1 -1
- package/dist/src/internal/nitro/host/local-tracing-runtime-plugin.js +1 -1
- package/dist/src/internal/nitro/host/nitro-bundler-config.js +1 -1
- package/dist/src/internal/nitro/host/schedule-task-routes.d.ts +2 -26
- package/dist/src/internal/nitro/host/schedule-task-routes.js +2 -2
- package/dist/src/internal/nitro/host/start-production-server.js +1 -1
- package/dist/src/internal/nitro/host/workspace-extensions.js +1 -1
- package/dist/src/internal/nitro/routes/channel-request-instrumentation.d.ts +2 -1
- package/dist/src/internal/nitro/routes/channel-route-context.d.ts +1 -1
- package/dist/src/internal/nitro/routes/runtime-stack.d.ts +2 -1
- package/dist/src/internal/resolve-model-endpoint-status.d.ts +2 -1
- package/dist/src/internal/vercel/assemble-eve-services.d.ts +3 -2
- package/dist/src/internal/vercel/build-agent-workspace.js +1 -1
- package/dist/src/internal/vercel/eve-service-contribution.d.ts +2 -3
- package/dist/src/internal/vercel/eve-service-contribution.js +1 -1
- package/dist/src/internal/vercel/project-link.d.ts +2 -1
- package/dist/src/internal/vercel/project-link.js +1 -1
- package/dist/src/internal/workflow/development-world-client.js +1 -1
- package/dist/src/internal/workflow/development-world-codec.d.ts +2 -1
- package/dist/src/internal/workflow/development-world-server.js +1 -1
- package/dist/src/internal/workflow/world-compatibility.d.ts +2 -1
- package/dist/src/internal/workflow-bundle/builder-support.d.ts +0 -9
- package/dist/src/internal/workflow-bundle/builder-support.js +2 -3
- package/dist/src/internal/workflow-bundle/builder.js +2 -2
- 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/internal/workflow-bundle/workflow-builders.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 -22
- 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/hitl.d.ts +0 -4
- package/dist/src/public/channels/slack/hitl.js +2 -2
- 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/mrkdwn.d.ts +0 -2
- package/dist/src/public/channels/slack/mrkdwn.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/channels/upload-policy.d.ts +0 -11
- package/dist/src/public/channels/upload-policy.js +1 -1
- package/dist/src/public/definitions/channel.d.ts +1 -1
- package/dist/src/public/index.js +1 -1
- package/dist/src/public/memory/file/provider.js +1 -1
- package/dist/src/public/models/openai/chatgpt/model.d.ts +2 -1
- package/dist/src/public/models/openai/chatgpt/token-broker.d.ts +1 -1
- package/dist/src/public/next/server.js +1 -1
- package/dist/src/public/nuxt/dev-server.d.ts +3 -2
- package/dist/src/public/nuxt/dev-server.js +1 -1
- package/dist/src/public/skills/index.js +1 -1
- package/dist/src/public/sveltekit/dev-server.d.ts +3 -2
- package/dist/src/public/sveltekit/dev-server.js +1 -1
- package/dist/src/public/tools/index.js +1 -1
- package/dist/src/runtime/compiled-artifacts-source.d.ts +0 -4
- package/dist/src/runtime/compiled-artifacts-source.js +1 -1
- package/dist/src/runtime/connections/instance-identity.d.ts +0 -3
- package/dist/src/runtime/connections/instance-identity.js +1 -1
- package/dist/src/runtime/connections/mcp-tracing.d.ts +1 -6
- package/dist/src/runtime/connections/mcp-tracing.js +1 -1
- package/dist/src/runtime/connections/openapi-client.d.ts +1 -1
- package/dist/src/runtime/connections/scoped-authorization.d.ts +0 -9
- package/dist/src/runtime/connections/scoped-authorization.js +1 -1
- package/dist/src/runtime/hooks/registry.d.ts +0 -7
- package/dist/src/runtime/hooks/registry.js +1 -1
- package/dist/src/runtime/loaders/artifact-paths.d.ts +2 -1
- package/dist/src/runtime/loaders/bundled-artifacts.d.ts +0 -1
- package/dist/src/runtime/loaders/bundled-artifacts.js +1 -1
- package/dist/src/runtime/resolve-agent.d.ts +2 -2
- package/dist/src/runtime/resolve-agent.js +1 -1
- package/dist/src/runtime/resolve-dynamic-tool.d.ts +0 -16
- package/dist/src/runtime/resolve-dynamic-tool.js +1 -1
- package/dist/src/runtime/sandbox/prepared-artifacts.d.ts +1 -2
- package/dist/src/runtime/sandbox/prepared-artifacts.js +1 -1
- package/dist/src/runtime/schedules/register.d.ts +0 -4
- package/dist/src/runtime/schedules/register.js +1 -1
- package/dist/src/self-modification/credentials.d.ts +1 -4
- package/dist/src/self-modification/credentials.js +1 -1
- package/dist/src/self-modification/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/services/dev-client/vercel-auth-error.d.ts +0 -8
- package/dist/src/services/dev-client/vercel-auth-error.js +2 -3
- package/dist/src/setup/ai-gateway-api-key.d.ts +2 -1
- package/dist/src/setup/append-env.d.ts +3 -2
- package/dist/src/setup/ask.d.ts +3 -3
- package/dist/src/setup/boxes/apply-ai-gateway-credential.d.ts +2 -1
- package/dist/src/setup/boxes/deploy-project.d.ts +4 -3
- package/dist/src/setup/boxes/link-project.d.ts +2 -1
- package/dist/src/setup/boxes/resolve-provisioning.d.ts +2 -1
- package/dist/src/setup/boxes/select-model.d.ts +2 -37
- 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/provider.d.ts +2 -45
- package/dist/src/setup/flows/provider.js +1 -4
- package/dist/src/setup/flows/registry-session.d.ts +3 -2
- package/dist/src/setup/integrations/discord/api.d.ts +2 -1
- package/dist/src/setup/integrations/discord/connect.d.ts +3 -3
- package/dist/src/setup/integrations/discord/connect.js +1 -1
- package/dist/src/setup/integrations/discord/setup.d.ts +2 -1
- package/dist/src/setup/integrations/file-memory/vercel.d.ts +1 -1
- package/dist/src/setup/integrations/github/connect.d.ts +3 -3
- package/dist/src/setup/integrations/github/connect.js +1 -1
- package/dist/src/setup/integrations/github/setup.d.ts +1 -1
- package/dist/src/setup/integrations/linear/connect.d.ts +2 -2
- package/dist/src/setup/integrations/linear/connect.js +1 -1
- package/dist/src/setup/integrations/linear/setup.d.ts +1 -1
- package/dist/src/setup/integrations/linq/connect.d.ts +3 -4
- package/dist/src/setup/integrations/linq/connect.js +1 -1
- package/dist/src/setup/integrations/linq/management.d.ts +2 -1
- package/dist/src/setup/integrations/linq/setup.d.ts +1 -9
- package/dist/src/setup/integrations/linq/setup.js +1 -1
- package/dist/src/setup/integrations/photon/connect.d.ts +5 -7
- package/dist/src/setup/integrations/photon/connect.js +1 -1
- package/dist/src/setup/integrations/photon/management.d.ts +5 -4
- package/dist/src/setup/integrations/photon/setup-flow.d.ts +2 -1
- package/dist/src/setup/integrations/registry.d.ts +0 -2
- package/dist/src/setup/integrations/registry.js +1 -1
- package/dist/src/setup/integrations/runner.d.ts +3 -2
- package/dist/src/setup/integrations/shared/scaffold.d.ts +2 -1
- package/dist/src/setup/integrations/shared/vercel-project.d.ts +2 -1
- package/dist/src/setup/integrations/shopify/setup.d.ts +2 -1
- package/dist/src/setup/integrations/teams/connect.d.ts +3 -3
- package/dist/src/setup/integrations/teams/connect.js +1 -1
- package/dist/src/setup/integrations/teams/setup.d.ts +2 -1
- package/dist/src/setup/integrations/web/setup.d.ts +2 -1
- package/dist/src/setup/primitives/pm/pnpm.js +1 -1
- package/dist/src/setup/primitives/pm/process-result.d.ts +2 -1
- package/dist/src/setup/primitives/pm/shared.d.ts +2 -1
- package/dist/src/setup/primitives/process-output.d.ts +2 -1
- package/dist/src/setup/primitives/run-vercel.js +1 -1
- package/dist/src/setup/project-resolution.d.ts +0 -2
- package/dist/src/setup/project-resolution.js +1 -1
- package/dist/src/setup/provider-settings.js +1 -1
- package/dist/src/setup/quit-guard.d.ts +3 -2
- package/dist/src/setup/scaffold/connections/catalog.d.ts +0 -13
- package/dist/src/setup/scaffold/connections/catalog.js +1 -1
- package/dist/src/setup/scaffold/create/add-to-project.d.ts +2 -1
- package/dist/src/setup/scaffold/create/project.js +1 -1
- package/dist/src/setup/scaffold/files.d.ts +2 -1
- package/dist/src/setup/scaffold/update/channels.d.ts +0 -1
- package/dist/src/setup/scaffold/version-tokens.js +1 -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/scaffold/workspace-root.js +1 -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-api-failure.d.ts +0 -2
- package/dist/src/setup/vercel-api-failure.js +1 -1
- package/dist/src/setup/vercel-project-api.d.ts +1 -1
- package/dist/src/setup/vercel-project.d.ts +4 -38
- package/dist/src/setup/vercel-project.js +0 -0
- package/dist/src/shared/action-types.d.ts +1 -58
- package/dist/src/shared/action-types.js +1 -1
- package/dist/src/shared/agent-definition.d.ts +0 -3
- package/dist/src/shared/agent-turn-outcome.d.ts +1 -3
- package/dist/src/shared/agent-turn-outcome.js +1 -1
- package/dist/src/shared/chatgpt-model.d.ts +0 -1
- package/dist/src/shared/chatgpt-model.js +1 -1
- package/dist/src/shared/conversation-context.d.ts +2 -1
- package/dist/src/shared/conversation-identity.d.ts +2 -0
- package/dist/src/shared/conversation-identity.js +1 -0
- package/dist/src/shared/extension-package-contract.d.ts +2 -1
- package/dist/src/shared/forwarded-trace-policy.d.ts +3 -2
- package/dist/src/shared/gateway-service-tier.d.ts +2 -1
- package/dist/src/shared/memory-state.d.ts +0 -8
- package/dist/src/shared/memory-state.js +1 -1
- package/dist/src/shared/sandbox-environment.d.ts +0 -1
- package/dist/src/shared/sandbox-environment.js +1 -1
- package/dist/src/shared/skill-package.d.ts +0 -5
- package/dist/src/shared/skill-package.js +1 -1
- package/dist/src/shared/skill-paths.d.ts +0 -13
- package/dist/src/shared/skill-paths.js +2 -2
- package/dist/src/shared/token-usage.d.ts +0 -7
- package/dist/src/shared/token-usage.js +1 -1
- package/dist/src/shared/ulid.d.ts +2 -8
- package/dist/src/shared/ulid.js +1 -1
- package/dist/src/shared/vercel-project.d.ts +2 -1
- package/dist/src/shared/vercel-services.d.ts +2 -2
- package/dist/src/shared/workflow-sandbox.d.ts +0 -7
- package/dist/src/source-change/agent-config-ast.d.ts +2 -1
- package/dist/src/source-change/agent-config-string-path.d.ts +2 -2
- package/dist/src/source-change/apply-agent-model-settings.d.ts +2 -1
- package/dist/src/source-change/apply-model-selection.d.ts +2 -1
- package/dist/src/source-change/static-source-change.d.ts +4 -3
- package/dist/src/subagents/invocation.d.ts +1 -1
- package/dist/src/subagents/tool.d.ts +2 -1
- package/dist/src/svelte/index.js +1 -1
- package/dist/src/svelte/use-eve-agent.js +1 -1
- package/dist/src/tools/definition.d.ts +0 -3
- package/dist/src/tools/durable-callbacks.d.ts +1 -2
- package/dist/src/tools/durable-callbacks.js +1 -1
- package/dist/src/tools/framework/agent.js +1 -1
- package/dist/src/tools/framework/task-cancel.d.ts +1 -1
- package/dist/src/tools/native-definition.d.ts +2 -1
- package/dist/src/tracing/agent-action-instrumentation.d.ts +2 -1
- package/dist/src/tracing/agent-invocation-coordinator.js +1 -1
- package/dist/src/tracing/agent-memory-instrumentation.d.ts +2 -1
- package/dist/src/tracing/agent-otel-attributes.js +1 -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-context-store.d.ts +0 -2
- package/dist/src/tracing/agent-trace-context-store.js +1 -1
- 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/conversation-context.d.ts +0 -2
- package/dist/src/tracing/conversation-context.js +1 -1
- package/dist/src/tracing/install-instrumentation-runtime.js +1 -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/dist/src/vue/index.js +1 -1
- package/dist/src/vue/use-eve-agent.js +1 -1
- package/docs/agent-config.md +7 -0
- package/package.json +8 -8
- package/dist/src/cli/commands/channel-add-conflicts.d.ts +0 -21
- package/dist/src/cli/commands/channel-add-conflicts.js +0 -1
- package/dist/src/cli/commands/init-confirm.d.ts +0 -12
- package/dist/src/cli/commands/init-confirm.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/gateway-models.d.ts +0 -10
- package/dist/src/setup/gateway-models.js +0 -1
- package/dist/src/setup/primitives/run-pnpm.d.ts +0 -1
- package/dist/src/setup/primitives/run-pnpm.js +0 -1
- package/dist/src/shared/dispatch-action.d.ts +0 -30
- package/dist/src/shared/dispatch-action.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# eve
|
|
2
2
|
|
|
3
|
+
## 0.67.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 03d1f42: Internal cleanup: helpers that only tests used are moved out of the published runtime or removed, and internal modules no longer export symbols used only in their own file. There is no user-visible change.
|
|
8
|
+
- 03d1f42: Cancelling a turn no longer logs "tool execution failed" at error level for the tool that was running. Real tool failures are still logged.
|
|
9
|
+
- 03d1f42: Remove more unused internal modules and helpers from the `eve` package. This is internal cleanup with no user-visible behavior change.
|
|
10
|
+
- a6ae201: Parallel tool calls from subagents that share a sandbox no longer race to start it. In one process they now wait for a single start, and a Docker sandbox that loses the container name race to another process attaches to the winner's container instead of failing with `Conflict. The container name ... is already in use`.
|
|
11
|
+
- 213ba9b: Upgrade the bundled Workflow SDK to `@workflow/core` 5.0.0-beta.57 and the matching `@workflow/errors`, `@workflow/world`, `@workflow/world-local`, and `@workflow/world-vercel` beta releases.
|
|
12
|
+
|
|
13
|
+
## 0.67.1
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- aaea9b6: Send the Agent Runs conversation ID as the AI Gateway session ID for model and compaction calls, so Gateway generations from one conversation can be grouped together. Preserve an explicitly configured Gateway session ID.
|
|
18
|
+
- 16e2913: eve no longer prints bundler warnings that come only from dependency code when it bundles authored modules, development generations, and workflow code, matching the production server build. Warnings from your own code and unresolved imports still print, and an unresolved import inside a workflow dependency still fails the build.
|
|
19
|
+
- 16e2913: Remove unused internal helpers from the `eve` package. This is internal cleanup with no user-visible behavior change.
|
|
20
|
+
- 8cac212: Fix `useEveAgent({ resume: true })` crashing with React error #185 ("Maximum update depth exceeded") when a saved session replays more than ~50 events. The store now publishes once after catch-up instead of once per replayed event.
|
|
21
|
+
|
|
3
22
|
## 0.67.0
|
|
4
23
|
|
|
5
24
|
### Minor Changes
|
|
@@ -20,7 +20,7 @@ export type ChannelAddressDeliveryOptions<TState = undefined> = [TState] extends
|
|
|
20
20
|
* Dynamic handle for whichever durable session currently owns one channel-local address.
|
|
21
21
|
* Only {@link send} may create a session when the address is unowned.
|
|
22
22
|
*/
|
|
23
|
-
|
|
23
|
+
interface ChannelAddress<TState = undefined> {
|
|
24
24
|
readonly continuationToken: string;
|
|
25
25
|
deliver(input: SendPayload, options: ChannelAddressDeliveryOptions<TState>): Promise<Session>;
|
|
26
26
|
send(message: string | UserContent, options: ChannelAddressDeliveryOptions<TState>): Promise<Session>;
|
|
@@ -36,7 +36,7 @@ export interface ChannelAddress<TState = undefined> {
|
|
|
36
36
|
resolveSession(): Promise<Session | undefined>;
|
|
37
37
|
}
|
|
38
38
|
/** Factory for binding a route-local continuation token to a {@link ChannelAddress}. */
|
|
39
|
-
|
|
39
|
+
type ChannelAddressFn<TState = undefined> = (continuationToken: string) => ChannelAddress<TState>;
|
|
40
40
|
/** Creates one channel address backed by the runtime's continuation dispatch primitive. */
|
|
41
41
|
export declare function createChannelAddress<TState = undefined>(input: {
|
|
42
42
|
readonly adapter: ChannelAdapter<any>;
|
|
@@ -9,11 +9,11 @@ import type { Session } from "#channel/session.js";
|
|
|
9
9
|
import type { SessionAuthContext, TurnPolicy } from "#channel/types.js";
|
|
10
10
|
import type { JsonObject } from "#shared/json.js";
|
|
11
11
|
export declare const CHANNEL_SENTINEL: "eve:channel";
|
|
12
|
-
|
|
12
|
+
interface ChannelBuildMetadata {
|
|
13
13
|
readonly externalCredentials?: unknown;
|
|
14
14
|
readonly manifest?: JsonObject;
|
|
15
15
|
}
|
|
16
|
-
|
|
16
|
+
type ChannelBuildMetadataFactory = (channelName: string) => ChannelBuildMetadata;
|
|
17
17
|
/** Structural identity shared by public authored channels and compiled channels. */
|
|
18
18
|
export interface ChannelReference<TReceiveTarget = Record<string, unknown>> extends TypedReceiveTarget<TReceiveTarget> {
|
|
19
19
|
readonly __kind: typeof CHANNEL_SENTINEL;
|
|
@@ -36,3 +36,4 @@ export declare function setChannelBuildMetadata(channel: unknown, factory: Chann
|
|
|
36
36
|
export declare function getChannelInstrumentationKind(value: unknown): string | undefined;
|
|
37
37
|
export declare function setChannelActivityRenderers(channel: unknown, input: ChannelActivityPresentation): void;
|
|
38
38
|
export declare function setChannelInstrumentationKind(channel: CompiledChannel, kind: string): void;
|
|
39
|
+
export {};
|
|
@@ -8,7 +8,7 @@ import type { ResolvedChannelDefinition } from "#runtime/types.js";
|
|
|
8
8
|
/**
|
|
9
9
|
* Options for sending a message to a channel selected with `ctx.to(...)`.
|
|
10
10
|
*/
|
|
11
|
-
|
|
11
|
+
interface CrossChannelSendOptions {
|
|
12
12
|
readonly auth: SessionAuthContext | null;
|
|
13
13
|
readonly turnPolicy?: TurnPolicy;
|
|
14
14
|
/** Updates the session policy; omission preserves it. New sessions default to auto, schedules to cohort. */
|
|
@@ -44,21 +44,4 @@ export declare function toCrossChannelTargets(channels: readonly ResolvedChannel
|
|
|
44
44
|
* Builds the `ctx.to(channel, target)` closure used by route and schedule handlers.
|
|
45
45
|
*/
|
|
46
46
|
export declare function createCrossChannelToFn(runtime: Runtime, channels: readonly CrossChannelTarget[]): CrossChannelToFn;
|
|
47
|
-
interface InvokeChannelReceiveInput {
|
|
48
|
-
readonly runtime: Runtime;
|
|
49
|
-
readonly target: Pick<CrossChannelTarget, "name" | "receive" | "adapter" | "turnPolicy">;
|
|
50
|
-
readonly input: {
|
|
51
|
-
readonly message: string | UserContent;
|
|
52
|
-
readonly target: Readonly<Record<string, unknown>>;
|
|
53
|
-
readonly auth: SessionAuthContext | null;
|
|
54
|
-
};
|
|
55
|
-
readonly turnPolicy?: TurnPolicy;
|
|
56
|
-
readonly taskDeliveryPolicy?: TaskDeliveryPolicy;
|
|
57
|
-
readonly describeMissingReceive: () => string;
|
|
58
|
-
readonly describeMissingAdapter: () => string;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Shared authored `receive(input, ctx)` invocation used by route and schedule delivery.
|
|
62
|
-
*/
|
|
63
|
-
export declare function invokeChannelReceive(args: InvokeChannelReceiveInput): Promise<Session>;
|
|
64
47
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{createChannelOperations}from"#channel/channel-operations.js";import{isCompiledChannel}from"#channel/compiled-channel.js";function toCrossChannelTargets(e){return e.flatMap(e=>e.definition===void 0?[]:[{name:e.name,definition:e.definition,receive:e.receive,adapter:e.adapter,turnPolicy:e.turnPolicy}])}function createCrossChannelToFn(e,t){return(n,r)=>{let i=resolveTargetByReference(n,t);return{async send(t,n){return await invokeChannelReceive({runtime:e,target:i,input:{message:t,target:r,auth:n.auth},turnPolicy:n.turnPolicy,taskDeliveryPolicy:n.taskDeliveryPolicy,describeMissingReceive:()=>`ctx.to(): channel "${i.name}" does not implement receive(). Declare a receive hook on the channel to accept cross-channel sessions.`,describeMissingAdapter:()=>`ctx.to(): channel "${i.name}" has no adapter — cannot build ctx.from().`})}}}}async function invokeChannelReceive(e){if(!e.target.receive)throw Error(e.describeMissingReceive());if(!e.target.adapter)throw Error(e.describeMissingAdapter());let t=createChannelOperations({adapter:e.target.adapter,channelName:e.target.name,runtime:e.runtime,turnPolicy:e.turnPolicy??e.target.turnPolicy,taskDeliveryPolicy:e.taskDeliveryPolicy});return await e.target.receive(e.input,t)}function resolveTargetByReference(e,t){for(let n of t)if(n.definition===e)return n;let n=resolveTargetByRouteFingerprint(e,t);if(n!==null)return n;throw Error(`ctx.to(): the channel passed as the first argument is not registered in this agent's channels/. Import the channel module's default export from agent/channels/<name>.ts and pass that value.`)}function resolveTargetByRouteFingerprint(e,t){if(!isCompiledChannel(e))return null;let n=createRouteFingerprint(e);if(n===null)return null;let r=new Map;for(let e of t)createRouteFingerprint(e.definition)===n&&r.set(e.name,e);if(r.size===1)return[...r.values()][0];if(r.size>1)throw Error(`ctx.to(): the channel passed as the first argument matches multiple registered channels by route shape. Import a channel with a unique route set from agent/channels/<name>.ts before passing it to ctx.to().`);return null}function createRouteFingerprint(e){return e.routes.length===0?null:e.routes.map(e=>`${e.method.toUpperCase()} ${e.path}`).sort().join(`
|
|
2
|
-
`)}export{createCrossChannelToFn,
|
|
2
|
+
`)}export{createCrossChannelToFn,toCrossChannelTargets};
|
|
@@ -42,7 +42,7 @@ export interface ForwardedAssertion {
|
|
|
42
42
|
* identities it may speak for.
|
|
43
43
|
*/
|
|
44
44
|
export type TrustedForwarders = (forwarder: SessionAuthContext, assertion: ForwardedAssertion) => boolean | Promise<boolean>;
|
|
45
|
-
|
|
45
|
+
type ForwardedPrincipalParseResult = {
|
|
46
46
|
readonly forwardedPrincipal: ForwardedPrincipal;
|
|
47
47
|
readonly ok: true;
|
|
48
48
|
} | {
|
|
@@ -56,7 +56,7 @@ export type ForwardedPrincipalParseResult = {
|
|
|
56
56
|
* assertion, or the stamped forwarded contexts once a trusted forwarder's
|
|
57
57
|
* assertion is accepted.
|
|
58
58
|
*/
|
|
59
|
-
|
|
59
|
+
type ResolvedForwardedPrincipal = {
|
|
60
60
|
readonly accepted: false;
|
|
61
61
|
readonly auth: SessionAuthContext;
|
|
62
62
|
} | {
|
|
@@ -92,3 +92,4 @@ export declare function parseForwardedPrincipal(value: unknown): ForwardedPrinci
|
|
|
92
92
|
* trail.
|
|
93
93
|
*/
|
|
94
94
|
export declare function stampForwardedBy(context: SessionAuthContext, forwardedBy: string): SessionAuthContext;
|
|
95
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { InputOption, InputResponse } from "#shared/input.js";
|
|
2
2
|
/** The request fields plain text is resolved against. */
|
|
3
|
-
|
|
3
|
+
interface TextResolvableRequest {
|
|
4
4
|
readonly allowFreeform?: boolean;
|
|
5
5
|
readonly options?: readonly InputOption[];
|
|
6
6
|
readonly requestId: string;
|
|
@@ -21,3 +21,4 @@ export declare function resolveTextToResponse(text: string, request: TextResolva
|
|
|
21
21
|
* {@link InputResponse} for each request that could be matched.
|
|
22
22
|
*/
|
|
23
23
|
export declare function resolveTextToResponses(text: string, requests: readonly TextResolvableRequest[]): readonly InputResponse[];
|
|
24
|
+
export {};
|
|
@@ -3,5 +3,3 @@ import type { SessionAuthContext } from "#channel/types.js";
|
|
|
3
3
|
* Framework-owned principal used when a schedule runs on behalf of the agent.
|
|
4
4
|
*/
|
|
5
5
|
export declare const SCHEDULE_APP_AUTH: SessionAuthContext;
|
|
6
|
-
/** Returns whether the current request is authenticated as eve's schedule principal. */
|
|
7
|
-
export declare function isScheduleAppAuth(auth: SessionAuthContext | null | undefined): auth is SessionAuthContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const SCHEDULE_APP_AUTH={attributes:{},authenticator:`app`,principalId:`eve:app`,principalType:`runtime`};
|
|
1
|
+
const SCHEDULE_APP_AUTH={attributes:{},authenticator:`app`,principalId:`eve:app`,principalType:`runtime`};export{SCHEDULE_APP_AUTH};
|
|
@@ -18,7 +18,7 @@ export declare const SCHEDULE_ADAPTER: ChannelAdapter;
|
|
|
18
18
|
* Loaded shape of one schedule for the dispatcher. Either `run` is
|
|
19
19
|
* defined (authored handler) or `markdown` is defined (fire-and-forget).
|
|
20
20
|
*/
|
|
21
|
-
|
|
21
|
+
interface ScheduleDispatchInput {
|
|
22
22
|
readonly scheduleId: string;
|
|
23
23
|
readonly run?: ScheduleRunHandler;
|
|
24
24
|
readonly markdown?: string;
|
|
@@ -40,7 +40,7 @@ export interface ScheduleDispatchInput {
|
|
|
40
40
|
* handler started (for telemetry / task-result observability) and the
|
|
41
41
|
* `waitUntil` promises the handler registered.
|
|
42
42
|
*/
|
|
43
|
-
|
|
43
|
+
interface ScheduleDispatchResult {
|
|
44
44
|
readonly sessions: readonly Session[];
|
|
45
45
|
readonly waitUntilTasks: readonly Promise<unknown>[];
|
|
46
46
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SessionCallback } from "#channel/types.js";
|
|
2
|
-
|
|
2
|
+
type SessionCallbackParseResult = {
|
|
3
3
|
readonly callback: SessionCallback;
|
|
4
4
|
readonly ok: true;
|
|
5
5
|
} | {
|
|
@@ -8,3 +8,4 @@ export type SessionCallbackParseResult = {
|
|
|
8
8
|
readonly ok: false;
|
|
9
9
|
};
|
|
10
10
|
export declare function parseSessionCallback(value: unknown): SessionCallbackParseResult;
|
|
11
|
+
export {};
|
|
@@ -110,13 +110,6 @@ export interface SessionAuthContext {
|
|
|
110
110
|
readonly principalType: string;
|
|
111
111
|
readonly subject?: string;
|
|
112
112
|
}
|
|
113
|
-
/**
|
|
114
|
-
* Runtime-provided function that writes one event to the event stream.
|
|
115
|
-
*
|
|
116
|
-
* Backed by `getWritable()` in the workflow runtime. Not part of the adapter
|
|
117
|
-
* interface: the runtime always writes events itself.
|
|
118
|
-
*/
|
|
119
|
-
export type EventEmitFn = (event: UnstampedMessageStreamEvent) => Promise<void>;
|
|
120
113
|
/** Framework-internal caller waiting for one delegated conversation turn. */
|
|
121
114
|
export interface TurnCaller {
|
|
122
115
|
readonly activityObserver?: ActivityObserverConfig;
|
|
@@ -2897,7 +2897,7 @@ var EveAgentStore = class {
|
|
|
2897
2897
|
if (this.#activeTurn === void 0 && settled) this.#status = "ready";
|
|
2898
2898
|
}
|
|
2899
2899
|
this.#callbacks.onSessionChange?.(this.#session?.state);
|
|
2900
|
-
this.#publish();
|
|
2900
|
+
if (this.#status !== "resuming") this.#publish();
|
|
2901
2901
|
if (this.#activeTurn === void 0 && wasStreaming && settled) this.#callbacks.onFinish?.(this.#snapshot);
|
|
2902
2902
|
}
|
|
2903
2903
|
#handleReconciliation(reconciliation) {
|
|
@@ -2898,7 +2898,7 @@ var EveAgentStore = class {
|
|
|
2898
2898
|
if (this.#activeTurn === void 0 && settled) this.#status = "ready";
|
|
2899
2899
|
}
|
|
2900
2900
|
this.#callbacks.onSessionChange?.(this.#session?.state);
|
|
2901
|
-
this.#publish();
|
|
2901
|
+
if (this.#status !== "resuming") this.#publish();
|
|
2902
2902
|
if (this.#activeTurn === void 0 && wasStreaming && settled) this.#callbacks.onFinish?.(this.#snapshot);
|
|
2903
2903
|
}
|
|
2904
2904
|
#handleReconciliation(reconciliation) {
|
|
@@ -11,7 +11,7 @@ export type RunAcpServer = (input: {
|
|
|
11
11
|
readonly workspaceRoot?: string;
|
|
12
12
|
}) => Promise<void>;
|
|
13
13
|
export type ResolveVerifiedRemoteDevelopmentClient = typeof import("#setup/verified-remote-client.js").resolveVerifiedRemoteDevelopmentClient;
|
|
14
|
-
|
|
14
|
+
interface RegisterAcpCommandOptions {
|
|
15
15
|
readonly applicationContext: CliApplicationContext;
|
|
16
16
|
readonly eveVersion: string;
|
|
17
17
|
readonly program: Command;
|
|
@@ -21,3 +21,4 @@ export interface RegisterAcpCommandOptions {
|
|
|
21
21
|
}
|
|
22
22
|
/** Registers the ACP stdio bridge for local and deployed eve agents. */
|
|
23
23
|
export declare function registerAcpCommand(options: RegisterAcpCommandOptions): void;
|
|
24
|
+
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Command } from "#compiled/commander/index.js";
|
|
2
2
|
import type { CliApplicationContext } from "./application-command.js";
|
|
3
|
-
|
|
3
|
+
type AgentCommandRequirement = (command: Command) => boolean;
|
|
4
4
|
/** Adds consistent workspace-agent selection to an agent-scoped command. */
|
|
5
5
|
export declare function agentCommand(command: Command, applicationContext: CliApplicationContext, requirement?: AgentCommandRequirement): Command;
|
|
6
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{determineAgent}from"#compiled/@vercel/detect-agent/index.js";
|
|
1
|
+
import{determineAgent}from"#compiled/@vercel/detect-agent/index.js";async function isCodingAgentLaunch(){return(await determineAgent()).isAgent}export{isCodingAgentLaunch};
|
|
@@ -7,6 +7,7 @@ export interface CliApplicationContext {
|
|
|
7
7
|
resolve(): Promise<void>;
|
|
8
8
|
resolveAgent(): Promise<EveProjectContext>;
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
type CliApplicationRootRequirement = (command: Command) => boolean;
|
|
11
11
|
/** Adds application-root resolution to a project-scoped CLI command. */
|
|
12
12
|
export declare function applicationCommand(command: Command, applicationContext: CliApplicationContext, requirement?: CliApplicationRootRequirement): Command;
|
|
13
|
+
export {};
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export interface ResolveCliApplicationRootDependencies {
|
|
3
|
-
readonly resolveDiscoveryProject: typeof resolveDiscoveryProject;
|
|
4
|
-
}
|
|
1
|
+
import { type ResolvedDiscoveryProject } from "#discover/project.js";
|
|
5
2
|
/** Resolves the nearest enclosing eve application and agent roots. */
|
|
6
|
-
export declare function resolveCliApplicationProject(cwd?: string
|
|
3
|
+
export declare function resolveCliApplicationProject(cwd?: string): Promise<ResolvedDiscoveryProject>;
|
|
7
4
|
/** Finds the nearest enclosing eve application. */
|
|
8
|
-
export declare function findCliApplicationRoot(cwd?: string
|
|
9
|
-
/** Uses the nearest enclosing eve application, or preserves cwd when none exists. */
|
|
10
|
-
export declare function resolveCliApplicationRoot(cwd?: string, dependencies?: ResolveCliApplicationRootDependencies): Promise<string>;
|
|
5
|
+
export declare function findCliApplicationRoot(cwd?: string): Promise<string | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{DiscoveryProjectResolutionError,resolveDiscoveryProject}from"#discover/project.js";async function resolveCliApplicationProject(e=process.cwd()){return resolveDiscoveryProject(e)}async function findCliApplicationRoot(e=process.cwd()){try{return(await resolveDiscoveryProject(e)).appRoot}catch(e){if(e instanceof DiscoveryProjectResolutionError)return;throw e}}export{findCliApplicationRoot,resolveCliApplicationProject};
|
|
@@ -17,10 +17,6 @@ export declare function initAgentDevHandoff(options: {
|
|
|
17
17
|
projectPath: string;
|
|
18
18
|
devCommand: string;
|
|
19
19
|
}): string;
|
|
20
|
-
/** The initial prompt for a coding-agent REPL opened inside the scaffolded project. */
|
|
21
|
-
export declare function initAgentReplPrompt(options: {
|
|
22
|
-
devCommand: string;
|
|
23
|
-
}): string;
|
|
24
20
|
/**
|
|
25
21
|
* Pre-scaffold guide for a coding agent that ran `eve extension init` with no
|
|
26
22
|
* target. Mirrors agent bare-init: collect a package name, then re-run with it.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import pc from"#compiled/picocolors/index.js";import{readFileSync}from"node:fs";import{join}from"node:path";import{DEFAULT_AGENT_MODEL_ID}from"#shared/default-agent-model.js";const SETUP_SECTIONS=[`intro-setup.md`,`collect-intent.md`,`vercel-connect.md`,`scaffold.md`,`build-and-verify.md`],HANDOFF_SECTIONS=[`intro-handoff.md`,`collect-intent.md`,`vercel-connect.md`,`build-and-verify.md`];function compose(e,t){let n=e.map(e=>readFileSync(new URL(`./agent-prompt/${e}`,import.meta.url),`utf8`).trim()).join(`
|
|
2
2
|
|
|
3
3
|
`).replaceAll(`{{devCommand}}`,()=>t.devCommand),{workingDirectory:r}=t;return r===void 0?n:n.replaceAll(`{{workingDirectory}}`,()=>r)}function initAgentInstructions(){return compose(SETUP_SECTIONS,{devCommand:`npx eve dev`})}function initAgentReadySummary(e,t,n={}){let r=e??DEFAULT_AGENT_MODEL_ID,i=e===void 0?pc.dim(` (eve default)`):``,a=n.workspace?`${pc.green(`✓`)} Agents ${pc.bold(join(t,`agents`))}`:`${pc.green(`✓`)} Instructions ${pc.bold(join(t,`agent/instructions.md`))}`;return[`${pc.green(`✓`)} Model ${pc.bold(r)}${i}`,a].join(`
|
|
4
|
-
`)}function initAgentDevHandoff(e){return compose(HANDOFF_SECTIONS,{devCommand:e.devCommand,workingDirectory:e.projectPath})}function
|
|
4
|
+
`)}function initAgentDevHandoff(e){return compose(HANDOFF_SECTIONS,{devCommand:e.devCommand,workingDirectory:e.projectPath})}function initExtensionInstructions(){return[`You are scaffolding an eve extension package (a reusable package of tools,`,`connections, skills, and hooks that a consuming agent mounts under`,`agent/extensions/).`,``,`Ask the user for a package directory name, then run:`,``,` npx eve@latest extension init <name>`,``,`That creates the package, installs dependencies, and initializes Git. It`,`prints what was set up and how to author, build, and mount the extension —`,`it does not start eve dev (extensions are not standalone agents).`,``,"Build with `eve extension build` (or the package `build` script)."].join(`
|
|
5
5
|
`)}function initExtensionHandoff(e){return[``,`What we set up:`,` - package.json with eve.extension source/dist roots, peer+dev eve, and zod`,` - extension/extension.ts (config schema via defineExtension)`,` - build/prepare scripts → eve extension build`,``,`Next:`,` - Add tools, skills, hooks, or connections under extension/`,` (see AGENTS.md and node_modules/eve/docs/extensions.md)`,` - ${`${e.packageManager} run build`} # builds dist/extension and package exports`,` - Mount from a consumer agent:`,` // agent/extensions/${e.packageName}.ts`,` import ext from "${e.packageName}";`,` export default ext({ apiKey: process.env.API_KEY });`,``,`Working directory: ${e.projectPath}`].join(`
|
|
6
|
-
`)}export{HANDOFF_SECTIONS,SETUP_SECTIONS,initAgentDevHandoff,initAgentInstructions,initAgentReadySummary,
|
|
6
|
+
`)}export{HANDOFF_SECTIONS,SETUP_SECTIONS,initAgentDevHandoff,initAgentInstructions,initAgentReadySummary,initExtensionHandoff,initExtensionInstructions};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{initExtensionHandoff,initExtensionInstructions}from"./agent-instructions.js";import{tryInitializeGit}from"./init-git.js";import{mkdtemp,readdir,rename,rm,stat}from"node:fs/promises";import{createLogger,isLogLevelEnabled}from"#internal/logging.js";import
|
|
1
|
+
import{initExtensionHandoff,initExtensionInstructions}from"./agent-instructions.js";import{tryInitializeGit}from"./init-git.js";import{mkdtemp,readdir,rename,rm,stat}from"node:fs/promises";import{createLogger,isLogLevelEnabled}from"#internal/logging.js";import pc from"#compiled/picocolors/index.js";import{basename,join,resolve}from"node:path";import{scaffoldExtensionProject}from"#setup/scaffold/index.js";import{packageManagerInstallFailureMessage,packageManagerInstallSucceeded,runPackageManagerInstall}from"#setup/primitives/index.js";import{performance}from"node:perf_hooks";import{isCodingAgentLaunch}from"#cli/agent-detection.js";import{EVE_WORDMARK}from"#cli/banner.js";import{formatElapsed}from"#cli/format-elapsed.js";import{startCliLiveRow}from"#cli/ui/live-row.js";import{formatNodeEngineOverrideWarning}from"#setup/node-engine.js";import{detectInvokingPackageManager,detectPackageManager}from"#setup/package-manager.js";import{pathExists}from"#setup/path-exists.js";import{parseProjectName}from"#setup/project-name.js";import{blockingCreateInPlaceEntries}from"#setup/scaffold/create-in-place.js";import{DEFAULT_EVE_PACKAGE_CONTRACT}from"#setup/scaffold/create/project.js";const defaultDependencies={detectInvokingPackageManager,detectPackageManager,isCodingAgentLaunch,now:()=>performance.now(),runPackageManagerInstall,scaffoldExtensionProject,tryInitializeGit},EVE_INIT_PACKAGE_SPEC_ENV=`EVE_INIT_PACKAGE_SPEC`,initLog=createLogger(`extension-init`);function isCurrentDirectoryTarget(e){return/^\.(?:[/\\]+\.?)*$/u.test(e.trim())}async function resolveTargetDirectory(e,t){let n=resolve(e,t);return(await stat(n).catch(()=>void 0))?.isDirectory()?n:void 0}async function assertCanScaffoldInPlace(e){let t=await readdir(e),n=blockingCreateInPlaceEntries(t);if(n.length===0)return;let r=n.slice(0,5).join(`, `),i=n.length>5?`, and ${n.length-5} more`:``;throw Error(`Cannot create project in current directory because it is not empty. Found: ${r}${i}. Use an empty directory.`)}async function moveDirectoryContents(e,t){for(let n of await readdir(e))await rename(join(e,n),join(t,n))}function uniqueWorkspaceRootMutations(e){let t=new Map;for(let n of e){let e=`${n.kind}:${n.path}`,r=t.get(e);t.set(e,{...n,nodeEngineOverride:n.nodeEngineOverride??r?.nodeEngineOverride})}return[...t.values()]}function formatWorkspaceRootMutationWarning(e){let t=e.kind===`package-json`?`package.json`:`configuration`,n=e.nodeEngineOverride===void 0?``:` (${formatNodeEngineOverrideWarning(e.nodeEngineOverride)})`;return`Updated workspace root ${t} at ${e.path}${n}`}async function resolveScaffoldPackageManager(e,t){let n=await t.detectPackageManager(e);return n.source==="default"?t.detectInvokingPackageManager()??`pnpm`:n.kind}async function scaffoldExtension(e,t,n,r,i){let a=resolve(e),o=t===`.`,s=o?a:join(a,t);if(o)await assertCanScaffoldInPlace(s);else if(await pathExists(s))throw Error(`Cannot create project because "${s}" already exists.`);let c=await mkdtemp(join(a,`.eve-extension-init-`)),l=[];try{let e=o?basename(s):t,a=await r.scaffoldExtensionProject({projectName:e,evePackage:i,targetDirectory:c,workspaceProbeDirectory:s,packageManager:n,onWorkspaceRootMutation:e=>{l.push(e)}});return o?await moveDirectoryContents(a,s):await rename(a,s),{projectPath:s,workspaceRootMutations:uniqueWorkspaceRootMutations(l)}}finally{await rm(c,{recursive:!0,force:!0})}}function installProgressDetail(e,t){let n=t.text.trim();if(n===``||e!==`npm`)return n||void 0;let r=/^npm silly fetch manifest (.+)$/u.exec(n);if(r!==null)return`Resolving ${r[1]}`;let i=/^npm http fetch \S+ \S+ attempt (\d+) failed with (\S+)$/u.exec(n);if(i!==null)return`npm registry · attempt ${i[1]} failed: ${i[2]}`;if(t.stream===`stdout`||/^npm (?:error|warn)\b/u.test(n))return n}const NPM_NOISE_LINE=/^\s*npm (?:silly|verbose|http|timing)\b/u;function resolveInitEvePackageOverride(){let e=process.env[EVE_INIT_PACKAGE_SPEC_ENV]?.trim();if(e!==void 0&&e.length!==0)return{nodeEngine:DEFAULT_EVE_PACKAGE_CONTRACT.nodeEngine,version:e}}async function runExtensionInitCommand(e,t,n,r=defaultDependencies,i){if(i?.(`resolve_target`),n===void 0&&await r.isCodingAgentLaunch()){e.log(initExtensionInstructions());return}let a=isLogLevelEnabled(`debug`),o=startCliLiveRow(e);o.update(`Preparing project`);let s,c,l=[],u,d,f;try{let p=n??`.`,m=isCurrentDirectoryTarget(p),h=m?await pathExists(join(resolve(t),`package.json`))?resolve(t):void 0:await resolveTargetDirectory(t,p),g=resolveInitEvePackageOverride();if(h!==void 0)throw Error("`eve extension init` creates a new extension package and cannot add to an existing project. Pass a new directory name, or run from an empty directory with `eve extension init .`.");i?.(`scaffold`),o.update(`Creating extension`),initLog.debug(`creating extension`);let _=r.now(),v=m?`.`:parseProjectName(p),y=resolve(t);c=await resolveScaffoldPackageManager(v===`.`?y:join(y,v),r);let b=await scaffoldExtension(t,v,c,r,g);s=b.projectPath,l=b.workspaceRootMutations,u=r.now()-_,initLog.debug(`creating extension done`,{ms:u}),i?.(`install_dependencies`),o.update(`Installing dependencies`,`${c} install`),initLog.debug(`installing dependencies with ${c}`);let x=r.now(),S=[],C=[],w=await r.runPackageManagerInstall(c,s,{progressDetails:process.stdout.isTTY===!0&&!a,onOutput:e=>{e.text.trim()!==``&&(C.push(e.text),C.length>20&&C.shift(),NPM_NOISE_LINE.test(e.text)||S.push(e.text)),a&&initLog.debug(e.text);let t=installProgressDetail(c,e);t!==void 0&&o.update(`Installing dependencies`,t)}});if(d=r.now()-x,!packageManagerInstallSucceeded(w)){initLog.debug(`dependency installation failed`,{ms:d}),o.stop();let t=S.length>0?S:C;for(let n of t)e.error(n);if(t.length===0){let t=packageManagerInstallFailureMessage(w);t!==void 0&&e.error(t)}throw Error(`Failed to install dependencies in "${s}".`)}initLog.debug(`dependencies installed`,{ms:d}),i?.(`initialize_git`),o.update(`Initializing Git repository`),initLog.debug(`initializing git repository`),f=await r.tryInitializeGit(s)}finally{o.stop()}i?.(`handoff`),e.log(`${pc.green(`✓`)} Created an ${EVE_WORDMARK} extension in ${pc.bold(s)} ${pc.dim(`in ${formatElapsed(u)}`)}`);for(let t of l)e.log(pc.yellow(`⚠ ${formatWorkspaceRootMutationWarning(t)}`));e.log(`${pc.green(`✓`)} Installed dependencies ${pc.dim(`in ${formatElapsed(d)}`)}`),f.kind===`failed`?e.error(pc.yellow(`Git initialization failed: ${f.reason}`)):f.kind===`initialized`&&e.log(`${pc.green(`✓`)} Initialized Git repository`),e.log(initExtensionHandoff({packageManager:c,packageName:basename(s),projectPath:s}))}export{EVE_INIT_PACKAGE_SPEC_ENV,runExtensionInitCommand};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{InitTargetError}from"./init-telemetry.js";import{mkdir,readFile,rename}from"node:fs/promises";import
|
|
1
|
+
import{InitTargetError}from"./init-telemetry.js";import{mkdir,readFile,rename}from"node:fs/promises";import pc from"#compiled/picocolors/index.js";import{join}from"node:path";import{DEFAULT_AGENT_MODEL_ID}from"#shared/default-agent-model.js";import{createPrompter}from"#setup/prompter.js";import{findEveProjectContext}from"#internal/project-context.js";import{formatNodeEngineOverrideWarning}from"#setup/node-engine.js";import{pathExists}from"#setup/path-exists.js";import{agentTemplateFiles}from"#setup/scaffold/create/project.js";import{assertValidPublicAgentName}from"#internal/agent-name.js";import{validateModelSlug}from"#setup/flows/model-source-change.js";import{writeTextFile}from"#setup/scaffold/files.js";function formatWorkspaceRootMutationWarning(e){let t=e.kind===`package-json`?`package.json`:`configuration`,n=e.nodeEngineOverride===void 0?``:` (${formatNodeEngineOverrideWarning(e.nodeEngineOverride)})`;return`Updated workspace root ${t} at ${e.path}${n}`}function validateAgentNames(e){if(e.length===0)throw Error(`--agents requires at least one agent name.`);let t=new Set;for(let n of e){if(assertValidPublicAgentName(n,`Agent`),t.has(n))throw Error(`Agent name ${JSON.stringify(n)} is repeated.`);t.add(n)}}async function writeWorkspaceAgent(e,t,n){let r=join(e,`agents`,t);if(await pathExists(r))throw Error(`Cannot create agent ${JSON.stringify(t)} because ${r} already exists.`);let i=agentTemplateFiles(n.model??DEFAULT_AGENT_MODEL_ID,n.reasoning);await Promise.all(Object.entries(i).map(([e,t])=>writeTextFile(join(r,e),t)))}async function convertScaffoldToAgentWorkspace(e,t,n){if(validateAgentNames(t),n.channelWebNextjs===!0)throw Error(`--channel-web-nextjs cannot be combined with --agents.`);let[r,...i]=t;await mkdir(join(e,`agents`,r),{recursive:!0}),await rename(join(e,`agent`),join(e,`agents`,r,`agent`));let a=join(e,`tsconfig.json`),o=await readFile(a,`utf8`);await writeTextFile(a,o.replace(`"agent/**/*.ts"`,`"agents/**/*.ts"`),{force:!0});for(let t of i)await writeWorkspaceAgent(e,t,n)}async function addAgentsToWorkspace(e,t,n,r,i=validateModelSlug){if((await findEveProjectContext(t))?.kind!==`workspace`)return!1;if(r.channelWebNextjs===!0)throw new InitTargetError(`workspace_input`,`--channel-web-nextjs is not supported when adding a workspace agent.`);let a=r.agents;if(n!==void 0&&a!==void 0)throw new InitTargetError(`workspace_input`,`Pass either an agent name or --agents, not both.`);if(a===void 0&&n!==void 0&&(a=[n]),a===void 0){if(!(process.stdin.isTTY&&process.stdout.isTTY))throw new InitTargetError(`workspace_input`,`This directory is an eve agent workspace. Pass an agent name, for example: eve init billing.`);a=[await createPrompter().text({message:`Name the new agent`})]}try{if(validateAgentNames(a),r.model!==void 0){let e=await i(t,r.model);if(e!==null)throw Error(e)}}catch(e){throw new InitTargetError(`workspace_input`,e instanceof Error?e.message:String(e))}for(let e of a){let n=join(t,`agents`,e);if(await pathExists(n))throw new InitTargetError(`target_conflict`,`Cannot create agent ${JSON.stringify(e)} because ${n} already exists.`)}for(let e of a)await writeWorkspaceAgent(t,e,r);return e.log(`${pc.green(`✓`)} Added ${a.length===1?`agent`:`agents`} ${a.map(e=>pc.bold(e)).join(`, `)}`),e.log(pc.dim(`$ eve dev --agent <name>`)),!0}export{addAgentsToWorkspace,convertScaffoldToAgentWorkspace,formatWorkspaceRootMutationWarning};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import pc from"#compiled/picocolors/index.js";import{relative}from"node:path";import{formatNodeEngineOverrideWarning}from"#setup/node-engine.js";function reportExistingProjectChanges(e,t){e.log(`Updated existing project:`);for(let n of t.filesWritten)e.log(` Created ${relative(t.projectPath,n).replaceAll(`\\`,`/`)}`);t.dependenciesAdded.length>0&&e.log(` Added dependencies: ${t.dependenciesAdded.join(`, `)}`);for(let n of t.configurationFilesChanged)e.log(` Updated ${n}`);t.nodeEngineOverride!==void 0&&e.log(pc.yellow(` ⚠ ${formatNodeEngineOverrideWarning(t.nodeEngineOverride)}`))}export{reportExistingProjectChanges};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { EveCliSetupFailureCode } from "#cli/telemetry/index.js";
|
|
2
|
-
|
|
2
|
+
type InitTargetFailureCode = Extract<EveCliSetupFailureCode, "target_conflict" | "target_filesystem" | "target_invalid" | "workspace_input">;
|
|
3
3
|
export declare class InitTargetError extends Error {
|
|
4
4
|
readonly failureCode: InitTargetFailureCode;
|
|
5
5
|
constructor(failureCode: InitTargetFailureCode, message: string);
|
|
6
6
|
}
|
|
7
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{initAgentDevHandoff,initAgentReadySummary}from"./agent-instructions.js";import{hasInteractiveTerminal}from"./preconditions.js";import{tryInitializeGit}from"./init-git.js";import{InitTargetError}from"./init-telemetry.js";import{addAgentsToWorkspace,convertScaffoldToAgentWorkspace,formatWorkspaceRootMutationWarning}from"./init-agent-workspace.js";import{createInstallDiagnostics,packageManagerInstallFailureCode}from"./init-install.js";import{reportExistingProjectChanges}from"./init-project.js";import{cleanupFreshInitTarget,workspaceFailureNote}from"./init-recovery.js";import{resolveInitTarget}from"./init-target.js";import{mkdtemp,readdir,rename,rm}from"node:fs/promises";import{createLogger,isLogLevelEnabled}from"#internal/logging.js";import{basename,join,resolve}from"node:path";import pc from"#compiled/picocolors/index.js";import{DEFAULT_AGENT_MODEL_ID}from"#shared/default-agent-model.js";import{ensureChannel,scaffoldBaseProject}from"#setup/scaffold/index.js";import{eveDevArguments,packageManagerInstallFailureMessage,packageManagerInstallSucceeded,resultSucceeded,runPackageManagerInstall,spawnPackageManager}from"#setup/primitives/index.js";import{performance}from"node:perf_hooks";import{isCodingAgentLaunch}from"#cli/agent-detection.js";import{EVE_WORDMARK,eveCliBanner}from"#cli/banner.js";import{formatElapsed}from"#cli/format-elapsed.js";import{startCliLiveRow}from"#cli/ui/live-row.js";import{detectInvokingPackageManager,detectPackageManager}from"#setup/package-manager.js";import{pathExists}from"#setup/path-exists.js";import{DEFAULT_EVE_PACKAGE_CONTRACT}from"#setup/scaffold/create/project.js";import{validateModelSlug}from"#setup/flows/model-source-change.js";import{addAgentToProject}from"#setup/scaffold/create/add-to-project.js";import{WizardCancelledError}from"#setup/step.js";import{isPackageManagerWorkspaceMember}from"#setup/scaffold/workspace-root.js";const defaultDependencies={addAgentToProject,detectInvokingPackageManager,detectPackageManager,ensureChannel,isCodingAgentLaunch,now:()=>performance.now(),runPackageManagerInstall,scaffoldBaseProject,hasInteractiveTerminal,spawnPackageManager,tryInitializeGit,validateModelSlug},EVE_INIT_PACKAGE_SPEC_ENV=`EVE_INIT_PACKAGE_SPEC`,initLog=createLogger(`init`);async function moveDirectoryContents(e,t){for(let n of await readdir(e))await rename(join(e,n),join(t,n))}function uniqueWorkspaceRootMutations(e){let t=new Map;for(let n of e){let e=`${n.kind}:${n.path}`,r=t.get(e);t.set(e,{...n,nodeEngineOverride:n.nodeEngineOverride??r?.nodeEngineOverride})}return[...t.values()]}async function addToExistingProject(e,t,n,r){if(t.channelWebNextjs===!0)throw Error("`--channel-web-nextjs` is not supported when adding an agent to an existing project. Run `eve add channel/web` from the project afterwards instead.");if(t.model!==void 0){let r=await n.validateModelSlug(e,t.model);if(r!==null)throw Error(r)}let i=await n.detectPackageManager(e),a=await n.addAgentToProject({projectRoot:e,model:t.model??DEFAULT_AGENT_MODEL_ID,reasoning:t.reasoning,packageManager:i.kind,evePackage:r});return{configurationFilesChanged:a.configurationFilesChanged,dependenciesAdded:a.dependenciesAdded,filesWritten:a.filesWritten,packageManager:i.kind,nodeEngineOverride:a.nodeEngineOverride}}async function resolveScaffoldPackageManager(e,t){let n=await t.detectPackageManager(e);return n.source==="default"?t.detectInvokingPackageManager()??`pnpm`:n.kind}async function scaffoldProject(e,t,n,r,i,a,o,s){let c=resolve(e,`..`),l=!n&&await pathExists(e)&&(await readdir(e)).length===0;if(!n&&await pathExists(e)&&!l)throw Error(`Cannot create project because "${e}" already exists.`);let u=n&&s?void 0:await mkdtemp(join(c,`.eve-init-`)),d=[];try{let c=u??e;if(i.model!==void 0){let e=await a.validateModelSlug(c,i.model);if(e!==null)throw Error(e)}let f={projectName:u===void 0?`.`:n?basename(e):t,model:i.model??DEFAULT_AGENT_MODEL_ID,reasoning:i.reasoning,evePackage:o,targetDirectory:c,overwriteExisting:s,workspaceProbeDirectory:e,packageManager:r,onWorkspaceRootMutation:e=>{d.push(e)}},p=await a.scaffoldBaseProject(f);return i.agents!==void 0&&await convertScaffoldToAgentWorkspace(p,i.agents,i),i.channelWebNextjs===!0&&await a.ensureChannel({projectRoot:p,kind:`web`,packageManager:r,force:s,workspaceProbeDirectory:e,configureVercelServices:!1,onWorkspaceRootMutation:e=>{d.push(e)}}),u!==void 0&&(n||l?await moveDirectoryContents(p,e):await rename(p,e)),{projectPath:e,workspaceRootMutations:uniqueWorkspaceRootMutations(d)}}finally{u!==void 0&&await rm(u,{recursive:!0,force:!0})}}async function runInitSteps(e){let{agentLaunched:t,dependencies:n,interactive:r,logger:i,options:a,parentDirectory:o,target:s,trackStep:c,trackTerminal:l}=e,u=isLogLevelEnabled(`debug`),d=await resolveInitTarget({parentDirectory:o,target:s}),f=resolveInitEvePackageOverride(),p=n.now(),m={animate:r&&!t&&!process.env.CI&&process.env.TERM!==`dumb`,elapsed:!0,logPhases:!0},h=startCliLiveRow(i,m),g=`scaffold`,_;try{let e=d.kind===`fresh`?`creating agent`:`adding agent`;c?.(g),h.update(d.kind===`fresh`?`Creating agent`:`Adding agent`),initLog.debug(e);let r=n.now(),o;if(d.kind===`fresh`){let e=await resolveScaffoldPackageManager(d.projectPath,n),t=isPackageManagerWorkspaceMember(e,d.projectPath),r;try{r=await scaffoldProject(d.projectPath,d.projectName,d.createInPlace,e,a,n,f,d.overwriteExisting)}catch(e){if(d.failurePolicy===`clear`){let n=await cleanupFreshInitTarget(d.projectPath,d.failurePolicy,d.preservedEntries),r=e instanceof Error?e.message:String(e),i=n?`eve restored "${d.projectPath}" to its original state.`:`eve could not completely clean "${d.projectPath}".`;throw Error(`${r}\n\n${i}${workspaceFailureNote(t)}`)}if(d.failurePolicy===`remove`&&t){let t=e instanceof Error?e.message:String(e);throw Error(`${t}${workspaceFailureNote(!0)}`)}throw e}o={failurePolicy:d.failurePolicy,kind:`created`,packageManager:e,preservedTargetEntries:d.preservedEntries,projectPath:r.projectPath,retryCommand:`eve init ${d.projectPath}`,workspaceMember:t,workspaceRootMutations:r.workspaceRootMutations}}else{let e=await addToExistingProject(d.projectPath,a,n,f);o=e.nodeEngineOverride===void 0?{configurationFilesChanged:e.configurationFilesChanged,dependenciesAdded:e.dependenciesAdded,failurePolicy:`preserve`,filesWritten:e.filesWritten,kind:`added`,packageManager:e.packageManager,projectPath:d.projectPath}:{configurationFilesChanged:e.configurationFilesChanged,dependenciesAdded:e.dependenciesAdded,failurePolicy:`preserve`,filesWritten:e.filesWritten,kind:`added`,nodeEngineOverride:e.nodeEngineOverride,packageManager:e.packageManager,projectPath:d.projectPath}}let s=n.now()-r;initLog.debug(`${e} done`,{ms:s}),o.kind===`added`&&(h.stop(),reportExistingProjectChanges(i,o),h=startCliLiveRow(i,m)),g=`install_dependencies`,c?.(g),h.update(`Installing dependencies`,o.packageManager),initLog.debug(`installing dependencies with ${o.packageManager}`);let l=n.now(),v=createInstallDiagnostics(),y=await n.runPackageManagerInstall(o.packageManager,o.projectPath,{autoApprove:!0,bypassMinimumReleaseAge:!0,progressDetails:!1,onOutput:e=>{v.append(e.text),u&&initLog.debug(e.text)}}),b=n.now()-l;if(!packageManagerInstallSucceeded(y)){_=packageManagerInstallFailureCode(y),initLog.debug(`dependency installation failed`,{ms:b}),h.stop();let{lines:e,truncated:t}=v.result();t&&i.error(`Earlier install output omitted; showing the final diagnostics.`);for(let t of e)i.error(t);if(e.length===0){let e=packageManagerInstallFailureMessage(y);e!==void 0&&i.error(e)}if(o.failurePolicy!==`preserve`){if(await cleanupFreshInitTarget(o.projectPath,o.failurePolicy,o.preservedTargetEntries)){let e=o.failurePolicy===`remove`?`eve removed the incomplete project at "${o.projectPath}".`:`eve restored "${o.projectPath}" to its original state.`,t=o.workspaceMember||o.workspaceRootMutations.length>0;throw Error(`Failed to install dependencies.\n\n${e}\n\nResolve the package-manager error above, then retry:\n ${o.retryCommand}${workspaceFailureNote(t)}`)}let e=o.workspaceMember||o.workspaceRootMutations.length>0;throw Error(`Failed to install dependencies, and eve could not completely clean "${o.projectPath}".\n\nResolve the package-manager error above, then install dependencies with ${o.packageManager} in that directory. Or clean the target manually before rerunning eve init.${workspaceFailureNote(e)}`)}throw Error(`The eve agent was added, but dependency installation failed.\n\nResolve the package-manager error above, then install dependencies with ${o.packageManager} in "${o.projectPath}".\n\nDo not rerun eve init; the agent is already configured.`)}if(initLog.debug(`dependencies installed`,{ms:b}),o.kind===`created`){g=`initialize_git`,c?.(g),h.update(`Initializing Git`),initLog.debug(`initializing git repository`);let e=await n.tryInitializeGit(o.projectPath);return{...o,elapsedMs:n.now()-p,agentLaunched:t,gitResult:e,selfModificationEnabled:!1}}return{...o,elapsedMs:n.now()-p,agentLaunched:t,selfModificationEnabled:!1}}catch(e){throw l?.(g,`error`,g===`install_dependencies`?_:void 0),e}finally{h.stop()}}async function runInitCommand(e,t,n,r,i=defaultDependencies,a,o){let s=await i.isCodingAgentLaunch(),c=i.hasInteractiveTerminal();c&&!s&&e.log(``),e.log(eveCliBanner()),a?.(`resolve_target`);let l;try{if(await addAgentsToWorkspace(e,t,n,r,i.validateModelSlug)){a?.(`handoff`),o?.(`handoff`,`completed`);return}l=await runInitSteps({agentLaunched:s,interactive:c,dependencies:i,logger:e,options:r,parentDirectory:t,target:n,trackStep:a,trackTerminal:o})}catch(e){if(e instanceof WizardCancelledError){o?.(`resolve_target`,`cancelled`);return}throw e instanceof InitTargetError&&o?.(`resolve_target`,`error`,e.failureCode),e}if(a?.(`handoff`),l.kind===`created`){e.log(`${pc.green(`✓`)} Created an ${EVE_WORDMARK} agent in ${pc.bold(l.projectPath)} ${pc.dim(`in ${formatElapsed(l.elapsedMs)}`)}`);for(let t of l.workspaceRootMutations)e.log(pc.yellow(`⚠ ${formatWorkspaceRootMutationWarning(t)}`))}else e.log(`${pc.green(`✓`)} Added an ${EVE_WORDMARK} agent to ${pc.bold(l.projectPath)} ${pc.dim(`in ${formatElapsed(l.elapsedMs)}`)}`);l.selfModificationEnabled&&e.log(`${pc.green(`✓`)} Enabled self-modification`),l.kind===`created`&&l.gitResult.kind===`failed`&&(e.error(pc.yellow(`Git initialization failed during ${l.gitResult.stage}: ${l.gitResult.reason}`)),l.gitResult.stage===`commit`&&e.error(pc.yellow(`The eve agent was created successfully. Git repository metadata and staged files were preserved at "${l.projectPath}"; the initial commit is optional.\n\nTo create it later, configure Git identity and run:\n git -C ${JSON.stringify(l.projectPath)} commit -m "Initial commit from eve"`)));let u=eveDevArguments(l.packageManager),d=[l.packageManager,...u].join(` `),f=initAgentDevHandoff({projectPath:l.projectPath,devCommand:d});if(l.agentLaunched){e.log(initAgentReadySummary(r.model,l.projectPath,{workspace:r.agents!==void 0})),e.log(f);return}if(r.nonInteractive||!c){e.log(f);return}let p=l.kind===`created`,m=[...l.packageManager===`pnpm`?[`--reporter=silent`]:[],...u,...p?[`--onboard`]:[]];if(e.log(``),!resultSucceeded(await i.spawnPackageManager(l.packageManager,l.projectPath,m)))throw Error(`Development server exited unsuccessfully in "${l.projectPath}".`)}function resolveInitEvePackageOverride(){let e=process.env[EVE_INIT_PACKAGE_SPEC_ENV]?.trim();if(e!==void 0&&e.length!==0)return{nodeEngine:DEFAULT_EVE_PACKAGE_CONTRACT.nodeEngine,version:e}}export{EVE_INIT_PACKAGE_SPEC_ENV,runInitCommand};
|
|
1
|
+
import{initAgentDevHandoff,initAgentReadySummary}from"./agent-instructions.js";import{hasInteractiveTerminal}from"./preconditions.js";import{tryInitializeGit}from"./init-git.js";import{InitTargetError}from"./init-telemetry.js";import{addAgentsToWorkspace,convertScaffoldToAgentWorkspace,formatWorkspaceRootMutationWarning}from"./init-agent-workspace.js";import{createInstallDiagnostics,packageManagerInstallFailureCode}from"./init-install.js";import{reportExistingProjectChanges}from"./init-project.js";import{cleanupFreshInitTarget,workspaceFailureNote}from"./init-recovery.js";import{resolveInitTarget}from"./init-target.js";import{mkdtemp,readdir,rename,rm}from"node:fs/promises";import{createLogger,isLogLevelEnabled}from"#internal/logging.js";import pc from"#compiled/picocolors/index.js";import{basename,join,resolve}from"node:path";import{DEFAULT_AGENT_MODEL_ID}from"#shared/default-agent-model.js";import{ensureChannel,scaffoldBaseProject}from"#setup/scaffold/index.js";import{eveDevArguments,packageManagerInstallFailureMessage,packageManagerInstallSucceeded,resultSucceeded,runPackageManagerInstall,spawnPackageManager}from"#setup/primitives/index.js";import{performance}from"node:perf_hooks";import{isCodingAgentLaunch}from"#cli/agent-detection.js";import{EVE_WORDMARK,eveCliBanner}from"#cli/banner.js";import{formatElapsed}from"#cli/format-elapsed.js";import{startCliLiveRow}from"#cli/ui/live-row.js";import{detectInvokingPackageManager,detectPackageManager}from"#setup/package-manager.js";import{pathExists}from"#setup/path-exists.js";import{DEFAULT_EVE_PACKAGE_CONTRACT}from"#setup/scaffold/create/project.js";import{validateModelSlug}from"#setup/flows/model-source-change.js";import{addAgentToProject}from"#setup/scaffold/create/add-to-project.js";import{WizardCancelledError}from"#setup/step.js";import{isPackageManagerWorkspaceMember}from"#setup/scaffold/workspace-root.js";const defaultDependencies={addAgentToProject,detectInvokingPackageManager,detectPackageManager,ensureChannel,isCodingAgentLaunch,now:()=>performance.now(),runPackageManagerInstall,scaffoldBaseProject,hasInteractiveTerminal,spawnPackageManager,tryInitializeGit,validateModelSlug},EVE_INIT_PACKAGE_SPEC_ENV=`EVE_INIT_PACKAGE_SPEC`,initLog=createLogger(`init`);async function moveDirectoryContents(e,t){for(let n of await readdir(e))await rename(join(e,n),join(t,n))}function uniqueWorkspaceRootMutations(e){let t=new Map;for(let n of e){let e=`${n.kind}:${n.path}`,r=t.get(e);t.set(e,{...n,nodeEngineOverride:n.nodeEngineOverride??r?.nodeEngineOverride})}return[...t.values()]}async function addToExistingProject(e,t,n,r){if(t.channelWebNextjs===!0)throw Error("`--channel-web-nextjs` is not supported when adding an agent to an existing project. Run `eve add channel/web` from the project afterwards instead.");if(t.model!==void 0){let r=await n.validateModelSlug(e,t.model);if(r!==null)throw Error(r)}let i=await n.detectPackageManager(e),a=await n.addAgentToProject({projectRoot:e,model:t.model??DEFAULT_AGENT_MODEL_ID,reasoning:t.reasoning,packageManager:i.kind,evePackage:r});return{configurationFilesChanged:a.configurationFilesChanged,dependenciesAdded:a.dependenciesAdded,filesWritten:a.filesWritten,packageManager:i.kind,nodeEngineOverride:a.nodeEngineOverride}}async function resolveScaffoldPackageManager(e,t){let n=await t.detectPackageManager(e);return n.source==="default"?t.detectInvokingPackageManager()??`pnpm`:n.kind}async function scaffoldProject(e,t,n,r,i,a,o,s){let c=resolve(e,`..`),l=!n&&await pathExists(e)&&(await readdir(e)).length===0;if(!n&&await pathExists(e)&&!l)throw Error(`Cannot create project because "${e}" already exists.`);let u=n&&s?void 0:await mkdtemp(join(c,`.eve-init-`)),d=[];try{let c=u??e;if(i.model!==void 0){let e=await a.validateModelSlug(c,i.model);if(e!==null)throw Error(e)}let f={projectName:u===void 0?`.`:n?basename(e):t,model:i.model??DEFAULT_AGENT_MODEL_ID,reasoning:i.reasoning,evePackage:o,targetDirectory:c,overwriteExisting:s,workspaceProbeDirectory:e,packageManager:r,onWorkspaceRootMutation:e=>{d.push(e)}},p=await a.scaffoldBaseProject(f);return i.agents!==void 0&&await convertScaffoldToAgentWorkspace(p,i.agents,i),i.channelWebNextjs===!0&&await a.ensureChannel({projectRoot:p,kind:`web`,packageManager:r,force:s,workspaceProbeDirectory:e,configureVercelServices:!1,onWorkspaceRootMutation:e=>{d.push(e)}}),u!==void 0&&(n||l?await moveDirectoryContents(p,e):await rename(p,e)),{projectPath:e,workspaceRootMutations:uniqueWorkspaceRootMutations(d)}}finally{u!==void 0&&await rm(u,{recursive:!0,force:!0})}}async function runInitSteps(e){let{agentLaunched:t,dependencies:n,interactive:r,logger:i,options:a,parentDirectory:o,target:s,trackStep:c,trackTerminal:l}=e,u=isLogLevelEnabled(`debug`),d=await resolveInitTarget({parentDirectory:o,target:s}),f=resolveInitEvePackageOverride(),p=n.now(),m={animate:r&&!t&&!process.env.CI&&process.env.TERM!==`dumb`,elapsed:!0,logPhases:!0},h=startCliLiveRow(i,m),g=`scaffold`,_;try{let e=d.kind===`fresh`?`creating agent`:`adding agent`;c?.(g),h.update(d.kind===`fresh`?`Creating agent`:`Adding agent`),initLog.debug(e);let r=n.now(),o;if(d.kind===`fresh`){let e=await resolveScaffoldPackageManager(d.projectPath,n),t=isPackageManagerWorkspaceMember(e,d.projectPath),r;try{r=await scaffoldProject(d.projectPath,d.projectName,d.createInPlace,e,a,n,f,d.overwriteExisting)}catch(e){if(d.failurePolicy===`clear`){let n=await cleanupFreshInitTarget(d.projectPath,d.failurePolicy,d.preservedEntries),r=e instanceof Error?e.message:String(e),i=n?`eve restored "${d.projectPath}" to its original state.`:`eve could not completely clean "${d.projectPath}".`;throw Error(`${r}\n\n${i}${workspaceFailureNote(t)}`)}if(d.failurePolicy===`remove`&&t){let t=e instanceof Error?e.message:String(e);throw Error(`${t}${workspaceFailureNote(!0)}`)}throw e}o={failurePolicy:d.failurePolicy,kind:`created`,packageManager:e,preservedTargetEntries:d.preservedEntries,projectPath:r.projectPath,retryCommand:`eve init ${d.projectPath}`,workspaceMember:t,workspaceRootMutations:r.workspaceRootMutations}}else{let e=await addToExistingProject(d.projectPath,a,n,f);o=e.nodeEngineOverride===void 0?{configurationFilesChanged:e.configurationFilesChanged,dependenciesAdded:e.dependenciesAdded,failurePolicy:`preserve`,filesWritten:e.filesWritten,kind:`added`,packageManager:e.packageManager,projectPath:d.projectPath}:{configurationFilesChanged:e.configurationFilesChanged,dependenciesAdded:e.dependenciesAdded,failurePolicy:`preserve`,filesWritten:e.filesWritten,kind:`added`,nodeEngineOverride:e.nodeEngineOverride,packageManager:e.packageManager,projectPath:d.projectPath}}let s=n.now()-r;initLog.debug(`${e} done`,{ms:s}),o.kind===`added`&&(h.stop(),reportExistingProjectChanges(i,o),h=startCliLiveRow(i,m)),g=`install_dependencies`,c?.(g),h.update(`Installing dependencies`,o.packageManager),initLog.debug(`installing dependencies with ${o.packageManager}`);let l=n.now(),v=createInstallDiagnostics(),y=await n.runPackageManagerInstall(o.packageManager,o.projectPath,{autoApprove:!0,bypassMinimumReleaseAge:!0,progressDetails:!1,onOutput:e=>{v.append(e.text),u&&initLog.debug(e.text)}}),b=n.now()-l;if(!packageManagerInstallSucceeded(y)){_=packageManagerInstallFailureCode(y),initLog.debug(`dependency installation failed`,{ms:b}),h.stop();let{lines:e,truncated:t}=v.result();t&&i.error(`Earlier install output omitted; showing the final diagnostics.`);for(let t of e)i.error(t);if(e.length===0){let e=packageManagerInstallFailureMessage(y);e!==void 0&&i.error(e)}if(o.failurePolicy!==`preserve`){if(await cleanupFreshInitTarget(o.projectPath,o.failurePolicy,o.preservedTargetEntries)){let e=o.failurePolicy===`remove`?`eve removed the incomplete project at "${o.projectPath}".`:`eve restored "${o.projectPath}" to its original state.`,t=o.workspaceMember||o.workspaceRootMutations.length>0;throw Error(`Failed to install dependencies.\n\n${e}\n\nResolve the package-manager error above, then retry:\n ${o.retryCommand}${workspaceFailureNote(t)}`)}let e=o.workspaceMember||o.workspaceRootMutations.length>0;throw Error(`Failed to install dependencies, and eve could not completely clean "${o.projectPath}".\n\nResolve the package-manager error above, then install dependencies with ${o.packageManager} in that directory. Or clean the target manually before rerunning eve init.${workspaceFailureNote(e)}`)}throw Error(`The eve agent was added, but dependency installation failed.\n\nResolve the package-manager error above, then install dependencies with ${o.packageManager} in "${o.projectPath}".\n\nDo not rerun eve init; the agent is already configured.`)}if(initLog.debug(`dependencies installed`,{ms:b}),o.kind===`created`){g=`initialize_git`,c?.(g),h.update(`Initializing Git`),initLog.debug(`initializing git repository`);let e=await n.tryInitializeGit(o.projectPath);return{...o,elapsedMs:n.now()-p,agentLaunched:t,gitResult:e}}return{...o,elapsedMs:n.now()-p,agentLaunched:t}}catch(e){throw l?.(g,`error`,g===`install_dependencies`?_:void 0),e}finally{h.stop()}}async function runInitCommand(e,t,n,r,i=defaultDependencies,a,o){let s=await i.isCodingAgentLaunch(),c=i.hasInteractiveTerminal();c&&!s&&e.log(``),e.log(eveCliBanner()),a?.(`resolve_target`);let l;try{if(await addAgentsToWorkspace(e,t,n,r,i.validateModelSlug)){a?.(`handoff`),o?.(`handoff`,`completed`);return}l=await runInitSteps({agentLaunched:s,interactive:c,dependencies:i,logger:e,options:r,parentDirectory:t,target:n,trackStep:a,trackTerminal:o})}catch(e){if(e instanceof WizardCancelledError){o?.(`resolve_target`,`cancelled`);return}throw e instanceof InitTargetError&&o?.(`resolve_target`,`error`,e.failureCode),e}if(a?.(`handoff`),l.kind===`created`){e.log(`${pc.green(`✓`)} Created an ${EVE_WORDMARK} agent in ${pc.bold(l.projectPath)} ${pc.dim(`in ${formatElapsed(l.elapsedMs)}`)}`);for(let t of l.workspaceRootMutations)e.log(pc.yellow(`⚠ ${formatWorkspaceRootMutationWarning(t)}`))}else e.log(`${pc.green(`✓`)} Added an ${EVE_WORDMARK} agent to ${pc.bold(l.projectPath)} ${pc.dim(`in ${formatElapsed(l.elapsedMs)}`)}`);l.kind===`created`&&l.gitResult.kind===`failed`&&(e.error(pc.yellow(`Git initialization failed during ${l.gitResult.stage}: ${l.gitResult.reason}`)),l.gitResult.stage===`commit`&&e.error(pc.yellow(`The eve agent was created successfully. Git repository metadata and staged files were preserved at "${l.projectPath}"; the initial commit is optional.\n\nTo create it later, configure Git identity and run:\n git -C ${JSON.stringify(l.projectPath)} commit -m "Initial commit from eve"`)));let u=eveDevArguments(l.packageManager),d=[l.packageManager,...u].join(` `),f=initAgentDevHandoff({projectPath:l.projectPath,devCommand:d});if(l.agentLaunched){e.log(initAgentReadySummary(r.model,l.projectPath,{workspace:r.agents!==void 0})),e.log(f);return}if(r.nonInteractive||!c){e.log(f);return}let p=l.kind===`created`,m=[...l.packageManager===`pnpm`?[`--reporter=silent`]:[],...u,...p?[`--onboard`]:[]];if(e.log(``),!resultSucceeded(await i.spawnPackageManager(l.packageManager,l.projectPath,m)))throw Error(`Development server exited unsuccessfully in "${l.projectPath}".`)}function resolveInitEvePackageOverride(){let e=process.env[EVE_INIT_PACKAGE_SPEC_ENV]?.trim();if(e!==void 0&&e.length!==0)return{nodeEngine:DEFAULT_EVE_PACKAGE_CONTRACT.nodeEngine,version:e}}export{EVE_INIT_PACKAGE_SPEC_ENV,runInitCommand};
|
|
@@ -2,7 +2,7 @@ import { type Prompter } from "#setup/prompter.js";
|
|
|
2
2
|
import type { RegistrySetupCompletion } from "#setup/registry-setup-protocol.js";
|
|
3
3
|
import type { RegistryCommandLogger, RegistrySetupDependencies } from "./registry.js";
|
|
4
4
|
import type { RegistrySetupCommand } from "./registry-setup-command.js";
|
|
5
|
-
|
|
5
|
+
interface DeclaredSetupOptions {
|
|
6
6
|
yes?: boolean;
|
|
7
7
|
force?: boolean;
|
|
8
8
|
nonInteractive?: boolean;
|
|
@@ -21,3 +21,4 @@ export declare function runDeclaredSetups(input: {
|
|
|
21
21
|
dependencies: RegistrySetupDependencies;
|
|
22
22
|
resumeCommand: string;
|
|
23
23
|
}): Promise<RegistrySetupCompletion | false>;
|
|
24
|
+
export {};
|
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
interface Snapshot {
|
|
2
|
-
readonly path: string;
|
|
3
|
-
readonly contents?: Buffer;
|
|
4
|
-
}
|
|
5
|
-
export declare function snapshotRegistryInstall(appRoot: string, item: unknown): Promise<readonly Snapshot[]>;
|
|
6
|
-
export declare function rollbackRegistryInstall(appRoot: string, snapshots: readonly Snapshot[]): Promise<{
|
|
7
|
-
readonly restored: boolean;
|
|
8
|
-
readonly changed: readonly string[];
|
|
9
|
-
}>;
|
|
10
|
-
export type RegistryInstallFailureCode = "pnpm_build_policy" | "dependency_install";
|
|
11
|
-
export declare function registryInstallFailureCode(error: unknown): RegistryInstallFailureCode;
|
|
12
|
-
export declare function registryInstallFailureMessage(code: RegistryInstallFailureCode): string;
|
|
13
1
|
export declare function installRegistryItemTransaction(input: {
|
|
14
2
|
readonly appRoot: string;
|
|
15
3
|
readonly item: string;
|
|
@@ -20,4 +8,3 @@ export declare function installRegistryItemTransaction(input: {
|
|
|
20
8
|
};
|
|
21
9
|
readonly install: () => Promise<void>;
|
|
22
10
|
}): Promise<void>;
|
|
23
|
-
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{serializeHeadlessSetupEvent}from"./setup-headless.js";import{readFile,unlink,writeFile}from"node:fs/promises";import{isAbsolute,relative,resolve}from"node:path";const PROJECT_INSTALL_FILES=[`package.json`,`pnpm-lock.yaml`,`pnpm-workspace.yaml`,`package-lock.json`,`npm-shrinkwrap.json`,`yarn.lock`,`bun.lock`,`bun.lockb`,`.env.example`,`.env.local`];function registryTargets(e,t){if(typeof t!=`object`||!t||!(`files`in t))return[];let n=t.files;return Array.isArray(n)?n.flatMap(t=>{if(typeof t!=`object`||!t||!(`target`in t))return[];let n=t.target;if(typeof n!=`string`||n.length===0)return[];let r=resolve(e,n),i=relative(e,r);return isAbsolute(i)||i.startsWith(`..`)?[]:[i]}):[]}async function snapshotFile(e){try{return{path:e,contents:await readFile(e)}}catch(t){if(t.code===`ENOENT`)return{path:e};throw t}}async function snapshotRegistryInstall(e,t){let n=[...new Set([...PROJECT_INSTALL_FILES,...registryTargets(e,t)])];return await Promise.all(n.map(t=>snapshotFile(resolve(e,t))))}async function rollbackRegistryInstall(e,t){let n=[];for(let r of t)try{r.contents===void 0?await unlink(r.path).catch(e=>{if(e.code!==`ENOENT`)throw e}):await writeFile(r.path,r.contents)}catch{n.push(relative(e,r.path))}return{restored:n.length===0,changed:n}}function registryInstallFailureCode(e){let t=e instanceof Error?e.message:String(e);return t.includes(`ERR_PNPM_IGNORED_BUILDS`)||t.includes(`Ignored build scripts`)?`pnpm_build_policy`:`dependency_install`}function registryInstallFailureMessage(e){return e===`pnpm_build_policy`?"Dependency installation stopped because pnpm requires build-script decisions. Run `pnpm approve-builds`, then retry the eve add command.":`Dependency installation failed. Retry the eve add command in a terminal for details.`}async function installRegistryItemTransaction(e){let t=await snapshotRegistryInstall(e.appRoot,e.registryItem);try{await e.install()}catch(n){let r=await rollbackRegistryInstall(e.appRoot,t),i=registryInstallFailureCode(n),a=registryInstallFailureMessage(i);if(e.nonInteractive){let t={version:1,type:`failed`,item:e.item,completedItems:[],message:a,failureCode:i,rolledBack:r.restored};r.changed.length>0&&(t.changed=r.changed),e.logger.log(serializeHeadlessSetupEvent(t))}throw Error(a,{cause:n})}}export{installRegistryItemTransaction
|
|
1
|
+
import{serializeHeadlessSetupEvent}from"./setup-headless.js";import{readFile,unlink,writeFile}from"node:fs/promises";import{isAbsolute,relative,resolve}from"node:path";const PROJECT_INSTALL_FILES=[`package.json`,`pnpm-lock.yaml`,`pnpm-workspace.yaml`,`package-lock.json`,`npm-shrinkwrap.json`,`yarn.lock`,`bun.lock`,`bun.lockb`,`.env.example`,`.env.local`];function registryTargets(e,t){if(typeof t!=`object`||!t||!(`files`in t))return[];let n=t.files;return Array.isArray(n)?n.flatMap(t=>{if(typeof t!=`object`||!t||!(`target`in t))return[];let n=t.target;if(typeof n!=`string`||n.length===0)return[];let r=resolve(e,n),i=relative(e,r);return isAbsolute(i)||i.startsWith(`..`)?[]:[i]}):[]}async function snapshotFile(e){try{return{path:e,contents:await readFile(e)}}catch(t){if(t.code===`ENOENT`)return{path:e};throw t}}async function snapshotRegistryInstall(e,t){let n=[...new Set([...PROJECT_INSTALL_FILES,...registryTargets(e,t)])];return await Promise.all(n.map(t=>snapshotFile(resolve(e,t))))}async function rollbackRegistryInstall(e,t){let n=[];for(let r of t)try{r.contents===void 0?await unlink(r.path).catch(e=>{if(e.code!==`ENOENT`)throw e}):await writeFile(r.path,r.contents)}catch{n.push(relative(e,r.path))}return{restored:n.length===0,changed:n}}function registryInstallFailureCode(e){let t=e instanceof Error?e.message:String(e);return t.includes(`ERR_PNPM_IGNORED_BUILDS`)||t.includes(`Ignored build scripts`)?`pnpm_build_policy`:`dependency_install`}function registryInstallFailureMessage(e){return e===`pnpm_build_policy`?"Dependency installation stopped because pnpm requires build-script decisions. Run `pnpm approve-builds`, then retry the eve add command.":`Dependency installation failed. Retry the eve add command in a terminal for details.`}async function installRegistryItemTransaction(e){let t=await snapshotRegistryInstall(e.appRoot,e.registryItem);try{await e.install()}catch(n){let r=await rollbackRegistryInstall(e.appRoot,t),i=registryInstallFailureCode(n),a=registryInstallFailureMessage(i);if(e.nonInteractive){let t={version:1,type:`failed`,item:e.item,completedItems:[],message:a,failureCode:i,rolledBack:r.restored};r.changed.length>0&&(t.changed=r.changed),e.logger.log(serializeHeadlessSetupEvent(t))}throw Error(a,{cause:n})}}export{installRegistryItemTransaction};
|
|
@@ -2,7 +2,7 @@ import { detectPackageManager } from "#setup/package-manager.js";
|
|
|
2
2
|
import { type Prompter } from "#setup/prompter.js";
|
|
3
3
|
import { applyPnpmBuildPolicy, inspectPnpmBuildPolicy } from "#setup/primitives/pm/pnpm-build-policy.js";
|
|
4
4
|
import type { RegistryCommandLogger } from "./registry-recovery.js";
|
|
5
|
-
|
|
5
|
+
interface DeclaredPnpmBuildPolicy {
|
|
6
6
|
readonly packages: readonly string[];
|
|
7
7
|
readonly optional: true;
|
|
8
8
|
readonly recommendedAction: "ignore-optional";
|
|
@@ -9,7 +9,6 @@ export interface RegistrySearchPresentationSection {
|
|
|
9
9
|
items: RegistrySearchPresentationItem[];
|
|
10
10
|
total: number;
|
|
11
11
|
}
|
|
12
|
-
export declare function normalizeRegistryText(value: string): string;
|
|
13
12
|
export declare function printRegistrySearchResults(logger: {
|
|
14
13
|
log(message: string): void;
|
|
15
14
|
}, input: {
|
|
@@ -4,4 +4,4 @@ import{parseRegistryPresentationManifest}from"./registry-metadata.js";import{cre
|
|
|
4
4
|
`)}function printRegistrySearchResults(e,t){if(t.json!==void 0){e.log(JSON.stringify(t.json,null,2));return}if(t.sections.every(e=>e.items.length===0)){let n=t.query&&normalizeRegistryText(t.query);e.log(n?`No registry items match "${n}".`:`No registry items found.`);return}let n=createCliTheme(),r=Math.max(20,process.stdout.columns??80),i=t.sections.flatMap(e=>{if(e.items.length===0)return[];let t=`${e.total} result${e.total===1?``:`s`}`,i=e.items.length<e.total?`showing ${e.items.length} of ${t}`:t;return[[`${n.label(e.label)} ${n.muted(`(${i})`)}`,...e.items.map(e=>renderSearchItem(e,r,n))].join(`
|
|
5
5
|
`)]});e.log(i.join(`
|
|
6
6
|
`))}function registryViewText(e,t){let n=parseRegistryPresentationManifest(t);if(n===void 0)return JSON.stringify(t,null,2);let r=n.meta?.eve,i=[n.title??e,e];if(n.description!==void 0&&i.push(``,n.description),r?.implementation!==void 0&&i.push(``,`Implementation ${r.implementation===`native`?`First-class eve channel`:`Chat SDK adapter`}`),r?.setup!==void 0&&i.push(`Setup Guided setup`),r?.docs!==void 0){let e=r.docs.startsWith(`/`)?`https://eve.dev${r.docs}`:r.docs;i.push(`Documentation ${e}`)}i.push(`Source Official eve registry`),n.dependencies?.length&&i.push(``,`Packages`,...n.dependencies.map(e=>` ${e}`));let a=n.files?.map(e=>e.target)??[];return a.length>0&&i.push(``,`Files`,...a.map(e=>` ${e}`)),i.join(`
|
|
7
|
-
`)}export{
|
|
7
|
+
`)}export{printRegistrySearchResults,registryViewText};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RegistryConfig } from "#compiled/shadcn-registry/index.js";
|
|
2
|
-
|
|
2
|
+
interface AddRegistryMappingsResult {
|
|
3
3
|
added: string[];
|
|
4
4
|
skippedBuiltIn: string[];
|
|
5
5
|
skippedExisting: string[];
|
|
@@ -13,3 +13,4 @@ export declare function addWebRegistryTsconfig(source: string, path: string): st
|
|
|
13
13
|
export declare function prepareWebRegistryProject(appRoot: string): Promise<void>;
|
|
14
14
|
/** Adds explicit registry namespace mappings to package.json. */
|
|
15
15
|
export declare function addRegistryMappings(appRoot: string, arguments_: readonly string[]): Promise<AddRegistryMappingsResult>;
|
|
16
|
+
export {};
|
|
@@ -63,15 +63,11 @@ export interface RegistryCatalogResult {
|
|
|
63
63
|
* configured in the process environment rather than project configuration.
|
|
64
64
|
*/
|
|
65
65
|
export declare function resolveOfficialRegistryUrl(configured?: string | undefined): string;
|
|
66
|
-
/** Installs an official registry item without running its declared setup command. */
|
|
67
|
-
export declare function installOfficialRegistryItem(appRoot: string, item: string, options?: AddCommandOptions): Promise<void>;
|
|
68
66
|
/** Browses all configured catalogs, or one namespace or URL source. */
|
|
69
67
|
export declare function browseRegistryCatalog(appRoot: string, options?: {
|
|
70
68
|
query?: string;
|
|
71
69
|
source?: string;
|
|
72
70
|
}): Promise<RegistryCatalogResult>;
|
|
73
|
-
/** Resolves one official, configured, or URL-addressed item manifest. */
|
|
74
|
-
export declare function getRegistryItemManifest(appRoot: string, item: string): Promise<unknown>;
|
|
75
71
|
/** Installs an official, configured, or URL-addressed registry item. */
|
|
76
72
|
export declare function installRegistryItem(appRoot: string, item: string, options?: AddCommandOptions & {
|
|
77
73
|
prompter?: Prompter;
|