llm-relay 0.77.1 → 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.
Files changed (90) hide show
  1. package/dist/accounting-store-schema.js +5 -6
  2. package/dist/accounting-store-schema.js.map +1 -1
  3. package/dist/accounting-store.d.ts +10 -0
  4. package/dist/accounting-store.js +60 -6
  5. package/dist/accounting-store.js.map +1 -1
  6. package/dist/backend/envelope-validator.d.ts +1 -1
  7. package/dist/backend/envelope-validator.js +89 -52
  8. package/dist/backend/envelope-validator.js.map +1 -1
  9. package/dist/backend/health-prober.js +3 -1
  10. package/dist/backend/health-prober.js.map +1 -1
  11. package/dist/backend.d.ts +48 -0
  12. package/dist/backend.js +831 -7
  13. package/dist/backend.js.map +1 -1
  14. package/dist/candidate-runner.d.ts +135 -50
  15. package/dist/candidate-runner.js +160 -55
  16. package/dist/candidate-runner.js.map +1 -1
  17. package/dist/cli.d.ts +24 -2
  18. package/dist/cli.js +122 -20
  19. package/dist/cli.js.map +1 -1
  20. package/dist/config/routing-parser.d.ts +5 -4
  21. package/dist/config/routing-parser.js +141 -9
  22. package/dist/config/routing-parser.js.map +1 -1
  23. package/dist/config-types.d.ts +202 -0
  24. package/dist/config-types.js +2 -0
  25. package/dist/config-types.js.map +1 -1
  26. package/dist/config.d.ts +45 -1
  27. package/dist/config.js +87 -22
  28. package/dist/config.js.map +1 -1
  29. package/dist/dashboard-contract.d.ts +38 -0
  30. package/dist/dashboard-contract.js +19 -3
  31. package/dist/dashboard-contract.js.map +1 -1
  32. package/dist/dispatch-lane-stats.d.ts +33 -4
  33. package/dist/dispatch-lane-stats.js +65 -16
  34. package/dist/dispatch-lane-stats.js.map +1 -1
  35. package/dist/dispatch.d.ts +9 -0
  36. package/dist/dispatch.js +36 -4
  37. package/dist/dispatch.js.map +1 -1
  38. package/dist/key-checker.d.ts +21 -1
  39. package/dist/key-checker.js +38 -12
  40. package/dist/key-checker.js.map +1 -1
  41. package/dist/lane-affinity.d.ts +94 -1
  42. package/dist/lane-affinity.js +52 -4
  43. package/dist/lane-affinity.js.map +1 -1
  44. package/dist/mcp/lane-runner.d.ts +69 -16
  45. package/dist/mcp/lane-runner.js +30 -1
  46. package/dist/mcp/lane-runner.js.map +1 -1
  47. package/dist/mcp/server.d.ts +39 -4
  48. package/dist/mcp/server.js +70 -13
  49. package/dist/mcp/server.js.map +1 -1
  50. package/dist/openai-request.d.ts +21 -0
  51. package/dist/openai-request.js +1 -1
  52. package/dist/openai-request.js.map +1 -1
  53. package/dist/ping/cadence.js +9 -1
  54. package/dist/ping/cadence.js.map +1 -1
  55. package/dist/ping/probe-cache.d.ts +13 -0
  56. package/dist/ping/probe-cache.js +12 -0
  57. package/dist/ping/probe-cache.js.map +1 -1
  58. package/dist/responses-request.d.ts +20 -0
  59. package/dist/responses-request.js +7 -7
  60. package/dist/responses-request.js.map +1 -1
  61. package/dist/routes/admin.d.ts +8 -1
  62. package/dist/routes/admin.js +42 -6
  63. package/dist/routes/admin.js.map +1 -1
  64. package/dist/routes/messages.d.ts +1 -0
  65. package/dist/routes/messages.js +13 -8
  66. package/dist/routes/messages.js.map +1 -1
  67. package/dist/routes/openai-front.js +20 -7
  68. package/dist/routes/openai-front.js.map +1 -1
  69. package/dist/server.d.ts +9 -1
  70. package/dist/server.js +21 -3
  71. package/dist/server.js.map +1 -1
  72. package/dist/setup-claude.d.ts +2 -2
  73. package/dist/setup-claude.js +9 -7
  74. package/dist/setup-claude.js.map +1 -1
  75. package/dist/stream-pipeline.d.ts +116 -0
  76. package/dist/stream-pipeline.js +151 -0
  77. package/dist/stream-pipeline.js.map +1 -1
  78. package/dist/target-facts.d.ts +5 -4
  79. package/dist/target-facts.js +5 -0
  80. package/dist/target-facts.js.map +1 -1
  81. package/dist/telemetry.d.ts +15 -2
  82. package/dist/telemetry.js +4 -1
  83. package/dist/telemetry.js.map +1 -1
  84. package/dist/tier-data.d.ts +22 -0
  85. package/dist/tier-data.js +12 -2
  86. package/dist/tier-data.js.map +1 -1
  87. package/package.json +2 -1
  88. package/skills/llm-relay/SKILL.md +8 -3
  89. package/skills/llm-relay/references/dispatch-lanes.md +2 -1
  90. package/skills/llm-relay/references/operations.md +1 -1
