llm-relay 0.41.0 → 0.43.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.
@@ -1,4 +1,4 @@
1
1
  <!doctype html>
2
- <html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Relay analytics</title> <script type="module" crossorigin src="/dashboard/assets/index-B2fuSM77.js"></script>
2
+ <html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Relay analytics</title> <script type="module" crossorigin src="/dashboard/assets/index-u-Ez_oE6.js"></script>
3
3
  <link rel="stylesheet" crossorigin href="/dashboard/assets/index-B_lGhkan.css">
4
4
  </head><body><div id="root"></div></body></html>
@@ -79,6 +79,13 @@ export type SpendSource = "provider_reported" | "relay_estimated" | "unknown";
79
79
  export type LimitBasis = "provider_stated" | "configured" | "learned" | "published";
80
80
  export type RemainingBasis = "provider_stated" | "derived_provider_stated" | "derived_configured" | "derived_learned" | "derived_published";
81
81
  export type LocalUsedBasis = "reported" | "estimated" | "mixed";
82
+ /**
83
+ * Where a quota row's `resetsAt` came from (spec §5.2 ladder). `provider_stated` is the response's
84
+ * own header/observation; `reviewed_rule` is a persisted reviewed refusal-interpretation rule
85
+ * (added 2026-08-23, additive — the rung existed unfed until the fact store started persisting
86
+ * reset provenance); `derived_boundary` is the UTC period boundary this relay computed.
87
+ */
88
+ export type ResetsAtBasis = "provider_stated" | "reviewed_rule" | "derived_boundary";
82
89
  export declare const TOKEN_SOURCES: readonly ["provider_reported", "relay_estimated"];
83
90
  export declare const SPEND_PRICE_SOURCES: readonly ["provider_published", "reference"];
84
91
  export declare const TOKEN_BASES: readonly ["reported", "estimated"];
@@ -86,6 +93,7 @@ export declare const SPEND_SOURCES: readonly ["provider_reported", "relay_estima
86
93
  export declare const LIMIT_BASES: readonly ["provider_stated", "configured", "learned", "published"];
87
94
  export declare const REMAINING_BASES: readonly ["provider_stated", "derived_provider_stated", "derived_configured", "derived_learned", "derived_published"];
88
95
  export declare const LOCAL_USED_BASES: readonly ["reported", "estimated", "mixed"];
96
+ export declare const RESETS_AT_BASES: readonly ["provider_stated", "reviewed_rule", "derived_boundary"];
89
97
  export type ResponseAttribution = Attribution | "all";
90
98
  export declare const RESPONSE_ATTRIBUTIONS: readonly ["relay_held", "caller_operated", "unknown", "all"];
91
99
  /**
@@ -349,6 +357,11 @@ export interface QuotaRowV1 {
349
357
  limitBasis: LimitBasis | null;
350
358
  remainingBasis: RemainingBasis | null;
351
359
  localUsedBasis: LocalUsedBasis | null;
360
+ /**
361
+ * Where `resetsAt` came from (spec §5.2 ladder); null when the row has no reset at all. Added
362
+ * 2026-08-23, additive — the rung existed unfed until the fact store persisted reset provenance.
363
+ */
364
+ resetsAtBasis: ResetsAtBasis | null;
352
365
  }
