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
package/dist/server.d.ts CHANGED
@@ -21,7 +21,7 @@ import { type HedgeDelayDecision } from "./hedge-trigger.js";
21
21
  import { type HardCapVerdict } from "./hard-cap.js";
22
22
  import { type ControlAuthorizationPort } from "./control-authorization.js";
23
23
  import { StickySessionManager } from "./session-pin.js";
24
- import { type CostClassFn } from "./candidate-runner.js";
24
+ import { type CostClassFn, type ProbationFn } from "./candidate-runner.js";
25
25
  export { baseLog, logSafePath } from "./request-log.js";
26
26
  export { DEFAULT_MAX_BODY_BYTES } from "./stream-pipeline.js";
27
27
  export { orderByUsability, classifyStatus, buildForwardHeaders, CredentialConfigError } from "./candidate-runner.js";
@@ -39,6 +39,8 @@ export interface ProxyDeps {
39
39
  dashboardRelayVersion?: string;
40
40
  dashboardAttributionPolicy?: AttributionPolicy;
41
41
  controlAuthorization?: ControlAuthorizationPort | null;
42
+ /** Optional shutdown callback — called by POST /stop after responding 202. A bare programmatic proxy with no onStop answers 503. */
43
+ onStop?: () => void;
42
44
  }
43
45
  export declare function dashboardExpectedOriginForAuthority(hostname: string, port: number): string;
