@auxiora/providers 1.0.0 → 1.3.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 (92) hide show
  1. package/dist/anthropic.d.ts +2 -1
  2. package/dist/anthropic.d.ts.map +1 -1
  3. package/dist/anthropic.js +17 -1
  4. package/dist/anthropic.js.map +1 -1
  5. package/dist/cohere.d.ts +2 -1
  6. package/dist/cohere.d.ts.map +1 -1
  7. package/dist/cohere.js +3 -0
  8. package/dist/cohere.js.map +1 -1
  9. package/dist/deepseek.d.ts +2 -1
  10. package/dist/deepseek.d.ts.map +1 -1
  11. package/dist/deepseek.js +4 -0
  12. package/dist/deepseek.js.map +1 -1
  13. package/dist/factory.d.ts +5 -0
  14. package/dist/factory.d.ts.map +1 -1
  15. package/dist/factory.js +109 -18
  16. package/dist/factory.js.map +1 -1
  17. package/dist/failover-error.d.ts +32 -0
  18. package/dist/failover-error.d.ts.map +1 -0
  19. package/dist/failover-error.js +166 -0
  20. package/dist/failover-error.js.map +1 -0
  21. package/dist/google.d.ts +2 -1
  22. package/dist/google.d.ts.map +1 -1
  23. package/dist/google.js +5 -0
  24. package/dist/google.js.map +1 -1
  25. package/dist/groq.d.ts +2 -1
  26. package/dist/groq.d.ts.map +1 -1
  27. package/dist/groq.js +4 -0
  28. package/dist/groq.js.map +1 -1
  29. package/dist/index.d.ts +5 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +5 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/model-failover.d.ts +32 -0
  34. package/dist/model-failover.d.ts.map +1 -0
  35. package/dist/model-failover.js +130 -0
  36. package/dist/model-failover.js.map +1 -0
  37. package/dist/ollama.d.ts +1 -1
  38. package/dist/ollama.d.ts.map +1 -1
  39. package/dist/ollama.js +1 -0
  40. package/dist/ollama.js.map +1 -1
  41. package/dist/openai-compatible.d.ts +1 -1
  42. package/dist/openai-compatible.d.ts.map +1 -1
  43. package/dist/openai-compatible.js +1 -0
  44. package/dist/openai-compatible.js.map +1 -1
  45. package/dist/openai.d.ts +2 -1
  46. package/dist/openai.d.ts.map +1 -1
  47. package/dist/openai.js +7 -0
  48. package/dist/openai.js.map +1 -1
  49. package/dist/profile-cooldown.d.ts +15 -0
  50. package/dist/profile-cooldown.d.ts.map +1 -0
  51. package/dist/profile-cooldown.js +96 -0
  52. package/dist/profile-cooldown.js.map +1 -0
  53. package/dist/profile-rotator.d.ts +31 -0
  54. package/dist/profile-rotator.d.ts.map +1 -0
  55. package/dist/profile-rotator.js +130 -0
  56. package/dist/profile-rotator.js.map +1 -0
  57. package/dist/provider-cooldown.d.ts +51 -0
  58. package/dist/provider-cooldown.d.ts.map +1 -0
  59. package/dist/provider-cooldown.js +115 -0
  60. package/dist/provider-cooldown.js.map +1 -0
  61. package/dist/replicate.d.ts +1 -1
  62. package/dist/replicate.d.ts.map +1 -1
  63. package/dist/replicate.js.map +1 -1
  64. package/dist/types.d.ts +17 -7
  65. package/dist/types.d.ts.map +1 -1
  66. package/dist/xai.d.ts +2 -1
  67. package/dist/xai.d.ts.map +1 -1
  68. package/dist/xai.js +4 -0
  69. package/dist/xai.js.map +1 -1
  70. package/package.json +10 -4
  71. package/src/anthropic.ts +0 -691
  72. package/src/claude-code-tools.ts +0 -233
  73. package/src/claude-oauth.ts +0 -410
  74. package/src/cohere.ts +0 -242
  75. package/src/deepseek.ts +0 -241
  76. package/src/factory.ts +0 -142
  77. package/src/google.ts +0 -176
  78. package/src/groq.ts +0 -263
  79. package/src/index.ts +0 -44
  80. package/src/ollama.ts +0 -194
  81. package/src/openai-compatible.ts +0 -154
  82. package/src/openai.ts +0 -307
  83. package/src/replicate.ts +0 -247
  84. package/src/thinking-levels.ts +0 -37
  85. package/src/types.ts +0 -171
  86. package/src/xai.ts +0 -241
  87. package/tests/adapters.test.ts +0 -185
  88. package/tests/claude-oauth.test.ts +0 -45
  89. package/tests/new-providers.test.ts +0 -732
  90. package/tests/thinking-levels.test.ts +0 -82
  91. package/tsconfig.json +0 -8
  92. package/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,166 @@
