llm-relay 0.74.0 → 0.76.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/cli.js CHANGED
@@ -14,8 +14,9 @@ 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 } from "./dispatch.js";
17
+ import { buildDispatch, allLadderRungs, normalizeCliCommand, restoreExhaustedRows, specContextWindow, CONTEXT_TOKEN, TASK_TOKEN, formatLaneStats, formatAttemptBudget } from "./dispatch.js";
18
18
  import { loadLaneAffinityRows, restoreLaneAffinityRows } from "./lane-affinity.js";
19
+ import { loadLaneStatsRows, restoreLaneStatsRows } from "./dispatch-lane-stats.js";
19
20
  import { McpDispatchServer } from "./mcp/server.js";
20
21
  import { loadExhaustedRows } from "./dispatch-exhaustion-persistence.js";
21
22
  import { detectHostRouting, parseHostRoutingState } from "./host-routing.js";
@@ -1677,6 +1678,7 @@ export async function resolveDispatchView(opts) {
1677
1678
  const fallbackCfg = loadConfigSafely() ?? cfg;
1678
1679
  restoreExhaustedRows(fallbackCfg, loadExhaustedRows());
1679
1680
  restoreLaneAffinityRows(fallbackCfg, loadLaneAffinityRows());
1681
+ restoreLaneStatsRows(fallbackCfg, loadLaneStatsRows());
1680
1682
  const fallbackView = normalizeDispatchCommands(buildDispatch(fallbackCfg, {
1681
1683
  ...(opts.lane ? { lane: opts.lane } : {}),
1682
1684
  ...(opts.tier ? { tier: opts.tier } : {}),
@@ -1794,6 +1796,7 @@ export async function runDispatch(arg) {
1794
1796
  const live = staleProxy ? null : liveRaw;
1795
1797
  restoreExhaustedRows(cfg, loadExhaustedRows());
1796
1798
  restoreLaneAffinityRows(cfg, loadLaneAffinityRows());
1799
+ restoreLaneStatsRows(cfg, loadLaneStatsRows());
1797
1800
  const rawView = normalizeDispatchCommands(live ??
1798
1801
  buildDispatch(cfg, {
1799
1802
  ...(lane ? { lane } : {}),
@@ -1868,6 +1871,8 @@ export async function runDispatch(arg) {
1868
1871
  }
1869
1872
  if (l.note)
1870
1873
  process.stdout.write(` note: ${l.note}\n`);
1874
+ if (l.attemptBudget)
1875
+ process.stdout.write(` ${formatAttemptBudget(l.attemptBudget)}\n`);
1871
1876
  if (l.pinned)
1872
1877
  process.stdout.write(` pinned until ${l.pinned.until} (${l.pinned.reason})\n`);
1873
1878
  if (l.demoted)