@raindrop-ai/mastra
v0.0.8
Published
Raindrop integration for Mastra
Keywords
Readme
@raindrop-ai/mastra
Raindrop integration for Mastra. Automatically captures agent.generate() calls by wrapping the Mastra agent.
Installation
npm install @raindrop-ai/mastra @mastra/coreUsage
import { createRaindropMastra } from "@raindrop-ai/mastra";
import { Agent } from "@mastra/core/agent";
import { openai } from "@ai-sdk/openai";
const raindrop = createRaindropMastra({ writeKey: "your-write-key", userId: "user-123" });
const agent = new Agent({
name: "Assistant",
model: openai("gpt-4o-mini"),
instructions: "Be helpful",
});
const wrapped = raindrop.wrap(agent);
const response = await wrapped.generate("Hello!");
console.log(response.text);
await raindrop.shutdown();What gets captured
- Agent generate: input prompt, output text, model, token usage
- Errors: captured with error status, re-thrown to caller
Options
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| writeKey | string | - | Raindrop API write key (omit to disable telemetry) |
| endpoint | string | https://api.raindrop.ai/v1/ | Raindrop API endpoint |
| userId | string | - | Associate all events with a user |
| convoId | string | - | Group events into a conversation |
| projectId | string | - | Route events to a specific project (slug); omit for the default Production project |
| debug | boolean | false | Enable verbose logging |
| maxTextFieldChars | number | 1000000 | Per-field cap for event input/output and serialized span payloads, enforced before/during serialization (truncated values end with ...[truncated by raindrop]; a stricter OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT env var is honored) |
Projects
If your org has multiple projects, route events to a specific one by passing its slug as projectId:
const raindrop = createRaindropMastra({
writeKey: "your-write-key",
projectId: "support-prod",
});This sets the X-Raindrop-Project-Id header on every event. Omit it (or pass "default") to use your org's default Production project — the existing behavior. Single-project orgs need nothing new.
Testing
pnpm test