353
366
  export interface CooldownRowV1 {
354
367
  credentialId: string;
@@ -418,6 +431,7 @@ export declare const isDashboardSpendSource: (value: unknown) => value is SpendS
418
431
  export declare const isDashboardLimitBasis: (value: unknown) => value is LimitBasis;
419
432
  export declare const isDashboardRemainingBasis: (value: unknown) => value is RemainingBasis;
420
433
  export declare const isDashboardLocalUsedBasis: (value: unknown) => value is LocalUsedBasis;
434
+ export declare const isDashboardResetsAtBasis: (value: unknown) => value is ResetsAtBasis;
421
435
  export declare const isDashboardErrorCode: (value: unknown) => value is DashboardErrorCode;
422
436
  export declare const isDashboardErrorMessage: (value: unknown) => value is DashboardErrorMessage;
423
437
  export declare const isDashboardQueryIncludeRepair: (value: unknown) => value is DashboardQueryIncludeRepair;
@@ -132,6 +132,7 @@ export const SPEND_SOURCES = Object.freeze(["provider_reported", "relay_estimate
132
132
  export const LIMIT_BASES = Object.freeze(["provider_stated", "configured", "learned", "published"]);
133
133
  export const REMAINING_BASES = Object.freeze(["provider_stated", "derived_provider_stated", "derived_configured", "derived_learned", "derived_published"]);
134
134
  export const LOCAL_USED_BASES = Object.freeze(["reported", "estimated", "mixed"]);
135
+ export const RESETS_AT_BASES = Object.freeze(["provider_stated", "reviewed_rule", "derived_boundary"]);
135
136
  export const RESPONSE_ATTRIBUTIONS = Object.freeze(["relay_held", "caller_operated", "unknown", "all"]);
136
137
  /**
137
138
  * Map a snapshot query's attribution filter onto the response attribution it selects.
@@ -170,6 +171,7 @@ export const isDashboardSpendSource = (value) => isValueIn(SPEND_SOURCES, value)
170
171
  export const isDashboardLimitBasis = (value) => isValueIn(LIMIT_BASES, value);
171
172
  export const isDashboardRemainingBasis = (value) => isValueIn(REMAINING_BASES, value);
172
173
  export const isDashboardLocalUsedBasis = (value) => isValueIn(LOCAL_USED_BASES, value);
174
+ export const isDashboardResetsAtBasis = (value) => isValueIn(RESETS_AT_BASES, value);
173
175
  export const isDashboardErrorCode = (value) => isValueIn(DASHBOARD_ERROR_CODES, value);
174
176
  export const isDashboardErrorMessage = (value) => isValueIn(DASHBOARD_ERROR_MESSAGES, value);
175
177
  export const isDashboardQueryIncludeRepair = (value) => isValueIn(DASHBOARD_QUERY_INCLUDE_REPAIR_VALUES, value);
@@ -588,6 +590,7 @@ export const isQuotaRowV1 = (value) => isExactRecord(value, [
588
590
  "limitBasis",
589
591
  "remainingBasis",
590
592
  "localUsedBasis",
593
+ "resetsAtBasis",
591
594
  ]) &&
592
595
  isDashboardSafeId(value.credentialId) &&
593
596
  isDashboardSafeId(value.label) &&
@@ -603,7 +606,8 @@ export const isQuotaRowV1 = (value) => isExactRecord(value, [
603
606
  isNullableTimestamp(value.observedAt) &&
604
607
  isNullable(value.limitBasis, isDashboardLimitBasis) &&
605
608
  isNullable(value.remainingBasis, isDashboardRemainingBasis) &&
606
- isNullable(value.localUsedBasis, isDashboardLocalUsedBasis);
609
+ isNullable(value.localUsedBasis, isDashboardLocalUsedBasis) &&
610
+ isNullable(value.resetsAtBasis, isDashboardResetsAtBasis);
607
611
  export const isCooldownRowV1 = (value) => isExactRecord(value, ["credentialId", "provider", "deployment", "reason", "until", "observedAt"]) &&
608
612
  isDashboardSafeId(value.credentialId) &&
609
613
  isDashboardSafeId(value.provider) &&
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-contract.js","sourceRoot":"","sources":["../src/dashboard-contract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,0CAA0C,CAAC;AACpF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,yBAAyB,aAAa,uBAAuB,EAAE,CAAC;AAEvG,MAAM,CAAC,MAAM,yBAAyB,GAAG,uBAAuB,CAAC;AACjE,MAAM,CAAC,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AAC7D,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AACzD,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAE3D,6EAA6E;AAC7E,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,GAAG,IAAI,CAAC;AACrD,MAAM,CAAC,MAAM,wBAAwB,GAAG,2BAA2B,CAAC;AACpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAChD,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAC7C,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAChD,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAClD,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AACnD,MAAM,CAAC,MAAM,4BAA4B,GAAG,yBAAyB,CAAC;AACtE,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,yBAAyB,GAAG,2BAA2B,CAAC;AACrE,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAC/C,MAAM,CAAC,MAAM,8BAA8B,GAAG,2BAA2B,CAAC;AAE1E,kFAAkF;AAClF,MAAM,CAAC,MAAM,qCAAqC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,CAAU,CAAC,CAAC;AAExF,MAAM,CAAC,MAAM,kCAAkC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,iBAAiB,EAAE,KAAK,CAAU,CAAC,CAAC;AAEnH,MAAM,CAAC,MAAM,+BAA+B,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3D,QAAQ;IACR,eAAe;IACf,aAAa;IACb,UAAU;IACV,OAAO;IACP,QAAQ;IACR,cAAc;IACd,SAAS;IACT,aAAa;CACL,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC,MAAM,CAAC;IACxD,aAAa;IACb,UAAU;IACV,OAAO;IACP,QAAQ;IACR,cAAc;IACd,SAAS;IACT,aAAa;CACL,CAAC,CAAC;AAGZ,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAU,CAAC,CAAC;AAG3G;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAU,CAAC,CAAC;AAGpG,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAU,CAAC,CAAC;AAGzE,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAU,CAAC,CAAC;AAG3F,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC,CAAC;AAGhH,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,SAAS;IACT,kBAAkB;IAClB,gBAAgB;IAChB,OAAO;IACP,UAAU;IACV,OAAO;IACP,QAAQ;IACR,YAAY;IACZ,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,WAAW;CACH,CAAC,CAAC;AAGZ,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,CAAU,CAAC,CAAC;AAG7F,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,SAAS;IACT,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,UAAU;IACV,SAAS;CACD,CAAC,CAAC;AAGZ,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,iBAAiB,EAAE,SAAS,CAAU,CAAC,CAAC;AAGjG,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,8CAA8C;IAC9C,qBAAqB;IACrB,SAAS;CACD,CAAC,CAAC;AAGZ,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC,CAAC;AAG5H,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,uBAAuB;IACvB,kBAAkB;IAClB,sBAAsB;IACtB,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;CACD,CAAC,CAAC;AAGZ,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,mBAAmB;IACnB,gBAAgB;IAChB,iBAAiB;IACjB,SAAS;IACT,OAAO;CACC,CAAC,CAAC;AAGZ,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAU,CAAC,CAAC;AAGzE,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,iBAAiB;IACjB,cAAc;IACd,WAAW;IACX,WAAW;IACX,oBAAoB;IACpB,qBAAqB;IACrB,QAAQ;IACR,WAAW;IACX,0BAA0B;IAC1B,UAAU;CACF,CAAC,CAAC;AAGZ,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC;IACpD,iCAAiC;IACjC,mCAAmC;IACnC,yCAAyC;CACjC,CAAC,CAAC;AAkBZ,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,mBAAmB,EAAE,iBAAiB,CAAU,CAAC,CAAC;AAC9F,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,EAAE,WAAW,CAAU,CAAC,CAAC;AAC/F,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,WAAW,CAAU,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,SAAS,CAAU,CAAC,CAAC;AACzG,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,iBAAiB,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,CAAU,CAAC,CAAC;AAC7G,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,iBAAiB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,mBAAmB,CAAU,CAAC,CAAC;AACpK,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAU,CAAC,CAAC;AAG3F,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,CAAU,CAAC,CAAC;AAEjH;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAA4C;IACvF,IAAI,KAAK,KAAK,YAAY;QAAE,OAAO,YAAY,CAAC;IAChD,IAAI,KAAK,KAAK,iBAAiB;QAAE,OAAO,iBAAiB,CAAC;IAC1D,OAAO,KAAK,CAAC;AACf,CAAC;AAgVD,MAAM,SAAS,GAAG,CAAmB,MAAoB,EAAE,KAAc,EAAc,EAAE,CACvF,OAAO,KAAK,KAAK,QAAQ,IAAK,MAA4B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAwC,EAAE,CAC3F,KAAK,KAAK,oBAAoB,CAAC;AACjC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAAqB,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACvG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAsB,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACzG,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAwB,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAChH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAAqB,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AAC5G,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAoB,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAoB,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAwB,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAChH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAwB,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AAC/G,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,KAAc,EAAgC,EAAE,CAC7F,SAAS,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAc,EAA8B,EAAE,CACzF,SAAS,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAc,EAA2B,EAAE,CACnF,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AACrC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAc,EAA2B,EAAE,CACnF,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AACrC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAAuB,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;AAClH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAwB,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAChH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAwB,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAChH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,KAAc,EAA6B,EAAE,CACvF,SAAS,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAAuB,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AAC5G,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAwB,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAChH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAAuB,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AAC5G,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAc,EAA2B,EAAE,CACnF,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AACpC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAc,EAA2B,EAAE,CACnF,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AACrC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAA+B,EAAE,CAClF,SAAS,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAc,EAAkC,EAAE,CACxF,SAAS,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,KAAc,EAAwC,EAAE,CACpG,SAAS,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,KAAc,EAAsC,EAAE,CAChG,SAAS,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,KAAc,EAAwC,EAAE,CACpG,SAAS,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAAc,EAAqC,EAAE,CAC9F,SAAS,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;AAEjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAmB,EAAE,CACtE,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAEzE;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAiB,EAAE;IAC7D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,QAAQ,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5E,IAAI,SAAS,GAAG,QAAQ,CAAC;QACzB,IAAI,QAAQ,IAAI,MAAM,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACzC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,MAAM,IAAI,IAAI,GAAG,MAAM;gBAAE,OAAO,IAAI,CAAC;YACtE,SAAS,GAAG,OAAO,GAAG,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;YACpE,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,QAAQ,IAAI,MAAM,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAmB,EAAE;IACnE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,2BAA2B,CAAC;AACrF,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAmB,EAAE;IACtE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,MAAM,IAAI,+BAA+B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,8BAA8B,CAAC;AACtH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,KAAc,EAAmB,EAAE;IAC7E,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,yBAAyB,CAAC;AAC9D,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,KAAc,EAAmB,EAAE,CACpF,oBAAoB,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,2BAA2B,CAAC;AAEtE,MAAM,CAAC,MAAM,mCAAmC,GAAG,4BAA4B,CAAC,MAAM,CAAC;AACvF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAmB,EAAE,CACtE,OAAO,KAAK,KAAK,QAAQ,IAAI,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAExE,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CACpE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvE,MAAM,aAAa,GAAG,CAAC,KAAc,EAAE,IAAuB,EAAoC,EAAE,CAClG,QAAQ,CAAC,KAAK,CAAC;IACf,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;IAChD,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;IACxD,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AACxE,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;AAChF,MAAM,SAAS,GAAG,CAAC,KAAc,EAAoB,EAAE,CAAC,OAAO,KAAK,KAAK,SAAS,CAAC;AACnF,MAAM,UAAU,GAAG,CAAI,KAAc,EAAE,KAA6C,EAAqB,EAAE,CACzG,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AACjC,MAAM,cAAc,GAAG,CACrB,KAAc,EACd,SAAiB,EACjB,KAA6C,EAC/B,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAE3F,MAAM,qBAAqB,GAAG,8DAA8D,CAAC;AAC7F,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAc,EAAmB,EAAE;IACzE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IACrF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAChG,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAA0B,EAAE,CACrE,UAAU,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;AAC7C,MAAM,4BAA4B,GAAG,CAAC,KAAc,EAA0B,EAAE,CAC9E,UAAU,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;AAC1C;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAA0B,EAAE,CACvE,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/E,MAAM,aAAa,GAAG,CAAC,KAAc,EAA0B,EAAE,CAC/D,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;AACtG,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAA0B,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACjG,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAA0B,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;AAE1G,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAA8B,EAAE,CAChF,aAAa,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IACvD,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC;IACzC,KAAK,CAAC,MAAM,KAAK,mBAAmB;IACpC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAA+B,EAAE,CAClF,aAAa,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IACjE,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC;IACzC,KAAK,CAAC,MAAM,KAAK,iBAAiB;IAClC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC;IACrC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACjC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAAgC,EAAE,CACpF,aAAa,CAAC,KAAK,EAAE,CAAC,eAAe,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;IAChF,mBAAmB,CAAC,KAAK,CAAC,aAAa,CAAC;IACxC,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC;IACzC,mBAAmB,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAiC,EAAE,CACtF,aAAa,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;IAC3D,oBAAoB,CAAC,KAAK,CAAC,cAAc,CAAC;IAC1C,oBAAoB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAC9C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAA0B,EAAE,CACxE,aAAa,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC/C,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC;IACrC,sBAAsB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAE1C,MAAM,WAAW,GAAG,CAClB,KAAc,EACd,WAA6B,EAC7B,UAAsB,EACtB,OAA+B,EACtB,EAAE,CACX,aAAa,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC7F,4BAA4B,CAAC,KAAK,CAAC,cAAc,CAAC;IAClD,KAAK,CAAC,WAAW,KAAK,WAAW;IACjC,KAAK,CAAC,UAAU,KAAK,UAAU;IAC/B,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;IAChC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,KAAc,EAAsC,EAAE,CAChG,WAAW,CAAC,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC;AACzF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAc,EAAuC,EAAE,CAClG,WAAW,CAAC,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC;AACxF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAA8B,EAAE,CAChF,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAA+B,EAAE,CAClF,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAA0B,EAAE,CACxE,aAAa,CAAC,KAAK,EAAE;IACnB,2BAA2B;IAC3B,4BAA4B;IAC5B,mBAAmB;IACnB,oBAAoB;IACpB,kBAAkB;IAClB,gFAAgF;IAChF,6EAA6E;IAC7E,iEAAiE;IACjE,yBAAyB;CAC1B,CAAC;IACF,2BAA2B,CAAC,KAAK,CAAC,yBAAyB,CAAC;IAC5D,4BAA4B,CAAC,KAAK,CAAC,0BAA0B,CAAC;IAC9D,mBAAmB,CAAC,KAAK,CAAC,iBAAiB,CAAC;IAC5C,oBAAoB,CAAC,KAAK,CAAC,kBAAkB,CAAC;IAC9C,oBAAoB,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAC5C,oBAAoB,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAEtD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAsB,EAAE,CAChE,aAAa,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACpE,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC;IAC5B,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC;IACpC,oBAAoB,CAAC,KAAK,CAAC,cAAc,CAAC;IAC1C,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,QAAQ;IACtC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAE/B,MAAM,eAAe,GAAG,CACtB,KAAc,EACd,WAA6B,EAC7B,UAAsB,EACb,EAAE,CACX,aAAa,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC7F,4BAA4B,CAAC,KAAK,CAAC,cAAc,CAAC;IAClD,KAAK,CAAC,WAAW,KAAK,WAAW;IACjC,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC;AAClC,MAAM,eAAe,GAAG,CAAC,KAAc,EAA0B,EAAE,CACjE,aAAa,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAC/D,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC;IACpC,oBAAoB,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAC5C,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,QAAQ;IACxC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,2BAA2B,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;IAClI,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,yBAAyB,EAAE,oBAAoB,EAAE,UAAU,CAAC;IACxF,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,EAAE,oBAAoB,EAAE,WAAW,CAAC;IAC1F,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAC;IACvE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAyB,EAAE,CACtE,aAAa,CAAC,KAAK,EAAE;IACnB,QAAQ;IACR,aAAa;IACb,MAAM;IACN,IAAI;IACJ,QAAQ;IACR,eAAe;IACf,IAAI;IACJ,MAAM;IACN,OAAO;IACP,QAAQ;IACR,UAAU;IACV,gBAAgB;IAChB,qBAAqB;CACtB,CAAC;IACF,KAAK,CAAC,MAAM,KAAK,qBAAqB;IACtC,uBAAuB,CAAC,KAAK,CAAC,WAAW,CAAC;IAC1C,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC;IAC/B,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;IACjC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC;IACjC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC;IAC9B,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,4BAA4B,EAAE,WAAW,CAAC;IACrE,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;IACxB,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC;IACzC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC;IACnC,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE,yBAAyB,CAAC;IAC3D,SAAS,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAA4B,EAAE,CAC5E,aAAa,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IAC9E,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC;IAC/B,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC;IAChC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,yBAAyB,CAAC;IACnD,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,iBAAiB,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACjF,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAExC,MAAM,gBAAgB,GAAG,CAAC,KAA8B,EAAW,EAAE,CACnE,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC;IACpC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC;IACpC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC;IAClC,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC;IACnC,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC;IACrC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC;IAChC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7B,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,4BAA4B,CAAC,KAAK,CAAC,YAAY,CAAC;IAChD,4BAA4B,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAElD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAsB,EAAE,CAChE,aAAa,CAAC,KAAK,EAAE;IACnB,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,WAAW;IACX,aAAa;IACb,QAAQ;IACR,OAAO;IACP,cAAc;IACd,cAAc;IACd,aAAa;CACd,CAAC;IACF,gBAAgB,CAAC,KAAK,CAAC;IACvB,4BAA4B,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAc,EAAqB,EAAE,CAC9D,aAAa,CAAC,KAAK,EAAE;IACnB,MAAM;IACN,IAAI;IACJ,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,WAAW;IACX,aAAa;IACb,QAAQ;IACR,OAAO;IACP,cAAc;IACd,cAAc;IACd,aAAa;CACd,CAAC;IACF,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC;IACnC,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;IACjC,gBAAgB,CAAC,KAAK,CAAC;IACvB,4BAA4B,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAA+B,EAAE,CAClF,aAAa,CAAC,KAAK,EAAE;IACnB,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,WAAW;IACX,aAAa;IACb,QAAQ;IACR,OAAO;IACP,cAAc;IACd,aAAa;IACb,UAAU;CACX,CAAC;IACF,gBAAgB,CAAC,KAAK,CAAC;IACvB,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,KAAc,EAAmC,EAAE,CAC1F,aAAa,CAAC,KAAK,EAAE;IACnB,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,WAAW;IACX,aAAa;IACb,QAAQ;IACR,OAAO;IACP,cAAc;IACd,aAAa;IACb,UAAU;IACV,WAAW;IACX,UAAU;CACX,CAAC;IACF,gBAAgB,CAAC,KAAK,CAAC;IACvB,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC;IACnC,KAAK,CAAC,SAAS,KAAK,UAAU;IAC9B,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACpC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAAgC,EAAE,CACpF,aAAa,CAAC,KAAK,EAAE;IACnB,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,WAAW;IACX,aAAa;IACb,QAAQ;IACR,OAAO;IACP,cAAc;IACd,aAAa;IACb,UAAU;IACV,WAAW;IACX,UAAU;IACV,OAAO;CACR,CAAC;IACF,gBAAgB,CAAC,KAAK,CAAC;IACvB,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC;IACnC,KAAK,CAAC,SAAS,KAAK,OAAO;IAC3B,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC;IACjC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACjC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAiC,EAAE,CACtF,aAAa,CAAC,KAAK,EAAE;IACnB,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,WAAW;IACX,aAAa;IACb,QAAQ;IACR,OAAO;IACP,cAAc;IACd,aAAa;IACb,UAAU;IACV,WAAW;IACX,QAAQ;CACT,CAAC;IACF,gBAAgB,CAAC,KAAK,CAAC;IACvB,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC;IACnC,KAAK,CAAC,SAAS,KAAK,QAAQ;IAC5B,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAClC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAAc,EAAqC,EAAE,CAC9F,aAAa,CAAC,KAAK,EAAE;IACnB,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,WAAW;IACX,aAAa;IACb,QAAQ;IACR,OAAO;IACP,cAAc;IACd,aAAa;IACb,UAAU;IACV,WAAW;IACX,UAAU;IACV,cAAc;IACd,OAAO;CACR,CAAC;IACF,gBAAgB,CAAC,KAAK,CAAC;IACvB,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC;IACnC,KAAK,CAAC,SAAS,KAAK,YAAY;IAChC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC;IACjC,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC;IACrC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAA2B,EAAE,CAC1E,wBAAwB,CAAC,KAAK,CAAC;IAC/B,qBAAqB,CAAC,KAAK,CAAC;IAC5B,sBAAsB,CAAC,KAAK,CAAC;IAC7B,0BAA0B,CAAC,KAAK,CAAC,CAAC;AAEpC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,KAAc,EAAmC,EAAE,CAC1F,aAAa,CAAC,KAAK,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC5D,sBAAsB,CAAC,KAAK,CAAC,WAAW,CAAC;IACzC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC;IACjC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAyB,EAAE,CACtE,aAAa,CAAC,KAAK,EAAE;IACnB,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,aAAa;IACb,SAAS;IACT,aAAa;IACb,cAAc;IACd,WAAW;IACX,UAAU;IACV,UAAU;IACV,OAAO;IACP,cAAc;IACd,QAAQ;IACR,OAAO;IACP,gBAAgB;CACjB,CAAC;IACF,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC;IACrC,uBAAuB,CAAC,KAAK,CAAC,UAAU,CAAC;IACzC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC;IAC9B,sBAAsB,CAAC,KAAK,CAAC,WAAW,CAAC;IACzC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC;IACjC,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,sBAAsB,CAAC;IACrD,oBAAoB,CAAC,KAAK,CAAC,YAAY,CAAC;IACxC,4BAA4B,CAAC,KAAK,CAAC,SAAS,CAAC;IAC7C,4BAA4B,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC5C,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC;IAChC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC;IAC7B,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC;IACpC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7B,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAClC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAyB,EAAE,CACtE,aAAa,CAAC,KAAK,EAAE;IACnB,WAAW;IACX,MAAM;IACN,WAAW;IACX,SAAS;IACT,QAAQ;IACR,WAAW;IACX,UAAU;IACV,UAAU;IACV,OAAO;IACP,cAAc;IACd,aAAa;IACb,QAAQ;IACR,OAAO;CACR,CAAC;IACF,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC;IACrC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC;IAClC,uBAAuB,CAAC,KAAK,CAAC,SAAS,CAAC;IACxC,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC;IAClC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC;IAChC,4BAA4B,CAAC,KAAK,CAAC,SAAS,CAAC;IAC7C,4BAA4B,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC5C,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC;IAChC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC;IAC7B,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC;IACpC,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,sBAAsB,CAAC;IACrD,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC;IACzC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;AAC3C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAuB,EAAE,CAClE,aAAa,CAAC,KAAK,EAAE;IACnB,cAAc;IACd,OAAO;IACP,UAAU;IACV,YAAY;IACZ,MAAM;IACN,QAAQ;IACR,OAAO;IACP,WAAW;IACX,WAAW;IACX,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,gBAAgB;IAChB,gBAAgB;CACjB,CAAC;IACF,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC;IACrC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;IAC9B,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC;IACjC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC;IAClC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC;IAChC,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC;IACpC,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC;IACzC,+FAA+F;IAC/F,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC;IACtC,4BAA4B,CAAC,KAAK,CAAC,SAAS,CAAC;IAC7C,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC;IACnC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC;IACrC,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,qBAAqB,CAAC;IACnD,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE,yBAAyB,CAAC;IAC3D,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAA0B,EAAE,CACxE,aAAa,CAAC,KAAK,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IACjG,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC;IACrC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC;IACjC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC;IAClC,yBAAyB,CAAC,KAAK,CAAC,MAAM,CAAC;IACvC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC;IAChC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAuB,EAAE,CAClE,aAAa,CAAC,KAAK,EAAE;IACnB,QAAQ;IACR,cAAc;IACd,QAAQ;IACR,eAAe;IACf,aAAa;IACb,mBAAmB;IACnB,aAAa;IACb,MAAM;IACN,MAAM;IACN,IAAI;IACJ,eAAe;IACf,aAAa;IACb,eAAe;IACf,SAAS;IACT,SAAS;IACT,WAAW;IACX,QAAQ;IACR,SAAS;IACT,aAAa;IACb,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,gBAAgB;CACjB,CAAC;IACF,KAAK,CAAC,MAAM,KAAK,yBAAyB;IAC1C,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;IAC5B,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC;IACjC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC;IAC9B,8BAA8B,CAAC,KAAK,CAAC,WAAW,CAAC;IACjD,4BAA4B,CAAC,KAAK,CAAC,iBAAiB,CAAC;IACrD,uBAAuB,CAAC,KAAK,CAAC,WAAW,CAAC;IAC1C,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC;IACnC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC;IAC/B,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;IACjC,mBAAmB,CAAC,KAAK,CAAC,aAAa,CAAC;IACxC,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC;IACtC,cAAc,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACxE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC;IAC1B,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,EAAE,UAAU,CAAC;IAChE,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,4BAA4B,EAAE,wBAAwB,CAAC;IACvF,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,4BAA4B,EAAE,qBAAqB,CAAC;IACjF,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,CAAC;IACnF,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,4BAA4B,EAAE,0BAA0B,CAAC;IAC3F,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,wBAAwB,EAAE,wBAAwB,CAAC;IAChF,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,4BAA4B,EAAE,YAAY,CAAC;IACxE,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,4BAA4B,EAAE,eAAe,CAAC;IAC9E,cAAc,CAAC,KAAK,CAAC,cAAc,EAAE,yBAAyB,EAAE,cAAc,CAAC,CAAC;AAElF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAc,EAAqB,EAAE,CAC9D,aAAa,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IACxE,KAAK,CAAC,MAAM,KAAK,uBAAuB;IACxC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC;IAC7B,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,6BAA6B,EAAE,cAAc,CAAC;IAC7E,cAAc,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAE3E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAA6B,EAAE,CAC9E,aAAa,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAChE,KAAK,CAAC,MAAM,KAAK,sBAAsB;IACvC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC;IAChC,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC;IACtC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAClD,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;AAE9C,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;AAC1F,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;AACtF,CAAC;AACD,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;AACxF,CAAC;AACD,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;AAC7F,CAAC"}
1
+ {"version":3,"file":"dashboard-contract.js","sourceRoot":"","sources":["../src/dashboard-contract.ts"],"names":[],"mappings":"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"}
package/dist/log.d.ts CHANGED
@@ -72,6 +72,24 @@ export interface RequestLog {
72
72
  * so for stream traffic — which is all agentic traffic — this is the only place the pass shows.
73
73
  */
74
74
  toolUseIdRewrites?: number;
75
+ /**
76
+ * How many OUTBOUND tool-call ids the request mapper rewrote to the serving provider's stated
77
+ * shape (`src/openai-request.ts`, `compat.toolCallIds: "strict9"` — mistral's
78
+ * `^[a-zA-Z0-9]{9}$`). Absent when none were, which is every provider that states no such rule.
79
+ *
80
+ * ⚠ A COUNT, never an id — the same rule as `toolUseIdRewrites`.
81
+ */
82
+ toolCallIdRewrites?: number;
83
+ /**
84
+ * How many replayed tool calls the request mapper stamped with gemini's documented
85
+ * thought-signature sentinel (`src/openai-request.ts`, `compat.thoughtSignature: "sentinel"`).
86
+ * Absent when none were, which is every provider but Google's Generative Language API.
87
+ *
88
+ * ⚠ A COUNT, never a signature. This one has NO response header at all — the sentinel is
89
+ * vendor-protocol padding on the relay's own outbound shape, not a change to the caller's data,
90
+ * so the log is the one place the pass shows.
91
+ */
92
+ thoughtSignatureSentinels?: number;
75
93
  latencyMs: number;
76
94
  }
77
95
  export declare class MetadataLogger {
package/dist/log.js CHANGED
@@ -28,6 +28,8 @@ const LOG_FIELDS = [
28
28
  "errorKinds",
29
29
  "repair",
30
30
  "toolUseIdRewrites",
31
+ "toolCallIdRewrites",
32
+ "thoughtSignatureSentinels",
31
33
  "latencyMs",
32
34
  ];
33
35
  const ATTEMPT_FIELDS = ["provider", "model", "status", "ms"];
package/dist/log.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnF,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAmFnC;;;;;;;;;GASG;AACH,MAAM,UAAU,GAAG;IACjB,IAAI;IACJ,MAAM;IACN,gBAAgB;IAChB,aAAa;IACb,kBAAkB;IAClB,uBAAuB;IACvB,UAAU;IACV,UAAU;IACV,UAAU;IACV,eAAe;IACf,WAAW;IACX,cAAc;IACd,kBAAkB;IAClB,YAAY;IACZ,QAAQ;IACR,mBAAmB;IACnB,WAAW;CACqC,CAAC;AAEnD,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAyD,CAAC;AAErH,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,GAAG,GAAwB,EAAE,CAAC;IACpC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,EAAE,CAAC;QACnD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;YAAE,SAAS;QACtD,MAAM,SAAS,GAAG,GAA8B,CAAC;QACjD,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,WAAW,GACf,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvD,MAAM,KAAK,QAAQ;YACnB,MAAM,KAAK,WAAW;YACtB,MAAM,KAAK,WAAW;YACtB,MAAM,KAAK,WAAW;YACtB,MAAM,KAAK,QAAQ,CAAC;QACtB,IACE,OAAO,QAAQ,KAAK,QAAQ;YAC5B,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;YAC7C,CAAC,WAAW;YACZ,OAAO,EAAE,KAAK,QAAQ;YACtB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EACpB,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,cAAc;YAAE,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QACxE,GAAG,CAAC,IAAI,CAAC,SAAyC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iEAAiE;AACjE,SAAS,YAAY,CAAC,MAAkB;IACtC,MAAM,IAAI,GAAG,MAA4C,CAAC;IAC1D,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YACzB,GAAG,CAAC,KAAK,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACzC,SAAS;QACX,CAAC;QACD,IAAI,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,qFAAqF;AACrF,SAAS,cAAc,CAAC,IAAY,EAAE,aAAqB,EAAE,QAAgB;IAC3E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,aAAa,IAAI,QAAQ;QAAE,OAAO;IACjF,MAAM,WAAW,GAAG,GAAG,IAAI,IAAI,CAAC;IAChC,MAAM,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,GAAkB;QAAlB,QAAG,GAAH,GAAG,CAAe;IAAG,CAAC;IAEnD,KAAK,CAAC,MAAkB;QACtB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO;QACxC,yEAAyE;QACzE,0EAA0E;QAC1E,gEAAgE;QAChE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAClD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;oBAC1B,cAAc,CACZ,IAAI,CAAC,GAAG,CAAC,IAAI,EACb,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EACxB,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,qBAAqB,CAC3C,CAAC;oBACF,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACvC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;YACvE,4EAA4E;QAC9E,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,71 @@ export interface AnthropicToOpenAiOptions {
43
43
  model?: string | undefined;
44
44
  /** Whether THIS hop streams — a relay decision, not the caller's. Falls back to the body. */
45
45
  stream?: boolean | undefined;
46
+ /**
47
+ * The RESOLVED outbound tool-call-id shape for this deployment (`config.ts`
48
+ * `resolveToolCallIdMode`). Absent ⇒ `"preserve"` ⇒ the outbound bytes are identical to what
49
+ * this mapper emitted before the mode existed. Never a provider name: the mapper is handed a
50
+ * decision, it does not make one.
51
+ */
52
+ toolCallIds?: ToolCallIdMode | undefined;
53
+ /**
54
+ * Called once per run with how many ids the `"strict9"` pass rewrote (0 included). The same
55
+ * out-param idiom `backend.ts` uses for the streamed `tool_use` mint — the count is metadata
56
+ * about the translation, not part of the body it returns.
57
+ */
58
+ onToolCallIdsRewritten?: ((count: number) => void) | undefined;
59
+ /**
60
+ * The RESOLVED thought-signature mode for this deployment (`config.ts`
61
+ * `resolveThoughtSignatureMode`). Absent ⇒ `"none"` ⇒ the outbound bytes are identical to what
62
+ * this mapper emitted before the mode existed. Never a provider name, same rule as
63
+ * `toolCallIds`.
64
+ */
65
+ thoughtSignature?: ThoughtSignatureMode | undefined;
66
+ /**
67
+ * Called once per run with how many tool calls the `"sentinel"` pass stamped (0 included). Same
68
+ * out-param idiom as `onToolCallIdsRewritten`, and the count is metadata about the translation,
69
+ * not part of the body it returns.
70
+ */
71
+ onThoughtSignatureSentinels?: ((count: number) => void) | undefined;
72
+ }
73
+ /** Mirrors `config.ts`'s `ToolCallIdMode`, restated so this module imports no config surface. */
74
+ export type ToolCallIdMode = "preserve" | "strict9";
75
+ /** Mirrors `config.ts`'s `ThoughtSignatureMode`, restated for the same reason. */
76
+ export type ThoughtSignatureMode = "none" | "sentinel";
77
+ /**
78
+ * The hash `strict9` derives an outbound id from — SHA-256 in production, and the ONLY reason this
79
+ * is a parameter at all is the collision policy below.
80
+ *
81
+ * ⚠ **TEST-ONLY SEAM, and it exists because the policy is otherwise unverifiable.** The `#k`
82
+ * re-hash in `ToolCallIds.map` fires when two source ids land on the same 9-character base62
83
+ * value, i.e. at odds of 62⁻⁹, so reaching that branch against real SHA-256 would take a preimage
84
+ * — the documented behaviour ("collisions resolve deterministically by FIRST-APPEARANCE order")
85
+ * could regress in either direction with nothing turning red. Injecting the digest lets
86
+ * `test/tool-call-ids.test.ts` construct the collision directly. Production never passes one: the
87
+ * default IS SHA-256, and the same test pins a real-SHA mapping so the default path stays covered.
88
+ */
89
+ export type ToolCallIdDigest = (input: string) => Uint8Array;
90
+ /**
91
+ * The one per-run source-id → outbound-id map, shared by `toolCall` and `toolResultMessage` so
92
+ * both halves of a pair always land on the same value (mistral v13 checks that linkage).
93
+ *
94
+ * An id that already conforms is kept as-is, so a mistral-native id coming back through a later
95
+ * turn round-trips unchanged. Collisions resolve deterministically by FIRST-APPEARANCE order:
96
+ * the run is a single in-order walk of the conversation, so the same conversation always produces
97
+ * the same assignment.
98
+ *
99
+ * ⚠ Exported ONLY so a test can hand it a colliding digest — see `ToolCallIdDigest`. Nothing
100
+ * outside this module constructs one on the request path; `anthropicRequestToOpenAi` owns the
101
+ * per-run instance and hands it to both halves of the pair itself.
102
+ */
103
+ export declare class ToolCallIds {
104
+ private readonly digest;
105
+ private readonly bySource;
106
+ private readonly taken;
107
+ private rewritten;
108
+ constructor(digest?: ToolCallIdDigest);
109
+ map(id: string): string;
110
+ count(): number;
46
111
  }
47
112
  /**
48
113
  * Translate one Anthropic Messages request body into an OpenAI Chat Completions request body.
@@ -24,6 +24,7 @@
24
24
  * and `metadata.user_id` is a caller identifier that has never reached these providers); the
25
25
  * request-level `thinking` budget is dropped (mapping it to `reasoning_effort` would be a guess).
26
26
  */
27
+ import { createHash } from "node:crypto";
27
28
  /**
28
29
  * A request shape this mapper will not put on the wire. The caller turns it into a clean 400,
29
30
  * exactly as `DocumentError` does — local origin, provider never asked.
@@ -34,6 +35,137 @@ export class RequestMappingError extends Error {
34
35
  this.name = "RequestMappingError";
35
36
  }
36
37
  }
38
+ /**
39
+ * Google's documented opt-out token for a replayed tool call that carries no real thought
40
+ * signature.
41
+ *
42
+ * FIRST-PARTY EVIDENCE (2026-08-23, `models/gemini-3.6-flash` via the OpenAI-compatible endpoint
43
+ * at `generativelanguage.googleapis.com`): replaying an assistant `tool_calls` turn answers HTTP
44
+ * 400 — "Function call is missing a thought_signature in functionCall parts…". Stamping this
45
+ * string at `tool_calls[N].extra_content.google.thought_signature` was verified accepted on the
46
+ * live endpoint the same day, for a single call and for BOTH entries of a parallel pair; the
47
+ * model then answered correctly from the tool results. It is a RAW string and is never
48
+ * base64-encoded — encoding it makes it an unparseable signature rather than the opt-out.
49
+ *
50
+ * WHY THE SENTINEL AND NOT THE REAL SIGNATURE. Echoing gemini's own signature back would need one
51
+ * of two things this relay refuses to build:
52
+ *
53
+ * - a conversation store keyed by tool-call id, holding vendor-private reasoning between turns —
54
+ * the reverse map `tool-use-ids.ts` deliberately does not have ("no reverse map, by
55
+ * construction": the client echoes what it was given and the relay remembers nothing); or
56
+ * - a fabricated `thinking` block smuggled back through the caller's conversation, which would
57
+ * poison every anthropic-kind failover candidate with content the caller never wrote.
58
+ *
59
+ * Meanwhile this mapper DROPS `thinking` / `redacted_thinking` cross-vendor by rule (see
60
+ * `assistantMessage` and `userMessages` below, and the module header's "mapping it to
61
+ * `reasoning_effort` would be a guess" precedent), so no real signature is in hand to echo in the
62
+ * first place. The sentinel is the vendor's OWN token for exactly this state — a labelled
63
+ * parameter quirk, not an invented measurement — and it is config-overridable
64
+ * (`compat.thoughtSignature`), which is the condition the "Provider knowledge is data" invariant
65
+ * attaches to any provider fact living in `src/`.
66
+ */
67
+ const THOUGHT_SIGNATURE_SENTINEL = "skip_thought_signature_validator";
68
+ /**
69
+ * Mistral's stated tool-call-id shape.
70
+ *
71
+ * First-party evidence (2026-08-23, `mistral-medium-2505`): forwarding a caller-side id verbatim
72
+ * answers HTTP 400
73
+ * `{"object":"error","message":"Tool call id was toolu_01AAAAAAAAAAAAAAAAAAAAAA but must be a-z, A-Z, 0-9, with a length of 9.","type":"invalid_function_call","code":"3280"}`.
74
+ * `mistral-common` enforces it on BOTH the assistant `tool_calls[].id` and the answering tool
75
+ * message's `tool_call_id`, and from v13 also enforces linkage (a tool message must answer an id
76
+ * a prior assistant turn actually called) and uniqueness. Every id shape that reaches this mapper
77
+ * violates it: `toolu_01…` (Anthropic), `Read:0` (nim kimi-k3), `Read:0_relay1` (relay-minted),
78
+ * `call_…` (Codex via the Responses front), `tu_recovered_0` (dialect rescue).
79
+ */
80
+ const STRICT9 = /^[a-zA-Z0-9]{9}$/;
81
+ const BASE62 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
82
+ const sha256Digest = (input) => createHash("sha256").update(input, "utf8").digest();
83
+ /**
84
+ * A deterministic 9-char base62 id for one source id.
85
+ *
86
+ * SHA-256 of the UTF-8 id (plus `#<k>` on a collision retry), one base62 character per digest
87
+ * byte. **No randomness** — the same precedent as `tool-use-ids.ts`: a conversation only ever
88
+ * appends, so the same source id must map to the same outbound id on the next turn, on a retry,
89
+ * and on every candidate of a pool walk. A random id would detach a `tool_result` from the call
90
+ * it answers the moment the conversation was replayed.
91
+ */
92
+ function strict9(source, salt, digest) {
93
+ const bytes = digest(salt === 0 ? source : `${source}#${salt}`);
94
+ let out = "";
95
+ for (let i = 0; i < 9; i++)
96
+ out += BASE62[bytes[i] % 62];
97
+ return out;
98
+ }
99
+ /**
100
+ * The one per-run source-id → outbound-id map, shared by `toolCall` and `toolResultMessage` so
101
+ * both halves of a pair always land on the same value (mistral v13 checks that linkage).
102
+ *
103
+ * An id that already conforms is kept as-is, so a mistral-native id coming back through a later
104
+ * turn round-trips unchanged. Collisions resolve deterministically by FIRST-APPEARANCE order:
105
+ * the run is a single in-order walk of the conversation, so the same conversation always produces
106
+ * the same assignment.
107
+ *
108
+ * ⚠ Exported ONLY so a test can hand it a colliding digest — see `ToolCallIdDigest`. Nothing
109
+ * outside this module constructs one on the request path; `anthropicRequestToOpenAi` owns the
110
+ * per-run instance and hands it to both halves of the pair itself.
111
+ */
112
+ export class ToolCallIds {
113
+ digest;
114
+ bySource = new Map();
115
+ taken = new Set();
116
+ rewritten = 0;
117
+ constructor(digest = sha256Digest) {
118
+ this.digest = digest;
119
+ }
120
+ map(id) {
121
+ const existing = this.bySource.get(id);
122
+ if (existing !== undefined)
123
+ return existing;
124
+ let out;
125
+ // A conforming id is kept — unless some earlier source already holds it, in which case
126
+ // keeping it would map two different calls onto one id and break the uniqueness rule this
127
+ // exists to satisfy. (62^-9; the branch is correctness, not a case anyone will meet.)
128
+ if (STRICT9.test(id) && !this.taken.has(id))
129
+ out = id;
130
+ else {
131
+ out = strict9(id, 0, this.digest);
132
+ for (let k = 1; this.taken.has(out); k++)
133
+ out = strict9(id, k, this.digest);
134
+ }
135
+ this.taken.add(out);
136
+ this.bySource.set(id, out);
137
+ if (out !== id)
138
+ this.rewritten += 1;
139
+ return out;
140
+ }
141
+ count() {
142
+ return this.rewritten;
143
+ }
144
+ }
145
+ /**
146
+ * The per-run thought-signature stamper — `null` under `"none"`, which is every provider but
147
+ * Google's Generative Language API.
148
+ *
149
+ * EVERY replayed tool call is stamped, not just the first of a turn. That is the placement the
150
+ * 2026-08-23 live check verified: the sentinel on the single call of a one-call turn was accepted,
151
+ * and the sentinel on BOTH entries of a parallel pair was accepted too (which contradicts a public
152
+ * report that a parallel pair rejects it — against this endpoint and model, on that date, it did
153
+ * not). Stamping every entry is also the only placement whose correctness does not depend on which
154
+ * entry the validator happens to inspect.
155
+ */
156
+ class ThoughtSignatures {
157
+ stamped = 0;
158
+ stamp(call) {
159
+ // A RAW string — never base64. Encoding it would make it a malformed signature instead of the
160
+ // vendor's documented "there is no signature" token.
161
+ call.extra_content = { google: { thought_signature: THOUGHT_SIGNATURE_SENTINEL } };
162
+ this.stamped += 1;
163
+ return call;
164
+ }
165
+ count() {
166
+ return this.stamped;
167
+ }
168
+ }
37
169
  function isRecord(v) {
38
170
  return typeof v === "object" && v !== null && !Array.isArray(v);
39
171
  }
@@ -65,7 +197,7 @@ function systemText(system) {
65
197
  return parts.join("\n\n");
66
198
  }
67
199
  /** One Anthropic `tool_use` block → one OpenAI `tool_calls[]` entry. */
68
- function toolCall(block) {
200
+ function toolCall(block, ids, sigs) {
69
201
  // A synthesized id would be unmatchable: the linkage to the `role:"tool"` message that answers
70
202
  // it is the id itself, so inventing one silently detaches the result from the call.
71
203
  if (typeof block.id !== "string" || block.id.length === 0) {
@@ -75,8 +207,9 @@ function toolCall(block) {
75
207
  throw new RequestMappingError("tool_use block without a name");
76
208
  }
77
209
  const input = block.input ?? {};
78
- return {
79
- id: block.id,
210
+ const call = {
211
+ // Under `"preserve"` (`ids === null`) this is the caller's own id, byte for byte.
212
+ id: ids === null ? block.id : ids.map(block.id),
80
213
  type: "function",
81
214
  function: {
82
215
  name: block.name,
@@ -84,6 +217,11 @@ function toolCall(block) {
84
217
  arguments: typeof input === "string" ? input : JSON.stringify(input),
85
218
  },
86
219
  };
220
+ // Under `"none"` (`sigs === null`) NOTHING is added and this object is byte-identical to the one
221
+ // this mapper emitted before the mode existed. See `THOUGHT_SIGNATURE_SENTINEL` for the 400 that
222
+ // makes the other branch necessary and for why the vendor's opt-out token is the only honest
223
+ // value the relay can put here.
224
+ return sigs === null ? call : sigs.stamp(call);
87
225
  }
88
226
  /**
89
227
  * An assistant turn → exactly one OpenAI assistant message.
@@ -92,7 +230,7 @@ function toolCall(block) {
92
230
  * `tool_use` blocks become `tool_calls`, and `content` is `null` when nothing but tool calls
93
231
  * remains — the shape OpenAI defines for a tool-calling turn.
94
232
  */
95
- function assistantMessage(turn) {
233
+ function assistantMessage(turn, ids, sigs) {
96
234
  const content = turn.content;
97
235
  if (typeof content === "string")
98
236
  return { role: "assistant", content };
@@ -106,7 +244,7 @@ function assistantMessage(turn) {
106
244
  texts.push(textOf(raw));
107
245
  break;
108
246
  case "tool_use":
109
- toolCalls.push(toolCall(raw));
247
+ toolCalls.push(toolCall(raw, ids, sigs));
110
248
  break;
111
249
  case "thinking":
112
250
  case "redacted_thinking":
@@ -198,12 +336,28 @@ function toolResultParts(content) {
198
336
  * `content: text || null` is the ASSISTANT shape, where OpenAI defines null; a tool message has
199
337
  * no such spelling.
200
338
  */
201
- function toolResultMessage(block) {
339
+ function toolResultMessage(block, toolNames, ids) {
202
340
  if (typeof block.tool_use_id !== "string" || block.tool_use_id.length === 0) {
203
341
  throw new RequestMappingError("tool_result block without a tool_use_id");
204
342
  }
205
343
  const { text, images } = toolResultParts(block.content);
206
- return { message: { role: "tool", tool_call_id: block.tool_use_id, content: text }, images };
344
+ // The SAME map the assistant turn used, so the pair still points at itself — mistral's v13
345
+ // validator rejects a tool message whose id no prior `tool_calls` entry carries.
346
+ const toolCallId = ids === null ? block.tool_use_id : ids.map(block.tool_use_id);
347
+ const message = { role: "tool", tool_call_id: toolCallId, content: text };
348
+ // Gemini's OpenAI-compatible layer folds a tool message into a `functionResponse` part whose
349
+ // `name` is REQUIRED and is never resolved from the preceding `tool_calls`, so a nameless tool
350
+ // message is a 400 there ("function_response.name: name cannot be empty"). The name here is the
351
+ // caller's OWN tool name, looked up from the assistant `tool_use` whose id this result answers
352
+ // (the conversation is walked in order, so the call has always been seen) — re-stated where
353
+ // another vendor needs it, not invented: an orphan result (no matching tool_use, e.g. its call
354
+ // sat in a dropped block) carries NO `name`.
355
+ // ⚠ Keyed by the ORIGINAL id: the name table is built from the caller's conversation, which the
356
+ // id rewrite deliberately does not touch.
357
+ const name = toolNames?.get(block.tool_use_id);
358
+ if (name !== undefined)
359
+ message.name = name;
360
+ return { message, images };
207
361
  }
208
362
  /**
209
363
  * A user turn → its `role:"tool"` messages (one per `tool_result`, in order) followed by at most
@@ -218,7 +372,7 @@ function toolResultMessage(block) {
218
372
  * message cannot carry one, so the image rides on the user turn that follows it, keeping its
219
373
  * position relative to the turn's other leftover blocks (`toolResultParts`).
220
374
  */
221
- function userMessages(turn) {
375
+ function userMessages(turn, toolNames, ids) {
222
376
  const content = turn.content;
223
377
  if (typeof content === "string")
224
378
  return [{ role: "user", content }];
@@ -235,7 +389,7 @@ function userMessages(turn) {
235
389
  parts.push(imagePart(raw));
236
390
  break;
237
391
  case "tool_result": {
238
- const { message, images } = toolResultMessage(raw);
392
+ const { message, images } = toolResultMessage(raw, toolNames, ids);
239
393
  toolMessages.push(message);
240
394
  // Appended HERE, not collected separately, so a result's images keep their place among
241
395
  // the turn's other leftover blocks.
@@ -328,17 +482,51 @@ function stopSequences(raw) {
328
482
  export function anthropicRequestToOpenAi(reqJson, opts = {}) {
329
483
  const body = isRecord(reqJson) ? reqJson : {};
330
484
  const messages = [];
485
+ // `null` is the "preserve" mode, and it is the mode for every provider but mistral: no map is
486
+ // built and every id reaches the wire exactly as the caller wrote it.
487
+ const ids = opts.toolCallIds === "strict9" ? new ToolCallIds() : null;
488
+ // Same shape, and independent of it — a provider may set both keys, and the two passes touch
489
+ // different parts of the same `tool_calls[]` entry (its `id`, and a sibling `extra_content`).
490
+ const sigs = opts.thoughtSignature === "sentinel" ? new ThoughtSignatures() : null;
491
+ // Assistant `tool_use` id → name across the whole conversation, so each `role:"tool"` message
492
+ // can restate the name of the call it answers (see `toolResultMessage` — a gemini compat-layer
493
+ // requirement). Filled lazily on first `tool_use`; a no-tool request keeps `undefined`.
494
+ let toolNames;
495
+ const rememberToolNames = (turn) => {
496
+ if (!Array.isArray(turn.content))
497
+ return;
498
+ for (const block of turn.content) {
499
+ if (!isRecord(block) || block.type !== "tool_use")
500
+ continue;
501
+ if (typeof block.id === "string" && block.id.length > 0 &&
502
+ typeof block.name === "string" && block.name.length > 0) {
503
+ (toolNames ??= new Map()).set(block.id, block.name);
504
+ }
505
+ }
506
+ };
331
507
  const system = systemText(body.system);
332
508
  if (system.length > 0)
333
509
  messages.push({ role: "system", content: system });
334
510
  for (const raw of Array.isArray(body.messages) ? body.messages : []) {
335
511
  if (!isRecord(raw))
336
512
  throw new RequestMappingError("message is not an object");
337
- if (raw.role === "assistant")
338
- messages.push(assistantMessage(raw));
513
+ // Walked in order, so a `tool_result` is always emitted after its `tool_use` was recorded —
514
+ // and id minting (`tool-use-ids.ts`) is RESPONSE-side, so the echoed pair shares one id here.
515
+ if (raw.role === "assistant") {
516
+ rememberToolNames(raw);
517
+ messages.push(assistantMessage(raw, ids, sigs));
518
+ }
339
519
  else
340
- messages.push(...userMessages(raw));
520
+ messages.push(...userMessages(raw, toolNames, ids));
341
521
  }
522
+ // Announced for the same reason every other automatic fix on this path is: a count, never an id.
523
+ if (ids !== null)
524
+ opts.onToolCallIdsRewritten?.(ids.count());
525
+ // Counted, not headered: the sentinel is vendor-protocol padding on the relay's own outbound
526
+ // shape and alters nothing about the caller's data, so the operator gets a log counter rather
527
+ // than a response header. A count, same rule.
528
+ if (sigs !== null)
529
+ opts.onThoughtSignatureSentinels?.(sigs.count());
342
530
  const out = { messages };
343
531
  // The relay's resolved deployment id, never the caller's — see `AnthropicToOpenAiOptions`.
344
532
  if (opts.model !== undefined)