llm-relay 0.80.0 → 0.82.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/backend.d.ts +43 -3
- package/dist/backend.js +0 -0
- package/dist/backend.js.map +1 -1
- package/dist/candidate-runner.d.ts +45 -9
- package/dist/candidate-runner.js +55 -22
- package/dist/candidate-runner.js.map +1 -1
- package/dist/catalog.d.ts +49 -0
- package/dist/catalog.js +18 -0
- package/dist/catalog.js.map +1 -1
- package/dist/circuit-breaker.d.ts +118 -1
- package/dist/circuit-breaker.js +96 -1
- package/dist/circuit-breaker.js.map +1 -1
- package/dist/cli.d.ts +3 -0
- package/dist/cli.js +23 -3
- package/dist/cli.js.map +1 -1
- package/dist/config/routing-parser.d.ts +1 -1
- package/dist/config/routing-parser.js +27 -1
- package/dist/config/routing-parser.js.map +1 -1
- package/dist/config-edit.js +70 -16
- package/dist/config-edit.js.map +1 -1
- package/dist/config-types.d.ts +62 -6
- package/dist/config-types.js +1 -1
- package/dist/config-types.js.map +1 -1
- package/dist/dashboard/.vite/manifest.json +2 -2
- package/dist/dashboard/assets/index-B2UQHoym.js +74 -0
- package/dist/dashboard/assets/index-DFEP3XPr.css +1 -0
- package/dist/dashboard/index.html +2 -2
- package/dist/dispatch-lane-stats.d.ts +59 -5
- package/dist/dispatch-lane-stats.js +96 -29
- package/dist/dispatch-lane-stats.js.map +1 -1
- package/dist/dispatch.d.ts +143 -1
- package/dist/dispatch.js +260 -98
- package/dist/dispatch.js.map +1 -1
- package/dist/lane-affinity.d.ts +8 -0
- package/dist/lane-affinity.js +10 -0
- package/dist/lane-affinity.js.map +1 -1
- package/dist/log.d.ts +16 -0
- package/dist/log.js +1 -0
- package/dist/log.js.map +1 -1
- package/dist/mcp/agy-quota-log.d.ts +37 -0
- package/dist/mcp/agy-quota-log.js +68 -0
- package/dist/mcp/agy-quota-log.js.map +1 -0
- package/dist/mcp/job-archive.d.ts +55 -0
- package/dist/mcp/job-archive.js +151 -0
- package/dist/mcp/job-archive.js.map +1 -0
- package/dist/mcp/lane-runner.d.ts +108 -5
- package/dist/mcp/lane-runner.js +93 -4
- package/dist/mcp/lane-runner.js.map +1 -1
- package/dist/mcp/readonly-boundary.d.ts +46 -0
- package/dist/mcp/readonly-boundary.js +119 -0
- package/dist/mcp/readonly-boundary.js.map +1 -1
- package/dist/mcp/server.d.ts +132 -8
- package/dist/mcp/server.js +267 -68
- package/dist/mcp/server.js.map +1 -1
- package/dist/openai-request.d.ts +8 -0
- package/dist/openai-request.js +33 -9
- package/dist/openai-request.js.map +1 -1
- package/dist/pacing.d.ts +125 -0
- package/dist/pacing.js +83 -0
- package/dist/pacing.js.map +1 -0
- package/dist/ping/cadence.d.ts +57 -0
- package/dist/ping/cadence.js +58 -0
- package/dist/ping/cadence.js.map +1 -1
- package/dist/refusal-interpretation.d.ts +24 -0
- package/dist/refusal-interpretation.js +10 -1
- package/dist/refusal-interpretation.js.map +1 -1
- package/dist/responses-request.d.ts +14 -1
- package/dist/responses-request.js +21 -4
- package/dist/responses-request.js.map +1 -1
- package/dist/routes/admin.d.ts +8 -0
- package/dist/routes/admin.js +122 -35
- package/dist/routes/admin.js.map +1 -1
- package/dist/routes/messages.d.ts +2 -0
- package/dist/routes/messages.js +7 -3
- package/dist/routes/messages.js.map +1 -1
- package/dist/routes/openai-front.d.ts +1 -0
- package/dist/routes/openai-front.js +7 -3
- package/dist/routes/openai-front.js.map +1 -1
- package/dist/server.d.ts +4 -0
- package/dist/server.js +28 -4
- package/dist/server.js.map +1 -1
- package/dist/setup-claude.d.ts +2 -2
- package/dist/setup-claude.js +3 -3
- package/dist/stream-commit.d.ts +65 -0
- package/dist/stream-commit.js +150 -8
- package/dist/stream-commit.js.map +1 -1
- package/dist/target-facts.js +3 -0
- package/dist/target-facts.js.map +1 -1
- package/dist/telemetry.d.ts +9 -1
- package/dist/telemetry.js +1 -1
- package/dist/telemetry.js.map +1 -1
- package/package.json +1 -1
- package/scripts/install-skill.mjs +2 -2
- package/skills/llm-relay/SKILL.md +5 -3
- package/skills/llm-relay/references/dispatch-lanes.md +8 -2
- package/dist/dashboard/assets/index-Bqtx14ES.css +0 -1
- package/dist/dashboard/assets/index-CetZdLCA.js +0 -74
|
@@ -44,7 +44,7 @@ export declare const DEFAULT_LANE_PROBE: LaneProbeSettings;
|
|
|
44
44
|
* common case finish inside ONE blocking call rather than degrading to a poll. Above, the recorded
|
|
45
45
|
* lane wall-clock window has a median of 111.5 s, so a much smaller budget would abandon lanes
|
|
46
46
|
* that were about to answer. 90 s sits under the ceiling and just under the median, which is the
|
|
47
|
-
* right side to err on: abandoning costs one wasted
|
|
47
|
+
* right side to err on: abandoning costs one wasted lane run, waiting costs the whole turn.
|
|
48
48
|
* ⚠ It is NOT a calibrated statistic and must not be quoted as one — the recorded window mixes
|
|
49
49
|
* several sessions' traffic, which is exactly why `docs/backlog.md` still carries the calibration
|
|
50
50
|
* as open work.
|
|
@@ -122,6 +122,27 @@ function parseProbation(raw) {
|
|
|
122
122
|
}
|
|
123
123
|
return out;
|
|
124
124
|
}
|
|
125
|
+
function parsePacing(raw) {
|
|
126
|
+
if (raw === undefined || raw === null)
|
|
127
|
+
return {};
|
|
128
|
+
if (typeof raw === "boolean")
|
|
129
|
+
return { enabled: raw };
|
|
130
|
+
if (typeof raw !== "object" || Array.isArray(raw)) {
|
|
131
|
+
throw new Error("config.routing.pacing must be an object or a boolean");
|
|
132
|
+
}
|
|
133
|
+
const value = raw;
|
|
134
|
+
for (const key of Object.keys(value)) {
|
|
135
|
+
if (key !== "enabled")
|
|
136
|
+
throw new Error(`config.routing.pacing has an unknown key "${key}"`);
|
|
137
|
+
}
|
|
138
|
+
const out = {};
|
|
139
|
+
if (value.enabled !== undefined) {
|
|
140
|
+
if (typeof value.enabled !== "boolean")
|
|
141
|
+
throw new Error("config.routing.pacing.enabled must be a boolean");
|
|
142
|
+
out.enabled = value.enabled;
|
|
143
|
+
}
|
|
144
|
+
return out;
|
|
145
|
+
}
|
|
125
146
|
function parseCrawl(raw) {
|
|
126
147
|
if (raw === undefined || raw === null)
|
|
127
148
|
return {};
|
|
@@ -172,6 +193,7 @@ export function parseRouting(raw, providers, overrideDefault, warnings = [], dis
|
|
|
172
193
|
routing.latency = optionalBlocks.latency;
|
|
173
194
|
routing.hedge = optionalBlocks.hedge;
|
|
174
195
|
routing.probation = optionalBlocks.probation;
|
|
196
|
+
routing.pacing = optionalBlocks.pacing;
|
|
175
197
|
routing.crawl = optionalBlocks.crawl;
|
|
176
198
|
routing.laneProbe = optionalBlocks.laneProbe;
|
|
177
199
|
routing.dispatchWalk = optionalBlocks.dispatchWalk;
|
|
@@ -277,6 +299,7 @@ export const DEFAULT_DISPATCH_WALK_OUTLIER = {
|
|
|
277
299
|
export const DEFAULT_DISPATCH_WALK = {
|
|
278
300
|
enabled: true,
|
|
279
301
|
attemptMs: 90_000,
|
|
302
|
+
agentAttemptMs: 600_000,
|
|
280
303
|
attemptQuantile: 0.8,
|
|
281
304
|
attemptMinSamples: 5,
|
|
282
305
|
maxLanes: 4,
|
|
@@ -293,7 +316,7 @@ function parseDispatchWalk(raw) {
|
|
|
293
316
|
throw new Error(`config.routing.dispatchWalk must be a boolean or an object`);
|
|
294
317
|
}
|
|
295
318
|
const o = raw;
|
|
296
|
-
const keys = ["enabled", "attemptMs", "attemptQuantile", "attemptMinSamples", "maxLanes", "pinMs", "demoteMs", "outlier"];
|
|
319
|
+
const keys = ["enabled", "attemptMs", "agentAttemptMs", "attemptQuantile", "attemptMinSamples", "maxLanes", "pinMs", "demoteMs", "outlier"];
|
|
297
320
|
for (const key of Object.keys(o)) {
|
|
298
321
|
if (!keys.includes(key)) {
|
|
299
322
|
throw new Error(`config.routing.dispatchWalk.${key} is not a recognized key (${keys.join(", ")})`);
|
|
@@ -313,6 +336,7 @@ function parseDispatchWalk(raw) {
|
|
|
313
336
|
return {
|
|
314
337
|
enabled: o.enabled ?? DEFAULT_DISPATCH_WALK.enabled,
|
|
315
338
|
attemptMs: bounded("attemptMs", o.attemptMs, DEFAULT_DISPATCH_WALK.attemptMs, 1_000, 3_600_000),
|
|
339
|
+
agentAttemptMs: bounded("agentAttemptMs", o.agentAttemptMs, DEFAULT_DISPATCH_WALK.agentAttemptMs, 1_000, 3_600_000),
|
|
316
340
|
attemptQuantile: (() => {
|
|
317
341
|
const v = o.attemptQuantile;
|
|
318
342
|
if (v === undefined)
|
|
@@ -523,6 +547,7 @@ function parseOptionalBlocks(r, warnings = []) {
|
|
|
523
547
|
const latency = parseLatencyDemotion(r.latency);
|
|
524
548
|
const hedge = parseHedge(r.hedge);
|
|
525
549
|
const probation = parseProbation(r.probation);
|
|
550
|
+
const pacing = parsePacing(r.pacing);
|
|
526
551
|
const crawl = parseCrawl(r.crawl);
|
|
527
552
|
const laneProbe = parseLaneProbe(r.laneProbe);
|
|
528
553
|
const dispatchWalk = parseDispatchWalk(r.dispatchWalk);
|
|
@@ -533,6 +558,7 @@ function parseOptionalBlocks(r, warnings = []) {
|
|
|
533
558
|
latency,
|
|
534
559
|
hedge,
|
|
535
560
|
probation,
|
|
561
|
+
pacing,
|
|
536
562
|
crawl,
|
|
537
563
|
laneProbe,
|
|
538
564
|
dispatchWalk,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing-parser.js","sourceRoot":"","sources":["../../src/config/routing-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"routing-parser.js","sourceRoot":"","sources":["../../src/config/routing-parser.ts"],"names":[],"mappings":"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"}
|
package/dist/config-edit.js
CHANGED
|
@@ -41,6 +41,10 @@ export function parseConfigValue(value) {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
const FORBIDDEN_PATH_PARTS = new Set(["__proto__", "prototype", "constructor"]);
|
|
44
|
+
const ARRAY_INDEX_PART = /^(?:0|[1-9][0-9]*)$/;
|
|
45
|
+
function arrayIndexPart(part) {
|
|
46
|
+
return ARRAY_INDEX_PART.test(part) ? Number(part) : null;
|
|
47
|
+
}
|
|
44
48
|
export function parseConfigPath(path) {
|
|
45
49
|
const parts = path.split(".");
|
|
46
50
|
if (parts.length === 0 || parts.some((part) => part.length === 0 || FORBIDDEN_PATH_PARTS.has(part))) {
|
|
@@ -48,13 +52,52 @@ export function parseConfigPath(path) {
|
|
|
48
52
|
}
|
|
49
53
|
return parts;
|
|
50
54
|
}
|
|
55
|
+
function arrayIndexError(part, length, where) {
|
|
56
|
+
return new Error(`${where}: index ${part} is out of range for an array of length ${length}`);
|
|
57
|
+
}
|
|
58
|
+
const MISSING = Symbol("missing");
|
|
59
|
+
function descend(current, part) {
|
|
60
|
+
if (Array.isArray(current)) {
|
|
61
|
+
const index = arrayIndexPart(part);
|
|
62
|
+
return index === null || index >= current.length ? MISSING : current[index];
|
|
63
|
+
}
|
|
64
|
+
if (typeof current === "object" && current !== null) {
|
|
65
|
+
const record = current;
|
|
66
|
+
return part in record ? record[part] : MISSING;
|
|
67
|
+
}
|
|
68
|
+
return MISSING;
|
|
69
|
+
}
|
|
70
|
+
function descendForWrite(current, part, path) {
|
|
71
|
+
if (Array.isArray(current)) {
|
|
72
|
+
const index = arrayIndexPart(part);
|
|
73
|
+
if (index === null) {
|
|
74
|
+
throw new Error(`config path "${path}": "${part}" is not an index (the value at that path is an array of length ${current.length})`);
|
|
75
|
+
}
|
|
76
|
+
if (index >= current.length)
|
|
77
|
+
throw arrayIndexError(part, current.length, `config path "${path}"`);
|
|
78
|
+
return current[index];
|
|
79
|
+
}
|
|
80
|
+
if (typeof current !== "object" || current === null) {
|
|
81
|
+
throw new Error(`config path "${path}": cannot write through the non-object value at "${part}"`);
|
|
82
|
+
}
|
|
83
|
+
const record = current;
|
|
84
|
+
const existing = part in record ? record[part] : MISSING;
|
|
85
|
+
if (existing !== MISSING) {
|
|
86
|
+
if (typeof existing !== "object" || existing === null) {
|
|
87
|
+
throw new Error(`config path "${path}": cannot write through the non-object value at "${part}"`);
|
|
88
|
+
}
|
|
89
|
+
return existing;
|
|
90
|
+
}
|
|
91
|
+
const next = {};
|
|
92
|
+
record[part] = next;
|
|
93
|
+
return next;
|
|
94
|
+
}
|
|
51
95
|
export function readConfigPath(document, path) {
|
|
52
96
|
let current = document;
|
|
53
97
|
for (const part of parseConfigPath(path)) {
|
|
54
|
-
|
|
98
|
+
current = descend(current, part);
|
|
99
|
+
if (current === MISSING)
|
|
55
100
|
return undefined;
|
|
56
|
-
}
|
|
57
|
-
current = current[part];
|
|
58
101
|
}
|
|
59
102
|
return current;
|
|
60
103
|
}
|
|
@@ -62,32 +105,43 @@ export function writeConfigPath(document, path, value) {
|
|
|
62
105
|
const parts = parseConfigPath(path);
|
|
63
106
|
let current = document;
|
|
64
107
|
for (const part of parts.slice(0, -1)) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
current = next;
|
|
108
|
+
current = descendForWrite(current, part, path);
|
|
109
|
+
}
|
|
110
|
+
const last = parts[parts.length - 1];
|
|
111
|
+
if (Array.isArray(current)) {
|
|
112
|
+
const index = arrayIndexPart(last);
|
|
113
|
+
if (index === null) {
|
|
114
|
+
throw new Error(`config path "${path}": "${last}" is not an index (the value at that path is an array of length ${current.length})`);
|
|
73
115
|
}
|
|
116
|
+
if (index >= current.length)
|
|
117
|
+
throw arrayIndexError(last, current.length, `config path "${path}"`);
|
|
118
|
+
current[index] = value;
|
|
119
|
+
return;
|
|
74
120
|
}
|
|
75
|
-
current[
|
|
121
|
+
current[last] = value;
|
|
76
122
|
}
|
|
77
123
|
export function deleteConfigPath(document, path) {
|
|
78
124
|
const parts = parseConfigPath(path);
|
|
79
125
|
let current = document;
|
|
80
126
|
for (const part of parts.slice(0, -1)) {
|
|
81
|
-
|
|
127
|
+
current = descend(current, part);
|
|
128
|
+
if (current === MISSING)
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
const last = parts[parts.length - 1];
|
|
132
|
+
if (Array.isArray(current)) {
|
|
133
|
+
const index = arrayIndexPart(last);
|
|
134
|
+
if (index === null || index >= current.length)
|
|
82
135
|
return false;
|
|
83
|
-
|
|
136
|
+
delete current[index];
|
|
137
|
+
return true;
|
|
84
138
|
}
|
|
85
139
|
if (typeof current !== "object" || current === null)
|
|
86
140
|
return false;
|
|
87
141
|
const record = current;
|
|
88
|
-
if (!(
|
|
142
|
+
if (!(last in record))
|
|
89
143
|
return false;
|
|
90
|
-
delete record[
|
|
144
|
+
delete record[last];
|
|
91
145
|
return true;
|
|
92
146
|
}
|
|
93
147
|
//# sourceMappingURL=config-edit.js.map
|
package/dist/config-edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-edit.js","sourceRoot":"","sources":["../src/config-edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,KAAM,CAAW,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,6BAA6B,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,KAAuB,CAAC;AACjC,CAAC;AAQD,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,IAAwC;IACzF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEf,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,QAAQ,QAAQ,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACpH,IAAI,CAAC;QACH,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAC7C,UAAU,CAAC,SAAS,CAAC,CAAC;QAGtB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,UAAU,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;AACH,CAAC;AAGD,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAY,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"config-edit.js","sourceRoot":"","sources":["../src/config-edit.ts"],"names":[],"mappings":"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"}
|
package/dist/config-types.d.ts
CHANGED
|
@@ -352,6 +352,18 @@ export interface Routing {
|
|
|
352
352
|
* pre-probation behaviour exactly, byte for byte.
|
|
353
353
|
*/
|
|
354
354
|
probation?: ProbationConfig;
|
|
355
|
+
/**
|
|
356
|
+
* Self-pacing against a STATED rate limit (owner direction 2026-09-10, built 2026-09-15). **Default
|
|
357
|
+
* ON.** A cell whose provider-stated, operator-configured or LEARNED (`rate-limit-*` fact) ceiling
|
|
358
|
+
* the relay's own trailing-window attempt count has reached joins a `paced` band behind `live`
|
|
359
|
+
* and `slow`, so the next request goes elsewhere while the window drains. Counted from the
|
|
360
|
+
* breaker's per-cell attempt-start log, which every client routing through the relay feeds.
|
|
361
|
+
*
|
|
362
|
+
* Like latency and probation it only ever REORDERS — nothing is dropped, nothing is refused —
|
|
363
|
+
* and a limit nobody stated has no effect at all. `false` is the shorthand for
|
|
364
|
+
* `{ enabled: false }` and restores the pre-pacing order exactly, byte for byte.
|
|
365
|
+
*/
|
|
366
|
+
pacing?: PacingConfig;
|
|
355
367
|
/**
|
|
356
368
|
* Post-commit CRAWL abort (backlog item 18, built 2026-09-09 after
|
|
357
369
|
* `docs/post-commit-stall-measurement-2026-09-09.md` measured that both Claude Code and Codex
|
|
@@ -552,6 +564,32 @@ export interface ProbationConfig {
|
|
|
552
564
|
/** Minimum SERVED-REQUEST samples before a free deployment counts as measured. Default 5. */
|
|
553
565
|
minSamples?: number;
|
|
554
566
|
}
|
|
567
|
+
/**
|
|
568
|
+
* `routing.pacing` — hold the relay's OWN request rate under a ceiling a deployment stated
|
|
569
|
+
* (owner direction 2026-09-10: *"use rate-limited messages to calculate when it might need to
|
|
570
|
+
* slow something down"*; built 2026-09-15, `src/pacing.ts`).
|
|
571
|
+
*
|
|
572
|
+
* **Default ON.** For each credential×model cell, every (axis, period) bucket carrying a stated
|
|
573
|
+
* ceiling — a provider-stated quota header's `limit`, an operator-declared `limits` figure, or a
|
|
574
|
+
* LEARNED `rate-limit-rpm|rpd|tpm|tpd` fact parsed from a 429 body — is held against the
|
|
575
|
+
* attempts this relay itself started in the trailing window of that period (a sliding window
|
|
576
|
+
* over the breaker's per-cell start log; tokens count the request's own input estimate). At or
|
|
577
|
+
* past the ceiling the cell joins a `paced` band behind `live` and `slow`, ahead of the failure
|
|
578
|
+
* bands, and leaves it by itself as the window drains. Breaker cooling, credential faults and
|
|
579
|
+
* quota demotion outrank it.
|
|
580
|
+
*
|
|
581
|
+
* ⚠ A learned ceiling PACES here without the `routing.quota.enforceLearned` opt-in — that is the
|
|
582
|
+
* owner's 2026-09-10 direction and the backlog property ("a 429 that states a window updates
|
|
583
|
+
* that pacing without a human verdict"). `routing.quota`'s own M2 gate is untouched: it governs
|
|
584
|
+
* the ALLOWANCE path (remaining ≤ 0 ⇒ cooling until reset), which is a different question.
|
|
585
|
+
*
|
|
586
|
+
* `false` is the documented shorthand for `{ enabled: false }` and restores the pre-pacing
|
|
587
|
+
* order exactly, byte for byte. An object with no keys is legal and means the defaults.
|
|
588
|
+
*/
|
|
589
|
+
export interface PacingConfig {
|
|
590
|
+
/** Default true. false disables the paced band entirely. */
|
|
591
|
+
enabled?: boolean;
|
|
592
|
+
}
|
|
555
593
|
/**
|
|
556
594
|
* `routing.crawl` — abort a COMMITTED stream whose sustained per-token output rate, over a FULL
|
|
557
595
|
* trailing window, is far worse than a deployment's own history supports (backlog item 18, built
|
|
@@ -812,8 +850,23 @@ export interface DispatchWalkSettings {
|
|
|
812
850
|
* ⚠ It is NOT the lane's own timeout. A rung's `--timeout` (2100 s on this machine's slowest
|
|
813
851
|
* rung) still bounds a lane the walk is content to wait for; this bounds how long the WALK
|
|
814
852
|
* waits before trying someone else.
|
|
853
|
+
*
|
|
854
|
+
* Since 2026-09-10 this is the floor for an ANSWER-mode call only; `agentAttemptMs` is the floor
|
|
855
|
+
* for an agent-mode lane.
|
|
815
856
|
*/
|
|
816
857
|
attemptMs: number;
|
|
858
|
+
/**
|
|
859
|
+
* The FLOOR of an agent-mode lane's walk budget, where `attemptMs` is the floor for an
|
|
860
|
+
* answer-mode call. Default 600000 (10 minutes).
|
|
861
|
+
*
|
|
862
|
+
* ⚠ Two floors because the two modes are two different populations
|
|
863
|
+
* (`docs/dispatch-giveup-diagnosis-2026-09-10.md` §3): an answer-mode call is one HTTP round trip
|
|
864
|
+
* that answers in seconds, while an agent-mode lane runs a whole tool loop for minutes. One floor
|
|
865
|
+
* fitted to both stopped every real agent task on `free-pool` at 90 s, because a burst of short
|
|
866
|
+
* answer-mode calls had set the lane's p80 to 39.5 s. Like `attemptMs` it is an operator budget,
|
|
867
|
+
* not a measurement; a lane's own history can only raise it.
|
|
868
|
+
*/
|
|
869
|
+
agentAttemptMs: number;
|
|
817
870
|
/**
|
|
818
871
|
* Which point of a lane's OWN recorded wall-clock history the budget sits at, when that lane has
|
|
819
872
|
* enough history to have one (`attemptMinSamples`). Default 0.8.
|
|
@@ -902,10 +955,13 @@ export interface McpSettings {
|
|
|
902
955
|
* Default `routing.mcp.maxWaitMs` — the longest one `dispatch` tool call blocks before handing
|
|
903
956
|
* back a job id to poll.
|
|
904
957
|
*
|
|
905
|
-
*
|
|
906
|
-
*
|
|
907
|
-
*
|
|
908
|
-
*
|
|
909
|
-
*
|
|
958
|
+
* It must end before the SHORTEST host limit, because above a host's limit the host fails the call
|
|
959
|
+
* AND loses the job handle. Two limits are measured on this machine: Claude Code fails an MCP call
|
|
960
|
+
* somewhere between 45 s and 100 s, and Codex's code-mode `exec` tool yields its script at 31.0 s
|
|
961
|
+
* with empty output ("Script running with cell ID N / Wall time 31.0 seconds"). The 2026-09-10
|
|
962
|
+
* transcript sweep counted 29 of 266 first Codex dispatch calls that lost their job id that way
|
|
963
|
+
* while this default was 40 s (`docs/dispatch-giveup-diagnosis-2026-09-10.md` §8). 25 s sits under
|
|
964
|
+
* both. The tool description names the config key rather than this figure, so an operator override
|
|
965
|
+
* never leaves the text stale.
|
|
910
966
|
*/
|
|
911
|
-
export declare const DEFAULT_MCP_MAX_WAIT_MS =
|
|
967
|
+
export declare const DEFAULT_MCP_MAX_WAIT_MS = 25000;
|
package/dist/config-types.js
CHANGED
|
@@ -2,5 +2,5 @@ export const EFFORT_LEVELS = ["low", "medium", "high", "xhigh"];
|
|
|
2
2
|
export const CLAUDE_TIER_NAMES = ["opus", "sonnet", "haiku", "fable"];
|
|
3
3
|
export const PROVIDER_WIRE_MODES = ["chat", "responses"];
|
|
4
4
|
export const CONFIGURED_LIMIT_AXES = ["rpm", "rpd", "tpm", "tpd"];
|
|
5
|
-
export const DEFAULT_MCP_MAX_WAIT_MS =
|
|
5
|
+
export const DEFAULT_MCP_MAX_WAIT_MS = 25_000;
|
|
6
6
|
//# sourceMappingURL=config-types.js.map
|
package/dist/config-types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-types.js","sourceRoot":"","sources":["../src/config-types.ts"],"names":[],"mappings":"AAyBA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAMzE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AAyH/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,WAAW,CAAU,CAAC;AAKlE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"config-types.js","sourceRoot":"","sources":["../src/config-types.ts"],"names":[],"mappings":"AAyBA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAMzE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AAyH/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,WAAW,CAAU,CAAC;AAKlE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AA40B3E,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC"}
|