prefix-safe-json 0.2.0 → 0.4.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 +170 -89
- package/dist/coordinator/coordinator.d.ts +2 -0
- package/dist/coordinator/coordinator.d.ts.map +1 -1
- package/dist/coordinator/coordinator.js +54 -10
- package/dist/coordinator/coordinator.js.map +1 -1
- package/dist/coordinator/diagnostic-codes.d.ts +18 -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/types.d.ts +2 -0
- package/dist/coordinator/types.d.ts.map +1 -1
- package/dist/gate/decide.d.ts.map +1 -1
- package/dist/gate/decide.js +9 -2
- package/dist/gate/decide.js.map +1 -1
- package/dist/gate/gate.d.ts +4 -2
- package/dist/gate/gate.d.ts.map +1 -1
- package/dist/gate/gate.js +18 -3
- package/dist/gate/gate.js.map +1 -1
- package/dist/gate/types.d.ts +7 -1
- package/dist/gate/types.d.ts.map +1 -1
- package/dist/guard/ai-sdk-execution-lock.d.ts +19 -0
- package/dist/guard/ai-sdk-execution-lock.d.ts.map +1 -0
- package/dist/guard/ai-sdk-execution-lock.js +78 -0
- package/dist/guard/ai-sdk-execution-lock.js.map +1 -0
- package/dist/guard/ai-sdk.d.ts +3 -4
- package/dist/guard/ai-sdk.d.ts.map +1 -1
- package/dist/guard/ai-sdk.js +3 -4
- package/dist/guard/ai-sdk.js.map +1 -1
- package/dist/guard/provider-guard.d.ts.map +1 -1
- package/dist/guard/provider-guard.js +3 -0
- package/dist/guard/provider-guard.js.map +1 -1
- package/dist/guard/types.d.ts +3 -1
- package/dist/guard/types.d.ts.map +1 -1
- package/dist/index.d.ts +38 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -3
- package/dist/index.js.map +1 -1
- package/dist/providers/ai-sdk.d.ts +2 -0
- package/dist/providers/ai-sdk.d.ts.map +1 -1
- package/dist/providers/ai-sdk.js +57 -3
- package/dist/providers/ai-sdk.js.map +1 -1
- package/dist/providers/gemini.d.ts +1 -1
- package/dist/providers/gemini.d.ts.map +1 -1
- package/dist/providers/gemini.js +35 -8
- package/dist/providers/gemini.js.map +1 -1
- package/dist/providers/openai-compatible.d.ts +2 -1
- package/dist/providers/openai-compatible.d.ts.map +1 -1
- package/dist/providers/openai-compatible.js +54 -6
- package/dist/providers/openai-compatible.js.map +1 -1
- package/package.json +21 -5
package/README.md
CHANGED
|
@@ -1,68 +1,95 @@
|
|
|
1
1
|
# prefix-safe-json
|
|
2
2
|
|
|
3
|
-
> **v0.
|
|
3
|
+
> **v0.4.0** — Core APIs are stable; raw provider adapters remain
|
|
4
|
+
> experimental. See [Current Status](#current-status) and
|
|
5
|
+
> [CHANGELOG.md](CHANGELOG.md).
|
|
4
6
|
|
|
5
|
-
**
|
|
7
|
+
**Execution integrity for streamed LLM tool calls: prove raw arguments and
|
|
8
|
+
terminal state before caller-owned side effects.**
|
|
6
9
|
|
|
7
|
-
`prefix-safe-json`
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
Use `prefix-safe-json` when an LLM streams arguments for a tool that can write
|
|
11
|
+
files, run commands, send requests, or perform another irreversible operation.
|
|
12
|
+
It distinguishes complete, unfabricated raw arguments from truncated or
|
|
13
|
+
unconfirmed input, including SDK-projected or repaired values that merely look
|
|
14
|
+
complete. JSON validity is not execution authority.
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
model output truncated
|
|
15
|
-
↓
|
|
16
|
-
json repair
|
|
17
|
-
↓
|
|
18
|
-
looks valid
|
|
19
|
-
↓
|
|
20
|
-
❌ dangerous execution
|
|
21
|
-
```
|
|
16
|
+
## Install
|
|
22
17
|
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
truncated
|
|
27
|
-
↓
|
|
28
|
-
executable: false
|
|
29
|
-
↓
|
|
30
|
-
retry
|
|
18
|
+
```bash
|
|
19
|
+
pnpm add prefix-safe-json ai
|
|
20
|
+
# or: npm install prefix-safe-json ai
|
|
31
21
|
```
|
|
32
22
|
|
|
33
|
-
|
|
23
|
+
The package is ESM-only and requires Node `>=22.0.0`.
|
|
34
24
|
|
|
35
|
-
|
|
25
|
+
## Recommended AI SDK boundary
|
|
36
26
|
|
|
37
|
-
|
|
27
|
+
Lock the local tool definitions before the AI SDK sees them, feed the real
|
|
28
|
+
`fullStream` into the guard, and keep the irreversible operation in caller-owned
|
|
29
|
+
manual dispatch:
|
|
38
30
|
|
|
39
|
-
```
|
|
40
|
-
import {
|
|
31
|
+
```javascript
|
|
32
|
+
import { jsonSchema, streamText } from "ai";
|
|
33
|
+
import {
|
|
34
|
+
createAiSdkExecutionGuard,
|
|
35
|
+
createAiSdkExecutionLock,
|
|
36
|
+
} from "prefix-safe-json";
|
|
41
37
|
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
required: ["path", "content"],
|
|
48
|
-
},
|
|
38
|
+
const writeFileSchema = {
|
|
39
|
+
type: "object",
|
|
40
|
+
properties: {
|
|
41
|
+
path: { type: "string" },
|
|
42
|
+
content: { type: "string" },
|
|
49
43
|
},
|
|
50
|
-
|
|
44
|
+
required: ["path", "content"],
|
|
45
|
+
additionalProperties: false,
|
|
46
|
+
};
|
|
51
47
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
48
|
+
export async function runToolCall(model, prompt, callerOwnedSideEffect) {
|
|
49
|
+
const lockedTools = createAiSdkExecutionLock({
|
|
50
|
+
write_file: {
|
|
51
|
+
description: "Write a UTF-8 text file",
|
|
52
|
+
inputSchema: jsonSchema(writeFileSchema),
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
const result = streamText({ model, prompt, tools: lockedTools });
|
|
57
|
+
const guard = createAiSdkExecutionGuard({
|
|
58
|
+
schemas: { write_file: writeFileSchema },
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
for await (const part of result.fullStream) {
|
|
62
|
+
guard.push(part);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const final = guard.finish(); // replayable diagnostic state
|
|
66
|
+
for (const observed of final.decisions) {
|
|
67
|
+
const authority = guard.takeDecision(observed.internalId);
|
|
68
|
+
if (authority) await callerOwnedSideEffect(authority.value);
|
|
69
|
+
}
|
|
56
70
|
}
|
|
57
71
|
```
|
|
58
72
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
73
|
+
In this pattern:
|
|
74
|
+
|
|
75
|
+
- Never execute `chunk.input` or an SDK-projected/repaired value. Dispatch only
|
|
76
|
+
the `value` returned once by `takeDecision(internalId)`.
|
|
77
|
+
- `finish()` remains replayable diagnostic state. `takeDecision()` returns a
|
|
78
|
+
call's executable authority at most once and never consumes another call.
|
|
79
|
+
- Provider-executed tools are outside the local guarantee.
|
|
80
|
+
- Mutating or reconstructing a locked definition after locking voids the
|
|
81
|
+
guarantee; pass `lockedTools` through unchanged.
|
|
82
|
+
- Application-level authorization and idempotency remain caller-owned. The
|
|
83
|
+
one-shot method prevents accidental replay through this guard instance; it
|
|
84
|
+
is not a distributed transaction or idempotency system.
|
|
85
|
+
- `prefix-safe-json` returns decisions; it never hides or performs execution.
|
|
86
|
+
|
|
87
|
+
[`examples/ai-sdk-lifecycle-proof.mjs`](examples/ai-sdk-lifecycle-proof.mjs)
|
|
88
|
+
runs deterministic execution-ownership proofs through the real `streamText()`
|
|
89
|
+
lifecycle of the exact pins `ai@5.0.244`, `ai@6.0.264`, and `ai@7.0.77`, with
|
|
90
|
+
no API key, network request, or paid model call. Run it with
|
|
91
|
+
`pnpm run example:ai-sdk-lifecycle-proof`. This is not a claim that every
|
|
92
|
+
version in those majors is tested. See [Compatibility](docs/COMPATIBILITY.md).
|
|
66
93
|
|
|
67
94
|
**What the decisions mean**
|
|
68
95
|
|
|
@@ -86,7 +113,7 @@ nobody, including the model, confirmed as final. This is exactly the failure
|
|
|
86
113
|
mode independently reported and reproduced in
|
|
87
114
|
[vercel/ai#19063](https://github.com/vercel/ai/issues/19063): tool calls
|
|
88
115
|
executing regardless of an unsafe finish reason, across AI SDK v5, v6, and
|
|
89
|
-
v7, with fixes landing across all three release lines
|
|
116
|
+
v7, with fixes landing across all three release lines.
|
|
90
117
|
`prefix-safe-json` does not patch or depend on that fix — it's a
|
|
91
118
|
provider-independent guard that requires positive proof a stream ended
|
|
92
119
|
safely before treating any tool call as final, regardless of which SDK,
|
|
@@ -96,36 +123,80 @@ evidence.
|
|
|
96
123
|
|
|
97
124
|
**Execution ownership: what must never also happen**
|
|
98
125
|
|
|
99
|
-
The guard's decisions only mean something if
|
|
100
|
-
whether your tool function runs. The pattern above
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
126
|
+
The guard's decisions only mean something if they're the sole thing deciding
|
|
127
|
+
whether your tool function runs. The recommended pattern above prevents the
|
|
128
|
+
AI SDK's own tool-calling loop from running caller callbacks first —
|
|
129
|
+
in order from strongest guarantee to weakest:
|
|
130
|
+
|
|
131
|
+
- **Strongest — `createAiSdkExecutionLock()`** — wrap your tool definitions
|
|
132
|
+
with it before passing them to `streamText()`/`generateText()`. It removes
|
|
133
|
+
every AI SDK-invoked callback capable of running your code before this
|
|
134
|
+
library's decision — not just `execute`, but also `onInputStart`,
|
|
135
|
+
`onInputDelta`, and `onInputAvailable` (verified directly against
|
|
136
|
+
`ai@5`/`ai@6`/`ai@7`'s own real source: all three fire unconditionally,
|
|
137
|
+
independent of `needsApproval`/approval status — `needsApproval: true`
|
|
138
|
+
alone does **not** stop them, which is exactly the gap this function
|
|
139
|
+
closes). It also forces `needsApproval: true`, which still closes the
|
|
140
|
+
`execute` gap specifically on `ai@6`+ via the SDK's own approval
|
|
141
|
+
mechanism. It also rejects a **function-valued `description`**
|
|
142
|
+
(`ai@7`+ invokes it during tool preparation, before the model call even
|
|
143
|
+
begins — arbitrary caller code on the same pre-decision timeline as the
|
|
144
|
+
callback trio; a string `description` is unaffected on every major), and
|
|
145
|
+
any **provider tool shape whose real execution location it cannot
|
|
146
|
+
verify**: `isProviderExecuted: true` (real operation runs entirely on the
|
|
147
|
+
model provider's remote infrastructure), `ai@6`'s discriminator-less
|
|
148
|
+
`{ type: "provider" }`, and `ai@5`'s discriminator-less
|
|
149
|
+
`{ type: "provider-defined" }` are all rejected rather than silently
|
|
150
|
+
accepted; `ai@7`'s `{ type: "provider", isProviderExecuted: false }` is
|
|
151
|
+
accepted (verified to have no `execute` field at all on that shape, so the
|
|
152
|
+
SDK can never auto-run it). The guarantee is precisely about **this
|
|
153
|
+
function's own output, unchanged, on a supported local tool definition**:
|
|
154
|
+
it says nothing about a tool that bypasses this function, one
|
|
155
|
+
mutated/reconstructed after this function returns it, or a rejected
|
|
156
|
+
shape. Still dispatch manually from
|
|
157
|
+
`guard.takeDecision(observed.internalId)`, exactly as shown above; this only closes the
|
|
158
|
+
door on the SDK (or your own callbacks) doing it *for* you. See
|
|
159
|
+
[`docs/EXECUTION_GATE.md`](docs/EXECUTION_GATE.md#execution-ownership-tool-resulttool-error-as-evidence).
|
|
160
|
+
- **Safe, supported pattern (all majors, including `ai@5`)** — define your
|
|
161
|
+
tools *without* an AI SDK-native `execute` callback at all. Not even a
|
|
162
|
+
no-op one: the guard treats any `tool-result`/`tool-error` it observes as
|
|
163
|
+
proof the SDK's tool loop already invoked that call, and a no-op callback
|
|
164
|
+
still produces one — omitting `execute` entirely is what keeps the SDK
|
|
165
|
+
from running the tool itself in the first place. Consume `fullStream`
|
|
166
|
+
yourself, call `guard.finish()` for diagnostic state, and dispatch manually
|
|
167
|
+
only from `guard.takeDecision(observed.internalId)`, exactly as shown above. `createAiSdkExecutionLock()`
|
|
168
|
+
above gets you this same shape automatically (it drops `execute` too) plus
|
|
169
|
+
the SDK-enforced backstop where that backstop exists.
|
|
111
170
|
- **Unprotected / misuse pattern** — attach the real, irreversible operation
|
|
112
|
-
(or any
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
`
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
171
|
+
(or any side-effecting code at all) directly as `execute`, `onInputStart`,
|
|
172
|
+
`onInputDelta`, or `onInputAvailable` on a tool definition that bypasses
|
|
173
|
+
`createAiSdkExecutionLock()` entirely, *and* separately run the guard on
|
|
174
|
+
the same stream. All four are callbacks the SDK invokes on its own
|
|
175
|
+
schedule, independent of and often before this guard ever reaches a
|
|
176
|
+
decision — `onInputStart`/`onInputDelta`/`onInputAvailable` in particular
|
|
177
|
+
run regardless of finish reason, schema validity, or approval status, on
|
|
178
|
+
every major including `ai@5`. If that happens, the side effect has
|
|
179
|
+
already run — `prefix-safe-json` cannot retroactively undo it, and on
|
|
180
|
+
`ai@5` specifically nothing in this library can prevent any of these four
|
|
181
|
+
callbacks from firing at all (verified directly, not assumed — see
|
|
182
|
+
`test/integration/ai-sdk-lifecycle/ai-v5.real.test.ts`).
|
|
183
|
+
|
|
184
|
+
The guard does defend against the second pattern in one specific way, and
|
|
185
|
+
only for `execute` specifically: a `tool-result` or `tool-error` part on
|
|
186
|
+
`fullStream` is direct evidence the SDK's own loop already invoked *some*
|
|
187
|
+
call's `execute`. When it names a specific call (a real `toolCallId`), only
|
|
188
|
+
that call is disqualified; when it doesn't, the guard cannot tell which
|
|
189
|
+
in-flight call was affected and fails closed for **every** call in that
|
|
190
|
+
stream rather than guess. Either way the guard never again reports
|
|
191
|
+
`action: "execute"` for the affected call(s)
|
|
126
192
|
(`reason: "sdk_execution_observed"`, which takes priority over every other
|
|
127
193
|
rejection reason), so a caller who also runs the documented manual-dispatch
|
|
128
|
-
loop will not invoke the tool function a *second* time.
|
|
194
|
+
loop will not invoke the tool function a *second* time. There is no
|
|
195
|
+
equivalent detection for a bypassed `onInputStart`/`onInputDelta`/
|
|
196
|
+
`onInputAvailable` — those callbacks produce no observable `fullStream`
|
|
197
|
+
evidence of having run at all, so a misuse of any of the three is invisible
|
|
198
|
+
to the guard entirely; the only defense is calling
|
|
199
|
+
`createAiSdkExecutionLock()` in the first place. It does not undo
|
|
129
200
|
whatever the SDK's own callback already did. See
|
|
130
201
|
[`docs/EXECUTION_GATE.md`](docs/EXECUTION_GATE.md#execution-ownership-tool-resulttool-error-as-evidence)
|
|
131
202
|
for the full behavior and test matrix.
|
|
@@ -136,6 +207,12 @@ Vercel AI SDK. High-level guards currently ship for the AI SDK; every
|
|
|
136
207
|
provider has a public low-level adapter (see below) that composes with
|
|
137
208
|
`createToolCallExecutionGate()` the same way.
|
|
138
209
|
|
|
210
|
+
Gemini's adapter exposes its structured argument projection for inspection
|
|
211
|
+
and validation, but it never grants strict execute authority because Gemini
|
|
212
|
+
does not provide raw argument text at this seam. OpenAI-compatible and
|
|
213
|
+
OpenRouter events require a non-negative integer `choice.index`; missing,
|
|
214
|
+
invalid, or duplicate choice identity fails closed instead of guessing zero.
|
|
215
|
+
|
|
139
216
|
`AiSdkStreamAdapter`/`createAiSdkExecutionGuard()` target the public
|
|
140
217
|
`streamText()`/`generateText()` `fullStream` surface, whose `finishReason`
|
|
141
218
|
is a plain unified string (`"stop"`, `"length"`, ...). They are not
|
|
@@ -277,6 +354,7 @@ objective, trust boundaries, and guarantee/non-guarantee list.
|
|
|
277
354
|
- 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
|
|
278
355
|
- `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))
|
|
279
356
|
- `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))
|
|
357
|
+
- Call-scoped one-shot authority via `takeDecision(internalId)`; replayable `finish()` results remain available for diagnostics, while the recommended dispatch path cannot take the same execute authority twice
|
|
280
358
|
- 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))
|
|
281
359
|
|
|
282
360
|
### Not Yet Implemented
|
|
@@ -314,15 +392,13 @@ call.schemaValid; // true | false | undefined (undefined = no schema registered
|
|
|
314
392
|
|
|
315
393
|
A schema mismatch also surfaces as a coordinator diagnostic (`E_SCHEMA_VALIDATION_FAILED`) with ajv's own error detail. Malformed schemas are compiled eagerly at construction time, so a bad schema fails fast rather than mid-stream.
|
|
316
394
|
|
|
317
|
-
##
|
|
318
|
-
|
|
319
|
-
```bash
|
|
320
|
-
npm install prefix-safe-json
|
|
321
|
-
```
|
|
395
|
+
## Package requirements
|
|
322
396
|
|
|
323
397
|
ESM only — `import`, not `require`. There is currently no CommonJS build.
|
|
324
|
-
Node `>=
|
|
325
|
-
|
|
398
|
+
Node `>=22.0.0` (Active LTS lines only — Node 18/20 are end-of-life and no
|
|
399
|
+
longer receive security patches). See
|
|
400
|
+
[`docs/COMPATIBILITY.md`](docs/COMPATIBILITY.md) for the full
|
|
401
|
+
ESM/Node/SemVer/Stable-vs-Experimental policy and the per-provider
|
|
326
402
|
compatibility matrix.
|
|
327
403
|
|
|
328
404
|
## Low-level API: Quick Start
|
|
@@ -369,15 +445,20 @@ and asserts the truncated call is never reported executable while a
|
|
|
369
445
|
genuinely complete one is. This example runs in CI on every push, so it
|
|
370
446
|
can't silently rot into a stale claim.
|
|
371
447
|
|
|
372
|
-
For the
|
|
448
|
+
For the exact-major AI SDK ownership proof, run
|
|
449
|
+
`pnpm run example:ai-sdk-lifecycle-proof` after `pnpm run build`. It asserts
|
|
450
|
+
for each exact pin that an unlocked control invokes caller code before guard
|
|
451
|
+
authority, locked unsafe calls perform no operation, and locked safe calls are
|
|
452
|
+
manually dispatched exactly once. CI and the release workflow run this same
|
|
453
|
+
command.
|
|
454
|
+
|
|
455
|
+
For the same raw-evidence demonstration through the low-level execution gate and the
|
|
373
456
|
[Vercel AI SDK](https://ai-sdk.dev)'s `fullStream` shape instead, see
|
|
374
457
|
[`examples/ai-sdk-execution-gate.mjs`](examples/ai-sdk-execution-gate.mjs)
|
|
375
458
|
(`node examples/ai-sdk-execution-gate.mjs` after `pnpm run build`) — also
|
|
376
|
-
run in CI on every push.
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
(`node examples/ai-sdk-guard.mjs`) — same scenarios, same guarantees, also
|
|
380
|
-
run in CI on every push.
|
|
459
|
+
run in CI on every push. [`examples/ai-sdk-guard.mjs`](examples/ai-sdk-guard.mjs)
|
|
460
|
+
is a lower-level wire-shape guard demonstration; it is not the canonical
|
|
461
|
+
execution-ownership example. Both remain CI-checked.
|
|
381
462
|
|
|
382
463
|
## License
|
|
383
464
|
|
|
@@ -7,12 +7,14 @@ export declare class DefaultToolCallStreamCoordinator implements ToolCallStreamC
|
|
|
7
7
|
private readonly toolValidators;
|
|
8
8
|
private calls;
|
|
9
9
|
private sourceKeyToInternalId;
|
|
10
|
+
private pendingProtocolDiagnostics;
|
|
10
11
|
private callCounter;
|
|
11
12
|
private eventQueue;
|
|
12
13
|
private diagnostics;
|
|
13
14
|
private eventsProcessed;
|
|
14
15
|
private globalSequence;
|
|
15
16
|
private isFinished;
|
|
17
|
+
private finishedReason?;
|
|
16
18
|
/**
|
|
17
19
|
* @param limits Coordinator-level limits (concurrent tool calls, tool name
|
|
18
20
|
* size, etc.) — distinct from `parserOptions`, which configures each
|
|
@@ -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;AA0CpB,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,0BAA0B,CAAmD;IACrF,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;IAC3B,OAAO,CAAC,cAAc,CAAC,CAAkB;IAEzC;;;;;;;;;;;;;;;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;IAuE7D,OAAO,CAAC,WAAW;IAiEnB,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;IAwChC,OAAO,CAAC,eAAe;IA0BvB,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,7 +1,7 @@
|
|
|
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";
|
|
4
|
+
import { AUTHORITY_PROTOCOL_VIOLATION_CODES, DUPLICATE_TOOL_CALL_START_DIAGNOSTIC_CODE, SDK_EXECUTION_OBSERVED_DIAGNOSTIC_CODE, SDK_EXECUTION_ERROR_DIAGNOSTIC_CODE, } from "./diagnostic-codes.js";
|
|
5
5
|
// A `provider_diagnostic` carrying either code is proof that a provider SDK's
|
|
6
6
|
// own tool loop already invoked this call's `execute` callback (see the two
|
|
7
7
|
// constants' own docs in diagnostic-codes.ts) - success and failure get
|
|
@@ -35,12 +35,14 @@ export class DefaultToolCallStreamCoordinator {
|
|
|
35
35
|
toolValidators;
|
|
36
36
|
calls = new Map();
|
|
37
37
|
sourceKeyToInternalId = new Map();
|
|
38
|
+
pendingProtocolDiagnostics = new Map();
|
|
38
39
|
callCounter = 0;
|
|
39
40
|
eventQueue = [];
|
|
40
41
|
diagnostics = [];
|
|
41
42
|
eventsProcessed = 0;
|
|
42
43
|
globalSequence = 0;
|
|
43
44
|
isFinished = false;
|
|
45
|
+
finishedReason;
|
|
44
46
|
/**
|
|
45
47
|
* @param limits Coordinator-level limits (concurrent tool calls, tool name
|
|
46
48
|
* size, etc.) — distinct from `parserOptions`, which configures each
|
|
@@ -70,11 +72,31 @@ export class DefaultToolCallStreamCoordinator {
|
|
|
70
72
|
}
|
|
71
73
|
push(event) {
|
|
72
74
|
if (this.isFinished) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
// A second `provider_stream_end` whose reason contradicts the first
|
|
76
|
+
// one already decided every call's outcome (e.g. "complete" then
|
|
77
|
+
// "abort") is a genuine provider-protocol anomaly, not just a late or
|
|
78
|
+
// duplicate event - it gets its own diagnostic code so a caller can
|
|
79
|
+
// tell the two apart without comparing payloads themselves. Either
|
|
80
|
+
// way this call's decision was already made and locked in by the
|
|
81
|
+
// `isFinished` gate above: nothing here can raise execution
|
|
82
|
+
// confidence after the fact, only report that the contradiction was
|
|
83
|
+
// observed. Rejected/unattributed, same as any other post-finish
|
|
84
|
+
// event - no open call exists left to attribute it to by the time the
|
|
85
|
+
// stream has already ended.
|
|
86
|
+
const isConflictingTerminalReason = event.type === "provider_stream_end" &&
|
|
87
|
+
this.finishedReason !== undefined &&
|
|
88
|
+
event.reason !== this.finishedReason;
|
|
89
|
+
this.addDiagnostic(isConflictingTerminalReason
|
|
90
|
+
? {
|
|
91
|
+
code: "E_TERMINAL_REASON_CONFLICT",
|
|
92
|
+
severity: "fatal",
|
|
93
|
+
message: `Stream already ended with reason "${this.finishedReason}"; a second, conflicting terminal reason "${event.reason}" arrived afterward`,
|
|
94
|
+
}
|
|
95
|
+
: {
|
|
96
|
+
code: "E_EVENT_AFTER_STREAM_END",
|
|
97
|
+
severity: "error",
|
|
98
|
+
message: "Event pushed after stream end",
|
|
99
|
+
});
|
|
78
100
|
return { accepted: false };
|
|
79
101
|
}
|
|
80
102
|
if (this.eventsProcessed >= this.limits.maxNormalizedEvents) {
|
|
@@ -116,7 +138,7 @@ export class DefaultToolCallStreamCoordinator {
|
|
|
116
138
|
const existingId = this.sourceKeyToInternalId.get(sourceKey);
|
|
117
139
|
if (existingId !== undefined) {
|
|
118
140
|
this.addDiagnostic({
|
|
119
|
-
code:
|
|
141
|
+
code: DUPLICATE_TOOL_CALL_START_DIAGNOSTIC_CODE,
|
|
120
142
|
severity: "error",
|
|
121
143
|
internalId: existingId,
|
|
122
144
|
message: `Duplicate start for tool call sourceKey: ${sourceKey}`,
|
|
@@ -142,6 +164,17 @@ export class DefaultToolCallStreamCoordinator {
|
|
|
142
164
|
if (event.name !== undefined)
|
|
143
165
|
call.name = event.name;
|
|
144
166
|
this.calls.set(internalId, call);
|
|
167
|
+
const pendingDiagnostics = this.pendingProtocolDiagnostics.get(sourceKey) ?? [];
|
|
168
|
+
if (pendingDiagnostics.length > 0) {
|
|
169
|
+
for (const diagnostic of pendingDiagnostics) {
|
|
170
|
+
this.addDiagnostic({
|
|
171
|
+
...diagnostic,
|
|
172
|
+
internalId,
|
|
173
|
+
sourceKey: undefined,
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
this.pendingProtocolDiagnostics.delete(sourceKey);
|
|
177
|
+
}
|
|
145
178
|
this.eventQueue.push({
|
|
146
179
|
type: "tool_call_discovered",
|
|
147
180
|
sequence: this.globalSequence++,
|
|
@@ -364,13 +397,23 @@ export class DefaultToolCallStreamCoordinator {
|
|
|
364
397
|
return this.diagnostics.some(d => d.internalId === call.internalId && (d.severity === "error" || d.severity === "fatal"));
|
|
365
398
|
}
|
|
366
399
|
handleProviderDiagnostic(event) {
|
|
367
|
-
const
|
|
368
|
-
this.
|
|
400
|
+
const sourceKey = event.callRef?.sourceKey;
|
|
401
|
+
const internalId = sourceKey ? this.sourceKeyToInternalId.get(sourceKey) : undefined;
|
|
402
|
+
const diagnostic = {
|
|
369
403
|
code: event.code,
|
|
370
404
|
severity: event.severity,
|
|
371
405
|
message: event.message,
|
|
372
406
|
internalId,
|
|
373
|
-
|
|
407
|
+
...(sourceKey !== undefined && internalId === undefined ? { sourceKey } : {}),
|
|
408
|
+
};
|
|
409
|
+
this.addDiagnostic(diagnostic);
|
|
410
|
+
if (AUTHORITY_PROTOCOL_VIOLATION_CODES.has(event.code)) {
|
|
411
|
+
if (internalId === undefined && sourceKey !== undefined) {
|
|
412
|
+
const pending = this.pendingProtocolDiagnostics.get(sourceKey) ?? [];
|
|
413
|
+
pending.push(diagnostic);
|
|
414
|
+
this.pendingProtocolDiagnostics.set(sourceKey, pending);
|
|
415
|
+
}
|
|
416
|
+
}
|
|
374
417
|
// Mirrors handleIdentity()'s existing "mutate call.status mid-stream, not
|
|
375
418
|
// only at finishCall() time" pattern for identity conflicts - this is
|
|
376
419
|
// the same kind of call-scoped fact that can be known before the stream
|
|
@@ -392,6 +435,7 @@ export class DefaultToolCallStreamCoordinator {
|
|
|
392
435
|
}
|
|
393
436
|
handleStreamEnd(event) {
|
|
394
437
|
this.isFinished = true;
|
|
438
|
+
this.finishedReason = event.reason;
|
|
395
439
|
// Close all open calls
|
|
396
440
|
for (const call of this.calls.values()) {
|
|
397
441
|
if (call.status === "collecting") {
|
|
@@ -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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"}
|
|
@@ -34,4 +34,22 @@ export declare const SDK_EXECUTION_OBSERVED_DIAGNOSTIC_CODE = "E_SDK_EXECUTION_O
|
|
|
34
34
|
* distinguished into safe/unsafe here, both must fail closed.
|
|
35
35
|
*/
|
|
36
36
|
export declare const SDK_EXECUTION_ERROR_DIAGNOSTIC_CODE = "E_PROVIDER_TOOL_ERROR";
|
|
37
|
+
/** Gemini supplied an already-parsed argument object, not raw argument text. */
|
|
38
|
+
export declare const PROJECTION_ONLY_ARGUMENTS_DIAGNOSTIC_CODE = "E_ARGUMENT_EVIDENCE_PROJECTION_ONLY";
|
|
39
|
+
/** AI SDK `tool-input-delta` arrived before its required start part. */
|
|
40
|
+
export declare const TOOL_ARGUMENTS_BEFORE_START_DIAGNOSTIC_CODE = "E_TOOL_ARGUMENTS_BEFORE_START";
|
|
41
|
+
/** AI SDK `tool-input-end` arrived before its required start part. */
|
|
42
|
+
export declare const TOOL_END_BEFORE_START_DIAGNOSTIC_CODE = "E_TOOL_END_BEFORE_START";
|
|
43
|
+
/** AI SDK argument evidence arrived after the call's end part. */
|
|
44
|
+
export declare const TOOL_ARGUMENTS_AFTER_END_DIAGNOSTIC_CODE = "E_TOOL_ARGUMENTS_AFTER_END";
|
|
45
|
+
/** AI SDK emitted more than one end part for the same call. */
|
|
46
|
+
export declare const DUPLICATE_TOOL_END_DIAGNOSTIC_CODE = "E_DUPLICATE_TOOL_END";
|
|
47
|
+
/** The coordinator observed more than one start for the same source identity. */
|
|
48
|
+
export declare const DUPLICATE_TOOL_CALL_START_DIAGNOSTIC_CODE = "E_DUPLICATE_TOOL_CALL_START";
|
|
49
|
+
/** An OpenAI-compatible choice omitted a trustworthy explicit index. */
|
|
50
|
+
export declare const INVALID_CHOICE_INDEX_DIAGNOSTIC_CODE = "E_CHOICE_INDEX_INVALID";
|
|
51
|
+
/** An OpenAI-compatible event repeated the same explicit choice index. */
|
|
52
|
+
export declare const DUPLICATE_CHOICE_INDEX_DIAGNOSTIC_CODE = "E_CHOICE_INDEX_DUPLICATE";
|
|
53
|
+
/** Diagnostics that permanently disqualify their affected authority scope. */
|
|
54
|
+
export declare const AUTHORITY_PROTOCOL_VIOLATION_CODES: ReadonlySet<string>;
|
|
37
55
|
//# 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;AAErE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sCAAsC,6BAA6B,CAAC;AAEjF;;;;;;;;;GASG;AACH,eAAO,MAAM,mCAAmC,0BAA0B,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;AAE3E,gFAAgF;AAChF,eAAO,MAAM,yCAAyC,wCACf,CAAC;AAExC,wEAAwE;AACxE,eAAO,MAAM,2CAA2C,kCACvB,CAAC;AAElC,sEAAsE;AACtE,eAAO,MAAM,qCAAqC,4BAA4B,CAAC;AAE/E,kEAAkE;AAClE,eAAO,MAAM,wCAAwC,+BAA+B,CAAC;AAErF,+DAA+D;AAC/D,eAAO,MAAM,kCAAkC,yBAAyB,CAAC;AAEzE,iFAAiF;AACjF,eAAO,MAAM,yCAAyC,gCACvB,CAAC;AAEhC,wEAAwE;AACxE,eAAO,MAAM,oCAAoC,2BAA2B,CAAC;AAE7E,0EAA0E;AAC1E,eAAO,MAAM,sCAAsC,6BAA6B,CAAC;AAEjF,8EAA8E;AAC9E,eAAO,MAAM,kCAAkC,EAAE,WAAW,CAAC,MAAM,CAQjE,CAAC"}
|
|
@@ -45,4 +45,30 @@ export const SDK_EXECUTION_OBSERVED_DIAGNOSTIC_CODE = "E_SDK_EXECUTION_OBSERVED"
|
|
|
45
45
|
* distinguished into safe/unsafe here, both must fail closed.
|
|
46
46
|
*/
|
|
47
47
|
export const SDK_EXECUTION_ERROR_DIAGNOSTIC_CODE = "E_PROVIDER_TOOL_ERROR";
|
|
48
|
+
/** Gemini supplied an already-parsed argument object, not raw argument text. */
|
|
49
|
+
export const PROJECTION_ONLY_ARGUMENTS_DIAGNOSTIC_CODE = "E_ARGUMENT_EVIDENCE_PROJECTION_ONLY";
|
|
50
|
+
/** AI SDK `tool-input-delta` arrived before its required start part. */
|
|
51
|
+
export const TOOL_ARGUMENTS_BEFORE_START_DIAGNOSTIC_CODE = "E_TOOL_ARGUMENTS_BEFORE_START";
|
|
52
|
+
/** AI SDK `tool-input-end` arrived before its required start part. */
|
|
53
|
+
export const TOOL_END_BEFORE_START_DIAGNOSTIC_CODE = "E_TOOL_END_BEFORE_START";
|
|
54
|
+
/** AI SDK argument evidence arrived after the call's end part. */
|
|
55
|
+
export const TOOL_ARGUMENTS_AFTER_END_DIAGNOSTIC_CODE = "E_TOOL_ARGUMENTS_AFTER_END";
|
|
56
|
+
/** AI SDK emitted more than one end part for the same call. */
|
|
57
|
+
export const DUPLICATE_TOOL_END_DIAGNOSTIC_CODE = "E_DUPLICATE_TOOL_END";
|
|
58
|
+
/** The coordinator observed more than one start for the same source identity. */
|
|
59
|
+
export const DUPLICATE_TOOL_CALL_START_DIAGNOSTIC_CODE = "E_DUPLICATE_TOOL_CALL_START";
|
|
60
|
+
/** An OpenAI-compatible choice omitted a trustworthy explicit index. */
|
|
61
|
+
export const INVALID_CHOICE_INDEX_DIAGNOSTIC_CODE = "E_CHOICE_INDEX_INVALID";
|
|
62
|
+
/** An OpenAI-compatible event repeated the same explicit choice index. */
|
|
63
|
+
export const DUPLICATE_CHOICE_INDEX_DIAGNOSTIC_CODE = "E_CHOICE_INDEX_DUPLICATE";
|
|
64
|
+
/** Diagnostics that permanently disqualify their affected authority scope. */
|
|
65
|
+
export const AUTHORITY_PROTOCOL_VIOLATION_CODES = new Set([
|
|
66
|
+
TOOL_ARGUMENTS_BEFORE_START_DIAGNOSTIC_CODE,
|
|
67
|
+
TOOL_END_BEFORE_START_DIAGNOSTIC_CODE,
|
|
68
|
+
TOOL_ARGUMENTS_AFTER_END_DIAGNOSTIC_CODE,
|
|
69
|
+
DUPLICATE_TOOL_END_DIAGNOSTIC_CODE,
|
|
70
|
+
DUPLICATE_TOOL_CALL_START_DIAGNOSTIC_CODE,
|
|
71
|
+
INVALID_CHOICE_INDEX_DIAGNOSTIC_CODE,
|
|
72
|
+
DUPLICATE_CHOICE_INDEX_DIAGNOSTIC_CODE,
|
|
73
|
+
]);
|
|
48
74
|
//# 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;AAErE;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,0BAA0B,CAAC;AAEjF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,uBAAuB,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;AAE3E,gFAAgF;AAChF,MAAM,CAAC,MAAM,yCAAyC,GACpD,qCAAqC,CAAC;AAExC,wEAAwE;AACxE,MAAM,CAAC,MAAM,2CAA2C,GACtD,+BAA+B,CAAC;AAElC,sEAAsE;AACtE,MAAM,CAAC,MAAM,qCAAqC,GAAG,yBAAyB,CAAC;AAE/E,kEAAkE;AAClE,MAAM,CAAC,MAAM,wCAAwC,GAAG,4BAA4B,CAAC;AAErF,+DAA+D;AAC/D,MAAM,CAAC,MAAM,kCAAkC,GAAG,sBAAsB,CAAC;AAEzE,iFAAiF;AACjF,MAAM,CAAC,MAAM,yCAAyC,GACpD,6BAA6B,CAAC;AAEhC,wEAAwE;AACxE,MAAM,CAAC,MAAM,oCAAoC,GAAG,wBAAwB,CAAC;AAE7E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,sCAAsC,GAAG,0BAA0B,CAAC;AAEjF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,kCAAkC,GAAwB,IAAI,GAAG,CAAC;IAC7E,2CAA2C;IAC3C,qCAAqC;IACrC,wCAAwC;IACxC,kCAAkC;IAClC,yCAAyC;IACzC,oCAAoC;IACpC,sCAAsC;CACvC,CAAC,CAAC"}
|