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.
- package/dist/availability-snapshot.d.ts +8 -0
- package/dist/availability-snapshot.js +20 -8
- package/dist/availability-snapshot.js.map +1 -1
- package/dist/availability.d.ts +67 -5
- package/dist/availability.js +76 -1
- package/dist/availability.js.map +1 -1
- package/dist/backend.d.ts +22 -0
- package/dist/backend.js +77 -3
- package/dist/backend.js.map +1 -1
- package/dist/candidates.js +13 -3
- package/dist/candidates.js.map +1 -1
- package/dist/config.d.ts +87 -0
- package/dist/config.js +93 -0
- package/dist/config.js.map +1 -1
- package/dist/dashboard/.vite/manifest.json +1 -1
- package/dist/dashboard/assets/{index-B2fuSM77.js → index-u-Ez_oE6.js} +11 -11
- package/dist/dashboard/index.html +1 -1
- package/dist/dashboard-contract.d.ts +14 -0
- package/dist/dashboard-contract.js +5 -1
- package/dist/dashboard-contract.js.map +1 -1
- package/dist/log.d.ts +18 -0
- package/dist/log.js +2 -0
- package/dist/log.js.map +1 -1
- package/dist/openai-request.d.ts +65 -0
- package/dist/openai-request.js +200 -12
- package/dist/openai-request.js.map +1 -1
- package/dist/refusal-interpretation.d.ts +1 -1
- package/dist/refusal-interpretation.js +1 -1
- package/dist/server.js +29 -9
- package/dist/server.js.map +1 -1
- package/dist/target-facts.d.ts +32 -0
- package/dist/target-facts.js +44 -3
- package/dist/target-facts.js.map +1 -1
- package/package.json +1 -1
|
@@ -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-
|
|
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":"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"}
|
|
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
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;
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
|
package/dist/openai-request.d.ts
CHANGED
|
@@ -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.
|
package/dist/openai-request.js
CHANGED
|
@@ -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
|
-
|
|
79
|
-
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
|
-
|
|
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
|
-
|
|
338
|
-
|
|
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)
|