llm-relay 0.68.7 → 0.69.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 (52) hide show
  1. package/dist/accounting-store.d.ts +18 -1
  2. package/dist/accounting-store.js +130 -224
  3. package/dist/accounting-store.js.map +1 -1
  4. package/dist/backend.d.ts +11 -0
  5. package/dist/backend.js +7 -1
  6. package/dist/backend.js.map +1 -1
  7. package/dist/candidate-runner.d.ts +2 -2
  8. package/dist/candidate-runner.js +47 -21
  9. package/dist/candidate-runner.js.map +1 -1
  10. package/dist/cli.d.ts +15 -0
  11. package/dist/cli.js +77 -47
  12. package/dist/cli.js.map +1 -1
  13. package/dist/config.d.ts +2 -0
  14. package/dist/config.js +4 -0
  15. package/dist/config.js.map +1 -1
  16. package/dist/dispatch.d.ts +15 -0
  17. package/dist/dispatch.js +20 -0
  18. package/dist/dispatch.js.map +1 -1
  19. package/dist/dynamic-pools.d.ts +1 -1
  20. package/dist/dynamic-pools.js +2 -2
  21. package/dist/dynamic-pools.js.map +1 -1
  22. package/dist/mcp/lane-runner.d.ts +102 -2
  23. package/dist/mcp/lane-runner.js +49 -6
  24. package/dist/mcp/lane-runner.js.map +1 -1
  25. package/dist/mcp/server.d.ts +37 -1
  26. package/dist/mcp/server.js +183 -14
  27. package/dist/mcp/server.js.map +1 -1
  28. package/dist/routes/admin.js +2 -1
  29. package/dist/routes/admin.js.map +1 -1
  30. package/dist/routes/messages.d.ts +11 -0
  31. package/dist/routes/messages.js +7 -25
  32. package/dist/routes/messages.js.map +1 -1
  33. package/dist/routes/openai-front.js +5 -23
  34. package/dist/routes/openai-front.js.map +1 -1
  35. package/dist/server.d.ts +24 -1
  36. package/dist/server.js +31 -17
  37. package/dist/server.js.map +1 -1
  38. package/dist/setup-claude.d.ts +22 -0
  39. package/dist/setup-claude.js +91 -5
  40. package/dist/setup-claude.js.map +1 -1
  41. package/dist/stream-pipeline.d.ts +11 -0
  42. package/dist/stream-pipeline.js +2 -11
  43. package/dist/stream-pipeline.js.map +1 -1
  44. package/dist/target-facts.d.ts +10 -0
  45. package/dist/target-facts.js +11 -0
  46. package/dist/target-facts.js.map +1 -1
  47. package/package.json +1 -1
  48. package/skills/llm-relay/SKILL.md +13 -0
  49. package/skills/llm-relay/references/dispatch-lanes.md +26 -0
  50. package/dist/accounting-store-io.d.ts +0 -132
  51. package/dist/accounting-store-io.js +0 -1087
  52. package/dist/accounting-store-io.js.map +0 -1
@@ -1,6 +1,8 @@
1
- import { DEFAULT_LANE_TIMEOUT_MS, DEFAULT_MAX_DEPTH, DEFAULT_WAIT_MS, DEPTH_ENV, LaneJobStore, classifyDispatchedResult, checkCwd, currentDepth, defaultLaneSpawner, } from "./lane-runner.js";
1
+ import { isToolUseBlock } from "../anthropic.js";
2
+ import { DEFAULT_LANE_TIMEOUT_MS, DEFAULT_MAX_DEPTH, DEFAULT_WAIT_MS, DEPTH_ENV, EMPTY_OUTPUT_REASON, LaneJobStore, classifyDispatchedResult, checkCwd, currentDepth, defaultAnswerFetch, defaultLaneSpawner, isContentEmpty, readRelayAnnouncements, relayLoopbackUrl, } from "./lane-runner.js";
2
3
  import { RPC_INTERNAL_ERROR, RPC_INVALID_PARAMS, RPC_METHOD_NOT_FOUND, RPC_PARSE_ERROR, encodeMessage, errorResponse, isJsonRpcNotification, isJsonRpcRequest, negotiateProtocolVersion, resultResponse, splitMessages, } from "./protocol.js";
3
4
  export const MCP_SERVER_NAME = "llm-relay";
5
+ export const DEFAULT_ANSWER_MAX_TOKENS = 4096;
4
6
  export const MCP_INSTRUCTIONS = "Use dispatch from every MCP host — Claude, Codex, desktop, CLI, or otherwise — to hand a " +
5
7
  "whole task to another agent lane and get its answer back. Never choose a host-specific child " +
6
8
  "mechanism yourself; whether the lane is a model pool or a peer CLI is resolved here.\n\n" +
@@ -16,6 +18,10 @@ export const MCP_INSTRUCTIONS = "Use dispatch from every MCP host — Claude, Co
16
18
  "Desktop rejects that child model before reaching the relay and ignores its custom provider. " +
17
19
  "Call dispatch instead. If this MCP server is unavailable, run `llm-relay dispatch " +
18
20
  "--next-command -t <task>` and follow its returned command or target; do not guess from the host.\n\n" +
