llm-relay 0.45.1 → 0.46.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,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 {};
@@ -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
- function errorEvent(message, code) {
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: "upstream_error",
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,7 @@ 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 { 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";
15
+ import { dialectRefusalSignalOf, 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
16
  import { probeStreamForCommit } from "./stream-commit.js";
17
17
  import { ModelCatalog } from "./catalog.js";
18
18
  import { handleAdminRoutes } from "./routes/admin.js";
@@ -1153,6 +1153,9 @@ async function handle(req, res, cfg, h) {
1153
1153
  reqJson,
1154
1154
  anthropicHeaders: forwardHeaders,
1155
1155
  wantsStream,
1156
+ // Reaches the dialect-rescue commit points: a tool call the relay reconstructs out of
1157
+ // model TEXT is refused when it names a destructive tool.
1158
+ isDestructive: h.isDestructive,
1156
1159
  usage,
1157
1160
  signal: controller.signal,
1158
1161
  onEgress,
@@ -1275,6 +1278,10 @@ async function handle(req, res, cfg, h) {
1275
1278
  ? await probeStreamForCommit(backendRes.body, "anthropic-messages", {
1276
1279
  isCancelled: () => res.destroyed,
1277
1280
  malformedProvenance: target.kind === "openai" ? "local" : "upstream",
1281
+ // Declared, never inferred from the wire: only a stream the dialect wrapper actually
1282
+ // wrapped has a signal, so an upstream echoing the refusal code cannot mint `local`
1283
+ // provenance for itself and thereby dodge both failover and breaker accounting.
1284
+ ...(dialectRefusalSignalOf(backendRes) ? { relayRefusal: dialectRefusalSignalOf(backendRes) } : {}),
1278
1285
  })
1279
1286
  : { kind: "dead", reason: "stream has no body", provenance: "upstream" };
1280
1287
  if (probe.kind === "cancelled") {
@@ -2787,6 +2794,7 @@ async function openAiFrontPath(res, credentialWalk, credentialTrace, ctx, h) {
2787
2794
  protocol: ctx.protocol,
2788
2795
  anthropicHeaders: forwardHeaders,
2789
2796
  signal: controller.signal,
2797
+ isDestructive: h.isDestructive,
2790
2798
  processRecoveredChat,
2791
2799
  usage,
2792
2800
  onEgress,
@@ -2933,6 +2941,7 @@ async function openAiFrontPath(res, credentialWalk, credentialTrace, ctx, h) {
2933
2941
  ? await probeStreamForCommit(upstream.body, protocol, {
2934
2942
  isCancelled: () => res.destroyed,
2935
2943
  malformedProvenance: target.kind === "openai" && ctx.protocol === "chat" ? "upstream" : "local",
2944
+ ...(dialectRefusalSignalOf(upstream) ? { relayRefusal: dialectRefusalSignalOf(upstream) } : {}),
2936
2945
  })
2937
2946
  : { kind: "dead", reason: "stream has no body", provenance: "upstream" };
2938
2947
  if (probe.kind === "cancelled") {