@stackbilt/llm-providers 1.17.2 → 1.18.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 (40) hide show
  1. package/README.md +61 -3
  2. package/dist/canonical.d.ts +1 -0
  3. package/dist/canonical.d.ts.map +1 -1
  4. package/dist/canonical.js +1 -0
  5. package/dist/canonical.js.map +1 -1
  6. package/dist/factory.d.ts.map +1 -1
  7. package/dist/factory.js +147 -5
  8. package/dist/factory.js.map +1 -1
  9. package/dist/index.d.ts +2 -2
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/providers/anthropic.d.ts.map +1 -1
  13. package/dist/providers/anthropic.js +9 -0
  14. package/dist/providers/anthropic.js.map +1 -1
  15. package/dist/providers/cerebras.d.ts.map +1 -1
  16. package/dist/providers/cerebras.js +12 -1
  17. package/dist/providers/cerebras.js.map +1 -1
  18. package/dist/providers/cloudflare.d.ts +3 -0
  19. package/dist/providers/cloudflare.d.ts.map +1 -1
  20. package/dist/providers/cloudflare.js +81 -3
  21. package/dist/providers/cloudflare.js.map +1 -1
  22. package/dist/providers/groq.d.ts.map +1 -1
  23. package/dist/providers/groq.js +6 -1
  24. package/dist/providers/groq.js.map +1 -1
  25. package/dist/providers/openai.d.ts.map +1 -1
  26. package/dist/providers/openai.js +8 -2
  27. package/dist/providers/openai.js.map +1 -1
  28. package/dist/types.d.ts +31 -0
  29. package/dist/types.d.ts.map +1 -1
  30. package/dist/utils/hooks.d.ts +13 -1
  31. package/dist/utils/hooks.d.ts.map +1 -1
  32. package/dist/utils/hooks.js +1 -1
  33. package/dist/utils/hooks.js.map +1 -1
  34. package/dist/utils/reasoning.d.ts +7 -0
  35. package/dist/utils/reasoning.d.ts.map +1 -0
  36. package/dist/utils/reasoning.js +22 -0
  37. package/dist/utils/reasoning.js.map +1 -0
  38. package/dist/version.d.ts +1 -1
  39. package/dist/version.js +1 -1
  40. package/package.json +2 -2
package/README.md CHANGED
@@ -563,8 +563,8 @@ Notes:
563
563
  - **Provenance.** The Compound systems are tagged `RESEARCH`-only in the catalog and are not auto-selected for generic use cases — pin the model (or request the `RESEARCH` use case) to use them, since selecting a Compound model can incur per-search surcharges.
564
564
  - **Cost.** Built-in tool surcharges (e.g. web search ~$5/1k requests) are billed by the provider and are **not** attributed per-call in `TokenUsage`; track them via `CreditLedger` if needed.
