@stackbilt/llm-providers 1.10.0 → 1.11.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 (56) hide show
  1. package/README.md +86 -4
  2. package/dist/factory.d.ts.map +1 -1
  3. package/dist/factory.js +36 -13
  4. package/dist/factory.js.map +1 -1
  5. package/dist/index.d.ts +5 -4
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +2 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/model-catalog.d.ts +6 -0
  10. package/dist/model-catalog.d.ts.map +1 -1
  11. package/dist/model-catalog.js +53 -0
  12. package/dist/model-catalog.js.map +1 -1
  13. package/dist/providers/anthropic.d.ts.map +1 -1
  14. package/dist/providers/anthropic.js +79 -7
  15. package/dist/providers/anthropic.js.map +1 -1
  16. package/dist/providers/base.d.ts +3 -1
  17. package/dist/providers/base.d.ts.map +1 -1
  18. package/dist/providers/base.js +30 -0
  19. package/dist/providers/base.js.map +1 -1
  20. package/dist/providers/cerebras.d.ts +1 -0
  21. package/dist/providers/cerebras.d.ts.map +1 -1
  22. package/dist/providers/cerebras.js +18 -2
  23. package/dist/providers/cerebras.js.map +1 -1
  24. package/dist/providers/cloudflare.d.ts.map +1 -1
  25. package/dist/providers/cloudflare.js +24 -3
  26. package/dist/providers/cloudflare.js.map +1 -1
  27. package/dist/providers/groq.d.ts +1 -0
  28. package/dist/providers/groq.d.ts.map +1 -1
  29. package/dist/providers/groq.js +18 -2
  30. package/dist/providers/groq.js.map +1 -1
  31. package/dist/providers/nvidia.d.ts +1 -0
  32. package/dist/providers/nvidia.d.ts.map +1 -1
  33. package/dist/providers/nvidia.js +18 -2
  34. package/dist/providers/nvidia.js.map +1 -1
  35. package/dist/providers/openai.d.ts.map +1 -1
  36. package/dist/providers/openai.js +17 -2
  37. package/dist/providers/openai.js.map +1 -1
  38. package/dist/types.d.ts +2 -0
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/utils/circuit-breaker.d.ts +45 -1
  41. package/dist/utils/circuit-breaker.d.ts.map +1 -1
  42. package/dist/utils/circuit-breaker.js +105 -0
  43. package/dist/utils/circuit-breaker.js.map +1 -1
  44. package/dist/utils/exhaustion.d.ts +13 -1
  45. package/dist/utils/exhaustion.d.ts.map +1 -1
  46. package/dist/utils/exhaustion.js +36 -0
  47. package/dist/utils/exhaustion.js.map +1 -1
  48. package/dist/utils/stream-usage.d.ts +13 -0
  49. package/dist/utils/stream-usage.d.ts.map +1 -0
  50. package/dist/utils/stream-usage.js +27 -0
  51. package/dist/utils/stream-usage.js.map +1 -0
  52. package/dist/version.d.ts +2 -0
  53. package/dist/version.d.ts.map +1 -0
  54. package/dist/version.js +3 -0
  55. package/dist/version.js.map +1 -0
  56. package/package.json +8 -7
package/README.md CHANGED
@@ -9,8 +9,9 @@ A multi-provider LLM abstraction layer with automatic failover, graduated circui
9
9
  - **Exponential backoff retry** -- configurable delays, jitter, and per-error-class behavior
10
10
  - **Cost tracking and optimization** -- per-provider cost attribution, budget alerts with CreditLedger, automatic routing to cheaper providers
11
11
  - **Declarative model catalog** -- semantic model metadata drives recommendations, provider defaults, and fallback routing
12
+ - **Workload-aware model defaults** -- gateways can request provider-tuned defaults for `summary`, `planning`, `code_draft`, `long_context`, `tool_loop`, and related workload classes
12
13
  - **Rate limit enforcement** -- CreditLedger tracks RPM/RPD/TPM/TPD per provider; factory skips providers that exceed limits
