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.
Files changed (97) hide show
  1. package/dist/backend.d.ts +43 -3
  2. package/dist/backend.js +0 -0
  3. package/dist/backend.js.map +1 -1
  4. package/dist/candidate-runner.d.ts +45 -9
  5. package/dist/candidate-runner.js +55 -22
  6. package/dist/candidate-runner.js.map +1 -1
  7. package/dist/catalog.d.ts +49 -0
  8. package/dist/catalog.js +18 -0
  9. package/dist/catalog.js.map +1 -1
  10. package/dist/circuit-breaker.d.ts +118 -1
  11. package/dist/circuit-breaker.js +96 -1
  12. package/dist/circuit-breaker.js.map +1 -1
  13. package/dist/cli.d.ts +3 -0
  14. package/dist/cli.js +23 -3
  15. package/dist/cli.js.map +1 -1
  16. package/dist/config/routing-parser.d.ts +1 -1
  17. package/dist/config/routing-parser.js +27 -1
  18. package/dist/config/routing-parser.js.map +1 -1
  19. package/dist/config-edit.js +70 -16
  20. package/dist/config-edit.js.map +1 -1
  21. package/dist/config-types.d.ts +62 -6
  22. package/dist/config-types.js +1 -1
  23. package/dist/config-types.js.map +1 -1
  24. package/dist/dashboard/.vite/manifest.json +2 -2
  25. package/dist/dashboard/assets/index-B2UQHoym.js +74 -0
  26. package/dist/dashboard/assets/index-DFEP3XPr.css +1 -0
  27. package/dist/dashboard/index.html +2 -2
  28. package/dist/dispatch-lane-stats.d.ts +59 -5
  29. package/dist/dispatch-lane-stats.js +96 -29
  30. package/dist/dispatch-lane-stats.js.map +1 -1
  31. package/dist/dispatch.d.ts +143 -1
  32. package/dist/dispatch.js +260 -98
  33. package/dist/dispatch.js.map +1 -1
  34. package/dist/lane-affinity.d.ts +8 -0
  35. package/dist/lane-affinity.js +10 -0
  36. package/dist/lane-affinity.js.map +1 -1
  37. package/dist/log.d.ts +16 -0
  38. package/dist/log.js +1 -0
  39. package/dist/log.js.map +1 -1
  40. package/dist/mcp/agy-quota-log.d.ts +37 -0
  41. package/dist/mcp/agy-quota-log.js +68 -0
  42. package/dist/mcp/agy-quota-log.js.map +1 -0
  43. package/dist/mcp/job-archive.d.ts +55 -0
  44. package/dist/mcp/job-archive.js +151 -0
  45. package/dist/mcp/job-archive.js.map +1 -0
  46. package/dist/mcp/lane-runner.d.ts +108 -5
  47. package/dist/mcp/lane-runner.js +93 -4
  48. package/dist/mcp/lane-runner.js.map +1 -1
  49. package/dist/mcp/readonly-boundary.d.ts +46 -0
  50. package/dist/mcp/readonly-boundary.js +119 -0
  51. package/dist/mcp/readonly-boundary.js.map +1 -1
  52. package/dist/mcp/server.d.ts +132 -8
  53. package/dist/mcp/server.js +267 -68
  54. package/dist/mcp/server.js.map +1 -1
  55. package/dist/openai-request.d.ts +8 -0
  56. package/dist/openai-request.js +33 -9
  57. package/dist/openai-request.js.map +1 -1
  58. package/dist/pacing.d.ts +125 -0
  59. package/dist/pacing.js +83 -0
  60. package/dist/pacing.js.map +1 -0
  61. package/dist/ping/cadence.d.ts +57 -0
  62. package/dist/ping/cadence.js +58 -0
  63. package/dist/ping/cadence.js.map +1 -1
  64. package/dist/refusal-interpretation.d.ts +24 -0
  65. package/dist/refusal-interpretation.js +10 -1
  66. package/dist/refusal-interpretation.js.map +1 -1
  67. package/dist/responses-request.d.ts +14 -1
  68. package/dist/responses-request.js +21 -4
  69. package/dist/responses-request.js.map +1 -1
  70. package/dist/routes/admin.d.ts +8 -0
  71. package/dist/routes/admin.js +122 -35
  72. package/dist/routes/admin.js.map +1 -1
  73. package/dist/routes/messages.d.ts +2 -0
  74. package/dist/routes/messages.js +7 -3
  75. package/dist/routes/messages.js.map +1 -1
  76. package/dist/routes/openai-front.d.ts +1 -0
  77. package/dist/routes/openai-front.js +7 -3
  78. package/dist/routes/openai-front.js.map +1 -1
  79. package/dist/server.d.ts +4 -0
  80. package/dist/server.js +28 -4
  81. package/dist/server.js.map +1 -1
  82. package/dist/setup-claude.d.ts +2 -2
  83. package/dist/setup-claude.js +3 -3
  84. package/dist/stream-commit.d.ts +65 -0
  85. package/dist/stream-commit.js +150 -8
  86. package/dist/stream-commit.js.map +1 -1
  87. package/dist/target-facts.js +3 -0
  88. package/dist/target-facts.js.map +1 -1
  89. package/dist/telemetry.d.ts +9 -1
  90. package/dist/telemetry.js +1 -1
  91. package/dist/telemetry.js.map +1 -1
  92. package/package.json +1 -1
  93. package/scripts/install-skill.mjs +2 -2
  94. package/skills/llm-relay/SKILL.md +5 -3
  95. package/skills/llm-relay/references/dispatch-lanes.md +8 -2
  96. package/dist/dashboard/assets/index-Bqtx14ES.css +0 -1
  97. package/dist/dashboard/assets/index-CetZdLCA.js +0 -74
