Eve Instrumentor

Normalize Eve agent, AI SDK, tool, and delegated-session spans for Respan.

1import { Respan } from "@respan/respan";
2import { EveInstrumentor } from "@respan/instrumentation-eve";
3
4const respan = new Respan({
5 instrumentations: [new EveInstrumentor()],
6});
7await respan.initialize();

Install

$npm install @respan/respan @respan/instrumentation-eve eve@0.26.1 ai@7.0.26

The initial supported versions are Eve 0.26.1, AI SDK 7.0.26, and Node.js 24 or newer.

Configure Eve

Create agent/instrumentation.ts and initialize Respan at module scope:

agent/instrumentation.ts
1import { Respan } from "@respan/respan";
2import {
3 EveInstrumentor,
4 withEveLineage,
5} from "@respan/instrumentation-eve";
6import { defineInstrumentation } from "eve/instrumentation";
7
8const respan = new Respan({
9 apiKey: process.env.RESPAN_API_KEY,
10 instrumentations: [new EveInstrumentor()],
11});
12
13await respan.initialize();
14
15export default withEveLineage(
16 defineInstrumentation({
17 recordInputs: false,
18 recordOutputs: false,
19 }),
20);

Eve owns AI SDK telemetry registration. Do not activate VercelAIInstrumentor or register another @ai-sdk/otel bridge in the same Eve process.

Public API

ExportTypeDescription
EveInstrumentorclassActivates Eve span preprocessing and AI SDK span translation. The constructor takes no options.
withEveLineagefunctionComposes an Eve instrumentation definition with exact root and parent-session lineage for delegated subagents.

Content capture

Input and output capture is configured through Eve’s defineInstrumentation, not through EveInstrumentor.

1export default withEveLineage(
2 defineInstrumentation({
3 recordInputs: true,
4 recordOutputs: true,
5 }),
6);

Enable content only when exporting it is appropriate for your privacy and retention requirements.