@stackbilt/llm-providers 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +112 -85
  3. package/dist/errors.d.ts +18 -1
  4. package/dist/errors.d.ts.map +1 -1
  5. package/dist/errors.js +12 -4
  6. package/dist/errors.js.map +1 -1
  7. package/dist/factory.d.ts +62 -4
  8. package/dist/factory.d.ts.map +1 -1
  9. package/dist/factory.js +630 -92
  10. package/dist/factory.js.map +1 -1
  11. package/dist/image/index.d.ts +5 -0
  12. package/dist/image/index.d.ts.map +1 -0
  13. package/dist/image/index.js +3 -0
  14. package/dist/image/index.js.map +1 -0
  15. package/dist/image/provider.d.ts +44 -0
  16. package/dist/image/provider.d.ts.map +1 -0
  17. package/dist/image/provider.js +182 -0
  18. package/dist/image/provider.js.map +1 -0
  19. package/dist/image/types.d.ts +45 -0
  20. package/dist/image/types.d.ts.map +1 -0
  21. package/dist/image/types.js +83 -0
  22. package/dist/image/types.js.map +1 -0
  23. package/dist/index.d.ts +46 -12
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +73 -14
  26. package/dist/index.js.map +1 -1
  27. package/dist/providers/anthropic.d.ts +5 -2
  28. package/dist/providers/anthropic.d.ts.map +1 -1
  29. package/dist/providers/anthropic.js +118 -43
  30. package/dist/providers/anthropic.js.map +1 -1
  31. package/dist/providers/base.d.ts +18 -2
  32. package/dist/providers/base.d.ts.map +1 -1
  33. package/dist/providers/base.js +107 -5
  34. package/dist/providers/base.js.map +1 -1
  35. package/dist/providers/cerebras.d.ts +0 -0
  36. package/dist/providers/cerebras.d.ts.map +1 -1
  37. package/dist/providers/cerebras.js +21 -13
  38. package/dist/providers/cerebras.js.map +1 -1
  39. package/dist/providers/cloudflare.d.ts +0 -0
  40. package/dist/providers/cloudflare.d.ts.map +1 -1
  41. package/dist/providers/cloudflare.js +12 -8
  42. package/dist/providers/cloudflare.js.map +1 -1
  43. package/dist/providers/groq.d.ts +2 -1
  44. package/dist/providers/groq.d.ts.map +1 -1
  45. package/dist/providers/groq.js +95 -15
  46. package/dist/providers/groq.js.map +1 -1
  47. package/dist/providers/openai.d.ts +2 -0
  48. package/dist/providers/openai.d.ts.map +1 -1
  49. package/dist/providers/openai.js +56 -24
  50. package/dist/providers/openai.js.map +1 -1
  51. package/dist/types.d.ts +114 -4
  52. package/dist/types.d.ts.map +1 -1
  53. package/dist/types.js +0 -0
  54. package/dist/types.js.map +0 -0
  55. package/dist/utils/circuit-breaker.d.ts +5 -2
  56. package/dist/utils/circuit-breaker.d.ts.map +1 -1
  57. package/dist/utils/circuit-breaker.js +18 -13
  58. package/dist/utils/circuit-breaker.js.map +1 -1
  59. package/dist/utils/cost-tracker.d.ts +9 -2
  60. package/dist/utils/cost-tracker.d.ts.map +1 -1
  61. package/dist/utils/cost-tracker.js +20 -9
  62. package/dist/utils/cost-tracker.js.map +1 -1
  63. package/dist/utils/credit-ledger.d.ts +3 -0
  64. package/dist/utils/credit-ledger.d.ts.map +1 -1
  65. package/dist/utils/credit-ledger.js +5 -2
  66. package/dist/utils/credit-ledger.js.map +1 -1
  67. package/dist/utils/exhaustion.d.ts +38 -0
  68. package/dist/utils/exhaustion.d.ts.map +1 -0
  69. package/dist/utils/exhaustion.js +74 -0
  70. package/dist/utils/exhaustion.js.map +1 -0
  71. package/dist/utils/hooks.d.ts +113 -0
  72. package/dist/utils/hooks.d.ts.map +1 -0
  73. package/dist/utils/hooks.js +44 -0
  74. package/dist/utils/hooks.js.map +1 -0
  75. package/dist/utils/latency-histogram.d.ts +38 -0
  76. package/dist/utils/latency-histogram.d.ts.map +1 -0
  77. package/dist/utils/latency-histogram.js +81 -0
  78. package/dist/utils/latency-histogram.js.map +1 -0
  79. package/dist/utils/logger.d.ts +18 -0
  80. package/dist/utils/logger.d.ts.map +1 -0
  81. package/dist/utils/logger.js +22 -0
  82. package/dist/utils/logger.js.map +1 -0
  83. package/dist/utils/retry.d.ts +4 -2
  84. package/dist/utils/retry.d.ts.map +1 -1
  85. package/dist/utils/retry.js +12 -8
  86. package/dist/utils/retry.js.map +1 -1
  87. package/package.json +2 -2