13
- - **Streaming with fallback** -- SSE streaming on all providers; factory-level streaming routes through the same circuit-breaker and fallback chain as non-streaming requests
14
+ - **Streaming with fallback and usage accounting** -- SSE streaming on all providers; factory-level streaming routes through the same circuit-breaker and fallback chain as non-streaming requests and records final usage after the stream drains
14
15
  - **Tool/function calling** -- OpenAI, Anthropic, Cerebras, and Cloudflare tool use with unified response format
15
16
  - **Tool-use loop helper** -- `generateResponseWithTools` owns the request → parse → execute → repeat cycle with iteration caps, cost limits, abort signal support, and `onIteration` early-exit via `{ abort: true }`
16
17
  - **Server-side built-in tools** -- `LLMRequest.builtInTools` (e.g. `[{ type: 'web_search' }]`) drives Groq's Compound systems and GPT-OSS 120B to run web search / code interpreter server-side; capability-gated per model and routed to the capable provider automatically
@@ -109,6 +110,23 @@ const llm = LLMProviders.fromEnv(env, {
109
110
  { apiKey: 'nvapi-...' }
110
111
  ```
111
112
 
113
+ ## Vision Inputs
114
+
115
+ Vision requests use `request.images`. The factory routes image inputs only to providers that advertise `supportsVision === true`; providers that cannot see images reject the request instead of silently dropping image content.
116
+
117
+ ```typescript
118
+ await llm.generateResponse({
119
+ messages: [{ role: 'user', content: 'What is in this image?' }],
120
+ images: [{ data: base64Png, mimeType: 'image/png' }],
121
+ });
122
+ ```
123
+
124
+ Provider notes:
125
+
126
+ - OpenAI-compatible providers that support URL images may accept `images: [{ url }]`.
127
+ - Anthropic requires base64 image bytes. URL images throw `ConfigurationError`; convert the URL to bytes before dispatch or route URL-based vision to an OpenAI-compatible provider.
128
+ - Cerebras, Groq, and NVIDIA currently advertise `supportsVision = false`, so the factory skips them for image requests.
129
+
112
130
  ## Logging
113
131
 
114
132
  The library is silent by default. Opt in to logging by passing a `Logger`:
@@ -151,6 +169,51 @@ const breaker = manager.getBreaker('openai');
151
169
  console.log(breaker.getHealth());
152
170
  ```
153
171
 
172
+ ### Workers State Persistence
173
+
174
+ The default circuit breaker manager, exhaustion registry, and `CreditLedger` keep state in memory. In Cloudflare Workers that state is per isolate and can reset between requests. Persist snapshots to KV, D1, Redis, Durable Objects, or another store when you need circuit state, quota exhaustion, or budget spend to survive across invocations.
175
+
176
+ ```typescript
177
+ import {
178
+ CreditLedger,
179
+ defaultCircuitBreakerManager,
180
+ defaultExhaustionRegistry,
181
+ } from '@stackbilt/llm-providers';
182
+
183
+ interface Env {
184
+ LLM_STATE: KVNamespace;
185
+ }
186
+
187
+ const ledger = new CreditLedger();
188
+
189
+ export default {
190
+ async fetch(request: Request, env: Env): Promise<Response> {
191
+ const [breakersJson, exhaustionJson, ledgerJson] = await Promise.all([
192
+ env.LLM_STATE.get('circuit-breakers'),
193
+ env.LLM_STATE.get('exhaustion'),
194
+ env.LLM_STATE.get('credit-ledger'),
195
+ ]);
196
+
197
+ if (breakersJson) defaultCircuitBreakerManager.restore(breakersJson);
198
+ if (exhaustionJson) defaultExhaustionRegistry.restore(exhaustionJson);
199
+ if (ledgerJson) ledger.restore(JSON.parse(ledgerJson));
200
+
201
+ try {
202
+ // Create/use LLMProviders here with { ledger, enableCircuitBreaker: true }.
203
+ return new Response('ok');
204
+ } finally {
205
+ await Promise.all([
206
+ env.LLM_STATE.put('circuit-breakers', defaultCircuitBreakerManager.serialize()),
207
+ env.LLM_STATE.put('exhaustion', defaultExhaustionRegistry.serialize()),
208
+ env.LLM_STATE.put('credit-ledger', JSON.stringify(ledger.snapshot())),
209
+ ]);
210
+ }
211
+ },
212
+ };
213
+ ```
214
+
215
+ For standalone lower-level use, `CircuitBreaker.deserialize(json)`, `CircuitBreakerManager.deserialize(json)`, and `ExhaustionRegistry.deserialize(json)` reconstruct fresh instances from persisted JSON.
216
+
154
217
  ## Cost Tracking & Budget Management
155
218
 
156
219
  ```typescript
@@ -223,6 +286,19 @@ const recommended = llm.getRecommendedModel({
223
286
  });
224
287
  ```
225
288
 
289
+ Gateway layers can also ask directly by workload class instead of carrying their own provider/model maps:
290
+
291
+ ```typescript
292
+ import { getProviderDefaultModelForWorkload } from '@stackbilt/llm-providers';
293
+
294
+ const fastSummaryModel = getProviderDefaultModelForWorkload('groq', 'summary');
295
+ const toolLoopModel = getProviderDefaultModelForWorkload('groq', 'tool_loop', {
296
+ modelPreferences: {
297
+ tool_loop: { groq: 'openai/gpt-oss-120b' },
298
+ },
299
+ });
300
+ ```
301
+
226
302
  ## Routing Introspection
227
303
 
228
304
  `getRoutingInfo()` lets gateways and agent orchestrators inspect what the catalog engine *would* do — without dispatching the request. Use this at ingress to classify intent once, log the routing decision, enforce policies, or pre-warm the right provider.
@@ -344,7 +420,7 @@ const model = getRecommendedModel('COST_EFFECTIVE', ['openai', 'cloudflare']);
344
420
 
345
421
  ## Factory-Level Streaming
346
422
 
347
- `generateResponseStream` uses the same provider-selection, circuit-breaker, and exhaustion-registry path as `generateResponse`. Pre-stream HTTP errors (401, 429, 503, circuit open) fall over to the next provider before emitting the first chunk.
423
+ `generateResponseStream` uses the same provider-selection, circuit-breaker, and exhaustion-registry path as `generateResponse`. Pre-stream HTTP errors (401, 429, 503, circuit open) fall over to the next provider before emitting the first chunk. After the stream drains, the factory records attached usage to cost tracking, quota hooks, and request-end hooks.
348
424
 
349
425
  ```typescript
350
426
  const stream = await llm.generateResponseStream({
@@ -455,6 +531,7 @@ const response = await llm.generateResponse({
455
531
 
456
532
  // Cached token counts are normalized in TokenUsage
457
533
  console.log(response.usage.cacheReadInputTokens); // Anthropic cache hit tokens
534
+ console.log(response.usage.cacheWriteInputTokens); // Anthropic cache create/write tokens
458
535
  console.log(response.usage.cachedInputTokens); // OpenAI / Groq / Cerebras cache hit tokens
459
536
  ```
460
537
 
@@ -522,7 +599,7 @@ fs.writeFileSync('fixtures/openai.json', JSON.stringify(shape, null, 2));
522
599
  | Class / Export | Description |
523
600
  |----------------|-------------|
524
601
  | `CircuitBreaker` | Graduated 4-state circuit breaker with probabilistic degradation |
525
- | `CircuitBreakerManager` | Manages circuit breakers across multiple providers |
602
+ | `CircuitBreakerManager` | Manages and serializes circuit breakers across multiple providers |
526
603
  | `RetryManager` | Exponential backoff retry with jitter |
527
604
  | `CostTracker` | Per-provider cost accumulation and budget alerts |
528
605
  | `CreditLedger` | Monthly budgets, rate limits, burn rate projection, threshold events |
@@ -550,12 +627,15 @@ fs.writeFileSync('fixtures/openai.json', JSON.stringify(shape, null, 2));
550
627
  | `LLMResponse` | Unified response: message, usage (with cost), provider, tool calls, metadata (builtInToolResults, reasoning) |
551
628
  | `BuiltInTool` / `BuiltInToolType` | Server-side tool request: `{ type }` where type is `web_search` \| `visit_website` \| `browser_automation` \| `code_interpreter` \| `wolfram_alpha` |
552
629
  | `BuiltInToolResult` | A surfaced built-in execution: `{ type, name?, arguments?, results: [{ title, url, content, score }] }` on `metadata.builtInToolResults` |
553
- | `TokenUsage` | Token counts, cost, and cached token fields (cachedInputTokens, cacheReadInputTokens, cacheCreationInputTokens) |
630
+ | `TokenUsage` | Token counts, cost, and cached token fields (cachedInputTokens, cacheReadInputTokens, cacheCreationInputTokens, cacheWriteInputTokens) |
554
631
  | `CacheHints` | Cache strategy, key, ttl, sessionId, cacheablePrefix for provider-agnostic prompt caching |
555
632
  | `ToolExecutor` | Interface for `generateResponseWithTools`: `execute(name, args) => Promise<unknown>` |
556
633
  | `ToolLoopOptions` | Loop config: maxIterations, maxCostUSD, onIteration, abortSignal |
557
634
  | `ToolLoopAbortSignal` | `{ abort: true; reason?: string }` — return from `onIteration` to stop the loop and throw `ToolLoopAbortedError` |
558
635
  | `RoutingInfo` | Pre-flight routing snapshot: useCase, provider, model, estimatedInputTokens, lifecycle, deprecationWarning |
636
+ | `ModelWorkloadClass` | Gateway-friendly workload class: `summary`, `planning`, `code_draft`, `long_context`, `tool_loop`, `vision`, `research`, `cost_effective`, `balanced`, `high_performance` |
637
+ | `ModelPreferenceMap` | Optional provider+workload override map for workload-aware recommendation APIs |
638
+ | `CircuitBreakerSnapshot` / `CircuitBreakerManagerSnapshot` | Serializable reliability state for external persistence |
559
639
  | `CanaryReport` | Schema canary result: provider, status ('ok'|'drift'), diff |
560
640
  | `ShapeMap` | Flat `path → JSON-type` map produced by `extractShape` |
561
641
  | `ProviderFactoryConfig` | Factory config: provider configs, fallback rules, ledger, logger |
@@ -575,6 +655,8 @@ fs.writeFileSync('fixtures/openai.json', JSON.stringify(shape, null, 2));
575
655
  | `llm.generateResponseWithTools(request, executor, opts?)` | Managed tool-use loop with caps and abort-signal support |
576
656
  | `llm.getRecommendedModel(request, useCase?)` | Runtime recommendation using configured providers, health, and ledger state |
577
657
  | `getRecommendedModel(useCase, providers, context?)` | Pick the best active model for a use case |
658
+ | `getRecommendedModelForWorkload(workload, providers, context?)` | Pick a model using gateway-friendly workload classes like `summary`, `planning`, `code_draft`, `long_context`, `tool_loop` |
659
+ | `getProviderDefaultModelForWorkload(provider, workload, context?)` | Provider-scoped workload default with optional `modelPreferences` overrides |
578
660
  | `getRoutingInfo(request, providers?, context?)` | Pre-flight routing snapshot — use case, model, lifecycle, deprecation warning — without dispatching |
579
661
  | `runCanaryCheck(provider, golden, liveResponse)` | Compare live response shape against golden fixture |
580
662
  | `extractShape(obj)` | Extract flat path → type map from any object |
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
package/dist/factory.js CHANGED
@@ -11,6 +11,7 @@ import { CerebrasProvider } from './providers/cerebras.js';
11
11
  import { GroqProvider } from './providers/groq.js';
12
12
  import { NvidiaProvider } from './providers/nvidia.js';
13
13
  import { CostTracker, defaultCostTracker } from './utils/cost-tracker.js';
14
+ import { getStreamUsage } from './utils/stream-usage.js';
14
15
  import { defaultCircuitBreakerManager } from './utils/circuit-breaker.js';
15
16
  import { defaultExhaustionRegistry } from './utils/exhaustion.js';
16
17
  import { defaultLatencyHistogram } from './utils/latency-histogram.js';
@@ -272,7 +273,7 @@ export class LLMProviderFactory {
272
273
  });
273
274
  const startTime = Date.now();
274
275
  const opened = await this.openStreamWithFirstChunk(provider, providerRequest);
275
- return this.buildFactoryStream(opened.reader, opened.firstChunk, opened.done, providerName, model, providerRequest, startTime, estimatedCost);
276
+ return this.buildFactoryStream(opened.reader, opened.firstChunk, opened.done, providerName, model, providerRequest, startTime, estimatedCost, opened.usage);
276
277
  }