@@ -1,4 +1,7 @@
1
1
  import { TransformStream } from "node:stream/web";
2
+ import { isRecord } from "./json-shape.js";
3
+ import { estimateTokensFromCharacters } from "./metadata.js";
4
+ import { BufferedSseFrames, parseSseEvent } from "./sse-frames.js";
2
5
  export const BODY_TOO_LARGE_CODE = "ERR_DASHBOARD_BODY_TOO_LARGE";
3
6
  export function bodyReadStatus(error) {
4
7
  const code = typeof error === "object" && error !== null && "code" in error
@@ -125,6 +128,154 @@ export function withStallWatchdog(response, controller, stallTimeoutMs) {
125
128
  headers: response.headers,
126
129
  });
127
130
  }
131
+ export const DEFAULT_CRAWL_MS_PER_TOKEN = 1000;
132
+ export const DEFAULT_CRAWL_WINDOW_MS = 30_000;
133
+ export const DEFAULT_CRAWL_MIN_TOKENS = 20;
134
+ export function resolveCrawlSettings(raw) {
135
+ return {
136
+ enabled: raw?.enabled ?? true,
137
+ msPerToken: raw?.msPerToken ?? DEFAULT_CRAWL_MS_PER_TOKEN,
138
+ windowMs: raw?.windowMs ?? DEFAULT_CRAWL_WINDOW_MS,
139
+ minTokens: raw?.minTokens ?? DEFAULT_CRAWL_MIN_TOKENS,
140
+ };
141
+ }
142
+ export class CrawlAbortedError extends Error {
143
+ rateMsPerToken;
144
+ windowMs;
145
+ thresholdMsPerToken;
146
+ constructor(rateMsPerToken, windowMs, thresholdMsPerToken) {
147
+ super(`relay aborted a crawling stream: ${rateMsPerToken} ms/token over ${windowMs / 1000} s ` +
148
+ `(threshold ${thresholdMsPerToken})`);
149
+ this.rateMsPerToken = rateMsPerToken;
150
+ this.windowMs = windowMs;
151
+ this.thresholdMsPerToken = thresholdMsPerToken;
152
+ this.name = "CrawlAbortedError";
153
+ }
154
+ }
155
+ function deltaText(value) {
156
+ return typeof value === "string" ? value.length : 0;
157
+ }
158
+ function anthropicDeltaCharacters(data) {
159
+ if (data.type !== "content_block_delta" || !isRecord(data.delta))
160
+ return 0;
161
+ const delta = data.delta;
162
+ if (delta.type === "text_delta")
163
+ return deltaText(delta.text);
164
+ if (delta.type === "thinking_delta")
165
+ return deltaText(delta.thinking);
166
+ if (delta.type === "input_json_delta")
167
+ return deltaText(delta.partial_json);
168
+ return 0;
169
+ }
170
+ function openAiChatChoiceDeltaCharacters(choice) {
171
+ if (!isRecord(choice) || !isRecord(choice.delta))
172
+ return 0;
173
+ const delta = choice.delta;
174
+ let total = deltaText(delta.content);
175
+ const reasoning = typeof delta.reasoning_content === "string" && delta.reasoning_content.length > 0
176
+ ? delta.reasoning_content
177
+ : delta.reasoning;
178
+ total += deltaText(reasoning);
179
+ if (!Array.isArray(delta.tool_calls))
180
+ return total;
181
+ for (const call of delta.tool_calls) {
182
+ if (isRecord(call) && isRecord(call.function))
183
+ total += deltaText(call.function.arguments);
184
+ }
185
+ return total;
186
+ }
187
+ function openAiChatDeltaCharacters(data) {
188
+ if (!Array.isArray(data.choices))
189
+ return 0;
190
+ let total = 0;
191
+ for (const choice of data.choices)
192
+ total += openAiChatChoiceDeltaCharacters(choice);
193
+ return total;
194
+ }
195
+ const OPENAI_RESPONSES_TEXT_DELTA_TYPES = new Set([
196
+ "response.output_text.delta",
197
+ "response.refusal.delta",
198
+ "response.reasoning.delta",
199
+ "response.reasoning_text.delta",
200
+ ]);
201
+ function openAiResponsesDeltaCharacters(data) {
202
+ const type = typeof data.type === "string" ? data.type : "";
203
+ if (OPENAI_RESPONSES_TEXT_DELTA_TYPES.has(type)) {
204
+ const delta = deltaText(data.delta);
205
+ return delta > 0 ? delta : deltaText(data.text);
206
+ }
207
+ if (type === "response.function_call_arguments.delta")
208
+ return deltaText(data.delta);
209
+ return 0;
210
+ }
211
+ function deltaCharacters(protocol, data) {
212
+ if (protocol === "anthropic-messages")
213
+ return anthropicDeltaCharacters(data);
214
+ if (protocol === "openai-chat")
215
+ return openAiChatDeltaCharacters(data);
216
+ return openAiResponsesDeltaCharacters(data);
217
+ }
218
+ export function withCrawlWatchdog(response, controller, protocol, settings, now = Date.now) {
219
+ if (!settings.enabled)
220
+ return response;
221
+ const originalBody = response.body;
222
+ if (!originalBody)
223
+ return response;
224
+ const decoder = new TextDecoder();
225
+ const frames = new BufferedSseFrames();
226
+ const commitTime = now();
227
+ const samples = [];
228
+ let totalTokensSinceCommit = 0;
229
+ let tripped = false;
230
+ const transformStream = new TransformStream({
231
+ transform(chunk, streamController) {
232
+ streamController.enqueue(chunk);
233
+ if (tripped)
234
+ return;
235
+ try {
236
+ frames.append(decoder.decode(chunk, { stream: true }));
237
+ for (const { frame } of frames) {
238
+ const event = parseSseEvent(frame);
239
+ if (!event?.data)
240
+ continue;
241
+ const chars = deltaCharacters(protocol, event.data);
242
+ if (chars <= 0)
243
+ continue;
244
+ const tokens = estimateTokensFromCharacters(chars);
245
+ if (tokens > 0) {
246
+ const ts = now();
247
+ samples.push({ ts, tokens });
248
+ totalTokensSinceCommit += tokens;
249
+ }
250
+ }
251
+ }
252
+ catch {
253
+ }
254
+ if (totalTokensSinceCommit < settings.minTokens)
255
+ return;
256
+ const t = now();
257
+ const elapsed = t - commitTime;
258
+ if (elapsed < settings.windowMs)
259
+ return;
260
+ const windowStart = t - settings.windowMs;
261
+ while (samples.length > 0 && samples[0].ts < windowStart)
262
+ samples.shift();
263
+ const tokensInWindow = samples.reduce((sum, s) => sum + s.tokens, 0);
264
+ if (tokensInWindow === 0)
265
+ return;
266
+ const rate = settings.windowMs / tokensInWindow;
267
+ if (rate <= settings.msPerToken)
268
+ return;
269
+ tripped = true;
270
+ controller.abort(new CrawlAbortedError(Math.round(rate), settings.windowMs, settings.msPerToken));
271
+ },
272
+ });
273
+ return new Response(originalBody.pipeThrough(transformStream), {
274
+ status: response.status,
275
+ statusText: response.statusText,
276
+ headers: response.headers,
277
+ });
278
+ }
128
279
  export function failClosed(res, status, message, extraHeaders, errorType = "api_error") {
129
280
  if (res.headersSent) {
130
281
  if (!res.writableEnded)
@@ -1 +1 @@
1
- {"version":3,"file":"stream-pipeline.js","sourceRoot":"","sources":["../src/stream-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream-pipeline.js","sourceRoot":"","sources":["../src/stream-pipeline.ts"],"names":[],"mappings":"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"}
@@ -128,7 +128,7 @@ export declare function recordFact(kind: FactKind, scope: FactScope, opts?: {
128
128
  export declare function factsFor(provider: string, credentialId: CredentialId | null, model: string | null | undefined, opts?: {
129
129
  path?: string;
130
130
  now?: number;
131
- costClass?: CostClass;
131
+ costClass?: CostClass | undefined;
132
132
  }): Array<{
133
133
  kind: FactKind;
134
134
  scope: FactScope;
@@ -139,7 +139,7 @@ export declare function factsFor(provider: string, credentialId: CredentialId |
139
139
  export declare function isCostBlocked(provider: string, credentialId: CredentialId | null, model: string | null | undefined, opts?: {
140
140
  path?: string;
141
141
  now?: number;
142
- costClass?: CostClass;
142
+ costClass?: CostClass | undefined;
143
143
  }): boolean;
144
144
  /**
145
145
  * True only when EVERY enabled credential slot for this provider is cost-blocked.
@@ -148,17 +148,18 @@ export declare function isCostBlocked(provider: string, credentialId: Credential
148
148
  export declare function isCostBlockedForEverySlot(provider: string, model: string | null | undefined, cfg: Pick<Config, "providers">, opts?: {
149
149
  path?: string;
150
150
  now?: number;
151
- costClass?: CostClass;
151
+ costClass?: CostClass | undefined;
152
152
  }): boolean;
153
153
  export declare function cooldownUntil(provider: string, credentialId: CredentialId | null, model: string | null | undefined, opts?: {
154
154
  path?: string;
155
155
  now?: number;
156
- costClass?: CostClass;
156
+ costClass?: CostClass | undefined;
157
157
  }): number | null;
158
158
  /** A success retracts conditions covering this credential/model cell, never measurements. */
159
159
  export declare function clearFacts(provider: string, credentialId: CredentialId | null, model: string | null | undefined, opts?: {
160
160
  path?: string;
161
161
  now?: number;
162
+ costClass?: CostClass | undefined;
162
163
  }): FactKind[];
163
164
  /** Operator retraction of active cooling conditions only; never success evidence or eviction. */
164
165
  export declare function clearCooldownFacts(selector: CooldownFactClearSelector, opts?: {
@@ -272,6 +272,7 @@ export function cooldownUntil(provider, credentialId, model, opts = {}) {
272
272
  export function clearFacts(provider, credentialId, model, opts = {}) {
273
273
  const path = opts.path ?? defaultPath();
274
274
  const now = opts.now ?? Date.now();
275
+ const costClass = opts.costClass;
275
276
  const m = typeof model === "string" ? model : null;
276
277
  const store = load(path);
277
278
  const cleared = [];
@@ -279,6 +280,10 @@ export function clearFacts(provider, credentialId, model, opts = {}) {
279
280
  for (const [key, fact] of Object.entries(store.facts)) {
280
281
  if (!CONDITIONS.has(fact.kind) || !covers(fact, provider, credentialId, m))
281
282
  continue;
283
+ if (fact.costClasses !== undefined) {
284
+ if (costClass === undefined || !fact.costClasses.includes(costClass))
285
+ continue;
286
+ }
282
287
  delete store.facts[key];
283
288
  if (fact.scope.kind === "credential")
284
289
  cleared.push(fact.kind);
@@ -1 +1 @@
1
- {"version":3,"file":"target-facts.js","sourceRoot":"","sources":["../src/target-facts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"target-facts.js","sourceRoot":"","sources":["../src/target-facts.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import type { Config, ProviderTierType } from "./config.js";
1
+ import { type Config, type ConfigStalenessReport, type ProviderTierType } from "./config.js";
2
2
  import type { CircuitBreaker } from "./circuit-breaker.js";
3
+ import type { WriterHealth } from "./dashboard-contract.js";
3
4
  export interface ProviderTelemetry {
4
5
  provider: string;
5
6
  displayName: string;
@@ -24,6 +25,18 @@ export interface TelemetryReport {
24
25
  subscriptionProvidersCount: number;
25
26
  providers: ProviderTelemetry[];
26
27
  routingTiers: Record<string, string | string[]>;
28
+ /**
29
+ * The metering subsystem's writer health, from the store's `writerHealth()` accessor
30
+ * (backlog item 19): when the store's last flush failed or the writer lease was
31
+ * refused, this names the stop so "no spend since noon" cannot be mistaken for
32
+ * "no traffic since noon". Null when no ledger is attached to the reporter (a bare
33
+ * programmatic proxy): unknown stays null, never a fabricated state.
34
+ */
35
+ accounting: WriterHealth | null;
36
+ /** Does the config file on disk still match what this process loaded? See `configStaleness()`
37
+ * in config.ts — the relay does not hot-reload, so this is how an operator (or the CLI's own
38
+ * stderr notice) finds out an edit has not taken effect. */
39
+ config: ConfigStalenessReport;
27
40
  }
28
41
  /** Aggregate live telemetry and health status across all configured providers. */
29
- export declare function getTelemetryReport(cfg: Config, cb: CircuitBreaker, now?: number): TelemetryReport;
42
+ export declare function getTelemetryReport(cfg: Config, cb: CircuitBreaker, now?: number, accounting?: WriterHealth | null): TelemetryReport;
package/dist/telemetry.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { configStaleness } from "./config.js";
1
2
  import { aggregateHasKey } from "./credential-fleet.js";
2
3
  import { ALL_PROVIDER_PRESETS } from "./presets.js";
3
4
  import { getStabilityScore } from "./ping/metrics.js";
@@ -32,7 +33,7 @@ function lastSeen(state) {
32
33
  const last = state.pings[state.pings.length - 1];
33
34
  return last ? last.timestamp : 0;
34
35
  }
35
- export function getTelemetryReport(cfg, cb, now = Date.now()) {
36
+ export function getTelemetryReport(cfg, cb, now = Date.now(), accounting = null) {
36
37
  const providers = [];
37
38
  const deployments = deploymentAggregates(cb);
38
39
  for (const [name, p] of Object.entries(cfg.providers)) {
@@ -87,6 +88,8 @@ export function getTelemetryReport(cfg, cb, now = Date.now()) {
87
88
  subscriptionProvidersCount,
88
89
  providers,
89
90
  routingTiers: cfg.routing.tiers,
91
+ accounting,
92
+ config: configStaleness(cfg),
90
93
  };
91
94
  }
92
95
  //# sourceMappingURL=telemetry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
@@ -63,7 +63,28 @@ export interface TierMatch {
63
63
  rec: TierModel;
64
64
  /** `fuzzy` means a DIFFERENT model's row whose name contains this one's — indicative, not measured. */
65
65
  match: "exact" | "fuzzy";
66
+ /**
67
+ * Price suffix stripped to reach the row, or null when the id matched as written.
68
+ *
69
+ * A price suffix names what the deployment COSTS, not what the model CAN DO — unlike an
70
+ * effort suffix (`-high`), which `normName()` rightly never strips. So a suffixed id that
71
+ * resolves through its base still reports `match: "exact"`: the base id matched exactly.
72
+ * The deployment's own PRICE still comes from `resolveMetadata`/the catalog — the tier row
73
+ * lends weights, never a price.
74
+ */
75
+ priceSuffix: PriceSuffix | null;
66
76
  }
77
+ /**
78
+ * Closed list of trailing PRICE suffixes `findTierModel` may strip — longest first, so
79
+ * `-contributor-free` wins over `-free` on an id carrying the longer one.
80
+ *
81
+ * ⚠ ONE suffix is stripped, never two, and never from the middle: `foo-free-high` keeps its
82
+ * effort tail and resolves as written (or not at all). An effort suffix names a different
83
+ * capability and is never a price suffix — stripping it would be the borrowed-score bug.
84
+ */
85
+ export declare const PRICE_SUFFIXES: readonly ["-contributor-free", "-free"];
86
+ /** One member of `PRICE_SUFFIXES` — the suffix a suffixed id was resolved through. */
87
+ export type PriceSuffix = (typeof PRICE_SUFFIXES)[number];
67
88
  /**
68
89
  * Look a routing spec up in the snapshot. Matches on the id's last segment, which is exactly the
69
90
  * key `sync-tiers.mjs` stores for OpenRouter models — so a spec like `nim/z-ai/glm-5.2` hits the
@@ -78,6 +99,7 @@ export declare function findTierModel<T = TierModel>(modelId: string, byNorm: Ar
78
99
  }>, exactByNorm?: ReadonlyMap<string, T>): {
79
100
  rec: T;
80
101
  match: "exact" | "fuzzy";
102
+ priceSuffix: PriceSuffix | null;
81
103
  } | null;
82
104
  /**
83
105
  * Context window the synced snapshot publishes for a spec, with how it was matched.
package/dist/tier-data.js CHANGED
@@ -46,17 +46,27 @@ export function loadTierData(opts = {}) {
46
46
  return null;
47
47
  }
48
48
  }
49
+ export const PRICE_SUFFIXES = ["-contributor-free", "-free"];
49
50
  export function findTierModel(modelId, byNorm, exactByNorm) {
50
51
  const seg = (modelId.split("/").pop() ?? modelId).toLowerCase().trim();
51
52
  if (!seg)
52
53
  return null;
53
54
  const exact = exactByNorm?.get(seg) ?? byNorm.find((e) => e.norm === seg)?.rec;
54
55
  if (exact)
55
- return { rec: exact, match: "exact" };
56
+ return { rec: exact, match: "exact", priceSuffix: null };
57
+ for (const suffix of PRICE_SUFFIXES) {
58
+ if (!seg.endsWith(suffix) || seg.length === suffix.length)
59
+ continue;
60
+ const base = seg.slice(0, seg.length - suffix.length);
61
+ const baseHit = exactByNorm?.get(base) ?? byNorm.find((e) => e.norm === base)?.rec;
62
+ if (baseHit)
63
+ return { rec: baseHit, match: "exact", priceSuffix: suffix };
64
+ return null;
65
+ }
56
66
  if (seg.length < 5)
57
67
  return null;
58
68
  const contained = byNorm.find((e) => e.norm.includes(seg));
59
- return contained ? { rec: contained.rec, match: "fuzzy" } : null;
69
+ return contained ? { rec: contained.rec, match: "fuzzy", priceSuffix: null } : null;
60
70
  }
61
71
  export function snapshotContextWindow(spec) {
62
72
  const data = loadTierData();
@@ -1 +1 @@
1
- {"version":3,"file":"tier-data.js","sourceRoot":"","sources":["../src/tier-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tier-data.js","sourceRoot":"","sources":["../src/tier-data.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "llm-relay",
3
- "version": "0.77.1",
3
+ "version": "0.78.0",
4
4
  "description": "Loopback bidirectional Anthropic/OpenAI API proxy with tool-call validation and multi-provider routing.",
5
5
  "type": "module",
6
6
  "engines": {
@@ -40,6 +40,7 @@
40
40
  "typecheck": "tsc -p tsconfig.json --noEmit",
41
41
  "typecheck:test": "tsc -p tsconfig.test.json",
42
42
  "check": "npm run typecheck && npm run typecheck:test && npm test && npm run check:dashboard && npm run check:package",
43
+ "gate": "npm run build && npm run check",
43
44
  "postinstall": "node scripts/install-skill.mjs || node -e \"process.stderr.write('llm-relay: the postinstall hook crashed, so the bundled host skills and Codex setup were NOT fully installed. The package itself is fine. Retry with: node scripts/install-skill.mjs --force\\n')\"",
44
45
  "analysis:run": "node scripts/analysis-run.mjs",
45
46
  "prepack": "npm run build",
@@ -58,7 +58,7 @@ you cannot reverse.
58
58
  ⚠ Pass `mode: "answer"` for a question, draft, summary, or second opinion that needs no file
59
59
  access — it skips spawning a harness and posts straight to the relay, so it answers in seconds
60
60
  rather than tens of seconds. Keep the default agent mode when the lane must read or edit files
61
- or run commands. See [references/dispatch-lanes.md](references/dispatch-lanes.md).
61
+ or run commands. Full `mode` details: [references/dispatch-lanes.md](references/dispatch-lanes.md).
62
62
  2. `llm-relay dispatch --next-command -t "<task>"` — when the MCP tools are absent. Exit 0 prints
63
63
  one runnable command line. Exit 2 means the rung is a relay target, so address the named spec
64
64
  as an ordinary subagent.
@@ -121,6 +121,9 @@ that marker exists. When you see it:
121
121
  - **Free lanes only, never spend money** — add `"freeOnly": true` to the rule. It refuses with a
122
122
  clean 503 rather than falling through to paid.
123
123
  - **Nothing yet** — a real answer. Leave the routing alone.
124
+ > Operational details: the `--scope` parameter, `freeOnly` flag, and the PreToolUse(Agent) hook
125
+ > installed by `offload claude on` on bypassed hosts are documented in
126
+ > [references/direct-routing.md](references/direct-routing.md).
124
127
  2. Apply the answer with the ordinary verbs. Do not hand-edit `config.json`.
125
128
  3. Run `llm-relay routing answered` to retire the notice — including when the answer was "nothing
126
129
  yet". Forcing a config edit just to silence a prompt is how a default gets changed for the
@@ -141,8 +144,10 @@ llm-relay offload status # inspect direct-routing rules
141
144
  ```
142
145
 
143
146
  When MCP `dispatch` outlives its initial wait, use `dispatch_status`, then
144
- `dispatch_result`; use `dispatch_cancel` only when the task should stop. Do not relaunch a
145
- still-running job.
147
+ `dispatch_result`; use `dispatch_cancel` only when the task should stop. Use
148
+ `dispatch_lanes` to pick a rung deliberately. Do not relaunch a still-running job.
149
+ > Full dispatch tool reference including `dispatch_cancel` and `dispatch_lanes` is in
150
+ > [references/dispatch-lanes.md](references/dispatch-lanes.md).
146
151
 
147
152
  ## Load only the reference needed
148
153
 
@@ -108,7 +108,8 @@ dispatch(task: "...", lane: "agy-gemini") -> force one rung
108
108
  dispatch(task: "...", mode: "answer") -> no harness — a direct call, for speed
109
109
  ```
110
110
 
111
- If the lane outlives `waitMs` (default 60 s) you get a `jobId` instead. Then:
111
+ If the lane outlives the wait (`routing.mcp.maxWaitMs`, default 40 s; a larger `waitMs` is
112
+ clamped to it and the reply says so) you get a `jobId` instead. Then:
112
113
  `dispatch_status(jobId)` -> `dispatch_result(jobId)`, and `dispatch_cancel(jobId)` to stop it.
113
114
  `dispatch_lanes()` shows the ladder if you want to choose deliberately.
114
115
 
@@ -109,7 +109,7 @@ pool you addressed and whether the task then succeeded elsewhere.
109
109
  When there is a pending item you can interpret, **propose it and ask the user to confirm**:
110
110
 
111
111
  ```
112
- llm-relay eligibility propose 1 --class subscription-required --scope deployment --rationale "..."
112
+ llm-relay eligibility propose 1 --class subscription-required --scope deployment --sig 3f2a91c04d
113
113
  ```
114
114
 
115
115
  Then say what you read and why, and let them decide. Hand them the accept command `propose`