llm-relay 0.62.0 → 0.63.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/accounting-store-io.js +0 -33
- package/dist/accounting-store-io.js.map +1 -1
- package/dist/accounting-store-schema.js +0 -65
- package/dist/accounting-store-schema.js.map +1 -1
- package/dist/accounting-store.js +0 -195
- package/dist/accounting-store.js.map +1 -1
- package/dist/accounting.js +0 -72
- package/dist/accounting.js.map +1 -1
- package/dist/anthropic.js +0 -18
- package/dist/anthropic.js.map +1 -1
- package/dist/authEnv.js +0 -78
- package/dist/authEnv.js.map +1 -1
- package/dist/availability-snapshot.js +0 -58
- package/dist/availability-snapshot.js.map +1 -1
- package/dist/availability.js +0 -162
- package/dist/availability.js.map +1 -1
- package/dist/backend.js +1 -416
- package/dist/backend.js.map +1 -1
- package/dist/benchmarks.js +1 -63
- package/dist/benchmarks.js.map +1 -1
- package/dist/breaker-persistence.js +0 -59
- package/dist/breaker-persistence.js.map +1 -1
- package/dist/candidates.js +0 -64
- package/dist/candidates.js.map +1 -1
- package/dist/catalog.js +1 -140
- package/dist/catalog.js.map +1 -1
- package/dist/circuit-breaker.js +1 -90
- package/dist/circuit-breaker.js.map +1 -1
- package/dist/claude-hook.js +0 -81
- package/dist/claude-hook.js.map +1 -1
- package/dist/cli.d.ts +36 -0
- package/dist/cli.js +73 -730
- package/dist/cli.js.map +1 -1
- package/dist/config-edit.js +0 -11
- package/dist/config-edit.js.map +1 -1
- package/dist/config.d.ts +21 -0
- package/dist/config.js +22 -372
- package/dist/config.js.map +1 -1
- package/dist/configured-limits.js +0 -58
- package/dist/configured-limits.js.map +1 -1
- package/dist/context-limits.js +0 -97
- package/dist/context-limits.js.map +1 -1
- package/dist/control-authorization.js +0 -36
- package/dist/control-authorization.js.map +1 -1
- package/dist/cooldown-clear.js +0 -6
- package/dist/cooldown-clear.js.map +1 -1
- package/dist/credential-fleet.js +0 -5
- package/dist/credential-fleet.js.map +1 -1
- package/dist/credential-select.js +4 -30
- package/dist/credential-select.js.map +1 -1
- package/dist/dashboard-auth.js +0 -29
- package/dist/dashboard-auth.js.map +1 -1
- package/dist/dashboard-contract.js +0 -46
- package/dist/dashboard-contract.js.map +1 -1
- package/dist/dashboard-routes.js +0 -32
- package/dist/dashboard-routes.js.map +1 -1
- package/dist/dashboard-snapshot.js +0 -154
- package/dist/dashboard-snapshot.js.map +1 -1
- package/dist/dashboard-static.js +0 -22
- package/dist/dashboard-static.js.map +1 -1
- package/dist/delegate-gate/cast-necessity.js +1 -22
- package/dist/delegate-gate/cast-necessity.js.map +1 -1
- package/dist/delegate-gate/cli.js +0 -6
- package/dist/delegate-gate/cli.js.map +1 -1
- package/dist/delegate-gate/diff-parser.js +0 -32
- package/dist/delegate-gate/diff-parser.js.map +1 -1
- package/dist/delegate-gate/fix.js +0 -10
- package/dist/delegate-gate/fix.js.map +1 -1
- package/dist/delegate-gate/gate.js +0 -12
- package/dist/delegate-gate/gate.js.map +1 -1
- package/dist/delegate-gate/minimality.js +0 -38
- package/dist/delegate-gate/minimality.js.map +1 -1
- package/dist/delegate-gate/post-image.js +1 -13
- package/dist/delegate-gate/post-image.js.map +1 -1
- package/dist/delegate-gate/shared-state.js +0 -23
- package/dist/delegate-gate/shared-state.js.map +1 -1
- package/dist/delegate-gate/test-assertions.js +1 -54
- package/dist/delegate-gate/test-assertions.js.map +1 -1
- package/dist/delegate-gate/types.js +0 -11
- package/dist/delegate-gate/types.js.map +1 -1
- package/dist/dialect-stream.js +9 -37
- package/dist/dialect-stream.js.map +1 -1
- package/dist/dispatch-exhaustion-persistence.js +0 -35
- package/dist/dispatch-exhaustion-persistence.js.map +1 -1
- package/dist/dispatch.js +0 -269
- package/dist/dispatch.js.map +1 -1
- package/dist/documents.js +0 -92
- package/dist/documents.js.map +1 -1
- package/dist/dotenv.js +0 -22
- package/dist/dotenv.js.map +1 -1
- package/dist/dynamic-pools.js +0 -93
- package/dist/dynamic-pools.js.map +1 -1
- package/dist/emitSse.js +0 -64
- package/dist/emitSse.js.map +1 -1
- package/dist/executable-lookup.js +0 -59
- package/dist/executable-lookup.js.map +1 -1
- package/dist/hard-cap.js +1 -32
- package/dist/hard-cap.js.map +1 -1
- package/dist/host-routing.js +0 -40
- package/dist/host-routing.js.map +1 -1
- package/dist/installed-hosts.js +0 -71
- package/dist/installed-hosts.js.map +1 -1
- package/dist/json-shape.js +0 -19
- package/dist/json-shape.js.map +1 -1
- package/dist/kernel/contracts.js +0 -26
- package/dist/kernel/contracts.js.map +1 -1
- package/dist/kernel/request-lifecycle.js +0 -4
- package/dist/kernel/request-lifecycle.js.map +1 -1
- package/dist/key-checker.js +0 -115
- package/dist/key-checker.js.map +1 -1
- package/dist/key-import.js +0 -20
- package/dist/key-import.js.map +1 -1
- package/dist/keys-cli.js +0 -15
- package/dist/keys-cli.js.map +1 -1
- package/dist/keystore.js +2 -51
- package/dist/keystore.js.map +1 -1
- package/dist/lane-cadence.js +1 -51
- package/dist/lane-cadence.js.map +1 -1
- package/dist/lane-manifest.js +0 -54
- package/dist/lane-manifest.js.map +1 -1
- package/dist/lane-probe.js +0 -36
- package/dist/lane-probe.js.map +1 -1
- package/dist/lane-quota-probe.js +0 -61
- package/dist/lane-quota-probe.js.map +1 -1
- package/dist/log.js +0 -17
- package/dist/log.js.map +1 -1
- package/dist/mcp/lane-runner.d.ts +114 -0
- package/dist/mcp/lane-runner.js +186 -0
- package/dist/mcp/lane-runner.js.map +1 -0
- package/dist/mcp/protocol.d.ts +98 -0
- package/dist/mcp/protocol.js +67 -0
- package/dist/mcp/protocol.js.map +1 -0
- package/dist/mcp/server.d.ts +78 -0
- package/dist/mcp/server.js +360 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/metadata.js +0 -73
- package/dist/metadata.js.map +1 -1
- package/dist/network-block.js +0 -45
- package/dist/network-block.js.map +1 -1
- package/dist/offload.js +0 -21
- package/dist/offload.js.map +1 -1
- package/dist/onboarding.js +0 -36
- package/dist/onboarding.js.map +1 -1
- package/dist/openai-dialect.js +0 -32
- package/dist/openai-dialect.js.map +1 -1
- package/dist/openai-request.js +0 -236
- package/dist/openai-request.js.map +1 -1
- package/dist/os-keyring.js +0 -28
- package/dist/os-keyring.js.map +1 -1
- package/dist/ping/cadence.js +3 -90
- package/dist/ping/cadence.js.map +1 -1
- package/dist/ping/metrics.js +0 -91
- package/dist/ping/metrics.js.map +1 -1
- package/dist/ping/ping.js +0 -17
- package/dist/ping/ping.js.map +1 -1
- package/dist/ping/probe-cache.js +2 -53
- package/dist/ping/probe-cache.js.map +1 -1
- package/dist/ping/quota.js +0 -17
- package/dist/ping/quota.js.map +1 -1
- package/dist/ping/runtime-telemetry.js +1 -18
- package/dist/ping/runtime-telemetry.js.map +1 -1
- package/dist/pool-health.js +0 -49
- package/dist/pool-health.js.map +1 -1
- package/dist/presets.js +0 -4
- package/dist/presets.js.map +1 -1
- package/dist/process-safety-net.js +0 -36
- package/dist/process-safety-net.js.map +1 -1
- package/dist/quota-demotion.js +1 -35
- package/dist/quota-demotion.js.map +1 -1
- package/dist/quota-observation.js +0 -21
- package/dist/quota-observation.js.map +1 -1
- package/dist/rate-limits.js +1 -94
- package/dist/rate-limits.js.map +1 -1
- package/dist/refusal-interpretation.js +2 -327
- package/dist/refusal-interpretation.js.map +1 -1
- package/dist/registry.js +0 -11
- package/dist/registry.js.map +1 -1
- package/dist/repair.js +1 -119
- package/dist/repair.js.map +1 -1
- package/dist/request-log.js +0 -2
- package/dist/request-log.js.map +1 -1
- package/dist/reshaper.js +0 -85
- package/dist/reshaper.js.map +1 -1
- package/dist/resolved-attempt.js +0 -3
- package/dist/resolved-attempt.js.map +1 -1
- package/dist/responses-request.js +0 -187
- package/dist/responses-request.js.map +1 -1
- package/dist/routes/admin.js +0 -38
- package/dist/routes/admin.js.map +1 -1
- package/dist/secret-file-acl.js +0 -26
- package/dist/secret-file-acl.js.map +1 -1
- package/dist/self-update.js +0 -118
- package/dist/self-update.js.map +1 -1
- package/dist/server.js +15 -952
- package/dist/server.js.map +1 -1
- package/dist/session-pin.js +0 -9
- package/dist/session-pin.js.map +1 -1
- package/dist/setup-claude.js +0 -9
- package/dist/setup-claude.js.map +1 -1
- package/dist/spend-headroom.js +0 -20
- package/dist/spend-headroom.js.map +1 -1
- package/dist/sse-frames.js +0 -31
- package/dist/sse-frames.js.map +1 -1
- package/dist/sse.js +1 -19
- package/dist/sse.js.map +1 -1
- package/dist/state-paths.js +0 -16
- package/dist/state-paths.js.map +1 -1
- package/dist/stream-commit.js +1 -27
- package/dist/stream-commit.js.map +1 -1
- package/dist/target-facts.js +2 -130
- package/dist/target-facts.js.map +1 -1
- package/dist/telemetry.js +0 -8
- package/dist/telemetry.js.map +1 -1
- package/dist/think-tags.js +1 -38
- package/dist/think-tags.js.map +1 -1
- package/dist/tier-data.js +0 -29
- package/dist/tier-data.js.map +1 -1
- package/dist/tool-dialects.js +1 -103
- package/dist/tool-dialects.js.map +1 -1
- package/dist/tool-use-ids.js +0 -51
- package/dist/tool-use-ids.js.map +1 -1
- package/dist/usage-observer.js +0 -52
- package/dist/usage-observer.js.map +1 -1
- package/dist/validator.js +1 -25
- package/dist/validator.js.map +1 -1
- package/dist/winenv.js +0 -63
- package/dist/winenv.js.map +1 -1
- package/dist/write-behind.js +0 -12
- package/dist/write-behind.js.map +1 -1
- package/package.json +2 -2
- package/skills/llm-relay/SKILL.md +26 -1
package/dist/os-keyring.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"os-keyring.js","sourceRoot":"","sources":["../src/os-keyring.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"os-keyring.js","sourceRoot":"","sources":["../src/os-keyring.ts"],"names":[],"mappings":"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"}
|
package/dist/ping/cadence.js
CHANGED
|
@@ -15,22 +15,12 @@ export const PING_MODE_INTERVALS = {
|
|
|
15
15
|
slow: 30000,
|
|
16
16
|
forced: 4000,
|
|
17
17
|
};
|
|
18
|
-
export const SPEED_MODE_DURATION_MS = 60000;
|
|
19
|
-
export const IDLE_SLOW_AFTER_MS = 300000;
|
|
20
|
-
/**
|
|
21
|
-
* How often one credential's provider-stated spend headroom is re-asked (`spend-headroom.ts`).
|
|
22
|
-
* Slow on purpose: the figure moves with the account's own spend, and the `allowance-exhausted`
|
|
23
|
-
* fact it feeds carries a 1h TTL — a 15-minute cadence keeps the fact alive while a condition
|
|
24
|
-
* holds and notices bought credits within one interval, at four requests per credential per hour.
|
|
25
|
-
*/
|
|
18
|
+
export const SPEED_MODE_DURATION_MS = 60000;
|
|
19
|
+
export const IDLE_SLOW_AFTER_MS = 300000;
|
|
26
20
|
export const SPEND_POLL_INTERVAL_MS = 15 * 60 * 1000;
|
|
27
21
|
function values(value) {
|
|
28
22
|
return Array.isArray(value) ? value : typeof value === "string" ? [value] : [];
|
|
29
23
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Concrete deployments that routing can currently select, ordered for useful early coverage.
|
|
32
|
-
* Pool leaders come first, then pinned routes/subagent choices, then the remaining pool members.
|
|
33
|
-
*/
|
|
34
24
|
export function collectRoutableModels(cfg) {
|
|
35
25
|
const ordered = [];
|
|
36
26
|
const seen = new Set();
|
|
@@ -46,7 +36,6 @@ export function collectRoutableModels(cfg) {
|
|
|
46
36
|
seen.add(spec);
|
|
47
37
|
ordered.push(spec);
|
|
48
38
|
};
|
|
49
|
-
// Cover the head of every failover lane before spending probes on deep fallbacks.
|
|
50
39
|
for (const members of Object.values(cfg.routing.pools ?? {})) {
|
|
51
40
|
if (members[0])
|
|
52
41
|
touchConcrete(members[0]);
|
|
@@ -87,11 +76,8 @@ export class PingLoop {
|
|
|
87
76
|
timerObj = null;
|
|
88
77
|
running = false;
|
|
89
78
|
pingHistory = new Map();
|
|
90
|
-
/** Quota is credential and model scoped; provider-wide percentages were always ambiguous. */
|
|
91
79
|
latestQuota = new Map();
|
|
92
|
-
/** Request-local fleet cursor persisted between ticks so one-due-model ticks still rotate. */
|
|
93
80
|
credentialCursors = new Map();
|
|
94
|
-
/** When each credential's spend headroom was last asked for — the SPEND_POLL_INTERVAL_MS gate. */
|
|
95
81
|
spendPolledAt = new Map();
|
|
96
82
|
constructor(cfg, catalog, opts = {}) {
|
|
97
83
|
this.cfg = cfg;
|
|
@@ -142,8 +128,6 @@ export class PingLoop {
|
|
|
142
128
|
}
|
|
143
129
|
recordPing(providerKey, modelId, res, timestamp = Date.now(), credentialId = makeCredentialId(providerKey)) {
|
|
144
130
|
const key = `${providerKey}/${modelId}`;
|
|
145
|
-
// Through the hydrating getter, so a fresh process appends to the history previous runs
|
|
146
|
-
// built instead of starting a second, shorter one beside it.
|
|
147
131
|
if (!this.pingHistory.has(key))
|
|
148
132
|
this.getModelPings(providerKey, modelId);
|
|
149
133
|
let history = this.pingHistory.get(key);
|
|
@@ -158,53 +142,24 @@ export class PingLoop {
|
|
|
158
142
|
this.latestQuota.set(quotaKey, mergeQuotaObservations(this.getQuotaObservations(credentialId, modelId), res.quotaObservations));
|
|
159
143
|
const parsedCredential = parseCredentialId(credentialId);
|
|
160
144
|
const isDefaultProbe = parsedCredential?.provider === providerKey && parsedCredential.label === "default";
|
|
161
|
-
// Probe cache has a deployment key, so only its real default-credential producer may attach
|
|
162
|
-
// quota to it. Health samples are still shared deployment evidence for every call.
|
|
163
145
|
recordProbeResult(providerKey, modelId, {
|
|
164
146
|
...res,
|
|
165
147
|
quotaObservations: isDefaultProbe ? res.quotaObservations : [],
|
|
166
148
|
}, this.probeCacheOpts());
|
|
167
|
-
// A successful probe is a REAL completion — `ping.ts` posts one user message at
|
|
168
|
-
// `max_tokens: 1` — sent with THIS credential slot, so it is the same first-party proof a
|
|
169
|
-
// served request is: the deployment exists and the credential has allowance RIGHT NOW.
|
|
170
|
-
// `server.ts` has always cleared cooling conditions on that evidence; until 2026-08-30 this
|
|
171
|
-
// path did not, so `clearFacts` had exactly ONE caller and a long-window
|
|
172
|
-
// `allowance-exhausted` fact survived its whole window unless real traffic happened to reach
|
|
173
|
-
// the demoted candidate. Since the relay probes every deployment on a cadence anyway, that
|
|
174
|
-
// made background recovery undetectable — the owner's stated expectation, and the reason a
|
|
175
|
-
// week-long operator-asserted reset is safe to record at all.
|
|
176
|
-
// ⚠ Measurements are never touched: `clearFacts` excludes them, because a success disproves
|
|
177
|
-
// a condition and never a measurement.
|
|
178
|
-
// ⚠ Unlike the served path this does NOT also clear the breaker's credential faults —
|
|
179
|
-
// `PingLoop` holds no breaker reference, and those carry their own 5-minute TTL.
|
|
180
|
-
// ⚠ Contained: the fact store must never be able to break the probe loop.
|
|
181
149
|
if (res.code === "200") {
|
|
182
150
|
try {
|
|
183
151
|
clearFacts(providerKey, credentialId, modelId);
|
|
184
152
|
}
|
|
185
153
|
catch {
|
|
186
|
-
/* best-effort */
|
|
187
154
|
}
|
|
188
155
|
}
|
|
189
156
|
}
|
|
190
|
-
/**
|
|
191
|
-
* Recent probes for a model — from memory, falling back to what previous runs persisted.
|
|
192
|
-
*
|
|
193
|
-
* ⚠ The fallback is the whole point. This used to read `pingHistory` alone, a Map built only
|
|
194
|
-
* during the current process's life, while `recordProbeResult` wrote every probe to
|
|
195
|
-
* `probe-cache.json` and nothing ever read it back. Every restart therefore reset every model
|
|
196
|
-
* to `Pending` with `p95: -1`, so a proxy that restarts at all — a laptop that slept, an
|
|
197
|
-
* upgrade, a crash — never accumulated latency history for anything. The disk is the long-term
|
|
198
|
-
* record this is supposed to be keeping; memory is just the hot copy.
|
|
199
|
-
*/
|
|
200
157
|
getModelPings(providerKey, modelId) {
|
|
201
158
|
const key = `${providerKey}/${modelId}`;
|
|
202
159
|
const live = this.pingHistory.get(key);
|
|
203
160
|
if (live && live.length > 0)
|
|
204
161
|
return live;
|
|
205
162
|
const persisted = this.readPersisted(providerKey, modelId);
|
|
206
|
-
// Seed memory so the next call is hot and later probes append to the real history rather
|
|
207
|
-
// than starting a second, shorter one beside it.
|
|
208
163
|
if (persisted.length > 0)
|
|
209
164
|
this.pingHistory.set(key, [...persisted]);
|
|
210
165
|
return persisted;
|
|
@@ -214,18 +169,12 @@ export class PingLoop {
|
|
|
214
169
|
return loadPersistedSamples(providerKey, modelId, this.probeCacheOpts());
|
|
215
170
|
}
|
|
216
171
|
catch {
|
|
217
|
-
return [];
|
|
172
|
+
return [];
|
|
218
173
|
}
|
|
219
174
|
}
|
|
220
175
|
probeCacheOpts() {
|
|
221
176
|
return this.opts.probeCachePath ? { path: this.opts.probeCachePath } : {};
|
|
222
177
|
}
|
|
223
|
-
/**
|
|
224
|
-
* Long-run uptime for a model across every probe ever recorded, or null if never probed.
|
|
225
|
-
*
|
|
226
|
-
* The rolling window answers "lately"; this answers "ever", and it is what keeps a model's
|
|
227
|
-
* record from being erased by one bad afternoon inside the window.
|
|
228
|
-
*/
|
|
229
178
|
getLifetimeUptimePct(providerKey, modelId) {
|
|
230
179
|
try {
|
|
231
180
|
const t = loadTotals(providerKey, modelId, this.probeCacheOpts());
|
|
@@ -237,10 +186,6 @@ export class PingLoop {
|
|
|
237
186
|
return null;
|
|
238
187
|
}
|
|
239
188
|
}
|
|
240
|
-
/**
|
|
241
|
-
* Returns quota only for its exact credential/model cell. A cold default cell may rehydrate
|
|
242
|
-
* synthetic-probe observations from disk; another credential must never inherit that balance.
|
|
243
|
-
*/
|
|
244
189
|
getQuotaObservations(credentialId, modelId) {
|
|
245
190
|
const key = this.quotaKey(credentialId, modelId);
|
|
246
191
|
const live = this.latestQuota.get(key);
|
|
@@ -270,12 +215,6 @@ export class PingLoop {
|
|
|
270
215
|
const stabilityScore = getStabilityScore(pings);
|
|
271
216
|
const uptimePct = getUptime(pings);
|
|
272
217
|
const lastPing = pings[pings.length - 1];
|
|
273
|
-
// ⚠ `isDown` is deliberately NOT passed. It used to be `lastPing.code !== "200"`, which made
|
|
274
|
-
// the verdict a function of one sample: a single transient failure — a VPN the provider
|
|
275
|
-
// blocks, a resumed laptop, one rate-limited probe — reported a model with fifty good samples
|
|
276
|
-
// as `Not Active`/`Unstable`. `getVerdict` now derives down-ness from the accumulated record
|
|
277
|
-
// (a RUN of failures AND poor uptime), which still catches a genuinely revoked key: that
|
|
278
|
-
// answers 401 every time, so the run never breaks and uptime stays at 0.
|
|
279
218
|
const verdict = getVerdict(pings, { httpCode: lastPing?.code ?? null });
|
|
280
219
|
return {
|
|
281
220
|
providerKey,
|
|
@@ -290,16 +229,6 @@ export class PingLoop {
|
|
|
290
229
|
lastPingMs: lastPing?.ms ?? null,
|
|
291
230
|
};
|
|
292
231
|
}
|
|
293
|
-
/**
|
|
294
|
-
* Ask each provider for its stated spend headroom and feed the answer to `spend-headroom.ts`.
|
|
295
|
-
*
|
|
296
|
-
* Egress happens only where a provider actually publishes the figure — `fetchProviderQuota`
|
|
297
|
-
* fetches for an OpenRouter base and no-ops for everyone else — so this walk costs nothing for
|
|
298
|
-
* a config with no such provider. One ask per credential slot per SPEND_POLL_INTERVAL_MS; the
|
|
299
|
-
* gate is stamped before the fetch so a failing endpoint is not re-asked every tick. A failed
|
|
300
|
-
* or unparseable answer applies nothing in either direction (`unknown` has no effect), and any
|
|
301
|
-
* throw is contained: a health poll must never break the ping loop.
|
|
302
|
-
*/
|
|
303
232
|
async pollSpendHeadroom(now = Date.now()) {
|
|
304
233
|
for (const [providerName, pCfg] of Object.entries(this.cfg.providers)) {
|
|
305
234
|
for (const slot of providerCredentialSlots(providerName, pCfg)) {
|
|
@@ -324,7 +253,6 @@ export class PingLoop {
|
|
|
324
253
|
applySpendHeadroom(providerName, slot.credentialId, classifySpendHeadroom(info), { now });
|
|
325
254
|
}
|
|
326
255
|
catch {
|
|
327
|
-
// Best effort: the statement is re-asked on the next due tick.
|
|
328
256
|
}
|
|
329
257
|
}
|
|
330
258
|
async tickOnce(scope = "catalog") {
|
|
@@ -336,9 +264,6 @@ export class PingLoop {
|
|
|
336
264
|
const beforeRefresh = scope === "routable" ? collectRoutableModels(this.cfg) : null;
|
|
337
265
|
const hasDynamicPools = Object.keys(this.cfg.routing.poolPolicies ?? {}).length > 0;
|
|
338
266
|
const listedByProvider = new Map();
|
|
339
|
-
// Refresh each relevant provider once and in parallel. Dynamic contributors still need their
|
|
340
|
-
// catalog refreshed when a cold cache has no routable members yet; only the resulting
|
|
341
|
-
// materialized members are probed.
|
|
342
267
|
await Promise.all(providers.map(async ([providerName, pCfg]) => {
|
|
343
268
|
const contributesDynamic = hasDynamicPools &&
|
|
344
269
|
(pCfg.tierType === "free" || pCfg.tierType === "mixed");
|
|
@@ -361,23 +286,14 @@ export class PingLoop {
|
|
|
361
286
|
: routable?.get(providerName) ?? [];
|
|
362
287
|
if (modelIds.length === 0)
|
|
363
288
|
continue;
|
|
364
|
-
// Same cache the results are written to and hydrated from. `probe-cache.ts` keeps a
|
|
365
|
-
// module-level cache keyed by the last path it was given, so a call that omits the path
|
|
366
|
-
// reads whatever another caller last loaded — here that meant asking a different cache
|
|
367
|
-
// whether a model was due, concluding it was not, and probing nothing at all.
|
|
368
289
|
const dueIds = getModelsDueForProbe(providerName, modelIds, {
|
|
369
290
|
...this.probeCacheOpts(),
|
|
370
291
|
lastSuccessfulCallAt: (modelId) => getLastSuccessfulCallAt(providerName, modelId, { telemetry }),
|
|
371
292
|
});
|
|
372
|
-
// Probe up to 3 due models per provider per tick to avoid flooding
|
|
373
293
|
const toProbe = dueIds.slice(0, 3);
|
|
374
294
|
const slots = providerCredentialSlots(providerName, pCfg).filter((slot) => slot.enabled);
|
|
375
295
|
let slotCursor = this.credentialCursors.get(providerName) ?? 0;
|
|
376
296
|
for (const mId of toProbe) {
|
|
377
|
-
// Credential rotation is inside the existing model probe budget: a provider with three
|
|
378
|
-
// due deployments still spends at most three requests, while successive deployments use
|
|
379
|
-
// successive serviceable slots. Health remains keyed to provider/model; quota evidence is
|
|
380
|
-
// recorded against the exact credential that made this request.
|
|
381
297
|
let selected;
|
|
382
298
|
let selectedSlot;
|
|
383
299
|
for (let i = 0; i < slots.length; i++) {
|
|
@@ -411,13 +327,10 @@ export class PingLoop {
|
|
|
411
327
|
const loop = async () => {
|
|
412
328
|
if (!this.running)
|
|
413
329
|
return;
|
|
414
|
-
// The lane-cadence hook fires HERE and only here — see the `onTick` option doc: a direct
|
|
415
|
-
// `tickOnce` caller (the admitted GET /ping) must never be able to initiate lane work.
|
|
416
330
|
try {
|
|
417
331
|
this.opts.onTick?.(Date.now());
|
|
418
332
|
}
|
|
419
333
|
catch {
|
|
420
|
-
// Contained: a tick hook must never break the ping loop.
|
|
421
334
|
}
|
|
422
335
|
await this.tickOnce("routable").catch(() => { });
|
|
423
336
|
if (this.running) {
|
package/dist/ping/cadence.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cadence.js","sourceRoot":"","sources":["../../src/ping/cadence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cadence.js","sourceRoot":"","sources":["../../src/ping/cadence.ts"],"names":[],"mappings":"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"}
|
package/dist/ping/metrics.js
CHANGED
|
@@ -1,18 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Codes whose round-trip time is a real LATENCY sample. A 401 came back from the provider,
|
|
3
|
-
* so it timed the network path and belongs in avg/p95/jitter/spike.
|
|
4
|
-
*
|
|
5
|
-
* ⚠ Latency only — this is NOT an availability set. Availability is decided by `getUptime()`
|
|
6
|
-
* below, which counts `"200"` and nothing else, so a target answering only 401s reports 0%
|
|
7
|
-
* uptime and `getStabilityScore` MULTIPLIES its composite to 0. That claim used to read "capped
|
|
8
|
-
* accordingly" while the arithmetic merely subtracted a 20% term, which capped an all-401 target
|
|
9
|
-
* at ~80 — above every all-success target with mediocre latency. The cap is real now because
|
|
10
|
-
* availability scales the score rather than contributing a share of it. Two other sites used to
|
|
11
|
-
* treat 401 as equivalent to 200 for availability (`probe-cache.ts`, `cadence.ts`) and a provider
|
|
12
|
-
* with a revoked key read as healthy; both now follow the 200-only rule.
|
|
13
|
-
*/
|
|
14
1
|
const MEASURABLE_CODES = new Set(["200", "401"]);
|
|
15
|
-
/** Calculate average latency from measurable pings (HTTP 200/401). Returns Infinity if none. */
|
|
16
2
|
export function getAvg(pings) {
|
|
17
3
|
const measurable = pings.filter((p) => MEASURABLE_CODES.has(p.code));
|
|
18
4
|
if (measurable.length === 0)
|
|
@@ -20,7 +6,6 @@ export function getAvg(pings) {
|
|
|
20
6
|
const sum = measurable.reduce((acc, p) => acc + p.ms, 0);
|
|
21
7
|
return Math.round(sum / measurable.length);
|
|
22
8
|
}
|
|
23
|
-
/** Calculate 95th percentile latency from measurable pings. Returns Infinity if none. */
|
|
24
9
|
export function getP95(pings) {
|
|
25
10
|
const measurable = pings.filter((p) => MEASURABLE_CODES.has(p.code));
|
|
26
11
|
if (measurable.length === 0)
|
|
@@ -29,7 +14,6 @@ export function getP95(pings) {
|
|
|
29
14
|
const idx = Math.ceil(sorted.length * 0.95) - 1;
|
|
30
15
|
return sorted[Math.max(0, idx)];
|
|
31
16
|
}
|
|
32
|
-
/** Calculate latency standard deviation (jitter) in ms from measurable pings. */
|
|
33
17
|
export function getJitter(pings) {
|
|
34
18
|
const measurable = pings.filter((p) => MEASURABLE_CODES.has(p.code));
|
|
35
19
|
if (measurable.length < 2)
|
|
@@ -38,7 +22,6 @@ export function getJitter(pings) {
|
|
|
38
22
|
const variance = measurable.reduce((sum, p) => sum + (p.ms - mean) ** 2, 0) / measurable.length;
|
|
39
23
|
return Math.round(Math.sqrt(variance));
|
|
40
24
|
}
|
|
41
|
-
/** Calculate spike rate: fraction (0–1) of measurable pings with latency > 3000ms. */
|
|
42
25
|
export function getSpikeRate(pings) {
|
|
43
26
|
const measurable = pings.filter((p) => MEASURABLE_CODES.has(p.code));
|
|
44
27
|
if (measurable.length === 0)
|
|
@@ -46,38 +29,12 @@ export function getSpikeRate(pings) {
|
|
|
46
29
|
const spikes = measurable.filter((p) => p.ms > 3000).length;
|
|
47
30
|
return spikes / measurable.length;
|
|
48
31
|
}
|
|
49
|
-
/** Calculate uptime percentage (0–100) of HTTP 200 pings over total pings. */
|
|
50
32
|
export function getUptime(pings) {
|
|
51
33
|
if (pings.length === 0)
|
|
52
34
|
return 0;
|
|
53
35
|
const successful = pings.filter((p) => p.code === "200").length;
|
|
54
36
|
return Math.round((successful / pings.length) * 100);
|
|
55
37
|
}
|
|
56
|
-
/**
|
|
57
|
-
* Composite Stability Score (0–100). Returns -1 only when the deployment has NEVER been probed.
|
|
58
|
-
*
|
|
59
|
-
* Shape: **latency quality, SCALED by availability** — not latency quality plus a fifth of
|
|
60
|
-
* availability. The distinction is the whole point, because `MEASURABLE_CODES` is a latency set:
|
|
61
|
-
* 403/404/429/5xx leave p95, jitter and spike entirely, so under the old additive form
|
|
62
|
-
* (`0.3*p95 + 0.3*jitter + 0.2*spike + 0.2*uptime`) a failing deployment kept a clean latency
|
|
63
|
-
* profile and paid only 20%. Measured on live probe data: 1 success in 12 scored **81** while
|
|
64
|
-
* 3 of 3 scored **27**, and 27 zero-success deployments scored above 50 — on a machine whose
|
|
65
|
-
* pools are all `{include: "free"}`, so this score IS the pool order. The comment above
|
|
66
|
-
* `MEASURABLE_CODES` claimed such a target was "capped accordingly"; only a multiplier delivers
|
|
67
|
-
* that cap.
|
|
68
|
-
*
|
|
69
|
-
* The latency weights are renormalized to sum to 1 across the three latency terms, so a
|
|
70
|
-
* deployment at 100% uptime scores exactly its latency quality and nothing is silently rescaled.
|
|
71
|
-
*
|
|
72
|
-
* ⚠ 401 deliberately STAYS in the latency terms: the response came back from the provider, so it
|
|
73
|
-
* really did time the network path. It contributes nothing to uptime, so the multiplier is what
|
|
74
|
-
* stops a revoked key from reading as a fast healthy target — no need to discard real timing data.
|
|
75
|
-
*
|
|
76
|
-
* ⚠ `-1` means "no samples", not "no MEASURABLE samples". Twelve consecutive 402s is evidence that
|
|
77
|
-
* this deployment fails, not absence of evidence: returning -1 there made every consumer read
|
|
78
|
-
* "unmeasured" and the ordering substitute a neutral 50, which put a fully-exhausted deployment
|
|
79
|
-
* above one that answered every probe.
|
|
80
|
-
*/
|
|
81
38
|
export function getStabilityScore(pings) {
|
|
82
39
|
if (pings.length === 0)
|
|
83
40
|
return -1;
|
|
@@ -85,57 +42,20 @@ export function getStabilityScore(pings) {
|
|
|
85
42
|
const jitter = getJitter(pings);
|
|
86
43
|
const uptime = getUptime(pings);
|
|
87
44
|
const spikeRate = getSpikeRate(pings);
|
|
88
|
-
// With no measurable sample `getP95` returns Infinity, so `p95Score` clamps to 0 rather than
|
|
89
|
-
// producing NaN. Such a deployment also has 0% uptime, so the product is 0 either way.
|
|
90
45
|
const p95Score = Math.max(0, Math.min(100, 100 * (1 - p95 / 5000)));
|
|
91
46
|
const jitterScore = Math.max(0, Math.min(100, 100 * (1 - jitter / 2000)));
|
|
92
47
|
const spikeScore = Math.max(0, 100 * (1 - spikeRate));
|
|
93
48
|
const latencyQuality = 0.4 * p95Score + 0.4 * jitterScore + 0.2 * spikeScore;
|
|
94
49
|
return Math.round(latencyQuality * (uptime / 100));
|
|
95
50
|
}
|
|
96
|
-
/**
|
|
97
|
-
* How many of the MOST RECENT probes failed, consecutively.
|
|
98
|
-
*
|
|
99
|
-
* The unit of "is this thing broken" — one failure in a row is weather, five in a row is a
|
|
100
|
-
* pattern. Anything reading the single last sample cannot tell those apart.
|
|
101
|
-
*/
|
|
102
51
|
export function trailingFailures(pings) {
|
|
103
52
|
let n = 0;
|
|
104
53
|
for (let i = pings.length - 1; i >= 0 && pings[i].code !== "200"; i--)
|
|
105
54
|
n++;
|
|
106
55
|
return n;
|
|
107
56
|
}
|
|
108
|
-
/**
|
|
109
|
-
* Consecutive recent failures before a target is called down rather than merely erratic.
|
|
110
|
-
*
|
|
111
|
-
* A VPN the provider blocks, a DNS hiccup, a rate-limit window, a laptop resuming from sleep —
|
|
112
|
-
* all produce isolated failures against a model that is completely fine. Requiring a RUN of them
|
|
113
|
-
* is what stops one such blip from disqualifying a model that has answered hundreds of times.
|
|
114
|
-
*/
|
|
115
57
|
export const DOWN_AFTER_CONSECUTIVE_FAILURES = 3;
|
|
116
|
-
/**
|
|
117
|
-
* Codes that are a DETERMINISTIC refusal rather than weather.
|
|
118
|
-
*
|
|
119
|
-
* The line that matters: a 429, a 503, a DNS failure or a blocked VPN egress may all succeed on
|
|
120
|
-
* the very next call, so one of them proves nothing. A 401/403 is the provider stating a fact
|
|
121
|
-
* about the credential — it will answer 401 again next time, and no amount of patience changes
|
|
122
|
-
* that. Tolerating transients must never become tolerating a revoked key: that was the exact
|
|
123
|
-
* regression where a provider whose key had been revoked reported "Perfect" (fast 401s are still
|
|
124
|
-
* fast) and could outrank a working target.
|
|
125
|
-
*/
|
|
126
58
|
const CREDENTIAL_CODES = new Set(["401", "403"]);
|
|
127
|
-
/**
|
|
128
|
-
* Is this target persistently down, as opposed to having just had a bad moment?
|
|
129
|
-
*
|
|
130
|
-
* Three ways to be down, and only the last one is forgiving:
|
|
131
|
-
* 1. the latest probe was a credential refusal — deterministic, see above;
|
|
132
|
-
* 2. it has never once answered 200 — there is no good record to protect;
|
|
133
|
-
* 3. a RUN of recent failures AND a poor overall record.
|
|
134
|
-
*
|
|
135
|
-
* (3) is what stops a blip disqualifying a model: one with 95% uptime that just hit three
|
|
136
|
-
* rate-limited probes is rate-limited, not dead. The caller can still reach it, and the circuit
|
|
137
|
-
* breaker will step over it independently if it really is failing.
|
|
138
|
-
*/
|
|
139
59
|
export function isPersistentlyDown(pings) {
|
|
140
60
|
if (pings.length === 0)
|
|
141
61
|
return false;
|
|
@@ -146,19 +66,8 @@ export function isPersistentlyDown(pings) {
|
|
|
146
66
|
return true;
|
|
147
67
|
return trailingFailures(pings) >= DOWN_AFTER_CONSECUTIVE_FAILURES && getUptime(pings) < 50;
|
|
148
68
|
}
|
|
149
|
-
/**
|
|
150
|
-
* Determine human-readable health verdict for a model based on average latency and tail latency.
|
|
151
|
-
*
|
|
152
|
-
* ⚠ Down-ness is derived from the ACCUMULATED history, never from the caller's reading of the
|
|
153
|
-
* most recent ping. `cadence.ts` used to pass `isDown: lastPing.code !== "200"`, so a single
|
|
154
|
-
* transient 503 — a VPN block, a resumed laptop, one rate-limited probe — overrode fifty good
|
|
155
|
-
* samples and reported a healthy model as `Not Active`/`Unstable`. `opts.isDown` is still
|
|
156
|
-
* honoured when a caller genuinely knows better, but nothing has to supply it.
|
|
157
|
-
*/
|
|
158
69
|
export function getVerdict(pings, opts = {}) {
|
|
159
70
|
const down = opts.isDown ?? isPersistentlyDown(pings);
|
|
160
|
-
// Rate limiting is a transient, self-describing condition, and it is not down-ness: report it
|
|
161
|
-
// as such only when the recent record actually shows it, not because one probe caught a window.
|
|
162
71
|
if (opts.httpCode === "429" && trailingFailures(pings) > 0)
|
|
163
72
|
return "Overloaded";
|
|
164
73
|
const wasUpBefore = pings.length > 0 && pings.some((p) => p.code === "200");
|
package/dist/ping/metrics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/ping/metrics.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/ping/metrics.ts"],"names":[],"mappings":"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"}
|
package/dist/ping/ping.js
CHANGED
|
@@ -3,10 +3,6 @@ import { extractQuotaObservations, headroomPercent, } from "../quota-observation
|
|
|
3
3
|
export const DEFAULT_PING_TIMEOUT_MS = 15000;
|
|
4
4
|
const DISABLED_THINKING_RETRY_STATUSES = new Set([400, 422]);
|
|
5
5
|
const disabledThinkingUnsupportedProviders = new Set();
|
|
6
|
-
/**
|
|
7
|
-
* @deprecated Quota has more than one independent axis. Use `extractQuotaObservations()` and
|
|
8
|
-
* render each observation directly. This compatibility adapter declines ambiguous responses.
|
|
9
|
-
*/
|
|
10
6
|
export function extractQuotaPercent(headers) {
|
|
11
7
|
const observations = extractQuotaObservations(headers);
|
|
12
8
|
return observations.length === 1 ? headroomPercent(observations[0]) : null;
|
|
@@ -28,11 +24,6 @@ export function buildPingEndpoint(base, kind) {
|
|
|
28
24
|
}
|
|
29
25
|
export function buildPingRequest(providerName, modelId, cfg, apiKey, options = {}) {
|
|
30
26
|
const url = buildPingEndpoint(cfg.base, cfg.kind);
|
|
31
|
-
// The credential header comes from the shared builder, which returns {} for an absent or
|
|
32
|
-
// whitespace-only key. It obeys the DECLARED `authHeader` and does not force `x-api-key` on
|
|
33
|
-
// an anthropic-kind provider the way this site used to — `config.ts` already defaults that,
|
|
34
|
-
// so the only changed case is an explicit `authHeader: "authorization"`, where honouring the
|
|
35
|
-
// config is the correct answer.
|
|
36
27
|
const headers = {
|
|
37
28
|
"Content-Type": "application/json",
|
|
38
29
|
...buildAuthHeaders(apiKey, cfg.authHeader),
|
|
@@ -49,7 +40,6 @@ export function buildPingRequest(providerName, modelId, cfg, apiKey, options = {
|
|
|
49
40
|
}
|
|
50
41
|
return { url, headers, body };
|
|
51
42
|
}
|
|
52
|
-
// Anthropic Messages probe
|
|
53
43
|
headers["anthropic-version"] = "2023-06-01";
|
|
54
44
|
const body = {
|
|
55
45
|
model: modelId,
|
|
@@ -71,8 +61,6 @@ async function isDisabledThinkingRejected(resp, req) {
|
|
|
71
61
|
if (!req.body["thinking"] || !DISABLED_THINKING_RETRY_STATUSES.has(resp.status))
|
|
72
62
|
return false;
|
|
73
63
|
try {
|
|
74
|
-
// Use clone() to read without consuming the original body — the original
|
|
75
|
-
// will be cancelled by the caller if this returns true, or served if false.
|
|
76
64
|
const text = await resp.clone().text();
|
|
77
65
|
return /thinking/i.test(text);
|
|
78
66
|
}
|
|
@@ -80,7 +68,6 @@ async function isDisabledThinkingRejected(resp, req) {
|
|
|
80
68
|
return false;
|
|
81
69
|
}
|
|
82
70
|
}
|
|
83
|
-
/** Execute a single async ping to measure latency and remaining quota. */
|
|
84
71
|
export async function pingProviderModel(providerName, modelId, cfg, apiKey, opts = {}) {
|
|
85
72
|
const timeoutMs = opts.timeoutMs ?? DEFAULT_PING_TIMEOUT_MS;
|
|
86
73
|
const ctrl = new AbortController();
|
|
@@ -91,8 +78,6 @@ export async function pingProviderModel(providerName, modelId, cfg, apiKey, opts
|
|
|
91
78
|
let resp = await sendPingFetch(req, ctrl.signal, opts.fetchFn);
|
|
92
79
|
if (await isDisabledThinkingRejected(resp, req)) {
|
|
93
80
|
markDisabledThinkingUnsupported(providerName);
|
|
94
|
-
// Cancel the response we decided not to serve (its body was read by the check
|
|
95
|
-
// above), so the socket isn't stranded on the retry path.
|
|
96
81
|
await resp.body?.cancel().catch(() => { });
|
|
97
82
|
req = buildPingRequest(providerName, modelId, cfg, apiKey, { disableThinking: false });
|
|
98
83
|
resp = await sendPingFetch(req, ctrl.signal, opts.fetchFn);
|
|
@@ -100,8 +85,6 @@ export async function pingProviderModel(providerName, modelId, cfg, apiKey, opts
|
|
|
100
85
|
const code = resp.status >= 200 && resp.status < 300 ? "200" : String(resp.status);
|
|
101
86
|
const ms = Math.round(performance.now() - t0);
|
|
102
87
|
const quotaObservations = extractQuotaObservations(resp.headers);
|
|
103
|
-
// The body was never read and never served — release the socket rather than holding it
|
|
104
|
-
// until GC (the abort timer is disarmed below, so nothing else would).
|
|
105
88
|
await resp.body?.cancel().catch(() => { });
|
|
106
89
|
return { code, ms, quotaObservations };
|
|
107
90
|
}
|