Agent SDKs
Not released yet. Both packages are built and conformance-tested, and neither is on npm or PyPI yet, so their install commands find nothing today. Until they are, send traces with OpenTelemetry as the quickstart shows; runs look the same either way.
Two thin packages for agents that are not on OpenTelemetry. Both are built on the e-volv logs SDKs, so a service that already logs through e-volv gets agent runs on the same trace with nothing new to configure. Every span they emit carries the attributes the rollup reads.
| Package | Gives you |
|---|---|
@e-volv/agents (Node.js) | init, traceAgent, traceChat, traceTool, withSession, withPrompt, instrumentOpenAI, instrumentAnthropic, traceMcp, aiMiddleware (Vercel AI SDK) |
evolv-agents (Python) | init, agent, chat, tool, session, prompt, instrument_openai, instrument_anthropic, trace_mcp |
Content capture
Prompts, completions, tool arguments and results are recorded only when init is given content: true (Node.js) or content=True (Python). Without it a run carries tokens, cost and structure, and cannot be replayed.
Node.js, once published
import {
init,
instrumentOpenAI,
traceAgent,
traceTool,
withSession,
} from '@e-volv/agents';
init({
key: process.env.EVOLVE_AGENTS_KEY,
url: 'https://api.e-volv.io/api/public/v1/logs',
service: 'support-bot',
});
const openai = instrumentOpenAI(new OpenAI());
await withSession({ sessionId, userId }, () =>
traceAgent('triage', async () => {
const res = await openai.chat.completions.create({
model: 'gpt-5-mini',
messages,
});
await traceTool('read_ticket', () => tickets.read(id));
return res.choices[0].message.content;
})
);withPrompt and prompt stamp the prompt name and version on every span inside them, so each version on the prompts page shows the cost and score of the runs that used it.