@@ -34,6 +34,24 @@ const MAX_PING_HISTORY = 10;
34
34
  const CREDENTIAL_FAULT_TTL_MS = 300_000;
35
35
  const MIN_RETRY_AFTER_MS = 1_000;
36
36
  const MAX_RETRY_AFTER_MS = 900_000;
37
+ export const ATTEMPT_START_WINDOW_MS = 86_400_000;
38
+ export const MAX_ATTEMPT_STARTS = 10_000;
39
+ const PROBE_SUCCESS_ENDS_COOLDOWN = {
40
+ "default": true,
41
+ "escalation": true,
42
+ "retry-after": true,
43
+ "loopback": true,
44
+ "quota": false,
45
+ "elapsed": false,
46
+ };
47
+ const REPROBE_TARGETS_COOLDOWN = {
48
+ "default": true,
49
+ "escalation": true,
50
+ "retry-after": false,
51
+ "loopback": false,
52
+ "quota": false,
53
+ "elapsed": false,
54
+ };
37
55
  export const UNMEASURED_STABILITY = 50;
38
56
  function outcomeCode(outcome) {
39
57
  if (outcome.status === undefined)
@@ -83,6 +101,7 @@ const breakerHandleOwners = new WeakMap();
83
101
  export class CircuitBreaker {
84
102
  states = new Map();
85
103
  credentialInFlight = new Map();
104
+ attemptStarts = new Map();
86
105
  #owner = Object.freeze({});
87
106
  #generation = 1;
88
107
  #lifecycle = new AttemptLifecycle(this.#generation);
@@ -112,7 +131,7 @@ export class CircuitBreaker {
112
131
  this.states.set(key, state);
113
132
  return state;
114
133
  }
115
- beginAttempt(target) {
134
+ beginAttempt(target, start = {}) {
116
135
  const begun = this.#lifecycle.beginAttempt(target);
117
136
  if (!begun.ok)
118
137
  return begun;
@@ -123,8 +142,83 @@ export class CircuitBreaker {
123
142
  });
124
143
  this.credentialInFlight.set(target.credentialId, (this.credentialInFlight.get(target.credentialId) ?? 0) + 1);
125
144
  breakerHandleOwners.set(handle, this.#owner);
145
+ this.recordAttemptStart(target, start.at ?? Date.now(), start.estimatedInputTokens ?? null);
126
146
  return begun;
127
147
  }
148
+ recordAttemptStart(target, at, estimatedInputTokens) {
149
+ if (!Number.isFinite(at))
150
+ return;
151
+ const key = this.getKey(target);
152
+ let log = this.attemptStarts.get(key);
153
+ if (log === undefined) {
154
+ log = [];
155
+ this.attemptStarts.set(key, log);
156
+ }
157
+ const tokens = typeof estimatedInputTokens === "number" && Number.isFinite(estimatedInputTokens) && estimatedInputTokens >= 0
158
+ ? estimatedInputTokens
159
+ : null;
160
+ log.push({ at, estimatedInputTokens: tokens });
161
+ const floor = at - ATTEMPT_START_WINDOW_MS;
162
+ let drop = 0;
163
+ while (drop < log.length && log[drop].at < floor)
164
+ drop += 1;
165
+ const overflow = log.length - drop - MAX_ATTEMPT_STARTS;
166
+ if (overflow > 0)
167
+ drop += overflow;
168
+ if (drop > 0)
169
+ log.splice(0, drop);
170
+ }
171
+ attemptsInWindow(cell, windowMs, now) {
172
+ const log = this.attemptStarts.get(this.getKey(cell));
173
+ if (log === undefined || !Number.isFinite(windowMs) || windowMs <= 0) {
174
+ return { requests: 0, estimatedInputTokens: 0, saturated: false };
175
+ }
176
+ const since = now - windowMs;
177
+ let requests = 0;
178
+ let tokens = 0;
179
+ for (let i = log.length - 1; i >= 0; i -= 1) {
180
+ const start = log[i];
181
+ if (start.at <= since)
182
+ break;
183
+ if (start.at > now)
184
+ continue;
185
+ requests += 1;
186
+ if (tokens !== null)
187
+ tokens = start.estimatedInputTokens === null ? null : tokens + start.estimatedInputTokens;
188
+ }
189
+ const saturated = log.length >= MAX_ATTEMPT_STARTS && requests === log.length;
190
+ return { requests, estimatedInputTokens: tokens, saturated };
191
+ }
192
+ endRateLimitCooldown(cell, at = Date.now()) {
193
+ const state = this.states.get(this.getKey(cell));
194
+ if (state === undefined || state.cooldownUntil <= at)
195
+ return false;
196
+ if (state.lastStatus !== 429 || state.cooldownSource === null)
197
+ return false;
198
+ if (!PROBE_SUCCESS_ENDS_COOLDOWN[state.cooldownSource])
199
+ return false;
200
+ state.cooldownUntil = 0;
201
+ state.cooldownSource = null;
202
+ this.notifyStateChanged();
203
+ return true;
204
+ }
205
+ rateLimitCoolingCells(now = Date.now()) {
206
+ const out = [];
207
+ for (const state of this.states.values()) {
208
+ if (state.cooldownUntil <= now || state.lastStatus !== 429 || state.cooldownSource === null)
209
+ continue;
210
+ if (!REPROBE_TARGETS_COOLDOWN[state.cooldownSource])
211
+ continue;
212
+ out.push({
213
+ provider: state.target.provider,
214
+ model: state.target.model,
215
+ credentialId: state.target.credentialId,
216
+ cooldownUntil: state.cooldownUntil,
217
+ source: state.cooldownSource,
218
+ });
219
+ }
220
+ return out.sort((a, b) => a.cooldownUntil - b.cooldownUntil);
221
+ }
128
222
  observeHeaders(handle, observation) {
129
223
  const record = this.getAttemptRecord(handle);
130
224
  if (!record.ok)
@@ -530,6 +624,7 @@ export class CircuitBreaker {
530
624
  reset() {
531
625
  this.states.clear();
532
626
  this.credentialInFlight.clear();
627
+ this.attemptStarts.clear();
533
628
  this.#lifecycle.close();
534
629
  this.#generation += 1;
535
630
  this.#lifecycle = new AttemptLifecycle(this.#generation);
@@ -1 +1 @@
1
- {"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../src/circuit-breaker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../src/circuit-breaker.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  import { splitSpec, type Config } from "./config.js";
3
3
  import { type Candidate, type CandidateAvailability } from "./candidates.js";
4
4
  import { type DispatchView } from "./dispatch.js";
5
+ import { type DispatchMode } from "./dispatch-lane-stats.js";
5
6
  import type { DispatchedQuotaReport } from "./mcp/lane-runner.js";
6
7
  import type { DispatchedTelemetryReport } from "./dispatch-lane-stats.js";
7
8
  import { type AccountingStore } from "./accounting-store.js";
@@ -402,6 +403,8 @@ export declare function resolveDispatchView(opts: {
402
403
  tier?: string | undefined;
403
404
  lane?: string | undefined;
404
405
  client?: string | undefined;
406
+ mode?: DispatchMode | undefined;
407
+ model?: string | undefined;
405
408
  cfg?: Config;
406
409
  }): Promise<DispatchView>;
407
410
  /**
package/dist/cli.js CHANGED
@@ -14,11 +14,13 @@ import { CREDENTIAL_LABEL_PATTERN, makeCredentialId } from "./credential-id.js";
14
14
  import { providerCredentialSlots, slotAllowsModel } from "./credential-fleet.js";
15
15
  import { loadLaneManifest, rosterIsStale, verifyModel } from "./lane-manifest.js";
16
16
  import { probeLanes } from "./lane-probe.js";
17
- import { buildDispatch, allLadderRungs, normalizeCliCommand, restoreExhaustedRows, specContextWindow, CONTEXT_TOKEN, TASK_TOKEN, formatLaneStats, formatAttemptBudget } from "./dispatch.js";
17
+ import { buildDispatch, allLadderRungs, normalizeCliCommand, resolveLaneLauncherPath, restoreExhaustedRows, specContextWindow, CONTEXT_TOKEN, TASK_TOKEN, formatLaneStats, formatAttemptBudget } from "./dispatch.js";
18
18
  import { flushLaneAffinityPersistence, loadLaneAffinityRows, restoreLaneAffinityRows } from "./lane-affinity.js";
19
19
  import { flushDispatchLaneStatsPersistence, loadLaneStatsRows, restoreLaneStatsRows } from "./dispatch-lane-stats.js";
20
20
  import { McpDispatchServer } from "./mcp/server.js";
21
+ import { readAgyLog } from "./mcp/agy-quota-log.js";
21
22
  import { createJobJournal } from "./mcp/job-journal.js";
23
+ import { createJobArchive } from "./mcp/job-archive.js";
22
24
  import { flushDispatchExhaustionPersistence, loadExhaustedRows } from "./dispatch-exhaustion-persistence.js";
23
25
  import { detectHostRouting, parseHostRoutingState } from "./host-routing.js";
24
26
  import { contextWindowResolver, COST_CLASSES } from "./metadata.js";
@@ -1723,7 +1725,12 @@ export async function resolveDispatchView(opts) {
1723
1725
  qs.set("tier", opts.tier);
1724
1726
  if (opts.client)
1725
1727
  qs.set("client", opts.client);
1728
+ if (opts.mode)
1729
+ qs.set("mode", opts.mode);
1730
+ if (opts.model)
1731
+ qs.set("model", opts.model);
1726
1732
  qs.set("host", "bypassed");
1733
+ qs.set("requester", "mcp");
1727
1734
  const cachedContextWindow = setupDispatchCatalog(cfg);
1728
1735
  const liveRaw = (await tryServer(cfg, `/dispatch?${qs}`));
1729
1736
  const live = liveRaw !== null && liveRaw.host === "bypassed" ? liveRaw : null;
@@ -1739,10 +1746,13 @@ export async function resolveDispatchView(opts) {
1739
1746
  ...(opts.lane ? { lane: opts.lane } : {}),
1740
1747
  ...(opts.tier ? { tier: opts.tier } : {}),
1741
1748
  ...(opts.client ? { client: opts.client } : {}),
1749
+ ...(opts.mode ? { mode: opts.mode } : {}),
1750
+ ...(opts.model ? { model: opts.model } : {}),
1751
+ requester: "mcp",
1742
1752
  host: "bypassed",
1743
1753
  publishedContextWindow: cachedContextWindow,
1744
1754
  manifest: loadLaneManifest(),
1745
- }));
1755
+ }, process.platform, resolveLaneLauncherPath()));
1746
1756
  return substituteTaskInView({ ...fallbackView, source: "local-fallback" }, opts.task);
1747
1757
  }
1748
1758
  export async function runMcp() {
@@ -1753,9 +1763,19 @@ export async function runMcp() {
1753
1763
  buildView: (o) => resolveDispatchView({ ...o, cfg }),
1754
1764
  ...(allowedRoots ? { allowedRoots } : {}),
1755
1765
  version: currentVersion(),
1766
+ installedVersion: () => {
1767
+ try {
1768
+ return currentVersion();
1769
+ }
1770
+ catch {
1771
+ return null;
1772
+ }
1773
+ },
1774
+ readAgyLog: () => readAgyLog(),
1756
1775
  reportExhaustion: (report) => reportMcpExhaustion(cfg, report),
1757
1776
  reportTelemetry: (report) => { void reportMcpTelemetry(cfg, report); },
1758
1777
  journal: createJobJournal(),
1778
+ archive: createJobArchive(),
1759
1779
  write: (chunk) => process.stdout.write(chunk),
1760
1780
  });
1761
1781
  const stop = () => {
@@ -1864,7 +1884,7 @@ export async function runDispatch(arg) {
1864
1884
  ...(hostRouting.entrypoint ? { entrypoint: hostRouting.entrypoint } : {}),
1865
1885
  publishedContextWindow: cachedContextWindow,
1866
1886
  manifest: loadLaneManifest(),
1867
- }));
1887
+ }, process.platform, resolveLaneLauncherPath()));
1868
1888
  const view = substituteTaskInView(rawView, task);
1869
1889
  if (hasFlag("--json")) {
1870
1890
  process.stdout.write(JSON.stringify(view, null, 2) + "\n");