1
+ /**
2
+ * Failover error classification for model failover.
3
+ * Classifies provider errors into typed reasons to decide whether
4
+ * to retry on a different model/provider.
5
+ */
6
+ export class FailoverError extends Error {
7
+ name = 'FailoverError';
8
+ reason;
9
+ provider;
10
+ model;
11
+ statusCode;
12
+ constructor(reason, provider, model, message, statusCode) {
13
+ super(message);
14
+ this.reason = reason;
15
+ this.provider = provider;
16
+ this.model = model;
17
+ this.statusCode = statusCode;
18
+ }
19
+ }
20
+ /* ------------------------------------------------------------------ */
21
+ /* Internal helpers */
22
+ /* ------------------------------------------------------------------ */
23
+ function getStatusCode(err) {
24
+ if (typeof err !== 'object' || err === null)
25
+ return undefined;
26
+ const e = err;
27
+ const code = e.status ?? e.statusCode;
28
+ return typeof code === 'number' ? code : undefined;
29
+ }
30
+ function getErrorCode(err) {
31
+ if (typeof err !== 'object' || err === null)
32
+ return undefined;
33
+ const e = err;
34
+ const code = e.code ?? e.error_code;
35
+ return typeof code === 'string' ? code : undefined;
36
+ }
37
+ function getMessage(err) {
38
+ if (err instanceof Error)
39
+ return err.message;
40
+ return String(err);
41
+ }
42
+ /* Context-overflow patterns (strings and regex) */
43
+ const CONTEXT_OVERFLOW_CODES = new Set([
44
+ 'context_length_exceeded',
45
+ 'context_too_long',
46
+ 'max_tokens_exceeded',
47
+ 'string_above_max_length',
48
+ ]);
49
+ const CONTEXT_OVERFLOW_RE = /context.{0,20}(exceed|length|overflow|too.?long)|max.?tokens.?exceeded|token.?limit|too.?many.?tokens/i;
50
+ const TIMEOUT_RE = /time[d\s_-]*out|deadline.*exceeded|ETIMEDOUT|ESOCKETTIMEDOUT/i;
51
+ const BILLING_RE = /insufficient.{0,10}(quota|funds|credits|balance)|billing|payment.*required/i;
52
+ const RATE_LIMIT_CODES = new Set([
53
+ 'rate_limit_exceeded',
54
+ 'rate_limit',
55
+ 'too_many_requests',
56
+ ]);
57
+ const AUTH_CODES = new Set([
58
+ 'invalid_api_key',
59
+ 'authentication_error',
60
+ 'permission_denied',
61
+ ]);
62
+ /* ------------------------------------------------------------------ */
63
+ /* Public API */
64
+ /* ------------------------------------------------------------------ */
65
+ /**
66
+ * Attempt to classify an arbitrary error into a FailoverError.
67
+ * Returns null when the error cannot be recognized.
68
+ */
69
+ export function coerceToFailoverError(err, provider, model) {
70
+ if (typeof err !== 'object' || err === null)
71
+ return null;
72
+ const status = getStatusCode(err);
73
+ const code = getErrorCode(err);
74
+ const msg = getMessage(err);
75
+ // 1. Status-code classification
76
+ if (status !== undefined) {
77
+ switch (status) {
78
+ case 429:
79
+ return new FailoverError('rate_limit', provider, model, msg, status);
80
+ case 402:
81
+ return new FailoverError('billing', provider, model, msg, status);
82
+ case 401:
83
+ case 403:
84
+ return new FailoverError('auth', provider, model, msg, status);
85
+ case 408:
86
+ return new FailoverError('timeout', provider, model, msg, status);
87
+ case 400:
88
+ if (CONTEXT_OVERFLOW_RE.test(msg)) {
89
+ return new FailoverError('context_overflow', provider, model, msg, status);
90
+ }
91
+ return new FailoverError('format', provider, model, msg, status);
92
+ }
93
+ }
94
+ // 2. Error-code classification
95
+ if (code !== undefined) {
96
+ if (RATE_LIMIT_CODES.has(code)) {
97
+ return new FailoverError('rate_limit', provider, model, msg, status);
98
+ }
99
+ if (AUTH_CODES.has(code)) {
100
+ return new FailoverError('auth', provider, model, msg, status);
101
+ }
102
+ if (CONTEXT_OVERFLOW_CODES.has(code)) {
103
+ return new FailoverError('context_overflow', provider, model, msg, status);
104
+ }
105
+ }
106
+ // 3. Message-pattern classification
107
+ if (BILLING_RE.test(msg)) {
108
+ return new FailoverError('billing', provider, model, msg, status);
109
+ }
110
+ if (TIMEOUT_RE.test(msg)) {
111
+ return new FailoverError('timeout', provider, model, msg, status);
112
+ }
113
+ if (CONTEXT_OVERFLOW_RE.test(msg)) {
114
+ return new FailoverError('context_overflow', provider, model, msg, status);
115
+ }
116
+ return null;
117
+ }
118
+ /**
119
+ * Check whether an error represents a context-overflow condition.
120
+ */
121
+ export function isContextOverflow(err) {
122
+ if (err instanceof FailoverError)
123
+ return err.reason === 'context_overflow';
124
+ if (err instanceof Error)
125
+ return CONTEXT_OVERFLOW_RE.test(err.message);
126
+ return false;
127
+ }
128
+ /**
129
+ * Check whether an error is a user-initiated abort (not a timeout).
130
+ */
131
+ export function isUserAbort(err) {
132
+ if (!(err instanceof Error))
133
+ return false;
134
+ if (err instanceof FailoverError)
135
+ return false;
136
+ if (err.name !== 'AbortError')
137
+ return false;
138
+ // Exclude timeout-triggered aborts
139
+ const cause = err.cause;
140
+ if (cause instanceof Error) {
141
+ if (cause.name === 'TimeoutError' || TIMEOUT_RE.test(cause.message)) {
142
+ return false;
143
+ }
144
+ }
145
+ if (TIMEOUT_RE.test(err.message))
146
+ return false;
147
+ return true;
148
+ }
149
+ /**
150
+ * Check whether an error represents a timeout condition.
151
+ */
152
+ export function isTimeoutError(err) {
153
+ if (!(err instanceof Error))
154
+ return false;
155
+ if (err.name === 'TimeoutError')
156
+ return true;
157
+ // Check cause chain
158
+ const cause = err.cause;
159
+ if (cause instanceof Error) {
160
+ if (cause.name === 'TimeoutError' || TIMEOUT_RE.test(cause.message)) {
161
+ return true;
162
+ }
163
+ }
164
+ return TIMEOUT_RE.test(err.message);
165
+ }
166
+ //# sourceMappingURL=failover-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failover-error.js","sourceRoot":"","sources":["../src/failover-error.ts"],"names":[],"mappings":"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"}
package/dist/google.d.ts CHANGED
@@ -8,9 +8,10 @@ export declare class GoogleProvider implements Provider {
8
8
  name: string;
9
9
  metadata: ProviderMetadata;
10
10
  private client;
11
- private defaultModel;
11
+ readonly defaultModel: string;
12
12
  private defaultMaxTokens;
13
13
  constructor(options: GoogleProviderOptions);
14
+ setActiveKey(apiKey: string): void;
14
15
  complete(messages: ChatMessage[], options?: CompletionOptions): Promise<CompletionResult>;
15
16
  stream(messages: ChatMessage[], options?: CompletionOptions): AsyncGenerator<StreamChunk, void, unknown>;
16
17
  private prepareMessages;
@@ -1 +1 @@
1
- {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../src/google.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AAKpB,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAe,YAAW,QAAQ;IAC7C,IAAI,SAAY;IAChB,QAAQ,EAAE,gBAAgB,CAkCxB;IACF,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAS;gBAErB,OAAO,EAAE,qBAAqB;IAMpC,QAAQ,CACZ,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IAmCrB,MAAM,CACX,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC;IAyC7C,OAAO,CAAC,eAAe;CA2BxB"}
1
+ {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../src/google.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AAKpB,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAe,YAAW,QAAQ;IAC7C,IAAI,SAAY;IAChB,QAAQ,EAAE,gBAAgB,CAkCxB;IACF,OAAO,CAAC,MAAM,CAAqB;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,gBAAgB,CAAS;gBAErB,OAAO,EAAE,qBAAqB;IAM1C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI5B,QAAQ,CACZ,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IAmCrB,MAAM,CACX,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC;IA2C7C,OAAO,CAAC,eAAe;CA2BxB"}
package/dist/google.js CHANGED
@@ -47,6 +47,9 @@ export class GoogleProvider {
47
47
  this.defaultModel = options.model || DEFAULT_MODEL;
48
48
  this.defaultMaxTokens = options.maxTokens || DEFAULT_MAX_TOKENS;
49
49
  }
50
+ setActiveKey(apiKey) {
51
+ this.client = new GoogleGenerativeAI(apiKey);
52
+ }
50
53
  async complete(messages, options) {
51
54
  const modelName = options?.model || this.defaultModel;
52
55
  const model = this.client.getGenerativeModel({
@@ -100,8 +103,10 @@ export class GoogleProvider {
100
103
  }
101
104
  const finalResponse = await result.response;
102
105
  const usage = finalResponse.usageMetadata;
106
+ const candidate = finalResponse.candidates?.[0];
103
107
  yield {
104
108
  type: 'done',
109
+ finishReason: candidate?.finishReason === 'MAX_TOKENS' ? 'max_tokens' : (candidate?.finishReason?.toLowerCase() || 'stop'),
105
110
  usage: {
106
111
  inputTokens: usage?.promptTokenCount ?? 0,
107
112
  outputTokens: usage?.candidatesTokenCount ?? 0,
@@ -1 +1 @@
1
- {"version":3,"file":"google.js","sourceRoot":"","sources":["../src/google.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google.js","sourceRoot":"","sources":["../src/google.ts"],"names":[],"mappings":"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"}
package/dist/groq.d.ts CHANGED
@@ -8,9 +8,10 @@ export declare class GroqProvider implements Provider {
8
8
  name: string;
9
9
  metadata: ProviderMetadata;
10
10
  private apiKey;
11
- private defaultModel;
11
+ readonly defaultModel: string;
12
12
  private defaultMaxTokens;
13
13
  constructor(options: GroqProviderOptions);
14
+ setActiveKey(apiKey: string): void;
14
15
  complete(messages: ChatMessage[], options?: CompletionOptions): Promise<CompletionResult>;
15
16
  stream(messages: ChatMessage[], options?: CompletionOptions): AsyncGenerator<StreamChunk, void, unknown>;
16
17
  private prepareMessages;
@@ -1 +1 @@
1
- {"version":3,"file":"groq.d.ts","sourceRoot":"","sources":["../src/groq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqCD,qBAAa,YAAa,YAAW,QAAQ;IAC3C,IAAI,SAAU;IACd,QAAQ,EAAE,gBAAgB,CA2DxB;IAEF,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAS;gBAErB,OAAO,EAAE,mBAAmB;IAMlC,QAAQ,CACZ,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IAoCrB,MAAM,CACX,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC;IA6E7C,OAAO,CAAC,eAAe;CAgBxB"}
1
+ {"version":3,"file":"groq.d.ts","sourceRoot":"","sources":["../src/groq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqCD,qBAAa,YAAa,YAAW,QAAQ;IAC3C,IAAI,SAAU;IACd,QAAQ,EAAE,gBAAgB,CA2DxB;IAEF,OAAO,CAAC,MAAM,CAAS;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,gBAAgB,CAAS;gBAErB,OAAO,EAAE,mBAAmB;IAMxC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI5B,QAAQ,CACZ,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IAoCrB,MAAM,CACX,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC;IA8E7C,OAAO,CAAC,eAAe;CAgBxB"}
package/dist/groq.js CHANGED
@@ -72,6 +72,9 @@ export class GroqProvider {
72
72
  this.defaultModel = options.model || DEFAULT_MODEL;
73
73
  this.defaultMaxTokens = options.maxTokens || DEFAULT_MAX_TOKENS;
74
74
  }
75
+ setActiveKey(apiKey) {
76
+ this.apiKey = apiKey;
77
+ }
75
78
  async complete(messages, options) {
76
79
  const model = options?.model || this.defaultModel;
77
80
  const groqMessages = this.prepareMessages(messages, options);
@@ -159,6 +162,7 @@ export class GroqProvider {
159
162
  if (chunk.choices[0]?.finish_reason) {
160
163
  yield {
161
164
  type: 'done',
165
+ finishReason: chunk.choices[0].finish_reason,
162
166
  usage: { inputTokens, outputTokens },
163
167
  };
164
168
  }
package/dist/groq.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"groq.js","sourceRoot":"","sources":["../src/groq.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"groq.js","sourceRoot":"","sources":["../src/groq.ts"],"names":[],"mappings":"AASA,MAAM,aAAa,GAAG,yBAAyB,CAAC;AAChD,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,QAAQ,GAAG,gCAAgC,CAAC;AA2ClD,MAAM,OAAO,YAAY;IACvB,IAAI,GAAG,MAAM,CAAC;IACd,QAAQ,GAAqB;QAC3B,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,MAAM;QACnB,MAAM,EAAE;YACN,yBAAyB,EAAE;gBACzB,gBAAgB,EAAE,MAAM;gBACxB,cAAc,EAAE,KAAK;gBACrB,aAAa,EAAE,IAAI;gBACnB,iBAAiB,EAAE,IAAI;gBACvB,gBAAgB,EAAE,KAAK;gBACvB,cAAc,EAAE,OAAO;gBACvB,eAAe,EAAE,OAAO;gBACxB,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC;gBACxC,OAAO,EAAE,KAAK;aACf;YACD,sBAAsB,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,cAAc,EAAE,KAAK;gBACrB,aAAa,EAAE,IAAI;gBACnB,iBAAiB,EAAE,IAAI;gBACvB,gBAAgB,EAAE,KAAK;gBACvB,cAAc,EAAE,OAAO;gBACvB,eAAe,EAAE,OAAO;gBACxB,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;gBAC/B,OAAO,EAAE,KAAK;aACf;YACD,oBAAoB,EAAE;gBACpB,gBAAgB,EAAE,KAAK;gBACvB,cAAc,EAAE,KAAK;gBACrB,aAAa,EAAE,IAAI;gBACnB,iBAAiB,EAAE,IAAI;gBACvB,gBAAgB,EAAE,KAAK;gBACvB,cAAc,EAAE,OAAO;gBACvB,eAAe,EAAE,OAAO;gBACxB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC;gBAC3C,OAAO,EAAE,KAAK;aACf;YACD,cAAc,EAAE;gBACd,gBAAgB,EAAE,IAAI;gBACtB,cAAc,EAAE,KAAK;gBACrB,aAAa,EAAE,IAAI;gBACnB,iBAAiB,EAAE,IAAI;gBACvB,gBAAgB,EAAE,KAAK;gBACvB,cAAc,EAAE,MAAM;gBACtB,eAAe,EAAE,MAAM;gBACvB,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;gBAC/B,OAAO,EAAE,KAAK;aACf;SACF;QACD,WAAW,EAAE,KAAK,IAAI,EAAE;YACtB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,SAAS,EAAE;oBACjD,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE;iBACpD,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC,EAAE,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;KACF,CAAC;IAEM,MAAM,CAAS;IACd,YAAY,CAAS;IACtB,gBAAgB,CAAS;IAEjC,YAAY,OAA4B;QACtC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC;QACnD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC;IAClE,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,QAAuB,EACvB,OAA2B;QAE3B,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE7D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,mBAAmB,EAAE;YAC3D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;aACvC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK;gBACL,UAAU,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,gBAAgB;gBACvD,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,OAAO,EAAE,WAAW;aAClC,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAC;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE/B,OAAO;YACL,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE;YACvC,KAAK,EAAE;gBACL,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC;gBAC3C,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB,IAAI,CAAC;aACjD;YACD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,MAAM,EAAE,aAAa,IAAI,SAAS;SACjD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CACX,QAAuB,EACvB,OAA2B;QAE3B,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE7D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,mBAAmB,EAAE;gBAC3D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;iBACvC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK;oBACL,UAAU,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,gBAAgB;oBACvD,QAAQ,EAAE,YAAY;oBACtB,WAAW,EAAE,OAAO,EAAE,WAAW;oBACjC,MAAM,EAAE,IAAI;oBACZ,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;iBACxC,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YAC/E,CAAC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACtC,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAEhB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC5B,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;wBAAE,SAAS;oBACxD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC9B,IAAI,IAAI,KAAK,QAAQ;wBAAE,SAAS;oBAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoB,CAAC;oBAElD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;oBACtC,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;wBACnB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;oBACjD,CAAC;oBAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBAChB,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC;wBAC7C,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC;oBACpD,CAAC;oBAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;wBACpC,MAAM;4BACJ,IAAI,EAAE,MAAM;4BACZ,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa;4BAC5C,KAAK,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;yBACrC,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM;gBACJ,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAChE,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,eAAe,CACrB,QAAuB,EACvB,OAA2B;QAE3B,MAAM,YAAY,GAAsB,EAAE,CAAC;QAE3C,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;YAC1B,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -9,7 +9,12 @@ export { DeepSeekProvider, type DeepSeekProviderOptions } from './deepseek.js';
9
9
  export { CohereProvider, type CohereProviderOptions } from './cohere.js';
10
10
  export { XAIProvider, type XAIProviderOptions } from './xai.js';
11
11
  export { ProviderFactory, type ProviderFactoryOptions, type ProviderName } from './factory.js';
12
+ export { ProfileRotator, type RotatableProvider } from './profile-rotator.js';
13
+ export { isProfileInCooldown, markProfileCooldown, clearProfileCooldown, shouldProbeProfile, recordProfileProbeResult, resetAllProfileCooldowns, } from './profile-cooldown.js';
12
14
  export { getAnthropicThinkingBudget, getOpenAIReasoningEffort, isOpenAIReasoningModel, } from './thinking-levels.js';
13
15
  export { isSetupToken, validateSetupToken, readClaudeCliCredentials, resolveAnthropicApiKey, generatePKCE, buildAuthorizationUrl, exchangeCodeForTokens, refreshOAuthToken, refreshPKCEOAuthToken, writeClaudeCliCredentials, type ClaudeOAuthCredentials, } from './claude-oauth.js';
16
+ export { FailoverError, coerceToFailoverError, isContextOverflow, isUserAbort, isTimeoutError, type FailoverReason, } from './failover-error.js';
17
+ export { isProviderInCooldown, markProviderCooldown, clearProviderCooldown, shouldProbe, recordProbeResult, resetAllCooldowns, } from './provider-cooldown.js';
18
+ export { runWithModelFallback, streamWithModelFallback, type FallbackCandidate, type FallbackOptions, type FallbackResult, type AttemptRecord, } from './model-failover.js';
14
19
  export type { Provider, ProviderConfig, ProviderMetadata, ModelCapabilities, ChatMessage, CompletionOptions, CompletionResult, StreamChunk, MessageRole, ThinkingLevel, ToolDefinition, ToolUse, ToolResultMessage, } from './types.js';
15
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,KAAK,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACxG,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,EACzB,KAAK,sBAAsB,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,aAAa,EACb,cAAc,EACd,OAAO,EACP,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,KAAK,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACxG,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,EACzB,KAAK,sBAAsB,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,KAAK,cAAc,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,aAAa,EACb,cAAc,EACd,OAAO,EACP,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -9,6 +9,11 @@ export { DeepSeekProvider } from './deepseek.js';
9
9
  export { CohereProvider } from './cohere.js';
10
10
  export { XAIProvider } from './xai.js';
11
11
  export { ProviderFactory } from './factory.js';
12
+ export { ProfileRotator } from './profile-rotator.js';
13
+ export { isProfileInCooldown, markProfileCooldown, clearProfileCooldown, shouldProbeProfile, recordProfileProbeResult, resetAllProfileCooldowns, } from './profile-cooldown.js';
12
14
  export { getAnthropicThinkingBudget, getOpenAIReasoningEffort, isOpenAIReasoningModel, } from './thinking-levels.js';
13
15
  export { isSetupToken, validateSetupToken, readClaudeCliCredentials, resolveAnthropicApiKey, generatePKCE, buildAuthorizationUrl, exchangeCodeForTokens, refreshOAuthToken, refreshPKCEOAuthToken, writeClaudeCliCredentials, } from './claude-oauth.js';
16
+ export { FailoverError, coerceToFailoverError, isContextOverflow, isUserAbort, isTimeoutError, } from './failover-error.js';
17
+ export { isProviderInCooldown, markProviderCooldown, clearProviderCooldown, shouldProbe, recordProbeResult, resetAllCooldowns, } from './provider-cooldown.js';
18
+ export { runWithModelFallback, streamWithModelFallback, } from './model-failover.js';
14
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiC,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,cAAc,EAA8B,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,cAAc,EAA8B,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,cAAc,EAA8B,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAwC,MAAM,wBAAwB,CAAC;AACxG,OAAO,EAAE,YAAY,EAA4B,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAiC,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAgC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,cAAc,EAA8B,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,WAAW,EAA2B,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,eAAe,EAAkD,MAAM,cAAc,CAAC;AAC/F,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,GAE1B,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiC,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,cAAc,EAA8B,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,cAAc,EAA8B,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,cAAc,EAA8B,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAwC,MAAM,wBAAwB,CAAC;AACxG,OAAO,EAAE,YAAY,EAA4B,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAiC,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAgC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,cAAc,EAA8B,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,WAAW,EAA2B,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,eAAe,EAAkD,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,cAAc,EAA0B,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,GAE1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,WAAW,EACX,cAAc,GAEf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,oBAAoB,EACpB,uBAAuB,GAKxB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Model failover — execute with automatic fallback through candidate chain.
3
+ *
4
+ * Works for both complete() (Promise) and stream() (AsyncGenerator).
5
+ * Streaming failover only retries pre-chunk errors; mid-stream failures
6
+ * yield an error chunk (can't merge partial responses from different models).
7
+ */
8
+ import { FailoverError } from './failover-error.js';
9
+ import type { Provider, StreamChunk } from './types.js';
10
+ export interface FallbackCandidate {
11
+ provider: Provider;
12
+ name: string;
13
+ model: string;
14
+ }
15
+ export interface FallbackOptions {
16
+ candidates: FallbackCandidate[];
17
+ maxAttempts?: number;
18
+ }
19
+ export interface AttemptRecord {
20
+ provider: string;
21
+ model: string;
22
+ error?: FailoverError;
23
+ durationMs: number;
24
+ }
25
+ export interface FallbackResult<T> {
26
+ result: T;
27
+ attempts: AttemptRecord[];
28
+ usedFallback: boolean;
29
+ }
30
+ export declare function runWithModelFallback<T>(options: FallbackOptions, fn: (provider: Provider) => Promise<T>): Promise<FallbackResult<T>>;
31
+ export declare function streamWithModelFallback(options: FallbackOptions, fn: (provider: Provider) => AsyncGenerator<StreamChunk, void, unknown>): AsyncGenerator<StreamChunk, void, unknown>;
32
+ //# sourceMappingURL=model-failover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-failover.d.ts","sourceRoot":"","sources":["../src/model-failover.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,aAAa,EAId,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMxD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,MAAM,EAAE,CAAC,CAAC;IACV,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;CACvB;AAID,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,OAAO,EAAE,eAAe,EACxB,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAkE5B;AAID,wBAAuB,uBAAuB,CAC5C,OAAO,EAAE,eAAe,EACxB,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,GACrE,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAmE5C"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Model failover — execute with automatic fallback through candidate chain.
3
+ *
4
+ * Works for both complete() (Promise) and stream() (AsyncGenerator).
5
+ * Streaming failover only retries pre-chunk errors; mid-stream failures
6
+ * yield an error chunk (can't merge partial responses from different models).
7
+ */
8
+ import { getLogger } from '@auxiora/logger';
9
+ import { FailoverError, coerceToFailoverError, isContextOverflow, isUserAbort, } from './failover-error.js';
10
+ import { isProviderInCooldown, markProviderCooldown, clearProviderCooldown, shouldProbe, recordProbeResult, } from './provider-cooldown.js';
11
+ const logger = getLogger('failover');
12
+ // ── Non-Streaming Failover ───────────────────────────────────────────
13
+ export async function runWithModelFallback(options, fn) {
14
+ const { candidates, maxAttempts = candidates.length } = options;
15
+ const attempts = [];
16
+ let lastError;
17
+ let skippedBeforeFirst = 0;
18
+ for (let i = 0; i < Math.min(maxAttempts, candidates.length); i++) {
19
+ const { provider, name, model } = candidates[i];
20
+ // Skip providers in cooldown (unless probe-eligible)
21
+ if (isProviderInCooldown(name) && !shouldProbe(name)) {
22
+ logger.info('Skipping provider in cooldown', { provider: name });
23
+ if (attempts.length === 0)
24
+ skippedBeforeFirst++;
25
+ continue;
26
+ }
27
+ const start = Date.now();
28
+ try {
29
+ const result = await fn(provider);
30
+ clearProviderCooldown(name);
31
+ const attemptIndex = attempts.length + skippedBeforeFirst;
32
+ attempts.push({ provider: name, model, durationMs: Date.now() - start });
33
+ return { result, attempts, usedFallback: attemptIndex > 0 };
34
+ }
35
+ catch (err) {
36
+ const duration = Date.now() - start;
37
+ // User abort — rethrow immediately
38
+ if (isUserAbort(err))
39
+ throw err;
40
+ // Context overflow — rethrow (smaller models won't help)
41
+ if (isContextOverflow(err))
42
+ throw err;
43
+ // Capture probe status before any state changes
44
+ const wasProbing = isProviderInCooldown(name);
45
+ // Coerce to FailoverError for classification
46
+ const failoverErr = err instanceof FailoverError
47
+ ? err
48
+ : coerceToFailoverError(err, name, model) ??
49
+ new FailoverError('unknown', name, model, err instanceof Error ? err.message : String(err));
50
+ attempts.push({ provider: name, model, error: failoverErr, durationMs: duration });
51
+ // Mark cooldown for rate limits
52
+ if (failoverErr.reason === 'rate_limit') {
53
+ markProviderCooldown(name, failoverErr.reason);
54
+ }
55
+ // Record probe failure if we were probing a cooled-down provider
56
+ if (wasProbing) {
57
+ recordProbeResult(name, false);
58
+ }
59
+ lastError = failoverErr;
60
+ logger.warn('Provider failed, trying next', {
61
+ provider: name,
62
+ model,
63
+ reason: failoverErr.reason,
64
+ attempt: i + 1,
65
+ });
66
+ }
67
+ }
68
+ throw lastError ?? new Error('No candidates available');
69
+ }
70
+ // ── Streaming Failover ───────────────────────────────────────────────
71
+ export async function* streamWithModelFallback(options, fn) {
72
+ const { candidates, maxAttempts = candidates.length } = options;
73
+ let lastError;
74
+ for (let i = 0; i < Math.min(maxAttempts, candidates.length); i++) {
75
+ const { provider, name, model } = candidates[i];
76
+ // Skip providers in cooldown (unless probe-eligible)
77
+ if (isProviderInCooldown(name) && !shouldProbe(name)) {
78
+ logger.info('Skipping provider in cooldown (stream)', { provider: name });
79
+ continue;
80
+ }
81
+ let chunksYielded = false;
82
+ try {
83
+ const stream = fn(provider);
84
+ for await (const chunk of stream) {
85
+ chunksYielded = true;
86
+ yield chunk;
87
+ }
88
+ // Stream completed successfully
89
+ clearProviderCooldown(name);
90
+ return;
91
+ }
92
+ catch (err) {
93
+ // User abort — rethrow immediately
94
+ if (isUserAbort(err))
95
+ throw err;
96
+ // Context overflow — rethrow (smaller models won't help)
97
+ if (isContextOverflow(err))
98
+ throw err;
99
+ // Mid-stream error — can't retry (chunks already sent to client)
100
+ if (chunksYielded) {
101
+ const failoverErr = coerceToFailoverError(err, name, model);
102
+ if (failoverErr?.reason === 'rate_limit') {
103
+ markProviderCooldown(name, failoverErr.reason);
104
+ }
105
+ yield {
106
+ type: 'error',
107
+ error: err instanceof Error ? err.message : String(err),
108
+ };
109
+ return;
110
+ }
111
+ // Pre-chunk error — can retry on next provider
112
+ const failoverErr = err instanceof FailoverError
113
+ ? err
114
+ : coerceToFailoverError(err, name, model) ??
115
+ new FailoverError('unknown', name, model, err instanceof Error ? err.message : String(err));
116
+ if (failoverErr.reason === 'rate_limit') {
117
+ markProviderCooldown(name, failoverErr.reason);
118
+ }
119
+ lastError = failoverErr;
120
+ logger.warn('Provider stream failed, trying next', {
121
+ provider: name,
122
+ model,
123
+ reason: failoverErr.reason,
124
+ attempt: i + 1,
125
+ });
126
+ }
127
+ }
128
+ throw lastError ?? new Error('No candidates available for streaming');
129
+ }
130
+ //# sourceMappingURL=model-failover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-failover.js","sourceRoot":"","sources":["../src/model-failover.ts"],"names":[],"mappings":"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"}
package/dist/ollama.d.ts CHANGED
@@ -8,7 +8,7 @@ export declare class OllamaProvider implements Provider {
8
8
  name: string;
9
9
  metadata: ProviderMetadata;
10
10
  private baseUrl;
11
- private defaultModel;
11
+ readonly defaultModel: string;
12
12
  private defaultMaxTokens;
13
13
  constructor(options: OllamaProviderOptions);
14
14
  complete(messages: ChatMessage[], options?: CompletionOptions): Promise<CompletionResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../src/ollama.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD,qBAAa,cAAe,YAAW,QAAQ;IAC7C,IAAI,SAAY;IAChB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAS;gBAErB,OAAO,EAAE,qBAAqB;IAgCpC,QAAQ,CACZ,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IAmCrB,MAAM,CACX,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC;IAkE7C,OAAO,CAAC,eAAe;CAgBxB"}
1
+ {"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../src/ollama.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD,qBAAa,cAAe,YAAW,QAAQ;IAC7C,IAAI,SAAY;IAChB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,gBAAgB,CAAS;gBAErB,OAAO,EAAE,qBAAqB;IAgCpC,QAAQ,CACZ,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IAmCrB,MAAM,CACX,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC;IAmE7C,OAAO,CAAC,eAAe;CAgBxB"}
package/dist/ollama.js CHANGED
@@ -111,6 +111,7 @@ export class OllamaProvider {
111
111
  if (chunk.done) {
112
112
  yield {
113
113
  type: 'done',
114
+ finishReason: 'stop',
114
115
  usage: {
115
116
  inputTokens: chunk.prompt_eval_count ?? 0,
116
117
  outputTokens: chunk.eval_count ?? 0,
@@ -1 +1 @@
1
- {"version":3,"file":"ollama.js","sourceRoot":"","sources":["../src/ollama.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ollama.js","sourceRoot":"","sources":["../src/ollama.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export declare class OpenAICompatibleProvider implements Provider {
10
10
  name: string;
11
11
  metadata: ProviderMetadata;
12
12
  private client;
13
- private defaultModel;
13
+ readonly defaultModel: string;
14
14
  private defaultMaxTokens;
15
15
  constructor(options: OpenAICompatibleProviderOptions);
16
16
  complete(messages: ChatMessage[], options?: CompletionOptions): Promise<CompletionResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"openai-compatible.d.ts","sourceRoot":"","sources":["../src/openai-compatible.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,wBAAyB,YAAW,QAAQ;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAS;gBAErB,OAAO,EAAE,+BAA+B;IAqC9C,QAAQ,CACZ,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IAwBrB,MAAM,CACX,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC;IA2C7C,OAAO,CAAC,eAAe;CAgBxB"}
1
+ {"version":3,"file":"openai-compatible.d.ts","sourceRoot":"","sources":["../src/openai-compatible.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,wBAAyB,YAAW,QAAQ;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,gBAAgB,CAAS;gBAErB,OAAO,EAAE,+BAA+B;IAqC9C,QAAQ,CACZ,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IAwBrB,MAAM,CACX,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC;IA4C7C,OAAO,CAAC,eAAe;CAgBxB"}
@@ -86,6 +86,7 @@ export class OpenAICompatibleProvider {
86
86
  if (chunk.choices[0]?.finish_reason) {
87
87
  yield {
88
88
  type: 'done',
89
+ finishReason: chunk.choices[0].finish_reason,
89
90
  usage: { inputTokens, outputTokens },
90
91
  };
91
92
  }