21
+ "Pass mode: \"answer\" for a question, draft, summary, or second opinion that needs no file " +
22
+ "access — for a relay lane it posts straight to this relay's own /v1/messages with no spawned " +
23
+ "harness, so it answers faster. Use the default agent mode when the lane must read or edit " +
24
+ "files or run commands.\n\n" +
19
25
  "Lane output is advisory. Verify it against the source before you act on it.";
20
26
  const TOOLS = [
21
27
  {
@@ -30,7 +36,10 @@ const TOOLS = [
30
36
  "environment and idle timeouts are handled here, so you never build a command line. If the " +
31
37
  "lane is still running after waitMs, returns a jobId to poll with dispatch_status. In Codex " +
32
38
  "Desktop, use this instead of a pool/* collaboration child, which the ChatGPT launcher " +
33
- "rejects before the custom provider or relay is reached.",
39
+ "rejects before the custom provider or relay is reached. Set mode to \"answer\" for a " +
40
+ "question, draft, summary, or second opinion that needs no file access — it posts straight " +
41
+ "to the relay with no spawned harness; keep the default agent mode when the lane must read " +
42
+ "or edit files or run commands.",
34
43
  inputSchema: {
35
44
  type: "object",
36
45
  properties: {
@@ -38,6 +47,29 @@ const TOOLS = [
38
47
  type: "string",
39
48
  description: "The complete, self-contained task. The lane sees only this text.",
40
49
  },
50
+ mode: {
51
+ type: "string",
52
+ enum: ["agent", "answer"],
53
+ description: "\"agent\" (default): spawn the lane's own harness with full tool access. " +
54
+ "\"answer\": for a relay lane (a model pool), skip the harness and POST straight to " +
55
+ "this relay's own /v1/messages — use it for a question, draft, summary, or second " +
56
+ "opinion that needs no file access; a cli lane (agy, codex) behaves exactly like " +
57
+ "agent mode either way, since it has no direct-HTTP form.",
58
+ },
59
+ system: {
60
+ type: "string",
61
+ description: "Answer mode only: an optional system prompt for the direct relay call.",
62
+ },
63
+ schema: {
64
+ type: "object",
65
+ description: "Answer mode only: a JSON Schema. When given, the relay call forces a single " +
66
+ "\"answer\" tool call and the result is that tool's input, JSON-stringified, instead " +
67
+ "of free text.",
68
+ },
69
+ maxTokens: {
70
+ type: "number",
71
+ description: `Answer mode only: max_tokens for the direct relay call (default ${DEFAULT_ANSWER_MAX_TOKENS}).`,
72
+ },
41
73
  tier: {
42
74
  type: "string",
43
75
  description: "Capability tier to select the ladder from (for example low, medium, high, xhigh).",
@@ -48,7 +80,7 @@ const TOOLS = [
48
80
  },
49
81
  cwd: {
50
82
  type: "string",
51
- description: "Absolute directory to run the lane in. Defaults to this server's working directory.",
83
+ description: "Agent mode only: absolute directory to run the lane in. Defaults to this server's working directory.",
52
84
  },
53
85
  waitMs: {
54
86
  type: "number",
@@ -121,6 +153,16 @@ function readNumber(params, key) {
121
153
  const v = params[key];
122
154
  return typeof v === "number" && Number.isFinite(v) && v > 0 ? v : undefined;
123
155
  }
156
+ function readMode(params) {
157
+ return params["mode"] === "answer" ? "answer" : "agent";
158
+ }
159
+ function readRecord(params, key) {
160
+ const v = params[key];
161
+ return typeof v === "object" && v !== null && !Array.isArray(v) ? v : undefined;
162
+ }
163
+ function isFailureStatus(status) {
164
+ return status === "failed" || status === "timed_out";
165
+ }
124
166
  function describeJob(job, now) {
125
167
  const elapsed = Math.round(((job.endedAt ?? now) - job.startedAt) / 1000);
126
168
  const head = [
@@ -135,6 +177,16 @@ function describeJob(job, now) {
135
177
  head.push("timed out: yes");
136
178
  if (job.error)
137
179
  head.push(`error: ${job.error}`);
180
+ if (job.relay?.servedBy)
181
+ head.push(`served-by: ${job.relay.servedBy}`);
182
+ if (job.relay?.poolAttempts)
183
+ head.push(`pool-attempts: ${job.relay.poolAttempts}`);
184
+ if (job.relay?.hedged)
185
+ head.push(`hedged: ${job.relay.hedged}`);
186
+ if (job.relay?.latencyDemoted)
187
+ head.push(`latency-demoted: ${job.relay.latencyDemoted}`);
188
+ if (job.relay?.degraded)
189
+ head.push(`degraded: ${job.relay.degraded}`);
138
190
  return head.join("\n");
139
191
  }
140
192
  function jobAnswer(job, now) {
@@ -143,7 +195,12 @@ function jobAnswer(job, now) {
143
195
  if (job.status === "running") {
144
196
  return `${header}\n\nStill running. Poll dispatch_status, then call dispatch_result.`;
145
197
  }
146
- if (body.length === 0) {
198
+ if (job.status === "timed_out") {
199
+ const partial = isContentEmpty(body) ? "" : `\n\nPartial output before the timeout:\n\n${body}`;
200
+ const tail = isContentEmpty(body) ? job.stderr.trim().slice(-1500) : "";
201
+ return `${header}\n\nThe lane exceeded its timeout and was stopped before it finished.${partial}${tail ? `\n\nstderr tail:\n${tail}` : ""}`;
202
+ }
203
+ if (isContentEmpty(body)) {
147
204
  const tail = job.stderr.trim().slice(-1500);
148
205
  return `${header}\n\nThe lane returned NO output. Treat this as a lane failure and retry, or pick another lane.${tail ? `\n\nstderr tail:\n${tail}` : ""}`;
149
206
  }
@@ -177,6 +234,7 @@ export class McpDispatchServer {
177
234
  deps;
178
235
  jobs = new LaneJobStore();
179
236
  spawn;
237
+ fetchImpl;
180
238
  now;
181
239
  cwd;
182
240
  maxDepth;
@@ -184,6 +242,7 @@ export class McpDispatchServer {
184
242
  constructor(deps) {
185
243
  this.deps = deps;
186
244
  this.spawn = deps.spawn ?? defaultLaneSpawner;
245
+ this.fetchImpl = deps.fetch ?? defaultAnswerFetch;
187
246
  this.now = deps.now ?? Date.now;
188
247
  this.cwd = deps.cwd ?? (() => process.cwd());
189
248
  this.maxDepth = deps.maxDepth ?? DEFAULT_MAX_DEPTH;
@@ -302,7 +361,7 @@ export class McpDispatchServer {
302
361
  const job = this.jobs.get(jobId);
303
362
  if (!job)
304
363
  return textResult(`unknown jobId: ${jobId}`, true);
305
- return textResult(jobAnswer(job, this.now()), job.status === "failed");
364
+ return textResult(jobAnswer(job, this.now()), isFailureStatus(job.status));
306
365
  }
307
366
  toolCancel(args) {
308
367
  const jobId = readString(args, "jobId");
@@ -323,10 +382,6 @@ export class McpDispatchServer {
323
382
  return textResult(`dispatch refused: already ${depth} levels deep (max ${this.maxDepth}). ` +
324
383
  "Do the work here rather than delegating further.", true);
325
384
  }
326
- const cwd = readString(args, "cwd") ?? this.cwd();
327
- const cwdCheck = checkCwd(cwd, this.deps.allowedRoots);
328
- if (!cwdCheck.ok)
329
- return textResult(`dispatch refused: ${cwdCheck.reason}`, true);
330
385
  const view = await this.deps.buildView({
331
386
  task,
332
387
  tier: readString(args, "tier"),
@@ -336,14 +391,28 @@ export class McpDispatchServer {
336
391
  if (!lane) {
337
392
  return textResult(`No lane is available. ${view.reason}`, true);
338
393
  }
394
+ const waitMs = readNumber(args, "waitMs") ?? DEFAULT_WAIT_MS;
395
+ const timeoutMs = readNumber(args, "timeoutMs") ?? DEFAULT_LANE_TIMEOUT_MS;
396
+ const mode = readMode(args);
397
+ if (mode === "answer" && lane.kind === "relay") {
398
+ return this.dispatchAnswer(lane, task, {
399
+ system: readString(args, "system"),
400
+ schema: readRecord(args, "schema"),
401
+ maxTokens: readNumber(args, "maxTokens"),
402
+ waitMs,
403
+ timeoutMs,
404
+ });
405
+ }
406
+ const cwd = readString(args, "cwd") ?? this.cwd();
407
+ const cwdCheck = checkCwd(cwd, this.deps.allowedRoots);
408
+ if (!cwdCheck.ok)
409
+ return textResult(`dispatch refused: ${cwdCheck.reason}`, true);
339
410
  if (!lane.invoke) {
340
411
  return textResult(`Lane "${lane.id}" cannot be run from here: ${lane.unreachable ?? `it is a relay target (${lane.spec ?? "?"}) with no cliLane template configured`}.`, true);
341
412
  }
342
413
  const job = this.jobs.create(lane.id, lane.spec, cwd);
343
414
  const env = applyLaneEnv(process.env, lane.invoke.env);
344
415
  env[DEPTH_ENV] = String(depth + 1);
345
- const timeoutMs = readNumber(args, "timeoutMs") ?? DEFAULT_LANE_TIMEOUT_MS;
346
- const waitMs = readNumber(args, "waitMs") ?? DEFAULT_WAIT_MS;
347
416
  let run;
348
417
  try {
349
418
  run = this.spawn(lane.invoke.command, lane.invoke.args, { env, cwd, timeoutMs });
@@ -376,12 +445,98 @@ export class McpDispatchServer {
376
445
  r = { ...r, stderr: `${r.stderr}${r.stderr ? "\n" : ""}${semanticFailure}` };
377
446
  }
378
447
  }
448
+ if (semanticFailure === undefined && !r.timedOut && isContentEmpty(r.stdout)) {
449
+ semanticFailure = EMPTY_OUTPUT_REASON;
450
+ }
379
451
  this.jobs.complete(job.id, r, semanticFailure);
380
452
  return "done";
381
453
  }, (e) => {
382
454
  this.jobs.fail(job.id, e.message);
383
455
  return "done";
384
456
  });
457
+ return this.awaitOrPoll(job.id, settled, waitMs);
458
+ }
459
+ async dispatchAnswer(lane, task, opts) {
460
+ if (!lane.spec) {
461
+ return textResult(`Lane "${lane.id}" has no relay spec to address in answer mode.`, true);
462
+ }
463
+ const spec = lane.spec;
464
+ const job = this.jobs.create(lane.id, spec, this.cwd());
465
+ const controller = new AbortController();
466
+ this.jobs.registerKill(job.id, () => controller.abort());
467
+ const signal = AbortSignal.any([AbortSignal.timeout(opts.timeoutMs), controller.signal]);
468
+ const settled = this.runAnswerFetch(spec, task, opts, signal).then((outcome) => {
469
+ if (this.jobs.get(job.id)?.status === "cancelled")
470
+ return "done";
471
+ let semanticFailure = outcome.semanticFailure;
472
+ if (semanticFailure === undefined && !outcome.run.timedOut && isContentEmpty(outcome.run.stdout)) {
473
+ semanticFailure = EMPTY_OUTPUT_REASON;
474
+ }
475
+ this.jobs.complete(job.id, outcome.run, semanticFailure, outcome.relay);
476
+ return "done";
477
+ }, (e) => {
478
+ if (this.jobs.get(job.id)?.status === "cancelled")
479
+ return "done";
480
+ this.jobs.fail(job.id, e.message);
481
+ return "done";
482
+ });
483
+ return this.awaitOrPoll(job.id, settled, opts.waitMs);
484
+ }
485
+ async runAnswerFetch(spec, task, opts, signal) {
486
+ const url = relayLoopbackUrl(this.deps.config, "/v1/messages");
487
+ const body = {
488
+ model: spec,
489
+ max_tokens: opts.maxTokens ?? DEFAULT_ANSWER_MAX_TOKENS,
490
+ messages: [{ role: "user", content: task }],
491
+ };
492
+ if (opts.system)
493
+ body["system"] = opts.system;
494
+ if (opts.schema) {
495
+ body["tools"] = [{ name: "answer", description: "Return the answer", input_schema: opts.schema }];
496
+ body["tool_choice"] = { type: "tool", name: "answer" };
497
+ }
498
+ let response;
499
+ try {
500
+ response = await this.fetchImpl(url, {
501
+ method: "POST",
502
+ headers: {
503
+ "anthropic-version": "2023-06-01",
504
+ "content-type": "application/json",
505
+ "x-api-key": "dummy",
506
+ },
507
+ body: JSON.stringify(body),
508
+ signal,
509
+ });
510
+ }
511
+ catch (e) {
512
+ if (signal.aborted) {
513
+ return { run: { code: null, stdout: "", stderr: "", timedOut: true } };
514
+ }
515
+ throw e;
516
+ }
517
+ if (!response.ok) {
518
+ const bodyText = await response.text().catch(() => "");
519
+ return {
520
+ run: { code: null, stdout: "", stderr: bodyText.slice(0, 300), timedOut: false },
521
+ semanticFailure: `relay answered HTTP ${response.status}`,
522
+ };
523
+ }
524
+ const relay = readRelayAnnouncements(response.headers);
525
+ let parsed;
526
+ try {
527
+ parsed = await response.json();
528
+ }
529
+ catch (e) {
530
+ return {
531
+ run: { code: null, stdout: "", stderr: `unparseable relay response: ${e.message}`, timedOut: false },
532
+ semanticFailure: "relay response was not valid JSON",
533
+ relay,
534
+ };
535
+ }
536
+ const text = extractAnswerText(parsed, opts.schema !== undefined);
537
+ return { run: { code: 0, stdout: text, stderr: "", timedOut: false }, relay };
538
+ }
539
+ async awaitOrPoll(jobId, settled, waitMs) {
385
540
  const raced = await Promise.race([
386
541
  settled,
387
542
  new Promise((resolve) => {
@@ -390,12 +545,26 @@ export class McpDispatchServer {
390
545
  t.unref();
391
546
  }),
392
547
  ]);
393
- const current = this.jobs.get(job.id) ?? job;
548
+ const current = this.jobs.get(jobId);
549
+ if (!current)
550
+ return textResult(`unknown jobId: ${jobId}`, true);
394
551
  if (raced === "pending") {
395
552
  return textResult(`${describeJob(current, this.now())}\n\nStill running after ${Math.round(waitMs / 1000)}s. ` +
396
- `Poll dispatch_status with jobId "${job.id}", then call dispatch_result.`);
553
+ `Poll dispatch_status with jobId "${jobId}", then call dispatch_result.`);
397
554
  }
398
- return textResult(jobAnswer(current, this.now()), current.status === "failed");
555
+ return textResult(jobAnswer(current, this.now()), isFailureStatus(current.status));
556
+ }
557
+ }
558
+ function extractAnswerText(parsed, hasSchema) {
559
+ const message = parsed;
560
+ const content = Array.isArray(message.content) ? message.content : [];
561
+ if (hasSchema) {
562
+ const toolUse = content.find((b) => isToolUseBlock(b) && b.name === "answer");
563
+ return toolUse ? JSON.stringify(toolUse.input) : "";
399
564
  }
565
+ return content
566
+ .filter((b) => b.type === "text" && typeof b.text === "string")
567
+ .map((b) => b.text)
568
+ .join("");
400
569
  }
401
570
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,wBAAwB,EACxB,QAAQ,EACR,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,gBAAgB,GAQjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,aAAa,GAEd,MAAM,eAAe,CAAC;AAEvB,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAG3C,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AA4D9C,MAAM,CAAC,MAAM,gBAAgB,GAC3B,2FAA2F;IAC3F,+FAA+F;IAC/F,0FAA0F;IAC1F,8FAA8F;IAC9F,yFAAyF;IACzF,8FAA8F;IAC9F,8FAA8F;IAC9F,0FAA0F;IAC1F,+FAA+F;IAC/F,2FAA2F;IAC3F,2FAA2F;IAC3F,6FAA6F;IAC7F,8FAA8F;IAC9F,oFAAoF;IACpF,sGAAsG;IACtG,6FAA6F;IAC7F,+FAA+F;IAC/F,4FAA4F;IAC5F,4BAA4B;IAC5B,6EAA6E,CAAC;AAShF,MAAM,KAAK,GAAqB;IAC9B;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,kCAAkC;QACzC,WAAW,EACT,6FAA6F;YAC7F,0FAA0F;YAC1F,2FAA2F;YAC3F,uFAAuF;YACvF,yFAAyF;YACzF,0FAA0F;YAC1F,4FAA4F;YAC5F,6FAA6F;YAC7F,wFAAwF;YACxF,uFAAuF;YACvF,4FAA4F;YAC5F,4FAA4F;YAC5F,gCAAgC;QAClC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kEAAkE;iBAChF;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;oBACzB,WAAW,EACT,2EAA2E;wBAC3E,qFAAqF;wBACrF,mFAAmF;wBACnF,kFAAkF;wBAClF,0DAA0D;iBAC7D;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wEAAwE;iBACtF;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,8EAA8E;wBAC9E,sFAAsF;wBACtF,eAAe;iBAClB;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mEAAmE,yBAAyB,IAAI;iBAC9G;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mFAAmF;iBACjG;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8EAA8E;iBAC5F;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sGAAsG;iBACpH;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+DAA+D,eAAe,IAAI;iBAChG;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yCAAyC,uBAAuB,IAAI;iBAClF;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,uFAAuF;YACvF,uEAAuE;QACzE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE,EAAE;YACtF,QAAQ,EAAE,CAAC,OAAO,CAAC;YACnB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,mCAAmC;QAC1C,WAAW,EAAE,sDAAsD;QACnE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE,EAAE;YACtF,QAAQ,EAAE,CAAC,OAAO,CAAC;YACnB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,4DAA4D;QACzE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE,EAAE;YACtF,QAAQ,EAAE,CAAC,OAAO,CAAC;YACnB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,4BAA4B;QACnC,WAAW,EACT,6FAA6F;YAC7F,0FAA0F;YAC1F,2BAA2B;QAC7B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,EAAE;YAC7E,oBAAoB,EAAE,KAAK;SAC5B;KACF;CACF,CAAC;AAGF,SAAS,UAAU,CAAC,IAAY,EAAE,OAAO,GAAG,KAAK;IAC/C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,UAAU,CAAC,MAA+B,EAAE,GAAW;IAC9D,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,SAAS,UAAU,CAAC,MAA+B,EAAE,GAAW;IAC9D,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AAGD,SAAS,QAAQ,CAAC,MAA+B;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;AAC1D,CAAC;AAGD,SAAS,UAAU,CAAC,MAA+B,EAAE,GAAW;IAC9D,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAA6B,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/G,CAAC;AAMD,SAAS,eAAe,CAAC,MAAiB;IACxC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,WAAW,CAAC;AACvD,CAAC;AASD,SAAS,WAAW,CAAC,GAAY,EAAE,GAAW;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG;QACX,QAAQ,GAAG,CAAC,EAAE,EAAE;QAChB,SAAS,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACxD,WAAW,GAAG,CAAC,MAAM,EAAE;QACvB,YAAY,OAAO,GAAG;KACvB,CAAC;IACF,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,IAAI,GAAG,CAAC,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC9C,IAAI,GAAG,CAAC,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAGhD,IAAI,GAAG,CAAC,KAAK,EAAE,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvE,IAAI,GAAG,CAAC,KAAK,EAAE,YAAY;QAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IACnF,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAChE,IAAI,GAAG,CAAC,KAAK,EAAE,cAAc;QAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IACzF,IAAI,GAAG,CAAC,KAAK,EAAE,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,SAAS,CAAC,GAAY,EAAE,GAAW;IAC1C,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,GAAG,MAAM,qEAAqE,CAAC;IACxF,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAK/B,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,6CAA6C,IAAI,EAAE,CAAC;QAChG,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,OAAO,GAAG,MAAM,wEAAwE,OAAO,GAC7F,IAAI,CAAC,CAAC,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC,EACvC,EAAE,CAAC;IACL,CAAC;IACD,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAIzB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5C,OAAO,GAAG,MAAM,iGACd,IAAI,CAAC,CAAC,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC,EACvC,EAAE,CAAC;IACL,CAAC;IACD,OAAO,GAAG,MAAM,OAAO,IAAI,EAAE,CAAC;AAChC,CAAC;AAGD,SAAS,YAAY,CAAC,IAAuB,EAAE,MAAiD;IAC9F,MAAM,GAAG,GAAsB,EAAE,GAAG,IAAI,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QACzD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;;YAChC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,WAAW,CAAC,IAAkB;IACrC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjE,IAAI,IAAI,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,IAAI,CAAC,OAAO;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACrD,IAAI,IAAI,CAAC,WAAW;QAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACrE,IAAI,IAAI,CAAC,WAAW;QAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACpE,IAAI,IAAI,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,OAAO,iBAAiB;IASC;IARZ,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;IAC1B,KAAK,CAAc;IACnB,SAAS,CAAc;IACvB,GAAG,CAAe;IAClB,GAAG,CAAe;IAClB,QAAQ,CAAS;IAC1B,MAAM,GAAG,EAAE,CAAC;IAEpB,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;QAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,kBAAkB,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,kBAAkB,CAAC;QAClD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QAChC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,iBAAiB,CAAC;IACrD,CAAC;IAGD,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;QACrB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IAGD,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACxB,CAAC;IAEO,IAAI,CAAC,OAAwB;QACnC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1C,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,IAAY;QACnC,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YAEP,IAAI,CAAC,IAAI,CAAC,KAAK,CACb,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,CAAC,CACpG,CAAC;YACF,OAAO;QACT,CAAC;QAID,IAAI,qBAAqB,CAAC,MAAM,CAAC;YAAE,OAAO;QAC1C,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAAE,OAAO;QAEtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,oBAAoB,EAAE,mBAAmB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC9F,OAAO;YACT,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YAEX,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,kBAAkB,EAAG,CAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,MAAe;QACjD,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,YAAY;gBACf,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,MAAM;gBACT,OAAO,EAAE,CAAC;YACZ,KAAK,YAAY;gBACf,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,KAAK,YAAY;gBACf,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC/B;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,MAAe;QAChC,MAAM,CAAC,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAA4B,CAAC;QACnG,OAAO;YACL,eAAe,EAAE,wBAAwB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAC/D,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE;YAC/C,UAAU,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE;YAC9E,YAAY,EAAE,gBAAgB;SAC/B,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,MAAe;QACpC,MAAM,CAAC,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAA4B,CAAC;QACnG,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,IAAI;YACzE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAChB,CAAC,CAAC,EAAE,CAA4B,CAAC;QACnC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAClG,CAAC;QACD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,UAAU;gBACb,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACjC,KAAK,iBAAiB;gBACpB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC/B,KAAK,iBAAiB;gBACpB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC/B,KAAK,iBAAiB;gBACpB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC/B,KAAK,gBAAgB;gBACnB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9B;gBACE,OAAO,UAAU,CAAC,iBAAiB,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,IAA6B;QACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YACrC,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;YAC9B,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,UAAU,CACf,qCAAqC,IAAI,CAAC,MAAM,MAAM;gBACpD,iFAAiF,CACpF,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1G,OAAO,UAAU,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,SAAS,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACrF,CAAC;IAEO,UAAU,CAAC,IAA6B;QAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,OAAO,UAAU,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;QACtE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,OAAO,UAAU,CAAC,kBAAkB,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7D,OAAO,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAEO,UAAU,CAAC,IAA6B;QAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,OAAO,UAAU,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;QACtE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,OAAO,UAAU,CAAC,kBAAkB,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7D,OAAO,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEO,UAAU,CAAC,IAA6B;QAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,OAAO,UAAU,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;QACtE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,OAAO,UAAU,CAAC,kBAAkB,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,gBAAgB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7F,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAA6B;QACtD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI;YAAE,OAAO,UAAU,CAAC,oCAAoC,EAAE,IAAI,CAAC,CAAC;QAMzE,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;QAC7B,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,OAAO,UAAU,CACf,6BAA6B,KAAK,qBAAqB,IAAI,CAAC,QAAQ,KAAK;gBACvE,kDAAkD,EACpD,IAAI,CACL,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YACrC,IAAI;YACJ,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;YAC9B,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;SAC/B,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,UAAU,CAAC,yBAAyB,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,eAAe,CAAC;QAC7D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,uBAAuB,CAAC;QAC3E,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE5B,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAM/C,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE;gBACrC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAClC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAClC,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC;gBACxC,MAAM;gBACN,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAED,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,UAAU,CAAC,qBAAqB,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;QAElF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAIjB,OAAO,UAAU,CACf,SAAS,IAAI,CAAC,EAAE,8BAA8B,IAAI,CAAC,WAAW,IAAI,yBAAyB,IAAI,CAAC,IAAI,IAAI,GAAG,uCAAuC,GAAG,EACrJ,IAAI,CACL,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvD,GAAG,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAEnC,IAAI,GAAyD,CAAC;QAC9D,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;QACnF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAG,CAAW,CAAC,OAAO,CAAC,CAAC;YAC7C,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAEzC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAC7B,KAAK,EAAE,CAAC,EAAE,EAAE;YAGV,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,WAAW;gBAAE,OAAO,MAAe,CAAC;YAC1E,MAAM,MAAM,GAAG,wBAAwB,CAAC;gBACtC,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,SAAS;gBAC5B,OAAO,EAAE,IAAI,CAAC,MAAO,CAAC,OAAO;gBAC7B,IAAI,EAAE,IAAI,CAAC,MAAO,CAAC,IAAI;aACxB,CAAC,CAAC;YACH,IAAI,eAAe,GAAuB,MAAM,CAAC,CAAC,CAAC,iBAAiB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACjG,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,WAAW;oBAAE,OAAO,MAAe,CAAC;gBAC1E,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC;gBAC7C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBAGX,MAAM,MAAM,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC1D,eAAe,GAAG,GAAG,eAAe,0BAA0B,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;oBACrF,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,eAAe,EAAE,EAAE,CAAC;gBAC/E,CAAC;YACH,CAAC;YAMD,IAAI,eAAe,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7E,eAAe,GAAG,mBAAmB,CAAC;YACxC,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC;YAC/C,OAAO,MAAe,CAAC;QACzB,CAAC,EACD,CAAC,CAAQ,EAAE,EAAE;YACX,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,MAAe,CAAC;QACzB,CAAC,CACF,CAAC;QAEF,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAYO,KAAK,CAAC,cAAc,CAC1B,IAAkB,EAClB,IAAY,EACZ,IAMC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,UAAU,CAAC,SAAS,IAAI,CAAC,EAAE,gDAAgD,EAAE,IAAI,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAExD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;QAGzD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAEzF,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAChE,CAAC,OAAO,EAAE,EAAE;YACV,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,WAAW;gBAAE,OAAO,MAAe,CAAC;YAC1E,IAAI,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;YAC9C,IAAI,eAAe,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjG,eAAe,GAAG,mBAAmB,CAAC;YACxC,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,MAAe,CAAC;QACzB,CAAC,EACD,CAAC,CAAQ,EAAE,EAAE;YACX,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,WAAW;gBAAE,OAAO,MAAe,CAAC;YAC1E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,MAAe,CAAC;QACzB,CAAC,CACF,CAAC;QAEF,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAUO,KAAK,CAAC,cAAc,CAC1B,IAAY,EACZ,IAAY,EACZ,IAAgH,EAChH,MAAmB;QAEnB,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC/D,MAAM,IAAI,GAA4B;YACpC,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,IAAI,CAAC,SAAS,IAAI,yBAAyB;YACvD,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SAC5C,CAAC;QACF,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAClG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACzD,CAAC;QAED,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;gBACnC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,mBAAmB,EAAE,YAAY;oBACjC,cAAc,EAAE,kBAAkB;oBAGlC,WAAW,EAAE,OAAO;iBACrB;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAKnB,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;YACzE,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAEjB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO;gBACL,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAChF,eAAe,EAAE,uBAAuB,QAAQ,CAAC,MAAM,EAAE;aAC1D,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;gBACL,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,+BAAgC,CAAW,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC/G,eAAe,EAAE,mCAAmC;gBACpD,KAAK;aACN,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAClE,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC;IAChF,CAAC;IAQO,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,OAAwB,EAAE,MAAc;QAC/E,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAC/B,OAAO;YACP,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,EAAE;gBACjC,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;gBAEvD,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,UAAU;oBAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YAC/C,CAAC,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO;YAAE,OAAO,UAAU,CAAC,kBAAkB,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,UAAU,CACf,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,2BAA2B,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK;gBAC1F,oCAAoC,KAAK,+BAA+B,CAC3E,CAAC;QACJ,CAAC;QACD,OAAO,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACrF,CAAC;CACF;AAOD,SAAS,iBAAiB,CAAC,MAAe,EAAE,SAAkB;IAC5D,MAAM,OAAO,GAAG,MAAmC,CAAC;IACpD,MAAM,OAAO,GAAmB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAqB,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CACnE,CAAC;QACF,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,CAAC;IACD,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,CAAC,EAAsD,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAQ,CAAwB,CAAC,IAAI,KAAK,QAAQ,CAAC;SAC1I,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC"}
@@ -1,4 +1,4 @@
1
- import { unroutableOffloadClient } from "../config.js";
1
+ import { AUTO_MODEL, unroutableOffloadClient } from "../config.js";
2
2
  import { buildRegistry } from "../registry.js";
3
3
  import { buildCandidates } from "../candidates.js";
4
4
  import { offloadState, setOffload } from "../offload.js";
@@ -35,6 +35,7 @@ function relayModels(cfg, h) {
35
35
  collectModelAliases(cfg.routing.subagents, ids);
36
36
  for (const name of Object.keys(cfg.routing.pools ?? {}))
37
37
  ids.add(`pool/${name}`);
38
+ ids.add(AUTO_MODEL);
38
39
  const publishedContextWindow = contextWindowResolver((provider, model) => h.catalog.cachedLimits(provider, model)?.contextLength ?? null, snapshotContextWindow, observedContextLimit);
39
40
  return [...ids].sort().map((id) => {
40
41
  let contextWindow = CODEX_DEFAULT_CONTEXT_WINDOW;
@@ -1 +1 @@
1
- {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/routes/admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/routes/admin.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,17 @@ export interface MessagesContext {
41
41
  latencyDemotedFirst: string | null;
42
42
  accounting: RequestAccountingState | null;
43
43
  cfg: Config;
44
+ /**
45
+ * The ONE routing instant, captured in `handle` after route-level pruning.
46
+ *
47
+ * ⚠ It is threaded in rather than re-read here, and that is load-bearing. The same instant drives
48
+ * `orderDeploymentGroupsByUsability`, `rankCredentialAttempts` and this walk, so the ordering and
49
+ * the walk cannot disagree about whether a cell is cooling. Calling `Date.now()` here instead
50
+ * re-reads the clock per candidate, so a cooldown lapsing mid-walk changes the answer part-way
51
+ * through and the walk stops being deterministic — and the OpenAI front, which still passes
52
+ * `routingNow`, would then run a different policy from this one.
53
+ */
54
+ routingNow: number;
44
55
  }
45
56
  export interface AnthropicCtx {
46
57
  tools: Map<string, JsonSchema | null>;
@@ -6,7 +6,7 @@ import { emitSse, emitSseTail, syntheticMessageId } from "../emitSse.js";
6
6
  import { repair } from "../repair.js";
7
7
  import { CredentialWalk } from "../credential-select.js";
8
8
  import { baseLog } from "../request-log.js";
9
- import { beginAttemptRun, buildForwardHeaders, classifyStatus, completeAttemptCancelled, completeAttemptFailure, completeAttemptSuccess, completePostHeaderBodyFailure, CredentialAttemptTrace, CredentialConfigError, credentialEvidence, degradedLabel, DEFAULT_STALL_TIMEOUT_MS, DEFAULT_WALK_BUDGET_MS, endWalk, handleMidStreamError, inspectCandidateResponse, markAttemptCommitted, nextUncappedAttempt, observeAttemptHeaders, paidLabel, Pool429Tracker, recordCredentialOutcome, recordCredentialStarted, recordStickySuccess, releaseAttemptRun, RequestAttemptTrace, respondAllCapped, responseHeadersForTarget, runAttemptWithHedge, shouldTryNext, stickyProvenanceHeaders, toolUseIdRewriteField, walkExitHeaders, walkOutcomeForResponse, } from "../candidate-runner.js";
9
+ import { beginAttemptRun, buildForwardHeaders, classifyStatus, completeAttemptCancelled, completeAttemptFailure, completeAttemptSuccess, completePostHeaderBodyFailure, CredentialAttemptTrace, CredentialConfigError, credentialEvidence, degradedLabel, DEFAULT_STALL_TIMEOUT_MS, DEFAULT_WALK_BUDGET_MS, endWalk, handleMidStreamError, inspectCandidateResponse, markAttemptCommitted, nextUncappedAttempt, observeAttemptHeaders, paidLabel, Pool429Tracker, recordCredentialOutcome, recordCredentialStarted, recordStickySuccess, releaseAttemptRun, RequestAttemptTrace, respondAllCapped, responseHeadersForTarget, runAttemptWithHedge, shouldTryNext, stickyProvenanceHeaders, toolUseIdRewriteField, walkExitHeaders, walkOutcomeForResponse, beginHealthAttempt, } from "../candidate-runner.js";
10
10
  import { failClosed, forwardLocalResponse, MAX_VALIDATE_BYTES, parseAssistant, frameEnd, frameOpensToolUse, sseError, withStallWatchdog, writeChunk, } from "../stream-pipeline.js";
11
11
  function dedupe(xs) {
12
12
  return [...new Set(xs)];
@@ -427,8 +427,8 @@ export async function anthropicMessagesPath(res, ctx, h) {
427
427
  const credentialWalk = new CredentialWalk(ctx.walkAttempts, {
428
428
  lru: h.credentialLru,
429
429
  walkBudgetMs: ctx.cfg.walkBudgetMs ?? DEFAULT_WALK_BUDGET_MS,
430
- selectionNow: Date.now(),
431
- evidenceFor: (attempt) => credentialEvidence(attempt, ctx.cfg, h.breaker, Date.now()),
430
+ selectionNow: ctx.routingNow,
431
+ evidenceFor: (attempt) => credentialEvidence(attempt, ctx.cfg, h.breaker, ctx.routingNow),
432
432
  maxInFlight: h.hedgeMaxInFlight,
433
433
  });
434
434
  const credentialTrace = new CredentialAttemptTrace(ctx.cfg);
@@ -453,29 +453,11 @@ export async function anthropicMessagesPath(res, ctx, h) {
453
453
  run.egressCallbackCalled = true;
454
454
  pool429.noteEgress();
455
455
  const egressAt = Date.now();
456
- const identity = {
457
- provider: run.target.provider,
458
- model: run.target.model ?? null,
459
- kind: run.target.kind,
460
- credentialId: run.resolvedAttempt.credentialId,
461
- base: run.target.base,
462
- };
463
- const begun = h.breaker.beginAttempt(identity);
464
- if (!begun.ok)
456
+ run.attempt =
457
+ beginHealthAttempt(h, run.resolvedAttempt, egressAt, attemptTrace, run.usage, ctx.accounting) ??
458
+ undefined;
459
+ if (!run.attempt)
465
460
  throw new Error("llm-relay: could not begin provider attempt");
466
- run.attempt = {
467
- committed: false,
468
- handle: begun.value,
469
- identity,
470
- resolvedAttempt: run.resolvedAttempt,
471
- target: run.target,
472
- started: egressAt,
473
- trace: attemptTrace,
474
- usage: run.usage,
475
- accounting: ctx.accounting,
476
- accountingAttempt: null,
477
- completed: false,
478
- };
479
461
  run.attempt.accountingAttempt = ctx.accounting?.startServe(run.resolvedAttempt, egressAt) ?? null;
480
462
  recordCredentialStarted(credentialWalk, credentialTrace, run.resolvedAttempt);
481
463
  tried.push(specOfTarget(run.target));