@raindrop-ai/temporal
v0.0.1
Published
Raindrop integration for Temporal workflows and activities
Keywords
Readme
@raindrop-ai/temporal
Raindrop integration for Temporal. Automatically instruments workflow executions, activity spans, and distributed trace propagation across workers.
Installation
npm install @raindrop-ai/temporal @temporalio/client @temporalio/workerUsage
Client
import { Client, Connection } from "@temporalio/client";
import { createRaindropTemporal } from "@raindrop-ai/temporal";
const raindrop = createRaindropTemporal({
writeKey: process.env.RAINDROP_WRITE_KEY,
userId: "user-123",
});
const connection = await Connection.connect();
const client = new Client({
connection,
interceptors: {
workflow: [raindrop.interceptors.client],
},
});
const handle = await client.workflow.start("processOrder", {
taskQueue: "my-queue",
workflowId: "order-123",
args: [{ orderId: "order-123" }],
});
await raindrop.shutdown();Worker
import { Worker } from "@temporalio/worker";
import { createRaindropTemporal } from "@raindrop-ai/temporal";
import * as activities from "./activities";
const raindrop = createRaindropTemporal({
writeKey: process.env.RAINDROP_WRITE_KEY,
});
const worker = await Worker.create({
taskQueue: "my-queue",
workflowsPath: require.resolve("./workflows"),
activities,
interceptors: {
activity: [raindrop.interceptors.activityFactory],
workflowModules: ["@raindrop-ai/temporal/workflow-interceptors"],
},
sinks: raindrop.sinks,
});
process.on("SIGINT", async () => {
await worker.shutdown();
await raindrop.shutdown();
});
await worker.run();What gets captured
- Workflow triggers — span when a client starts a workflow
- Workflow execution — span covering the full workflow lifecycle
- Activities — each activity appears as a tool call in the Raindrop dashboard
- Child workflows — nested under their parent with correct span hierarchy
- Distributed traces — context propagated across workers via Temporal headers
- Errors — captured with error status, re-thrown to caller
Options
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| writeKey | string | — | Raindrop write key. Omit to disable telemetry. |
| endpoint | string | https://api.raindrop.ai/v1/ | API endpoint |
| userId | string | — | Associate events with a user |
| convoId | string | — | Group events into a conversation |
| debug | boolean | false | Enable verbose logging |
Documentation
Full docs with dashboard screenshots and architecture details: raindrop.ai/docs/integrations/temporal
License
MIT
