llm-relay 0.45.1 → 0.46.1
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/accounting-store-schema.d.ts +12 -0
- package/dist/accounting-store-schema.js +14 -0
- package/dist/accounting-store-schema.js.map +1 -1
- package/dist/accounting-store.js +4 -2
- package/dist/accounting-store.js.map +1 -1
- package/dist/accounting.js +13 -4
- package/dist/accounting.js.map +1 -1
- package/dist/backend.d.ts +26 -2
- package/dist/backend.js +79 -9
- package/dist/backend.js.map +1 -1
- package/dist/dashboard-routes.d.ts +13 -0
- package/dist/dashboard-routes.js +14 -7
- package/dist/dashboard-routes.js.map +1 -1
- package/dist/dashboard-snapshot.js +15 -1
- package/dist/dashboard-snapshot.js.map +1 -1
- package/dist/dialect-stream.d.ts +2 -1
- package/dist/dialect-stream.js +31 -3
- package/dist/dialect-stream.js.map +1 -1
- package/dist/openai-dialect.d.ts +9 -2
- package/dist/openai-dialect.js +30 -9
- package/dist/openai-dialect.js.map +1 -1
- package/dist/server.js +36 -7
- package/dist/server.js.map +1 -1
- package/dist/stream-commit.d.ts +13 -0
- package/dist/stream-commit.js +54 -25
- package/dist/stream-commit.js.map +1 -1
- package/dist/tool-dialects.d.ts +68 -1
- package/dist/tool-dialects.js +41 -1
- package/dist/tool-dialects.js.map +1 -1
- package/dist/winenv.js +19 -0
- package/dist/winenv.js.map +1 -1
- package/package.json +1 -1
package/dist/openai-dialect.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { JsonSchema } from "./anthropic.js";
|
|
2
|
+
import { type DialectRefusalSignal } from "./tool-dialects.js";
|
|
2
3
|
/** Result of inspecting a buffered native Chat completion for leaked dialect text. */
|
|
3
4
|
export type OpenAiChatDialectOutcome = {
|
|
4
5
|
status: "none";
|
|
@@ -9,6 +10,12 @@ export type OpenAiChatDialectOutcome = {
|
|
|
9
10
|
} | {
|
|
10
11
|
status: "detected";
|
|
11
12
|
dialect: string;
|
|
13
|
+
}
|
|
14
|
+
/** A recovered call names a tool on the operator's destructive list — refused, never committed. */
|
|
15
|
+
| {
|
|
16
|
+
status: "refused-destructive";
|
|
17
|
+
dialect: string;
|
|
18
|
+
refused: string[];
|
|
12
19
|
};
|
|
13
20
|
type ToolSchemas = Map<string, JsonSchema | null>;
|
|
14
21
|
export interface RecoveredOpenAiChat {
|
|
@@ -28,7 +35,7 @@ export type RecoveredOpenAiChatProcessor = (recovered: RecoveredOpenAiChat) => P
|
|
|
28
35
|
* and coercion rules remain owned by `tool-dialects.ts`, and an unparseable marker is reported to
|
|
29
36
|
* the caller so it can fail the candidate cleanly.
|
|
30
37
|
*/
|
|
31
|
-
export declare function inspectDialectInOpenAiChat(input: Record<string, unknown>, schemas: ToolSchemas, processRecovered?: RecoveredOpenAiChatProcessor): Promise<OpenAiChatDialectOutcome>;
|
|
38
|
+
export declare function inspectDialectInOpenAiChat(input: Record<string, unknown>, schemas: ToolSchemas, isDestructive: (name: string) => boolean, processRecovered?: RecoveredOpenAiChatProcessor): Promise<OpenAiChatDialectOutcome>;
|
|
32
39
|
/**
|
|
33
40
|
* Native OpenAI Chat streaming dialect adapter.
|
|
34
41
|
*
|
|
@@ -38,5 +45,5 @@ export declare function inspectDialectInOpenAiChat(input: Record<string, unknown
|
|
|
38
45
|
* final-wire commit probe then decides whether that error is still an invisible failover or an
|
|
39
46
|
* honest post-commit stream error.
|
|
40
47
|
*/
|
|
41
|
-
export declare function recoverDialectInOpenAiChatStream(upstream: ReadableStream<Uint8Array>, schemas: ToolSchemas, onRecovered?: (dialect: string) => void, processRecovered?: RecoveredOpenAiChatProcessor): ReadableStream<Uint8Array>;
|
|
48
|
+
export declare function recoverDialectInOpenAiChatStream(upstream: ReadableStream<Uint8Array>, schemas: ToolSchemas, isDestructive: (name: string) => boolean, onRecovered?: (dialect: string) => void, processRecovered?: RecoveredOpenAiChatProcessor, refusalSignal?: DialectRefusalSignal): ReadableStream<Uint8Array>;
|
|
42
49
|
export {};
|
package/dist/openai-dialect.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { STREAM_PREFLIGHT_LIMIT } from "./stream-commit.js";
|
|
2
|
-
import { markerStart, recoverToolCalls, scanForMarker } from "./tool-dialects.js";
|
|
2
|
+
import { DIALECT_REFUSED_DESTRUCTIVE_CODE, describeRefused, markerStart, recoverToolCalls, scanForMarker } from "./tool-dialects.js";
|
|
3
3
|
function isRecord(value) {
|
|
4
4
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
5
5
|
}
|
|
@@ -30,7 +30,7 @@ function recoveredValue(outcome, choiceIndex) {
|
|
|
30
30
|
* and coercion rules remain owned by `tool-dialects.ts`, and an unparseable marker is reported to
|
|
31
31
|
* the caller so it can fail the candidate cleanly.
|
|
32
32
|
*/
|
|
33
|
-
export async function inspectDialectInOpenAiChat(input, schemas, processRecovered) {
|
|
33
|
+
export async function inspectDialectInOpenAiChat(input, schemas, isDestructive, processRecovered) {
|
|
34
34
|
if (schemas.size === 0 || !Array.isArray(input.choices))
|
|
35
35
|
return { status: "none" };
|
|
36
36
|
const typedSchemas = recoverySchemas(schemas);
|
|
@@ -45,9 +45,15 @@ export async function inspectDialectInOpenAiChat(input, schemas, processRecovere
|
|
|
45
45
|
continue;
|
|
46
46
|
if (typeof message.content !== "string" || message.content.length === 0)
|
|
47
47
|
continue;
|
|
48
|
-
const outcome = recoverToolCalls(message.content, typedSchemas);
|
|
48
|
+
const outcome = recoverToolCalls(message.content, typedSchemas, isDestructive);
|
|
49
49
|
if (outcome.status === "detected")
|
|
50
50
|
return { status: "detected", dialect: outcome.dialect };
|
|
51
|
+
// Refuse the WHOLE completion, and refuse it here — before the `pending` loop spends a
|
|
52
|
+
// reshaper call on any choice. Same ordering reason as the detected branch: one unusable
|
|
53
|
+
// choice makes the completion unusable, so nothing downstream may run first.
|
|
54
|
+
if (outcome.status === "refused-destructive") {
|
|
55
|
+
return { status: "refused-destructive", dialect: outcome.dialect, refused: outcome.refused };
|
|
56
|
+
}
|
|
51
57
|
if (outcome.status === "none")
|
|
52
58
|
continue;
|
|
53
59
|
recoveredDialect ??= outcome.dialect;
|
|
@@ -128,11 +134,16 @@ function withoutContent(choice) {
|
|
|
128
134
|
const hasFinish = choice.finish_reason !== null && choice.finish_reason !== undefined;
|
|
129
135
|
return hasOtherDelta || hasFinish ? { ...choice, delta } : null;
|
|
130
136
|
}
|
|
131
|
-
|
|
137
|
+
/**
|
|
138
|
+
* `type` defaults to `upstream_error` because that is what an in-band stream failure normally is.
|
|
139
|
+
* A relay-authored refusal passes its own type so the commit probe reads it as LOCAL and the walk
|
|
140
|
+
* does not reroll a decision the relay already made.
|
|
141
|
+
*/
|
|
142
|
+
function errorEvent(message, code, type = "upstream_error") {
|
|
132
143
|
return encodeEvent("", {
|
|
133
144
|
error: {
|
|
134
145
|
message,
|
|
135
|
-
type
|
|
146
|
+
type,
|
|
136
147
|
code,
|
|
137
148
|
},
|
|
138
149
|
});
|
|
@@ -165,7 +176,7 @@ function recoveredEvents(template, choice, recovered, eventName) {
|
|
|
165
176
|
* final-wire commit probe then decides whether that error is still an invisible failover or an
|
|
166
177
|
* honest post-commit stream error.
|
|
167
178
|
*/
|
|
168
|
-
export function recoverDialectInOpenAiChatStream(upstream, schemas, onRecovered = () => { }, processRecovered) {
|
|
179
|
+
export function recoverDialectInOpenAiChatStream(upstream, schemas, isDestructive, onRecovered = () => { }, processRecovered, refusalSignal) {
|
|
169
180
|
if (schemas.size === 0)
|
|
170
181
|
return upstream;
|
|
171
182
|
const decoder = new TextDecoder();
|
|
@@ -191,11 +202,11 @@ export function recoverDialectInOpenAiChatStream(upstream, schemas, onRecovered
|
|
|
191
202
|
}
|
|
192
203
|
return state;
|
|
193
204
|
};
|
|
194
|
-
const fail = async (message, code) => {
|
|
205
|
+
const fail = async (message, code, type) => {
|
|
195
206
|
if (terminated)
|
|
196
207
|
return;
|
|
197
208
|
terminated = true;
|
|
198
|
-
push(errorEvent(message, code));
|
|
209
|
+
push(type === undefined ? errorEvent(message, code) : errorEvent(message, code, type));
|
|
199
210
|
await reader.cancel(message).catch(() => { });
|
|
200
211
|
};
|
|
201
212
|
const settleChoice = async (index, state, eventName) => {
|
|
@@ -209,7 +220,17 @@ export function recoverDialectInOpenAiChatStream(upstream, schemas, onRecovered
|
|
|
209
220
|
return [];
|
|
210
221
|
return [encodeEvent(eventName, withChoices(state.lastChunk, [withContent(state.lastChoice, tail)]))];
|
|
211
222
|
}
|
|
212
|
-
const outcome = recoverToolCalls(state.envelope, typedSchemas);
|
|
223
|
+
const outcome = recoverToolCalls(state.envelope, typedSchemas, isDestructive);
|
|
224
|
+
if (outcome.status === "refused-destructive") {
|
|
225
|
+
// Declared provenance — see `DialectRefusalSignal`. The wire code alone is forgeable.
|
|
226
|
+
if (refusalSignal)
|
|
227
|
+
refusalSignal.refused = true;
|
|
228
|
+
// Headers are already flushed here, so the refusal travels as the mid-stream error event
|
|
229
|
+
// — the shape the unparseable case uses, with its own code. Refused whole: the surviving
|
|
230
|
+
// calls are not committed, because dropping one silently changes the model's intent.
|
|
231
|
+
await fail(`llm-relay: refused a ${outcome.dialect} tool call recovered from text because it names a destructive tool: ${describeRefused(outcome.refused)}`, DIALECT_REFUSED_DESTRUCTIVE_CODE, DIALECT_REFUSED_DESTRUCTIVE_CODE);
|
|
232
|
+
return [];
|
|
233
|
+
}
|
|
213
234
|
if (outcome.status !== "parsed") {
|
|
214
235
|
const dialect = outcome.status === "detected" ? outcome.dialect : "unknown";
|
|
215
236
|
await fail(`llm-relay: backend returned an unparseable ${dialect} tool-call envelope as text`, "tool_dialect_unparseable");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-dialect.js","sourceRoot":"","sources":["../src/openai-dialect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openai-dialect.js","sourceRoot":"","sources":["../src/openai-dialect.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -12,7 +12,8 @@ import { reconstructFromSse } from "./sse.js";
|
|
|
12
12
|
import { emitSse, emitSseTail, syntheticMessageId } from "./emitSse.js";
|
|
13
13
|
import { repair, destructiveMatcher } from "./repair.js";
|
|
14
14
|
import { CredentialWalkReshaper, HttpReshaper, } from "./reshaper.js";
|
|
15
|
-
import {
|
|
15
|
+
import { DIALECT_REFUSED_DESTRUCTIVE_CODE } from "./tool-dialects.js";
|
|
16
|
+
import { dialectRefusalSignalOf, ERROR_ORIGIN_HEADER, TOOL_DIALECT_HEADER, fetchBackend, fetchOpenAiFront, normalizeOpenAiErrorBody, parseRetryAfterMs, postHeaderBodyFailure, upstreamReportedModel, toolUseIdRewrites, toolCallIdRewrites, thoughtSignatureSentinels, SERVED_BY_HEADER, POOL_ATTEMPTS_HEADER, UNKNOWN_REFUSAL_HEADER, DEGRADED_HEADER, PAID_HEADER, QUOTA_DEMOTED_HEADER, CREDENTIAL_HEADER, CREDENTIAL_ATTEMPTS_HEADER, HARD_CAP_HEADER, errorOrigin } from "./backend.js";
|
|
16
17
|
import { probeStreamForCommit } from "./stream-commit.js";
|
|
17
18
|
import { ModelCatalog } from "./catalog.js";
|
|
18
19
|
import { handleAdminRoutes } from "./routes/admin.js";
|
|
@@ -22,7 +23,7 @@ import { recordModelCall } from "./ping/runtime-telemetry.js";
|
|
|
22
23
|
import { createUsageAccumulator } from "./usage-observer.js";
|
|
23
24
|
import { createAccountingRequest, NOOP_ACCOUNTING_RECORDER, } from "./accounting.js";
|
|
24
25
|
import { DashboardAuthManager } from "./dashboard-auth.js";
|
|
25
|
-
import { handleDashboardRoute } from "./dashboard-routes.js";
|
|
26
|
+
import { BODY_TOO_LARGE_CODE, handleDashboardRoute } from "./dashboard-routes.js";
|
|
26
27
|
import { createDashboardSnapshotReadPort } from "./dashboard-snapshot.js";
|
|
27
28
|
import { createAvailabilityProducer } from "./availability-snapshot.js";
|
|
28
29
|
import { DASHBOARD_STATIC_SECURITY_HEADERS, DashboardStaticHandler, getProductionDashboardAssetRoot, } from "./dashboard-static.js";
|
|
@@ -1153,6 +1154,9 @@ async function handle(req, res, cfg, h) {
|
|
|
1153
1154
|
reqJson,
|
|
1154
1155
|
anthropicHeaders: forwardHeaders,
|
|
1155
1156
|
wantsStream,
|
|
1157
|
+
// Reaches the dialect-rescue commit points: a tool call the relay reconstructs out of
|
|
1158
|
+
// model TEXT is refused when it names a destructive tool.
|
|
1159
|
+
isDestructive: h.isDestructive,
|
|
1156
1160
|
usage,
|
|
1157
1161
|
signal: controller.signal,
|
|
1158
1162
|
onEgress,
|
|
@@ -1275,6 +1279,10 @@ async function handle(req, res, cfg, h) {
|
|
|
1275
1279
|
? await probeStreamForCommit(backendRes.body, "anthropic-messages", {
|
|
1276
1280
|
isCancelled: () => res.destroyed,
|
|
1277
1281
|
malformedProvenance: target.kind === "openai" ? "local" : "upstream",
|
|
1282
|
+
// Declared, never inferred from the wire: only a stream the dialect wrapper actually
|
|
1283
|
+
// wrapped has a signal, so an upstream echoing the refusal code cannot mint `local`
|
|
1284
|
+
// provenance for itself and thereby dodge both failover and breaker accounting.
|
|
1285
|
+
...(dialectRefusalSignalOf(backendRes) ? { relayRefusal: dialectRefusalSignalOf(backendRes) } : {}),
|
|
1278
1286
|
})
|
|
1279
1287
|
: { kind: "dead", reason: "stream has no body", provenance: "upstream" };
|
|
1280
1288
|
if (probe.kind === "cancelled") {
|
|
@@ -1308,13 +1316,20 @@ async function handle(req, res, cfg, h) {
|
|
|
1308
1316
|
pool429.recordFinal(502);
|
|
1309
1317
|
const headers = {
|
|
1310
1318
|
[SERVED_BY_HEADER]: tried.join(", "),
|
|
1319
|
+
// Who produced this status. A dead PRE-COMMIT stream the relay judged `local` is the
|
|
1320
|
+
// proxy's own verdict, and saying so is the header's documented job — it was simply
|
|
1321
|
+
// never written on this path.
|
|
1322
|
+
[ERROR_ORIGIN_HEADER]: probe.provenance,
|
|
1311
1323
|
...(stickyProvenanceHeaders(sticky) ?? {}),
|
|
1312
1324
|
...credentialTrace.headers(),
|
|
1325
|
+
...(probe.errorType === DIALECT_REFUSED_DESTRUCTIVE_CODE
|
|
1326
|
+
? { [TOOL_DIALECT_HEADER]: "refused-destructive" }
|
|
1327
|
+
: {}),
|
|
1313
1328
|
};
|
|
1314
1329
|
const summary = pool429.summary();
|
|
1315
1330
|
if (summary)
|
|
1316
1331
|
headers[POOL_ATTEMPTS_HEADER] = summary;
|
|
1317
|
-
failClosed(res, 502, `llm-relay: ${probe.reason}`, headers);
|
|
1332
|
+
failClosed(res, 502, `llm-relay: ${probe.reason}`, headers, probe.errorType);
|
|
1318
1333
|
h.logger.write(baseLog(started, path, hadTools, true, 502, "skipped", target, attemptTrace.snapshot(), upstreamReportedModel(reportedModelSource)));
|
|
1319
1334
|
return;
|
|
1320
1335
|
}
|
|
@@ -2787,6 +2802,7 @@ async function openAiFrontPath(res, credentialWalk, credentialTrace, ctx, h) {
|
|
|
2787
2802
|
protocol: ctx.protocol,
|
|
2788
2803
|
anthropicHeaders: forwardHeaders,
|
|
2789
2804
|
signal: controller.signal,
|
|
2805
|
+
isDestructive: h.isDestructive,
|
|
2790
2806
|
processRecoveredChat,
|
|
2791
2807
|
usage,
|
|
2792
2808
|
onEgress,
|
|
@@ -2933,6 +2949,7 @@ async function openAiFrontPath(res, credentialWalk, credentialTrace, ctx, h) {
|
|
|
2933
2949
|
? await probeStreamForCommit(upstream.body, protocol, {
|
|
2934
2950
|
isCancelled: () => res.destroyed,
|
|
2935
2951
|
malformedProvenance: target.kind === "openai" && ctx.protocol === "chat" ? "upstream" : "local",
|
|
2952
|
+
...(dialectRefusalSignalOf(upstream) ? { relayRefusal: dialectRefusalSignalOf(upstream) } : {}),
|
|
2936
2953
|
})
|
|
2937
2954
|
: { kind: "dead", reason: "stream has no body", provenance: "upstream" };
|
|
2938
2955
|
if (probe.kind === "cancelled") {
|
|
@@ -2967,15 +2984,19 @@ async function openAiFrontPath(res, credentialWalk, credentialTrace, ctx, h) {
|
|
|
2967
2984
|
const headers = {
|
|
2968
2985
|
"content-type": "application/json",
|
|
2969
2986
|
[SERVED_BY_HEADER]: tried.join(", "),
|
|
2987
|
+
[ERROR_ORIGIN_HEADER]: probe.provenance,
|
|
2970
2988
|
...(stickyProvenanceHeaders(ctx.sticky) ?? {}),
|
|
2971
2989
|
...credentialTrace.headers(),
|
|
2990
|
+
...(probe.errorType === DIALECT_REFUSED_DESTRUCTIVE_CODE
|
|
2991
|
+
? { [TOOL_DIALECT_HEADER]: "refused-destructive" }
|
|
2992
|
+
: {}),
|
|
2972
2993
|
};
|
|
2973
2994
|
const summary = pool429.summary();
|
|
2974
2995
|
if (summary)
|
|
2975
2996
|
headers[POOL_ATTEMPTS_HEADER] = summary;
|
|
2976
2997
|
res.writeHead(502, headers);
|
|
2977
2998
|
res.end(JSON.stringify({
|
|
2978
|
-
error: { message: `llm-relay: ${probe.reason}`, type: "api_error" },
|
|
2999
|
+
error: { message: `llm-relay: ${probe.reason}`, type: probe.errorType ?? "api_error" },
|
|
2979
3000
|
}));
|
|
2980
3001
|
h.logger.write(baseLog(ctx.started, ctx.path, ctx.hadTools, true, 502, "skipped", target, attemptTrace.snapshot(), upstreamReportedModel(reportedModelSource)));
|
|
2981
3002
|
return;
|
|
@@ -3901,7 +3922,10 @@ function readBody(req, maxBytes = DEFAULT_MAX_BODY_BYTES) {
|
|
|
3901
3922
|
cleanup();
|
|
3902
3923
|
// Drain without retaining the rest so the client can receive the explicit 413 response.
|
|
3903
3924
|
req.resume();
|
|
3904
|
-
|
|
3925
|
+
// Tagged, not described: the dashboard route classifies 413-vs-500 from this CODE. It used
|
|
3926
|
+
// to regex-match this very message string, i.e. the relay inferring its own intent from
|
|
3927
|
+
// prose — see `BODY_TOO_LARGE_CODE`. Harmless for the other caller, which ignores it.
|
|
3928
|
+
reject(Object.assign(new Error("request body too large"), { code: BODY_TOO_LARGE_CODE }));
|
|
3905
3929
|
return;
|
|
3906
3930
|
}
|
|
3907
3931
|
chunks.push(c);
|
|
@@ -3954,14 +3978,19 @@ async function writeChunk(res, chunk, beforeWrite) {
|
|
|
3954
3978
|
return false;
|
|
3955
3979
|
}
|
|
3956
3980
|
}
|
|
3957
|
-
function failClosed(res, status, message, headers
|
|
3981
|
+
function failClosed(res, status, message, headers,
|
|
3982
|
+
/**
|
|
3983
|
+
* Error type for the body. Defaults to `api_error`, which is what every caller wanted before a
|
|
3984
|
+
* relay-authored refusal could reach here — so an omitted argument is byte-identical to before.
|
|
3985
|
+
*/
|
|
3986
|
+
errorType = "api_error") {
|
|
3958
3987
|
if (res.headersSent) {
|
|
3959
3988
|
if (!res.writableEnded)
|
|
3960
3989
|
res.end();
|
|
3961
3990
|
return;
|
|
3962
3991
|
}
|
|
3963
3992
|
res.writeHead(status, { ...headers, "content-type": "application/json" });
|
|
3964
|
-
res.end(JSON.stringify({ type: "error", error: { type:
|
|
3993
|
+
res.end(JSON.stringify({ type: "error", error: { type: errorType, message } }));
|
|
3965
3994
|
}
|
|
3966
3995
|
/**
|
|
3967
3996
|
* Build the metadata record for one turn.
|