@providerkit/core 0.22.0 → 0.23.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.
- package/dist/auth/flows.d.ts.map +1 -1
- package/dist/auth/flows.js +5 -5
- package/dist/auth/flows.js.map +1 -1
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1 -0
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/oauth.d.ts +12 -0
- package/dist/auth/oauth.d.ts.map +1 -1
- package/dist/auth/oauth.js +19 -1
- package/dist/auth/oauth.js.map +1 -1
- package/dist/auth/token-source.d.ts +9 -3
- package/dist/auth/token-source.d.ts.map +1 -1
- package/dist/auth/token-source.js +24 -9
- package/dist/auth/token-source.js.map +1 -1
- package/dist/auth/with-token.d.ts +29 -0
- package/dist/auth/with-token.d.ts.map +1 -0
- package/dist/auth/with-token.js +85 -0
- package/dist/auth/with-token.js.map +1 -0
- package/dist/context.d.ts +39 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +119 -0
- package/dist/context.js.map +1 -1
- package/dist/errors.d.ts +12 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +44 -5
- package/dist/errors.js.map +1 -1
- package/dist/fallback.d.ts +45 -1
- package/dist/fallback.d.ts.map +1 -1
- package/dist/fallback.js +138 -75
- package/dist/fallback.js.map +1 -1
- package/dist/key-pool.d.ts +10 -4
- package/dist/key-pool.d.ts.map +1 -1
- package/dist/key-pool.js +29 -12
- package/dist/key-pool.js.map +1 -1
- package/dist/presets.d.ts +7 -2
- package/dist/presets.d.ts.map +1 -1
- package/dist/presets.js +12 -2
- package/dist/presets.js.map +1 -1
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +80 -25
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/gemini.d.ts +6 -0
- package/dist/providers/gemini.d.ts.map +1 -1
- package/dist/providers/gemini.js +102 -27
- package/dist/providers/gemini.js.map +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +63 -14
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/responses.d.ts.map +1 -1
- package/dist/providers/responses.js +98 -52
- package/dist/providers/responses.js.map +1 -1
- package/dist/rate-limit.d.ts +10 -0
- package/dist/rate-limit.d.ts.map +1 -1
- package/dist/rate-limit.js +7 -1
- package/dist/rate-limit.js.map +1 -1
- package/dist/retry.d.ts +11 -0
- package/dist/retry.d.ts.map +1 -1
- package/dist/retry.js +25 -12
- package/dist/retry.js.map +1 -1
- package/dist/tool-args.d.ts +22 -0
- package/dist/tool-args.d.ts.map +1 -1
- package/dist/tool-args.js +28 -0
- package/dist/tool-args.js.map +1 -1
- package/dist/transport.d.ts +34 -4
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +77 -16
- package/dist/transport.js.map +1 -1
- package/dist/types.d.ts +13 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -8
- package/dist/types.js.map +1 -1
- package/dist/watchdog.d.ts +2 -0
- package/dist/watchdog.d.ts.map +1 -1
- package/dist/watchdog.js +25 -6
- package/dist/watchdog.js.map +1 -1
- package/package.json +1 -1
- package/src/auth/flows.ts +5 -4
- package/src/auth/index.ts +1 -0
- package/src/auth/oauth.ts +23 -1
- package/src/auth/token-source.ts +30 -11
- package/src/auth/with-token.ts +97 -0
- package/src/context.ts +137 -2
- package/src/errors.ts +46 -6
- package/src/fallback.ts +173 -75
- package/src/key-pool.ts +30 -13
- package/src/presets.ts +12 -2
- package/src/providers/anthropic.ts +83 -24
- package/src/providers/gemini.ts +102 -28
- package/src/providers/openai.ts +61 -13
- package/src/providers/responses.ts +102 -50
- package/src/rate-limit.ts +31 -3
- package/src/retry.ts +41 -10
- package/src/tool-args.ts +44 -0
- package/src/transport.ts +97 -17
- package/src/types.ts +13 -0
- package/src/watchdog.ts +25 -6
package/dist/fallback.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { classify, parseRetryAfterMs, ProviderError } from "./errors.js";
|
|
2
|
-
import {
|
|
2
|
+
import { sleep } from "./retry.js";
|
|
3
|
+
import { STREAM_PROGRESS_MS, withWatchdog } from "./watchdog.js";
|
|
3
4
|
import { createPresetProvider } from "./providers/factory.js";
|
|
4
5
|
/** Retry intervals when the server supplies no deadline, not estimates of when
|
|
5
6
|
* it will recover. A server deadline always wins over these defaults. */
|
|
@@ -37,6 +38,30 @@ export function withConfiguredFallbacks(primary, config) {
|
|
|
37
38
|
...config.fallbacks.map((candidate) => resolveFallback(candidate, config.watchdog)),
|
|
38
39
|
], config.fallbackOptions);
|
|
39
40
|
}
|
|
41
|
+
function openProbe(since) {
|
|
42
|
+
let settle = () => { };
|
|
43
|
+
const settled = new Promise((resolve) => {
|
|
44
|
+
settle = resolve;
|
|
45
|
+
});
|
|
46
|
+
return { since, settled, settle };
|
|
47
|
+
}
|
|
48
|
+
/** How many times a call that found nothing free waits on a probe before it
|
|
49
|
+
* fails. The first wait covers a probe that answers or fails. The second
|
|
50
|
+
* covers one that ended with neither (its own caller stopped it) and was
|
|
51
|
+
* taken over by another waiter. Past that the caller's own retry decides. */
|
|
52
|
+
const PROBE_WAITS = 2;
|
|
53
|
+
/** Resolve when any probe settles or `ms` passes. Rejects with the caller's
|
|
54
|
+
* reason on abort, and leaves no timer running once a probe wins. */
|
|
55
|
+
async function waitForProbe(settled, ms, signal) {
|
|
56
|
+
const done = new AbortController();
|
|
57
|
+
const wake = signal ? AbortSignal.any([signal, done.signal]) : done.signal;
|
|
58
|
+
try {
|
|
59
|
+
await Promise.race([...settled, sleep(Math.max(0, ms), wake)]);
|
|
60
|
+
}
|
|
61
|
+
finally {
|
|
62
|
+
done.abort();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
40
65
|
/** The whole chain is unavailable. Fail promptly instead of holding a request
|
|
41
66
|
* open for hours. `retryAtMs` names its next opportunity, not a sleep to cap. */
|
|
42
67
|
export class NoAvailableProviderError extends ProviderError {
|
|
@@ -57,7 +82,8 @@ export class NoAvailableProviderError extends ProviderError {
|
|
|
57
82
|
export class FallbackPool {
|
|
58
83
|
options;
|
|
59
84
|
candidates;
|
|
60
|
-
cooldowns
|
|
85
|
+
cooldowns;
|
|
86
|
+
probeStaleMs;
|
|
61
87
|
now;
|
|
62
88
|
constructor(candidates, options = {}) {
|
|
63
89
|
this.options = options;
|
|
@@ -72,23 +98,29 @@ export class FallbackPool {
|
|
|
72
98
|
}
|
|
73
99
|
}
|
|
74
100
|
this.candidates = [...candidates];
|
|
101
|
+
this.cooldowns = options.cooldowns ?? new Map();
|
|
102
|
+
this.probeStaleMs = options.probeStaleMs ?? STREAM_PROGRESS_MS;
|
|
103
|
+
if (!Number.isFinite(this.probeStaleMs) || this.probeStaleMs < 0) {
|
|
104
|
+
throw new Error("providerkit: probeStaleMs must be finite, non-negative milliseconds");
|
|
105
|
+
}
|
|
75
106
|
this.now = options.now ?? Date.now;
|
|
76
107
|
}
|
|
77
108
|
/** Clear a cooldown after replacing a key or fixing configuration. Omit the
|
|
78
|
-
* candidate to clear all
|
|
109
|
+
* candidate to clear all of this pool's own; a shared store keeps the benches
|
|
110
|
+
* of candidates only other pools hold. Does not interrupt calls in flight. */
|
|
79
111
|
reset(...selection) {
|
|
80
|
-
|
|
81
|
-
this.cooldowns.
|
|
82
|
-
|
|
83
|
-
this.cooldowns.delete(selection[0]);
|
|
112
|
+
for (const candidate of selection.length === 0 ? this.candidates : selection) {
|
|
113
|
+
this.cooldowns.delete(candidate);
|
|
114
|
+
}
|
|
84
115
|
}
|
|
85
116
|
status() {
|
|
86
|
-
return this.candidates.map((candidate) =>
|
|
87
|
-
candidate
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
...
|
|
91
|
-
|
|
117
|
+
return this.candidates.map((candidate) => {
|
|
118
|
+
const cooldown = this.cooldowns.get(candidate);
|
|
119
|
+
if (!cooldown)
|
|
120
|
+
return { candidate, retryAtMs: 0, probing: false };
|
|
121
|
+
const { probe, ...bench } = cooldown;
|
|
122
|
+
return { candidate, ...bench, probing: probe !== undefined };
|
|
123
|
+
});
|
|
92
124
|
}
|
|
93
125
|
/** Buffered calls only: do not wrap an agent turn that has run side effects. */
|
|
94
126
|
async with(attempt, signal) {
|
|
@@ -104,74 +136,105 @@ export class FallbackPool {
|
|
|
104
136
|
signal?.throwIfAborted();
|
|
105
137
|
let hasFailed = false;
|
|
106
138
|
let lastError;
|
|
107
|
-
for (
|
|
108
|
-
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
139
|
+
for (let round = 0;; round++) {
|
|
140
|
+
const probing = [];
|
|
141
|
+
for (const candidate of this.candidates) {
|
|
142
|
+
signal?.throwIfAborted();
|
|
143
|
+
const previous = this.cooldowns.get(candidate);
|
|
144
|
+
if (previous && previous.retryAtMs > this.now())
|
|
145
|
+
continue;
|
|
146
|
+
if (previous?.probe && this.now() - previous.probe.since < this.probeStaleMs) {
|
|
147
|
+
probing.push(previous.probe);
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
// One recovery probe after expiry. Healthy endpoints still allow normal
|
|
151
|
+
// concurrency; only a known failed endpoint gets a single probe. A stale
|
|
152
|
+
// one is replaced: it hung, and holding the candidate for it is an outage.
|
|
153
|
+
const probe = previous ? openProbe(this.now()) : undefined;
|
|
154
|
+
if (previous)
|
|
155
|
+
previous.probe = probe;
|
|
156
|
+
const controller = new AbortController();
|
|
157
|
+
const inner = signal ? AbortSignal.any([signal, controller.signal]) : controller.signal;
|
|
158
|
+
let emitted = false;
|
|
159
|
+
try {
|
|
160
|
+
for await (const chunk of attempt(candidate, inner)) {
|
|
161
|
+
inner.throwIfAborted();
|
|
162
|
+
if (!emitted) {
|
|
163
|
+
this.recovered(candidate, previous);
|
|
164
|
+
probe?.settle();
|
|
165
|
+
}
|
|
166
|
+
emitted = true;
|
|
167
|
+
yield chunk;
|
|
129
168
|
}
|
|
130
|
-
|
|
169
|
+
inner.throwIfAborted();
|
|
170
|
+
if (!emitted)
|
|
171
|
+
this.recovered(candidate, previous);
|
|
172
|
+
return;
|
|
131
173
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
174
|
+
catch (error) {
|
|
175
|
+
signal?.throwIfAborted();
|
|
176
|
+
const kind = classify(error);
|
|
177
|
+
if (kind === "aborted")
|
|
178
|
+
throw error;
|
|
179
|
+
const configured = this.options.cooldownMs?.[kind];
|
|
180
|
+
const interval = configured === undefined ? DEFAULT_FALLBACK_COOLDOWNS[kind] : configured;
|
|
181
|
+
if (interval === undefined || interval === null)
|
|
182
|
+
throw error;
|
|
183
|
+
const now = this.now();
|
|
184
|
+
const after = parseRetryAfterMs(error);
|
|
185
|
+
const reset = error instanceof ProviderError ? error.resetAtMs : undefined;
|
|
186
|
+
const hints = [reset, after === undefined ? undefined : now + after].filter((value) => value !== undefined && Number.isFinite(value));
|
|
187
|
+
const retryAtMs = Math.max(now, ...(hints.length ? hints : [now + interval]), this.cooldowns.get(candidate)?.retryAtMs ?? 0);
|
|
188
|
+
const window = error instanceof ProviderError ? error.window : undefined;
|
|
189
|
+
this.cooldowns.set(candidate, { retryAtMs, kind, window });
|
|
190
|
+
this.options.onCooldown?.({ candidate, error, kind, retryAtMs, window });
|
|
191
|
+
hasFailed = true;
|
|
192
|
+
lastError = error;
|
|
193
|
+
if (emitted)
|
|
194
|
+
throw error;
|
|
135
195
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
throw error;
|
|
147
|
-
const now = this.now();
|
|
148
|
-
const after = parseRetryAfterMs(error);
|
|
149
|
-
const reset = error instanceof ProviderError ? error.resetAtMs : undefined;
|
|
150
|
-
const hints = [reset, after === undefined ? undefined : now + after].filter((value) => value !== undefined && Number.isFinite(value));
|
|
151
|
-
const retryAtMs = Math.max(now, ...(hints.length ? hints : [now + interval]), this.cooldowns.get(candidate)?.retryAtMs ?? 0);
|
|
152
|
-
const window = error instanceof ProviderError ? error.window : undefined;
|
|
153
|
-
this.cooldowns.set(candidate, { retryAtMs, kind, window, probing: false });
|
|
154
|
-
this.options.onCooldown?.({ candidate, error, kind, retryAtMs, window });
|
|
155
|
-
attemptFailed = true;
|
|
156
|
-
hasFailed = true;
|
|
157
|
-
lastError = error;
|
|
158
|
-
if (emitted)
|
|
159
|
-
throw error;
|
|
160
|
-
}
|
|
161
|
-
finally {
|
|
162
|
-
controller.abort();
|
|
163
|
-
const current = this.cooldowns.get(candidate);
|
|
164
|
-
if (current && current.probing && !attemptFailed) {
|
|
165
|
-
current.probing = false;
|
|
196
|
+
finally {
|
|
197
|
+
controller.abort();
|
|
198
|
+
// Only the owner releases its probe. Clearing whatever probe was set
|
|
199
|
+
// let a stale probe that ended late free the one that replaced it, and
|
|
200
|
+
// any call that did not fail let a second probe in.
|
|
201
|
+
if (probe) {
|
|
202
|
+
if (previous?.probe === probe)
|
|
203
|
+
previous.probe = undefined;
|
|
204
|
+
probe.settle();
|
|
205
|
+
}
|
|
166
206
|
}
|
|
167
207
|
}
|
|
208
|
+
if (hasFailed)
|
|
209
|
+
throw lastError;
|
|
210
|
+
// Nothing was free, and a probe is deciding whether something will be.
|
|
211
|
+
// Failing here answered a 0 ms retry, which `withRetry` spent at once: at
|
|
212
|
+
// 70 concurrent calls every one but the probe failed. Wait for a probe to
|
|
213
|
+
// answer or end, or until the oldest goes stale, then look again.
|
|
214
|
+
if (probing.length > 0 && round < PROBE_WAITS) {
|
|
215
|
+
const staleAt = Math.min(...probing.map((probe) => probe.since + this.probeStaleMs));
|
|
216
|
+
await waitForProbe(probing.map((probe) => probe.settled), staleAt - this.now(), signal);
|
|
217
|
+
continue;
|
|
218
|
+
}
|
|
219
|
+
// Every candidate is cooling, or its probe outlasted the waits; a probe
|
|
220
|
+
// still in flight makes the next opportunity now.
|
|
221
|
+
const retryAtMs = Math.min(...this.status().map((entry) => Math.max(this.now(), entry.retryAtMs)));
|
|
222
|
+
throw new NoAvailableProviderError(retryAtMs, this.now());
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
/** An answer proves the candidate serves again. It lifts the bench this call
|
|
226
|
+
* was admitted under as the probe, and any bench a sibling set while it ran:
|
|
227
|
+
* a call that started before one stray 401 and then answered used to leave
|
|
228
|
+
* a busy primary benched for an hour. Rate and quota stay. A call that
|
|
229
|
+
* started before the throttle proves nothing about the window, and lifting
|
|
230
|
+
* it walks every caller back into the 429. */
|
|
231
|
+
recovered(candidate, admittedUnder) {
|
|
232
|
+
const current = this.cooldowns.get(candidate);
|
|
233
|
+
if (!current)
|
|
234
|
+
return;
|
|
235
|
+
if (current === admittedUnder || (current.kind !== "rate" && current.kind !== "quota")) {
|
|
236
|
+
this.cooldowns.delete(candidate);
|
|
168
237
|
}
|
|
169
|
-
if (hasFailed)
|
|
170
|
-
throw lastError;
|
|
171
|
-
// If all expired candidates are already being probed, the next opportunity
|
|
172
|
-
// is now. Other callers need not wait for those probes or start duplicates.
|
|
173
|
-
const retryAtMs = Math.min(...this.status().map((entry) => Math.max(this.now(), entry.retryAtMs)));
|
|
174
|
-
throw new NoAvailableProviderError(retryAtMs, this.now());
|
|
175
238
|
}
|
|
176
239
|
}
|
|
177
240
|
/** Compose bound provider/model pairs. Identity names the configured primary;
|
package/dist/fallback.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fallback.js","sourceRoot":"","sources":["../src/fallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAkB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"fallback.js","sourceRoot":"","sources":["../src/fallback.ts"],"names":[],"mappings":"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"}
|
package/dist/key-pool.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ProviderError } from "./errors.ts";
|
|
1
2
|
import type { ErrorKind } from "./errors.ts";
|
|
2
3
|
import type { Provider } from "./types.ts";
|
|
3
4
|
export type KeyTier = "free" | "paid";
|
|
@@ -16,10 +17,15 @@ export interface KeyPoolOptions {
|
|
|
16
17
|
* 12-hour cooldown. */
|
|
17
18
|
now?: () => number;
|
|
18
19
|
}
|
|
19
|
-
/** No key can serve right now. `retryAtMs` = when the soonest one is back.
|
|
20
|
-
|
|
20
|
+
/** No key can serve right now. `retryAtMs` = when the soonest one is back.
|
|
21
|
+
*
|
|
22
|
+
* A `ProviderError` of kind `rate` that carries that moment as `resetAtMs` and
|
|
23
|
+
* `retryAfterMs`. As a plain `Error` it classified as `rate` only by its
|
|
24
|
+
* wording and carried no deadline anyone read, so a FallbackPool around the
|
|
25
|
+
* key pool benched it for its default minute, whatever the keys had said. */
|
|
26
|
+
export declare class NoAvailableKeyError extends ProviderError {
|
|
21
27
|
readonly retryAtMs: number;
|
|
22
|
-
constructor(label: string, retryAtMs: number);
|
|
28
|
+
constructor(label: string, retryAtMs: number, now: number);
|
|
23
29
|
}
|
|
24
30
|
export declare class KeyPool {
|
|
25
31
|
private readonly label;
|
|
@@ -39,7 +45,7 @@ export declare class KeyPool {
|
|
|
39
45
|
with<T>(fn: (apiKey: string, tier: KeyTier) => Promise<T>): Promise<T>;
|
|
40
46
|
/** Free keys round-robin from a moving cursor, then the paid key. */
|
|
41
47
|
private candidates;
|
|
42
|
-
private
|
|
48
|
+
private noneAvailable;
|
|
43
49
|
}
|
|
44
50
|
/**
|
|
45
51
|
* Give any provider a rotating pool of keys.
|
package/dist/key-pool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-pool.d.ts","sourceRoot":"","sources":["../src/key-pool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"key-pool.d.ts","sourceRoot":"","sources":["../src/key-pool.ts"],"names":[],"mappings":"AAeA,OAAO,EAAe,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAEV,QAAQ,EAIT,MAAM,YAAY,CAAC;AAapB,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAStC,MAAM,WAAW,cAAc;IAC7B,8DAA8D;IAC9D,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;mEAC+D;IAC/D,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5E;4BACwB;IACxB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED;;;;;8EAK8E;AAC9E,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAQ1D;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,MAAM,CAAK;gBAEP,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc;IAe/C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;OAKG;IACG,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAyB5E,qEAAqE;IACrE,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,aAAa;CAKtB;AA0CD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,QAAQ,GAAG,QAAQ,CAqE1F"}
|
package/dist/key-pool.js
CHANGED
|
@@ -24,11 +24,19 @@ const AUTH_COOLDOWN_MS = 12 * 60 * 60_000;
|
|
|
24
24
|
const TRANSIENT_COOLDOWN_MS = 60_000;
|
|
25
25
|
const MIN_EVICTION_MS = 1_000;
|
|
26
26
|
const MAX_EVICTION_MS = 12 * 60 * 60_000;
|
|
27
|
-
/** No key can serve right now. `retryAtMs` = when the soonest one is back.
|
|
28
|
-
|
|
27
|
+
/** No key can serve right now. `retryAtMs` = when the soonest one is back.
|
|
28
|
+
*
|
|
29
|
+
* A `ProviderError` of kind `rate` that carries that moment as `resetAtMs` and
|
|
30
|
+
* `retryAfterMs`. As a plain `Error` it classified as `rate` only by its
|
|
31
|
+
* wording and carried no deadline anyone read, so a FallbackPool around the
|
|
32
|
+
* key pool benched it for its default minute, whatever the keys had said. */
|
|
33
|
+
export class NoAvailableKeyError extends ProviderError {
|
|
29
34
|
retryAtMs;
|
|
30
|
-
constructor(label, retryAtMs) {
|
|
31
|
-
super(`No ${label} API key available (all rate-limited or denied)
|
|
35
|
+
constructor(label, retryAtMs, now) {
|
|
36
|
+
super(label, "rate", `No ${label} API key available (all rate-limited or denied)`, {
|
|
37
|
+
resetAtMs: retryAtMs,
|
|
38
|
+
retryAfterMs: Math.max(0, retryAtMs - now),
|
|
39
|
+
});
|
|
32
40
|
this.name = "NoAvailableKeyError";
|
|
33
41
|
this.retryAtMs = retryAtMs;
|
|
34
42
|
}
|
|
@@ -66,7 +74,7 @@ export class KeyPool {
|
|
|
66
74
|
async with(fn) {
|
|
67
75
|
const candidates = this.candidates(this.now());
|
|
68
76
|
if (candidates.length === 0)
|
|
69
|
-
throw
|
|
77
|
+
throw this.noneAvailable();
|
|
70
78
|
let last;
|
|
71
79
|
for (const key of candidates) {
|
|
72
80
|
try {
|
|
@@ -77,7 +85,7 @@ export class KeyPool {
|
|
|
77
85
|
// The single-key rule: with nothing to rotate to, benching the only key
|
|
78
86
|
// answers NoAvailableKeyError to every call for the next minute — for a
|
|
79
87
|
// failure the caller's own retry would have absorbed.
|
|
80
|
-
const cooldown = this.size > 1 ? cooldownFor(err) : null;
|
|
88
|
+
const cooldown = this.size > 1 ? cooldownFor(err, this.now()) : null;
|
|
81
89
|
if (cooldown === null)
|
|
82
90
|
throw err;
|
|
83
91
|
key.evictedUntil = this.now() + cooldown.forMs;
|
|
@@ -86,7 +94,7 @@ export class KeyPool {
|
|
|
86
94
|
}
|
|
87
95
|
// Every candidate was evicted during this call.
|
|
88
96
|
if (this.candidates(this.now()).length === 0)
|
|
89
|
-
throw
|
|
97
|
+
throw this.noneAvailable();
|
|
90
98
|
throw last;
|
|
91
99
|
}
|
|
92
100
|
/** Free keys round-robin from a moving cursor, then the paid key. */
|
|
@@ -104,9 +112,10 @@ export class KeyPool {
|
|
|
104
112
|
out.push(this.paid);
|
|
105
113
|
return out;
|
|
106
114
|
}
|
|
107
|
-
|
|
115
|
+
noneAvailable() {
|
|
108
116
|
const all = this.paid ? [...this.free, this.paid] : this.free;
|
|
109
|
-
|
|
117
|
+
const retryAtMs = Math.min(...all.map((key) => key.evictedUntil));
|
|
118
|
+
return new NoAvailableKeyError(this.label, retryAtMs, this.now());
|
|
110
119
|
}
|
|
111
120
|
}
|
|
112
121
|
/**
|
|
@@ -114,7 +123,7 @@ export class KeyPool {
|
|
|
114
123
|
* key's fault. Nothing is gained by rotating, and benching would spend the
|
|
115
124
|
* pool on a request that fails the same way everywhere.
|
|
116
125
|
*/
|
|
117
|
-
function cooldownFor(err) {
|
|
126
|
+
function cooldownFor(err, now) {
|
|
118
127
|
if (!(err instanceof ProviderError))
|
|
119
128
|
return null;
|
|
120
129
|
const clamp = (ms) => Math.min(Math.max(ms, MIN_EVICTION_MS), MAX_EVICTION_MS);
|
|
@@ -122,8 +131,16 @@ function cooldownFor(err) {
|
|
|
122
131
|
// The three kinds that are about THIS key.
|
|
123
132
|
case "rate":
|
|
124
133
|
return { kind: err.kind, forMs: clamp(err.retryAfterMs ?? RATE_COOLDOWN_MS) };
|
|
125
|
-
case "quota":
|
|
126
|
-
|
|
134
|
+
case "quota": {
|
|
135
|
+
// A spent window names its reset, and that outranks Retry-After: Anthropic
|
|
136
|
+
// sends `retry-after: 60` beside a weekly window, and a key benched for
|
|
137
|
+
// the minute is dialled again into the same wall.
|
|
138
|
+
const reset = err.resetAtMs;
|
|
139
|
+
const forMs = reset !== undefined && Number.isFinite(reset)
|
|
140
|
+
? reset - now
|
|
141
|
+
: (err.retryAfterMs ?? QUOTA_COOLDOWN_MS);
|
|
142
|
+
return { kind: err.kind, forMs: clamp(forMs) };
|
|
143
|
+
}
|
|
127
144
|
case "auth":
|
|
128
145
|
// 12 h, not forever: a key is also refused while a billing account is
|
|
129
146
|
// reinstated, and a pool that drops keys permanently ends up empty.
|
package/dist/key-pool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-pool.js","sourceRoot":"","sources":["../src/key-pool.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,2EAA2E;AAC3E,+EAA+E;AAC/E,6EAA6E;AAC7E,8EAA8E;AAC9E,gFAAgF;AAChF,qCAAqC;AACrC,EAAE;AACF,4EAA4E;AAC5E,2EAA2E;AAC3E,yEAAyE;AACzE,qBAAqB;AACrB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAUzD,kEAAkE;AAClE,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,mEAAmE;AACnE,MAAM,iBAAiB,GAAG,EAAE,GAAG,MAAM,CAAC;AACtC,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;AAC1C;wCACwC;AACxC,MAAM,qBAAqB,GAAG,MAAM,CAAC;AACrC,MAAM,eAAe,GAAG,KAAK,CAAC;AAC9B,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;AAuBzC
|
|
1
|
+
{"version":3,"file":"key-pool.js","sourceRoot":"","sources":["../src/key-pool.ts"],"names":[],"mappings":"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"}
|
package/dist/presets.d.ts
CHANGED
|
@@ -344,8 +344,9 @@ export declare const PROVIDER_PRESETS: {
|
|
|
344
344
|
* Go serves three wires, and `routes` picks one from the model id (cc-proxy's
|
|
345
345
|
* table, from Go's own docs): `minimax-` and `qwen` on Anthropic /messages
|
|
346
346
|
* (key in `x-api-key`), `gpt-`, `grok-` and `muse-spark-` on /responses, and
|
|
347
|
-
* everything else on chat completions. Each model in a
|
|
348
|
-
* own route, so one preset serves a chain that crosses
|
|
347
|
+
* everything else on chat completions, `grok-4.5` included. Each model in a
|
|
348
|
+
* chain resolves its own route, so one preset serves a chain that crosses
|
|
349
|
+
* wires.
|
|
349
350
|
*
|
|
350
351
|
* Muse Contributor, measured 2026-09-28 on /responses: text, images, strict
|
|
351
352
|
* JSON Schema, parallel tools and tool-result round trips all passed. It
|
|
@@ -370,6 +371,10 @@ export declare const PROVIDER_PRESETS: {
|
|
|
370
371
|
readonly shape: "anthropic";
|
|
371
372
|
readonly baseUrl: "https://opencode.ai/zen/go";
|
|
372
373
|
readonly auth: "key";
|
|
374
|
+
}, {
|
|
375
|
+
readonly prefixes: readonly ["grok-4.5"];
|
|
376
|
+
readonly shape: "openai";
|
|
377
|
+
readonly baseUrl: "https://opencode.ai/zen/go/v1";
|
|
373
378
|
}, {
|
|
374
379
|
readonly prefixes: readonly ["gpt-", "grok-", "muse-spark-"];
|
|
375
380
|
readonly shape: "responses";
|
package/dist/presets.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE1E;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,0DAA0D;IAC1D,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB;6FACyF;IACzF,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC;IACjB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;2EACuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;6CAMyC;IACzC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;wCAEoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;oDAEgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;kFAG8E;IAC9E,MAAM,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAChC;0EACsE;IACtE,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B;+DAC2D;IAC3D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;wDAEoD;IACpD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;2DACuD;IACvD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;uEACmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;IAyB3B;4CACwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkOxC
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE1E;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,0DAA0D;IAC1D,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB;6FACyF;IACzF,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC;IACjB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;2EACuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;6CAMyC;IACzC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;wCAEoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;oDAEgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;kFAG8E;IAC9E,MAAM,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAChC;0EACsE;IACtE,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B;+DAC2D;IAC3D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;wDAEoD;IACpD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;2DACuD;IACvD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;uEACmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;IAyB3B;4CACwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkOxC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0DH,2EAA2E;;;;;;;;IAQ3E,4EAA4E;;;;;;;;IAQ5E,+DAA+D;;;;;;;;IAQ/D,6EAA6E;;;;;;;;IAQ7E,kDAAkD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqClD;;;;;;;;;;;;;;;;;;;OAmBG;;;;;;;;;;;IAoBH;;;;;;;;;;OAUG;;;;;;;;;;;;;;;;;;;;IAkBH;8CAC0C;;;;;;;IAO1C;;;;;;;;;;OAUG;;;;;;;;;;;;;;;;;;CAkB8C,CAAC;AAEpD,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAE7D,yEAAyE;AACzE,eAAO,MAAM,UAAU,EAAoC,gBAAgB,EAAE,CAAC"}
|
package/dist/presets.js
CHANGED
|
@@ -261,8 +261,9 @@ export const PROVIDER_PRESETS = {
|
|
|
261
261
|
* Go serves three wires, and `routes` picks one from the model id (cc-proxy's
|
|
262
262
|
* table, from Go's own docs): `minimax-` and `qwen` on Anthropic /messages
|
|
263
263
|
* (key in `x-api-key`), `gpt-`, `grok-` and `muse-spark-` on /responses, and
|
|
264
|
-
* everything else on chat completions. Each model in a
|
|
265
|
-
* own route, so one preset serves a chain that crosses
|
|
264
|
+
* everything else on chat completions, `grok-4.5` included. Each model in a
|
|
265
|
+
* chain resolves its own route, so one preset serves a chain that crosses
|
|
266
|
+
* wires.
|
|
266
267
|
*
|
|
267
268
|
* Muse Contributor, measured 2026-09-28 on /responses: text, images, strict
|
|
268
269
|
* JSON Schema, parallel tools and tool-result round trips all passed. It
|
|
@@ -296,6 +297,15 @@ export const PROVIDER_PRESETS = {
|
|
|
296
297
|
baseUrl: "https://opencode.ai/zen/go",
|
|
297
298
|
auth: "key",
|
|
298
299
|
},
|
|
300
|
+
{
|
|
301
|
+
// The one Grok Go serves on chat completions, while 4.6 and 4.7 are on
|
|
302
|
+
// /responses: cc-proxy's catalog pins it there as an override of the
|
|
303
|
+
// family rule. It sits above the `grok-` route because the first match
|
|
304
|
+
// wins.
|
|
305
|
+
prefixes: ["grok-4.5"],
|
|
306
|
+
shape: "openai",
|
|
307
|
+
baseUrl: "https://opencode.ai/zen/go/v1",
|
|
308
|
+
},
|
|
299
309
|
{
|
|
300
310
|
prefixes: ["gpt-", "grok-", "muse-spark-"],
|
|
301
311
|
shape: "responses",
|
package/dist/presets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAOA,OAAO,EAA2B,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,KAAK,EAEV,WAAW,EAEX,MAAM,EAEN,QAAQ,EAKT,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd;wCACoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;uEAEmE;IACnE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;wEACoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;iCAC6B;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;6EACyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;2CAQuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAuPD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,QAAQ,SAAc,GACrB;IACD,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB,CAsDA;AA2BD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,GAAG,QAAQ,CAoQzE"}
|