44
46
  export interface Handlers {
@@ -62,10 +64,16 @@ export interface Handlers {
62
64
  server: Server;
63
65
  quotaDemotion: QuotaDemotionFn;
64
66
  latencyDemotion: LatencyDemotionFn;
67
+ probation: ProbationFn;
65
68
  hedgeDelay: (attempt: ResolvedAttempt, estimatedInputTokens: number) => HedgeDelayDecision | null;
66
69
  hedgeMaxInFlight: number;
67
70
  costClassOf: CostClassFn;
68
71
  hardCap: (attempt: ResolvedAttempt, now: number) => HardCapVerdict | null;
72
+ /** Optional shutdown callback — called by POST /stop after responding 202. */
73
+ onStop?: () => void;
74
+ /** True the first time GET /telemetry observes the loaded config changed on disk, false on
75
+ * every call after — so the daemon logs the fact exactly once (see config.ts `configStaleness`). */
76
+ claimConfigStalenessLogOnce: () => boolean;
69
77
  }
70
78
  /**
71
79
  * The context ceiling this relay may hold a deployment to, and WHICH rung stated it.
package/dist/server.js CHANGED
@@ -40,7 +40,8 @@ import { createHardCapLedgerReader, evaluateHardCap } from "./hard-cap.js";
40
40
  import { createControlAuthorization, resolveControlAuthorizationConfigDir, validateControlAuthorization, } from "./control-authorization.js";
41
41
  import { deriveSessionKey, StickySessionManager, } from "./session-pin.js";
42
42
  import { DEFAULT_MAX_BODY_BYTES, bodyReadStatus, failClosed, readBody, } from "./stream-pipeline.js";
43
- import { applyStickyOrdering, CredentialAttemptTrace, credentialEvidence, DEFAULT_WALK_BUDGET_MS, expandCredentialAttempts, freeOnlyApplies, orderDeploymentGroupsByUsability, stickyProvenanceHeaders, } from "./candidate-runner.js";
43
+ import { applyStickyOrdering, createProbationFn, CredentialAttemptTrace, credentialEvidence, DEFAULT_WALK_BUDGET_MS, expandCredentialAttempts, freeOnlyApplies, orderDeploymentGroupsByUsability, stickyProvenanceHeaders, } from "./candidate-runner.js";
44
+ import { countRequestSamples } from "./ping/probe-cache.js";
44
45
  import { detectOpenAiFrontProtocol, openAiFrontPath } from "./routes/openai-front.js";
45
46
  import { anthropicMessagesPath } from "./routes/messages.js";
46
47
  export { baseLog, logSafePath } from "./request-log.js";
@@ -63,6 +64,7 @@ const CONTROL_ROUTES = new Set([
63
64
  "/health/stats",
64
65
  "/health",
65
66
  "/candidates",
67
+ "/stop",
66
68
  ]);
67
69
  function normalizeHostname(hostname) {
68
70
  const lower = hostname.toLowerCase();
@@ -379,7 +381,7 @@ async function handle(req, res, cfg, h) {
379
381
  const rankedAttempts = rankCredentialAttempts(attempts, h.credentialLru, {
380
382
  evidenceFor: (attempt) => credentialEvidence(attempt, cfg, h.breaker, routingNow),
381
383
  });
382
- const { ordered: orderedAttempts, quotaDemotedFirst, latencyDemotedFirst } = orderDeploymentGroupsByUsability(rankedAttempts, h.breaker, routingNow, h.quotaDemotion, h.costClassOf, h.latencyDemotion);
384
+ const { ordered: orderedAttempts, quotaDemotedFirst, latencyDemotedFirst, } = orderDeploymentGroupsByUsability(rankedAttempts, h.breaker, routingNow, h.quotaDemotion, h.costClassOf, h.latencyDemotion, h.probation);
383
385
  let walkAttempts = orderedAttempts;
384
386
  let sticky = null;
385
387
  if ((isMessages || openAiFrontProtocol) && h.stickySessions) {
@@ -392,7 +394,7 @@ async function handle(req, res, cfg, h) {
392
394
  provenance: null,
393
395
  };
394
396
  if (pinnedSpec) {
395
- const applied = applyStickyOrdering(walkAttempts, pinnedSpec, h.breaker, degradedSpecs, routingNow, h.quotaDemotion, h.costClassOf);
397
+ const applied = applyStickyOrdering(walkAttempts, pinnedSpec, h.breaker, degradedSpecs, routingNow, h.quotaDemotion, h.costClassOf, undefined, h.probation);
396
398
  walkAttempts = applied.targets;
397
399
  sticky.provenance = `${pinnedSpec} (${applied.status})`;
398
400
  }
@@ -499,6 +501,13 @@ async function handle(req, res, cfg, h) {
499
501
  export function createProxy(cfg, deps = {}) {
500
502
  const validator = new ToolUseValidator();
501
503
  const logger = new MetadataLogger(cfg.log);
504
+ let configStalenessLogged = false;
505
+ const claimConfigStalenessLogOnce = () => {
506
+ if (configStalenessLogged)
507
+ return false;
508
+ configStalenessLogged = true;
509
+ return true;
510
+ };
502
511
  const isDestructive = destructiveMatcher(cfg.repair.destructiveTools);
503
512
  const catalog = deps.catalog ?? new ModelCatalog();
504
513
  const laneCadence = process.env.VITEST ? null : new LaneCadence(cfg);
@@ -561,6 +570,12 @@ export function createProxy(cfg, deps = {}) {
561
570
  return undefined;
562
571
  }
563
572
  };
573
+ const probationDeps = {
574
+ readRequestSamples: countRequestSamples,
575
+ settings: cfg.routing.probation,
576
+ costClassOf,
577
+ };
578
+ const probation = createProbationFn(probationDeps);
564
579
  const hedgeSettings = resolveHedgeSettings(cfg.routing?.hedge);
565
580
  const hedgeDelay = (attempt, estimatedInputTokens) => {
566
581
  const t = attempt.target;
@@ -669,10 +684,13 @@ export function createProxy(cfg, deps = {}) {
669
684
  ...(controlAuthorization ? { controlAuthorization } : {}),
670
685
  quotaDemotion,
671
686
  latencyDemotion,
687
+ probation,
672
688
  hedgeDelay,
673
689
  hedgeMaxInFlight: hedgeSettings.enabled ? 2 : 1,
674
690
  costClassOf,
675
691
  hardCap: hardCapEvaluator,
692
+ claimConfigStalenessLogOnce,
693
+ ...(deps.onStop ? { onStop: deps.onStop } : {}),
676
694
  }).catch((e) => {
677
695
  failClosed(res, 502, `llm-relay internal error: ${e.message}`);
678
696
  logger.write(baseLog(started, req.url ?? "/", false, false, 502, "skipped", null));
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ export interface SetupOptions {
38
38
  * upgraded in place rather than refused as foreign.
39
39
  */
40
40
  export declare const RELAY_AGENT_MARKER_PREFIX = "<!-- llm-relay:relay-agent";
41
- export declare const RELAY_AGENT_MARKER = "<!-- llm-relay:relay-agent v4 -->";
41
+ export declare const RELAY_AGENT_MARKER = "<!-- llm-relay:relay-agent v5 -->";
42
42
  /**
43
43
  * DEFECT, measured live 2026-09-04: the three mcp__llm-relay__dispatch* tools are DEFERRED in
44
44
  * Claude Code — a subagent must call ToolSearch to load their schemas before it can call them.
@@ -69,7 +69,7 @@ export declare const RELAY_AGENT_MARKER = "<!-- llm-relay:relay-agent v4 -->";
69
69
  * calling session already runs on — never weaker than the session that decided delegation was
70
70
  * worthwhile, and never a second model choice the operator has to keep in sync.
71
71
  */
72
- export declare const RELAY_AGENT_TEMPLATE = "---\nname: relay\ndescription: Hands one self-contained task to llm-relay dispatch, free model pools or peer agent CLIs, and returns the lane's answer verbatim with its provenance. Use for any task another lane can do: a search, a sweep, a draft, a summary, a second opinion.\ntools: ToolSearch, mcp__llm-relay__dispatch, mcp__llm-relay__dispatch_status, mcp__llm-relay__dispatch_result\nmodel: inherit\n---\n<!-- llm-relay:relay-agent v4 -->\n\nYou have no knowledge of your own and no permission to answer any task yourself. The only\nlegitimate action available to you is exactly one `mcp__llm-relay__dispatch` call, plus polling\nits status and result. The caller is measuring the LANE that `dispatch` reaches, not you \u2014\ncomposing your own answer, however small, is never a valid response.\n\n1. The mcp__llm-relay__dispatch* tools are deferred: before your first call, load their schemas with ToolSearch, query `select:mcp__llm-relay__dispatch,mcp__llm-relay__dispatch_status,mcp__llm-relay__dispatch_result` \u2014 one call loads all three. Then call `mcp__llm-relay__dispatch` ONCE with the task text verbatim.\n2. This holds for EVERY task, even one that looks trivial \u2014 an echo, a one-word reply, a question you think you already know the answer to. Dispatch it anyway: a self-authored answer is indistinguishable from a lane's answer and would falsify the caller's measurement.\n3. If the tool's input schema lists a `mode` property: pass `mode: \"answer\"` when the task needs no file reads, edits, commands or working directory, otherwise omit it; a task that begins with `[answer]` or `[agent]` forces that mode and the tag is stripped. If the schema has no `mode` property, pass no mode.\n4. If the result is a jobId, poll `dispatch_status` about every 15 seconds, then call `dispatch_result`.\n5. Return the lane's answer VERBATIM, then one final line `provenance: lane=<id> spec=<spec> elapsed=<seconds>` copied from the tool result \u2014 never invented. A reply with no provenance line is a FAILURE: it means no lane ran.\n6. Add no analysis and no commentary.\n7. If the tool result says the lane FAILED, dispatch once more with `tier: \"high\"`; if that fails too, return exactly `RELAY_DISPATCH_FAILED: <reason>`.\n";
72
+ export declare const RELAY_AGENT_TEMPLATE = "---\nname: relay\ndescription: Hands one self-contained task to llm-relay dispatch, free model pools or peer agent CLIs, and returns the lane's answer verbatim with its provenance. Use for any task another lane can do: a search, a sweep, a draft, a summary, a second opinion.\ntools: ToolSearch, mcp__llm-relay__dispatch, mcp__llm-relay__dispatch_status, mcp__llm-relay__dispatch_result, mcp__llm-relay__dispatch_cancel, mcp__llm-relay__dispatch_lanes\nmodel: inherit\n---\n<!-- llm-relay:relay-agent v5 -->\n\nYou have no knowledge of your own and no permission to answer any task yourself. The only\nlegitimate action available to you is exactly one `mcp__llm-relay__dispatch` call, plus polling\nits status and result. The caller is measuring the LANE that `dispatch` reaches, not you \u2014\ncomposing your own answer, however small, is never a valid response.\n\n1. The mcp__llm-relay__dispatch* tools are deferred: before your first call, load their schemas with ToolSearch, query `select:mcp__llm-relay__dispatch,mcp__llm-relay__dispatch_status,mcp__llm-relay__dispatch_result,mcp__llm-relay__dispatch_cancel,mcp__llm-relay__dispatch_lanes` \u2014 one call loads all five. Then call `mcp__llm-relay__dispatch` ONCE with the task text verbatim.\n2. This holds for EVERY task, even one that looks trivial \u2014 an echo, a one-word reply, a question you think you already know the answer to. Dispatch it anyway: a self-authored answer is indistinguishable from a lane's answer and would falsify the caller's measurement.\n3. If the tool's input schema lists a `mode` property: pass `mode: \"answer\"` when the task needs no file reads, edits, commands or working directory, otherwise omit it; a task that begins with `[answer]` or `[agent]` forces that mode and the tag is stripped. If the schema has no `mode` property, pass no mode.\n4. If the result is a jobId, poll `dispatch_status` about every 15 seconds, then call `dispatch_result`.\n5. Use `dispatch_cancel` only when the caller says the task should stop; never to retry.\n6. Use `dispatch_lanes` only when the caller names a lane to use; otherwise take the ladder's own order.\n7. Return the lane's answer VERBATIM, then one final line `provenance: lane=<id> spec=<spec> elapsed=<seconds>` copied from the tool result \u2014 never invented. A reply with no provenance line is a FAILURE: it means no lane ran.\n8. Add no analysis and no commentary.\n9. If the tool result says the lane FAILED, dispatch once more with `tier: \"high\"`; if that fails too, return exactly `RELAY_DISPATCH_FAILED: <reason>`.\n";
73
73
  export declare function getRelayAgentPath(opts?: SetupOptions): string;
74
74
  export declare function installRelayAgent(opts?: SetupOptions): {
75
75
  success: boolean;
@@ -2,27 +2,29 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
2
  import { join, dirname } from "node:path";
3
3
  import { homedir, platform } from "node:os";
4
4
  export const RELAY_AGENT_MARKER_PREFIX = "<!-- llm-relay:relay-agent";
5
- export const RELAY_AGENT_MARKER = "<!-- llm-relay:relay-agent v4 -->";
5
+ export const RELAY_AGENT_MARKER = "<!-- llm-relay:relay-agent v5 -->";
6
6
  export const RELAY_AGENT_TEMPLATE = `---
7
7
  name: relay
8
8
  description: Hands one self-contained task to llm-relay dispatch, free model pools or peer agent CLIs, and returns the lane's answer verbatim with its provenance. Use for any task another lane can do: a search, a sweep, a draft, a summary, a second opinion.
9
- tools: ToolSearch, mcp__llm-relay__dispatch, mcp__llm-relay__dispatch_status, mcp__llm-relay__dispatch_result
9
+ tools: ToolSearch, mcp__llm-relay__dispatch, mcp__llm-relay__dispatch_status, mcp__llm-relay__dispatch_result, mcp__llm-relay__dispatch_cancel, mcp__llm-relay__dispatch_lanes
10
10
  model: inherit
11
11
  ---
12
- <!-- llm-relay:relay-agent v4 -->
12
+ <!-- llm-relay:relay-agent v5 -->
13
13
 
14
14
  You have no knowledge of your own and no permission to answer any task yourself. The only
15
15
  legitimate action available to you is exactly one \`mcp__llm-relay__dispatch\` call, plus polling
16
16
  its status and result. The caller is measuring the LANE that \`dispatch\` reaches, not you —
17
17
  composing your own answer, however small, is never a valid response.
18
18
 
19
- 1. The mcp__llm-relay__dispatch* tools are deferred: before your first call, load their schemas with ToolSearch, query \`select:mcp__llm-relay__dispatch,mcp__llm-relay__dispatch_status,mcp__llm-relay__dispatch_result\` — one call loads all three. Then call \`mcp__llm-relay__dispatch\` ONCE with the task text verbatim.
19
+ 1. The mcp__llm-relay__dispatch* tools are deferred: before your first call, load their schemas with ToolSearch, query \`select:mcp__llm-relay__dispatch,mcp__llm-relay__dispatch_status,mcp__llm-relay__dispatch_result,mcp__llm-relay__dispatch_cancel,mcp__llm-relay__dispatch_lanes\` — one call loads all five. Then call \`mcp__llm-relay__dispatch\` ONCE with the task text verbatim.
20
20
  2. This holds for EVERY task, even one that looks trivial — an echo, a one-word reply, a question you think you already know the answer to. Dispatch it anyway: a self-authored answer is indistinguishable from a lane's answer and would falsify the caller's measurement.
21
21
  3. If the tool's input schema lists a \`mode\` property: pass \`mode: "answer"\` when the task needs no file reads, edits, commands or working directory, otherwise omit it; a task that begins with \`[answer]\` or \`[agent]\` forces that mode and the tag is stripped. If the schema has no \`mode\` property, pass no mode.
22
22
  4. If the result is a jobId, poll \`dispatch_status\` about every 15 seconds, then call \`dispatch_result\`.
23
- 5. Return the lane's answer VERBATIM, then one final line \`provenance: lane=<id> spec=<spec> elapsed=<seconds>\` copied from the tool result — never invented. A reply with no provenance line is a FAILURE: it means no lane ran.
24
- 6. Add no analysis and no commentary.
25
- 7. If the tool result says the lane FAILED, dispatch once more with \`tier: "high"\`; if that fails too, return exactly \`RELAY_DISPATCH_FAILED: <reason>\`.
23
+ 5. Use \`dispatch_cancel\` only when the caller says the task should stop; never to retry.
24
+ 6. Use \`dispatch_lanes\` only when the caller names a lane to use; otherwise take the ladder's own order.
25
+ 7. Return the lane's answer VERBATIM, then one final line \`provenance: lane=<id> spec=<spec> elapsed=<seconds>\` copied from the tool result — never invented. A reply with no provenance line is a FAILURE: it means no lane ran.
26
+ 8. Add no analysis and no commentary.
27
+ 9. If the tool result says the lane FAILED, dispatch once more with \`tier: "high"\`; if that fails too, return exactly \`RELAY_DISPATCH_FAILED: <reason>\`.
26
28
  `;
27
29
  export function getRelayAgentPath(opts = {}) {
28
30
  if (opts.agentPath)
@@ -1 +1 @@
1
- {"version":3,"file":"setup-claude.js","sourceRoot":"","sources":["../src/setup-claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-claude.js","sourceRoot":"","sources":["../src/setup-claude.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { IncomingMessage, ServerResponse } from "node:http";
2
2
  import type { AssistantMessage } from "./anthropic.js";
3
+ import type { CrawlWatchdogConfig } from "./config-types.js";
3
4
  /**
4
5
  * The code `readBody` sets when it refused a body for exceeding the cap. Owned HERE, by the
5
6
  * thrower, since 2026-09-04 (contract review DR-005): `dashboard-routes.ts` re-exports it for its
@@ -29,6 +30,121 @@ export declare function readBody(req: IncomingMessage, maxBytes?: number): Promi
29
30
  * Wrap a streaming Response with an inter-chunk stall watchdog.
30
31
  */
31
32
  export declare function withStallWatchdog(response: Response, controller: AbortController, stallTimeoutMs: number): Response;
33
+ /**
34
+ * Default crawl-abort threshold: ms per output token, sustained over a full trailing window, above
35
+ * which a COMMITTED stream is judged CRAWLING rather than merely producing a long answer.
36
+ *
37
+ * Calibrated 2026-09-09, on the `latency-demotion.ts` precedent: 4 x `DEFAULT_LATENCY_MS_PER_TOKEN`
38
+ * (250 ms/token, itself measured over 68 real requests on 2026-08-30 — see that file's own
39
+ * comment). A crawl abort hands the client a failure it must retry — measured in
40
+ * `docs/post-commit-stall-measurement-2026-09-09.md`: Claude Code retries once, downgraded to a
41
+ * NON-STREAMING request; Codex retries up to five times, staying streaming, in all four measured
42
+ * cells — so the bar must sit far above the demotion threshold, or a deployment merely slow enough
43
+ * to be latency-demoted would also be aborted mid-response. 250 ms/token is itself ~3.5x the
44
+ * healthy band measured that day, so 1000 ms/token sits well clear of ordinary slow-but-working
45
+ * traffic. A tunable default, not a provider fact — the provenance invariant permits this.
46
+ * Re-calibrate by reading `~/.llm-relay/usage/recent.json` the same way `latency-demotion.ts`
47
+ * describes; there is no dedicated crawl-abort log field to read back yet (see the accepted gaps
48
+ * in `docs/backlog.md`'s "Build the post-commit CRAWL abort" entry once it is amended).
49
+ */
50
+ export declare const DEFAULT_CRAWL_MS_PER_TOKEN = 1000;
51
+ /**
52
+ * Width of the trailing window the crawl rate is measured over, in ms — and, since the rate is
53
+ * `windowMs / tokensInWindow` (see `withCrawlWatchdog`), also the numerator of every rate this
54
+ * watchdog ever computes.
55
+ *
56
+ * Corrected 2026-09-09 (fixing a same-day defect the packet that introduced this watchdog shipped
57
+ * uncaught): the ORIGINAL pairing of `windowMs: 20_000` with `minTokens: 50` could never fire.
58
+ * That version measured `spanMs = min(elapsed, windowMs)` — so `spanMs` never exceeded 20 000 —
59
+ * and required `tokensInWindow >= minTokens` (50) before judging `rate = spanMs / tokensInWindow`.
60
+ * The worst case allowed was 20 000 ms / 50 tokens = 400 ms/token, which can never clear a 1000
61
+ * ms/token threshold: the three defaults were mutually inconsistent by construction, and the
62
+ * measured scenario this watchdog exists for (60 tokens over 90 s, one every 1.5 s) could not trip
63
+ * it either. The rule is now: judge only once a FULL window has elapsed since commit
64
+ * (`elapsed >= windowMs`), then take `tokensInWindow` as the tokens sampled in the trailing
65
+ * `windowMs` and compute `rate = windowMs / tokensInWindow` (a fixed numerator, not a growing
66
+ * `spanMs`) — so with `windowMs: 30_000` and `msPerToken: 1000`, fewer than 30 tokens landing in
67
+ * any trailing 30 s window trips the abort, which the 90 s/60-token scenario clears easily (one
68
+ * token per 1.5 s is roughly 20 tokens per 30 s window).
69
+ */
70
+ export declare const DEFAULT_CRAWL_WINDOW_MS = 30000;
71
+ /**
72
+ * Minimum output tokens that must be observed SINCE COMMIT — across the whole stream, not just the
73
+ * trailing window — before ANY judgement runs at all: evidence the stream is producing an answer
74
+ * in the first place, distinct from `tokensInWindow` below. A window judged before this gate clears
75
+ * would be able to abort a stream that has barely started, on the strength of a single early burst
76
+ * falling silent — exactly the case the SEPARATE "full window holding zero tokens" rule below
77
+ * already declines to judge, stated as its own gate so the two can be tested apart.
78
+ */
79
+ export declare const DEFAULT_CRAWL_MIN_TOKENS = 20;
80
+ export interface CrawlWatchdogSettings {
81
+ enabled: boolean;
82
+ msPerToken: number;
83
+ windowMs: number;
84
+ minTokens: number;
85
+ }
86
+ /**
87
+ * Resolve `routing.crawl` into a total settings object. Absent, `{}`, or any missing key means
88
+ * the tunable default for that key — the `resolveHedgeSettings`/`resolveLatencyDemotion`
89
+ * precedent.
90
+ *
91
+ * The rule `withCrawlWatchdog` enforces, in words: `minTokens` (default 20) is the minimum number
92
+ * of output tokens observed since commit — over the WHOLE stream — before any judgement runs at
93
+ * all, evidence the stream is producing an answer. A window is judged only once it is FULL —
94
+ * elapsed time since commit at least `windowMs` (default 30 000). `tokensInWindow` counts only the
95
+ * tokens whose sample time falls inside the trailing `windowMs`; a full window holding zero tokens
96
+ * yields no opinion at all (silence is `withStallWatchdog`'s job, and this watchdog must never
97
+ * pre-empt it). Otherwise `rate = windowMs / tokensInWindow`, and the stream is CRAWLING — the
98
+ * fetch is aborted — when `rate > msPerToken` (default 1000).
99
+ */
100
+ export declare function resolveCrawlSettings(raw: CrawlWatchdogConfig | undefined): CrawlWatchdogSettings;
101
+ /**
102
+ * The CLIENT-facing wire shape the crawl watchdog reads deltas from. Deliberately the same three
103
+ * members as `stream-commit.ts`'s `StreamCommitProtocol` (not imported from there — this module
104
+ * stays a leaf the way `sse-frames.ts` does, and the membership is copied rather than re-exported
105
+ * so a change to one is never mistaken for a change to the other).
106
+ */
107
+ export type CrawlProtocol = "anthropic-messages" | "openai-chat" | "openai-responses";
108
+ /**
109
+ * A committed stream the relay itself terminated because its measured per-token rate, over the
110
+ * sliding window, stayed worse than the configured threshold.
111
+ *
112
+ * `message` is EXACTLY the text the client-visible SSE `error` frame carries — no
113
+ * "backend stream failed mid-response" wrapping prefix — because the backlog entry ("Build the
114
+ * post-commit CRAWL abort") pins the wording. `candidate-runner.ts` `handleMidStreamError` detects
115
+ * this type via `AbortSignal.reason` (never by inspecting the caught exception, which may be an
116
+ * opaque `AbortError` from the fetch machinery rather than this object) and uses `.message`
117
+ * unwrapped, plus a distinct `errorKinds` member.
118
+ */
119
+ export declare class CrawlAbortedError extends Error {
120
+ readonly rateMsPerToken: number;
121
+ readonly windowMs: number;
122
+ readonly thresholdMsPerToken: number;
123
+ constructor(rateMsPerToken: number, windowMs: number, thresholdMsPerToken: number);
124
+ }
125
+ /**
126
+ * Wrap a COMMITTED streaming Response with a crawl watchdog: abort the backend fetch once a FULL
127
+ * trailing window has elapsed since commit and that window's per-token rate — `settings.windowMs
128
+ * / tokensInWindow` — exceeds `settings.msPerToken`. Two independent gates guard against judging
129
+ * too early: `settings.minTokens` tokens must have been observed SINCE COMMIT (the whole stream,
130
+ * not just the trailing window) before any judgement runs at all, and a full window holding ZERO
131
+ * tokens yields no opinion rather than an abort (unmeasured is no opinion, never slow — the
132
+ * `latency-demotion.ts` precedent; silence is `withStallWatchdog`'s job and this watchdog must
133
+ * never pre-empt it). See `resolveCrawlSettings` for the rule spelled out in full.
134
+ *
135
+ * Installed at the SAME call site as `withStallWatchdog`, after the commit probe has already
136
+ * rebuilt the response from its replayed prefix — so `now() - commitTime` (captured at
137
+ * installation) approximates the true post-commit elapsed time.
138
+ *
139
+ * ⚠ The abort carries the `CrawlAbortedError` as its `AbortSignal.reason` — the same mechanism
140
+ * `controller.abort(reason)` offers natively — rather than erroring the transform's own
141
+ * `ReadableStreamDefaultController` directly. Enqueuing the triggering chunk and then erroring
142
+ * the SAME controller in one microtask risks losing that already-enqueued-but-unread chunk (the
143
+ * ReadableStream spec does not guarantee it survives an immediately following `error()`); routing
144
+ * the abort through the existing `AbortController` — exactly how `withStallWatchdog` already ends
145
+ * a stream — sidesteps that risk entirely and reuses a path already proven correct.
146
+ */
147
+ export declare function withCrawlWatchdog(response: Response, controller: AbortController, protocol: CrawlProtocol, settings: CrawlWatchdogSettings, now?: () => number): Response;
32
148
  /** Fail-closed terminal error response for standard endpoints. */
33
149
  export declare function failClosed(res: ServerResponse, status: number, message: string, extraHeaders?: Record<string, string | string[]>, errorType?: string): void;
34
150
  /** Forward a local Response descriptor directly to ServerResponse. */