@sentrial/mastra
v0.1.2
Published
Sentrial integration for Mastra AI agents — automatic session, step, and tool call tracking
Readme
@sentrial/mastra
Automatic instrumentation for Mastra AI agents. One function call tracks sessions, LLM steps, tool calls, tokens, cost, and latency.
Install
npm install @sentrial/mastra @sentrial/sdk
# or
pnpm add @sentrial/mastra @sentrial/sdkQuick Start
import { instrumentAgent } from '@sentrial/mastra';
import { myAgent } from './mastra/agents/my-agent';
const agent = instrumentAgent(myAgent, {
apiKey: process.env.SENTRIAL_API_KEY,
});
// Every generate() and stream() call is now tracked
const result = await agent.generate('What is the weather in NYC?');Multi-Turn Conversations
Mastra's memory options are automatically mapped:
memory.resource→ SentrialuserIdmemory.thread→ SentrialconvoId
const result = await agent.generate('Remember my name is Alice', {
memory: { resource: 'user-123', thread: 'convo-456' },
});What Gets Tracked
| Mastra Event | Sentrial Tracking |
|---|---|
| Each generate()/stream() call | Session with duration, cost, tokens |
| Each LLM step (onStepFinish) | Tool call event: llm:{provider}:{model} |
| Each tool call within a step | Tool call event with input/output |
| Errors | Error event + failed session |
| Final output text | Session assistantOutput |
Per-Call Overrides
const result = await agent.generate('Hello', {
sentrial: {
userId: 'custom-user',
convoId: 'custom-convo',
metadata: { experiment: 'v2' },
},
});Options
instrumentAgent(agent, {
apiKey: 'sentrial_live_...', // or SENTRIAL_API_KEY env var
apiUrl: 'https://...', // custom API URL
agentName: 'my-agent', // defaults to agent.name or agent.id
failSilently: true, // default: true
pii: true, // auto-fetch PII redaction config
});