/** * Cost tracking type definitions for Babysitter SDK. * * Covers Anthropic Claude API token usage structures as seen in Claude Code * session JSONL files, plus aggregation interfaces for run-level and * cross-run cost reporting. * * Pricing source: https://docs.anthropic.com/en/docs/about-claude/pricing * Last verified: 2026-04-05 */ /** * Token/cost data for a single API interaction (assistant message). */ export interface CostEventData { model: string; provider?: string; runId?: string; sessionId?: string; inputTokens: number; outputTokens: number; cacheCreationTokens: number; cacheReadTokens: number; /** Compatibility alias consumed by the runtime effect index. */ cacheCreationInputTokens?: number; /** Compatibility alias consumed by the runtime effect index. */ cacheReadInputTokens?: number; cacheCreation5mTokens: number; cacheCreation1hTokens: number; serviceTier?: string; effectId?: string; taskId?: string; taskKind?: string; source?: string; idempotencyKey?: string; durationMs?: number; costUsd?: number; timestamp?: string; } export interface ModelCostStats { model: string; eventCount: number; inputTokens: number; outputTokens: number; cacheCreationTokens: number; cacheReadTokens: number; costUsd: number; } export interface KindCostStats { kind: string; eventCount: number; costUsd: number; } export interface RunCostStats { runId: string; date: string; eventCount: number; totalInputTokens: number; totalOutputTokens: number; totalCacheCreation: number; totalCacheRead: number; totalCostUsd: number; byModel: Record; byKind: Record; } export interface AggregateCostStats { totalRuns: number; totalEvents: number; totalInputTokens: number; totalOutputTokens: number; totalCacheCreation: number; totalCacheRead: number; totalCostUsd: number; overallCostUsd: number; runs: RunCostStats[]; } export interface ModelPricing { inputPer1M: number; outputPer1M: number; cacheCreationPer1M: number; cacheReadPer1M: number; } export interface ModelPricingExtended extends ModelPricing { cacheCreation5mPer1M: number; cacheCreation1hPer1M: number; } export interface CostStatsOptions { runId?: string; all?: boolean; json?: boolean; runsDir?: string; model?: string; kind?: string; since?: string; until?: string; } export { MODEL_PRICING, MODEL_PRICING_EXTENDED, calculateCostUsd, calculateCostUsdExtended, } from "./pricing"; //# sourceMappingURL=types.d.ts.map