eve 0.66.3 → 0.67.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/dist/src/channel/channel-address.d.ts +0 -2
- package/dist/src/channel/channel-address.js +1 -1
- package/dist/src/channel/channel-operations.d.ts +0 -5
- package/dist/src/channel/channel-operations.js +1 -1
- package/dist/src/channel/compiled-channel.d.ts +8 -0
- package/dist/src/channel/compiled-channel.js +2 -2
- package/dist/src/channel/conversation-context.js +1 -1
- package/dist/src/channel/routes.d.ts +1 -2
- package/dist/src/channel/schedule.d.ts +2 -2
- package/dist/src/channel/schedule.js +1 -1
- package/dist/src/channel/types.d.ts +8 -13
- package/dist/src/chunks/{use-eve-agent-PbSMyJ6e.js → use-eve-agent-DzdyI97Z.js} +0 -5
- package/dist/src/chunks/{use-eve-agent-Di1u2zKu.js → use-eve-agent-OCHP4s0z.js} +0 -5
- package/dist/src/cli/acp/command.js +3 -3
- package/dist/src/cli/commands/logs.d.ts +3 -3
- package/dist/src/cli/commands/logs.js +1 -1
- package/dist/src/cli/commands/register-integration-commands.js +1 -1
- package/dist/src/cli/commands/trace.js +1 -1
- package/dist/src/cli/dev/command.d.ts +9 -5
- package/dist/src/cli/dev/command.js +1 -3
- package/dist/src/cli/dev/run-interactive-ui.d.ts +0 -1
- package/dist/src/cli/dev/run-interactive-ui.js +1 -1
- package/dist/src/cli/dev/tui/blocks.js +1 -1
- package/dist/src/cli/dev/tui/prompt-command-handler.js +1 -1
- package/dist/src/cli/dev/tui/question-panel.d.ts +4 -4
- package/dist/src/cli/dev/tui/question-panel.js +1 -1
- package/dist/src/cli/dev/tui/runner.js +2 -2
- package/dist/src/cli/dev/tui/terminal-renderer.js +8 -9
- package/dist/src/cli/dev/tui/theme.d.ts +1 -1
- package/dist/src/cli/dev/url-target.js +1 -1
- package/dist/src/cli/invoke/command.d.ts +2 -5
- package/dist/src/cli/invoke/command.js +1 -1
- package/dist/src/cli/invoke/invoke.d.ts +2 -2
- package/dist/src/cli/invoke/invoke.js +1 -1
- package/dist/src/cli/invoke/result.d.ts +14 -194
- package/dist/src/cli/invoke/result.js +1 -1
- package/dist/src/cli/run.d.ts +0 -4
- package/dist/src/cli/run.js +2 -2
- package/dist/src/cli/telemetry/index.js +1 -1
- package/dist/src/client/message-reducer.js +1 -1
- package/dist/src/compiled/.vendor-stamp.json +1 -1
- package/dist/src/compiler/compile-from-memory.d.ts +0 -1
- package/dist/src/compiler/compile-from-memory.js +1 -1
- package/dist/src/compiler/extension-compatibility.d.ts +25 -18
- package/dist/src/compiler/extension-compatibility.js +1 -1
- package/dist/src/compiler/manifest.d.ts +48 -14
- package/dist/src/compiler/manifest.js +1 -1
- package/dist/src/compiler/normalize-agent-config.js +1 -1
- package/dist/src/compiler/normalize-channel.js +1 -1
- package/dist/src/compiler/normalize-connection.js +1 -1
- package/dist/src/compiler/normalize-manifest-helpers.js +1 -1
- package/dist/src/compiler/normalize-subagent.d.ts +0 -2
- package/dist/src/compiler/normalize-subagent.js +1 -1
- package/dist/src/compiler/remote-agent-node.d.ts +0 -2
- package/dist/src/compiler/remote-agent-node.js +1 -1
- package/dist/src/compiler/workspace-resources.js +1 -1
- package/dist/src/context/dynamic-subagent-lifecycle.js +1 -1
- package/dist/src/context/keys.d.ts +0 -3
- package/dist/src/context/keys.js +1 -1
- package/dist/src/context/memory-lifecycle.d.ts +1 -0
- package/dist/src/context/memory-lifecycle.js +1 -1
- package/dist/src/discover/project.js +1 -1
- package/dist/src/eve-channel/create-request.d.ts +0 -3
- package/dist/src/eve-channel/create-request.js +1 -1
- package/dist/src/eve-channel/index.js +1 -1
- package/dist/src/eve-channel/request.js +1 -1
- package/dist/src/eve-channel/types.d.ts +1 -1
- package/dist/src/execution/delegated-session-context.d.ts +2 -0
- package/dist/src/execution/delegated-session-context.js +1 -0
- package/dist/src/execution/dynamic-connections.d.ts +4 -1
- package/dist/src/execution/dynamic-connections.js +1 -1
- package/dist/src/execution/dynamic-workflow/tool.js +1 -1
- package/dist/src/execution/effective-agent-config.js +1 -1
- package/dist/src/execution/legacy-session/input.d.ts +0 -2
- package/dist/src/execution/legacy-session/input.js +1 -1
- package/dist/src/execution/legacy-session/prepare-step.d.ts +0 -1
- package/dist/src/execution/legacy-session/turn-workflow.js +1 -1
- package/dist/src/execution/node-step.d.ts +4 -2
- package/dist/src/execution/node-step.js +1 -1
- package/dist/src/execution/proxied-deliver-step.js +1 -1
- package/dist/src/execution/publish-channel-event.d.ts +23 -0
- package/dist/src/execution/publish-channel-event.js +1 -0
- package/dist/src/execution/runtime-context.js +1 -1
- package/dist/src/execution/session/entry.js +1 -1
- package/dist/src/execution/session/event-sink.d.ts +1 -1
- package/dist/src/execution/session/event-sink.js +1 -1
- package/dist/src/execution/session/finalization.d.ts +1 -4
- package/dist/src/execution/session/finalization.js +1 -1
- package/dist/src/execution/session/handoff.d.ts +1 -3
- package/dist/src/execution/session/handoff.js +1 -1
- package/dist/src/execution/session/input-queue.d.ts +0 -1
- package/dist/src/execution/session/input-queue.js +1 -1
- package/dist/src/execution/session/next-input.d.ts +0 -1
- package/dist/src/execution/session/next-input.js +1 -1
- package/dist/src/execution/session/program.d.ts +0 -3
- package/dist/src/execution/session/program.js +1 -1
- package/dist/src/execution/session/turn-step-result.d.ts +1 -2
- package/dist/src/execution/session/turn-step-result.js +1 -1
- package/dist/src/execution/session/turn-step.js +1 -1
- package/dist/src/execution/session/turn.d.ts +2 -2
- package/dist/src/execution/session/turn.js +1 -1
- package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
- package/dist/src/execution/tasks/parent/hitl-proxy-steps.js +1 -1
- package/dist/src/execution/tools/agent-router-workflow.js +1 -1
- package/dist/src/execution/tools/agent-router.d.ts +0 -2
- package/dist/src/execution/tools/agent-router.js +1 -1
- package/dist/src/execution/tools/ask-question-workflow.js +1 -1
- package/dist/src/execution/tools/connection-search.d.ts +1 -0
- 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.js +1 -1
- package/dist/src/extensions/code/extension/lib/connect-authentication.js +1 -1
- package/dist/src/extensions/code/extension/lib/github-shell.js +1 -1
- package/dist/src/extensions/code/extension/lib/prwatch-github.js +1 -1
- package/dist/src/framework/sources/registry.js +1 -1
- package/dist/src/harness/approval-delivery-coordinator.d.ts +3 -13
- package/dist/src/harness/approval-delivery-coordinator.js +1 -1
- package/dist/src/harness/emission.d.ts +2 -3
- package/dist/src/harness/emission.js +1 -1
- package/dist/src/harness/input-request-resolution.d.ts +2 -0
- package/dist/src/harness/input-request-resolution.js +1 -1
- package/dist/src/harness/input-requests.d.ts +3 -3
- package/dist/src/harness/input-requests.js +1 -1
- package/dist/src/harness/pending-input-batches.d.ts +3 -3
- package/dist/src/harness/pending-input-batches.js +1 -1
- package/dist/src/harness/proxy-input-requests.d.ts +2 -0
- package/dist/src/harness/proxy-input-requests.js +1 -1
- package/dist/src/harness/session-limit-enforcement.d.ts +2 -3
- package/dist/src/harness/session-limit-enforcement.js +1 -1
- package/dist/src/harness/tool-loop.js +2 -2
- package/dist/src/harness/tools.js +1 -1
- package/dist/src/harness/types.d.ts +11 -13
- package/dist/src/instrumentation/session-context.js +1 -1
- package/dist/src/instrumentation/session-init.js +1 -1
- package/dist/src/internal/application/package.js +1 -1
- package/dist/src/internal/authored-definition/core.js +1 -1
- package/dist/src/internal/authored-module-loader.js +1 -2
- package/dist/src/internal/authored-package-boundary.d.ts +0 -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/external-resources-snapshot.d.ts +46 -0
- package/dist/src/internal/external-resources-snapshot.js +1 -0
- package/dist/src/internal/external-resources.d.ts +20 -0
- package/dist/src/internal/external-resources.js +1 -0
- package/dist/src/internal/invocation/workflow-execution.d.ts +0 -2
- package/dist/src/internal/invocation/workflow-execution.js +1 -1
- package/dist/src/internal/nitro/host/build-application.js +1 -1
- package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
- package/dist/src/internal/nitro/host/instrumentation-entry.d.ts +3 -0
- package/dist/src/internal/nitro/host/instrumentation-entry.js +2 -0
- package/dist/src/internal/nitro/host/start-development-server.d.ts +0 -8
- package/dist/src/internal/nitro/host/start-development-server.js +2 -2
- package/dist/src/internal/nitro/host.d.ts +1 -1
- package/dist/src/internal/nitro/host.js +1 -1
- package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +1 -1
- package/dist/src/internal/nitro/routes/index.js +72 -3
- package/dist/src/node_modules/.pnpm/{@vercel_cli-config@0.2.7 → @vercel_cli-config@0.3.0}/node_modules/@vercel/cli-config/dist/index.js +1 -1
- package/dist/src/node_modules/.pnpm/{@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_3fe44d656b2dcd93a04011e80966afff → @vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494}/node_modules/@vercel/connect/dist/authorization.js +1 -1
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/connector.js +1 -0
- package/dist/src/node_modules/.pnpm/{@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_3fe44d656b2dcd93a04011e80966afff → @vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494}/node_modules/@vercel/connect/dist/installation.js +1 -1
- package/dist/src/node_modules/.pnpm/{@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_3fe44d656b2dcd93a04011e80966afff → @vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494}/node_modules/@vercel/connect/dist/token.js +1 -1
- package/dist/src/node_modules/.pnpm/{@vercel_oidc@3.8.8 → @vercel_oidc@3.8.9}/node_modules/@vercel/oidc/dist/token-util.js +1 -1
- package/dist/src/node_modules/.pnpm/{@vercel_oidc@3.8.8 → @vercel_oidc@3.8.9}/node_modules/@vercel/oidc/dist/token.js +1 -1
- package/dist/src/node_modules/.pnpm/{@vercel_oidc@3.8.8 → @vercel_oidc@3.8.9}/node_modules/@vercel/oidc/dist/version.js +1 -1
- package/dist/src/protocol/message.d.ts +4 -0
- package/dist/src/protocol/message.js +1 -1
- package/dist/src/public/channels/chat-sdk/chatSdkChannel.d.ts +0 -1
- package/dist/src/public/channels/chat-sdk/chatSdkChannel.js +1 -1
- package/dist/src/public/channels/mcp.js +1 -1
- package/dist/src/public/channels/slack/app-manifest.d.ts +9 -0
- package/dist/src/public/channels/slack/app-manifest.js +1 -0
- package/dist/src/public/channels/slack/inbound-content.js +6 -3
- package/dist/src/public/channels/slack/slackChannel.d.ts +4 -1
- package/dist/src/public/channels/slack/slackChannel.js +1 -1
- package/dist/src/public/definitions/remote-agent.d.ts +0 -9
- package/dist/src/public/definitions/workspace-agent.d.ts +0 -3
- package/dist/src/public/definitions/workspace-agent.js +1 -1
- package/dist/src/runtime/agent/bootstrap.d.ts +0 -1
- package/dist/src/runtime/agent/bootstrap.js +1 -1
- package/dist/src/runtime/connections/mcp-client.js +1 -1
- package/dist/src/runtime/connections/mcp-tracing.d.ts +27 -0
- package/dist/src/runtime/connections/mcp-tracing.js +1 -0
- package/dist/src/runtime/resolve-agent-graph.js +1 -1
- package/dist/src/runtime/resolve-agent.js +1 -1
- package/dist/src/runtime/subagents/dynamic-agent-config.d.ts +0 -2
- package/dist/src/runtime/subagents/dynamic-agent-config.js +1 -1
- package/dist/src/runtime/subagents/dynamic-remote-agent-config.d.ts +0 -2
- package/dist/src/runtime/subagents/dynamic-remote-agent-config.js +1 -1
- package/dist/src/runtime/types.d.ts +1 -2
- package/dist/src/services/dev-client/vercel-auth-error.d.ts +1 -1
- package/dist/src/setup/scaffold/create/project.js +1 -1
- package/dist/src/setup/verified-remote-agent.d.ts +1 -0
- package/dist/src/setup/verified-remote-agent.js +1 -1
- package/dist/src/shared/action-types.d.ts +2 -2
- package/dist/src/shared/agent-definition.d.ts +0 -9
- package/dist/src/shared/agent-turn-outcome.d.ts +1 -1
- package/dist/src/shared/channel-definition.d.ts +2 -2
- package/dist/src/shared/conversation-context.d.ts +0 -4
- package/dist/src/shared/conversation-context.js +1 -1
- package/dist/src/shared/validate-authorization.js +1 -1
- package/dist/src/shared/vercel-connect-metadata.d.ts +12 -0
- package/dist/src/shared/vercel-connect-metadata.js +1 -0
- package/dist/src/subagents/agent-handle-errors.d.ts +0 -4
- package/dist/src/subagents/agent-handle-errors.js +1 -1
- package/dist/src/subagents/callback-route.js +1 -1
- package/dist/src/subagents/callback-step.d.ts +0 -22
- package/dist/src/subagents/callback-step.js +1 -1
- package/dist/src/subagents/event-proxy-step.js +1 -1
- package/dist/src/subagents/hitl-proxy.d.ts +3 -5
- package/dist/src/subagents/hitl-proxy.js +1 -1
- package/dist/src/subagents/invocation.d.ts +5 -6
- package/dist/src/subagents/parent-notification.d.ts +1 -18
- package/dist/src/subagents/parent-notification.js +1 -1
- package/dist/src/subagents/remote-dispatch.js +1 -1
- package/dist/src/subagents/tool.d.ts +0 -3
- package/dist/src/subagents/tool.js +1 -1
- package/dist/src/svelte/index.js +1 -1
- package/dist/src/svelte/use-eve-agent.js +1 -1
- package/dist/src/tools/framework/agent-contract.d.ts +0 -2
- package/dist/src/tools/framework/agent-contract.js +1 -1
- package/dist/src/tracing/agent-action-instrumentation.js +1 -1
- package/dist/src/tracing/agent-approval-instrumentation.js +1 -1
- package/dist/src/tracing/agent-memory-instrumentation.js +1 -1
- package/dist/src/tracing/agent-otel-provider.js +2 -2
- package/dist/src/tracing/agent-otel-session-context.js +1 -1
- package/dist/src/tracing/agent-tool-instrumentation.js +1 -1
- package/dist/src/tracing/agent-tool-span-context.d.ts +15 -0
- package/dist/src/tracing/agent-tool-span-context.js +1 -0
- package/dist/src/tracing/otel-declaration.d.ts +4 -9
- package/dist/src/vue/index.js +1 -1
- package/dist/src/vue/use-eve-agent.js +1 -1
- package/docs/agent-config.md +12 -13
- package/docs/channels/chat-sdk.mdx +1 -1
- package/docs/channels/custom.mdx +1 -1
- package/docs/channels/eve.mdx +4 -4
- package/docs/channels/mcp.mdx +10 -10
- package/docs/channels/slack.mdx +1 -1
- package/docs/concepts/sessions-runs-and-streaming.md +5 -6
- package/docs/connections/overview.mdx +22 -0
- package/docs/guides/deployment/overview.md +1 -1
- package/docs/guides/deployment/self-hosting.md +1 -1
- package/docs/guides/deployment/vercel.mdx +2 -2
- package/docs/guides/dev-tui.md +6 -6
- package/docs/guides/dynamic-capabilities.md +2 -2
- package/docs/guides/frontend/overview.mdx +5 -3
- package/docs/guides/hooks.md +4 -2
- package/docs/guides/instrumentation/agent-runs.mdx +7 -7
- package/docs/guides/instrumentation/instrumentation.mdx +22 -5
- package/docs/guides/instrumentation/otel.mdx +30 -0
- package/docs/guides/remote-agents.md +3 -4
- package/docs/guides/self-modification.md +1 -1
- package/docs/memory/custom-provider.md +1 -1
- package/docs/protocols/acp.md +1 -1
- package/docs/reference/cli.md +91 -97
- package/docs/schedules.mdx +4 -5
- package/docs/subagents/index.mdx +5 -7
- package/docs/tools/human-in-the-loop.md +4 -0
- package/docs/tools/overview.mdx +2 -0
- package/docs/tools/workflows.mdx +1 -1
- package/docs/tutorial/remember-definitions.mdx +1 -1
- package/docs/tutorial/ship-it.mdx +1 -1
- package/package.json +3 -2
- package/dist/src/cli/commands/channels.d.ts +0 -9
- package/dist/src/cli/commands/channels.js +0 -1
- package/dist/src/execution/effective-output-schema.d.ts +0 -22
- package/dist/src/execution/effective-output-schema.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_3fe44d656b2dcd93a04011e80966afff/node_modules/@vercel/connect/dist/connector.js +0 -1
- package/dist/src/shared/run-mode.d.ts +0 -7
- package/dist/src/shared/run-mode.js +0 -1
- package/dist/src/subagents/parent-result.d.ts +0 -14
- package/dist/src/subagents/parent-result.js +0 -1
- /package/dist/src/node_modules/.pnpm/{@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_3fe44d656b2dcd93a04011e80966afff → @vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494}/node_modules/@vercel/connect/dist/index.js +0 -0
- /package/dist/src/node_modules/.pnpm/{@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_3fe44d656b2dcd93a04011e80966afff → @vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494}/node_modules/@vercel/connect/dist/internal/base-url.js +0 -0
- /package/dist/src/node_modules/.pnpm/{@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_3fe44d656b2dcd93a04011e80966afff → @vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494}/node_modules/@vercel/connect/dist/internal/default-scopes.js +0 -0
- /package/dist/src/node_modules/.pnpm/{@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_3fe44d656b2dcd93a04011e80966afff → @vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494}/node_modules/@vercel/connect/dist/internal/env.js +0 -0
- /package/dist/src/node_modules/.pnpm/{@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_3fe44d656b2dcd93a04011e80966afff → @vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494}/node_modules/@vercel/connect/dist/internal/url-validation.js +0 -0
- /package/dist/src/node_modules/.pnpm/{@vercel_oidc@3.8.8 → @vercel_oidc@3.8.9}/node_modules/@vercel/oidc/dist/auth-errors.js +0 -0
- /package/dist/src/node_modules/.pnpm/{@vercel_oidc@3.8.8 → @vercel_oidc@3.8.9}/node_modules/@vercel/oidc/dist/exchange-vercel-oidc-token.js +0 -0
- /package/dist/src/node_modules/.pnpm/{@vercel_oidc@3.8.8 → @vercel_oidc@3.8.9}/node_modules/@vercel/oidc/dist/get-context.js +0 -0
- /package/dist/src/node_modules/.pnpm/{@vercel_oidc@3.8.8 → @vercel_oidc@3.8.9}/node_modules/@vercel/oidc/dist/get-vercel-oidc-token-sync.js +0 -0
- /package/dist/src/node_modules/.pnpm/{@vercel_oidc@3.8.8 → @vercel_oidc@3.8.9}/node_modules/@vercel/oidc/dist/get-vercel-oidc-token-with-refresh.js +0 -0
- /package/dist/src/node_modules/.pnpm/{@vercel_oidc@3.8.8 → @vercel_oidc@3.8.9}/node_modules/@vercel/oidc/dist/index.js +0 -0
- /package/dist/src/node_modules/.pnpm/{@vercel_oidc@3.8.8 → @vercel_oidc@3.8.9}/node_modules/@vercel/oidc/dist/oauth.js +0 -0
- /package/dist/src/node_modules/.pnpm/{@vercel_oidc@3.8.8 → @vercel_oidc@3.8.9}/node_modules/@vercel/oidc/dist/token-error.js +0 -0
- /package/dist/src/node_modules/.pnpm/{@vercel_oidc@3.8.8 → @vercel_oidc@3.8.9}/node_modules/@vercel/oidc/dist/token-io.js +0 -0
- /package/dist/src/node_modules/.pnpm/{@vercel_oidc@3.8.8 → @vercel_oidc@3.8.9}/node_modules/@vercel/oidc/dist/verify-vercel-oidc-token.js +0 -0
|
@@ -51,6 +51,11 @@ export default defineInstrumentation({
|
|
|
51
51
|
`ctx.state` is JSON storage scoped to this file and operation. It survives
|
|
52
52
|
durable suspension and is released after the terminal event.
|
|
53
53
|
|
|
54
|
+
Use `setup` for asynchronous initialization. In `eve dev` and built servers,
|
|
55
|
+
eve awaits every provider's setup before loading the server entry. A setup
|
|
56
|
+
failure stops startup. Modules imported by an instrumentation file load before
|
|
57
|
+
setup, so keep dependencies that need initialization out of those imports.
|
|
58
|
+
|
|
54
59
|
## Control inputs and outputs
|
|
55
60
|
|
|
56
61
|
Each lifecycle file created with `defineInstrumentation(...)` has an
|
|
@@ -78,8 +83,8 @@ export default defineInstrumentation({
|
|
|
78
83
|
});
|
|
79
84
|
```
|
|
80
85
|
|
|
81
|
-
The function receives `agentName`, `channel`, `audience`, `
|
|
82
|
-
`
|
|
86
|
+
The function receives `agentName`, `channel`, `audience`, `environment`, and
|
|
87
|
+
`principalType`. `audience` is `"public"`, `"private"`, or
|
|
83
88
|
`"unknown"`; `environment` is `"development"`, `"preview"`, or
|
|
84
89
|
`"production"`.
|
|
85
90
|
|
|
@@ -146,9 +151,21 @@ Prefer `recordInputs: false` or `recordOutputs: false` when the destination does
|
|
|
146
151
|
|
|
147
152
|
## Lifecycle events
|
|
148
153
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
154
|
+
`defineInstrumentation({ events })` supports the following event names. A
|
|
155
|
+
start and its terminal event share an `idempotencyKey`; use it as a stable
|
|
156
|
+
operation key when upserting records across replays.
|
|
157
|
+
|
|
158
|
+
| Lifecycle | Events | Meaning |
|
|
159
|
+
| ---------------- | ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
160
|
+
| Session | `session.started`, `session.waiting`, `session.completed`, `session.failed` | Track a session from creation through suspension or termination. `session.waiting` is resumable; `session.completed` and `session.failed` are terminal. |
|
|
161
|
+
| Turn | `turn.started`, `turn.completed`, `turn.cancelled`, `turn.failed` | Track one turn. Cancellation is not a failure and commonly leaves the session waiting for another turn. |
|
|
162
|
+
| Channel delivery | `channel.delivery.started`, `channel.delivery.completed`, `channel.delivery.cancelled`, `channel.delivery.failed` | Track an inbound channel delivery while eve processes its turn. These events are emitted when the channel provides delivery metadata. |
|
|
163
|
+
| Step attempt | `step.attempt.started`, `step.attempt.completed`, `step.attempt.failed`, `step.attempt.metadata` | Track each model-step attempt; retries have separate attempts. `step.attempt.metadata` is emitted after a step only when the AI SDK supplies provider metadata. |
|
|
164
|
+
| Model call | `model.call.started`, `model.call.completed`, `model.call.failed` | Track an individual call to the model provider. Completion includes usage and finish reason; content fields follow the trace policy. |
|
|
165
|
+
| Action | `action.started`, `action.completed`, `action.failed` | Track eve's durable dispatch of a tool, skill load, local subagent, or remote agent. A failed event's `outcome` distinguishes failure, rejection, cancellation, and abandonment. |
|
|
166
|
+
| Tool call | `tool.call.started`, `tool.call.completed`, `tool.call.failed` | Track the AI SDK's in-process tool execution boundary, including its input and result when allowed by the trace policy. |
|
|
167
|
+
| User input | `input.requested`, `input.resolved` | Track a question, tool approval, or session-limit request and its resolution. The resolution includes an outcome such as `answered`, `approved`, `denied`, or `cancelled`. |
|
|
168
|
+
| Memory operation | `memory.operation.started`, `memory.operation.completed`, `memory.operation.failed` | Track a memory-store search or write. Events include the operation name, phase, and memory slot; completion may include a record count and records. |
|
|
152
169
|
|
|
153
170
|
An ordinary tool emits both `action.*` and `tool.call.*` events. Use `action.*` for eve's durable dispatch lifecycle, including tools, skills, subagents, and remote agents. Use `tool.call.*` only when you need the AI SDK's in-process tool execution boundary.
|
|
154
171
|
|
|
@@ -38,6 +38,36 @@ does not affect lifecycle instrumentation created with `defineInstrumentation()`
|
|
|
38
38
|
See [Audience](../channels/overview#audience) for how channels classify the
|
|
39
39
|
conversation passed to this policy.
|
|
40
40
|
|
|
41
|
+
## Instrument Node.js dependencies
|
|
42
|
+
|
|
43
|
+
Pass OpenTelemetry instrumentation instances to `otel({ instrumentations })`.
|
|
44
|
+
For example, install the PostgreSQL instrumentation alongside `pg`:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
pnpm add pg @opentelemetry/instrumentation-pg
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
```ts title="agent/instrumentation/otel.ts"
|
|
51
|
+
import { PgInstrumentation } from "@opentelemetry/instrumentation-pg";
|
|
52
|
+
import { otel } from "eve/instrumentation/otel";
|
|
53
|
+
|
|
54
|
+
export default otel({
|
|
55
|
+
instrumentations: [new PgInstrumentation()],
|
|
56
|
+
});
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Keep the instrumented package external so Node.js module hooks can intercept
|
|
60
|
+
it. Add `pg` to your agent's [build configuration](/docs/agent-config#other-defineagent-fields):
|
|
61
|
+
|
|
62
|
+
```ts title="agent/agent.ts"
|
|
63
|
+
import { defineAgent } from "eve";
|
|
64
|
+
|
|
65
|
+
export default defineAgent({
|
|
66
|
+
model: "openai/gpt-5.4-mini",
|
|
67
|
+
build: { externalDependencies: ["pg"] },
|
|
68
|
+
});
|
|
69
|
+
```
|
|
70
|
+
|
|
41
71
|
## Add an OpenTelemetry destination
|
|
42
72
|
|
|
43
73
|
Use this section when sending traces to a third-party destination. Install
|
|
@@ -28,7 +28,6 @@ export default defineRemoteAgent({
|
|
|
28
28
|
| `forwardPrincipal` | `boolean` | No | `false` | Forward the dispatching turn's session principal to the remote deployment (see [Forwarding the caller identity](#forwarding-the-caller-identity)). |
|
|
29
29
|
| `headers` | `HeadersValue` | No | none | Static or lazily resolved request headers. |
|
|
30
30
|
| `path` | `string` | No | `/eve/v1/session` | Route appended to `url` for the create-session request. |
|
|
31
|
-
| `outputSchema` | `StandardSchema \| JSON Schema` | No | none | Structured return type for the first turn of each fresh remote session. A continuation may provide its own per-call schema. |
|
|
32
31
|
| `tool` | `boolean` | No | `true` | Expose the remote agent as a tool to the parent model. Set `false` to allow only `ctx.agent()` calls from authored workflow tools. |
|
|
33
32
|
|
|
34
33
|
## Dynamic remote agents
|
|
@@ -81,9 +80,9 @@ The function may be async and must return a non-empty string. `auth` and `header
|
|
|
81
80
|
|
|
82
81
|
## Calling a remote agent
|
|
83
82
|
|
|
84
|
-
By default, a remote agent is another subagent tool to the model. The model calls it the same way it calls a local subagent, with a `message` and an optional `
|
|
83
|
+
By default, a remote agent is another subagent tool to the model. The model calls it the same way it calls a local subagent, with a `message` and an optional `agentId`. Set `tool: false` when an authored workflow tool should be the only model-facing routing surface; the workflow can still call the remote agent by its path-derived name through `ctx.agent()`. The message must carry the full task, including any context the remote agent needs, because it never receives the parent's conversation history.
|
|
85
84
|
|
|
86
|
-
To require structured output,
|
|
85
|
+
To require structured output, call the remote agent from an authored workflow tool with `ctx.agent(name, { message, outputSchema })`. The schema applies to that turn, the structured value is the call's result, and the remote child remains available for follow-up messages. See [Subagents](../subagents) for continuation behavior.
|
|
87
86
|
|
|
88
87
|
## Outbound auth
|
|
89
88
|
|
|
@@ -200,7 +199,7 @@ You can also steer a running remote background child by calling its subagent too
|
|
|
200
199
|
|
|
201
200
|
When the parent session ends, eve sends an authenticated `POST /eve/v1/session/:childSessionId/reset` for each remote child. Reset retires the parked remote session and recursively cleans up its descendants. The request uses freshly resolved `headers` and `auth`; failures are logged so an unreachable remote cannot block parent finalization.
|
|
202
201
|
|
|
203
|
-
A failed _start_ rejects admission before a task receipt is returned. After a remote starts, a terminal failure callback fails the task and notifies the parent with the remote's error
|
|
202
|
+
A failed _start_ rejects admission before a task receipt is returned. After a remote starts, a terminal failure callback fails the task and notifies the parent with the remote's error. Terminal callback delivery runs as a durable step on the underlying workflow engine (see [Execution model & durability](../concepts/execution-model-and-durability)). A failed callback POST is rethrown rather than marking the task complete, so the engine retries it.
|
|
204
203
|
|
|
205
204
|
## What to read next
|
|
206
205
|
|
|
@@ -3,7 +3,7 @@ title: "Self-Modification"
|
|
|
3
3
|
description: "Ask your agent to update its own instructions, tools, skills, and other authored files during local development."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
When `eve dev` starts a local server, it mounts the bundled self-modification extension by default. Ask your agent to change its instructions, tools, skills, or other files under `agent/`; eve delegates the source work to the `self-modification__agent` subagent. Connecting to an existing server with `eve
|
|
6
|
+
When `eve dev` starts a local server, it mounts the bundled self-modification extension by default. Ask your agent to change its instructions, tools, skills, or other files under `agent/`; eve delegates the source work to the `self-modification__agent` subagent. Connecting to an existing server with `eve remote connect --url <url>` does not add the bundled extension to that server.
|
|
7
7
|
|
|
8
8
|
The bundled extension is for local development and is not included in production builds.
|
|
9
9
|
|
|
@@ -95,7 +95,7 @@ Every handler receives a `MemoryOperationContext`:
|
|
|
95
95
|
| `memory.scope.value` | The resolved scope string or tuple |
|
|
96
96
|
| `memory.slot` | The path-derived slot name |
|
|
97
97
|
| `messages` | Projected conversation history for this phase |
|
|
98
|
-
| `operationId` | Stable per session,
|
|
98
|
+
| `operationId` | Stable per session, turn, step, phase, and slot. Use it as an idempotency key. |
|
|
99
99
|
| `abortSignal` | Cancellation for the operation |
|
|
100
100
|
| `session` | Session ID, authentication, and other `SessionContext` fields |
|
|
101
101
|
|
package/docs/protocols/acp.md
CHANGED
|
@@ -12,7 +12,7 @@ eve acp
|
|
|
12
12
|
Without a URL, the client starts one process from the eve application root. It supervises a local development server, and closing the ACP connection stops that owned server. To bridge ACP to a deployed eve agent, pass its URL:
|
|
13
13
|
|
|
14
14
|
```sh
|
|
15
|
-
eve acp https://agent.example.com
|
|
15
|
+
eve acp --url https://agent.example.com
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
For a recognized Vercel deployment, eve verifies the exact origin and resolves a short-lived project-scoped OIDC token from the local Vercel session. Remote access requires an existing authorized Vercel session; account login runs during local deployment. Configure required Trusted Sources access in the target project before launching ACP. `VERCEL_AUTOMATION_BYPASS_SECRET` remains available for deployments configured with a Protection Bypass for Automation token.
|
package/docs/reference/cli.md
CHANGED
|
@@ -1,37 +1,30 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "CLI"
|
|
3
|
-
description: "Reference for every eve CLI command
|
|
3
|
+
description: "Reference for every eve CLI command."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
Relevant `eve` commands can run from the application root or any directory beneath it. Running `eve` with no command runs `eve init` when the current directory is not an eve project, or `eve dev` when it is.
|
|
7
7
|
|
|
8
8
|
## Commands
|
|
9
9
|
|
|
10
|
-
| Command
|
|
11
|
-
|
|
|
12
|
-
| `eve`
|
|
13
|
-
| `eve
|
|
14
|
-
| `eve
|
|
15
|
-
| `eve
|
|
16
|
-
| `eve
|
|
17
|
-
| `eve
|
|
18
|
-
| `eve
|
|
19
|
-
| `eve
|
|
20
|
-
| `eve
|
|
21
|
-
| `eve logs
|
|
22
|
-
| `eve traces
|
|
23
|
-
| `eve
|
|
24
|
-
| `eve
|
|
25
|
-
| `eve
|
|
26
|
-
| `eve
|
|
27
|
-
| `eve
|
|
28
|
-
| `eve channels list` | List user-authored channels |
|
|
29
|
-
| `eve extension init [target]` | Create a new extension package |
|
|
30
|
-
| `eve extension build` | Build the current package as an extension |
|
|
31
|
-
| `eve set` | Change the root agent's model and reasoning effort |
|
|
32
|
-
| `eve add <item>` | Install an item from the official or a configured shadcn registry |
|
|
33
|
-
| `eve integration setup <kind>` | Run a built-in setup flow directly after its registry files are installed |
|
|
34
|
-
| `eve registry <command>` | Add sources and list, search, or view registry catalog items |
|
|
10
|
+
| Command | Description |
|
|
11
|
+
| ---------------------------------------------- | ------------------------------------------------------ |
|
|
12
|
+
| `eve init [target]` | Create a new agent, or add one to an existing project |
|
|
13
|
+
| `eve dev` | Start the local development server and terminal UI |
|
|
14
|
+
| `eve remote connect --url <url>` | Open the terminal UI for an existing agent |
|
|
15
|
+
| `eve remote invoke --url <url> [prompt]` | Invoke an existing agent without a terminal UI |
|
|
16
|
+
| `eve remote info --url <url>` | Inspect an existing agent |
|
|
17
|
+
| `eve acp [url]` | Serve a local or existing agent through ACP over stdio |
|
|
18
|
+
| `eve info` | Inspect the local application |
|
|
19
|
+
| `eve set model [model] [--reasoning <effort>]` | Change model and reasoning settings |
|
|
20
|
+
| `eve build` / `eve start` | Build or serve the application |
|
|
21
|
+
| `eve logs show [logid]` / `eve logs list` | Inspect local diagnostic logs |
|
|
22
|
+
| `eve traces show [trace]` / `eve traces list` | Inspect local traces |
|
|
23
|
+
| `eve link` / `eve deploy` | Link or deploy a Vercel project |
|
|
24
|
+
| `eve eval` | Run evals against a local or remote target |
|
|
25
|
+
| `eve add [item]` / `eve registry <command>` | Install and browse registry items |
|
|
26
|
+
| `eve extension <command>` | Create and build extension packages |
|
|
27
|
+
| `eve telemetry <command>` | Manage CLI telemetry collection |
|
|
35
28
|
|
|
36
29
|
When `eve build` fails on discovery errors, it prints the full diagnostics report (severity, message, source path) and the diagnostics artifact path.
|
|
37
30
|
|
|
@@ -101,19 +94,19 @@ Builds the complete agent-shaped extension tree into its configured dist root, e
|
|
|
101
94
|
Change the root agent's AI Gateway model and reasoning effort without opening the dev TUI:
|
|
102
95
|
|
|
103
96
|
```bash
|
|
104
|
-
eve set
|
|
105
|
-
|
|
106
|
-
--reasoning high
|
|
97
|
+
eve set model openai/gpt-6-sol --reasoning high
|
|
98
|
+
eve set model --reasoning medium
|
|
107
99
|
```
|
|
108
100
|
|
|
109
|
-
|
|
110
|
-
|
|
101
|
+
Use `eve set model` to change the model, its reasoning effort, or both. Omit
|
|
102
|
+
the optional model argument to keep the current model. When you set both, eve
|
|
103
|
+
writes them to `agent/agent.ts` in one source edit. `--reasoning` accepts
|
|
111
104
|
`provider-default`, `none`, `minimal`, `low`, `medium`, `high`, or `xhigh`;
|
|
112
105
|
`provider-default` removes the authored `reasoning` field.
|
|
113
106
|
|
|
114
107
|
The command uses the same model ID validation and source editor as `/model` in
|
|
115
|
-
the local dev TUI. It does not configure model credentials. The
|
|
116
|
-
cannot rewrite models defined with `defineDynamic`, an environment expression,
|
|
108
|
+
the local dev TUI. It does not configure model credentials. The `model`
|
|
109
|
+
argument cannot rewrite models defined with `defineDynamic`, an environment expression,
|
|
117
110
|
or a provider-authored SDK model; change those models in `agent.ts`.
|
|
118
111
|
`--reasoning` can still update an editable root config when its model comes from
|
|
119
112
|
an SDK call.
|
|
@@ -211,88 +204,99 @@ For self-hosted deployments, copy the app source, `.output/`, and installed depe
|
|
|
211
204
|
|
|
212
205
|
```bash
|
|
213
206
|
eve dev [options]
|
|
214
|
-
eve dev https://your-app.vercel.app
|
|
215
207
|
```
|
|
216
208
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
| Flag | Type | Default | Description
|
|
220
|
-
| ----------------------------------- | ------ | ------------------ |
|
|
221
|
-
| `--host <host>` | string | all interfaces | Host interface to bind
|
|
222
|
-
| `--port <port>` | number | `$PORT`, then 2000 | Port to listen on
|
|
223
|
-
|
|
|
224
|
-
|
|
|
225
|
-
| `--
|
|
226
|
-
| `--
|
|
227
|
-
| `--
|
|
228
|
-
| `--
|
|
229
|
-
| `--
|
|
230
|
-
| `--
|
|
231
|
-
| `--
|
|
232
|
-
| `--
|
|
233
|
-
| `--
|
|
234
|
-
| `--context-size <tokens>` | number | none | Model context window size, shown as a usage percentage |
|
|
235
|
-
| `--logs <mode>` | enum | `stderr` | Server/agent logs to show: `all` \| `stderr` \| `sandbox` \| `none` |
|
|
209
|
+
Starts a local development server and terminal UI. To connect the UI to an existing agent, use `eve remote connect --url <url>`.
|
|
210
|
+
|
|
211
|
+
| Flag | Type | Default | Description |
|
|
212
|
+
| ----------------------------------- | ------ | ------------------ | ------------------------------------------- |
|
|
213
|
+
| `--host <host>` | string | all interfaces | Host interface to bind |
|
|
214
|
+
| `--port <port>` | number | `$PORT`, then 2000 | Port to listen on |
|
|
215
|
+
| `--no-ui` | flag | UI on | Start the server without an interactive UI |
|
|
216
|
+
| `--no-default-extensions` | flag | extensions on | Do not mount bundled development extensions |
|
|
217
|
+
| `--name <name>` | string | app folder name | Title shown in the terminal UI |
|
|
218
|
+
| `--input <text>` | string | none | Pre-fill the prompt input |
|
|
219
|
+
| `--tools <mode>` | enum | `auto-collapsed` | Tool-call rendering |
|
|
220
|
+
| `--reasoning <mode>` | enum | `full` | Reasoning rendering |
|
|
221
|
+
| `--subagents <mode>` | enum | `auto-collapsed` | Subagent-section rendering |
|
|
222
|
+
| `--connection-auth <mode>` | enum | `full` | Connection-authorization rendering |
|
|
223
|
+
| `--assistant-response-stats <mode>` | enum | `tokensPerSecond` | Assistant header statistic |
|
|
224
|
+
| `--context-size <tokens>` | number | none | Model context window size |
|
|
225
|
+
| `--logs <mode>` | enum | `stderr` | Server and agent logs to show |
|
|
236
226
|
|
|
237
227
|
Local development mounts bundled development extensions without adding files to your project. Pass `--no-default-extensions` to disable them. See [Self-Modification](../guides/self-modification) for details.
|
|
238
228
|
|
|
239
|
-
`eve acp` reserves stdin and stdout for newline-delimited JSON-RPC and sends diagnostics to stderr. Without a URL, it supervises an isolated local development server. With a URL, it bridges ACP to that server's existing eve HTTP API and accepts the same URL credentials and request headers as `eve dev <url>`. Pass `--scope <team>` when the active Vercel scope does not own the deployment; `EVE_VERCEL_SCOPE` provides the same value for managed harnesses. See [Agent Client Protocol (ACP)](../protocols/acp) for client configuration and capability limits.
|
|
240
|
-
|
|
241
229
|
A fresh `eve init` opens the TUI and reuses an available model connection or opens `/login`. No Vercel project, channels, integrations, or review step is required before chat. Use `/model` to change models and settings, and `/add` to install an addition. Other `--input` text stays editable in the prompt. See [Terminal UI](../guides/dev-tui) for credential precedence and login options.
|
|
242
230
|
|
|
243
|
-
|
|
231
|
+
Local dev records the last ready URL per resolved app root in `.eve/dev-server-state.v1.json`. A second interactive `eve dev` reconnects only when that URL is loopback and healthy; each terminal UI creates a fresh client session while sharing the server process. A stale or malformed record is replaced when eve starts a new server. Passing `--host`, `--port`, or a `PORT` environment value skips reconnection and reports a healthy recorded server instead.
|
|
232
|
+
|
|
233
|
+
Local dev keeps immutable runtime generations under `.eve/dev-runtime/snapshots/` so in-flight turns hold a consistent code revision while new turns pick up rebuilds. Each generation contains the compiled authored module graph and runtime resources rather than a recursive copy of the app or workspace. The terminal REPL keeps its logical session across successful rebuilds, so the next turn continues the conversation on the latest generation; `/new` terminally retires that session before clearing the transcript, and the next prompt starts a fresh session with a new session-scoped sandbox on first sandbox use. After a generation is superseded, `eve dev` retains it for at least 30 minutes and also retains the five most recently superseded generations, regardless of the configured Workflow World. The active generation is never pruned. Old runtime snapshots and local sandbox templates are pruned in the background. For manual cleanup, stop `eve dev` before deleting `.eve/dev-runtime/snapshots/` or `.eve/sandbox-cache/local/templates/`. A turn that remains unfinished beyond the automatic retention window can no longer resume after its generation is pruned.
|
|
234
|
+
|
|
235
|
+
Local development records traces under `.eve/traces/` by default and bounds that store by age, size, and a keep-newest floor. Configure it with `EVE_TRACES*` in `.env.local`, or disable the destination with `agent/instrumentation/local.ts`; see [`eve traces`](#retention) for the rules and defaults.
|
|
236
|
+
|
|
237
|
+
`eve acp` reserves stdin and stdout for newline-delimited JSON-RPC and sends diagnostics to stderr. Without a URL, it supervises an isolated local development server. With a URL, it bridges ACP to that server's existing eve HTTP API. See [Agent Client Protocol (ACP)](../protocols/acp) for client configuration and capability limits.
|
|
238
|
+
|
|
239
|
+
## `eve remote`
|
|
240
|
+
|
|
241
|
+
Use `eve remote` only with an explicit existing agent URL:
|
|
244
242
|
|
|
245
243
|
```bash
|
|
246
|
-
eve
|
|
244
|
+
eve remote connect --url https://agent.example.com
|
|
245
|
+
eve remote invoke --url https://agent.example.com "Summarize station telemetry"
|
|
246
|
+
eve remote info --url https://agent.example.com
|
|
247
247
|
```
|
|
248
248
|
|
|
249
|
-
|
|
249
|
+
`connect` opens the terminal UI. `info` verifies the target and prints its inspection response. Remote commands never start a local application.
|
|
250
|
+
|
|
251
|
+
### `eve remote connect`
|
|
250
252
|
|
|
251
|
-
|
|
253
|
+
```bash
|
|
254
|
+
eve remote connect --url <url> [-H "Name: value"]
|
|
255
|
+
```
|
|
252
256
|
|
|
253
|
-
|
|
254
|
-
| ----------------------- | ------ | ------- | ----------------------------------------------- |
|
|
255
|
-
| `[prompt]` | string | none | Prompt, follow-up, or answer to a pending input |
|
|
256
|
-
| `-u, --url <url>` | string | local | Invoke an existing server |
|
|
257
|
-
| `-H, --header <header>` | string | none | Request header for a URL target; repeatable |
|
|
258
|
-
| `--resume` | flag | off | Read a previous resumable result from stdin |
|
|
259
|
-
| `--scope <team>` | string | current | Vercel team that owns the URL target |
|
|
260
|
-
| `--json-schema` | flag | off | Print the result JSON Schema and exit |
|
|
257
|
+
Use `-H, --header <header>` for a bearer token or another custom request header; repeat it for multiple headers. For HTTP Basic authentication, put credentials in the URL. eve sends them as a Basic `Authorization` header and removes them from the target URL.
|
|
261
258
|
|
|
262
|
-
|
|
259
|
+
### `eve remote invoke`
|
|
263
260
|
|
|
264
261
|
```bash
|
|
265
|
-
eve invoke "
|
|
266
|
-
result=$(eve invoke "Deploy the application")
|
|
267
|
-
printf '%s' "$result" | eve invoke --resume "approve"
|
|
268
|
-
eve invoke --json-schema
|
|
262
|
+
eve remote invoke --url <url> [prompt] [--resume] [-H "Name: value"] [--scope <team>]
|
|
269
263
|
```
|
|
270
264
|
|
|
271
|
-
|
|
265
|
+
Invokes an existing agent without opening the terminal UI. It emits JSON after the invocation completes or reaches a blocking input or authorization event.
|
|
272
266
|
|
|
273
|
-
|
|
267
|
+
| Option | Type | Default | Description |
|
|
268
|
+
| ----------------------- | ------ | -------- | ----------------------------------------------- |
|
|
269
|
+
| `<url>` | string | required | Existing eve agent URL |
|
|
270
|
+
| `[prompt]` | string | none | Prompt, follow-up, or answer to a pending input |
|
|
271
|
+
| `-H, --header <header>` | string | none | Request header for the URL target; repeatable |
|
|
272
|
+
| `--resume` | flag | off | Read a previous resumable result from stdin |
|
|
273
|
+
| `--scope <team>` | string | current | Vercel team that owns the URL target |
|
|
274
274
|
|
|
275
|
-
|
|
275
|
+
`--resume` reads a complete previous result from stdin. Supply text for a `ready` follow-up or pending input. An `authorization-required` result lists every unresolved challenge; complete them, then resume without text. Pass headers and scope again when resuming. Paused invocations exit `3`; failures exit `1`. If a waiting invocation receives `SIGINT` or `SIGTERM` after acceptance, it emits a final resumable `running` result before exiting.
|
|
276
276
|
|
|
277
|
-
|
|
277
|
+
### `eve remote info`
|
|
278
278
|
|
|
279
|
-
|
|
279
|
+
```bash
|
|
280
|
+
eve remote info --url <url> [-H "Name: value"] [--json]
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
Verifies the existing agent and prints its inspection response. Use `-H, --header <header>` for protected targets; repeat it for multiple headers.
|
|
280
284
|
|
|
281
285
|
## `eve logs`
|
|
282
286
|
|
|
283
287
|
```bash
|
|
284
288
|
eve logs # print the most recent diagnostic log
|
|
285
|
-
eve logs
|
|
286
|
-
eve logs <logid>
|
|
289
|
+
eve logs list # list logs, most recent first
|
|
290
|
+
eve logs show <logid> # print a specific log
|
|
287
291
|
eve logs --dump # prepend the log's environment dump
|
|
288
292
|
eve logs --events # interleave session events from the local workflow store
|
|
289
293
|
```
|
|
290
294
|
|
|
291
295
|
Each interactive `eve dev` process writes a private diagnostic log under `.eve/logs/` capturing stderr, stdout (including sandbox and rebuild lines), tool failures, workflow errors, and eve framework log records — regardless of what the transcript shows. The file is JSON Lines — every line is one JSON record with `at` and `source` fields. `eve logs` reads those files back.
|
|
292
296
|
|
|
293
|
-
A log id is the file name without `.log` (for example `dev-2026-07-15T12-00-00.000Z-123`). `eve logs <logid>` also accepts the file name, the `.eve/logs/...` path printed in the dev transcript, or any unambiguous prefix of the id with or without the `dev-` lead — so `eve logs 2026-07-15` works when a single log matches. An ambiguous prefix fails and lists the candidates.
|
|
297
|
+
A log id is the file name without `.log` (for example `dev-2026-07-15T12-00-00.000Z-123`). `eve logs show <logid>` also accepts the file name, the `.eve/logs/...` path printed in the dev transcript, or any unambiguous prefix of the id with or without the `dev-` lead — so `eve logs 2026-07-15` works when a single log matches. An ambiguous prefix fails and lists the candidates.
|
|
294
298
|
|
|
295
|
-
`eve logs` prints nothing but records — no path banner on either stream — so `eve logs 2>&1 | jq -c .` always parses. Discover ids and file paths with `eve logs
|
|
299
|
+
`eve logs` prints nothing but records — no path banner on either stream — so `eve logs 2>&1 | jq -c .` always parses. Discover ids and file paths with `eve logs list`; `eve logs list --json` emits a machine-readable array with `id`, `path`, `startedAt`, and `sizeBytes`.
|
|
296
300
|
|
|
297
301
|
`eve logs --events` resolves session events (`session.started`, `turn.failed`, message deltas, …) from the local workflow store (`.eve/.workflow-data`) at query time and interleaves them into the output by timestamp as `source: "event"` records — the log file itself never stores them, so nothing is duplicated at capture time. Selection is by the log's time window (its start through the next log's start), so events from concurrently running `eve dev` processes may appear.
|
|
298
302
|
|
|
@@ -301,10 +305,10 @@ Each log has a same-named `.dump` sibling holding environment diagnostics and se
|
|
|
301
305
|
## `eve traces`
|
|
302
306
|
|
|
303
307
|
```bash
|
|
304
|
-
eve traces
|
|
305
|
-
eve traces
|
|
306
|
-
eve traces
|
|
307
|
-
eve traces <trace>
|
|
308
|
+
eve traces list # list traces, most recent first
|
|
309
|
+
eve traces list --json # emit machine-readable trace summaries
|
|
310
|
+
eve traces show # show the most recent span tree
|
|
311
|
+
eve traces show <trace> # show one span tree
|
|
308
312
|
eve traces --verbose # expand every span with all attributes and events
|
|
309
313
|
eve traces --json # dump the full trace as JSON
|
|
310
314
|
```
|
|
@@ -317,6 +321,8 @@ Every subagent activation starts its own trace. The first child's `invoke_agent`
|
|
|
317
321
|
|
|
318
322
|
Each `agent()` call inside an authored workflow has its own `agent.action` caller span, including sequential, parallel, and background calls. A workflow tool that coordinates one of those calls has an enclosing `invoke_workflow <tool>` span; a workflow tool without agent calls remains `agent.action`. The tool also keeps its `execute_tool <tool>` span. Only agent execution uses `invoke_agent`.
|
|
319
323
|
|
|
324
|
+
Outbound MCP `tools/call` requests add MCP semantic attributes to the matching `execute_tool` span. When eve has no tool span to enrich, it creates a `CLIENT` `tools/call <tool>` span. Each `tools/list` discovery also has a `CLIENT` span. Configured OpenTelemetry propagation fields are injected into MCP `params._meta` for JSON-RPC bodies up to 1 MiB and propagation metadata up to 8 KiB; larger requests are sent unchanged. eve removes its audience and session-lineage baggage before forwarding, and keeps the input/output content-capture policy local.
|
|
325
|
+
|
|
320
326
|
A durable conversation produces one bounded trace per turn. Worker replacements reuse the prepared context for the same turn, while a later turn or an independently replayed attempt starts a fresh trace. Passing the conversation ID shows every trace it produced, oldest first.
|
|
321
327
|
|
|
322
328
|
Every span carries a real duration. A turn's root `invoke_agent` span is written when the turn settles, so a running turn shows only its steps.
|
|
@@ -383,18 +389,6 @@ Runs all discovered evals when no eval ids are given; ids match exactly or by di
|
|
|
383
389
|
|
|
384
390
|
See [Evals](../evals/overview) for authoring evals.
|
|
385
391
|
|
|
386
|
-
## `eve channels list`
|
|
387
|
-
|
|
388
|
-
```bash
|
|
389
|
-
eve channels list [--json]
|
|
390
|
-
```
|
|
391
|
-
|
|
392
|
-
Lists the user-authored channels in the current project.
|
|
393
|
-
|
|
394
|
-
| Flag | Type | Default | Description |
|
|
395
|
-
| -------- | ---- | ------- | -------------- |
|
|
396
|
-
| `--json` | flag | off | Output as JSON |
|
|
397
|
-
|
|
398
392
|
## Recommended loop
|
|
399
393
|
|
|
400
394
|
1. Edit files under `agent/`.
|
package/docs/schedules.mdx
CHANGED
|
@@ -14,7 +14,7 @@ Every schedule provides a `cron` and exactly one of `markdown` or `run`:
|
|
|
14
14
|
```ts
|
|
15
15
|
interface ScheduleDefinition {
|
|
16
16
|
cron: string;
|
|
17
|
-
markdown?: string; // fire-and-forget prompt
|
|
17
|
+
markdown?: string; // fire-and-forget prompt
|
|
18
18
|
run?: (args: ScheduleHandlerArgs) => Promise<void> | void; // handler
|
|
19
19
|
}
|
|
20
20
|
|
|
@@ -33,7 +33,7 @@ A TypeScript schedule with `markdown` is compile-only because eve stores the pro
|
|
|
33
33
|
|
|
34
34
|
## Markdown form (fire-and-forget)
|
|
35
35
|
|
|
36
|
-
This is the minimal schedule. eve runs the agent on the prompt and throws away the output, though the agent can still call tools, write to backends, and log along the way.
|
|
36
|
+
This is the minimal schedule. eve runs the agent on the prompt and throws away the output, though the agent can still call tools, write to backends, and log along the way. The session has no channel, so it cannot ask a person for input, and nothing can send it a follow-up message. If the agent calls a tool that needs approval, the session fails instead of waiting for an answer. After its turn settles, the session parks like any other session until its [session timeout](./agent-config#runtime-limits) ends it.
|
|
37
37
|
|
|
38
38
|
```ts title="agent/schedules/heartbeat.ts"
|
|
39
39
|
import { defineSchedule } from "eve/schedules";
|
|
@@ -86,7 +86,7 @@ The agent does not have to deliver a message on every run. When a prompt makes d
|
|
|
86
86
|
|
|
87
87
|
The `auth` option controls which principal the session runs as. A handler may instead supply a user principal when scheduled work needs that user's grants; a session created by that dispatch still retains schedule provenance and conditional delivery behavior.
|
|
88
88
|
|
|
89
|
-
A handler-form session runs on the same durable runtime engine as any other session, so it can park (durably suspend), for instance when the channel handoff is waiting for a Slack reply.
|
|
89
|
+
A handler-form session runs on the same durable runtime engine as any other session, so it can park (durably suspend), for instance when the channel handoff is waiting for a Slack reply. Markdown-form sessions park too, but no channel is attached, so they cannot receive follow-up messages.
|
|
90
90
|
|
|
91
91
|
## Background task results
|
|
92
92
|
|
|
@@ -118,8 +118,7 @@ its policy unless the send supplies an explicit value.
|
|
|
118
118
|
|
|
119
119
|
Under `"auto"`, a model call may finish silently while related work is pending.
|
|
120
120
|
Available results remain in the next reporting context so the parent can combine
|
|
121
|
-
previously withheld outputs later.
|
|
122
|
-
it owns pending background tasks. See
|
|
121
|
+
previously withheld outputs later. See
|
|
123
122
|
[Background task results](./channels/overview#background-task-results).
|
|
124
123
|
|
|
125
124
|
## Session continuity
|
package/docs/subagents/index.mdx
CHANGED
|
@@ -51,9 +51,8 @@ The root session receives `agent` by default. The model calls it to delegate a t
|
|
|
51
51
|
|
|
52
52
|
```ts
|
|
53
53
|
{
|
|
54
|
-
message: string;
|
|
55
|
-
agentId?: string;
|
|
56
|
-
outputSchema?: object; // require structured output for this turn
|
|
54
|
+
message: string; // everything the child needs; it does not see the parent's history
|
|
55
|
+
agentId?: string; // continue or steer an existing child
|
|
57
56
|
}
|
|
58
57
|
```
|
|
59
58
|
|
|
@@ -239,7 +238,7 @@ The root built-in `agent` tool is the exception. Its children reuse the root's s
|
|
|
239
238
|
|
|
240
239
|
## What the parent sees
|
|
241
240
|
|
|
242
|
-
eve lowers every tool-enabled subagent visible to the current agent (the root built-in copy, declared, or [remote](./guides/remote-agents)) into a model-visible tool with the same `{ message, agentId
|
|
241
|
+
eve lowers every tool-enabled subagent visible to the current agent (the root built-in copy, declared, or [remote](./guides/remote-agents)) into a model-visible tool with the same `{ message, agentId? }` shape. The parent packs `message` with everything the child needs, since the child never sees the parent's history. To require structured output from a child, call it from an authored workflow tool with [`ctx.agent(name, { message, outputSchema })`](./tools/workflows); the schema applies to that turn, and the child remains available for follow-up messages afterward.
|
|
243
242
|
|
|
244
243
|
Declared subagents can call nested subagents defined under their own directories. eve does not apply a separate depth limit; nesting ends where the authored directory tree ends. The built-in `agent` follows the stricter root-only rule above, so `limits.maxSubagentDepth` no longer exists.
|
|
245
244
|
|
|
@@ -249,9 +248,8 @@ A directly declared subagent's tool name is the bare path-derived name, with no
|
|
|
249
248
|
|
|
250
249
|
```ts
|
|
251
250
|
{
|
|
252
|
-
message: string;
|
|
253
|
-
agentId?: string;
|
|
254
|
-
outputSchema?: object; // require structured output for this turn
|
|
251
|
+
message: string; // all context the child needs; it never sees the parent's history
|
|
252
|
+
agentId?: string; // continue or steer an existing child
|
|
255
253
|
}
|
|
256
254
|
```
|
|
257
255
|
|
|
@@ -121,6 +121,8 @@ The `response` policy receives:
|
|
|
121
121
|
|
|
122
122
|
Return `{ status: "allowed" }` to accept the approval. Return `{ status: "rejected", reason }` to leave the shared request pending so another eligible responder can approve it.
|
|
123
123
|
|
|
124
|
+
When a response is refused without starting a turn, the session returns to `session.waiting`. The client finishes the submission and keeps the approval prompt answerable. Submitting an answer does not confirm approval: `approval.settled` or `input.resolved` records the server's decision. You can inspect `approval.candidate` events for the response policy's refusal reason.
|
|
125
|
+
|
|
124
126
|
### Skipping approval for schedule-dispatched turns
|
|
125
127
|
|
|
126
128
|
`session.auth.current` identifies the caller of this turn. Markdown schedules use the app principal (`authenticator: "app"`, `principalId: "eve:app"`, `principalType: "runtime"`) automatically. A `run` schedule must pass its `appAuth` to `send(...)` for the child session to use that principal. Match all three fields to skip approval for automated turns while still prompting when a person calls the same tool:
|
|
@@ -197,6 +199,8 @@ Channels turn requests into native UI: the Slack adapter renders approvals as bu
|
|
|
197
199
|
|
|
198
200
|
From your own frontend, scan all messages for pending requests and answer through the same session — see [Building a frontend](/docs/guides/frontend/overview#human-in-the-loop-prompts) for the client-side reducer and `inputResponses` shape.
|
|
199
201
|
|
|
202
|
+
The default message reducer waits for server confirmation before marking any input request answered. Use the store's `submitted` or `streaming` status to show that a response is being processed; submitting a response alone does not resolve an approval, question, or session-limit prompt. The `client.input.responded` event remains a submission notification for custom reducers, not confirmation that the server accepted the answer.
|
|
203
|
+
|
|
200
204
|
## What to read next
|
|
201
205
|
|
|
202
206
|
- [Tools](/docs/tools): define the typed actions an approval gates
|
package/docs/tools/overview.mdx
CHANGED
|
@@ -39,6 +39,8 @@ eve validates the model's input against `inputSchema` before `execute` runs:
|
|
|
39
39
|
- eve treats `format` as an annotation and does not reject input for it.
|
|
40
40
|
- When eve cannot evaluate a JSON Schema locally, for example because of an unknown `type` name or a `$ref` it cannot resolve, the model still receives the schema and eve passes the input to `execute` unvalidated.
|
|
41
41
|
|
|
42
|
+
Optional input fields remain optional for authored tools and connection tools. eve explicitly disables provider strict mode for function tools so providers such as OpenAI Responses do not implicitly require every property. Local input validation still follows the tool's schema.
|
|
43
|
+
|
|
42
44
|
### Hide a tool from delegated agents
|
|
43
45
|
|
|
44
46
|
Set `availableInSubagents: false` when a tool should be callable only in a top-level root session:
|
package/docs/tools/workflows.mdx
CHANGED
|
@@ -441,7 +441,7 @@ import { agentRouter } from "eve/tools/agent-router";
|
|
|
441
441
|
export default agentRouter();
|
|
442
442
|
```
|
|
443
443
|
|
|
444
|
-
Its input is `{ message: string
|
|
444
|
+
Its input is `{ message: string }`. `agentRouter()` ignores entries without a non-empty description. With two or more described targets, it sends the message and effective descriptions to Jev, then invokes the selected name through `ctx.agent()`. It invokes a sole target without evaluation. In a top-level root session, the candidates include the root-copy `agent`; delegated root copies and declared subagent contexts include only their declared targets.
|
|
445
445
|
|
|
446
446
|
When an authored tool accepts a JSON Schema supplied by the model, represent that input with a permissive object such as `z.looseObject({})`. Avoid `z.record(z.string(), z.json())`: its generated JSON Schema uses `propertyNames`, which OpenAI does not support. Validate the supplied value at the point where your tool consumes it.
|
|
447
447
|
|
|
@@ -65,7 +65,7 @@ export default defineTool({
|
|
|
65
65
|
|
|
66
66
|
The sample data has two high-value customers: Acme ($57) and Globex ($99). This definition works with the same fixed dataset whenever you run the tutorial. The second turn is a separate turn in the same session, yet the definition is still there. State checkpoints at step boundaries, so it's the same durability from [Step 2](./how-it-runs), now applied to your own data.
|
|
67
67
|
|
|
68
|
-
State is scoped to a session and isolated per agent, so a subagent starts with fresh state and never sees the parent's. Need to
|
|
68
|
+
State is scoped to a session and isolated per agent, so a subagent starts with fresh state and never sees the parent's. Need to clear the glossary each turn? Call `glossary.update(() => ({ terms: {} }))` in a lifecycle hook. More in [State](../concepts/state).
|
|
69
69
|
|
|
70
70
|
→ Next: [Team playbooks](./team-playbooks)
|
|
71
71
|
|
|
@@ -116,7 +116,7 @@ Open the HTTPS preview URL and enter the configured username and password. Creat
|
|
|
116
116
|
The authenticated web app and eve runtime share the same origin, and the sandbox runs on Vercel Sandbox. You can also smoke-test the deployment through the authenticated CLI:
|
|
117
117
|
|
|
118
118
|
```bash
|
|
119
|
-
npx eve
|
|
119
|
+
npx eve remote connect --url https://your-analytics-app.vercel.app
|
|
120
120
|
```
|
|
121
121
|
|
|
122
122
|
For a production deployment, add the username, password, and model credential to the Production environment too, then run `npx vercel@latest deploy --prod`. Missing Basic credentials keep browser access closed.
|