eve 0.55.0 → 0.57.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 +58 -0
- package/dist/src/channel/adapter-context.d.ts +1 -1
- package/dist/src/channel/adapter.d.ts +2 -2
- package/dist/src/channel/audience.d.ts +3 -3
- package/dist/src/channel/channel-address.js +1 -1
- package/dist/src/channel/conversation-context.d.ts +4 -2
- package/dist/src/channel/conversation-context.js +1 -1
- package/dist/src/channel/session.d.ts +4 -3
- package/dist/src/channel/session.js +1 -1
- package/dist/src/channel/types.d.ts +7 -4
- package/dist/src/chunks/{use-eve-agent-D-KQzzyW.js → use-eve-agent-C2APNCdP.js} +45 -22
- package/dist/src/chunks/{use-eve-agent-CxPlg0KL.js → use-eve-agent-D0YnDLi_.js} +45 -22
- package/dist/src/cli/commands/init.d.ts +2 -6
- package/dist/src/cli/commands/init.js +1 -1
- package/dist/src/cli/commands/registry-metadata.d.ts +0 -18
- package/dist/src/cli/commands/registry-metadata.js +1 -1
- package/dist/src/cli/commands/registry-pnpm-build-policy-flow.js +1 -1
- package/dist/src/cli/commands/registry.js +1 -1
- package/dist/src/cli/commands/trace-detail.js +1 -1
- package/dist/src/cli/dev/environment.js +1 -1
- package/dist/src/cli/dev/run-interactive-ui.js +1 -1
- package/dist/src/cli/dev/tui/agent-header.js +1 -1
- package/dist/src/cli/dev/tui/blocks.d.ts +3 -6
- package/dist/src/cli/dev/tui/blocks.js +3 -3
- package/dist/src/cli/dev/tui/command-typeahead.js +1 -1
- package/dist/src/cli/dev/tui/markdown.d.ts +8 -1
- package/dist/src/cli/dev/tui/markdown.js +7 -7
- package/dist/src/cli/dev/tui/message-queue.d.ts +11 -7
- package/dist/src/cli/dev/tui/message-queue.js +1 -1
- package/dist/src/cli/dev/tui/model-editor.d.ts +1 -1
- package/dist/src/cli/dev/tui/model-editor.js +1 -1
- package/dist/src/cli/dev/tui/prompt-command-handler.d.ts +0 -3
- package/dist/src/cli/dev/tui/prompt-command-handler.js +1 -1
- package/dist/src/cli/dev/tui/prompt-commands.d.ts +1 -1
- package/dist/src/cli/dev/tui/prompt-commands.js +1 -1
- package/dist/src/cli/dev/tui/question-panel.js +1 -1
- package/dist/src/cli/dev/tui/remote-auth-result.js +1 -1
- package/dist/src/cli/dev/tui/remote-auth.js +1 -1
- package/dist/src/cli/dev/tui/remote-startup.d.ts +10 -0
- package/dist/src/cli/dev/tui/remote-startup.js +1 -0
- package/dist/src/cli/dev/tui/runner.d.ts +16 -19
- package/dist/src/cli/dev/tui/runner.js +3 -1
- package/dist/src/cli/dev/tui/setup-commands.d.ts +7 -13
- package/dist/src/cli/dev/tui/setup-commands.js +2 -2
- package/dist/src/cli/dev/tui/setup-issues.d.ts +1 -1
- package/dist/src/cli/dev/tui/setup-issues.js +1 -1
- package/dist/src/cli/dev/tui/setup-panel.d.ts +5 -17
- package/dist/src/cli/dev/tui/setup-panel.js +5 -6
- package/dist/src/cli/dev/tui/status-line.d.ts +1 -8
- package/dist/src/cli/dev/tui/status-line.js +1 -1
- package/dist/src/cli/dev/tui/steering-stream.d.ts +15 -0
- package/dist/src/cli/dev/tui/steering-stream.js +1 -0
- package/dist/src/cli/dev/tui/terminal-renderer.d.ts +8 -3
- package/dist/src/cli/dev/tui/terminal-renderer.js +12 -12
- package/dist/src/cli/dev/tui/test/mock-terminal.d.ts +2 -2
- package/dist/src/cli/dev/tui/test/mock-terminal.js +1 -1
- package/dist/src/cli/dev/tui/theme.d.ts +0 -2
- package/dist/src/cli/dev/tui/theme.js +1 -1
- package/dist/src/cli/dev/tui/tui.d.ts +4 -1
- package/dist/src/cli/dev/tui/vercel-status.d.ts +4 -2
- package/dist/src/cli/dev/tui/vercel-status.js +1 -1
- package/dist/src/cli/run.js +1 -1
- package/dist/src/cli/telemetry/index.d.ts +1 -1
- package/dist/src/cli/telemetry/index.js +1 -1
- package/dist/src/cli/ui/terminal-text.js +1 -1
- package/dist/src/client/agent-info-schema.d.ts +2 -57
- package/dist/src/client/agent-info-schema.js +1 -1
- package/dist/src/client/eve-agent-store-state.d.ts +19 -0
- package/dist/src/client/eve-agent-store.js +1 -1
- package/dist/src/client/ndjson.d.ts +2 -0
- package/dist/src/client/ndjson.js +3 -3
- package/dist/src/client/open-stream.d.ts +1 -0
- package/dist/src/client/open-stream.js +1 -1
- package/dist/src/compiled/.vendor-stamp.json +1 -1
- package/dist/src/compiled/@workflow/core/index.js +2 -2
- package/dist/src/compiled/@workflow/core/private.js +1 -1
- package/dist/src/compiled/@workflow/core/runtime/helpers.js +1 -0
- package/dist/src/compiled/@workflow/core/runtime.js +2 -2
- package/dist/src/compiled/@workflow/core/serialization.js +1 -0
- package/dist/src/compiled/@workflow/core/workflow.js +1 -1
- package/dist/src/compiled/@workflow/world-local/index.js +5 -5
- package/dist/src/compiled/@workflow/world-vercel/index.js +2 -2
- package/dist/src/compiled/_chunks/workflow/attribute-changes-DTFAjP0J.js +6 -0
- package/dist/src/compiled/_chunks/workflow/{dist-PLkAQ-U7.js → dist-C5KCXSdI.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{frames-BvATzM2t.js → frames-DJw9L4rO.js} +3 -3
- package/dist/src/compiled/_chunks/workflow/global-DFW-hO6M.js +1 -0
- package/dist/src/compiled/_chunks/workflow/helpers-ClCA9Lmc.js +1 -0
- package/dist/src/compiled/_chunks/workflow/logger-D6vwIEf9.js +13 -0
- package/dist/src/compiled/_chunks/workflow/resume-hook-_baK8jaT.js +1 -0
- package/dist/src/compiled/_chunks/workflow/run-CRdL17z4.js +1 -0
- package/dist/src/compiled/_chunks/workflow/serialization-CWYPL4Eq.js +3 -0
- package/dist/src/compiled/_chunks/workflow/sleep-BL0kgJnT.js +1 -0
- package/dist/src/compiled/_chunks/workflow/wait-until-DyIt9lEx.js +1 -0
- package/dist/src/compiled/_chunks/workflow/{ws-transport-CVezyWwZ.js → ws-transport-Dl5FG4Sw.js} +1 -1
- package/dist/src/compiler/extension-compatibility.d.ts +27 -8
- package/dist/src/compiler/extension-compatibility.js +1 -1
- package/dist/src/compiler/manifest.d.ts +12 -11
- package/dist/src/compiler/manifest.js +1 -1
- package/dist/src/compiler/normalize-manifest.js +1 -1
- package/dist/src/compiler/normalize-tool.d.ts +0 -3
- package/dist/src/compiler/normalize-tool.js +1 -1
- package/dist/src/compiler/validate-artifact.js +1 -1
- package/dist/src/context/dynamic-skill-lifecycle.js +1 -1
- package/dist/src/context/keys.d.ts +5 -1
- package/dist/src/context/keys.js +1 -1
- package/dist/src/eve-channel/audience.d.ts +2 -2
- package/dist/src/eve-channel/audience.js +1 -1
- package/dist/src/eve-channel/index.js +1 -1
- package/dist/src/eve-channel/request.js +4 -3
- package/dist/src/eve-channel/types.d.ts +5 -5
- package/dist/src/execution/activity-cohort.js +1 -1
- package/dist/src/execution/activity-collector.js +1 -1
- package/dist/src/execution/authorization-callback-match.d.ts +2 -1
- package/dist/src/execution/authorization-callback-match.js +1 -1
- package/dist/src/execution/cancel-descendant-turns-step.js +1 -1
- package/dist/src/execution/cancel-indexed-session-tasks-step.js +1 -1
- package/dist/src/execution/cancelled-model-call-batch.d.ts +1 -1
- package/dist/src/execution/connections/callback-route.d.ts +1 -11
- package/dist/src/execution/connections/callback-route.js +1 -1
- package/dist/src/execution/continuation-conflict-step.d.ts +0 -1
- package/dist/src/execution/continuation-conflict-step.js +1 -1
- package/dist/src/execution/coordination-dispatch-shared.d.ts +1 -1
- package/dist/src/execution/coordination-dispatch-shared.js +1 -1
- package/dist/src/execution/coordination-dispatch-step.d.ts +2 -2
- package/dist/src/execution/coordination-dispatch-step.js +1 -1
- package/dist/src/execution/create-session-step.d.ts +1 -1
- package/dist/src/execution/create-session-step.js +1 -1
- package/dist/src/execution/durable-session-store.d.ts +10 -49
- package/dist/src/execution/durable-session-store.js +1 -1
- package/dist/src/execution/dynamic-workflow/program-step.d.ts +21 -0
- package/dist/src/execution/dynamic-workflow/program-step.js +1 -0
- package/dist/src/execution/dynamic-workflow/schema.d.ts +36 -0
- package/dist/src/execution/dynamic-workflow/schema.js +1 -0
- package/dist/src/execution/dynamic-workflow/security-step.d.ts +3 -0
- package/dist/src/execution/dynamic-workflow/security-step.js +1 -0
- package/dist/src/execution/dynamic-workflow/tool.d.ts +8 -0
- package/dist/src/execution/dynamic-workflow/tool.js +1 -0
- package/dist/src/execution/dynamic-workflow/workflow.d.ts +10 -0
- package/dist/src/execution/dynamic-workflow/workflow.js +1 -0
- package/dist/src/execution/eve-workflow-attributes.d.ts +2 -17
- package/dist/src/execution/eve-workflow-attributes.js +1 -1
- package/dist/src/execution/hook-ownership.d.ts +2 -4
- package/dist/src/execution/hook-ownership.js +1 -1
- package/dist/src/execution/legacy-session/authorization.d.ts +9 -0
- package/dist/src/execution/legacy-session/authorization.js +1 -0
- package/dist/src/execution/legacy-session/completion-step.d.ts +10 -0
- package/dist/src/execution/legacy-session/completion-step.js +1 -0
- package/dist/src/execution/legacy-session/inbox.d.ts +24 -0
- package/dist/src/execution/legacy-session/inbox.js +1 -0
- package/dist/src/execution/legacy-session/input.d.ts +19 -0
- package/dist/src/execution/legacy-session/input.js +1 -0
- package/dist/src/execution/legacy-session/interrupt-step.d.ts +3 -0
- package/dist/src/execution/legacy-session/interrupt-step.js +1 -0
- package/dist/src/execution/legacy-session/prepare-step.d.ts +24 -0
- package/dist/src/execution/legacy-session/prepare-step.js +1 -0
- package/dist/src/execution/legacy-session/snapshot.d.ts +12 -0
- package/dist/src/execution/legacy-session/snapshot.js +1 -0
- package/dist/src/execution/legacy-session/turn-workflow.d.ts +8 -0
- package/dist/src/execution/legacy-session/turn-workflow.js +1 -0
- package/dist/src/execution/model-call-batching.d.ts +1 -0
- package/dist/src/execution/model-call-batching.js +1 -1
- package/dist/src/execution/node-step.d.ts +1 -5
- package/dist/src/execution/node-step.js +1 -1
- package/dist/src/execution/proxied-deliver-step.d.ts +2 -20
- package/dist/src/execution/proxied-deliver-step.js +1 -1
- package/dist/src/execution/reconcile-session-continuation-token.d.ts +1 -1
- package/dist/src/execution/report-dropped-wire-payload-step.d.ts +1 -1
- package/dist/src/execution/route-child-delivery.d.ts +2 -2
- package/dist/src/execution/route-child-delivery.js +1 -1
- package/dist/src/execution/runtime-context.js +1 -1
- package/dist/src/execution/sandbox/bindings/eve-image.js +1 -1
- package/dist/src/execution/session/accepted-deployment.d.ts +3 -0
- package/dist/src/execution/session/accepted-deployment.js +1 -0
- package/dist/src/execution/session/admission.d.ts +38 -0
- package/dist/src/execution/session/admission.js +1 -0
- package/dist/src/execution/session/entry-input.d.ts +42 -0
- package/dist/src/execution/session/entry-input.js +1 -0
- package/dist/src/execution/session/entry.d.ts +13 -0
- package/dist/src/execution/session/entry.js +1 -0
- package/dist/src/execution/session/event-sink.d.ts +31 -0
- package/dist/src/execution/session/event-sink.js +1 -0
- package/dist/src/execution/session/finalization.d.ts +33 -0
- package/dist/src/execution/session/finalization.js +1 -0
- package/dist/src/execution/session/handoff-steps.d.ts +22 -0
- package/dist/src/execution/session/handoff-steps.js +1 -0
- package/dist/src/execution/session/handoff.d.ts +69 -0
- package/dist/src/execution/session/handoff.js +1 -0
- package/dist/src/execution/session/hook-tokens.d.ts +11 -0
- package/dist/src/execution/session/hook-tokens.js +1 -0
- package/dist/src/execution/session/input-queue.d.ts +72 -0
- package/dist/src/execution/session/input-queue.js +1 -0
- package/dist/src/execution/session/next-input.d.ts +32 -0
- package/dist/src/execution/session/next-input.js +1 -0
- package/dist/src/execution/{pending-turn-state.d.ts → session/pending-turn-state.d.ts} +0 -1
- package/dist/src/execution/{pending-turn-state.js → session/pending-turn-state.js} +1 -1
- package/dist/src/execution/session/program.d.ts +47 -0
- package/dist/src/execution/session/program.js +1 -0
- package/dist/src/execution/session/route-selected-delivery.d.ts +9 -0
- package/dist/src/execution/session/route-selected-delivery.js +1 -0
- package/dist/src/execution/session/state-cursor.d.ts +31 -0
- package/dist/src/execution/session/state-cursor.js +1 -0
- package/dist/src/execution/{session-timeout-control.d.ts → session/timeout-control.d.ts} +1 -1
- package/dist/src/execution/session/timeout-control.js +1 -0
- package/dist/src/execution/{session-timeout-steps.d.ts → session/timeout-steps.d.ts} +3 -2
- package/dist/src/execution/session/timeout-steps.js +1 -0
- package/dist/src/execution/{session-timeout-workflow.d.ts → session/timeout-workflow.d.ts} +3 -1
- package/dist/src/execution/session/timeout-workflow.js +1 -0
- package/dist/src/execution/session/timeout.d.ts +3 -0
- package/dist/src/execution/session/timeout.js +1 -0
- package/dist/src/execution/session/turn-step-result.d.ts +4 -0
- package/dist/src/execution/session/turn-step-result.js +1 -0
- package/dist/src/execution/session/turn-step-types.d.ts +68 -0
- package/dist/src/execution/session/turn-step-types.js +1 -0
- package/dist/src/execution/{workflow-steps.d.ts → session/turn-step.d.ts} +1 -2
- package/dist/src/execution/session/turn-step.js +1 -0
- package/dist/src/execution/session/turn.d.ts +31 -0
- package/dist/src/execution/session/turn.js +1 -0
- package/dist/src/execution/session-inbox/address.d.ts +21 -0
- package/dist/src/execution/session-inbox/address.js +1 -0
- package/dist/src/execution/session-inbox/inbox.d.ts +54 -0
- package/dist/src/execution/session-inbox/inbox.js +1 -0
- package/dist/src/execution/session-inbox/protocol.d.ts +10 -0
- package/dist/src/execution/session-inbox/protocol.js +1 -0
- package/dist/src/execution/session-inbox/release-step.d.ts +5 -0
- package/dist/src/execution/session-inbox/release-step.js +1 -0
- package/dist/src/execution/session-inbox/resume.d.ts +21 -0
- package/dist/src/execution/session-inbox/resume.js +1 -0
- package/dist/src/execution/{turn-workflow-tool-run.d.ts → session-workflow-tool-run.d.ts} +2 -2
- package/dist/src/execution/session-workflow-tool-run.js +1 -0
- package/dist/src/execution/session.d.ts +0 -1
- package/dist/src/execution/session.js +2 -2
- package/dist/src/execution/settle-cancelled-turn-step.d.ts +2 -2
- package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
- package/dist/src/execution/skills/instructions.js +1 -1
- package/dist/src/execution/stable-workflow-names.d.ts +1 -1
- package/dist/src/execution/stable-workflow-names.js +1 -1
- package/dist/src/execution/task-input-response-route.js +1 -1
- package/dist/src/execution/tasks/child/steps.d.ts +1 -1
- package/dist/src/execution/tasks/child/steps.js +1 -1
- package/dist/src/execution/tasks/child/workflow.js +1 -1
- package/dist/src/execution/tasks/parent/delegate.d.ts +7 -0
- package/dist/src/execution/tasks/parent/delegate.js +1 -1
- package/dist/src/execution/tasks/parent/dispatch.js +1 -1
- package/dist/src/execution/tasks/parent/hitl-proxy-steps.js +1 -1
- package/dist/src/execution/tasks/parent/tool-execution.js +1 -1
- package/dist/src/execution/terminal-session-completion-step.d.ts +1 -1
- package/dist/src/execution/terminal-session-event.d.ts +1 -1
- package/dist/src/execution/terminal-session-event.js +1 -1
- package/dist/src/execution/terminal-session-failure-step.d.ts +1 -1
- package/dist/src/execution/terminal-session-failure-step.js +1 -1
- package/dist/src/execution/terminate-child-sessions-step.js +1 -1
- package/dist/src/execution/tools/sleep-workflow.js +1 -1
- package/dist/src/execution/tools/subagent/accept-event-step.js +1 -1
- package/dist/src/execution/tools/subagent/emit-called-step.d.ts +1 -1
- package/dist/src/execution/tools/subagent/emit-called-step.js +1 -1
- package/dist/src/execution/tools/subagent/invoke-agent.d.ts +1 -1
- package/dist/src/execution/tools/subagent/invoke-agent.js +1 -1
- package/dist/src/execution/tools/subagent/invoke-preparation.d.ts +6 -0
- package/dist/src/execution/tools/subagent/invoke-preparation.js +1 -1
- package/dist/src/execution/tools/subagent/invoke-step.d.ts +2 -0
- package/dist/src/execution/tools/subagent/invoke-step.js +1 -1
- package/dist/src/execution/tools/subagent/steer.d.ts +13 -0
- package/dist/src/execution/tools/subagent/steer.js +1 -0
- package/dist/src/execution/tools/subagent/task-agent-requests.d.ts +1 -1
- package/dist/src/execution/tools/subagent/task-agent-requests.js +1 -1
- package/dist/src/execution/tools/subagent/task-cancel.js +1 -1
- package/dist/src/execution/tools/workflow/ask.d.ts +0 -9
- package/dist/src/execution/tools/workflow/ask.js +1 -1
- package/dist/src/execution/tools/workflow/body.d.ts +0 -2
- package/dist/src/execution/tools/workflow/body.js +1 -1
- package/dist/src/execution/tools/workflow/emit-workflow-tool-run-report-step.d.ts +1 -1
- package/dist/src/execution/tools/workflow/emit-workflow-tool-run-report-step.js +1 -1
- package/dist/src/execution/tools/workflow/messages.d.ts +0 -1
- package/dist/src/execution/tools/workflow/messages.js +1 -1
- package/dist/src/execution/tools/workflow/owner.d.ts +3 -1
- package/dist/src/execution/tools/workflow/owner.js +1 -1
- package/dist/src/execution/tools/workflow/resume-hook-step.d.ts +1 -1
- package/dist/src/execution/tools/workflow/step-context.d.ts +0 -1
- package/dist/src/execution/tools/workflow/step-execution.js +1 -1
- package/dist/src/execution/tools/workflow/step.js +1 -1
- package/dist/src/execution/tools/workflow/workflow.js +1 -1
- package/dist/src/execution/workflow-runtime.d.ts +15 -18
- package/dist/src/execution/workflow-runtime.js +1 -1
- package/dist/src/harness/advertised-tools.d.ts +0 -3
- package/dist/src/harness/advertised-tools.js +1 -1
- package/dist/src/harness/authorization.d.ts +5 -37
- package/dist/src/harness/authorization.js +1 -1
- package/dist/src/harness/compaction.js +1 -1
- package/dist/src/harness/coordination.js +1 -1
- package/dist/src/harness/emission-state.d.ts +1 -0
- package/dist/src/harness/emission.js +1 -1
- package/dist/src/harness/generation-steering.d.ts +22 -0
- package/dist/src/harness/generation-steering.js +1 -0
- package/dist/src/harness/messages.d.ts +1 -1
- package/dist/src/harness/messages.js +1 -1
- package/dist/src/harness/prompt-cache.js +1 -1
- package/dist/src/harness/proxy-input-requests.d.ts +1 -1
- package/dist/src/harness/proxy-input-requests.js +1 -1
- package/dist/src/harness/semantic-errors/rules/gateway.js +1 -1
- package/dist/src/harness/semantic-errors/signals.js +1 -1
- package/dist/src/harness/session-limit-enforcement.js +1 -1
- package/dist/src/harness/tool-loop.js +2 -2
- package/dist/src/harness/types.d.ts +2 -21
- package/dist/src/instrumentation/ai-sdk-hook-bridge.js +1 -1
- package/dist/src/instrumentation/channel-delivery.js +1 -1
- package/dist/src/instrumentation/content.js +1 -1
- package/dist/src/instrumentation/lifecycle.d.ts +6 -7
- package/dist/src/instrumentation/native-events.d.ts +2 -0
- package/dist/src/instrumentation/native-events.js +1 -1
- package/dist/src/instrumentation/runtime.js +1 -1
- package/dist/src/instrumentation/session-context.d.ts +2 -0
- package/dist/src/instrumentation/session-context.js +1 -1
- package/dist/src/internal/application/compiled-artifacts.js +3 -2
- package/dist/src/internal/application/package.js +1 -1
- package/dist/src/internal/authored-definition/connection.js +1 -1
- package/dist/src/internal/authored-definition/schema-backed.d.ts +3 -4
- package/dist/src/internal/authored-definition/schema-backed.js +1 -1
- package/dist/src/internal/gateway.d.ts +1 -0
- package/dist/src/internal/gateway.js +1 -1
- package/dist/src/internal/model-auth/api-key.d.ts +7 -0
- package/dist/src/internal/model-auth/api-key.js +1 -0
- package/dist/src/internal/model-auth/available-models.d.ts +2 -0
- package/dist/src/internal/model-auth/available-models.js +1 -0
- package/dist/src/internal/model-auth/development-broker-client.d.ts +3 -0
- package/dist/src/internal/model-auth/development-broker-client.js +1 -0
- package/dist/src/internal/model-auth/development-broker-protocol.d.ts +12 -0
- package/dist/src/internal/model-auth/development-broker-protocol.js +1 -0
- package/dist/src/internal/model-auth/development-broker-server.d.ts +4 -0
- package/dist/src/internal/model-auth/development-broker-server.js +1 -0
- package/dist/src/internal/model-auth/gateway-credential.d.ts +2 -0
- package/dist/src/internal/model-auth/gateway-credential.js +1 -0
- package/dist/src/internal/model-auth/store.d.ts +16 -0
- package/dist/src/internal/model-auth/store.js +1 -0
- package/dist/src/internal/model-auth/transport.d.ts +6 -0
- package/dist/src/internal/model-auth/transport.js +1 -0
- package/dist/src/internal/model-auth/vercel-cli.d.ts +7 -0
- package/dist/src/internal/model-auth/vercel-cli.js +1 -0
- package/dist/src/internal/model-auth/vercel-team.d.ts +3 -0
- package/dist/src/internal/model-auth/vercel-team.js +1 -0
- package/dist/src/internal/model-auth/vercel.d.ts +13 -0
- package/dist/src/internal/model-auth/vercel.js +1 -0
- package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
- package/dist/src/internal/nitro/host/dev-authored-source-watcher.js +1 -1
- package/dist/src/internal/nitro/host/dev-host-fingerprint.js +1 -1
- package/dist/src/internal/nitro/host/drained-nitro-dev-server.js +1 -1
- package/dist/src/internal/nitro/host/start-development-server.js +2 -2
- package/dist/src/internal/nitro/host/workflow-sandbox-runtime-plugin.js +1 -1
- package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +1 -1
- package/dist/src/internal/nitro/routes/channel-dispatch.js +1 -1
- package/dist/src/internal/nitro/routes/info.js +1 -1
- package/dist/src/internal/resolve-model-endpoint-status.d.ts +2 -0
- package/dist/src/internal/resolve-model-endpoint-status.js +1 -1
- package/dist/src/internal/vercel/api-resource.d.ts +4 -0
- package/dist/src/internal/vercel/api-resource.js +1 -0
- package/dist/src/internal/vercel/eve-service-contribution.js +1 -1
- package/dist/src/internal/vercel/vercel-services-config.d.ts +2 -0
- package/dist/src/internal/vercel/vercel-services-config.js +1 -1
- package/dist/src/internal/workflow/development-world-client.js +1 -1
- package/dist/src/internal/workflow/development-world-server.js +1 -1
- package/dist/src/internal/workflow/local-world-delivery-timeouts.d.ts +1 -1
- package/dist/src/internal/workflow/runtime.d.ts +1 -6
- package/dist/src/internal/workflow/runtime.js +1 -1
- package/dist/src/internal/workflow/vercel-world-defaults.d.ts +4 -0
- package/dist/src/internal/workflow/vercel-world-defaults.js +1 -0
- package/dist/src/protocol/activity.js +1 -1
- package/dist/src/protocol/message.d.ts +8 -0
- package/dist/src/protocol/message.js +2 -2
- package/dist/src/protocol/routes.d.ts +0 -2
- package/dist/src/protocol/routes.js +1 -1
- package/dist/src/public/channels/chat-sdk/audience.d.ts +2 -2
- package/dist/src/public/channels/discord/discordChannel.js +1 -1
- package/dist/src/public/channels/index.d.ts +1 -1
- package/dist/src/public/channels/slack/slackChannel.js +1 -1
- package/dist/src/public/channels/teams/teamsChannel.js +1 -1
- package/dist/src/public/channels/telegram/audience.d.ts +2 -2
- package/dist/src/public/channels/telegram/telegramChannel.js +1 -1
- package/dist/src/public/connections/index.d.ts +1 -1
- package/dist/src/public/definitions/channel.d.ts +2 -2
- package/dist/src/public/definitions/channel.js +1 -1
- package/dist/src/public/definitions/connections/mcp.d.ts +1 -1
- package/dist/src/public/definitions/connections/openapi.d.ts +1 -1
- package/dist/src/public/models/anthropic/index.d.ts +3 -0
- package/dist/src/public/models/anthropic/index.js +1 -0
- package/dist/src/public/models/openai/chatgpt/codex-app-server.js +1 -1
- package/dist/src/public/models/openai/chatgpt/credential-store.js +1 -1
- package/dist/src/public/models/openai/chatgpt/oauth.js +1 -1
- package/dist/src/public/models/openai/chatgpt/transport.js +1 -1
- package/dist/src/public/models/openai/index.d.ts +4 -2
- package/dist/src/public/models/openai/index.js +1 -1
- package/dist/src/public/sandbox/docker-sandbox.d.ts +1 -1
- package/dist/src/public/sandbox/microsandbox-sandbox.d.ts +1 -1
- package/dist/src/public/sandbox/vercel-sandbox.d.ts +1 -1
- package/dist/src/public/tools/workflow.d.ts +1 -4
- package/dist/src/public/tools/workflow.js +1 -1
- package/dist/src/public/vercel/index.d.ts +2 -1
- package/dist/src/public/vercel/index.js +1 -1
- package/dist/src/runtime/agent/mock-model-adapter.js +1 -1
- package/dist/src/runtime/agent/resolve-model.js +1 -1
- package/dist/src/runtime/connections/authorization-tokens.d.ts +2 -4
- package/dist/src/runtime/connections/principal.d.ts +6 -6
- package/dist/src/runtime/connections/principal.js +1 -1
- package/dist/src/runtime/prompt/compose.js +1 -1
- package/dist/src/runtime/resolve-agent-graph.js +1 -1
- package/dist/src/runtime/resolve-agent.js +1 -1
- package/dist/src/runtime/resolve-tool.js +1 -1
- package/dist/src/runtime/tools/registry.js +1 -1
- package/dist/src/runtime/types.d.ts +3 -9
- package/dist/src/self-modification/agent.js +1 -1
- package/dist/src/self-modification/extension/classify-registry-item.d.ts +3 -3
- package/dist/src/self-modification/extension/classify-registry-item.js +1 -1
- package/dist/src/self-modification/extension/tools/search_registry.d.ts +1 -7
- package/dist/src/self-modification/extension/tools/search_registry.js +1 -1
- package/dist/src/self-modification/setup.d.ts +9 -3
- package/dist/src/self-modification/setup.js +2 -2
- package/dist/src/setup/cli/option-row.d.ts +2 -1
- package/dist/src/setup/cli/option-row.js +1 -1
- package/dist/src/setup/cli/prompt-ui.d.ts +2 -0
- package/dist/src/setup/cli/prompt-ui.js +1 -1
- package/dist/src/setup/cli/select-state.d.ts +1 -1
- package/dist/src/setup/cli/select-state.js +1 -1
- package/dist/src/setup/flows/chatgpt-auth.js +1 -1
- package/dist/src/setup/flows/deploy.d.ts +4 -9
- package/dist/src/setup/flows/deploy.js +1 -1
- package/dist/src/setup/flows/ensure-vercel-project.js +1 -1
- package/dist/src/setup/flows/install-vercel-cli.d.ts +2 -3
- package/dist/src/setup/flows/login.d.ts +3 -1
- package/dist/src/setup/flows/login.js +1 -1
- package/dist/src/setup/flows/model-login-connection.d.ts +36 -0
- package/dist/src/setup/flows/model-login-connection.js +1 -0
- package/dist/src/setup/flows/model-login-progress.d.ts +7 -0
- package/dist/src/setup/flows/model-login-progress.js +1 -0
- package/dist/src/setup/flows/model-login.d.ts +22 -0
- package/dist/src/setup/flows/model-login.js +1 -0
- package/dist/src/setup/flows/model-source-change.d.ts +7 -0
- package/dist/src/setup/flows/model-source-change.js +1 -1
- package/dist/src/setup/flows/model.d.ts +6 -24
- package/dist/src/setup/flows/model.js +1 -1
- package/dist/src/setup/flows/registry.d.ts +3 -19
- package/dist/src/setup/flows/registry.js +1 -1
- package/dist/src/setup/flows/vercel-model-login.d.ts +5 -0
- package/dist/src/setup/flows/vercel-model-login.js +1 -0
- package/dist/src/setup/integrations/self-modification/setup.d.ts +2 -0
- package/dist/src/setup/integrations/self-modification/setup.js +1 -1
- package/dist/src/setup/project-resolution.js +1 -1
- package/dist/src/setup/prompter.d.ts +3 -1
- package/dist/src/setup/provider-settings.d.ts +19 -6
- package/dist/src/setup/provider-settings.js +1 -1
- package/dist/src/setup/scaffold/create/project.js +6 -2
- package/dist/src/setup/vercel-project.js +0 -0
- package/dist/src/setup/with-spinner.d.ts +1 -1
- package/dist/src/setup/with-spinner.js +1 -1
- package/dist/src/shared/action-types.js +1 -1
- package/dist/src/shared/agent-definition.d.ts +6 -4
- package/dist/src/shared/channel-definition.d.ts +2 -2
- package/dist/src/shared/chatgpt-model.d.ts +2 -2
- package/dist/src/shared/chatgpt-model.js +1 -1
- package/dist/src/shared/connection-types.d.ts +20 -7
- package/dist/src/shared/conversation-context.d.ts +15 -0
- package/dist/src/shared/model-connection.d.ts +17 -0
- package/dist/src/shared/model-connection.js +1 -0
- package/dist/src/shared/model-endpoint-status.d.ts +2 -1
- package/dist/src/shared/model-helper.d.ts +26 -0
- package/dist/src/shared/model-helper.js +1 -0
- package/dist/src/shared/package-version.d.ts +2 -0
- package/dist/src/shared/package-version.js +1 -0
- package/dist/src/shared/validate-authorization.js +1 -1
- package/dist/src/shared/vercel-services.d.ts +1 -0
- package/dist/src/shared/vercel-services.js +1 -1
- package/dist/src/shared/workflow-sandbox.d.ts +18 -12
- package/dist/src/shared/workflow-sandbox.js +1 -1
- package/dist/src/source-change/agent-config-ast.d.ts +6 -0
- package/dist/src/source-change/agent-config-ast.js +1 -1
- package/dist/src/source-change/apply-model-selection.d.ts +3 -1
- package/dist/src/source-change/apply-model-selection.js +1 -2
- package/dist/src/source-change/static-source-change.js +1 -1
- package/dist/src/subagents/callback-route.js +1 -1
- package/dist/src/subagents/event-proxy-step.d.ts +3 -3
- package/dist/src/subagents/event-proxy-step.js +1 -1
- package/dist/src/subagents/handle-dispatch.d.ts +12 -2
- package/dist/src/subagents/handle-dispatch.js +1 -1
- package/dist/src/subagents/handles/operation-id.d.ts +1 -1
- package/dist/src/subagents/handles/query.d.ts +0 -6
- package/dist/src/subagents/handles/query.js +1 -1
- package/dist/src/subagents/handles/state-key.d.ts +1 -1
- package/dist/src/subagents/handles/store.d.ts +1 -1
- package/dist/src/subagents/handles/store.js +1 -1
- package/dist/src/subagents/hitl-proxy.d.ts +1 -1
- package/dist/src/subagents/parent-notification.d.ts +2 -2
- package/dist/src/subagents/parent-result.d.ts +1 -1
- package/dist/src/subagents/remote-dispatch.d.ts +1 -1
- package/dist/src/subagents/remote-dispatch.js +1 -1
- package/dist/src/subagents/start-local.js +1 -1
- 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/tasks/session-index.d.ts +11 -0
- package/dist/src/tasks/session-index.js +1 -1
- package/dist/src/tasks/types.d.ts +1 -1
- package/dist/src/tools/auth.d.ts +5 -6
- package/dist/src/tools/provided/workflow.d.ts +12 -0
- package/dist/src/tools/provided/workflow.js +1 -0
- package/dist/src/tools/workflow-program-input.d.ts +6 -0
- package/dist/src/tools/workflow-program-input.js +1 -0
- package/dist/src/tracing/agent-otel-provider.js +2 -2
- package/dist/src/tracing/agent-otel-runtime-context.d.ts +2 -1
- package/dist/src/tracing/agent-otel-runtime-context.js +1 -1
- package/dist/src/tracing/agent-otel-session-context.js +1 -1
- package/dist/src/tracing/agent-otel-usage.js +1 -1
- package/dist/src/tracing/agent-span-contract.d.ts +1 -0
- package/dist/src/tracing/agent-span-contract.js +1 -1
- package/dist/src/tracing/agent-tool-instrumentation.js +1 -1
- package/dist/src/tracing/agent-trace-context-codec.js +1 -1
- package/dist/src/tracing/agent-trace-state.d.ts +2 -0
- package/dist/src/tracing/content-attributes.js +1 -1
- package/dist/src/tracing/local-instrumentation-runtime.d.ts +1 -1
- package/dist/src/tracing/local-instrumentation-runtime.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 +23 -23
- package/docs/channels/chat-sdk.mdx +11 -2
- package/docs/channels/custom.mdx +32 -16
- package/docs/channels/eve.mdx +21 -19
- package/docs/channels/linear.mdx +7 -3
- package/docs/channels/linq.mdx +1 -1
- package/docs/channels/overview.mdx +17 -2
- package/docs/channels/photon.mdx +4 -1
- package/docs/channels/slack.mdx +12 -2
- package/docs/concepts/execution-model-and-durability.mdx +62 -13
- package/docs/concepts/sessions-runs-and-streaming.md +14 -5
- package/docs/connections/mcp.mdx +4 -1
- package/docs/connections/openapi.mdx +8 -2
- package/docs/connections/overview.mdx +16 -13
- package/docs/getting-started.mdx +8 -4
- package/docs/guides/deployment/self-hosting.md +1 -1
- package/docs/guides/deployment/vercel.mdx +3 -3
- package/docs/guides/dev-tui.md +58 -31
- package/docs/guides/dynamic-capabilities.md +4 -4
- package/docs/guides/frontend/overview.mdx +3 -1
- package/docs/guides/hooks.md +1 -1
- package/docs/guides/instrumentation/meta.json +5 -0
- package/docs/guides/instrumentation/otel.mdx +149 -0
- package/docs/guides/instrumentation/overview.md +199 -0
- package/docs/guides/instrumentation/providers.mdx +169 -0
- package/docs/guides/meta.json +0 -1
- package/docs/guides/remote-agents.md +19 -21
- package/docs/install-integrations.mdx +2 -4
- package/docs/memory/custom-provider.md +1 -1
- package/docs/patterns/multi-tenant-auth.md +3 -3
- package/docs/protocols/acp.md +1 -1
- package/docs/reference/cli.md +16 -16
- package/docs/reference/telemetry.md +1 -1
- package/docs/reference/typescript-api.md +21 -14
- package/docs/sandbox.mdx +3 -3
- package/docs/subagents/index.mdx +4 -4
- package/docs/tools/workflows.mdx +57 -2
- package/docs/tutorial/how-it-runs.mdx +1 -1
- package/package.json +6 -1
- package/dist/src/cli/commands/init-repl.d.ts +0 -80
- package/dist/src/cli/commands/init-repl.js +0 -1
- package/dist/src/cli/commands/init-self-modification.d.ts +0 -7
- package/dist/src/cli/commands/init-self-modification.js +0 -1
- package/dist/src/cli/commands/registry-package.d.ts +0 -52
- package/dist/src/cli/commands/registry-package.js +0 -1
- package/dist/src/cli/dev/tui/prompt-placeholder.d.ts +0 -12
- package/dist/src/cli/dev/tui/prompt-placeholder.js +0 -1
- package/dist/src/cli/dev/tui/remote-auth-command.d.ts +0 -11
- package/dist/src/cli/dev/tui/remote-auth-command.js +0 -3
- package/dist/src/compiled/_chunks/workflow/attribute-changes-BAcgmlXp.js +0 -20
- package/dist/src/compiled/_chunks/workflow/private-CFJkQA7R.js +0 -1
- package/dist/src/compiled/_chunks/workflow/resume-hook-BEHe0Uut.js +0 -1
- package/dist/src/compiled/_chunks/workflow/run-ChHLjaCt.js +0 -1
- package/dist/src/compiled/_chunks/workflow/sleep-BB2HuVie.js +0 -1
- package/dist/src/execution/accepted-delivery-deployment.d.ts +0 -7
- package/dist/src/execution/accepted-delivery-deployment.js +0 -1
- package/dist/src/execution/dispatch-turn-step.d.ts +0 -5
- package/dist/src/execution/dispatch-turn-step.js +0 -1
- package/dist/src/execution/durable-session-migrations/chain.d.ts +0 -38
- package/dist/src/execution/durable-session-migrations/chain.js +0 -1
- package/dist/src/execution/durable-session-migrations/snapshot.d.ts +0 -6
- package/dist/src/execution/durable-session-migrations/snapshot.js +0 -1
- package/dist/src/execution/durable-session-migrations/turn-workflow-v0-to-v1.d.ts +0 -12
- package/dist/src/execution/durable-session-migrations/turn-workflow-v0-to-v1.js +0 -1
- package/dist/src/execution/durable-session-migrations/turn-workflow-v1-to-v2.d.ts +0 -2
- package/dist/src/execution/durable-session-migrations/turn-workflow-v1-to-v2.js +0 -1
- package/dist/src/execution/durable-session-migrations/turn-workflow.d.ts +0 -88
- package/dist/src/execution/durable-session-migrations/turn-workflow.js +0 -1
- package/dist/src/execution/forward-turn-cancellation-step.d.ts +0 -6
- package/dist/src/execution/forward-turn-cancellation-step.js +0 -1
- package/dist/src/execution/forward-turn-delivery-step.d.ts +0 -6
- package/dist/src/execution/forward-turn-delivery-step.js +0 -1
- package/dist/src/execution/inline-turn.d.ts +0 -31
- package/dist/src/execution/inline-turn.js +0 -1
- package/dist/src/execution/next-driver-action.d.ts +0 -93
- package/dist/src/execution/parked-delivery-wait.d.ts +0 -54
- package/dist/src/execution/parked-delivery-wait.js +0 -1
- package/dist/src/execution/session-command-inbox.d.ts +0 -52
- package/dist/src/execution/session-command-inbox.js +0 -1
- package/dist/src/execution/session-command-token.d.ts +0 -6
- package/dist/src/execution/session-command-token.js +0 -1
- package/dist/src/execution/session-state-cursor.d.ts +0 -25
- package/dist/src/execution/session-state-cursor.js +0 -1
- package/dist/src/execution/session-timeout-control.js +0 -1
- package/dist/src/execution/session-timeout-steps.js +0 -1
- package/dist/src/execution/session-timeout-workflow.js +0 -1
- package/dist/src/execution/session-timeout.d.ts +0 -2
- package/dist/src/execution/session-timeout.js +0 -1
- package/dist/src/execution/turn-cancellation-control.d.ts +0 -30
- package/dist/src/execution/turn-cancellation-control.js +0 -1
- package/dist/src/execution/turn-cancellation-token.d.ts +0 -10
- package/dist/src/execution/turn-cancellation-token.js +0 -1
- package/dist/src/execution/turn-control-protocol.d.ts +0 -36
- package/dist/src/execution/turn-control-protocol.js +0 -1
- package/dist/src/execution/turn-control-receiver.d.ts +0 -54
- package/dist/src/execution/turn-control-receiver.js +0 -1
- package/dist/src/execution/turn-dispatch.d.ts +0 -39
- package/dist/src/execution/turn-dispatch.js +0 -1
- package/dist/src/execution/turn-execution-cursor.d.ts +0 -49
- package/dist/src/execution/turn-execution-cursor.js +0 -1
- package/dist/src/execution/turn-workflow-tool-run.js +0 -1
- package/dist/src/execution/turn-workflow.d.ts +0 -13
- package/dist/src/execution/turn-workflow.js +0 -1
- package/dist/src/execution/wire/session-inbox-contract.d.ts +0 -38
- package/dist/src/execution/wire/session-inbox-contract.js +0 -1
- package/dist/src/execution/wire/session-inbox-encoder.d.ts +0 -47
- package/dist/src/execution/wire/session-inbox-encoder.js +0 -1
- package/dist/src/execution/wire/session-inbox-resume.d.ts +0 -12
- package/dist/src/execution/wire/session-inbox-resume.js +0 -1
- package/dist/src/execution/wire/session-inbox-wire.d.ts +0 -29
- package/dist/src/execution/wire/session-inbox-wire.js +0 -1
- package/dist/src/execution/wire/session-inbox-wire.v0.d.ts +0 -5
- package/dist/src/execution/wire/session-inbox-wire.v0.js +0 -1
- package/dist/src/execution/wire/session-inbox-wire.v1.d.ts +0 -237
- package/dist/src/execution/wire/session-inbox-wire.v1.js +0 -1
- package/dist/src/execution/wire/session-inbox-wire.v2-migration.d.ts +0 -2
- package/dist/src/execution/wire/session-inbox-wire.v2-migration.js +0 -1
- package/dist/src/execution/wire/session-inbox-wire.v2.d.ts +0 -478
- package/dist/src/execution/wire/session-inbox-wire.v2.js +0 -1
- package/dist/src/execution/wire/session-inbox-wire.v2.migration.d.ts +0 -3
- package/dist/src/execution/wire/session-inbox-wire.v2.migration.js +0 -1
- package/dist/src/execution/wire/session-inbox-wire.v3.d.ts +0 -480
- package/dist/src/execution/wire/session-inbox-wire.v3.js +0 -1
- package/dist/src/execution/wire/session-inbox-wire.v3.migration.d.ts +0 -3
- package/dist/src/execution/wire/session-inbox-wire.v3.migration.js +0 -1
- package/dist/src/execution/wire/session-inbox-wire.v4.d.ts +0 -267
- package/dist/src/execution/wire/session-inbox-wire.v4.js +0 -1
- package/dist/src/execution/wire/session-inbox-wire.v4.migration.d.ts +0 -3
- package/dist/src/execution/wire/session-inbox-wire.v4.migration.js +0 -1
- package/dist/src/execution/wire/session-inbox-wire.v5.d.ts +0 -341
- package/dist/src/execution/wire/session-inbox-wire.v5.js +0 -1
- package/dist/src/execution/wire/session-inbox-wire.v5.migration.d.ts +0 -3
- package/dist/src/execution/wire/session-inbox-wire.v5.migration.js +0 -1
- package/dist/src/execution/wire/session-inbox-wire.v6.d.ts +0 -341
- package/dist/src/execution/wire/session-inbox-wire.v6.js +0 -1
- package/dist/src/execution/wire/session-inbox-wire.v7.d.ts +0 -342
- package/dist/src/execution/wire/session-inbox-wire.v7.js +0 -1
- package/dist/src/execution/workflow-entry-crash.d.ts +0 -39
- package/dist/src/execution/workflow-entry-crash.js +0 -1
- package/dist/src/execution/workflow-entry-finalization.d.ts +0 -28
- package/dist/src/execution/workflow-entry-finalization.js +0 -1
- package/dist/src/execution/workflow-entry.d.ts +0 -37
- package/dist/src/execution/workflow-entry.js +0 -1
- package/dist/src/execution/workflow-steps.js +0 -1
- package/dist/src/harness/workflow-continuation-security.d.ts +0 -5
- package/dist/src/harness/workflow-continuation-security.js +0 -1
- package/dist/src/harness/workflow-interrupt-state.d.ts +0 -20
- package/dist/src/harness/workflow-interrupt-state.js +0 -1
- package/dist/src/harness/workflow-lifecycle.d.ts +0 -32
- package/dist/src/harness/workflow-lifecycle.js +0 -1
- package/dist/src/harness/workflow-sandbox.d.ts +0 -28
- package/dist/src/harness/workflow-sandbox.js +0 -2
- package/dist/src/harness/workflow-subagent-limit.d.ts +0 -28
- package/dist/src/harness/workflow-subagent-limit.js +0 -1
- package/dist/src/harness/workflow-task-state.d.ts +0 -9
- package/dist/src/harness/workflow-task-state.js +0 -1
- package/dist/src/harness/workflow-tool-description.d.ts +0 -22
- package/dist/src/harness/workflow-tool-description.js +0 -37
- package/dist/src/subagents/handles/rebase.d.ts +0 -4
- package/dist/src/subagents/handles/rebase.js +0 -1
- package/dist/src/tools/workflow.d.ts +0 -37
- package/dist/src/tools/workflow.js +0 -1
- package/docs/guides/instrumentation-providers.md +0 -249
- package/docs/guides/instrumentation.md +0 -453
- /package/dist/src/{execution/next-driver-action.js → client/eve-agent-store-state.js} +0 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "OpenTelemetry"
|
|
3
|
+
description: "Configure OpenTelemetry destinations, content capture, and managed exports with Instrumentation Providers."
|
|
4
|
+
url: "/observability/otel"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<Callout type="warning" title="Experimental">
|
|
8
|
+
This API is experimental and may change without a deprecation period.
|
|
9
|
+
</Callout>
|
|
10
|
+
|
|
11
|
+
Use the built-in APIs from `eve/instrumentation/otel` to configure eve's
|
|
12
|
+
OpenTelemetry pipeline. This page requires the experimental
|
|
13
|
+
[Instrumentation Providers](./instrumentation-providers) layout.
|
|
14
|
+
|
|
15
|
+
## Configure OpenTelemetry
|
|
16
|
+
|
|
17
|
+
OpenTelemetry configuration has two parts:
|
|
18
|
+
|
|
19
|
+
- `otel()` declares process-wide settings such as the resource, sampler,
|
|
20
|
+
propagators, and trace capture policy. Declare it at most once.
|
|
21
|
+
- `otelIntegration()` adds one destination. Declare one file per exporter or
|
|
22
|
+
processor chain.
|
|
23
|
+
|
|
24
|
+
Add `agent/instrumentation/otel.ts` when you need process-wide settings or
|
|
25
|
+
want to control the content eve writes to OpenTelemetry spans:
|
|
26
|
+
|
|
27
|
+
```ts title="agent/instrumentation/otel.ts"
|
|
28
|
+
import { otel } from "eve/instrumentation/otel";
|
|
29
|
+
|
|
30
|
+
export default otel({
|
|
31
|
+
resource: { "deployment.environment": process.env.VERCEL_ENV ?? "development" },
|
|
32
|
+
tracePolicy: ({ audience, environment }) => ({
|
|
33
|
+
emit: true,
|
|
34
|
+
recordInputs: audience === "public" || environment === "development",
|
|
35
|
+
recordOutputs: audience === "public" || environment === "development",
|
|
36
|
+
}),
|
|
37
|
+
});
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
The OpenTelemetry `tracePolicy` is a capture ceiling shared by every OTel
|
|
41
|
+
destination. A destination cannot restore content excluded by this policy. It
|
|
42
|
+
does not affect lifecycle-event providers created with `defineInstrumentation()`.
|
|
43
|
+
|
|
44
|
+
## Add an OpenTelemetry destination
|
|
45
|
+
|
|
46
|
+
Most agents only need a destination:
|
|
47
|
+
|
|
48
|
+
```ts title="agent/instrumentation/braintrust.ts"
|
|
49
|
+
import { BraintrustExporter } from "@braintrust/otel";
|
|
50
|
+
import { otelIntegration } from "eve/instrumentation/otel";
|
|
51
|
+
|
|
52
|
+
export default otelIntegration({
|
|
53
|
+
traceExporter: new BraintrustExporter({ filterAISpans: true }),
|
|
54
|
+
});
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Pass `spanProcessors` to `otelIntegration()` when a custom destination needs
|
|
58
|
+
filtering or transformation. `exportPolicy` is for the built-in
|
|
59
|
+
`localTraces()` and `agentRuns()` destinations below.
|
|
60
|
+
|
|
61
|
+
## Trace topology
|
|
62
|
+
|
|
63
|
+
OpenTelemetry destinations receive the following trace topology for an ordinary
|
|
64
|
+
agent turn:
|
|
65
|
+
|
|
66
|
+
```text
|
|
67
|
+
invoke_agent <agent>
|
|
68
|
+
└── agent.step
|
|
69
|
+
├── chat <model>
|
|
70
|
+
└── agent.action
|
|
71
|
+
└── execute_tool <tool>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Each turn starts a new trace. The first subagent trace links to its caller with
|
|
75
|
+
`eve.link.type=agent.dispatch`. Use `gen_ai.conversation.id` to find the traces
|
|
76
|
+
for one conversation in your destination's span-search surface.
|
|
77
|
+
|
|
78
|
+
## Manage built-in destinations
|
|
79
|
+
|
|
80
|
+
The provider layout has two environment-specific defaults:
|
|
81
|
+
|
|
82
|
+
- `local` records local traces during `eve dev`.
|
|
83
|
+
- `agent-runs` exports to Vercel Agent Runs in preview and production
|
|
84
|
+
deployments.
|
|
85
|
+
|
|
86
|
+
Omitting these files preserves the defaults. Reconfigure a destination by
|
|
87
|
+
exporting `localTraces()` or `agentRuns()` from the matching file. Disable one
|
|
88
|
+
explicitly:
|
|
89
|
+
|
|
90
|
+
```ts title="agent/instrumentation/local.ts"
|
|
91
|
+
import { disableInstrumentation } from "eve/instrumentation";
|
|
92
|
+
|
|
93
|
+
export default disableInstrumentation();
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Filter a managed destination
|
|
97
|
+
|
|
98
|
+
`localTraces()` and `agentRuns()` accept an `exportPolicy`. It filters spans
|
|
99
|
+
and attributes before that destination's processors receive them:
|
|
100
|
+
|
|
101
|
+
```ts title="agent/instrumentation/agent-runs.ts"
|
|
102
|
+
import { agentRuns } from "eve/instrumentation/otel";
|
|
103
|
+
|
|
104
|
+
export default agentRuns({
|
|
105
|
+
exportPolicy: {
|
|
106
|
+
span: ({ name }) => name !== "internal.cache.refresh",
|
|
107
|
+
attribute: ({ key }) => (key === "customer.id" ? { action: "drop" } : { action: "keep" }),
|
|
108
|
+
},
|
|
109
|
+
});
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Return `false` from `span` to omit that span from this destination. Return
|
|
113
|
+
`{ action: "keep" }`, `{ action: "drop" }`, or
|
|
114
|
+
`{ action: "replace", value }` from `attribute` to retain, remove, or change
|
|
115
|
+
one attribute.
|
|
116
|
+
|
|
117
|
+
### Further narrow a built-in destination
|
|
118
|
+
|
|
119
|
+
Use the content redactors to further narrow what a built-in destination
|
|
120
|
+
receives after the process-wide `otel({ tracePolicy })` has admitted a trace.
|
|
121
|
+
For example, keep the spans in Agent Runs while redacting their inputs and
|
|
122
|
+
outputs unless the session is public:
|
|
123
|
+
|
|
124
|
+
```ts title="agent/instrumentation/agent-runs.ts"
|
|
125
|
+
import {
|
|
126
|
+
agentRuns,
|
|
127
|
+
composeSpanExportPolicies,
|
|
128
|
+
redactSpanInputs,
|
|
129
|
+
redactSpanOutputs,
|
|
130
|
+
} from "eve/instrumentation/otel";
|
|
131
|
+
|
|
132
|
+
export default agentRuns({
|
|
133
|
+
exportPolicy: composeSpanExportPolicies(
|
|
134
|
+
redactSpanInputs(({ audience }) => audience !== "public"),
|
|
135
|
+
redactSpanOutputs(({ audience }) => audience !== "public"),
|
|
136
|
+
),
|
|
137
|
+
});
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
`redactSpanInputs()` removes eve's known prompt, instruction, document, and
|
|
141
|
+
tool-argument attributes. `redactSpanOutputs()` removes response, reasoning,
|
|
142
|
+
tool-result, exception, and status attributes. They narrow only this
|
|
143
|
+
destination; they do not mutate spans sent to another destination.
|
|
144
|
+
|
|
145
|
+
## What to read next
|
|
146
|
+
|
|
147
|
+
- [Instrumentation Providers](./instrumentation-providers): add lifecycle-event providers.
|
|
148
|
+
- [Instrumentation](../observability/instrumentation): configure the current single-file API.
|
|
149
|
+
- [Local development](../guides/dev-tui): inspect local traces in the TUI.
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Instrumentation"
|
|
3
|
+
description: "Trace an agent with OpenTelemetry in instrumentation.ts, read the workflow run tags eve emits, and debug discovery with eve info and the common-failures table."
|
|
4
|
+
url: "/observability/instrumentation"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Use `agent/instrumentation.ts` to configure OpenTelemetry for an eve agent.
|
|
8
|
+
eve discovers this file and runs it at server startup before agent code.
|
|
9
|
+
|
|
10
|
+
## Configure OpenTelemetry
|
|
11
|
+
|
|
12
|
+
Export `defineInstrumentation(...)` as the default export from
|
|
13
|
+
`agent/instrumentation.ts`. eve discovers the file and runs its `setup`
|
|
14
|
+
callback at server startup, before agent code runs.
|
|
15
|
+
|
|
16
|
+
```ts title="agent/instrumentation.ts"
|
|
17
|
+
import { BraintrustExporter } from "@braintrust/otel";
|
|
18
|
+
import { defineInstrumentation } from "eve/instrumentation";
|
|
19
|
+
import { registerOTel } from "@vercel/otel";
|
|
20
|
+
|
|
21
|
+
export default defineInstrumentation({
|
|
22
|
+
setup: ({ agentName }) =>
|
|
23
|
+
registerOTel({
|
|
24
|
+
serviceName: agentName,
|
|
25
|
+
traceExporter: new BraintrustExporter({
|
|
26
|
+
parent: `project_name:${agentName}`,
|
|
27
|
+
filterAISpans: true,
|
|
28
|
+
}),
|
|
29
|
+
}),
|
|
30
|
+
});
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Use `setup` to register your OTel provider. eve supplies the resolved agent
|
|
34
|
+
name, so you do not need to hard-code a service name. Any OTel-compatible
|
|
35
|
+
backend works; install and configure the exporter it requires.
|
|
36
|
+
|
|
37
|
+
eve records metadata without model, tool, or memory-record content by default.
|
|
38
|
+
After reviewing the exporter's destination and retention path, opt in to the
|
|
39
|
+
content you need:
|
|
40
|
+
|
|
41
|
+
- `recordInputs` records message history and recalled memory records. It
|
|
42
|
+
defaults to `false`.
|
|
43
|
+
- `recordOutputs` records model outputs. It defaults to `false`.
|
|
44
|
+
- `functionId` overrides the function name on spans. It defaults to the agent
|
|
45
|
+
name.
|
|
46
|
+
|
|
47
|
+
The session's channel audience is a second gate on content capture. In
|
|
48
|
+
Vercel's preview and production deployments, eve records inputs and outputs
|
|
49
|
+
only for `public` sessions. During local development, local tracing retains all
|
|
50
|
+
content. See [Local traces](#local-traces) to learn more.
|
|
51
|
+
|
|
52
|
+
For the default eve HTTP channel, the audience is:
|
|
53
|
+
|
|
54
|
+
| Session creator | Audience |
|
|
55
|
+
| ---------------------------------------------------- | --------- |
|
|
56
|
+
| Anonymous caller | `unknown` |
|
|
57
|
+
| Authenticated `user`, `service`, or `runtime` caller | `private` |
|
|
58
|
+
| Any other principal type | `unknown` |
|
|
59
|
+
|
|
60
|
+
Set `audience: "public"` only for intentionally public traffic. Other
|
|
61
|
+
built-in channels classify their own conversations. See
|
|
62
|
+
[Audience](../channels/eve#audience) for the `eve` channel or
|
|
63
|
+
[Conversation audience](../channels/custom#conversation-audience) for a
|
|
64
|
+
custom channel.
|
|
65
|
+
|
|
66
|
+
## Add runtime context
|
|
67
|
+
|
|
68
|
+
Use `events["step.started"]` to add values to the AI SDK runtime context for a
|
|
69
|
+
model attempt. The AI SDK carries the returned values onto the model-call span
|
|
70
|
+
and its children.
|
|
71
|
+
|
|
72
|
+
```ts title="agent/instrumentation.ts"
|
|
73
|
+
import { defineInstrumentation, isChannel } from "eve/instrumentation";
|
|
74
|
+
import supportChannel from "./channels/support";
|
|
75
|
+
|
|
76
|
+
export default defineInstrumentation({
|
|
77
|
+
events: {
|
|
78
|
+
"step.started"(input) {
|
|
79
|
+
if (!isChannel(input.channel, supportChannel)) return undefined;
|
|
80
|
+
|
|
81
|
+
return {
|
|
82
|
+
runtimeContext: {
|
|
83
|
+
"support.channel_id": input.channel.metadata.channelId ?? "",
|
|
84
|
+
"support.user_id": input.channel.metadata.triggeringUserId ?? "",
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
The callback receives the session, turn, step, channel, and final model input.
|
|
93
|
+
For an authored channel, import its definition and use `isChannel` before
|
|
94
|
+
accessing its typed metadata. Runtime instrumentation receives only the
|
|
95
|
+
metadata a channel explicitly exposes; it never falls back to raw channel
|
|
96
|
+
state.
|
|
97
|
+
|
|
98
|
+
## Trace topology
|
|
99
|
+
|
|
100
|
+
When `agent/instrumentation.ts` registers an OTel provider, each turn produces
|
|
101
|
+
this hierarchy:
|
|
102
|
+
|
|
103
|
+
```text
|
|
104
|
+
ai.eve.turn {eve.session.id}
|
|
105
|
+
+-- invoke_agent <model> gen_ai.operation.name=invoke_agent
|
|
106
|
+
+-- step 1 gen_ai.operation.name=agent_step
|
|
107
|
+
| +-- chat <model> gen_ai.operation.name=chat
|
|
108
|
+
| +-- execute_tool search gen_ai.operation.name=execute_tool
|
|
109
|
+
+-- step 2
|
|
110
|
+
| +-- chat <model>
|
|
111
|
+
| +-- execute_tool read
|
|
112
|
+
+-- step 3 (final text)
|
|
113
|
+
+-- chat <model>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
eve creates the `ai.eve.turn` parent span and passes telemetry to the
|
|
117
|
+
[AI SDK](https://ai-sdk.dev/docs/ai-sdk-core/telemetry), which traces model
|
|
118
|
+
calls and tool executions. The AI SDK names those spans according to the
|
|
119
|
+
OpenTelemetry GenAI semantic conventions.
|
|
120
|
+
|
|
121
|
+
Set `traceChannelRequests: true` to create one OTel `SERVER` span for each
|
|
122
|
+
inbound channel HTTP request. The span parents the turn tree and any
|
|
123
|
+
`hook.resume` or outgoing HTTP spans. It defaults to `false`.
|
|
124
|
+
|
|
125
|
+
```text
|
|
126
|
+
POST /eve/v1/session/:sessionId
|
|
127
|
+
└── hook.resume
|
|
128
|
+
├── GET hooks/by-token
|
|
129
|
+
└── POST hook_received
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
The request span uses a route template in `http.route` and the method in
|
|
133
|
+
`http.request.method`; it does not record concrete URLs, session IDs, tokens,
|
|
134
|
+
headers, bodies, or query parameters. It adopts an incoming `traceparent` when
|
|
135
|
+
present.
|
|
136
|
+
|
|
137
|
+
## Local traces
|
|
138
|
+
|
|
139
|
+
Without `agent/instrumentation.ts`, `eve dev` records one bounded trace per
|
|
140
|
+
turn under `.eve/traces/`. View traces with
|
|
141
|
+
[`/traces`](../guides/dev-tui#logs-and-traces) in the dev TUI or
|
|
142
|
+
[`eve traces`](../reference/cli#eve-traces) after `eve dev` exits.
|
|
143
|
+
|
|
144
|
+
Local traces retain model, tool, and memory-record content by default. Set
|
|
145
|
+
`EVE_TRACES_CONTENT=off` in `.env.local` to omit it. Writing
|
|
146
|
+
`agent/instrumentation.ts` replaces local tracing; its `recordInputs` and
|
|
147
|
+
`recordOutputs` settings control content in the OTel provider you register.
|
|
148
|
+
|
|
149
|
+
## Workflow run tags
|
|
150
|
+
|
|
151
|
+
Separately from OpenTelemetry, eve tags every Workflow run with reserved
|
|
152
|
+
`$eve.*` attributes. These framework-owned attributes are queryable in the
|
|
153
|
+
Workflow dashboard, not on OTel spans. eve emits them for every session, turn,
|
|
154
|
+
and subagent run, whether or not `agent/instrumentation.ts` exists.
|
|
155
|
+
|
|
156
|
+
Structural tags describe a run's place in its tree:
|
|
157
|
+
|
|
158
|
+
- `$eve.type`: `"session"`, `"turn"`, or `"subagent"`.
|
|
159
|
+
- `$eve.parent`: the immediate parent session ID.
|
|
160
|
+
- `$eve.root`: the root session ID for the tree.
|
|
161
|
+
- `$eve.subagent`: the compiled graph node ID for a subagent run.
|
|
162
|
+
- `$eve.trigger`: the channel kind that started the run.
|
|
163
|
+
- `$eve.schedule`: the schedule that created the session.
|
|
164
|
+
- `$eve.title`: a truncated title from the first user message.
|
|
165
|
+
- `$eve.trace_id`: a sampled trace seed. Use it as a trace link, not a
|
|
166
|
+
conversation-wide identity.
|
|
167
|
+
|
|
168
|
+
Each turn also accumulates `$eve.model`, `$eve.input_tokens`,
|
|
169
|
+
`$eve.output_tokens`, `$eve.cache_read_tokens`, and `$eve.tool_count`. These
|
|
170
|
+
tags power the **Agent Runs** tab in Vercel's **Observability** view. See
|
|
171
|
+
[Deploy to Vercel](../guides/deployment/vercel#inspect-agent-runs) for
|
|
172
|
+
enablement.
|
|
173
|
+
|
|
174
|
+
## Debug discovery
|
|
175
|
+
|
|
176
|
+
Run `eve info` to see the instrumentation eve discovered and any diagnostics.
|
|
177
|
+
eve also writes these inspectable artifacts under `.eve/`:
|
|
178
|
+
|
|
179
|
+
| Artifact | Tells you |
|
|
180
|
+
| ------------------------------- | ----------------------------------- |
|
|
181
|
+
| `agent-discovery-manifest.json` | What eve found on disk. |
|
|
182
|
+
| `diagnostics.json` | Authored-shape errors and warnings. |
|
|
183
|
+
| `compiled-agent-manifest.json` | The surface eve loads at runtime. |
|
|
184
|
+
| `module-map.mjs` | Compiled module entry points. |
|
|
185
|
+
|
|
186
|
+
### Common failures
|
|
187
|
+
|
|
188
|
+
| Symptom | Next action |
|
|
189
|
+
| ------------------------------------- | ------------------------------------------------------------------------------------------------- |
|
|
190
|
+
| Instrumentation is not discovered. | Run `eve info`, confirm the file is in the expected slot, and read `.eve/diagnostics.json`. |
|
|
191
|
+
| A tool is not discovered. | Confirm it is under `agent/tools/`, default-exports `defineTool(...)`, and appears in `eve info`. |
|
|
192
|
+
| `eve build` reports discovery errors. | Read the printed diagnostics and `.eve/diagnostics.json`. |
|
|
193
|
+
|
|
194
|
+
## Instrumentation Providers
|
|
195
|
+
|
|
196
|
+
[Instrumentation Providers](./instrumentation-providers) is an experimental
|
|
197
|
+
multi-file alternative. It cannot be used with `agent/instrumentation.ts`.
|
|
198
|
+
Use it when you need independent lifecycle-event providers, OpenTelemetry
|
|
199
|
+
destinations, directional content capture, or per-destination redaction.
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Instrumentation Providers"
|
|
3
|
+
description: "Configure experimental instrumentation providers, handle lifecycle events, and control the content each provider receives."
|
|
4
|
+
url: "/observability/instrumentation-providers"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<Callout type="warning" title="Experimental">
|
|
8
|
+
This API is experimental and may change without a deprecation period.
|
|
9
|
+
</Callout>
|
|
10
|
+
|
|
11
|
+
Instrumentation providers split observability into files under `agent/instrumentation/`. Each provider handles eve lifecycle events without owning the rest of the telemetry pipeline. Configure OpenTelemetry destinations with the [built-in OpenTelemetry APIs](./otel).
|
|
12
|
+
|
|
13
|
+
Enable it explicitly in `agent.ts`:
|
|
14
|
+
|
|
15
|
+
```ts title="agent/agent.ts"
|
|
16
|
+
import { defineAgent } from "eve";
|
|
17
|
+
|
|
18
|
+
export default defineAgent({
|
|
19
|
+
model: "anthropic/claude-sonnet-5",
|
|
20
|
+
experimental: {
|
|
21
|
+
instrumentationProviders: true,
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
The provider directory replaces `agent/instrumentation.ts`; the two layouts cannot be used together. See [Instrumentation](../observability/instrumentation) for the current single-file API.
|
|
27
|
+
|
|
28
|
+
## Add a provider
|
|
29
|
+
|
|
30
|
+
The filename identifies the provider slot. A lifecycle-event provider file
|
|
31
|
+
must default-export `defineInstrumentation(...)` or `disableInstrumentation()`.
|
|
32
|
+
See [OpenTelemetry](./otel) for the supported OTel declarations.
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
agent/instrumentation/
|
|
36
|
+
audit.ts lifecycle event provider
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
This provider records action timing and identity without receiving tool arguments or results:
|
|
40
|
+
|
|
41
|
+
```ts title="agent/instrumentation/audit.ts"
|
|
42
|
+
import { defineInstrumentation } from "eve/instrumentation";
|
|
43
|
+
|
|
44
|
+
export default defineInstrumentation({
|
|
45
|
+
events: {
|
|
46
|
+
"action.started": (event, ctx) => {
|
|
47
|
+
ctx.state.set({ name: event.name, startedAt: Date.now() });
|
|
48
|
+
},
|
|
49
|
+
"action.completed": (event, ctx) => {
|
|
50
|
+
const started = ctx.state.get() as { name: string; startedAt: number } | undefined;
|
|
51
|
+
if (started === undefined) return;
|
|
52
|
+
|
|
53
|
+
console.log({
|
|
54
|
+
action: started.name,
|
|
55
|
+
durationMs: Date.now() - started.startedAt,
|
|
56
|
+
outcome: event.outcome,
|
|
57
|
+
});
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
`ctx.state` is JSON storage scoped to this provider and operation. It survives durable suspension and is released after the terminal event.
|
|
64
|
+
|
|
65
|
+
## Control inputs and outputs
|
|
66
|
+
|
|
67
|
+
Each provider has an independent `tracePolicy`. It decides whether the provider
|
|
68
|
+
receives a trace and whether its events include input or output content.
|
|
69
|
+
|
|
70
|
+
```ts title="agent/instrumentation/audit.ts"
|
|
71
|
+
import { defineInstrumentation } from "eve/instrumentation";
|
|
72
|
+
|
|
73
|
+
export default defineInstrumentation({
|
|
74
|
+
tracePolicy: ({ audience, environment }) => ({
|
|
75
|
+
emit: true,
|
|
76
|
+
recordInputs: audience === "public" || environment === "development",
|
|
77
|
+
recordOutputs: audience === "public" || environment === "development",
|
|
78
|
+
}),
|
|
79
|
+
events: {
|
|
80
|
+
"model.call.started": (event) => {
|
|
81
|
+
console.log("input", event.input);
|
|
82
|
+
},
|
|
83
|
+
"model.call.completed": (event) => {
|
|
84
|
+
console.log("output", event.content);
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
The function receives `agentName`, `channel`, `audience`, `mode`,
|
|
91
|
+
`environment`, and `principalType`. `audience` is `"public"`, `"private"`, or
|
|
92
|
+
`"unknown"`; `environment` is `"development"`, `"preview"`, or
|
|
93
|
+
`"production"`.
|
|
94
|
+
|
|
95
|
+
Without a policy, or when it returns `true`, eve sends the provider metadata
|
|
96
|
+
for every trace. It includes input and output content in these cases:
|
|
97
|
+
|
|
98
|
+
| Environment | Audience | Content |
|
|
99
|
+
| --------------------- | ---------------------- | ------------------ |
|
|
100
|
+
| Development | Any | Inputs and outputs |
|
|
101
|
+
| Preview or production | `public` | Inputs and outputs |
|
|
102
|
+
| Preview or production | `private` or `unknown` | Metadata only |
|
|
103
|
+
|
|
104
|
+
Return `{ emit: false }` to not sample the trace for this provider. Return
|
|
105
|
+
`{ emit: true, recordInputs, recordOutputs }` to choose the two content
|
|
106
|
+
directions explicitly. Inputs include model prompts, tool arguments, channel
|
|
107
|
+
input, and user responses. Outputs include model responses, tool results,
|
|
108
|
+
requests for user input, provider metadata, and error details. Omitted content
|
|
109
|
+
fields are unavailable to the handler.
|
|
110
|
+
|
|
111
|
+
The channel assigns the audience once when it creates the session. It controls
|
|
112
|
+
content capture, not access. Configure it in the [default eve HTTP
|
|
113
|
+
channel](../channels/eve#audience) or a [custom
|
|
114
|
+
channel](../channels/custom#conversation-audience).
|
|
115
|
+
|
|
116
|
+
## Redact fields in a custom provider
|
|
117
|
+
|
|
118
|
+
Lifecycle events are immutable snapshots. Copy the fields you need into a destination-specific payload and redact that copy before sending it:
|
|
119
|
+
|
|
120
|
+
```ts title="agent/instrumentation/audit.ts"
|
|
121
|
+
import { defineInstrumentation } from "eve/instrumentation";
|
|
122
|
+
|
|
123
|
+
export default defineInstrumentation({
|
|
124
|
+
tracePolicy: () => ({
|
|
125
|
+
emit: true,
|
|
126
|
+
recordInputs: true,
|
|
127
|
+
recordOutputs: false,
|
|
128
|
+
}),
|
|
129
|
+
events: {
|
|
130
|
+
"action.started": async (event) => {
|
|
131
|
+
await sendAuditRecord({
|
|
132
|
+
id: event.idempotencyKey,
|
|
133
|
+
input: redactApiKey(event.input),
|
|
134
|
+
kind: event.kind,
|
|
135
|
+
name: event.name,
|
|
136
|
+
});
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
function redactApiKey(value: unknown): unknown {
|
|
142
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) return value;
|
|
143
|
+
|
|
144
|
+
const record = value as Record<string, unknown>;
|
|
145
|
+
return "apiKey" in record ? { ...record, apiKey: "[redacted]" } : record;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
async function sendAuditRecord(record: unknown): Promise<void> {
|
|
149
|
+
// Send the sanitized record to your provider.
|
|
150
|
+
void record;
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Prefer `recordInputs: false` or `recordOutputs: false` when the destination does not need an entire content direction. Use field-level redaction only when the destination needs part of that content.
|
|
155
|
+
|
|
156
|
+
## Lifecycle events
|
|
157
|
+
|
|
158
|
+
Providers can handle session, channel delivery, turn, model attempt, model call, action, input request, and tool call events. Start and terminal events share an `idempotencyKey`, which can serve as a destination row ID.
|
|
159
|
+
|
|
160
|
+
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.
|
|
161
|
+
|
|
162
|
+
Handlers for different providers run concurrently and are failure-isolated. Do not depend on provider execution order. Use `flush` to drain buffered records and `shutdown` to release resources.
|
|
163
|
+
|
|
164
|
+
## What to read next
|
|
165
|
+
|
|
166
|
+
- [Instrumentation](../observability/instrumentation): configure the current single-file API
|
|
167
|
+
- [OpenTelemetry](./otel): configure OTel destinations and managed exports.
|
|
168
|
+
- [Local development](../guides/dev-tui): inspect local traces in the TUI
|
|
169
|
+
- [Hooks](../guides/hooks): react to runtime events outside the instrumentation provider API
|
package/docs/guides/meta.json
CHANGED
|
@@ -139,26 +139,22 @@ Identity forwarding does not make a persistent session private to one caller. Co
|
|
|
139
139
|
|
|
140
140
|
Forwarding is explicit on both sides. The receiver names which forwarders it trusts with `eveChannel({ trustedForwarders })` (see [Auth & route protection](./auth-and-route-protection#accepting-forwarded-identity-from-another-deployment)); a receiver that refuses the forwarder — or has no `trustedForwarders` at all — rejects with a 403 and the dispatch fails.
|
|
141
141
|
|
|
142
|
-
|
|
142
|
+
## Trace propagation
|
|
143
143
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
child activation starts a separate trace. The first activation uses the
|
|
150
|
-
caller preserved in W3C `tracestate`, falling back to incoming `traceparent`,
|
|
151
|
-
as an `agent.dispatch` span link rather than adopting the caller's trace ID.
|
|
152
|
-
|
|
153
|
-
> ⚠️ **Upgrade both deployments before resuming persistent remote sessions.** A sender with continuation forwarding includes `forwardedPrincipal` on each authenticated follow-up. A receiver that supports forwarding only on session creation rejects that continuation with HTTP 400. eve does not retry without the field because that would run the follow-up as the transport service principal and silently change caller authority. The parent retains the child handle after this failure, so you can retry the same session after upgrading the receiver.
|
|
154
|
-
|
|
155
|
-
A receiver on an eve version that predates all principal forwarding may instead drop the unknown field and run the session as your app's service identity; per-user connections there fail with `principal_required`. On remote requests where the dispatching turn has no auth, the field is omitted and the call proceeds on transport trust alone.
|
|
144
|
+
Each remote turn starts a new trace. eve links the child trace to the
|
|
145
|
+
dispatching turn and carries `gen_ai.conversation.id` so you can find the
|
|
146
|
+
traces for one conversation. Trace context is observability metadata, not an
|
|
147
|
+
authorization grant. See [OpenTelemetry](../observability/otel#trace-topology)
|
|
148
|
+
for the trace topology.
|
|
156
149
|
|
|
157
150
|
## Preserving trace content
|
|
158
151
|
|
|
159
|
-
With `forwardPrincipal: true`, a sampled
|
|
152
|
+
With `forwardPrincipal: true`, a sampled remote dispatch forwards its original
|
|
153
|
+
audience and the maximum input and output content the next hop may record. eve
|
|
154
|
+
sends this policy as [W3C Baggage](https://www.w3.org/TR/baggage/).
|
|
160
155
|
|
|
161
|
-
The
|
|
156
|
+
The receiving deployment uses the policy only after it trusts the calling
|
|
157
|
+
deployment:
|
|
162
158
|
|
|
163
159
|
```ts title="agent/channels/eve.ts"
|
|
164
160
|
import { eveChannel } from "eve/channels/eve";
|
|
@@ -171,13 +167,15 @@ export default eveChannel({
|
|
|
171
167
|
});
|
|
172
168
|
```
|
|
173
169
|
|
|
174
|
-
The request must
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
The live delivery audience still matters. An unknown callback delivery, or one matching the origin, uses the session decision. A different explicit audience applies its own hard ceiling, so a private delivery stays redacted even when the trace began in public.
|
|
170
|
+
The request must include a callback and a valid sampled `traceparent`.
|
|
171
|
+
`trustedForwarders` is the authorization boundary. When the assertion is
|
|
172
|
+
accepted, the receiver uses the forwarded audience instead of reclassifying
|
|
173
|
+
the child session with its local channel.
|
|
179
174
|
|
|
180
|
-
|
|
175
|
+
The receiver combines the forwarded ceiling with its own trace policy. Each
|
|
176
|
+
hop may narrow content capture, but cannot restore inputs or outputs removed by
|
|
177
|
+
an earlier hop. Missing, malformed, unsampled, or untrusted assertions do not
|
|
178
|
+
widen capture and use metadata-only tracing.
|
|
181
179
|
|
|
182
180
|
## How remote dispatch and callbacks work
|
|
183
181
|
|
|
@@ -12,7 +12,7 @@ Run `eve add` from an eve agent project. This installs the integration's depende
|
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
14
|
eve add extension/agent-browser
|
|
15
|
-
eve add linear
|
|
15
|
+
eve add channel/linear
|
|
16
16
|
eve add instrumentation/braintrust
|
|
17
17
|
eve add memory/file
|
|
18
18
|
```
|
|
@@ -25,9 +25,7 @@ If you do not know an item name yet, run `eve add` without an argument. Its help
|
|
|
25
25
|
|
|
26
26
|
Extensions may create a mount under `agent/extensions/`. Connections write their initial definition under `agent/connections/` and install `@vercel/connect` when required. Instrumentation providers write `agent/instrumentation.ts`; because an agent has one instrumentation file, compose multiple exporters there by hand. Configure generated files and required environment variables before running your agent.
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
When an official item declares an interactive setup flow or flows, eve asks whether to run them after installation and runs multiple flows in declaration order. Run the printed `eve add <item> --skip-install` command to resume a skipped or cancelled setup later; it reruns the selected components' declared flows from the beginning.
|
|
28
|
+
When an official item declares an interactive setup flow or flows, eve asks whether to run them after installation and runs multiple flows in declaration order. Run the printed `eve add <item> --skip-install` command to resume a skipped or cancelled setup later; it reruns the item's declared flows from the beginning.
|
|
31
29
|
|
|
32
30
|
For example, `eve add memory/file` can provision its required storage through the same setup flow. After **Install and set up**, eve creates or reuses a dedicated private Vercel Blob store, connects production, preview, and development with namespaced credentials, pulls the environment, and offers to deploy. The review and setup transcript show the project, store, primary function region, environments, and possible Blob usage charges before provisioning.
|
|
33
31
|
|
|
@@ -175,7 +175,7 @@ turn recalls the same data again.
|
|
|
175
175
|
- A throwing or invalid `recall["turn.started"]` fails the turn before the
|
|
176
176
|
model call. No slot's recall results are committed. If the turn's
|
|
177
177
|
`abortSignal` is already aborted, eve treats the error as cancellation and
|
|
178
|
-
continues with any queued
|
|
178
|
+
continues with any queued follow-up. An `AbortError` with an active
|
|
179
179
|
signal still fails the turn.
|
|
180
180
|
- A throwing `capture["compaction.requested"]` leaves history unchanged.
|
|
181
181
|
- A throwing `recall["compaction.completed"]` fails an automatic turn. For
|
|
@@ -91,7 +91,7 @@ eve to require the authenticated user from route auth, key the step-local token
|
|
|
91
91
|
cache by that user, and pass the projected principal into `getToken`:
|
|
92
92
|
|
|
93
93
|
```ts title="agent/lib/tenant-connection-auth.ts"
|
|
94
|
-
import type {
|
|
94
|
+
import type { ConnectionAuthProvider, ConnectionPrincipal } from "eve/connections";
|
|
95
95
|
import { tenantCredentials, type TenantService } from "./tenant-credentials";
|
|
96
96
|
|
|
97
97
|
function requireTenantPrincipal(principal: ConnectionPrincipal): {
|
|
@@ -107,9 +107,9 @@ function requireTenantPrincipal(principal: ConnectionPrincipal): {
|
|
|
107
107
|
return { tenantId, userId: principal.id };
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
-
export function tenantBearerAuth(service: TenantService):
|
|
110
|
+
export function tenantBearerAuth(service: TenantService): ConnectionAuthProvider {
|
|
111
111
|
return {
|
|
112
|
-
|
|
112
|
+
credentialOwner: "user",
|
|
113
113
|
async getToken({ principal }) {
|
|
114
114
|
const { tenantId, userId } = requireTenantPrincipal(principal);
|
|
115
115
|
const credential = await tenantCredentials.getBearer(tenantId, service, { userId });
|
package/docs/protocols/acp.md
CHANGED
|
@@ -15,7 +15,7 @@ Without a URL, the client starts one process from the eve application root. It s
|
|
|
15
15
|
eve acp https://agent.example.com
|
|
16
16
|
```
|
|
17
17
|
|
|
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.
|
|
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.
|
|
19
19
|
|
|
20
20
|
## Configure Zed
|
|
21
21
|
|