package/dist/types.d.ts CHANGED
@@ -2,6 +2,9 @@
2
2
  * LLM Provider Types
3
3
  * Unified types for all LLM providers with v2 architecture support
4
4
  */
5
+ import type { Logger } from './utils/logger';
6
+ import type { ObservabilityHooks } from './utils/hooks';
7
+ export type { Logger, ObservabilityHooks };
5
8
  export interface LLMMessage {
6
9
  role: 'user' | 'assistant' | 'system';
7
10
  content: string;
@@ -9,6 +12,17 @@ export interface LLMMessage {
9
12
  toolCalls?: ToolCall[];
10
13
  toolResults?: ToolResult[];
11
14
  }
15
+ export interface LLMImageInput {
16
+ data?: string;
17
+ url?: string;
18
+ mimeType?: string;
19
+ }
20
+ export interface GatewayMetadata {
21
+ requestId?: string;
22
+ cacheKey?: string;
23
+ cacheTtl?: number;
24
+ customMetadata?: Record<string, string>;
25
+ }
12
26
  export interface ToolCall {
13
27
  id: string;
14
28
  type: 'function';
@@ -29,6 +43,7 @@ export interface LLMRequest {
29
43
  maxTokens?: number;
30
44
  stream?: boolean;
31
45
  systemPrompt?: string;
46
+ images?: LLMImageInput[];
32
47
  tools?: Tool[];
33
48
  toolChoice?: 'auto' | 'none' | {
34
49
  type: 'function';
@@ -39,9 +54,11 @@ export interface LLMRequest {
39
54
  response_format?: {
40
55
  type: 'json_object' | 'text';
41
56
  };
57
+ seed?: number;
58
+ gatewayMetadata?: GatewayMetadata;
42
59
  tenantId?: string;
43
60
  requestId?: string;
44
- metadata?: Record<string, any>;
61
+ metadata?: Record<string, unknown>;
45
62
  }
46
63
  export interface Tool {
47
64
  type: 'function';
@@ -50,7 +67,7 @@ export interface Tool {
50
67
  description: string;
51
68
  parameters: {
52
69
  type: 'object';
53
- properties: Record<string, any>;
70
+ properties: Record<string, unknown>;
54
71
  required?: string[];
55
72
  };
56
73
  };
@@ -65,13 +82,13 @@ export interface LLMResponse {
65
82
  responseTime: number;
66
83
  finishReason?: 'stop' | 'length' | 'tool_calls' | 'content_filter';
67
84
  toolCalls?: ToolCall[];
68
- metadata?: Record<string, any>;
85
+ metadata?: Record<string, unknown>;
69
86
  }
70
87
  export interface TokenUsage {
71
88
  inputTokens: number;
72
89
  outputTokens: number;
73
90
  totalTokens: number;
74
- cost?: number;
91
+ cost: number;
75
92
  }
76
93
  export interface LLMProvider {
77
94
  name: string;
@@ -79,7 +96,10 @@ export interface LLMProvider {
79
96
  supportsStreaming: boolean;
80
97
  supportsTools: boolean;
81
98
  supportsBatching: boolean;
99
+ supportsVision?: boolean;
82
100
  generateResponse(request: LLMRequest): Promise<LLMResponse>;
101
+ streamResponse?(request: LLMRequest): Promise<ReadableStream<string>>;
102
+ getProviderBalance?(): Promise<ProviderBalance>;
83
103
  validateConfig(): boolean;
84
104
  getModels(): string[];
85
105
  estimateCost(request: LLMRequest): number;
@@ -110,6 +130,8 @@ export interface ProviderConfig {
110
130
  rateLimitRpd?: number;
111
131
  organization?: string;
112
132
  project?: string;
133
+ logger?: Logger;
134
+ hooks?: ObservabilityHooks;
113
135
  }
114
136
  export interface OpenAIConfig extends ProviderConfig {
115
137
  organization?: string;
@@ -186,6 +208,7 @@ export interface ModelCapabilities {
186
208
  maxContextLength: number;
187
209
  supportsStreaming: boolean;
188
210
  supportsTools: boolean;
211
+ supportsVision?: boolean;
189
212
  toolCalling?: boolean;
190
213
  supportsBatching: boolean;
191
214
  inputTokenCost: number;
@@ -215,6 +238,93 @@ export interface StreamResponse {
215
238
  stream: ReadableStream<StreamChunk>;
216
239
  controller: ReadableStreamDefaultController<StreamChunk>;
217
240
  }
241
+ export interface QuotaCheckInput {
242
+ tenantId?: string;
243
+ provider: string;
244
+ model: string;
245
+ estimatedCost: number;
246
+ metadata?: Record<string, unknown>;
247
+ }
248
+ export interface QuotaCheckResult {
249
+ allowed: boolean;
250
+ reason?: string;
251
+ remainingBudget?: number;
252
+ }
253
+ export interface QuotaRecordInput {
254
+ tenantId?: string;
255
+ provider: string;
256
+ model: string;
257
+ actualCost: number;
258
+ inputTokens?: number;
259
+ outputTokens?: number;
260
+ metadata?: Record<string, unknown>;
261
+ }
262
+ export interface QuotaHook {
263
+ check(input: QuotaCheckInput): Promise<QuotaCheckResult>;
264
+ record(input: QuotaRecordInput): Promise<void>;
265
+ }
266
+ export interface ToolExecutor {
267
+ execute(name: string, argumentsValue: unknown): Promise<unknown>;
268
+ }
269
+ export interface ToolLoopState {
270
+ iteration: number;
271
+ cumulativeCost: number;
272
+ messageCount: number;
273
+ lastToolCalls: ToolCall[];
274
+ }
275
+ export interface ToolLoopOptions {
276
+ maxIterations?: number;
277
+ maxCostUSD?: number;
278
+ onIteration?: (iteration: number, state: ToolLoopState) => void | Promise<void>;
279
+ abortSignal?: AbortSignal;
280
+ }
281
+ export interface ClassifyOptions<T = unknown> {
282
+ schema?: Record<string, unknown> | {
283
+ parse(data: unknown): T;
284
+ };
285
+ systemPrompt?: string;
286
+ model?: string;
287
+ temperature?: number;
288
+ maxTokens?: number;
289
+ confidenceField?: string;
290
+ seed?: number;
291
+ }
292
+ export interface ClassifyResult<T = unknown> {
293
+ data: T;
294
+ confidence?: number;
295
+ response: LLMResponse;
296
+ }
297
+ export interface AnalyzeImageInput {
298
+ image: LLMImageInput;
299
+ prompt: string;
300
+ model?: string;
301
+ systemPrompt?: string;
302
+ temperature?: number;
303
+ maxTokens?: number;
304
+ response_format?: LLMRequest['response_format'];
305
+ tenantId?: string;
306
+ requestId?: string;
307
+ metadata?: Record<string, unknown>;
308
+ }
309
+ export interface RateLimitBalance {
310
+ limit?: number;
311
+ used?: number;
312
+ remaining?: number;
313
+ }
314
+ export interface ProviderBalance {
315
+ provider: string;
316
+ status: 'available' | 'unavailable' | 'error';
317
+ source: 'provider_api' | 'ledger' | 'headers' | 'not_supported';
318
+ currentSpend?: number;
319
+ monthlyBudget?: number;
320
+ remainingBudget?: number;
321
+ usedTokens?: number;
322
+ requestCount?: number;
323
+ rateLimits?: Record<string, RateLimitBalance>;
324
+ resetAt?: string;
325
+ message?: string;
326
+ raw?: unknown;
327
+ }
218
328
  export interface BatchRequest {
219
329
  id: string;
220
330
  request: LLMRequest;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
File without changes
package/dist/types.js.map CHANGED
File without changes
@@ -3,9 +3,11 @@
3
3
  * Routes traffic away from failing providers with confidence-weighted degradation.
4
4
  */
5
5
  import type { CircuitBreakerConfig, CircuitBreakerState } from '../types';
6
+ import type { Logger } from './logger';
6
7
  export declare class CircuitBreaker {
7
8
  readonly name: string;
8
9
  private readonly config;
10
+ private readonly logger;
9
11
  private consecutiveFailures;
10
12
  private totalFailures;
11
13
  private totalSuccesses;
@@ -15,7 +17,7 @@ export declare class CircuitBreaker {
15
17
  private lastRequestAt?;
16
18
  private lastDecayAt;
17
19
  private windowStart;
18
- constructor(name: string, config?: Partial<CircuitBreakerConfig>);
20
+ constructor(name: string, config?: Partial<CircuitBreakerConfig>, logger?: Logger);
19
21
  /**
20
22
  * Backwards-compatible execute alias.
21
23
  */
@@ -95,7 +97,8 @@ export declare class CircuitBreaker {
95
97
  export declare class CircuitBreakerManager {
96
98
  private breakers;
97
99
  private defaultConfig;
98
- constructor(defaultConfig?: Partial<CircuitBreakerConfig>);
100
+ private logger;
101
+ constructor(defaultConfig?: Partial<CircuitBreakerConfig>, logger?: Logger);
99
102
  getBreaker(name: string, config?: Partial<CircuitBreakerConfig>): CircuitBreaker;
100
103
  execute<T>(name: string, fn: () => Promise<T>, config?: Partial<CircuitBreakerConfig>): Promise<T>;
101
104
  execWithFallback<T>(name: string, primary: () => Promise<T>, fallback: () => Promise<T>, config?: Partial<CircuitBreakerConfig>): Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"circuit-breaker.d.ts","sourceRoot":"","sources":["../../src/utils/circuit-breaker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"circuit-breaker.d.ts","sourceRoot":"","sources":["../../src/utils/circuit-breaker.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * Graduated Circuit Breaker
3
3
  * Routes traffic away from failing providers with confidence-weighted degradation.
4
4
  */
5
+ import { noopLogger } from './logger';
5
6
  import { CircuitBreakerOpenError } from '../errors';
6
7
  const DEFAULT_DEGRADATION_CURVE = [1.0, 0.9, 0.7, 0.4, 0.1];
7
8
  const DEFAULT_CONFIG = {
@@ -31,6 +32,7 @@ function normalizeConfig(config) {
31
32
  export class CircuitBreaker {
32
33
  name;
33
34
  config;
35
+ logger;
34
36
  consecutiveFailures = 0;
35
37
  totalFailures = 0;
36
38
  totalSuccesses = 0;
@@ -40,9 +42,10 @@ export class CircuitBreaker {
40
42
  lastRequestAt;
41
43
  lastDecayAt = 0;
42
44
  windowStart = Date.now();
43
- constructor(name, config = {}) {
45
+ constructor(name, config = {}, logger) {
44
46
  this.name = name;
45
47
  this.config = normalizeConfig(config);
48
+ this.logger = logger ?? noopLogger;
46
49
  }
47
50
  /**
48
51
  * Backwards-compatible execute alias.
@@ -63,7 +66,7 @@ export class CircuitBreaker {
63
66
  throw this.buildOpenError(now);
64
67
  }
65
68
  if (primaryPct < 1 && Math.random() > primaryPct) {
66
- console.log(`[CircuitBreaker] ${this.name}: degraded (${(primaryPct * 100).toFixed(0)}% primary), rejecting request for fallback`);
69
+ this.logger.info(`[CircuitBreaker] ${this.name}: degraded (${(primaryPct * 100).toFixed(0)}% primary), rejecting request for fallback`);
67
70
  throw new CircuitBreakerOpenError(this.name, 0, this.consecutiveFailures);
68
71
  }
69
72
  try {
@@ -86,11 +89,11 @@ export class CircuitBreaker {
86
89
  this.markTraffic(now);
87
90
  const primaryPct = this.currentPrimaryTrafficPct();
88
91
  if (primaryPct <= 0) {
89
- console.log(`[CircuitBreaker] ${this.name}: fully degraded (${this.consecutiveFailures} failures), using fallback`);
92
+ this.logger.info(`[CircuitBreaker] ${this.name}: fully degraded (${this.consecutiveFailures} failures), using fallback`);
90
93
  return fallback();
91
94
  }
92
95
  if (primaryPct < 1 && Math.random() > primaryPct) {
93
- console.log(`[CircuitBreaker] ${this.name}: degraded (${(primaryPct * 100).toFixed(0)}% primary), routing to fallback`);
96
+ this.logger.info(`[CircuitBreaker] ${this.name}: degraded (${(primaryPct * 100).toFixed(0)}% primary), routing to fallback`);
94
97
  return fallback();
95
98
  }
96
99
  try {
@@ -100,7 +103,7 @@ export class CircuitBreaker {
100
103
  }
101
104
  catch (error) {
102
105
  this.onFailure();
103
- console.warn(`[CircuitBreaker] ${this.name}: primary failed (${this.consecutiveFailures} consecutive), trying fallback`);
106
+ this.logger.warn(`[CircuitBreaker] ${this.name}: primary failed (${this.consecutiveFailures} consecutive), trying fallback`);
104
107
  return fallback();
105
108
  }
106
109
  }
@@ -146,7 +149,7 @@ export class CircuitBreaker {
146
149
  this.lastRequestAt = undefined;
147
150
  this.lastDecayAt = 0;
148
151
  this.windowStart = Date.now();
149
- console.log(`[CircuitBreaker] ${this.name}: circuit breaker reset`);
152
+ this.logger.info(`[CircuitBreaker] ${this.name}: circuit breaker reset`);
150
153
  }
151
154
  /**
152
155
  * Force the breaker into the fully open state.
@@ -157,7 +160,7 @@ export class CircuitBreaker {
157
160
  this.lastFailureAt = now;
158
161
  this.lastRequestAt = now;
159
162
  this.lastDecayAt = now;
160
- console.log(`[CircuitBreaker] ${this.name}: circuit breaker force opened`);
163
+ this.logger.info(`[CircuitBreaker] ${this.name}: circuit breaker force opened`);
161
164
  }
162
165
  isOpen() {
163
166
  return this.getState().state === 'OPEN';
@@ -260,7 +263,7 @@ export class CircuitBreaker {
260
263
  this.lastSuccessAt = Date.now();
261
264
  if (this.consecutiveFailures > 0) {
262
265
  this.consecutiveFailures--;
263
- console.log(`[CircuitBreaker] ${this.name}: success -> recovering (${this.consecutiveFailures} failures, ${(this.currentPrimaryTrafficPct() * 100).toFixed(0)}% primary)`);
266
+ this.logger.info(`[CircuitBreaker] ${this.name}: success -> recovering (${this.consecutiveFailures} failures, ${(this.currentPrimaryTrafficPct() * 100).toFixed(0)}% primary)`);
264
267
  }
265
268
  }
266
269
  onFailure() {
@@ -270,11 +273,11 @@ export class CircuitBreaker {
270
273
  this.lastFailureAt = Date.now();
271
274
  const primaryPct = this.currentPrimaryTrafficPct();
272
275
  if (primaryPct <= 0) {
273
- console.log(`[CircuitBreaker] ${this.name}: OPEN (${this.consecutiveFailures} consecutive failures)`);
276
+ this.logger.warn(`[CircuitBreaker] ${this.name}: OPEN (${this.consecutiveFailures} consecutive failures)`);
274
277
  return;
275
278
  }
276
279
  if (primaryPct < 1) {
277
- console.log(`[CircuitBreaker] ${this.name}: degraded -> ${(primaryPct * 100).toFixed(0)}% primary (${this.consecutiveFailures} failures)`);
280
+ this.logger.info(`[CircuitBreaker] ${this.name}: degraded -> ${(primaryPct * 100).toFixed(0)}% primary (${this.consecutiveFailures} failures)`);
278
281
  }
279
282
  }
280
283
  maybeDecayFailures(now) {
@@ -290,7 +293,7 @@ export class CircuitBreaker {
290
293
  this.consecutiveFailures = Math.max(0, this.consecutiveFailures - steps);
291
294
  this.lastDecayAt += steps * this.config.resetTimeout;
292
295
  if (before !== this.consecutiveFailures) {
293
- console.log(`[CircuitBreaker] ${this.name}: time-decay ${before} -> ${this.consecutiveFailures} failures (${(this.currentPrimaryTrafficPct() * 100).toFixed(0)}% primary)`);
296
+ this.logger.info(`[CircuitBreaker] ${this.name}: time-decay ${before} -> ${this.consecutiveFailures} failures (${(this.currentPrimaryTrafficPct() * 100).toFixed(0)}% primary)`);
294
297
  }
295
298
  }
296
299
  maybeRotateWindow(now) {
@@ -305,7 +308,9 @@ export class CircuitBreaker {
305
308
  export class CircuitBreakerManager {
306
309
  breakers = new Map();
307
310
  defaultConfig;
308
- constructor(defaultConfig) {
311
+ logger;
312
+ constructor(defaultConfig, logger) {
313
+ this.logger = logger ?? noopLogger;
309
314
  this.defaultConfig = {
310
315
  failureThreshold: defaultConfig?.failureThreshold ?? DEFAULT_CONFIG.failureThreshold,
311
316
  resetTimeout: defaultConfig?.resetTimeout ?? DEFAULT_CONFIG.resetTimeout,
@@ -325,7 +330,7 @@ export class CircuitBreakerManager {
325
330
  ? [...config.degradationCurve]
326
331
  : [...(this.defaultConfig.degradationCurve ?? DEFAULT_DEGRADATION_CURVE)]
327
332
  };
328
- this.breakers.set(name, new CircuitBreaker(name, breakerConfig));
333
+ this.breakers.set(name, new CircuitBreaker(name, breakerConfig, this.logger));
329
334
  }
330
335
  return this.breakers.get(name);
331
336
  }
@@ -1 +1 @@
1
- {"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../../src/utils/circuit-breaker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../../src/utils/circuit-breaker.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  * Tracks and optimizes LLM usage costs across providers
4
4
  */
5
5
  import type { LLMRequest, LLMResponse, CostConfig, ModelCapabilities } from '../types';
6
+ import type { Logger } from './logger';
6
7
  import type { CreditLedger } from './credit-ledger';
7
8
  export interface ProviderCostEntry {
8
9
  totalCost: number;
@@ -24,7 +25,8 @@ export declare class CostTracker {
24
25
  private providers;
25
26
  private config;
26
27
  private ledger?;
27
- constructor(config?: Partial<CostConfig>, ledger?: CreditLedger);
28
+ private logger;
29
+ constructor(config?: Partial<CostConfig>, ledger?: CreditLedger, logger?: Logger);
28
30
  /**
29
31
  * Calculate cost for a request
30
32
  */
@@ -33,6 +35,11 @@ export declare class CostTracker {
33
35
  * Track actual cost from response
34
36
  */
35
37
  trackCost(provider: string, response: LLMResponse): void;
38
+ /**
39
+ * Record cost directly without requiring a full LLMResponse.
40
+ * This is the simplified API — callers pass provider + cost + tokens.
41
+ */
42
+ record(provider: string, cost: number, inputTokens?: number, outputTokens?: number, model?: string): void;
36
43
  /**
37
44
  * Get the attached CreditLedger (if any)
38
45
  */
@@ -125,6 +132,6 @@ export declare class CostOptimizer {
125
132
  /**
126
133
  * Suggest cost reduction strategies
127
134
  */
128
- static suggestOptimizations(costBreakdown: Record<string, any>): string[];
135
+ static suggestOptimizations(costBreakdown: Record<string, ProviderCostBreakdownEntry>): string[];
129
136
  }
130
137
  //# sourceMappingURL=cost-tracker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cost-tracker.d.ts","sourceRoot":"","sources":["../../src/utils/cost-tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost-tracker.d.ts","sourceRoot":"","sources":["../../src/utils/cost-tracker.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,13 @@
2
2
  * Cost Tracker
3
3
  * Tracks and optimizes LLM usage costs across providers
4
4
  */
5
+ import { noopLogger } from './logger';
5
6
  export class CostTracker {
6
7
  providers = new Map();
7
8
  config;
8
9
  ledger;
9
- constructor(config = {}, ledger) {
10
+ logger;
11
+ constructor(config = {}, ledger, logger) {
10
12
  this.config = {
11
13
  inputTokenCost: config.inputTokenCost ?? 0.001, // $0.001 per 1k tokens default
12
14
  outputTokenCost: config.outputTokenCost ?? 0.002, // $0.002 per 1k tokens default
@@ -14,6 +16,7 @@ export class CostTracker {
14
16
  alertThreshold: config.alertThreshold ?? 0.8 // 80% of max cost
15
17
  };
16
18
  this.ledger = ledger;
19
+ this.logger = logger ?? noopLogger;
17
20
  }
18
21
  /**
19
22
  * Calculate cost for a request
@@ -31,15 +34,22 @@ export class CostTracker {
31
34
  trackCost(provider, response) {
32
35
  if (!response.usage)
33
36
  return;
37
+ this.record(provider, response.usage.cost || 0, response.usage.inputTokens, response.usage.outputTokens, response.model || 'unknown');
38
+ }
39
+ /**
40
+ * Record cost directly without requiring a full LLMResponse.
41
+ * This is the simplified API — callers pass provider + cost + tokens.
42
+ */
43
+ record(provider, cost, inputTokens = 0, outputTokens = 0, model = 'unknown') {
34
44
  // Delegate to CreditLedger when present
35
45
  if (this.ledger) {
36
- this.ledger.record(provider, response.model || 'unknown', response.usage.cost || 0, response.usage.inputTokens, response.usage.outputTokens);
46
+ this.ledger.record(provider, model, cost, inputTokens, outputTokens);
37
47
  }
38
48
  const entry = this.providers.get(provider) || this.createProviderEntry();
39
- entry.totalCost += response.usage.cost || 0;
49
+ entry.totalCost += cost;
40
50
  entry.requestCount++;
41
- entry.inputTokens += response.usage.inputTokens;
42
- entry.outputTokens += response.usage.outputTokens;
51
+ entry.inputTokens += inputTokens;
52
+ entry.outputTokens += outputTokens;
43
53
  entry.lastRecordedAt = Date.now();
44
54
  this.providers.set(provider, entry);
45
55
  // Check cost alerts
@@ -186,7 +196,7 @@ export class CostTracker {
186
196
  const currentCost = this.getProviderCost(provider);
187
197
  const alertThreshold = this.config.maxMonthlyCost * this.config.alertThreshold;
188
198
  if (currentCost >= alertThreshold) {
189
- console.warn(`[CostTracker] Cost alert for ${provider}: $${currentCost.toFixed(4)} (${((currentCost / this.config.maxMonthlyCost) * 100).toFixed(1)}% of limit)`);
199
+ this.logger.warn(`[CostTracker] Cost alert for ${provider}: $${currentCost.toFixed(4)} (${((currentCost / this.config.maxMonthlyCost) * 100).toFixed(1)}% of limit)`);
190
200
  }
191
201
  }
192
202
  /**
@@ -248,7 +258,8 @@ export class CostOptimizer {
248
258
  */
249
259
  static suggestOptimizations(costBreakdown) {
250
260
  const suggestions = [];
251
- const totalCost = Object.values(costBreakdown).reduce((sum, p) => sum + p.cost, 0);
261
+ const entries = Object.values(costBreakdown);
262
+ const totalCost = entries.reduce((sum, p) => sum + p.cost, 0);
252
263
  // Find most expensive provider
253
264
  const mostExpensive = Object.entries(costBreakdown)
254
265
  .sort(([, a], [, b]) => b.cost - a.cost)[0];
@@ -258,11 +269,11 @@ export class CostOptimizer {
258
269
  // Check for high per-request costs
259
270
  for (const [provider, data] of Object.entries(costBreakdown)) {
260
271
  if (data.averageCostPerRequest > 0.01) { // $0.01 per request
261
- suggestions.push(`${provider} has high per-request cost ($${(data.averageCostPerRequest).toFixed(4)}). Consider using smaller models or reducing max_tokens.`);
272
+ suggestions.push(`${provider} has high per-request cost ($${data.averageCostPerRequest.toFixed(4)}). Consider using smaller models or reducing max_tokens.`);
262
273
  }
263
274
  }
264
275
  // Suggest batch processing if many small requests
265
- const totalRequests = Object.values(costBreakdown).reduce((sum, p) => sum + p.requests, 0);
276
+ const totalRequests = entries.reduce((sum, p) => sum + p.requests, 0);
266
277
  if (totalRequests > 1000 && totalCost / totalRequests < 0.001) {
267
278
  suggestions.push('Consider batch processing for small requests to reduce overhead costs.');
268
279
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cost-tracker.js","sourceRoot":"","sources":["../../src/utils/cost-tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost-tracker.js","sourceRoot":"","sources":["../../src/utils/cost-tracker.ts"],"names":[],"mappings":"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"}