AI Observability Quickstart
Developer Guide • Metering LLMs, Prompt Caching ROI & Budget Alerting
1. Quickstart: 3-Minute Integration
You can integrate XTND Sonar into any Node.js, Cloudflare Worker, or browser project in three simple steps:
Step 1: Install the Standalone SDK
npm install @xtnd-dynamics/xtnd-sonar-sdk
Step 2: Route Your AI SDK Through the Gateway
Direct your AI client's base URL to https://api.sonar.vantage.xgi.io/v1/proxy/<provider>:
Anthropic:
import Anthropic from '@anthropic-ai/sdk';
const anthropic = new Anthropic({
baseURL: 'https://api.sonar.vantage.xgi.io/v1/proxy/anthropic',
apiKey: process.env.ANTHROPIC_API_KEY,
});
OpenAI:
import OpenAI from 'openai';
const openai = new OpenAI({
baseURL: 'https://api.sonar.vantage.xgi.io/v1/proxy/openai/v1',
apiKey: process.env.OPENAI_API_KEY,
});
Google Gemini:
import { GoogleGenerativeAI } from '@google/generative-ai';
// Construct fetch requests targeting:
// https://api.sonar.vantage.xgi.io/v1/proxy/gemini/v1beta/models/gemini-2.0-flash:generateContent?key=YOUR_API_KEY
2. Calculating Prompt Caching ROI
Prompt caching drastically cuts LLM operating costs (Anthropic offers up to 90% savings on cache hits). Sonar computes your exact savings on every request:
import { calculateTokenCost } from '@xtnd-dynamics/xtnd-sonar-sdk';
// Simulated response usage from Claude 3.7
const responseUsage = {
input_tokens: 15000,
cache_read_input_tokens: 12000, // 12,000 cached tokens
output_tokens: 1800,
};
const cost = calculateTokenCost('claude-3-7-sonnet', {
promptTokens: responseUsage.input_tokens,
cachedPromptTokens: responseUsage.cache_read_input_tokens,
completionTokens: responseUsage.output_tokens,
});
console.log('--- Inference Economics ---');
console.log(`Uncached Prompt Cost: $${cost.promptCostUsd.toFixed(4)}`);
console.log(`Cached Prompt Cost: $${cost.cachedPromptCostUsd.toFixed(4)}`);
console.log(`Completion Cost: $${cost.completionCostUsd.toFixed(4)}`);
console.log(`Total Billed: $${cost.totalCostUsd.toFixed(4)}`);
console.log(`Dollar ROI (Saved): $${cost.cacheSavingsUsd.toFixed(4)}`);
3. Quota Management & Automated Kill-Switches
import { sonar } from '@xtnd-dynamics/xtnd-sonar-sdk';
// Set up monthly tracking
sonar.quotas.updateQuota({
provider: 'anthropic',
monthlyLimitUsd: 1000.00,
currentSpendUsd: 992.00, // < 1% remaining -> Dispatches P0_CRITICAL event
billingRenewsAt: '2026-10-01T00:00:00Z',
});
// Guard an inference invocation
const quota = sonar.quotas.getQuota('anthropic');
if (quota && quota.remainingPercent <= 1.0) {
// Gracefully fallback to an ultra-cheap model or display an alert
console.warn('Anthropic budget exhausted. Falling back to Gemini Flash.');
}