Skip to main content

Installation

npm install @raindrop-ai/vertex-ai @google/genai

Quick Start

import { createRaindropVertexAI } from "@raindrop-ai/vertex-ai";
import { GoogleGenAI } from "@google/genai";

const raindrop = createRaindropVertexAI({
  writeKey: "rk_...",
  userId: "user-123",
});

const client = new GoogleGenAI({ apiKey: "..." });
const wrapped = raindrop.wrap(client);

const response = await wrapped.models.generateContent({
  model: "gemini-2.0-flash",
  contents: "What is the capital of France?",
});

console.log(response.text);
await raindrop.shutdown();

What Gets Traced

  • generateContent — input text (user messages only), output, model, token usage (promptTokenCount/candidatesTokenCount)
  • Errors — captured with error status, re-thrown to caller

Configuration

const raindrop = createRaindropVertexAI({
  writeKey: "rk_...",       // Optional: omit to disable telemetry
  endpoint: "...",          // Optional: custom Raindrop API endpoint
  userId: "user-123",      // Optional: associate events with a user
  convoId: "convo-456",    // Optional: conversation/thread ID
  debug: false,             // Optional: enable verbose logging
});

Flushing and Shutdown

await raindrop.flush();     // flush pending data
await raindrop.shutdown();  // flush + release resources

Known Limitations

  • Python SDK: No events.*, users.identify, or signals.track APIs — use raindrop.analytics directly for these features.
  • Streaming: generateContentStream() is not instrumented. Only generateContent() is traced.