Eve (tracing)
Eve (tracing)
Eve is Vercel’s TypeScript framework for durable agents. Respan maps Eve turns and sessions into agent traces, translates the nested AI SDK model and tool spans, and preserves exact delegated-session lineage.
Set up Respan
Create an account at platform.respan.ai and grab an API key.
Run npx @respan/cli setup to set up with your coding agent.
Use Respan Gateway
See Eve gateway setup to route Eve model calls through the Respan gateway.
Example projects
Setup
The initial supported versions are Eve 0.26.1, AI SDK 7.0.26, and Node.js 24 or newer. Eve owns the AI SDK OpenTelemetry registration; do not install another AI SDK telemetry bridge for this integration.
Set the Respan API key
This key exports traces to Respan. Your existing Eve model configuration continues to control model authentication and routing.
Initialize Respan in Eve
Create agent/instrumentation.ts. Initialize Respan at module scope and await it before exporting Eve’s instrumentation definition.
Do not initialize Respan inside Eve’s synchronous setup callback. Module-scope initialization installs the span processor before Eve creates its first turn span.
Eve detects agent/instrumentation.ts and enables its vendored AI SDK telemetry integration. Do not register @vercel/otel, @ai-sdk/otel, or VercelAIInstrumentor alongside EveInstrumentor.
View the trace
Open the Traces page. An Eve turn appears as an agent root with task, chat, tool, and delegated-agent children.
Capture model content
The safe setup above does not export model inputs or outputs. Enable either Eve option only after confirming that exporting conversation content matches your privacy and retention requirements.
With both options enabled, Respan records serialized chat input and output. Tool spans include their structured arguments and result.
Delegated subagents
Keep withEveLineage(...) enabled when your agent declares subagents. Eve starts a delegated session in a separate OpenTelemetry trace; the helper uses Eve’s exact parent-session and parent-turn lineage so Respan can attach the child agent subtree to its caller.
If lineage is missing or ambiguous, Respan leaves the sessions as separate traces rather than guessing. Without the helper, each Eve session uses its own session ID as its trace group.
If you already define a step.started event hook, put it inside defineInstrumentation. The helper composes the hook and preserves its returned runtime context.
Do not put secrets in runtime context. User-authored runtime-context values are exported as Eve metadata even when input and output recording are disabled.
What is captured
- Eve turns as agent spans and model steps as task spans
- AI SDK chat spans with model, provider, streaming state, and token usage
- Tool calls with structured input and output
- Eve’s instrumentation
functionIdas the workflow name on every nested span - Current and root session identifiers for thread and trace grouping
- Delegated child agents nested under the calling Eve turn when exact lineage is available
- Eve version, environment, turn, step, channel, and authored runtime-context metadata