565
565
  - **Citations.** Structured search results surface on `LLMResponse.metadata.builtInToolResults` — `Array<{ type, name?, arguments?, results: [{ title, url, content, score }] }>`. Only executions that ran a web search appear (e.g. `code_interpreter` runs, which carry no citations, are omitted); the field is absent when no search ran. The model often runs **several** searches in one call, so `builtInToolResults` is an array of executions — iterate all of them (don't read only `[0]`) to get the full citation set. Citation sub-fields are passed through as the provider returns them — treat them as best-effort and validate URLs before use. `score` is the provider's **retrieval-relevance** score, not an authority/quality ranking. Note also that the response `content` is the model's synthesized answer (it may cite a curated subset), while `builtInToolResults` holds the raw retrieved hits — they are different sets.
566
- - **Reasoning.** When the model exposes its internal reasoning (the queries it searched), it surfaces on `LLMResponse.metadata.reasoning` as a string. Absent when the model doesn't emit it.
567
- - **Streaming.** `builtInTools` is accepted on streaming requests and the search still runs server-side, but the streaming path emits content deltas only — structured `metadata.builtInToolResults` and `metadata.reasoning` are **not** surfaced while streaming. Use non-streaming `generateResponse` when you need the structured citations.
566
+ - **Reasoning.** When the model exposes internal reasoning or thinking text, it surfaces on `LLMResponse.reasoning` as a string and is removed from `LLMResponse.message`. `metadata.reasoning` remains as a compatibility mirror where providers already exposed it. Absent when the model doesn't emit it.
567
+ - **Streaming.** `builtInTools` is accepted on streaming requests and the search still runs server-side, but the streaming path emits content deltas only — structured `metadata.builtInToolResults` and `reasoning` are **not** surfaced while streaming. Use non-streaming `generateResponse` when you need the structured citations.
568
568
 
569
569
  ```typescript
570
570
  // Flatten across all executions — the model may run several searches per call.
@@ -591,6 +591,7 @@ const response = await llm.generateResponse({
591
591
  console.log(response.usage.cacheReadInputTokens); // Anthropic cache hit tokens
592
592
  console.log(response.usage.cacheWriteInputTokens); // Anthropic cache create/write tokens
593
593
  console.log(response.usage.cachedInputTokens); // OpenAI / Groq / Cerebras cache hit tokens
594
+ console.log(response.cache?.providerPrefix); // Normalized cache observability
594
595
  ```
595
596
 
596
597
  Cloudflare Workers AI prefix caching uses the same `cache` hint. When `strategy` is `'provider-prefix'` or `'both'`, `sessionId` is sent to the Workers AI binding as `x-session-affinity` so repeated agent turns can route to the same model instance.
@@ -619,6 +620,7 @@ const response = await llm.generateResponse({
619
620
  });
620
621
 
621
622
  console.log(response.usage.cachedInputTokens);
623
+ console.log(response.cache?.aiGateway?.status); // HIT / MISS when the binding exposes it
622
624
  ```
623
625
 
624
626
  | Strategy | Behavior |
@@ -628,6 +630,62 @@ console.log(response.usage.cachedInputTokens);
628
630
  | `'response'` | Enable AI Gateway response caching (via `GatewayMetadata`) |
629
631
  | `'both'` | Both prefix and response caching |
630
632
 
633
+ ### Cache Observability and Cold/Warm Canaries
634
+
635
+ Every `LLMResponse` can carry `response.cache`, and factory-managed calls also pass the same object to observability hooks:
636
+
637
+ ```typescript
638
+ const llm = new LLMProviderFactory({
639
+ cloudflare: { ai: env.AI, gateway: { id: 'default' } },
640
+ responseCache: kvBackedResponseCache,
641
+ hooks: {
642
+ onCache: event => console.log(event.layer, event.status, event.cache),
643
+ onRequestEnd: event => console.log(event.cache),
644
+ },
645
+ });
646
+ ```
647
+
648
+ Use separate canaries for the two Cloudflare cache layers:
649
+
650
+ ```typescript
651
+ // Workers AI prefix-cache canary: same static prefix, same sessionId, new user tail.
652
+ const prefixCold = await llm.generateResponse({
653
+ systemPrompt: stableAgentInstructions, // no timestamps or per-request IDs
654
+ tools: stableToolDefinitions, // keep tool schemas byte-stable
655
+ messages: [{ role: 'user', content: 'Summarize patch A.' }],
656
+ model: '@cf/openai/gpt-oss-120b',
657
+ cache: { strategy: 'provider-prefix', sessionId: 'agent:repo-123' },
658
+ });
659
+
660
+ const prefixWarm = await llm.generateResponse({
661
+ systemPrompt: stableAgentInstructions,
662
+ tools: stableToolDefinitions,
663
+ messages: [{ role: 'user', content: 'Summarize patch B.' }],
664
+ model: '@cf/openai/gpt-oss-120b',
665
+ cache: { strategy: 'provider-prefix', sessionId: 'agent:repo-123' },
666
+ });
667
+
668
+ console.log(prefixCold.cache?.providerPrefix, prefixWarm.cache?.providerPrefix);
669
+ ```
670
+
671
+ ```typescript
672
+ // AI Gateway response-cache canary: repeat the exact request and cache key.
673
+ const gatewayRequest = {
674
+ systemPrompt: stableAgentInstructions,
675
+ messages: [{ role: 'user', content: 'Summarize this exact patch.' }],
676
+ model: '@cf/openai/gpt-oss-120b',
677
+ cache: { strategy: 'response' as const },
678
+ gatewayMetadata: { cacheKey: 'summary:repo-123:patch-456', cacheTtl: 300 },
679
+ };
680
+
681
+ const responseCold = await llm.generateResponse(gatewayRequest);
682
+ const responseWarm = await llm.generateResponse(gatewayRequest);
683
+
684
+ console.log(responseCold.cache?.aiGateway?.status, responseWarm.cache?.aiGateway?.status);
685
+ ```
686
+
687
+ For prefix caching, keep static content first: system instructions, tool schemas, and long reusable context. Do not put timestamps, request IDs, or dynamic user content in the cacheable prefix; append per-request content at the end. For response caching, repeat the exact request and `gatewayMetadata.cacheKey`; this is a full-response cache, not a prefix optimization.
688
+
631
689
  ## Schema Drift Canary
632
690
 
633
691
  Use the canary utilities to compare a live provider response against a committed golden fixture and detect API shape drift before it reaches production.
@@ -710,7 +768,7 @@ fs.writeFileSync('fixtures/openai.json', JSON.stringify(shape, null, 2));
710
768
  | Type | Description |
711
769
  |------|-------------|
712
770
  | `LLMRequest` | Unified request: messages, model, temperature, tools, builtInTools, response_format, cache, lora |
713
- | `LLMResponse` | Unified response: message, usage (with cost), provider, tool calls, metadata (builtInToolResults, reasoning) |
771
+ | `LLMResponse` | Unified response: message, optional reasoning, usage (with cost), provider, tool calls, metadata (builtInToolResults) |
714
772
  | `BuiltInTool` / `BuiltInToolType` | Server-side tool request: `{ type }` where type is `web_search` \| `visit_website` \| `browser_automation` \| `code_interpreter` \| `wolfram_alpha` |
715
773
  | `BuiltInToolResult` | A surfaced built-in execution: `{ type, name?, arguments?, results: [{ title, url, content, score }] }` on `metadata.builtInToolResults` |
716
774
  | `TokenUsage` | Token counts, cost, and cached token fields (cachedInputTokens, cacheReadInputTokens, cacheCreationInputTokens, cacheWriteInputTokens) |
@@ -98,6 +98,7 @@ export interface CanonicalResponseError {
98
98
  }
99
99
  export interface CanonicalLLMResponse {
100
100
  id?: string;
101
+ reasoning?: string;
101
102
  message: string;
102
103
  model: string;
103
104
  provider: ProviderName;
@@ -1 +1 @@
1
- {"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../src/canonical.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../src/canonical.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,eAAe,EAGf,UAAU,EACV,WAAW,EACX,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,UAAU,EACX,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,0BAA0B,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC;AAEjC,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,MAAM,GACN,UAAU,GACV;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzB,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,aAAa,CAAC;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;QACpC,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IACtC,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,EAAE,wBAAwB,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC1D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,YAAY,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,YAAY,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,gBAAgB,GAAG,OAAO,CAAC;IAC7E,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,KAAK,EAAE,UAAU,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,KAAK,CAAC,EAAE,sBAAsB,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAYD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,mBAAmB,GAAG,mBAAmB,CAyClG;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,GAAG,UAAU,CAwC9E;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,WAAW,EACrB,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,KAAK,CAAC,EAAE,sBAAsB,CAAC;CAC3B,GACL,oBAAoB,CAkBtB"}
package/dist/canonical.js CHANGED
@@ -87,6 +87,7 @@ export function canonicalToLLMRequest(request) {
87
87
  export function normalizeLLMResponse(response, options = {}) {
88
88
  return {
89
89
  id: response.id,
90
+ reasoning: response.reasoning,
90
91
  message: response.message,
91
92
  model: response.model,
92
93
  provider: response.provider,
@@ -1 +1 @@
1
- {"version":3,"file":"canonical.js","sourceRoot":"","sources":["../src/canonical.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canonical.js","sourceRoot":"","sources":["../src/canonical.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -25,6 +25,71 @@ function deriveResponseCacheKey(request) {
25
25
  maxTokens: request.maxTokens ?? null,
26
26
  });
27
27
  }
28
+ function mergeCacheObservability(...entries) {
29
+ const merged = {};
30
+ for (const entry of entries) {
31
+ if (!entry)
32
+ continue;
33
+ if (entry.providerPrefix) {
34
+ merged.providerPrefix = { ...merged.providerPrefix, ...entry.providerPrefix };
35
+ }
36
+ if (entry.aiGateway) {
37
+ merged.aiGateway = { ...merged.aiGateway, ...entry.aiGateway };
38
+ }
39
+ if (entry.factory) {
40
+ merged.factory = { ...merged.factory, ...entry.factory };
41
+ }
42
+ }
43
+ return Object.keys(merged).length > 0 ? merged : undefined;
44
+ }
45
+ function responseCacheMetadata(response, cache) {
46
+ if (!cache)
47
+ return response;
48
+ return {
49
+ ...response,
50
+ cache,
51
+ metadata: {
52
+ ...response.metadata,
53
+ cache
54
+ }
55
+ };
56
+ }
57
+ function cacheObservabilityForResponse(request, response) {
58
+ const usage = response.usage;
59
+ const hasProviderCacheUsage = usage.cachedInputTokens !== undefined ||
60
+ usage.cacheReadInputTokens !== undefined ||
61
+ usage.cacheWriteInputTokens !== undefined ||
62
+ usage.cacheCreationInputTokens !== undefined;
63
+ const providerCacheRequested = request.cache?.strategy === 'provider-prefix' ||
64
+ request.cache?.strategy === 'both';
65
+ const aiGatewayRequested = request.cache?.strategy === 'response' ||
66
+ request.cache?.strategy === 'both' ||
67
+ request.gatewayMetadata?.cacheKey !== undefined ||
68
+ request.gatewayMetadata?.cacheTtl !== undefined;
69
+ const cache = {};
70
+ if (providerCacheRequested || hasProviderCacheUsage) {
71
+ cache.providerPrefix = {
72
+ requested: providerCacheRequested,
73
+ strategy: request.cache?.strategy,
74
+ sessionId: request.cache?.sessionId,
75
+ cachedInputTokens: usage.cachedInputTokens,
76
+ cacheReadInputTokens: usage.cacheReadInputTokens,
77
+ cacheWriteInputTokens: usage.cacheWriteInputTokens,
78
+ cacheCreationInputTokens: usage.cacheCreationInputTokens,
79
+ hit: (usage.cachedInputTokens ?? 0) > 0 || (usage.cacheReadInputTokens ?? 0) > 0,
80
+ write: (usage.cacheWriteInputTokens ?? usage.cacheCreationInputTokens ?? 0) > 0,
81
+ };
82
+ }
83
+ if (aiGatewayRequested || response.cache?.aiGateway) {
84
+ cache.aiGateway = {
85
+ requested: aiGatewayRequested,
86
+ cacheKey: request.gatewayMetadata?.cacheKey,
87
+ cacheTtl: request.gatewayMetadata?.cacheTtl,
88
+ ...response.cache?.aiGateway,
89
+ };
90
+ }
91
+ return Object.keys(cache).length > 0 ? cache : undefined;
92
+ }
28
93
  export class LLMProviderFactory {
29
94
  providers = new Map();
30
95
  config;
@@ -85,15 +150,44 @@ export class LLMProviderFactory {
85
150
  * Generate response with intelligent provider selection and fallback
86
151
  */
87
152
  async generateResponse(request) {
153
+ const responseCacheKey = this.config.responseCache ? deriveResponseCacheKey(request) : undefined;
88
154
  if (this.config.responseCache) {
89
- const cacheKey = deriveResponseCacheKey(request);
90
155
  try {
91
- const cached = await this.config.responseCache.get(cacheKey);
156
+ const cached = await this.config.responseCache.get(responseCacheKey);
92
157
  if (cached !== null) {
93
- return JSON.parse(cached);
158
+ const parsed = JSON.parse(cached);
159
+ const cache = mergeCacheObservability(parsed.cache, {
160
+ factory: { status: 'hit', key: responseCacheKey }
161
+ });
162
+ const response = responseCacheMetadata(parsed, cache);
163
+ this.hooks.onCache?.({
164
+ provider: response.provider,
165
+ model: response.model,
166
+ requestId: request.requestId,
167
+ tenantId: request.tenantId,
168
+ layer: 'factory-response',
169
+ status: 'hit',
170
+ cache: response.cache,
171
+ timestamp: Date.now(),
172
+ });
173
+ return response;
94
174
  }
95
175
  }
96
176
  catch (err) {
177
+ this.hooks.onCache?.({
178
+ requestId: request.requestId,
179
+ tenantId: request.tenantId,
180
+ layer: 'factory-response',
181
+ status: 'error',
182
+ cache: {
183
+ factory: {
184
+ status: 'error',
185
+ key: responseCacheKey,
186
+ error: err.message,
187
+ }
188
+ },
189
+ timestamp: Date.now(),
190
+ });
97
191
  this.logger.warn('[LLMProviderFactory] Response cache get failed, proceeding without cache:', err.message);
98
192
  }
99
193
  }
@@ -149,6 +243,18 @@ export class LLMProviderFactory {
149
243
  const startTime = Date.now();
150
244
  let response = await provider.generateResponse(providerRequest);
151
245
  const durationMs = Date.now() - startTime;
246
+ const providerCache = cacheObservabilityForResponse(providerRequest, response);
247
+ const factoryCache = this.config.responseCache
248
+ ? {
249
+ factory: {
250
+ status: 'miss',
251
+ key: responseCacheKey,
252
+ ttlSeconds: this.config.responseCacheDefaultTtl,
253
+ }
254
+ }
255
+ : undefined;
256
+ const cache = mergeCacheObservability(response.cache, providerCache, factoryCache);
257
+ response = responseCacheMetadata(response, cache);
152
258
  this.hooks.onRequestEnd?.({
153
259
  provider: providerName,
154
260
  model: response.model,
@@ -157,8 +263,45 @@ export class LLMProviderFactory {
157
263
  durationMs,
158
264
  usage: response.usage,
159
265
  finishReason: response.finishReason,
266
+ cache: response.cache,
160
267
  timestamp: Date.now(),
161
268
  });
269
+ if (response.cache?.providerPrefix) {
270
+ this.hooks.onCache?.({
271
+ provider: providerName,
272
+ model: response.model,
273
+ requestId: request.requestId,
274
+ tenantId: request.tenantId,
275
+ layer: 'provider-prefix',
276
+ status: response.cache.providerPrefix.hit ? 'hit' : response.cache.providerPrefix.write ? 'write' : 'miss',
277
+ cache: response.cache,
278
+ timestamp: Date.now(),
279
+ });
280
+ }
281
+ if (response.cache?.aiGateway?.status) {
282
+ this.hooks.onCache?.({
283
+ provider: providerName,
284
+ model: response.model,
285
+ requestId: request.requestId,
286
+ tenantId: request.tenantId,
287
+ layer: 'ai-gateway-response',
288
+ status: response.cache.aiGateway.status,
289
+ cache: response.cache,
290
+ timestamp: Date.now(),
291
+ });
292
+ }
293
+ if (factoryCache) {
294
+ this.hooks.onCache?.({
295
+ provider: providerName,
296
+ model: response.model,
297
+ requestId: request.requestId,
298
+ tenantId: request.tenantId,
299
+ layer: 'factory-response',
300
+ status: 'miss',
301
+ cache: response.cache,
302
+ timestamp: Date.now(),
303
+ });
304
+ }
162
305
  // Track spend whenever analytics or ledger accounting is configured.
163
306
  if (this.config.costOptimization || this.config.ledger) {
164
307
  this.costTracker.trackCost(providerName, response);
@@ -175,8 +318,7 @@ export class LLMProviderFactory {
175
318
  response = { ...response, metadata: { ...response.metadata, llmProvidersDeprecationWarning: warning } };
176
319
  }
177
320
  if (this.config.responseCache) {
178
- const cacheKey = deriveResponseCacheKey(request);
179
- this.config.responseCache.put(cacheKey, JSON.stringify(response), this.config.responseCacheDefaultTtl).catch((err) => {
321
+ this.config.responseCache.put(responseCacheKey, JSON.stringify(response), this.config.responseCacheDefaultTtl).catch((err) => {
180
322
  this.logger.warn('[LLMProviderFactory] Response cache put failed:', err.message);
181
323
  });
182
324
  }
@@ -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
@@ -3,7 +3,7 @@
3
3
  * Unified interface for OpenAI, Anthropic, and Cloudflare AI providers
4
4
  * with intelligent fallback logic and cost optimization
5
5
  */
6
- export type { LLMProvider, LLMImageInput, GatewayMetadata, CacheHints, ResponseCacheAdapter, LLMRequest, LLMResponse, LLMMessage, LLMConfig, TokenUsage, Tool, BuiltInTool, BuiltInToolType, BuiltInToolResult, ToolCall, ToolResult, ProviderConfig, OpenAIConfig, AnthropicConfig, CloudflareAIGatewayOptions, CloudflareConfig, CerebrasConfig, GroqConfig, NvidiaConfig, ModelCapabilities, ProviderCapabilities, ProviderMetrics, FallbackRule, CircuitBreakerConfig, CircuitBreakerState, RetryConfig, CostConfig, LLMError, StreamChunk, StreamResponse, QuotaHook, QuotaCheckInput, QuotaCheckResult, QuotaRecordInput, ToolExecutor, ToolLoopAbortSignal, ToolLoopOptions, ToolLoopState, ClassifyOptions, ClassifyResult, AnalyzeImageInput, ProviderBalance, RateLimitBalance, BatchRequest, BatchResponse, BatchJob } from './types.js';
6
+ export type { LLMProvider, LLMImageInput, GatewayMetadata, CacheHints, CacheObservability, ResponseCacheAdapter, LLMRequest, LLMResponse, LLMMessage, LLMConfig, TokenUsage, Tool, BuiltInTool, BuiltInToolType, BuiltInToolResult, ToolCall, ToolResult, ProviderConfig, OpenAIConfig, AnthropicConfig, CloudflareAIGatewayOptions, CloudflareConfig, CerebrasConfig, GroqConfig, NvidiaConfig, ModelCapabilities, ProviderCapabilities, ProviderMetrics, FallbackRule, CircuitBreakerConfig, CircuitBreakerState, RetryConfig, CostConfig, LLMError, StreamChunk, StreamResponse, QuotaHook, QuotaCheckInput, QuotaCheckResult, QuotaRecordInput, ToolExecutor, ToolLoopAbortSignal, ToolLoopOptions, ToolLoopState, ClassifyOptions, ClassifyResult, AnalyzeImageInput, ProviderBalance, RateLimitBalance, BatchRequest, BatchResponse, BatchJob } from './types.js';
7
7
  export { canonicalToLLMRequest, normalizeLLMRequest, normalizeLLMResponse, } from './canonical.js';
8
8
  export type { CanonicalDegradation, CanonicalFallbackHop, CanonicalLLMRequest, CanonicalLLMResponse, CanonicalMediaPart, CanonicalMessage, CanonicalOutputFormat, CanonicalProviderOptions, CanonicalRequestMetadata, CanonicalRequirements, CanonicalResponseError, CanonicalRoutingMetadata, CanonicalSamplingOptions, CanonicalTool, CanonicalToolMode, } from './canonical.js';
9
9
  export { getGatewayRoutePlan } from './gateway-routing.js';
@@ -33,7 +33,7 @@ export { IMAGE_MODELS, getImageModel } from './image/index.js';
33
33
  export { noopLogger, consoleLogger } from './utils/logger.js';
34
34
  export type { Logger } from './utils/logger.js';
35
35
  export { noopHooks, composeHooks } from './utils/hooks.js';
36
- export type { ObservabilityHooks, RequestStartEvent, RequestEndEvent, RequestErrorEvent, RetryEvent, FallbackEvent, CircuitStateChangeEvent, QuotaExhaustedEvent, BudgetThresholdEvent, QuotaCheckEvent, QuotaDeniedEvent, ProviderBalanceEvent, SchemaDriftEvent, } from './utils/hooks.js';
36
+ export type { ObservabilityHooks, RequestStartEvent, RequestEndEvent, CacheEvent, RequestErrorEvent, RetryEvent, FallbackEvent, CircuitStateChangeEvent, QuotaExhaustedEvent, BudgetThresholdEvent, QuotaCheckEvent, QuotaDeniedEvent, ProviderBalanceEvent, SchemaDriftEvent, } from './utils/hooks.js';
37
37
  export { ExhaustionRegistry, defaultExhaustionRegistry } from './utils/exhaustion.js';
38
38
  export type { ExhaustionEntry, ExhaustionRegistrySnapshot } from './utils/exhaustion.js';
39
39
  export { LatencyHistogram, defaultLatencyHistogram } from './utils/latency-histogram.js';