llm-relay 0.77.0 → 0.78.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-schema.js +5 -6
- package/dist/accounting-store-schema.js.map +1 -1
- package/dist/accounting-store.d.ts +10 -0
- package/dist/accounting-store.js +60 -6
- package/dist/accounting-store.js.map +1 -1
- package/dist/backend/envelope-validator.d.ts +1 -1
- package/dist/backend/envelope-validator.js +89 -52
- package/dist/backend/envelope-validator.js.map +1 -1
- package/dist/backend/health-prober.js +3 -1
- package/dist/backend/health-prober.js.map +1 -1
- package/dist/backend.d.ts +48 -0
- package/dist/backend.js +831 -7
- package/dist/backend.js.map +1 -1
- package/dist/candidate-runner.d.ts +135 -50
- package/dist/candidate-runner.js +160 -55
- package/dist/candidate-runner.js.map +1 -1
- package/dist/cli.d.ts +24 -2
- package/dist/cli.js +122 -20
- package/dist/cli.js.map +1 -1
- package/dist/config/routing-parser.d.ts +13 -8
- package/dist/config/routing-parser.js +369 -183
- package/dist/config/routing-parser.js.map +1 -1
- package/dist/config-types.d.ts +202 -0
- package/dist/config-types.js +2 -0
- package/dist/config-types.js.map +1 -1
- package/dist/config.d.ts +45 -1
- package/dist/config.js +87 -22
- package/dist/config.js.map +1 -1
- package/dist/dashboard-contract.d.ts +38 -0
- package/dist/dashboard-contract.js +19 -3
- package/dist/dashboard-contract.js.map +1 -1
- package/dist/dispatch-lane-stats.d.ts +33 -4
- package/dist/dispatch-lane-stats.js +65 -16
- package/dist/dispatch-lane-stats.js.map +1 -1
- package/dist/dispatch.d.ts +9 -0
- package/dist/dispatch.js +36 -4
- package/dist/dispatch.js.map +1 -1
- package/dist/key-checker.d.ts +21 -1
- package/dist/key-checker.js +38 -12
- package/dist/key-checker.js.map +1 -1
- package/dist/lane-affinity.d.ts +94 -1
- package/dist/lane-affinity.js +52 -4
- package/dist/lane-affinity.js.map +1 -1
- package/dist/mcp/lane-runner.d.ts +69 -16
- package/dist/mcp/lane-runner.js +30 -1
- package/dist/mcp/lane-runner.js.map +1 -1
- package/dist/mcp/server.d.ts +39 -4
- package/dist/mcp/server.js +70 -13
- package/dist/mcp/server.js.map +1 -1
- package/dist/openai-request.d.ts +21 -0
- package/dist/openai-request.js +1 -1
- package/dist/openai-request.js.map +1 -1
- package/dist/ping/cadence.js +9 -1
- package/dist/ping/cadence.js.map +1 -1
- package/dist/ping/probe-cache.d.ts +13 -0
- package/dist/ping/probe-cache.js +12 -0
- package/dist/ping/probe-cache.js.map +1 -1
- package/dist/responses-request.d.ts +20 -0
- package/dist/responses-request.js +7 -7
- package/dist/responses-request.js.map +1 -1
- package/dist/routes/admin.d.ts +8 -1
- package/dist/routes/admin.js +42 -6
- package/dist/routes/admin.js.map +1 -1
- package/dist/routes/messages.d.ts +1 -0
- package/dist/routes/messages.js +13 -8
- package/dist/routes/messages.js.map +1 -1
- package/dist/routes/openai-front.js +20 -7
- package/dist/routes/openai-front.js.map +1 -1
- package/dist/server.d.ts +9 -1
- package/dist/server.js +21 -3
- package/dist/server.js.map +1 -1
- package/dist/setup-claude.d.ts +2 -2
- package/dist/setup-claude.js +9 -7
- package/dist/setup-claude.js.map +1 -1
- package/dist/stream-pipeline.d.ts +116 -0
- package/dist/stream-pipeline.js +151 -0
- package/dist/stream-pipeline.js.map +1 -1
- package/dist/target-facts.d.ts +5 -4
- package/dist/target-facts.js +5 -0
- package/dist/target-facts.js.map +1 -1
- package/dist/telemetry.d.ts +15 -2
- package/dist/telemetry.js +4 -1
- package/dist/telemetry.js.map +1 -1
- package/dist/tier-data.d.ts +22 -0
- package/dist/tier-data.js +12 -2
- package/dist/tier-data.js.map +1 -1
- package/package.json +2 -1
- package/skills/llm-relay/SKILL.md +8 -3
- package/skills/llm-relay/references/dispatch-lanes.md +2 -1
- package/skills/llm-relay/references/operations.md +1 -1
package/dist/backend.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
*/
|
|
24
24
|
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
25
25
|
import type { Config, ResolvedTarget } from "./config.js";
|
|
26
|
+
import type { ProbationConfig } from "./config-types.js";
|
|
26
27
|
import type { ModelLimits } from "./catalog.js";
|
|
27
28
|
import { type ErrorOrigin, type PostHeaderBodyFailure } from "./backend.js";
|
|
28
29
|
import { type StickySessionManager } from "./session-pin.js";
|
|
@@ -43,8 +44,7 @@ import type { HedgeDelayDecision } from "./hedge-trigger.js";
|
|
|
43
44
|
import { type Settled } from "./hedge-race.js";
|
|
44
45
|
import { type HardCapVerdict } from "./hard-cap.js";
|
|
45
46
|
import { materializeScope, type Interpretation } from "./refusal-interpretation.js";
|
|
46
|
-
import type {
|
|
47
|
-
export declare const MID_STREAM_ERROR_KIND = "backend_stream_failed";
|
|
47
|
+
import type { AttemptFailed, AttemptHandle, OutcomeProvenance, ProviderTargetIdentity } from "./kernel/contracts.js";
|
|
48
48
|
export declare function toolUseIdRewriteField(source: Response): {
|
|
49
49
|
toolUseIdRewrites?: number;
|
|
50
50
|
toolCallIdRewrites?: number;
|
|
@@ -62,9 +62,8 @@ export interface StickyRequestContext {
|
|
|
62
62
|
/** The previously stored pin's routing evaluation; null means a new pin may be created. */
|
|
63
63
|
provenance: string | null;
|
|
64
64
|
}
|
|
65
|
-
export type TargetUsability = "live" | "slow" | "credential-fault" | "cooling";
|
|
66
|
-
|
|
67
|
-
export type OutcomeClass = "ok" | "retriable" | "credential" | "client";
|
|
65
|
+
export type TargetUsability = "live" | "slow" | "credential-fault" | "cooling" | "probation";
|
|
66
|
+
type OutcomeClass = "ok" | "retriable" | "credential" | "client";
|
|
68
67
|
export declare const DEFAULT_WALK_BUDGET_MS = 45000;
|
|
69
68
|
export declare const DEFAULT_STALL_TIMEOUT_MS = 90000;
|
|
70
69
|
export interface CandidateRunnerHandlers {
|
|
@@ -74,8 +73,15 @@ export interface CandidateRunnerHandlers {
|
|
|
74
73
|
hedgeDelay: (attempt: ResolvedAttempt, estimatedInputTokens: number) => HedgeDelayDecision | null;
|
|
75
74
|
modelCallRecorder?: ModelCallRecorder;
|
|
76
75
|
stickySessions?: StickySessionManager;
|
|
76
|
+
/**
|
|
77
|
+
* Untested-free-members-first probation (`routing.probation`, default ON). Optional so
|
|
78
|
+
* hand-built handler literals in tests keep compiling — absent reads as "band unreachable",
|
|
79
|
+
* the pre-probation behaviour. The request path always sets it (see `createProxy`); a call
|
|
80
|
+
* site that omits it silently disables the band there.
|
|
81
|
+
*/
|
|
82
|
+
probation?: ProbationFn | null;
|
|
77
83
|
}
|
|
78
|
-
|
|
84
|
+
interface ServedAnnouncementContext {
|
|
79
85
|
readonly target: ResolvedTarget;
|
|
80
86
|
readonly retryAfterOverrideMs?: number | null | undefined;
|
|
81
87
|
readonly poolSummary?: string | null | undefined;
|
|
@@ -85,27 +91,90 @@ export interface ServedAnnouncementContext {
|
|
|
85
91
|
readonly degraded?: string | null | undefined;
|
|
86
92
|
readonly quotaDemoted?: string | null | undefined;
|
|
87
93
|
readonly latencyDemoted?: string | null | undefined;
|
|
94
|
+
readonly probation?: string | null | undefined;
|
|
88
95
|
readonly hedged?: string | null | undefined;
|
|
89
96
|
readonly paid?: string | null | undefined;
|
|
90
97
|
readonly sticky?: StickyRequestContext | null | undefined;
|
|
91
98
|
}
|
|
92
|
-
export declare function filterResponseHeaders(hh: Headers): Record<string, string | string[]>;
|
|
93
99
|
export declare function responseHeadersForTarget(backendRes: Response, ctx: ServedAnnouncementContext): Record<string, string | string[]>;
|
|
94
|
-
export declare function endMidStreamFailure(res: ServerResponse, errorFrame: string | null, message: string): void;
|
|
95
|
-
export declare function midStreamMessage(e: unknown): string;
|
|
96
100
|
export declare function handleMidStreamError(res: ServerResponse, e: unknown, started: number, path: string, hadTools: boolean, streamed: boolean, backendStatus: number, target: ResolvedTarget, attempt: HealthAttempt | undefined, h: {
|
|
97
101
|
logger: MetadataLogger;
|
|
98
102
|
breaker: CircuitBreaker;
|
|
99
|
-
}, errorFrameBuilder: (msg: string) => string | null, reportedModelSource?: Response, deadlineAborted?: boolean, committed?: boolean): void;
|
|
103
|
+
}, errorFrameBuilder: (msg: string) => string | null, reportedModelSource?: Response, deadlineAborted?: boolean, committed?: boolean, signal?: AbortSignal): void;
|
|
100
104
|
export declare function paidLabel(cfg: Config, h: {
|
|
101
105
|
catalog: {
|
|
102
106
|
cachedLimits: (p: string, m: string) => ModelLimits | null | undefined;
|
|
103
107
|
};
|
|
104
108
|
}, target: ResolvedTarget): string | null;
|
|
105
109
|
export declare function degradedLabel(pool: string | null, degraded: Set<string> | null, target: ResolvedTarget): string | null;
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
110
|
+
/**
|
|
111
|
+
* Minimum SERVED-REQUEST samples before a free deployment counts as measured.
|
|
112
|
+
*
|
|
113
|
+
* Five is the smallest count for which a sample window is not simply "the last couple of
|
|
114
|
+
* requests" — the same standing rule that keeps `latency-demotion.ts` from acting on one
|
|
115
|
+
* request's latency.
|
|
116
|
+
*/
|
|
117
|
+
export declare const DEFAULT_PROBATION_MIN_SAMPLES = 5;
|
|
118
|
+
/** One probation verdict — the smallest honest statement of "why this cell leads the walk". */
|
|
119
|
+
export interface ProbationVerdict {
|
|
120
|
+
/** Served-request samples behind the verdict. Always below `minSamples`. */
|
|
121
|
+
readonly samples: number;
|
|
122
|
+
/** The floor it has not reached yet. */
|
|
123
|
+
readonly minSamples: number;
|
|
124
|
+
}
|
|
125
|
+
export type ProbationFn = (attempt: ResolvedAttempt, now: number) => ProbationVerdict | null;
|
|
126
|
+
/**
|
|
127
|
+
* How the probation check reads its two facts.
|
|
128
|
+
*
|
|
129
|
+
* ⚠ A plain reader, NOT the probe cache. Keeping the seam narrow is what lets this check stay
|
|
130
|
+
* pure and testable — the server passes `countRequestSamples` from `ping/probe-cache.ts`, the
|
|
131
|
+
* suite passes a stub. Probe samples never reach the reader's answer: the count is
|
|
132
|
+
* served-request samples only, which is what distinguishes "this deployment served traffic"
|
|
133
|
+
* from "a probe found it alive".
|
|
134
|
+
*/
|
|
135
|
+
export interface ProbationDeps {
|
|
136
|
+
readonly readRequestSamples: (provider: string, model: string) => number;
|
|
137
|
+
/**
|
|
138
|
+
* ⚠ The SHAPE is owned by `config-types.ts` (`ProbationConfig`) and imported, never
|
|
139
|
+
* re-declared here — the same rule `latency-demotion.ts` follows for its own settings.
|
|
140
|
+
* `config/routing-parser.ts` normalizes the boolean shorthand away, so this check never has
|
|
141
|
+
* to decide what `false` means.
|
|
142
|
+
*/
|
|
143
|
+
readonly settings?: ProbationConfig | undefined;
|
|
144
|
+
/** Free-ness comes from the caller's cost assessment (`assessCost`), never a second opinion. */
|
|
145
|
+
readonly costClassOf?: CostClassFn | null | undefined;
|
|
146
|
+
}
|
|
147
|
+
/** Resolve the knobs once. Absent, or an empty object, means every default — which is ON. */
|
|
148
|
+
export declare function resolveProbationSettings(settings: ProbationConfig | undefined): {
|
|
149
|
+
enabled: boolean;
|
|
150
|
+
minSamples: number;
|
|
151
|
+
};
|
|
152
|
+
export declare function resolveProbation(deps: ProbationDeps, attempt: ResolvedAttempt): ProbationVerdict | null;
|
|
153
|
+
/**
|
|
154
|
+
* Build the request-path evaluator. The wrapper is the safety seam: NOTHING inside may throw
|
|
155
|
+
* into the request path, and a failure degrades to "no opinion" — the pre-probation behaviour
|
|
156
|
+
* — rather than to a refused request. Deliberately silent: routing hints are not log-worthy
|
|
157
|
+
* events.
|
|
158
|
+
*/
|
|
159
|
+
export declare function createProbationFn(deps: ProbationDeps): ProbationFn;
|
|
160
|
+
/**
|
|
161
|
+
* `"<spec> (0 of 5 request samples)"` — bounded, metadata only: a spec and a count, never a
|
|
162
|
+
* prompt, a credential or an id.
|
|
163
|
+
*/
|
|
164
|
+
export declare function probationLabel(spec: string, verdict: ProbationVerdict): string;
|
|
165
|
+
/**
|
|
166
|
+
* The probation announcement for the candidate that actually SERVED the response, or null.
|
|
167
|
+
*
|
|
168
|
+
* ⚠ Evaluated against the SERVING attempt at response time, not against the walk leader at
|
|
169
|
+
* routing time: a probation leader that 429s fails over to a live member, and that response
|
|
170
|
+
* must NOT carry the header — its serving candidate was never placed by the band. Both fronts
|
|
171
|
+
* call this with their serving attempt and hand the string to `ServedAnnouncementContext`;
|
|
172
|
+
* the header itself is written only by `responseHeadersForTarget`, the one owner.
|
|
173
|
+
*/
|
|
174
|
+
export declare function probationLabelForAttempt(h: {
|
|
175
|
+
probation?: ProbationFn | null;
|
|
176
|
+
}, attempt: ResolvedAttempt, now: number): string | null;
|
|
177
|
+
export declare function targetUsability(attempt: ResolvedAttempt, breaker: CircuitBreaker, now: number, quotaDemotion?: QuotaDemotionFn | null, costClassOf?: CostClassFn | null, latencyDemotion?: LatencyDemotionFn | null, probation?: ProbationFn | null): TargetUsability;
|
|
109
178
|
export declare function expandCredentialAttempts(targets: readonly ResolvedTarget[]): ResolvedAttempt[];
|
|
110
179
|
export declare function credentialEvidence(attempt: ResolvedAttempt, cfg: Config, breaker: CircuitBreaker, now: number): {
|
|
111
180
|
facts: {
|
|
@@ -122,8 +191,7 @@ export declare function credentialEvidence(attempt: ResolvedAttempt, cfg: Config
|
|
|
122
191
|
quota: QuotaObservation[];
|
|
123
192
|
cost: "free" | "unknown" | "paid";
|
|
124
193
|
};
|
|
125
|
-
export declare function
|
|
126
|
-
export declare function orderDeploymentGroupsByUsability(attempts: readonly ResolvedAttempt[], breaker: CircuitBreaker, now: number, quotaDemotion?: QuotaDemotionFn | null, costClassOf?: CostClassFn | null, latencyDemotion?: LatencyDemotionFn | null): {
|
|
194
|
+
export declare function orderDeploymentGroupsByUsability(attempts: readonly ResolvedAttempt[], breaker: CircuitBreaker, now: number, quotaDemotion?: QuotaDemotionFn | null, costClassOf?: CostClassFn | null, latencyDemotion?: LatencyDemotionFn | null, probation?: ProbationFn | null): {
|
|
127
195
|
ordered: ResolvedAttempt[];
|
|
128
196
|
quotaDemotedFirst: string | null;
|
|
129
197
|
latencyDemotedFirst: string | null;
|
|
@@ -136,7 +204,6 @@ export declare class CredentialAttemptTrace {
|
|
|
136
204
|
record(attempt: ResolvedAttempt, outcome: CredentialWalkOutcome): void;
|
|
137
205
|
headers(servedAttempt?: ResolvedAttempt): Record<string, string>;
|
|
138
206
|
}
|
|
139
|
-
export declare function credentialAttemptLabel(outcome: CredentialWalkOutcome | undefined): CredentialAttemptLabel;
|
|
140
207
|
export declare function recordCredentialStarted(walk: CredentialWalk, trace: CredentialAttemptTrace, attempt: ResolvedAttempt): void;
|
|
141
208
|
export declare function recordCredentialOutcome(walk: CredentialWalk, trace: CredentialAttemptTrace, attempt: ResolvedAttempt, outcome: CredentialWalkOutcome): void;
|
|
142
209
|
export declare function nextUncappedAttempt(h: {
|
|
@@ -152,14 +219,41 @@ export interface AttemptRun {
|
|
|
152
219
|
readonly usage: UsageAccumulator;
|
|
153
220
|
attempt: HealthAttempt | undefined;
|
|
154
221
|
egressCallbackCalled: boolean;
|
|
222
|
+
/**
|
|
223
|
+
* The `fetch` this attempt's egress MUST use — both fronts' `startAttempt` pass this as
|
|
224
|
+
* `fetchBackend`'s / `fetchOpenAiFront`'s third argument. Plain `fetch` unless a first-byte
|
|
225
|
+
* deadline is armed below, in which case it wraps `fetch` to clear `firstByteTimer` the instant
|
|
226
|
+
* the underlying HTTP call resolves — headers arrived — which is BEFORE `fetchBackend()` /
|
|
227
|
+
* `fetchOpenAiFront()` finish reading a buffered body or preflighting a stream. That earlier
|
|
228
|
+
* moment is the only place "first byte" can be observed; the OUTER promise those two functions
|
|
229
|
+
* return already reflects the full non-streamed body read.
|
|
230
|
+
*/
|
|
231
|
+
fetchFn: typeof fetch;
|
|
232
|
+
/**
|
|
233
|
+
* Armed only for a non-streamed attempt whose target resolved a `firstByteTimeoutMs`
|
|
234
|
+
* (`ResolvedTarget.firstByteTimeoutMs`) — never for a streamed one, which already has
|
|
235
|
+
* `stallTimeoutMs`'s inter-byte watchdog once its own head is being served. Cleared by
|
|
236
|
+
* `fetchFn` above the moment the raw `fetch()` resolves; the total `timer` above then governs
|
|
237
|
+
* the body read exactly as before this existed. `undefined` when no first-byte deadline applies.
|
|
238
|
+
*/
|
|
239
|
+
firstByteTimer?: ReturnType<typeof setTimeout> | undefined;
|
|
240
|
+
/**
|
|
241
|
+
* Set by the first-byte timer's own callback, before it aborts `controller` — the SAME
|
|
242
|
+
* controller the total-deadline `timer` above aborts, so a caller reading
|
|
243
|
+
* `controller.signal.aborted` alone cannot tell which deadline fired. The metadata-only log
|
|
244
|
+
* distinction (`first-byte deadline <n>ms`, never a new outcome kind) reads this flag.
|
|
245
|
+
*/
|
|
246
|
+
firstByteTimedOut?: boolean;
|
|
247
|
+
/** The first-byte deadline that fired, carried only for the log's reason string above. */
|
|
248
|
+
firstByteTimeoutMs?: number;
|
|
155
249
|
}
|
|
156
|
-
export declare function beginAttemptRun(res: ServerResponse, offer: ResolvedAttempt): AttemptRun;
|
|
250
|
+
export declare function beginAttemptRun(res: ServerResponse, offer: ResolvedAttempt, wantsStream: boolean): AttemptRun;
|
|
157
251
|
export declare function releaseAttemptRun(res: ServerResponse, run: AttemptRun): void;
|
|
158
|
-
|
|
252
|
+
interface StartedAttempt {
|
|
159
253
|
readonly run: AttemptRun;
|
|
160
254
|
readonly promise: Promise<Response>;
|
|
161
255
|
}
|
|
162
|
-
|
|
256
|
+
interface HedgedAttemptDeps {
|
|
163
257
|
readonly h: CandidateRunnerHandlers;
|
|
164
258
|
readonly res: ServerResponse;
|
|
165
259
|
readonly walk: CredentialWalk;
|
|
@@ -170,14 +264,12 @@ export interface HedgedAttemptDeps {
|
|
|
170
264
|
readonly estimatedInputTokens: number;
|
|
171
265
|
startRun(offer: ResolvedAttempt): StartedAttempt | undefined;
|
|
172
266
|
}
|
|
173
|
-
|
|
267
|
+
interface HedgedAttemptResult {
|
|
174
268
|
readonly run: AttemptRun;
|
|
175
269
|
readonly settled: Settled<Response>;
|
|
176
270
|
readonly hedged: string | null;
|
|
177
271
|
}
|
|
178
|
-
|
|
179
|
-
export declare function walkWouldFailOver(response: Response): boolean;
|
|
180
|
-
export interface CommitProbeOptions {
|
|
272
|
+
interface CommitProbeOptions {
|
|
181
273
|
readonly protocol: StreamCommitProtocol;
|
|
182
274
|
/** Client cancellation wins races with EOF/read failures and must never start another target. */
|
|
183
275
|
readonly isCancelled: () => boolean;
|
|
@@ -220,8 +312,8 @@ export declare function attemptWon(settled: Settled<Response>): boolean;
|
|
|
220
312
|
export declare function hedgedLabel(primary: AttemptRun, hedge: AttemptRun, winner: "primary" | "hedge", decision: HedgeDelayDecision): string;
|
|
221
313
|
export declare function retireHedgeLoser(deps: HedgedAttemptDeps, loser: AttemptRun): void;
|
|
222
314
|
export declare function runAttemptWithHedge(primary: StartedAttempt, deps: HedgedAttemptDeps): Promise<HedgedAttemptResult>;
|
|
223
|
-
|
|
224
|
-
|
|
315
|
+
type WalkExitKind = "transport" | "post-header-body-failure" | "dead-stream";
|
|
316
|
+
interface WalkExitData {
|
|
225
317
|
kind: WalkExitKind;
|
|
226
318
|
message: string;
|
|
227
319
|
errorType?: string | undefined;
|
|
@@ -242,11 +334,10 @@ export declare function respondAllCapped(res: ServerResponse, h: {
|
|
|
242
334
|
hadTools: boolean;
|
|
243
335
|
streamed: boolean;
|
|
244
336
|
}, front: "anthropic" | "openai", tracker: Pool429Tracker, attempts: readonly RequestAttemptLog[]): void;
|
|
245
|
-
export declare function applyStickyOrdering(ordered: ResolvedAttempt[], pinnedSpec: string, breaker: CircuitBreaker, degraded: Set<string> | null, now: number, quotaDemotion?: QuotaDemotionFn | null, costClassOf?: CostClassFn | null, latencyDemotion?: LatencyDemotionFn | null): {
|
|
337
|
+
export declare function applyStickyOrdering(ordered: ResolvedAttempt[], pinnedSpec: string, breaker: CircuitBreaker, degraded: Set<string> | null, now: number, quotaDemotion?: QuotaDemotionFn | null, costClassOf?: CostClassFn | null, latencyDemotion?: LatencyDemotionFn | null, probation?: ProbationFn | null): {
|
|
246
338
|
targets: ResolvedAttempt[];
|
|
247
339
|
status: string;
|
|
248
340
|
};
|
|
249
|
-
export declare function stickyHeaderValue(sticky: StickyRequestContext | null | undefined, target: ResolvedTarget, status: number): string | null;
|
|
250
341
|
export declare function stickyProvenanceHeaders(sticky: StickyRequestContext | null | undefined): Record<string, string> | undefined;
|
|
251
342
|
export declare function recordStickySuccess(h: {
|
|
252
343
|
stickySessions?: StickySessionManager;
|
|
@@ -273,16 +364,25 @@ export declare function recordStickySuccess(h: {
|
|
|
273
364
|
* What forced the amendment: measured 2026-08-30, banding on breaker state ALONE walked a
|
|
274
365
|
* breaker-CLOSED member with a p95 of 70364 ms ahead of every cooling one, and single requests cost
|
|
275
366
|
* 120-123 s across 2-6 attempts.
|
|
367
|
+
*
|
|
368
|
+
* ⚠⚠ **AMENDED AGAIN BY OWNER DIRECTION 2026-09-09, same standing — do not "restore" it.** A
|
|
369
|
+
* free deployment with fewer than `minSamples` served-request samples now LEADS, in a
|
|
370
|
+
* `probation` band AHEAD of `live` (config order within the band), so one untested member at a
|
|
371
|
+
* time gathers data and leaves the band by itself as its request samples accumulate. Like the
|
|
372
|
+
* 2026-08-30 term this is a one-way placement, not a second ranking pass: fitness still decides
|
|
373
|
+
* the order everywhere else, nothing is dropped, and an unmeasured free primary is already
|
|
374
|
+
* hedged (`hedge-trigger.ts`: unmeasured IS hedged), so a probation member that hangs costs one
|
|
375
|
+
* hedge, not a timeout — no second mechanism is added here.
|
|
276
376
|
*/
|
|
277
|
-
export declare function orderByUsability(attempts: ResolvedAttempt[], breaker?: CircuitBreaker, now?: number, quotaDemotion?: QuotaDemotionFn | null, costClassOf?: CostClassFn | null, latencyDemotion?: LatencyDemotionFn | null): ResolvedAttempt[];
|
|
278
|
-
export declare function orderByUsabilityTracked(attempts: ResolvedAttempt[], breaker: CircuitBreaker, now: number, quotaDemotion?: QuotaDemotionFn | null, costClassOf?: CostClassFn | null, latencyDemotion?: LatencyDemotionFn | null): {
|
|
377
|
+
export declare function orderByUsability(attempts: ResolvedAttempt[], breaker?: CircuitBreaker, now?: number, quotaDemotion?: QuotaDemotionFn | null, costClassOf?: CostClassFn | null, latencyDemotion?: LatencyDemotionFn | null, probation?: ProbationFn | null): ResolvedAttempt[];
|
|
378
|
+
export declare function orderByUsabilityTracked(attempts: ResolvedAttempt[], breaker: CircuitBreaker, now: number, quotaDemotion?: QuotaDemotionFn | null, costClassOf?: CostClassFn | null, latencyDemotion?: LatencyDemotionFn | null, probation?: ProbationFn | null): {
|
|
279
379
|
ordered: ResolvedAttempt[];
|
|
280
380
|
quotaDemotedFirst: string | null;
|
|
281
381
|
latencyDemotedFirst: string | null;
|
|
282
382
|
};
|
|
283
383
|
/** What one HTTP status means to the walk: how to classify the outcome, and whether the body may
|
|
284
384
|
* carry an eligibility fact worth interpreting. */
|
|
285
|
-
|
|
385
|
+
interface StatusVerdict {
|
|
286
386
|
readonly outcome: OutcomeClass;
|
|
287
387
|
readonly carriesEligibilityFact: boolean;
|
|
288
388
|
}
|
|
@@ -343,9 +443,6 @@ export declare class Pool429Tracker {
|
|
|
343
443
|
summary(): string | null;
|
|
344
444
|
overrideMs(finalStatus: number, finalRetryAfterMs: number | null): number | undefined;
|
|
345
445
|
}
|
|
346
|
-
export declare function recordCall(h: {
|
|
347
|
-
modelCallRecorder?: ModelCallRecorder;
|
|
348
|
-
}, attempt: HealthAttempt, ok: boolean, completedAt: number): void;
|
|
349
446
|
export declare class RequestAttemptTrace {
|
|
350
447
|
private readonly entries;
|
|
351
448
|
record(target: ResolvedTarget, status: RequestAttemptStatus, started: number, completedAt: number): void;
|
|
@@ -370,16 +467,10 @@ export declare function targetIdentity(attempt: ResolvedAttempt): ProviderTarget
|
|
|
370
467
|
export declare function beginHealthAttempt(h: {
|
|
371
468
|
breaker: CircuitBreaker;
|
|
372
469
|
}, resolvedAttempt: ResolvedAttempt, started: number, trace: RequestAttemptTrace, usage: UsageAccumulator, accounting: RequestAccountingState | null): HealthAttempt | null;
|
|
373
|
-
|
|
374
|
-
export declare function observeContextLimit(status: number, target: ResolvedTarget, body: string): void;
|
|
375
|
-
export declare function observeMaxOutput(status: number, target: ResolvedTarget, body: string): void;
|
|
376
|
-
export declare function observeStatedRateLimits(attempt: HealthAttempt, observations: QuotaObservation[]): void;
|
|
377
|
-
export declare function observeRateLimit(attempt: ResolvedAttempt, status: number, body: string): void;
|
|
378
|
-
export type EligibilityObservation = {
|
|
470
|
+
type EligibilityObservation = {
|
|
379
471
|
readonly unknown: boolean;
|
|
380
472
|
readonly scope?: ReturnType<typeof materializeScope>;
|
|
381
473
|
};
|
|
382
|
-
export declare function refusalBodyCandidates(body: string): string[];
|
|
383
474
|
export declare function observeEligibility(attempt: ResolvedAttempt, status: number, retryAfterMs: number | null, body: string): EligibilityObservation;
|
|
384
475
|
export declare function freeOnlyApplies(rule: {
|
|
385
476
|
freeOnly?: boolean;
|
|
@@ -389,7 +480,7 @@ export declare function resolveReset(interpretation: Interpretation, headerMs: n
|
|
|
389
480
|
basis: FactResetBasis;
|
|
390
481
|
} | null;
|
|
391
482
|
export declare function carriesEligibilityFact(status: number): boolean;
|
|
392
|
-
|
|
483
|
+
type InspectedCandidateResponse = {
|
|
393
484
|
kind: "response";
|
|
394
485
|
response: Response;
|
|
395
486
|
eligibility: EligibilityObservation;
|
|
@@ -408,6 +499,7 @@ export declare function markAttemptCommitted(attempt: HealthAttempt | undefined)
|
|
|
408
499
|
export declare function completeAttemptSuccess(h: {
|
|
409
500
|
breaker: CircuitBreaker;
|
|
410
501
|
modelCallRecorder?: ModelCallRecorder;
|
|
502
|
+
costClassOf?: CostClassFn | null;
|
|
411
503
|
}, attempt: HealthAttempt, status: number): void;
|
|
412
504
|
export declare function completeAttemptFailure(h: {
|
|
413
505
|
breaker: CircuitBreaker;
|
|
@@ -423,16 +515,9 @@ export declare function completeAttemptCancelled(h: {
|
|
|
423
515
|
breaker: CircuitBreaker;
|
|
424
516
|
modelCallRecorder?: ModelCallRecorder;
|
|
425
517
|
}, attempt: HealthAttempt, reason: string | null): void;
|
|
426
|
-
|
|
427
|
-
breaker: CircuitBreaker;
|
|
428
|
-
modelCallRecorder?: ModelCallRecorder;
|
|
429
|
-
}, attempt: HealthAttempt, reason: string | null): void;
|
|
430
|
-
export declare function completeCancellation(h: {
|
|
431
|
-
breaker: CircuitBreaker;
|
|
432
|
-
modelCallRecorder?: ModelCallRecorder;
|
|
433
|
-
}, attempt: HealthAttempt, reason: string | null, cause: AttemptCancellationCause): void;
|
|
434
|
-
export type PostHeaderBodyDisposition = "cancelled" | "timeout" | "protocol";
|
|
518
|
+
type PostHeaderBodyDisposition = "cancelled" | "timeout" | "protocol";
|
|
435
519
|
export declare function completePostHeaderBodyFailure(h: {
|
|
436
520
|
breaker: CircuitBreaker;
|
|
437
521
|
modelCallRecorder?: ModelCallRecorder;
|
|
438
522
|
}, downstream: ServerResponse, signal: AbortSignal, attempt: HealthAttempt, credentialWalk: CredentialWalk, credentialTrace: CredentialAttemptTrace, resolvedAttempt: ResolvedAttempt): PostHeaderBodyDisposition;
|
|
523
|
+
export {};
|