prefix-safe-json 0.1.1 → 0.2.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/README.md +57 -3
- package/dist/coordinator/coordinator.d.ts.map +1 -1
- package/dist/coordinator/coordinator.js +29 -0
- package/dist/coordinator/coordinator.js.map +1 -1
- package/dist/coordinator/diagnostic-codes.d.ts +26 -0
- package/dist/coordinator/diagnostic-codes.d.ts.map +1 -1
- package/dist/coordinator/diagnostic-codes.js +26 -0
- package/dist/coordinator/diagnostic-codes.js.map +1 -1
- package/dist/coordinator/protocol.d.ts +2 -1
- package/dist/coordinator/protocol.d.ts.map +1 -1
- package/dist/coordinator/types.d.ts +1 -1
- package/dist/coordinator/types.d.ts.map +1 -1
- package/dist/gate/decide.d.ts.map +1 -1
- package/dist/gate/decide.js +49 -8
- package/dist/gate/decide.js.map +1 -1
- package/dist/gate/types.d.ts +1 -1
- package/dist/gate/types.d.ts.map +1 -1
- package/dist/index.d.ts +42 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +56 -2
- package/dist/index.js.map +1 -1
- package/dist/providers/ai-sdk.d.ts +6 -1
- package/dist/providers/ai-sdk.d.ts.map +1 -1
- package/dist/providers/ai-sdk.js +32 -4
- package/dist/providers/ai-sdk.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
**Don't execute incomplete AI tool calls.**
|
|
6
6
|
|
|
7
|
-
`prefix-safe-json` is a fail-closed integrity layer for streamed
|
|
8
|
-
calls. It distinguishes complete, unfabricated arguments from truncated
|
|
7
|
+
`prefix-safe-json` is a fail-closed execution-integrity layer for streamed
|
|
8
|
+
LLM tool calls. It distinguishes complete, unfabricated arguments from truncated
|
|
9
9
|
ones — including ones a syntax-level JSON repairer can make *look* complete
|
|
10
10
|
— before they reach a tool with real side effects (writing a file, running a
|
|
11
11
|
command, sending a request).
|
|
@@ -94,12 +94,56 @@ provider, or framework hands it the data. See
|
|
|
94
94
|
`test/guard/ai-sdk-compatibility.test.ts` for the cross-version test
|
|
95
95
|
evidence.
|
|
96
96
|
|
|
97
|
+
**Execution ownership: what must never also happen**
|
|
98
|
+
|
|
99
|
+
The guard's decisions only mean something if it's the sole thing deciding
|
|
100
|
+
whether your tool function runs. The pattern above works because it never
|
|
101
|
+
gives the AI SDK's own tool-calling loop a chance to run your tool itself:
|
|
102
|
+
|
|
103
|
+
- **Safe, supported pattern** — define your tools *without* an AI SDK-native
|
|
104
|
+
`execute` callback at all. Not even a no-op one: the guard treats any
|
|
105
|
+
`tool-result`/`tool-error` it observes as proof the SDK's tool loop
|
|
106
|
+
already invoked that call, and a no-op callback still produces one —
|
|
107
|
+
omitting `execute` entirely is what keeps the SDK from running the tool
|
|
108
|
+
itself in the first place. Consume `fullStream` yourself, and dispatch
|
|
109
|
+
manually — only for `action === "execute"` — after `guard.finish()`,
|
|
110
|
+
exactly as shown above.
|
|
111
|
+
- **Unprotected / misuse pattern** — attach the real, irreversible operation
|
|
112
|
+
(or any `execute` implementation at all, no-op included) as the tool's own
|
|
113
|
+
AI SDK-native callback, *and* separately run the guard on the same
|
|
114
|
+
stream. The SDK can invoke `execute` as soon as it resolves that call's
|
|
115
|
+
input, independent of and often before this guard ever reaches a
|
|
116
|
+
decision. If that happens, the side effect has already run —
|
|
117
|
+
`prefix-safe-json` cannot retroactively undo it.
|
|
118
|
+
|
|
119
|
+
The guard does defend against the second pattern in one specific way: a
|
|
120
|
+
`tool-result` or `tool-error` part on `fullStream` is direct evidence the
|
|
121
|
+
SDK's own loop already invoked *some* call. When it names a specific call
|
|
122
|
+
(a real `toolCallId`), only that call is disqualified; when it doesn't, the
|
|
123
|
+
guard cannot tell which in-flight call was affected and fails closed for
|
|
124
|
+
**every** call in that stream rather than guess. Either way the guard never
|
|
125
|
+
again reports `action: "execute"` for the affected call(s)
|
|
126
|
+
(`reason: "sdk_execution_observed"`, which takes priority over every other
|
|
127
|
+
rejection reason), so a caller who also runs the documented manual-dispatch
|
|
128
|
+
loop will not invoke the tool function a *second* time. It does not undo
|
|
129
|
+
whatever the SDK's own callback already did. See
|
|
130
|
+
[`docs/EXECUTION_GATE.md`](docs/EXECUTION_GATE.md#execution-ownership-tool-resulttool-error-as-evidence)
|
|
131
|
+
for the full behavior and test matrix.
|
|
132
|
+
|
|
97
133
|
**Supported providers**: OpenAI (legacy `function_call` and Responses API),
|
|
98
134
|
Anthropic, Gemini, OpenRouter, generic OpenAI-compatible endpoints, and the
|
|
99
135
|
Vercel AI SDK. High-level guards currently ship for the AI SDK; every
|
|
100
136
|
provider has a public low-level adapter (see below) that composes with
|
|
101
137
|
`createToolCallExecutionGate()` the same way.
|
|
102
138
|
|
|
139
|
+
`AiSdkStreamAdapter`/`createAiSdkExecutionGuard()` target the public
|
|
140
|
+
`streamText()`/`generateText()` `fullStream` surface, whose `finishReason`
|
|
141
|
+
is a plain unified string (`"stop"`, `"length"`, ...). They are not
|
|
142
|
+
currently an adapter for the lower-level `@ai-sdk/provider` `doStream()`
|
|
143
|
+
boundary (`LanguageModelV3`/`V4`), where finish reason is
|
|
144
|
+
`{ unified, raw }`-object-shaped — building your own provider against that
|
|
145
|
+
interface directly needs different handling of that field.
|
|
146
|
+
|
|
103
147
|
Full semantics, the decision table, provider finish-reason mapping, and the
|
|
104
148
|
high-level guard API: [`docs/EXECUTION_GATE.md`](docs/EXECUTION_GATE.md).
|
|
105
149
|
|
|
@@ -120,6 +164,8 @@ This library parses each chunk incrementally and provides:
|
|
|
120
164
|
|
|
121
165
|
> The parser never fabricates missing data. It clearly distinguishes what is definite, what is pending, what was deterministically repaired, and what is lost.
|
|
122
166
|
|
|
167
|
+
> **Valid JSON is not safe generation completion. Safe generation completion is not permission to execute a side effect.** Structural validity, confirmed completeness, and execution authority are three separate questions — the gate layer (below) answers all three before ever returning `execute`, not just the first. See [`docs/THREAT_MODEL.md`](docs/THREAT_MODEL.md) for the full guarantee/non-guarantee list.
|
|
168
|
+
|
|
123
169
|
## Why not a general "partial JSON" parser?
|
|
124
170
|
|
|
125
171
|
Most streaming JSON helpers (including ones already used in the wild for
|
|
@@ -210,7 +256,9 @@ It does **not**:
|
|
|
210
256
|
with complete, schema-valid arguments is still reported `execute`)
|
|
211
257
|
|
|
212
258
|
See [`docs/EXECUTION_GATE.md`](docs/EXECUTION_GATE.md#limitations---what-this-does-not-protect-against)
|
|
213
|
-
for the full list, including known internal limitations
|
|
259
|
+
for the full list, including known internal limitations, and
|
|
260
|
+
[`docs/THREAT_MODEL.md`](docs/THREAT_MODEL.md) for the complete security
|
|
261
|
+
objective, trust boundaries, and guarantee/non-guarantee list.
|
|
214
262
|
|
|
215
263
|
## Current Status
|
|
216
264
|
|
|
@@ -229,6 +277,7 @@ for the full list, including known internal limitations.
|
|
|
229
277
|
- Optional per-tool JSON Schema validation on the coordinator (see below) — a value can be structurally complete and still not match what a tool declared it needs
|
|
230
278
|
- `createToolCallExecutionGate()` — a fail-closed `execute` / `retry` / `reject` decision per tool call, built on top of the coordinator (see [`docs/EXECUTION_GATE.md`](docs/EXECUTION_GATE.md))
|
|
231
279
|
- `createAiSdkExecutionGuard()` — a drop-in high-level guard for the Vercel AI SDK's `fullStream`, composing a provider adapter with the execution gate; every `ExecutionDecision` also carries an `evidence` object explaining why (see [`docs/EXECUTION_GATE.md`](docs/EXECUTION_GATE.md#high-level-guards))
|
|
280
|
+
- SDK execution-ownership detection — direct evidence that the AI SDK's own tool loop already invoked a call (attributed or, when it can't be, stream-wide) permanently blocks this library from also authorizing it, with the highest rejection-reason priority of any disqualifier (see [`docs/EXECUTION_GATE.md`](docs/EXECUTION_GATE.md#execution-ownership-tool-resulttool-error-as-evidence))
|
|
232
281
|
|
|
233
282
|
### Not Yet Implemented
|
|
234
283
|
|
|
@@ -271,6 +320,11 @@ A schema mismatch also surfaces as a coordinator diagnostic (`E_SCHEMA_VALIDATIO
|
|
|
271
320
|
npm install prefix-safe-json
|
|
272
321
|
```
|
|
273
322
|
|
|
323
|
+
ESM only — `import`, not `require`. There is currently no CommonJS build.
|
|
324
|
+
Node `>=18.0.0`. See [`docs/COMPATIBILITY.md`](docs/COMPATIBILITY.md) for
|
|
325
|
+
the full ESM/Node/SemVer/Stable-vs-Experimental policy and the per-provider
|
|
326
|
+
compatibility matrix.
|
|
327
|
+
|
|
274
328
|
## Low-level API: Quick Start
|
|
275
329
|
|
|
276
330
|
The AI SDK guard (above) covers the common case. For other providers, or
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../src/coordinator/coordinator.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,aAAa,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,yBAAyB,EAAgB,eAAe,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,EACxB,8BAA8B,EAC9B,qBAAqB,EACrB,iBAAiB,EAIjB,cAAc,EACf,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../src/coordinator/coordinator.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,aAAa,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,yBAAyB,EAAgB,eAAe,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,EACxB,8BAA8B,EAC9B,qBAAqB,EACrB,iBAAiB,EAIjB,cAAc,EACf,MAAM,YAAY,CAAC;AAwCpB,qBAAa,gCAAiC,YAAW,yBAAyB;IAChF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgC;IAC/D,OAAO,CAAC,KAAK,CAAgD;IAC7D,OAAO,CAAC,qBAAqB,CAAkC;IAC/D,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,UAAU,CAAS;IAE3B;;;;;;;;;;;;;;;OAeG;gBAED,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,EACnC,aAAa,CAAC,EAAE,aAAa,EAC7B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;IAa9C,IAAI,CAAC,KAAK,EAAE,yBAAyB,GAAG,qBAAqB;IAgD7D,OAAO,CAAC,WAAW;IAqDnB,OAAO,CAAC,cAAc;IAgDtB,OAAO,CAAC,eAAe;IAqCvB,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,aAAa;IA6BrB,OAAO,CAAC,UAAU;IAoElB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,wBAAwB;IA6BhC,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,aAAa;IASrB,QAAQ,IAAI,2BAA2B;IAmBvC,WAAW,IAAI,SAAS,wBAAwB,EAAE;IAMlD,MAAM,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,eAAe,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,8BAA8B;CAcrG;AAED,wBAAgB,+BAA+B,CAC7C,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,EACnC,aAAa,CAAC,EAAE,aAAa,EAC7B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAC3C,yBAAyB,CAE3B"}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import { Ajv } from "ajv";
|
|
2
2
|
import { createParser } from "../parser.js";
|
|
3
3
|
import { DEFAULT_COORDINATOR_LIMITS } from "./types.js";
|
|
4
|
+
import { SDK_EXECUTION_OBSERVED_DIAGNOSTIC_CODE, SDK_EXECUTION_ERROR_DIAGNOSTIC_CODE, } from "./diagnostic-codes.js";
|
|
5
|
+
// A `provider_diagnostic` carrying either code is proof that a provider SDK's
|
|
6
|
+
// own tool loop already invoked this call's `execute` callback (see the two
|
|
7
|
+
// constants' own docs in diagnostic-codes.ts) - success and failure get
|
|
8
|
+
// identical treatment here, since neither proves the absence of a partial
|
|
9
|
+
// irreversible side effect, and this library only needs to know that
|
|
10
|
+
// execution authority already left its hands.
|
|
11
|
+
const SDK_EXECUTION_OBSERVED_CODES = new Set([
|
|
12
|
+
SDK_EXECUTION_OBSERVED_DIAGNOSTIC_CODE,
|
|
13
|
+
SDK_EXECUTION_ERROR_DIAGNOSTIC_CODE,
|
|
14
|
+
]);
|
|
4
15
|
class CoordinatorCallState {
|
|
5
16
|
internalId;
|
|
6
17
|
provider;
|
|
@@ -360,6 +371,24 @@ export class DefaultToolCallStreamCoordinator {
|
|
|
360
371
|
message: event.message,
|
|
361
372
|
internalId,
|
|
362
373
|
});
|
|
374
|
+
// Mirrors handleIdentity()'s existing "mutate call.status mid-stream, not
|
|
375
|
+
// only at finishCall() time" pattern for identity conflicts - this is
|
|
376
|
+
// the same kind of call-scoped fact that can be known before the stream
|
|
377
|
+
// ends and must not wait for it. Gated on "collecting" (first write
|
|
378
|
+
// wins, matching finishCall()'s own `if (call.status !== "collecting")
|
|
379
|
+
// return` guard) so this is a one-way transition: once set, no later
|
|
380
|
+
// event of any kind - including a duplicate of this same diagnostic -
|
|
381
|
+
// can move the call off "sdk_execution_observed". An unattributable
|
|
382
|
+
// diagnostic (no callRef, e.g. a malformed provider event with no
|
|
383
|
+
// correlatable ID) intentionally poisons nothing - there is no specific
|
|
384
|
+
// call to hold ineligible, and guessing one would be worse than leaving
|
|
385
|
+
// it to decide normally.
|
|
386
|
+
if (internalId !== undefined && SDK_EXECUTION_OBSERVED_CODES.has(event.code)) {
|
|
387
|
+
const call = this.calls.get(internalId);
|
|
388
|
+
if (call && call.status === "collecting") {
|
|
389
|
+
call.status = "sdk_execution_observed";
|
|
390
|
+
}
|
|
391
|
+
}
|
|
363
392
|
}
|
|
364
393
|
handleStreamEnd(event) {
|
|
365
394
|
this.isFinished = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../src/coordinator/coordinator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../src/coordinator/coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,4 +8,30 @@
|
|
|
8
8
|
* blindly.
|
|
9
9
|
*/
|
|
10
10
|
export declare const CONTENT_FILTERED_DIAGNOSTIC_CODE = "E_CONTENT_FILTERED";
|
|
11
|
+
/**
|
|
12
|
+
* Emitted (as a `provider_diagnostic` carrying the call's own `callRef`) by
|
|
13
|
+
* the AI SDK adapter when a `tool-result` part is observed: direct proof
|
|
14
|
+
* that the Vercel AI SDK's own tool-calling loop already invoked this call's
|
|
15
|
+
* `execute` callback and it returned successfully - independent of, and
|
|
16
|
+
* almost always before, this library's own decision is ever computed. See
|
|
17
|
+
* `SDK_EXECUTION_ERROR_DIAGNOSTIC_CODE` for the failed-attempt counterpart;
|
|
18
|
+
* the coordinator treats both identically (see `coordinator.ts`'s
|
|
19
|
+
* `handleProviderDiagnostic`), poisoning the call to `status:
|
|
20
|
+
* "sdk_execution_observed"` so the gate can never later report `execute` for
|
|
21
|
+
* it - re-running (or, for the error case, retrying) a call the SDK already
|
|
22
|
+
* attempted would risk a second/duplicate invocation of the same
|
|
23
|
+
* irreversible side effect.
|
|
24
|
+
*/
|
|
25
|
+
export declare const SDK_EXECUTION_OBSERVED_DIAGNOSTIC_CODE = "E_SDK_EXECUTION_OBSERVED";
|
|
26
|
+
/**
|
|
27
|
+
* Emitted (as a `provider_diagnostic` carrying the call's own `callRef`, when
|
|
28
|
+
* a `callRef` could be determined) by the AI SDK adapter when a `tool-error`
|
|
29
|
+
* part is observed: proof that the Vercel AI SDK's own tool-calling loop
|
|
30
|
+
* already invoked this call's `execute` callback and it threw. This does NOT
|
|
31
|
+
* prove no partial irreversible side effect occurred before the throw, so it
|
|
32
|
+
* receives the exact same fail-closed treatment as
|
|
33
|
+
* `SDK_EXECUTION_OBSERVED_DIAGNOSTIC_CODE` - success and failure are not
|
|
34
|
+
* distinguished into safe/unsafe here, both must fail closed.
|
|
35
|
+
*/
|
|
36
|
+
export declare const SDK_EXECUTION_ERROR_DIAGNOSTIC_CODE = "E_PROVIDER_TOOL_ERROR";
|
|
11
37
|
//# sourceMappingURL=diagnostic-codes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostic-codes.d.ts","sourceRoot":"","sources":["../../src/coordinator/diagnostic-codes.ts"],"names":[],"mappings":"AAYA;;;;;;;;GAQG;AACH,eAAO,MAAM,gCAAgC,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"diagnostic-codes.d.ts","sourceRoot":"","sources":["../../src/coordinator/diagnostic-codes.ts"],"names":[],"mappings":"AAYA;;;;;;;;GAQG;AACH,eAAO,MAAM,gCAAgC,uBAAuB,CAAC;AAErE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sCAAsC,6BAA6B,CAAC;AAEjF;;;;;;;;;GASG;AACH,eAAO,MAAM,mCAAmC,0BAA0B,CAAC"}
|
|
@@ -19,4 +19,30 @@
|
|
|
19
19
|
* blindly.
|
|
20
20
|
*/
|
|
21
21
|
export const CONTENT_FILTERED_DIAGNOSTIC_CODE = "E_CONTENT_FILTERED";
|
|
22
|
+
/**
|
|
23
|
+
* Emitted (as a `provider_diagnostic` carrying the call's own `callRef`) by
|
|
24
|
+
* the AI SDK adapter when a `tool-result` part is observed: direct proof
|
|
25
|
+
* that the Vercel AI SDK's own tool-calling loop already invoked this call's
|
|
26
|
+
* `execute` callback and it returned successfully - independent of, and
|
|
27
|
+
* almost always before, this library's own decision is ever computed. See
|
|
28
|
+
* `SDK_EXECUTION_ERROR_DIAGNOSTIC_CODE` for the failed-attempt counterpart;
|
|
29
|
+
* the coordinator treats both identically (see `coordinator.ts`'s
|
|
30
|
+
* `handleProviderDiagnostic`), poisoning the call to `status:
|
|
31
|
+
* "sdk_execution_observed"` so the gate can never later report `execute` for
|
|
32
|
+
* it - re-running (or, for the error case, retrying) a call the SDK already
|
|
33
|
+
* attempted would risk a second/duplicate invocation of the same
|
|
34
|
+
* irreversible side effect.
|
|
35
|
+
*/
|
|
36
|
+
export const SDK_EXECUTION_OBSERVED_DIAGNOSTIC_CODE = "E_SDK_EXECUTION_OBSERVED";
|
|
37
|
+
/**
|
|
38
|
+
* Emitted (as a `provider_diagnostic` carrying the call's own `callRef`, when
|
|
39
|
+
* a `callRef` could be determined) by the AI SDK adapter when a `tool-error`
|
|
40
|
+
* part is observed: proof that the Vercel AI SDK's own tool-calling loop
|
|
41
|
+
* already invoked this call's `execute` callback and it threw. This does NOT
|
|
42
|
+
* prove no partial irreversible side effect occurred before the throw, so it
|
|
43
|
+
* receives the exact same fail-closed treatment as
|
|
44
|
+
* `SDK_EXECUTION_OBSERVED_DIAGNOSTIC_CODE` - success and failure are not
|
|
45
|
+
* distinguished into safe/unsafe here, both must fail closed.
|
|
46
|
+
*/
|
|
47
|
+
export const SDK_EXECUTION_ERROR_DIAGNOSTIC_CODE = "E_PROVIDER_TOOL_ERROR";
|
|
22
48
|
//# sourceMappingURL=diagnostic-codes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostic-codes.js","sourceRoot":"","sources":["../../src/coordinator/diagnostic-codes.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,mDAAmD;AACnD,EAAE;AACF,sEAAsE;AACtE,2EAA2E;AAC3E,yEAAyE;AACzE,2EAA2E;AAC3E,0EAA0E;AAC1E,wEAAwE;AACxE,8CAA8C;AAC9C,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"diagnostic-codes.js","sourceRoot":"","sources":["../../src/coordinator/diagnostic-codes.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,mDAAmD;AACnD,EAAE;AACF,sEAAsE;AACtE,2EAA2E;AAC3E,yEAAyE;AACzE,2EAA2E;AAC3E,0EAA0E;AAC1E,wEAAwE;AACxE,8CAA8C;AAC9C,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,oBAAoB,CAAC;AAErE;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,0BAA0B,CAAC;AAEjF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,uBAAuB,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { StreamEndReason } from "../types.js";
|
|
2
|
+
export type { StreamEndReason };
|
|
1
3
|
export type ProviderName = "openai" | "anthropic" | "gemini" | "openrouter" | "openai-compatible" | "ai-sdk" | "unknown";
|
|
2
4
|
export interface NormalizedEventBase {
|
|
3
5
|
/**
|
|
@@ -32,7 +34,6 @@ export interface ToolCallArgumentsDeltaEvent extends NormalizedEventBase {
|
|
|
32
34
|
readonly callRef: ProviderCallRef;
|
|
33
35
|
readonly delta: string | Uint8Array;
|
|
34
36
|
}
|
|
35
|
-
export type StreamEndReason = "complete" | "length" | "cancelled" | "provider_error" | "network_error" | "unknown";
|
|
36
37
|
export interface ToolCallEndEvent extends NormalizedEventBase {
|
|
37
38
|
readonly type: "tool_call_end";
|
|
38
39
|
readonly callRef: ProviderCallRef;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/coordinator/protocol.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,YAAY,GACZ,mBAAmB,GACnB,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,MAAM,yBAAyB,GACjC,kBAAkB,GAClB,qBAAqB,GACrB,sBAAsB,GACtB,2BAA2B,GAC3B,gBAAgB,GAChB,uBAAuB,GACvB,sBAAsB,CAAC;AAE3B,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAElC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAElC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACtE,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;CACrC;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/coordinator/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,YAAY,GACZ,mBAAmB,GACnB,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,MAAM,yBAAyB,GACjC,kBAAkB,GAClB,qBAAqB,GACrB,sBAAsB,GACtB,2BAA2B,GAC3B,gBAAgB,GAChB,uBAAuB,GACvB,sBAAsB,CAAC;AAE3B,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAElC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAElC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACtE,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;CACrC;AAED,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC3D,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IAC1D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;CACpC;AAED,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B"}
|
|
@@ -15,7 +15,7 @@ export interface ToolCallState {
|
|
|
15
15
|
readonly name?: string;
|
|
16
16
|
readonly nameComplete: boolean;
|
|
17
17
|
readonly parser: ParserSnapshot;
|
|
18
|
-
readonly status: "collecting" | "complete" | "truncated" | "salvaged" | "invalid" | "cancelled";
|
|
18
|
+
readonly status: "collecting" | "complete" | "truncated" | "salvaged" | "invalid" | "cancelled" | "sdk_execution_observed";
|
|
19
19
|
/**
|
|
20
20
|
* Result of validating `parser.stableValue` against the JSON Schema
|
|
21
21
|
* registered for this call's tool name (see `toolSchemas` on
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/coordinator/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEzF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED,eAAO,MAAM,0BAA0B,EAAE,iBAKxC,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAEhC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAE/B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAEhC,QAAQ,CAAC,MAAM,EACX,YAAY,GACZ,UAAU,GACV,WAAW,GACX,UAAU,GACV,SAAS,GACT,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/coordinator/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEzF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED,eAAO,MAAM,0BAA0B,EAAE,iBAKxC,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAEhC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAE/B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAEhC,QAAQ,CAAC,MAAM,EACX,YAAY,GACZ,UAAU,GACV,WAAW,GACX,UAAU,GACV,SAAS,GACT,WAAW,GACX,wBAAwB,CAAC;IAE7B;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAEpC,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACvD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,MAAM,wBAAwB,GAChC;IACE,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;CACjC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EACZ,UAAU,GACV,WAAW,GACX,UAAU,GACV,SAAS,GACT,WAAW,CAAC;IAChB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;CAC5C,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;CAClC,CAAC;AAEN,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IAC1D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,KAAK,EAAE,yBAAyB,GAAG,qBAAqB,CAAC;IAC9D,QAAQ,IAAI,2BAA2B,CAAC;IACxC,WAAW,IAAI,SAAS,wBAAwB,EAAE,CAAC;IACnD,MAAM,CAAC,IAAI,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,eAAe,CAAC;QACzB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,8BAA8B,CAAC;CACpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decide.d.ts","sourceRoot":"","sources":["../../src/gate/decide.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"decide.d.ts","sourceRoot":"","sources":["../../src/gate/decide.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAM7D,OAAO,EAAoB,eAAe,EAAmB,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEvG,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAE1C;;;;;OAKG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAE1C;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACxD;AAoBD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,eAAe,GACnB,eAAe,GAAG,qBAAqB,CA4JzC"}
|
package/dist/gate/decide.js
CHANGED
|
@@ -6,17 +6,28 @@
|
|
|
6
6
|
// ToolCallState fixtures, without spinning up a full push()/finish()
|
|
7
7
|
// pipeline for every row of the table.
|
|
8
8
|
//
|
|
9
|
-
// Priority order matters and is intentional
|
|
9
|
+
// Priority order matters and is intentional. SDK-execution-ownership
|
|
10
|
+
// evidence (attributed to this call, or stream-wide/unattributable) is
|
|
11
|
+
// checked FIRST, before every other disqualifier - it is a statement that
|
|
12
|
+
// execution authority already left this library's hands, categorically
|
|
13
|
+
// different from every other check below, which are all statements about
|
|
14
|
+
// the ARGUMENTS/STREAM being unusable. A caller's higher-level logic might
|
|
15
|
+
// reasonably retry a whole request on resource_limit/provider_error/
|
|
16
|
+
// content_filtered; retrying is never safe once SDK execution was observed,
|
|
17
|
+
// since a fresh generation could trigger the SDK's own execute() again for
|
|
18
|
+
// whatever already (partially) ran. That distinction would be lost if a
|
|
19
|
+
// data-quality reason could mask it, so it always wins regardless of what
|
|
20
|
+
// else is also true about the call. Every other fail-closed disqualifier
|
|
10
21
|
// (resource limits, provider errors, content-policy terminations, schema
|
|
11
|
-
// mismatches, malformed content, positively-observed truncation) is
|
|
12
|
-
// before the single positive "execute" branch. "execute" is reached
|
|
13
|
-
// once nothing above has disqualified the call - it is the last
|
|
14
|
-
// case, never the first check made, so a future status value that
|
|
15
|
-
// to superficially resemble "complete" still can't skip the checks
|
|
16
|
-
// it.
|
|
22
|
+
// mismatches, malformed content, positively-observed truncation) is then
|
|
23
|
+
// checked before the single positive "execute" branch. "execute" is reached
|
|
24
|
+
// only once nothing above has disqualified the call - it is the last
|
|
25
|
+
// positive case, never the first check made, so a future status value that
|
|
26
|
+
// happens to superficially resemble "complete" still can't skip the checks
|
|
27
|
+
// ahead of it.
|
|
17
28
|
// ---------------------------------------------------------------------------
|
|
18
29
|
import { DiagnosticCode } from "../diagnostics/codes.js";
|
|
19
|
-
import { CONTENT_FILTERED_DIAGNOSTIC_CODE } from "../coordinator/diagnostic-codes.js";
|
|
30
|
+
import { CONTENT_FILTERED_DIAGNOSTIC_CODE, SDK_EXECUTION_OBSERVED_DIAGNOSTIC_CODE, SDK_EXECUTION_ERROR_DIAGNOSTIC_CODE, } from "../coordinator/diagnostic-codes.js";
|
|
20
31
|
const PARSER_RESOURCE_LIMIT_CODES = new Set([
|
|
21
32
|
DiagnosticCode.E_LIMIT_DEPTH,
|
|
22
33
|
DiagnosticCode.E_LIMIT_INPUT_BYTES,
|
|
@@ -28,6 +39,10 @@ const COORDINATOR_RESOURCE_LIMIT_CODES = new Set([
|
|
|
28
39
|
"E_COORDINATOR_LIMIT_EVENTS",
|
|
29
40
|
"E_TOOL_NAME_LIMIT",
|
|
30
41
|
]);
|
|
42
|
+
const SDK_EXECUTION_OBSERVED_CODES = new Set([
|
|
43
|
+
SDK_EXECUTION_OBSERVED_DIAGNOSTIC_CODE,
|
|
44
|
+
SDK_EXECUTION_ERROR_DIAGNOSTIC_CODE,
|
|
45
|
+
]);
|
|
31
46
|
export function decideExecution(call, ctx) {
|
|
32
47
|
const parserDiagnostics = call.parser.diagnostics;
|
|
33
48
|
const callCoordinatorDiagnostics = ctx.diagnostics.filter((d) => d.internalId === call.internalId);
|
|
@@ -62,6 +77,27 @@ export function decideExecution(call, ctx) {
|
|
|
62
77
|
function retry(reason) {
|
|
63
78
|
return { ...common, action: "retry", executable: false, reason };
|
|
64
79
|
}
|
|
80
|
+
// --- SDK execution ownership (highest priority - see file header) -------
|
|
81
|
+
// Two evidence shapes, identical outcome:
|
|
82
|
+
// - attributed: `call.status` was poisoned the moment the coordinator
|
|
83
|
+
// resolved a tool-result/tool-error to this exact call - see
|
|
84
|
+
// DefaultToolCallStreamCoordinator.handleProviderDiagnostic. One-way,
|
|
85
|
+
// call-scoped.
|
|
86
|
+
// - unattributable: a tool-result/tool-error arrived with no resolvable
|
|
87
|
+
// call identity at all, recorded as a stream-wide diagnostic
|
|
88
|
+
// (`internalId: undefined`) instead of guessing which call it meant.
|
|
89
|
+
// With no way to rule any call in this stream out - including one
|
|
90
|
+
// whose `tool_call_start` arrives after this point - as the one the
|
|
91
|
+
// SDK already executed, EVERY call decided against this same
|
|
92
|
+
// `ctx.diagnostics` list must fail closed, not just the one that
|
|
93
|
+
// happens to look safest. `globalCoordinatorDiagnostics` is re-derived
|
|
94
|
+
// fresh from the full, append-only diagnostics list on every call to
|
|
95
|
+
// this function, so this is automatic for calls that exist now and
|
|
96
|
+
// calls the coordinator hasn't created yet.
|
|
97
|
+
if (call.status === "sdk_execution_observed" ||
|
|
98
|
+
globalCoordinatorDiagnostics.some((d) => SDK_EXECUTION_OBSERVED_CODES.has(d.code))) {
|
|
99
|
+
return reject("sdk_execution_observed");
|
|
100
|
+
}
|
|
65
101
|
// --- Universal fail-closed checks ---------------------------------------
|
|
66
102
|
// Evaluated first and unconditionally, regardless of call.status, so a
|
|
67
103
|
// resource limit, a provider-side failure, or a content-policy
|
|
@@ -83,6 +119,11 @@ export function decideExecution(call, ctx) {
|
|
|
83
119
|
// Exhaustive over ToolCallState["status"] with no `default`: if a future
|
|
84
120
|
// coordinator version adds a new status literal without a matching case
|
|
85
121
|
// here, `noImplicitReturns` fails the build - not a silent runtime gap.
|
|
122
|
+
// "sdk_execution_observed" has no case here at all: the check above
|
|
123
|
+
// already returned for it, and TypeScript's own control-flow narrowing
|
|
124
|
+
// has removed that literal from `call.status`'s type by this point - the
|
|
125
|
+
// compiler itself now rejects a case for it as unreachable, a stronger
|
|
126
|
+
// guarantee than a runtime-only "this shouldn't happen" comment could give.
|
|
86
127
|
switch (call.status) {
|
|
87
128
|
case "complete": {
|
|
88
129
|
if (call.schemaValid === false) {
|
package/dist/gate/decide.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decide.js","sourceRoot":"","sources":["../../src/gate/decide.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,mCAAmC;AACnC,EAAE;AACF,4EAA4E;AAC5E,2EAA2E;AAC3E,qEAAqE;AACrE,uCAAuC;AACvC,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"decide.js","sourceRoot":"","sources":["../../src/gate/decide.ts"],"names":[],"mappings":"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"}
|
package/dist/gate/types.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export type ExecutionAction = "execute" | "retry" | "reject";
|
|
|
18
18
|
* Machine-readable classification of *why* an `ExecutionAction` was chosen.
|
|
19
19
|
* See `docs/EXECUTION_GATE.md` for the full decision table.
|
|
20
20
|
*/
|
|
21
|
-
export type ExecutionReason = "complete" | "truncated" | "stream_incomplete" | "schema_invalid" | "malformed" | "resource_limit" | "provider_error" | "content_filtered" | "unknown";
|
|
21
|
+
export type ExecutionReason = "complete" | "truncated" | "stream_incomplete" | "schema_invalid" | "malformed" | "resource_limit" | "provider_error" | "content_filtered" | "sdk_execution_observed" | "unknown";
|
|
22
22
|
/**
|
|
23
23
|
* Why a decision came out the way it did - observability, not a second
|
|
24
24
|
* decision input. Every field here is read-only, derived state already held
|
package/dist/gate/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/gate/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/gate/types.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export { createParser } from "./parser.js";
|
|
6
6
|
export type { IncrementalJsonParser, ParserOptions, PushResult, ParserSnapshot, FinalResult, ParserEvent, ValueCommittedEvent, ContainerClosedEvent, RepairAppliedEvent, DiagnosticEvent, DocumentCompleteEvent, StreamFinishedEvent, JsonValue, JsonObject, JsonArray, SyntaxStatus, StreamEndReason, PendingToken, RepairAction, Diagnostic, ParserLimits, } from "./types.js";
|
|
7
|
+
/** @public (Stable) Default resource limits applied when none are supplied to `createParser()`. */
|
|
7
8
|
export { DEFAULT_LIMITS } from "./limits.js";
|
|
9
|
+
/** @public (Stable) Machine-readable parser diagnostic codes (see `Diagnostic.code`). */
|
|
8
10
|
export { DiagnosticCode } from "./diagnostics/codes.js";
|
|
9
11
|
/**
|
|
10
12
|
* @public (Stable)
|
|
@@ -13,6 +15,13 @@ export { DiagnosticCode } from "./diagnostics/codes.js";
|
|
|
13
15
|
export { createToolCallStreamCoordinator } from "./coordinator/coordinator.js";
|
|
14
16
|
export type { ToolCallStreamCoordinator, ToolCallState, JsonSchemaLike, CoordinatorLimits, CoordinatorDiagnostic, } from "./coordinator/types.js";
|
|
15
17
|
export type { NormalizedToolStreamEvent, ProviderName } from "./coordinator/protocol.js";
|
|
18
|
+
/**
|
|
19
|
+
* @public (Stable)
|
|
20
|
+
* Diagnostic code a custom `ProviderStreamAdapter` can emit (as a
|
|
21
|
+
* stream-wide `provider_diagnostic`, no `callRef`) to signal a
|
|
22
|
+
* content-safety/policy termination - the gate matches on this exact code
|
|
23
|
+
* to report `reason: "content_filtered"`. See docs/EXECUTION_GATE.md.
|
|
24
|
+
*/
|
|
16
25
|
export { CONTENT_FILTERED_DIAGNOSTIC_CODE } from "./coordinator/diagnostic-codes.js";
|
|
17
26
|
/**
|
|
18
27
|
* @public (Stable)
|
|
@@ -33,13 +42,44 @@ export type { ExecutionGuard, AiSdkExecutionGuard, ExecutionGuardOptions } from
|
|
|
33
42
|
export type { ProviderStreamAdapter } from "./providers/adapter.js";
|
|
34
43
|
/**
|
|
35
44
|
* @public (Experimental)
|
|
36
|
-
*
|
|
37
|
-
*
|
|
45
|
+
* OpenAI Chat Completions (legacy `function_call`) and Responses API
|
|
46
|
+
* streaming tool-call shape.
|
|
38
47
|
*/
|
|
39
48
|
export { OpenAIStreamAdapter } from "./providers/openai.js";
|
|
49
|
+
/**
|
|
50
|
+
* @public (Experimental)
|
|
51
|
+
* Generic OpenAI-compatible `choices[].delta.tool_calls[]` streaming
|
|
52
|
+
* shape, shared by OpenAI's current API and most compatible endpoints.
|
|
53
|
+
*/
|
|
40
54
|
export { OpenAICompatibleStreamAdapter } from "./providers/openai-compatible.js";
|
|
55
|
+
/**
|
|
56
|
+
* @public (Experimental)
|
|
57
|
+
* Anthropic Messages API streaming tool-call shape
|
|
58
|
+
* (`content_block_delta` / `input_json_delta`).
|
|
59
|
+
*/
|
|
41
60
|
export { AnthropicStreamAdapter } from "./providers/anthropic.js";
|
|
61
|
+
/**
|
|
62
|
+
* @public (Experimental)
|
|
63
|
+
* Gemini's structured `functionCall` shape. Unlike the other adapters,
|
|
64
|
+
* Gemini delivers function-call arguments as an already-parsed object, not
|
|
65
|
+
* incremental raw JSON text - see docs/COMPATIBILITY.md for what that
|
|
66
|
+
* means for this adapter's guarantees.
|
|
67
|
+
*/
|
|
42
68
|
export { GeminiStreamAdapter } from "./providers/gemini.js";
|
|
69
|
+
/**
|
|
70
|
+
* @public (Experimental)
|
|
71
|
+
* OpenRouter's streaming tool-call shape (a thin extension of the
|
|
72
|
+
* OpenAI-compatible shape above).
|
|
73
|
+
*/
|
|
43
74
|
export { OpenRouterStreamAdapter } from "./providers/openrouter.js";
|
|
75
|
+
/**
|
|
76
|
+
* @public (Experimental)
|
|
77
|
+
* Vercel AI SDK's `fullStream` tool-call part shape
|
|
78
|
+
* (`tool-input-start`/`-delta`/`-end`, `tool-call`, `tool-result`,
|
|
79
|
+
* `tool-error`, `finish`, `error`, `abort`). Verified against `ai@5.0.240`,
|
|
80
|
+
* `ai@6.0.259`, `ai@7.0.70` - see docs/COMPATIBILITY.md. Prefer
|
|
81
|
+
* `createAiSdkExecutionGuard()` (Stable, above) for the common case; use
|
|
82
|
+
* this directly only if you need the adapter instance itself.
|
|
83
|
+
*/
|
|
44
84
|
export { AiSdkStreamAdapter } from "./providers/ai-sdk.js";
|
|
45
85
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,YAAY,EAEV,qBAAqB,EACrB,aAAa,EAGb,UAAU,EACV,cAAc,EACd,WAAW,EAGX,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EAGnB,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,mGAAmG;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,yFAAyF;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD;;;GAGG;AACH,OAAO,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AAC/E,YAAY,EACV,yBAAyB,EACzB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzF;;;;;;GAMG;AACH,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AAGrF;;;;;GAKG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAC7D,YAAY,EACV,qBAAqB,EACrB,gCAAgC,EAChC,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAGzB;;;;;GAKG;AACH,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGnG,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAOpE;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;;GAIG;AACH,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAEjF;;;;GAIG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;;;;GAMG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;;GAIG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;;;;;;;GAQG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,24 @@
|
|
|
1
1
|
// ---------------------------------------------------------------------------
|
|
2
2
|
// Public API — prefix-safe-json
|
|
3
|
+
//
|
|
4
|
+
// Every exported function/class carries its own `@public (Stable)` or
|
|
5
|
+
// `@public (Experimental)` classification directly above its own
|
|
6
|
+
// declaration - never one comment shared across multiple export
|
|
7
|
+
// statements, since a JSDoc/TSDoc comment attaches only to the single
|
|
8
|
+
// declaration immediately following it, not to every statement a reader's
|
|
9
|
+
// eye groups it with visually. Type-only exports grouped under a
|
|
10
|
+
// `// <Section> API` comment inherit the classification of the
|
|
11
|
+
// function/class they are declared alongside in that same section, unless
|
|
12
|
+
// individually annotated otherwise.
|
|
3
13
|
// ---------------------------------------------------------------------------
|
|
4
14
|
/**
|
|
5
15
|
* @public (Stable)
|
|
6
16
|
* Creates a new Incremental JSON Parser instance.
|
|
7
17
|
*/
|
|
8
18
|
export { createParser } from "./parser.js";
|
|
19
|
+
/** @public (Stable) Default resource limits applied when none are supplied to `createParser()`. */
|
|
9
20
|
export { DEFAULT_LIMITS } from "./limits.js";
|
|
21
|
+
/** @public (Stable) Machine-readable parser diagnostic codes (see `Diagnostic.code`). */
|
|
10
22
|
export { DiagnosticCode } from "./diagnostics/codes.js";
|
|
11
23
|
// Coordinator API
|
|
12
24
|
/**
|
|
@@ -14,6 +26,13 @@ export { DiagnosticCode } from "./diagnostics/codes.js";
|
|
|
14
26
|
* Creates a stream coordinator for mapping overlapping multi-tool streams.
|
|
15
27
|
*/
|
|
16
28
|
export { createToolCallStreamCoordinator } from "./coordinator/coordinator.js";
|
|
29
|
+
/**
|
|
30
|
+
* @public (Stable)
|
|
31
|
+
* Diagnostic code a custom `ProviderStreamAdapter` can emit (as a
|
|
32
|
+
* stream-wide `provider_diagnostic`, no `callRef`) to signal a
|
|
33
|
+
* content-safety/policy termination - the gate matches on this exact code
|
|
34
|
+
* to report `reason: "content_filtered"`. See docs/EXECUTION_GATE.md.
|
|
35
|
+
*/
|
|
17
36
|
export { CONTENT_FILTERED_DIAGNOSTIC_CODE } from "./coordinator/diagnostic-codes.js";
|
|
18
37
|
// Execution Safety Gate API
|
|
19
38
|
/**
|
|
@@ -31,15 +50,50 @@ export { createToolCallExecutionGate } from "./gate/gate.js";
|
|
|
31
50
|
* `docs/EXECUTION_GATE.md#high-level-guards`.
|
|
32
51
|
*/
|
|
33
52
|
export { createAiSdkExecutionGuard } from "./guard/ai-sdk.js";
|
|
53
|
+
// Provider adapters for various LLM network shapes. Each is independently
|
|
54
|
+
// classified below - see docs/COMPATIBILITY.md for what "verified" means
|
|
55
|
+
// per adapter (a specific tested SDK version vs. a documented wire shape).
|
|
56
|
+
// All six may change if the upstream API/SDK shape they target changes.
|
|
34
57
|
/**
|
|
35
58
|
* @public (Experimental)
|
|
36
|
-
*
|
|
37
|
-
*
|
|
59
|
+
* OpenAI Chat Completions (legacy `function_call`) and Responses API
|
|
60
|
+
* streaming tool-call shape.
|
|
38
61
|
*/
|
|
39
62
|
export { OpenAIStreamAdapter } from "./providers/openai.js";
|
|
63
|
+
/**
|
|
64
|
+
* @public (Experimental)
|
|
65
|
+
* Generic OpenAI-compatible `choices[].delta.tool_calls[]` streaming
|
|
66
|
+
* shape, shared by OpenAI's current API and most compatible endpoints.
|
|
67
|
+
*/
|
|
40
68
|
export { OpenAICompatibleStreamAdapter } from "./providers/openai-compatible.js";
|
|
69
|
+
/**
|
|
70
|
+
* @public (Experimental)
|
|
71
|
+
* Anthropic Messages API streaming tool-call shape
|
|
72
|
+
* (`content_block_delta` / `input_json_delta`).
|
|
73
|
+
*/
|
|
41
74
|
export { AnthropicStreamAdapter } from "./providers/anthropic.js";
|
|
75
|
+
/**
|
|
76
|
+
* @public (Experimental)
|
|
77
|
+
* Gemini's structured `functionCall` shape. Unlike the other adapters,
|
|
78
|
+
* Gemini delivers function-call arguments as an already-parsed object, not
|
|
79
|
+
* incremental raw JSON text - see docs/COMPATIBILITY.md for what that
|
|
80
|
+
* means for this adapter's guarantees.
|
|
81
|
+
*/
|
|
42
82
|
export { GeminiStreamAdapter } from "./providers/gemini.js";
|
|
83
|
+
/**
|
|
84
|
+
* @public (Experimental)
|
|
85
|
+
* OpenRouter's streaming tool-call shape (a thin extension of the
|
|
86
|
+
* OpenAI-compatible shape above).
|
|
87
|
+
*/
|
|
43
88
|
export { OpenRouterStreamAdapter } from "./providers/openrouter.js";
|
|
89
|
+
/**
|
|
90
|
+
* @public (Experimental)
|
|
91
|
+
* Vercel AI SDK's `fullStream` tool-call part shape
|
|
92
|
+
* (`tool-input-start`/`-delta`/`-end`, `tool-call`, `tool-result`,
|
|
93
|
+
* `tool-error`, `finish`, `error`, `abort`). Verified against `ai@5.0.240`,
|
|
94
|
+
* `ai@6.0.259`, `ai@7.0.70` - see docs/COMPATIBILITY.md. Prefer
|
|
95
|
+
* `createAiSdkExecutionGuard()` (Stable, above) for the common case; use
|
|
96
|
+
* this directly only if you need the adapter instance itself.
|
|
97
|
+
*/
|
|
44
98
|
export { AiSdkStreamAdapter } from "./providers/ai-sdk.js";
|
|
45
99
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiC3C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,kBAAkB;AAClB;;;GAGG;AACH,OAAO,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AAS/E,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AAErF,4BAA4B;AAC5B;;;;;GAKG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAY7D,8BAA8B;AAC9B;;;;;GAKG;AACH,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAM9D;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,gCAAgC;AAChC,EAAE;AACF,sEAAsE;AACtE,iEAAiE;AACjE,gEAAgE;AAChE,sEAAsE;AACtE,0EAA0E;AAC1E,iEAAiE;AACjE,+DAA+D;AAC/D,0EAA0E;AAC1E,oCAAoC;AACpC,8EAA8E;AAE9E;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiC3C,mGAAmG;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,yFAAyF;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,kBAAkB;AAClB;;;GAGG;AACH,OAAO,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AAS/E;;;;;;GAMG;AACH,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AAErF,4BAA4B;AAC5B;;;;;GAKG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAY7D,8BAA8B;AAC9B;;;;;GAKG;AACH,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAM9D,0EAA0E;AAC1E,yEAAyE;AACzE,2EAA2E;AAC3E,wEAAwE;AAExE;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;;GAIG;AACH,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAEjF;;;;GAIG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;;;;GAMG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;;GAIG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;;;;;;;GAQG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -22,6 +22,11 @@ interface AiSdkToolCallPart {
|
|
|
22
22
|
toolCallId?: string;
|
|
23
23
|
toolName?: string;
|
|
24
24
|
}
|
|
25
|
+
interface AiSdkToolResultPart {
|
|
26
|
+
type: "tool-result";
|
|
27
|
+
toolCallId?: string;
|
|
28
|
+
toolName?: string;
|
|
29
|
+
}
|
|
25
30
|
interface AiSdkToolErrorPart {
|
|
26
31
|
type: "tool-error";
|
|
27
32
|
toolCallId?: string;
|
|
@@ -40,7 +45,7 @@ interface AiSdkAbortPart {
|
|
|
40
45
|
type: "abort";
|
|
41
46
|
reason?: string;
|
|
42
47
|
}
|
|
43
|
-
export type AiSdkStreamPart = AiSdkToolInputStartPart | AiSdkToolInputDeltaPart | AiSdkToolInputEndPart | AiSdkToolCallPart | AiSdkToolErrorPart | AiSdkFinishPart | AiSdkErrorPart | AiSdkAbortPart | {
|
|
48
|
+
export type AiSdkStreamPart = AiSdkToolInputStartPart | AiSdkToolInputDeltaPart | AiSdkToolInputEndPart | AiSdkToolCallPart | AiSdkToolResultPart | AiSdkToolErrorPart | AiSdkFinishPart | AiSdkErrorPart | AiSdkAbortPart | {
|
|
44
49
|
type: string;
|
|
45
50
|
[key: string]: unknown;
|
|
46
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-sdk.d.ts","sourceRoot":"","sources":["../../src/providers/ai-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACtG,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-sdk.d.ts","sourceRoot":"","sources":["../../src/providers/ai-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACtG,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAqBrD,UAAU,uBAAuB;IAC/B,IAAI,EAAE,kBAAkB,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,uBAAuB;IAC/B,IAAI,EAAE,kBAAkB,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,qBAAqB;IAC7B,IAAI,EAAE,gBAAgB,CAAC;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAGnB;AAED,UAAU,mBAAmB;IAC3B,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAInB;AAED,UAAU,kBAAkB;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,eAAe,GACvB,uBAAuB,GACvB,uBAAuB,GACvB,qBAAqB,GACrB,iBAAiB,GACjB,mBAAmB,GACnB,kBAAkB,GAClB,eAAe,GACf,cAAc,GACd,cAAc,GACd;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AA4B7C,qBAAa,kBAAmB,YAAW,qBAAqB,CAAC,OAAO,CAAC;IACvE,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAY;IAC3C,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,QAAQ,CAAS;IAEzB,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,yBAAyB,EAAE;IA6M7D,MAAM,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,eAAe,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,yBAAyB,EAAE;CAW3G"}
|
package/dist/providers/ai-sdk.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CONTENT_FILTERED_DIAGNOSTIC_CODE } from "../coordinator/diagnostic-codes.js";
|
|
1
|
+
import { CONTENT_FILTERED_DIAGNOSTIC_CODE, SDK_EXECUTION_OBSERVED_DIAGNOSTIC_CODE, SDK_EXECUTION_ERROR_DIAGNOSTIC_CODE, } from "../coordinator/diagnostic-codes.js";
|
|
2
2
|
function toolPartId(part) {
|
|
3
3
|
// "tool-input-start"/"tool-input-delta" carry `id`; "tool-input-end" is
|
|
4
4
|
// documented with `toolCallId`. Reading both defensively means this
|
|
@@ -101,13 +101,41 @@ export class AiSdkStreamAdapter {
|
|
|
101
101
|
// verbatim from "tool-input-delta" parts above, byte for byte.
|
|
102
102
|
break;
|
|
103
103
|
}
|
|
104
|
+
case "tool-result": {
|
|
105
|
+
// Direct proof the SDK's own tool loop already invoked and completed
|
|
106
|
+
// this call's `execute` callback - see
|
|
107
|
+
// SDK_EXECUTION_OBSERVED_DIAGNOSTIC_CODE's own docs. This adapter
|
|
108
|
+
// never reads `output`/`result`: the point isn't what the SDK's
|
|
109
|
+
// execution produced, only that execution already happened, which
|
|
110
|
+
// must permanently disqualify this call from an `execute` decision
|
|
111
|
+
// here (DefaultToolCallStreamCoordinator.handleProviderDiagnostic
|
|
112
|
+
// acts on this code). An unattributable result (no id at all) still
|
|
113
|
+
// gets reported - just without a callRef, matching "tool-error"
|
|
114
|
+
// below - rather than silently dropped.
|
|
115
|
+
const id = toolPartId(part);
|
|
116
|
+
events.push({
|
|
117
|
+
type: "provider_diagnostic",
|
|
118
|
+
sequence: ++this.sequence,
|
|
119
|
+
provider: this.provider,
|
|
120
|
+
code: SDK_EXECUTION_OBSERVED_DIAGNOSTIC_CODE,
|
|
121
|
+
severity: "error",
|
|
122
|
+
message: `Tool "${part.toolName ?? "unknown"}" was already executed by the AI SDK's own tool loop before this guard reached a decision`,
|
|
123
|
+
...(id !== undefined ? { callRef: { sourceKey: `tool-input:${id}` } } : {}),
|
|
124
|
+
});
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
104
127
|
case "tool-error": {
|
|
128
|
+
// Also proof the SDK's own tool loop already invoked this call's
|
|
129
|
+
// `execute` callback - it threw, but that does not prove no partial
|
|
130
|
+
// irreversible side effect occurred first. Deliberately the same
|
|
131
|
+
// fail-closed treatment as "tool-result" above: see
|
|
132
|
+
// SDK_EXECUTION_ERROR_DIAGNOSTIC_CODE's own docs.
|
|
105
133
|
const id = toolPartId(part);
|
|
106
134
|
events.push({
|
|
107
135
|
type: "provider_diagnostic",
|
|
108
136
|
sequence: ++this.sequence,
|
|
109
137
|
provider: this.provider,
|
|
110
|
-
code:
|
|
138
|
+
code: SDK_EXECUTION_ERROR_DIAGNOSTIC_CODE,
|
|
111
139
|
severity: "error",
|
|
112
140
|
message: `Tool "${part.toolName ?? "unknown"}" reported an error: ${stringifyError(part.error)}`,
|
|
113
141
|
...(id !== undefined ? { callRef: { sourceKey: `tool-input:${id}` } } : {}),
|
|
@@ -187,8 +215,8 @@ export class AiSdkStreamAdapter {
|
|
|
187
215
|
this.finished = true;
|
|
188
216
|
break;
|
|
189
217
|
}
|
|
190
|
-
// Unrelated part types (text-delta, reasoning-delta,
|
|
191
|
-
// start
|
|
218
|
+
// Unrelated part types (text-delta, reasoning-delta, start,
|
|
219
|
+
// start-step, finish-step, etc.) carry no tool-argument or
|
|
192
220
|
// stream-termination information for our purposes and must not crash
|
|
193
221
|
// the adapter.
|
|
194
222
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-sdk.js","sourceRoot":"","sources":["../../src/providers/ai-sdk.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"ai-sdk.js","sourceRoot":"","sources":["../../src/providers/ai-sdk.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prefix-safe-json",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Fail-closed execution integrity for streamed LLM tool calls — reject truncated or unconfirmed arguments before side effects",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"json",
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
],
|
|
18
18
|
"license": "MIT OR Apache-2.0",
|
|
19
19
|
"type": "module",
|
|
20
|
+
"sideEffects": false,
|
|
20
21
|
"repository": {
|
|
21
22
|
"type": "git",
|
|
22
23
|
"url": "git+https://github.com/canblmz1/prefix-safe-json.git"
|