277
278
  catch (error) {
278
279
  const err = error;
@@ -482,10 +483,14 @@ export class LLMProviderFactory {
482
483
  const providerModels = new Map();
483
484
  const selectionHealth = this.getSelectionHealth();
484
485
  const useCase = this.resolveUseCase(request);
486
+ const requiresVision = (request.images?.length ?? 0) > 0;
487
+ const canUseProvider = (providerName) => {
488
+ return !requiresVision || this.providerSupportsVision(providerName);
489
+ };
485
490
  // If specific provider requested, try it first
486
491
  if (request.model) {
487
492
  const providerForModel = this.getProviderForModel(request.model, request);
488
- if (providerForModel && this.providers.has(providerForModel)) {
493
+ if (providerForModel && this.providers.has(providerForModel) && canUseProvider(providerForModel)) {
489
494
  chain.push(providerForModel);
490
495
  providerModels.set(providerForModel, request.model);
491
496
  }
@@ -493,7 +498,7 @@ export class LLMProviderFactory {
493
498
  // Add default provider if different from model provider
494
499
  const defaultProvider = this.config.preferredProvider ?? this.config.defaultProvider ?? 'auto';
495
500
  if (defaultProvider !== 'auto' && !chain.includes(defaultProvider)) {
496
- if (this.providers.has(defaultProvider)) {
501
+ if (this.providers.has(defaultProvider) && canUseProvider(defaultProvider)) {
497
502
  chain.push(defaultProvider);
498
503
  if (!request.model) {
499
504
  providerModels.set(defaultProvider, getProviderDefaultModel(defaultProvider, request));
@@ -506,6 +511,8 @@ export class LLMProviderFactory {
506
511
  ledger: this.config.ledger,
507
512
  });
508
513
  for (const candidate of rankedModels) {
514
+ if (!canUseProvider(candidate.provider))
515
+ continue;
509
516
  if (!providerModels.has(candidate.provider)) {
510
517
  providerModels.set(candidate.provider, candidate.model);
511
518
  }
@@ -516,6 +523,8 @@ export class LLMProviderFactory {
516
523
  for (const provider of PROVIDER_FALLBACK_ORDER) {
517
524
  if (!this.providers.has(provider))
518
525
  continue;
526
+ if (!canUseProvider(provider))
527
+ continue;
519
528
  if (!chain.includes(provider)) {
520
529
  chain.push(provider);
521
530
  }
@@ -523,6 +532,9 @@ export class LLMProviderFactory {
523
532
  providerModels.set(provider, getProviderDefaultModel(provider, request));
524
533
  }
525
534
  }
535
+ if (requiresVision && chain.length === 0) {
536
+ throw new ConfigurationError('factory', 'No configured providers support image input');
537
+ }
526
538
  return { chain, providerModels, useCase };
527
539
  }
528
540
  /**
@@ -805,15 +817,17 @@ export class LLMProviderFactory {
805
817
  throw new ConfigurationError(provider.name, 'Provider does not support streaming');
806
818
  }
807
819
  const stream = await provider.streamResponse(request);
820
+ const usage = getStreamUsage(stream);
808
821
  const reader = stream.getReader();
809
822
  const first = await reader.read();
810
823
  return {
811
824
  reader,
812
825
  firstChunk: first.value,
813
- done: first.done
826
+ done: first.done,
827
+ usage
814
828
  };
815
829
  }
816
- buildFactoryStream(reader, firstChunk, firstDone, providerName, model, request, startTime, estimatedCost) {
830
+ buildFactoryStream(reader, firstChunk, firstDone, providerName, model, request, startTime, estimatedCost, streamUsage) {
817
831
  return new ReadableStream({
818
832
  start: async (controller) => {
819
833
  try {
@@ -829,7 +843,22 @@ export class LLMProviderFactory {
829
843
  controller.enqueue(value);
830
844
  }
831
845
  }
832
- const usage = { inputTokens: 0, outputTokens: 0, totalTokens: 0, cost: estimatedCost };
846
+ const usage = await streamUsage?.catch(() => undefined) ?? {
847
+ inputTokens: 0,
848
+ outputTokens: 0,
849
+ totalTokens: 0,
850
+ cost: estimatedCost
851
+ };
852
+ const responseForUsage = {
853
+ message: '',
854
+ usage,
855
+ model,
856
+ provider: providerName,
857
+ responseTime: Date.now() - startTime,
858
+ };
859
+ if (this.config.costOptimization || this.config.ledger) {
860
+ this.costTracker.trackCost(providerName, responseForUsage);
861
+ }
833
862
  this.hooks.onRequestEnd?.({
834
863
  provider: providerName,
835
864
  model,
@@ -840,13 +869,7 @@ export class LLMProviderFactory {
840
869
  finishReason: 'stop',
841
870
  timestamp: Date.now(),
842
871
  });
843
- this.recordQuotaInput({
844
- tenantId: request.tenantId,
845
- provider: providerName,
846
- model,
847
- actualCost: estimatedCost,
848
- metadata: request.metadata
849
- });
872
+ this.recordQuota(providerName, responseForUsage, request);
850
873
  controller.close();
851
874
  }
852
875
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -13,8 +13,8 @@ export { GroqProvider } from './providers/groq.js';
13
13
  export { NvidiaProvider } from './providers/nvidia.js';
14
14
  export { LLMProviderFactory, createLLMProviderFactory, createCostOptimizedFactory } from './factory.js';
15
15
  export type { ProviderFactoryConfig, CostAnalytics, ProviderHealthEntry } from './factory.js';
16
- export { MODEL_CATALOG, MODEL_RECOMMENDATIONS, PROVIDER_FALLBACK_ORDER, getCatalogEntry, getProviderDefaultModel, getProviderForCatalogModel, getProvidersForCatalogModel, modelSupportsBuiltInTools, getRecommendedModel, getRoutingInfo, inferUseCaseFromRequest, rankModels, } from './model-catalog.js';
17
- export type { ModelCatalogEntry, ModelLifecycle, ModelRecommendationUseCase, ModelSelectionContext, ProviderName, RoutingInfo, } from './model-catalog.js';
16
+ export { MODEL_CATALOG, MODEL_RECOMMENDATIONS, PROVIDER_FALLBACK_ORDER, getCatalogEntry, getProviderDefaultModel, getProviderDefaultModelForWorkload, getProviderForCatalogModel, getProvidersForCatalogModel, modelSupportsBuiltInTools, getRecommendedModel, getRecommendedModelForWorkload, getRoutingInfo, inferUseCaseFromRequest, normalizeModelWorkload, rankModels, } from './model-catalog.js';
17
+ export type { ModelCatalogEntry, ModelLifecycle, ModelPreferenceMap, ModelRecommendationUseCase, ModelSelectionContext, ModelWorkloadClass, ProviderName, RoutingInfo, } from './model-catalog.js';
18
18
  import type { ProviderFactoryConfig, CostAnalytics, ProviderHealthEntry } from './factory.js';
19
19
  import type { AnalyzeImageInput, ClassifyOptions, ClassifyResult, LLMProvider, LLMRequest, LLMResponse, ProviderBalance, ToolExecutor, ToolLoopOptions } from './types.js';
20
20
  import type { ModelRecommendationUseCase } from './model-catalog.js';
@@ -31,11 +31,12 @@ export type { Logger } from './utils/logger.js';
31
31
  export { noopHooks, composeHooks } from './utils/hooks.js';
32
32
  export type { ObservabilityHooks, RequestStartEvent, RequestEndEvent, RequestErrorEvent, RetryEvent, FallbackEvent, CircuitStateChangeEvent, QuotaExhaustedEvent, BudgetThresholdEvent, QuotaCheckEvent, QuotaDeniedEvent, ProviderBalanceEvent, SchemaDriftEvent, } from './utils/hooks.js';
33
33
  export { ExhaustionRegistry, defaultExhaustionRegistry } from './utils/exhaustion.js';
34
- export type { ExhaustionEntry } from './utils/exhaustion.js';
34
+ export type { ExhaustionEntry, ExhaustionRegistrySnapshot } from './utils/exhaustion.js';
35
35
  export { LatencyHistogram, defaultLatencyHistogram } from './utils/latency-histogram.js';
36
36
  export type { LatencySummary } from './utils/latency-histogram.js';
37
37
  export { RetryManager, defaultRetryManager, withRetry, retry } from './utils/retry.js';
38
38
  export { CircuitBreaker, CircuitBreakerManager, defaultCircuitBreakerManager } from './utils/circuit-breaker.js';
39
+ export type { CircuitBreakerManagerSnapshot, CircuitBreakerSnapshot } from './utils/circuit-breaker.js';
39
40
  export { CostTracker, CostOptimizer, defaultCostTracker } from './utils/cost-tracker.js';
40
41
  export type { ProviderCostEntry, ProviderCostBreakdownEntry } from './utils/cost-tracker.js';
41
42
  export { CreditLedger } from './utils/credit-ledger.js';
@@ -128,7 +129,7 @@ export default LLMProviders;
128
129
  /**
129
130
  * Version and metadata
130
131
  */
131
- export declare const VERSION = "1.10.0";
132
+ export { VERSION } from './version.js';
132
133
  export declare const SUPPORTED_PROVIDERS: readonly ["openai", "anthropic", "cloudflare", "cerebras", "groq", "nvidia"];
133
134
  /**
134
135
  * Common model mappings for easy reference
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -13,7 +13,7 @@ export { GroqProvider } from './providers/groq.js';
13
13
  export { NvidiaProvider } from './providers/nvidia.js';
14
14
  // Factory pattern
15
15
  export { LLMProviderFactory, createLLMProviderFactory, createCostOptimizedFactory } from './factory.js';
16
- export { MODEL_CATALOG, MODEL_RECOMMENDATIONS, PROVIDER_FALLBACK_ORDER, getCatalogEntry, getProviderDefaultModel, getProviderForCatalogModel, getProvidersForCatalogModel, modelSupportsBuiltInTools, getRecommendedModel, getRoutingInfo, inferUseCaseFromRequest, rankModels, } from './model-catalog.js';
16
+ export { MODEL_CATALOG, MODEL_RECOMMENDATIONS, PROVIDER_FALLBACK_ORDER, getCatalogEntry, getProviderDefaultModel, getProviderDefaultModelForWorkload, getProviderForCatalogModel, getProvidersForCatalogModel, modelSupportsBuiltInTools, getRecommendedModel, getRecommendedModelForWorkload, getRoutingInfo, inferUseCaseFromRequest, normalizeModelWorkload, rankModels, } from './model-catalog.js';
17
17
  // Local imports for use within this file
18
18
  import { LLMProviderFactory } from './factory.js';
19
19
  import { ConfigurationError } from './errors.js';
@@ -220,7 +220,7 @@ export default LLMProviders;
220
220
  /**
221
221
  * Version and metadata
222
222
  */
223
- export const VERSION = '1.10.0';
223
+ export { VERSION } from './version.js';
224
224
  export const SUPPORTED_PROVIDERS = ['openai', 'anthropic', 'cloudflare', 'cerebras', 'groq', 'nvidia'];
225
225
  /**
226
226
  * Common model mappings for easy reference
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}