@stackbilt/llm-providers 1.9.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 +134 -8
  2. package/dist/factory.d.ts.map +1 -1
  3. package/dist/factory.js +68 -22
  4. package/dist/factory.js.map +1 -1
  5. package/dist/index.d.ts +8 -5
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +4 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/model-catalog.d.ts +23 -1
  10. package/dist/model-catalog.d.ts.map +1 -1
  11. package/dist/model-catalog.js +133 -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 +25 -0
  28. package/dist/providers/groq.d.ts.map +1 -1
  29. package/dist/providers/groq.js +162 -4
  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 +49 -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
@@ -10,9 +10,14 @@ export interface ExhaustionEntry {
10
10
  exhaustedAt: number;
11
11
  resetAt: number;
12
12
  }
13
+ export interface ExhaustionRegistrySnapshot {
14
+ version: 1;
15
+ defaultResetMs: number;
16
+ entries: ExhaustionEntry[];
17
+ }
13
18
  export declare class ExhaustionRegistry {
14
19
  private entries;
15
- readonly defaultResetMs: number;
20
+ defaultResetMs: number;
16
21
  constructor(defaultResetMs?: number);
17
22
  /**
18
23
  * Mark a provider as quota-exhausted.
@@ -30,6 +35,13 @@ export declare class ExhaustionRegistry {
30
35
  getExhaustedProviders(): string[];
31
36
  /** Get the entry for a specific provider (if exhausted). */
32
37
  getEntry(provider: string): ExhaustionEntry | undefined;
38
+ /** Snapshot non-expired exhaustion state for external persistence. */
39
+ snapshot(): ExhaustionRegistrySnapshot;
40
+ /** Serialize exhaustion state for Workers KV, D1, Redis, etc. */
41
+ serialize(): string;
42
+ /** Restore exhaustion state onto this registry. */
43
+ restore(snapshot: ExhaustionRegistrySnapshot | string): void;
44
+ static deserialize(json: string): ExhaustionRegistry;
33
45
  /** Clear all exhaustion state. */
34
46
  reset(): void;
35
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"exhaustion.d.ts","sourceRoot":"","sources":["../../src/utils/exhaustion.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAA2C;IAC1D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;gBAEpB,cAAc,GAAE,MAAyB;IAIrD;;;OAGG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IAU5D;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAYtC,gDAAgD;IAChD,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIvC,iDAAiD;IACjD,qBAAqB,IAAI,MAAM,EAAE;IAejC,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAKvD,kCAAkC;IAClC,KAAK,IAAI,IAAI;CAGd;AAED,uEAAuE;AACvE,eAAO,MAAM,yBAAyB,oBAA2B,CAAC"}
1
+ {"version":3,"file":"exhaustion.d.ts","sourceRoot":"","sources":["../../src/utils/exhaustion.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,CAAC,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAKD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAA2C;IAC1D,cAAc,EAAE,MAAM,CAAC;gBAEX,cAAc,GAAE,MAAyB;IAIrD;;;OAGG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IAU5D;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAYtC,gDAAgD;IAChD,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIvC,iDAAiD;IACjD,qBAAqB,IAAI,MAAM,EAAE;IAejC,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAKvD,sEAAsE;IACtE,QAAQ,IAAI,0BAA0B;IAStC,iEAAiE;IACjE,SAAS,IAAI,MAAM;IAInB,mDAAmD;IACnD,OAAO,CAAC,QAAQ,EAAE,0BAA0B,GAAG,MAAM,GAAG,IAAI;IAgB5D,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB;IAWpD,kCAAkC;IAClC,KAAK,IAAI,IAAI;CAGd;AAED,uEAAuE;AACvE,eAAO,MAAM,yBAAyB,oBAA2B,CAAC"}
@@ -64,6 +64,42 @@ export class ExhaustionRegistry {
64
64
  return undefined;
65
65
  return this.entries.get(provider);
66
66
  }
67
+ /** Snapshot non-expired exhaustion state for external persistence. */
68
+ snapshot() {
69
+ this.getExhaustedProviders();
70
+ return {
71
+ version: 1,
72
+ defaultResetMs: this.defaultResetMs,
73
+ entries: Array.from(this.entries.values()).map(entry => ({ ...entry })),
74
+ };
75
+ }
76
+ /** Serialize exhaustion state for Workers KV, D1, Redis, etc. */
77
+ serialize() {
78
+ return JSON.stringify(this.snapshot());
79
+ }
80
+ /** Restore exhaustion state onto this registry. */
81
+ restore(snapshot) {
82
+ const parsed = typeof snapshot === 'string'
83
+ ? JSON.parse(snapshot)
84
+ : snapshot;
85
+ if (parsed.version !== 1) {
86
+ throw new Error(`Unsupported ExhaustionRegistry snapshot version: ${String(parsed.version)}`);
87
+ }
88
+ this.defaultResetMs = parsed.defaultResetMs;
89
+ this.entries.clear();
90
+ for (const entry of parsed.entries) {
91
+ this.entries.set(entry.provider, { ...entry });
92
+ }
93
+ }
94
+ static deserialize(json) {
95
+ const snapshot = JSON.parse(json);
96
+ if (snapshot.version !== 1) {
97
+ throw new Error(`Unsupported ExhaustionRegistry snapshot version: ${String(snapshot.version)}`);
98
+ }
99
+ const registry = new ExhaustionRegistry(snapshot.defaultResetMs);
100
+ registry.restore(snapshot);
101
+ return registry;
102
+ }
67
103
  /** Clear all exhaustion state. */
68
104
  reset() {
69
105
  this.entries.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"exhaustion.js","sourceRoot":"","sources":["../../src/utils/exhaustion.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,kCAAkC;AAClC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAEjC,MAAM,OAAO,kBAAkB;IACrB,OAAO,GAAiC,IAAI,GAAG,EAAE,CAAC;IACjD,cAAc,CAAS;IAEhC,YAAY,iBAAyB,gBAAgB;QACnD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,QAAgB,EAAE,YAAqB;QACnD,MAAM,OAAO,GAAG,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;YACzB,QAAQ;YACR,WAAW,EAAE,GAAG;YAChB,OAAO,EAAE,GAAG,GAAG,OAAO;SACvB,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,QAAgB;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gDAAgD;IAChD,eAAe,CAAC,QAAgB;QAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,iDAAiD;IACjD,qBAAqB;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7C,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,4DAA4D;IAC5D,QAAQ,CAAC,QAAgB;QACvB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YAAE,OAAO,SAAS,CAAC;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,kCAAkC;IAClC,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF;AAED,uEAAuE;AACvE,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"exhaustion.js","sourceRoot":"","sources":["../../src/utils/exhaustion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { TokenUsage } from '../types.js';
2
+ declare const STREAM_USAGE: unique symbol;
3
+ export type UsageTrackedStream = ReadableStream<string> & {
4
+ [STREAM_USAGE]?: Promise<TokenUsage | undefined>;
5
+ };
6
+ export declare function createStreamUsageTracker(): {
7
+ promise: Promise<TokenUsage | undefined>;
8
+ resolve: (usage: TokenUsage | undefined) => void;
9
+ };
10
+ export declare function attachStreamUsage(stream: ReadableStream<string>, usage: Promise<TokenUsage | undefined>): UsageTrackedStream;
11
+ export declare function getStreamUsage(stream: ReadableStream<string>): Promise<TokenUsage | undefined> | undefined;
12
+ export {};
13
+ //# sourceMappingURL=stream-usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-usage.d.ts","sourceRoot":"","sources":["../../src/utils/stream-usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,QAAA,MAAM,YAAY,eAAqD,CAAC;AAExE,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG;IACxD,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;CAClD,CAAC;AAEF,wBAAgB,wBAAwB,IAAI;IAC1C,OAAO,EAAE,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IACzC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,KAAK,IAAI,CAAC;CAClD,CAeA;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,EAC9B,KAAK,EAAE,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,GACrC,kBAAkB,CAMpB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,GAAG,SAAS,CAE1G"}
@@ -0,0 +1,27 @@
1
+ const STREAM_USAGE = Symbol.for('@stackbilt/llm-providers.streamUsage');
2
+ export function createStreamUsageTracker() {
3
+ let settled = false;
4
+ let resolvePromise = () => { };
5
+ const promise = new Promise((resolve) => {
6
+ resolvePromise = resolve;
7
+ });
8
+ return {
9
+ promise,
10
+ resolve: (usage) => {
11
+ if (settled)
12
+ return;
13
+ settled = true;
14
+ resolvePromise(usage);
15
+ },
16
+ };
17
+ }
18
+ export function attachStreamUsage(stream, usage) {
19
+ Object.defineProperty(stream, STREAM_USAGE, {
20
+ value: usage,
21
+ });
22
+ return stream;
23
+ }
24
+ export function getStreamUsage(stream) {
25
+ return stream[STREAM_USAGE];
26
+ }
27
+ //# sourceMappingURL=stream-usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-usage.js","sourceRoot":"","sources":["../../src/utils/stream-usage.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;AAMxE,MAAM,UAAU,wBAAwB;IAItC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,cAAc,GAA4C,GAAG,EAAE,GAAE,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAyB,CAAC,OAAO,EAAE,EAAE;QAC9D,cAAc,GAAG,OAAO,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,OAAO;QACP,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,cAAc,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,MAA8B,EAC9B,KAAsC;IAEtC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE;QAC1C,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;IAEH,OAAO,MAA4B,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAA8B;IAC3D,OAAQ,MAA6B,CAAC,YAAY,CAAC,CAAC;AACtD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const VERSION = "1.11.0";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ // Generated by scripts/sync-version.mjs; do not edit manually.
2
+ export const VERSION = '1.11.0';
3
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackbilt/llm-providers",
3
- "version": "1.9.0",
3
+ "version": "1.11.0",
4
4
  "description": "Multi-LLM failover with circuit breakers, cost tracking, and intelligent retry. Cloudflare Workers native.",
5
5
  "author": "Stackbilt <admin@stackbilt.dev>",
6
6
  "license": "Apache-2.0",
@@ -35,13 +35,14 @@
35
35
  "LICENSE"
36
36
  ],
37
37
  "scripts": {
38
- "build": "tsc",
39
- "typecheck": "tsc --noEmit",
40
- "test": "vitest run",
38
+ "sync:version": "node scripts/sync-version.mjs",
39
+ "build": "npm run sync:version && tsc",
40
+ "typecheck": "npm run sync:version && tsc --noEmit",
41
+ "test": "npm run sync:version && vitest run",
41
42
  "test:package": "bash ./scripts/package-smoke.sh",
42
- "test:watch": "vitest watch",
43
- "test:coverage": "vitest run --coverage",
44
- "prepare": "tsc",
43
+ "test:watch": "npm run sync:version && vitest watch",
44
+ "test:coverage": "npm run sync:version && vitest run --coverage",
45
+ "prepare": "npm run build",
45
46
  "prepublishOnly": "npm run build"
46
47
  },
47
48
  "devDependencies": {