prefix-safe-json 0.4.4 → 0.5.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/LICENSE +27 -4
- package/README.md +273 -398
- package/dist/ajv.d.ts +2 -0
- package/dist/ajv.d.ts.map +1 -0
- package/dist/ajv.js +19 -0
- package/dist/ajv.js.map +1 -0
- package/dist/conformance/runner.d.ts +19 -0
- package/dist/conformance/runner.d.ts.map +1 -0
- package/dist/conformance/runner.js +78 -0
- package/dist/conformance/runner.js.map +1 -0
- package/dist/conformance/types.d.ts +115 -0
- package/dist/conformance/types.d.ts.map +1 -0
- package/dist/conformance/types.js +2 -0
- package/dist/conformance/types.js.map +1 -0
- package/dist/conformance.d.ts +3 -0
- package/dist/conformance.d.ts.map +1 -0
- package/dist/conformance.js +11 -0
- package/dist/conformance.js.map +1 -0
- package/dist/coordinator/coordinator.d.ts +25 -11
- package/dist/coordinator/coordinator.d.ts.map +1 -1
- package/dist/coordinator/coordinator.js +140 -25
- package/dist/coordinator/coordinator.js.map +1 -1
- package/dist/coordinator/types.d.ts +3 -2
- package/dist/coordinator/types.d.ts.map +1 -1
- package/dist/gate/gate.d.ts +2 -2
- package/dist/gate/gate.d.ts.map +1 -1
- package/dist/gate/gate.js +4 -4
- package/dist/gate/gate.js.map +1 -1
- package/dist/guard/provider-guard.js +1 -1
- package/dist/guard/provider-guard.js.map +1 -1
- package/dist/guard/types.d.ts +11 -4
- package/dist/guard/types.d.ts.map +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/providers/anthropic.d.ts +1 -0
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +89 -8
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/gemini.d.ts +122 -0
- package/dist/providers/gemini.d.ts.map +1 -1
- package/dist/providers/gemini.js +442 -25
- package/dist/providers/gemini.js.map +1 -1
- package/dist/providers/openai-compatible.d.ts +47 -1
- package/dist/providers/openai-compatible.d.ts.map +1 -1
- package/dist/providers/openai-compatible.js +381 -84
- package/dist/providers/openai-compatible.js.map +1 -1
- package/dist/providers/openai.d.ts +7 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +459 -67
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/openrouter.d.ts.map +1 -1
- package/dist/providers/openrouter.js +14 -2
- package/dist/providers/openrouter.js.map +1 -1
- package/dist/standard-schema.d.ts +2 -0
- package/dist/standard-schema.d.ts.map +1 -0
- package/dist/standard-schema.js +11 -0
- package/dist/standard-schema.js.map +1 -0
- package/dist/validation/ajv-validator.d.ts +43 -0
- package/dist/validation/ajv-validator.d.ts.map +1 -0
- package/dist/validation/ajv-validator.js +63 -0
- package/dist/validation/ajv-validator.js.map +1 -0
- package/dist/validation/standard-schema-validator.d.ts +41 -0
- package/dist/validation/standard-schema-validator.d.ts.map +1 -0
- package/dist/validation/standard-schema-validator.js +131 -0
- package/dist/validation/standard-schema-validator.js.map +1 -0
- package/dist/validation/types.d.ts +60 -0
- package/dist/validation/types.d.ts.map +1 -0
- package/dist/validation/types.js +77 -0
- package/dist/validation/types.js.map +1 -0
- package/package.json +16 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../src/providers/openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACtG,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAGrD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE;QACN,UAAU,CAAC,EAAE,KAAK,CAAC;YACjB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,QAAQ,CAAC,EAAE;gBAAE,IAAI,CAAC,EAAE,MAAM,CAAC;gBAAC,SAAS,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;SAClD,CAAC,CAAC;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,uBAAwB,YAAW,qBAAqB,CAAC,OAAO,CAAC;IAC5E,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAK;IAGrB,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,QAAQ,CAAS;IAEzB,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,yBAAyB,EAAE;
|
|
1
|
+
{"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../src/providers/openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACtG,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAGrD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE;QACN,UAAU,CAAC,EAAE,KAAK,CAAC;YACjB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,QAAQ,CAAC,EAAE;gBAAE,IAAI,CAAC,EAAE,MAAM,CAAC;gBAAC,SAAS,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;SAClD,CAAC,CAAC;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,uBAAwB,YAAW,qBAAqB,CAAC,OAAO,CAAC;IAC5E,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAK;IAGrB,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,QAAQ,CAAS;IAEzB,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,yBAAyB,EAAE;IAwD7D,MAAM,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,eAAe,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,yBAAyB,EAAE;CAO3G"}
|
|
@@ -6,8 +6,20 @@ export class OpenRouterStreamAdapter {
|
|
|
6
6
|
compatibleAdapter = new OpenAICompatibleStreamAdapter();
|
|
7
7
|
finished = false;
|
|
8
8
|
push(rawEvent) {
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
// No `finished` early return here - see the identical fix and rationale
|
|
10
|
+
// in AnthropicStreamAdapter.push()/OpenAIStreamAdapter.push() (same
|
|
11
|
+
// invariant class as GHSA-3xpw-9694-2xxp). `this.finished` is set on
|
|
12
|
+
// this adapter's own provider-level error shortcut (below) and
|
|
13
|
+
// unconditionally by finish() (a legitimate public lifecycle call, e.g.
|
|
14
|
+
// `finish({reason:"complete"})`) - either way, dropping every push
|
|
15
|
+
// after that point meant a late error/data event never reached the
|
|
16
|
+
// coordinator at all, so an already-decided call's authority could
|
|
17
|
+
// never be revoked by it (proven empirically: reverting this guard
|
|
18
|
+
// alone makes a real post-finish() late `{error:...}` push leave
|
|
19
|
+
// `takeDecision()` returning the full stale execute decision instead of
|
|
20
|
+
// undefined). The normal path already delegates every push to
|
|
21
|
+
// `compatibleAdapter`, which enforces the same invariant on its own
|
|
22
|
+
// `finished` state.
|
|
11
23
|
const events = [];
|
|
12
24
|
if (!rawEvent || typeof rawEvent !== "object") {
|
|
13
25
|
events.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../src/providers/openrouter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAsBvE,MAAM,OAAO,uBAAuB;IACzB,QAAQ,GAAiB,YAAY,CAAC;IACvC,QAAQ,GAAG,CAAC,CAAC;IAErB,4DAA4D;IACpD,iBAAiB,GAAG,IAAI,6BAA6B,EAAE,CAAC;IACxD,QAAQ,GAAG,KAAK,CAAC;IAEzB,IAAI,CAAC,QAAiB;QACpB,
|
|
1
|
+
{"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../src/providers/openrouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standard-schema.d.ts","sourceRoot":"","sources":["../src/standard-schema.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// prefix-safe-json/standard-schema — Standard Schema adapter entry point.
|
|
3
|
+
//
|
|
4
|
+
// Wraps any Standard Schema (https://standardschema.dev)-compliant
|
|
5
|
+
// validator - Zod 4+, Valibot, ArkType, and others already implement this -
|
|
6
|
+
// as a ToolInputValidator. No dependency on @standard-schema/spec or any
|
|
7
|
+
// specific validator library: this only reads the `~standard.validate`
|
|
8
|
+
// property the spec itself defines. See docs/VALIDATION.md.
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
export { fromStandardSchema } from "./validation/standard-schema-validator.js";
|
|
11
|
+
//# sourceMappingURL=standard-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standard-schema.js","sourceRoot":"","sources":["../src/standard-schema.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,0EAA0E;AAC1E,EAAE;AACF,mEAAmE;AACnE,4EAA4E;AAC5E,yEAAyE;AACzE,uEAAuE;AACvE,4DAA4D;AAC5D,8EAA8E;AAE9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ToolInputValidator } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @public (Experimental)
|
|
4
|
+
* Compiles a JSON Schema (draft-07) into a {@link ToolInputValidator} using
|
|
5
|
+
* its own, standalone `ajv` instance - calling it directly is only useful if
|
|
6
|
+
* you want an explicit, discoverable Ajv entry point, e.g. to compile one
|
|
7
|
+
* validator once and reuse it across multiple coordinators/gates.
|
|
8
|
+
*
|
|
9
|
+
* This is a *different* internal path than the `schemas` registration
|
|
10
|
+
* option uses (see {@link buildSharedAjvValidators}): each call here gets
|
|
11
|
+
* its own Ajv instance, so schemas compiled through *separate*
|
|
12
|
+
* `createAjvValidator()` calls cannot `$ref` each other via a shared `$id`
|
|
13
|
+
* registry. If you need that, register them together via `schemas` instead
|
|
14
|
+
* of calling this once per schema.
|
|
15
|
+
*
|
|
16
|
+
* `ajv` is imported statically here and remains an ordinary runtime
|
|
17
|
+
* dependency of this package for 0.5.x - see
|
|
18
|
+
* `docs/VALIDATION.md#ajv-loading` for why deferring that import bought
|
|
19
|
+
* little real value against real portability risk, and is not done here.
|
|
20
|
+
* The `validators` registration option (`ToolInputValidator`) has no
|
|
21
|
+
* dependency on this module or on `ajv` at all.
|
|
22
|
+
*
|
|
23
|
+
* Throws synchronously if `schema` fails to compile (malformed JSON
|
|
24
|
+
* Schema), matching the coordinator's existing fail-fast-at-construction
|
|
25
|
+
* guarantee.
|
|
26
|
+
*/
|
|
27
|
+
export declare function createAjvValidator(schema: object): ToolInputValidator;
|
|
28
|
+
/**
|
|
29
|
+
* @internal
|
|
30
|
+
* Compiles every entry in `schemas` through **one shared** Ajv instance -
|
|
31
|
+
* restoring the pre-0.5 `toolSchemas` behavior, where a single
|
|
32
|
+
* `createToolCallStreamCoordinator()` call's schemas could `$ref` one
|
|
33
|
+
* another through a shared `$id` registry (verified directly: two schemas,
|
|
34
|
+
* one with `$id`, the other `$ref`-ing it, compile and validate correctly
|
|
35
|
+
* through one shared instance; the same two schemas compiled through
|
|
36
|
+
* `createAjvValidator()` called once per schema throw "can't resolve
|
|
37
|
+
* reference" instead, since each gets its own isolated instance).
|
|
38
|
+
* `buildValidatorMap` (validation/types.ts) is the only caller - a caller
|
|
39
|
+
* who wants a standalone, explicit, single-schema Ajv adapter should use
|
|
40
|
+
* the public {@link createAjvValidator} above instead.
|
|
41
|
+
*/
|
|
42
|
+
export declare function buildSharedAjvValidators(schemas: Record<string, object>): Map<string, ToolInputValidator>;
|
|
43
|
+
//# sourceMappingURL=ajv-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ajv-validator.d.ts","sourceRoot":"","sources":["../../src/validation/ajv-validator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAwB,MAAM,YAAY,CAAC;AAY3E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAGrE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAOzG"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Ajv } from "ajv";
|
|
2
|
+
function wrapAjvValidateFn(validateFn) {
|
|
3
|
+
return {
|
|
4
|
+
validate(value) {
|
|
5
|
+
if (validateFn(value) === true)
|
|
6
|
+
return { valid: true };
|
|
7
|
+
const errors = (validateFn.errors ?? []).map((e) => `${e.instancePath || "<root>"} ${e.message ?? ""}`.trim());
|
|
8
|
+
return { valid: false, errors };
|
|
9
|
+
},
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* @public (Experimental)
|
|
14
|
+
* Compiles a JSON Schema (draft-07) into a {@link ToolInputValidator} using
|
|
15
|
+
* its own, standalone `ajv` instance - calling it directly is only useful if
|
|
16
|
+
* you want an explicit, discoverable Ajv entry point, e.g. to compile one
|
|
17
|
+
* validator once and reuse it across multiple coordinators/gates.
|
|
18
|
+
*
|
|
19
|
+
* This is a *different* internal path than the `schemas` registration
|
|
20
|
+
* option uses (see {@link buildSharedAjvValidators}): each call here gets
|
|
21
|
+
* its own Ajv instance, so schemas compiled through *separate*
|
|
22
|
+
* `createAjvValidator()` calls cannot `$ref` each other via a shared `$id`
|
|
23
|
+
* registry. If you need that, register them together via `schemas` instead
|
|
24
|
+
* of calling this once per schema.
|
|
25
|
+
*
|
|
26
|
+
* `ajv` is imported statically here and remains an ordinary runtime
|
|
27
|
+
* dependency of this package for 0.5.x - see
|
|
28
|
+
* `docs/VALIDATION.md#ajv-loading` for why deferring that import bought
|
|
29
|
+
* little real value against real portability risk, and is not done here.
|
|
30
|
+
* The `validators` registration option (`ToolInputValidator`) has no
|
|
31
|
+
* dependency on this module or on `ajv` at all.
|
|
32
|
+
*
|
|
33
|
+
* Throws synchronously if `schema` fails to compile (malformed JSON
|
|
34
|
+
* Schema), matching the coordinator's existing fail-fast-at-construction
|
|
35
|
+
* guarantee.
|
|
36
|
+
*/
|
|
37
|
+
export function createAjvValidator(schema) {
|
|
38
|
+
const ajv = new Ajv({ allErrors: true, strict: false });
|
|
39
|
+
return wrapAjvValidateFn(ajv.compile(schema));
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* @internal
|
|
43
|
+
* Compiles every entry in `schemas` through **one shared** Ajv instance -
|
|
44
|
+
* restoring the pre-0.5 `toolSchemas` behavior, where a single
|
|
45
|
+
* `createToolCallStreamCoordinator()` call's schemas could `$ref` one
|
|
46
|
+
* another through a shared `$id` registry (verified directly: two schemas,
|
|
47
|
+
* one with `$id`, the other `$ref`-ing it, compile and validate correctly
|
|
48
|
+
* through one shared instance; the same two schemas compiled through
|
|
49
|
+
* `createAjvValidator()` called once per schema throw "can't resolve
|
|
50
|
+
* reference" instead, since each gets its own isolated instance).
|
|
51
|
+
* `buildValidatorMap` (validation/types.ts) is the only caller - a caller
|
|
52
|
+
* who wants a standalone, explicit, single-schema Ajv adapter should use
|
|
53
|
+
* the public {@link createAjvValidator} above instead.
|
|
54
|
+
*/
|
|
55
|
+
export function buildSharedAjvValidators(schemas) {
|
|
56
|
+
const ajv = new Ajv({ allErrors: true, strict: false });
|
|
57
|
+
const map = new Map();
|
|
58
|
+
for (const [toolName, schema] of Object.entries(schemas)) {
|
|
59
|
+
map.set(toolName, wrapAjvValidateFn(ajv.compile(schema)));
|
|
60
|
+
}
|
|
61
|
+
return map;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=ajv-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ajv-validator.js","sourceRoot":"","sources":["../../src/validation/ajv-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,SAAS,iBAAiB,CAAC,UAA4B;IACrD,OAAO;QACL,QAAQ,CAAC,KAAc;YACrB,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI;gBAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACvD,MAAM,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,IAAI,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/G,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAClC,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,OAAO,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAA+B;IACtE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,IAAI,GAAG,EAA8B,CAAC;IAClD,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { ToolInputValidator } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
* The exact Standard Schema v1 (https://standardschema.dev) `~standard`
|
|
5
|
+
* surface this adapter depends on. Not a dependency on `@standard-schema/spec`
|
|
6
|
+
* - just its documented shape, which Zod 4+, Valibot, ArkType, and others
|
|
7
|
+
* already implement without any package of ours needing to know that.
|
|
8
|
+
*/
|
|
9
|
+
interface StandardSchemaV1Like {
|
|
10
|
+
readonly "~standard": {
|
|
11
|
+
readonly version: 1;
|
|
12
|
+
readonly vendor: string;
|
|
13
|
+
readonly validate: (value: unknown) => unknown;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* @public (Experimental)
|
|
18
|
+
* Wraps a Standard Schema (https://standardschema.dev) v1-compliant
|
|
19
|
+
* validator - Zod 4+, Valibot, ArkType, and others already implement this
|
|
20
|
+
* without any adapter of their own - as a {@link ToolInputValidator}. Adds
|
|
21
|
+
* no dependency on `@standard-schema/spec` or any specific validator
|
|
22
|
+
* library; it only reads the `~standard` property the spec itself defines,
|
|
23
|
+
* and validates that surface at construction time (`version === 1`,
|
|
24
|
+
* `vendor` a string, `validate` a function) rather than trusting an
|
|
25
|
+
* arbitrary object - see `docs/VALIDATION.md#standard-schema`.
|
|
26
|
+
*
|
|
27
|
+
* Only synchronous Standard Schema validators are supported here, matching
|
|
28
|
+
* this package's synchronous, deterministic validation contract. An async
|
|
29
|
+
* validator throws a clear error rather than silently stalling or being
|
|
30
|
+
* awaited implicitly.
|
|
31
|
+
*
|
|
32
|
+
* **Validation evidence only - not a transformation pipeline.** A Standard
|
|
33
|
+
* Schema validator's `SuccessResult.value` may be transformed, coerced, or
|
|
34
|
+
* defaulted relative to the input. This adapter never substitutes that
|
|
35
|
+
* `value` into the tool call's arguments that actually execute - only
|
|
36
|
+
* `valid`/`issues` is read from the result. See
|
|
37
|
+
* `docs/VALIDATION.md#the-standard-schema-transformation-boundary`.
|
|
38
|
+
*/
|
|
39
|
+
export declare function fromStandardSchema(schema: StandardSchemaV1Like): ToolInputValidator;
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=standard-schema-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standard-schema-validator.d.ts","sourceRoot":"","sources":["../../src/validation/standard-schema-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAwB,MAAM,YAAY,CAAC;AAE3E;;;;;;GAMG;AACH,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;KAChD,CAAC;CACH;AA6FD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,GAAG,kBAAkB,CA8CnF"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
function isThenable(value) {
|
|
2
|
+
return typeof value === "object" && value !== null && typeof value.then === "function";
|
|
3
|
+
}
|
|
4
|
+
function isRecord(value) {
|
|
5
|
+
return typeof value === "object" && value !== null;
|
|
6
|
+
}
|
|
7
|
+
function describeForError(value) {
|
|
8
|
+
if (typeof value === "object") {
|
|
9
|
+
try {
|
|
10
|
+
return JSON.stringify(value);
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return Object.prototype.toString.call(value);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return `${typeof value} ${String(value)}`;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* @internal
|
|
20
|
+
* `path` entries in a Standard Schema v1 issue are `ReadonlyArray<PropertyKey
|
|
21
|
+
* | { key: PropertyKey }>` - either form is legitimate, and rendering the
|
|
22
|
+
* object form with a bare `String()` produces `"[object Object]"` instead of
|
|
23
|
+
* the actual key.
|
|
24
|
+
*/
|
|
25
|
+
function formatPathSegment(segment) {
|
|
26
|
+
if (isRecord(segment) && "key" in segment) {
|
|
27
|
+
return String(segment.key);
|
|
28
|
+
}
|
|
29
|
+
return String(segment);
|
|
30
|
+
}
|
|
31
|
+
function formatIssue(issue) {
|
|
32
|
+
const path = issue.path && issue.path.length > 0 ? issue.path.map(formatPathSegment).join(".") : "<root>";
|
|
33
|
+
return `${path} ${issue.message}`.trim();
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @internal
|
|
37
|
+
* Validates that `schema` satisfies the Standard Schema v1 `~standard`
|
|
38
|
+
* surface this adapter actually depends on - `version === 1`, `vendor` a
|
|
39
|
+
* string, `validate` a function. Runtime-checked, not just TypeScript-typed:
|
|
40
|
+
* a plain-JavaScript caller (or a `.d.ts`-less dependency, or an `as`-cast)
|
|
41
|
+
* can hand `fromStandardSchema()` anything, and guessing at an unsupported
|
|
42
|
+
* or malformed shape - then failing confusingly later, mid-stream - is worse
|
|
43
|
+
* than refusing it here, synchronously, with a clear, specific reason.
|
|
44
|
+
*/
|
|
45
|
+
function assertStandardSchemaV1(schema) {
|
|
46
|
+
if (!isRecord(schema) || !("~standard" in schema)) {
|
|
47
|
+
throw new Error('prefix-safe-json: fromStandardSchema() requires an object with a "~standard" property ' +
|
|
48
|
+
"(the Standard Schema v1 interface - see https://standardschema.dev). Received: " +
|
|
49
|
+
describeForError(schema));
|
|
50
|
+
}
|
|
51
|
+
const standard = schema["~standard"];
|
|
52
|
+
if (!isRecord(standard)) {
|
|
53
|
+
throw new Error('prefix-safe-json: fromStandardSchema() requires schema["~standard"] to be an object. Received: ' +
|
|
54
|
+
describeForError(standard));
|
|
55
|
+
}
|
|
56
|
+
if (standard.version !== 1) {
|
|
57
|
+
throw new Error('prefix-safe-json: fromStandardSchema() only supports Standard Schema v1 (schema["~standard"].version ' +
|
|
58
|
+
`=== 1). Received version: ${describeForError(standard.version)}.`);
|
|
59
|
+
}
|
|
60
|
+
if (typeof standard.vendor !== "string") {
|
|
61
|
+
throw new Error('prefix-safe-json: fromStandardSchema() requires schema["~standard"].vendor to be a string. Received: ' +
|
|
62
|
+
describeForError(standard.vendor));
|
|
63
|
+
}
|
|
64
|
+
if (typeof standard.validate !== "function") {
|
|
65
|
+
throw new Error('prefix-safe-json: fromStandardSchema() requires schema["~standard"].validate to be a function. ' +
|
|
66
|
+
`Received: ${describeForError(standard.validate)}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* @public (Experimental)
|
|
71
|
+
* Wraps a Standard Schema (https://standardschema.dev) v1-compliant
|
|
72
|
+
* validator - Zod 4+, Valibot, ArkType, and others already implement this
|
|
73
|
+
* without any adapter of their own - as a {@link ToolInputValidator}. Adds
|
|
74
|
+
* no dependency on `@standard-schema/spec` or any specific validator
|
|
75
|
+
* library; it only reads the `~standard` property the spec itself defines,
|
|
76
|
+
* and validates that surface at construction time (`version === 1`,
|
|
77
|
+
* `vendor` a string, `validate` a function) rather than trusting an
|
|
78
|
+
* arbitrary object - see `docs/VALIDATION.md#standard-schema`.
|
|
79
|
+
*
|
|
80
|
+
* Only synchronous Standard Schema validators are supported here, matching
|
|
81
|
+
* this package's synchronous, deterministic validation contract. An async
|
|
82
|
+
* validator throws a clear error rather than silently stalling or being
|
|
83
|
+
* awaited implicitly.
|
|
84
|
+
*
|
|
85
|
+
* **Validation evidence only - not a transformation pipeline.** A Standard
|
|
86
|
+
* Schema validator's `SuccessResult.value` may be transformed, coerced, or
|
|
87
|
+
* defaulted relative to the input. This adapter never substitutes that
|
|
88
|
+
* `value` into the tool call's arguments that actually execute - only
|
|
89
|
+
* `valid`/`issues` is read from the result. See
|
|
90
|
+
* `docs/VALIDATION.md#the-standard-schema-transformation-boundary`.
|
|
91
|
+
*/
|
|
92
|
+
export function fromStandardSchema(schema) {
|
|
93
|
+
assertStandardSchemaV1(schema);
|
|
94
|
+
const standard = schema["~standard"];
|
|
95
|
+
return {
|
|
96
|
+
validate(value) {
|
|
97
|
+
const result = standard.validate(value);
|
|
98
|
+
if (isThenable(result)) {
|
|
99
|
+
throw new Error("prefix-safe-json: fromStandardSchema() only supports synchronous Standard Schema validators. " +
|
|
100
|
+
"This schema's validate() returned a Promise - implement ToolInputValidator directly if you " +
|
|
101
|
+
"need async validation, and resolve it before the call reaches this coordinator.");
|
|
102
|
+
}
|
|
103
|
+
// The Standard Schema v1 contract: SuccessResult = { value, issues?:
|
|
104
|
+
// undefined }; FailureResult = { issues: ReadonlyArray<Issue> }. Both
|
|
105
|
+
// fields are checked explicitly rather than assumed from the
|
|
106
|
+
// (compile-time-only) declared return type - a real vendor's
|
|
107
|
+
// validate() is trusted no further than any other external input.
|
|
108
|
+
// `issues === undefined` is checked FIRST: a present `issues` (any
|
|
109
|
+
// array, including empty) always means failure, even if `value` also
|
|
110
|
+
// happens to be present on the same object.
|
|
111
|
+
if (!isRecord(result)) {
|
|
112
|
+
throw new Error("prefix-safe-json: fromStandardSchema()'s wrapped validator returned a result that is not a " +
|
|
113
|
+
`Standard Schema SuccessResult or FailureResult object. Received: ${describeForError(result)}`);
|
|
114
|
+
}
|
|
115
|
+
if (result.issues !== undefined) {
|
|
116
|
+
if (!Array.isArray(result.issues)) {
|
|
117
|
+
throw new Error("prefix-safe-json: fromStandardSchema()'s wrapped validator returned a non-array `issues` " +
|
|
118
|
+
`field, which is not a valid Standard Schema FailureResult. Received: ${describeForError(result.issues)}`);
|
|
119
|
+
}
|
|
120
|
+
return { valid: false, errors: result.issues.map(formatIssue) };
|
|
121
|
+
}
|
|
122
|
+
if (!("value" in result)) {
|
|
123
|
+
throw new Error("prefix-safe-json: fromStandardSchema()'s wrapped validator returned an object with neither " +
|
|
124
|
+
'"value" nor "issues" - not a valid Standard Schema SuccessResult or FailureResult. Received: ' +
|
|
125
|
+
describeForError(result));
|
|
126
|
+
}
|
|
127
|
+
return { valid: true };
|
|
128
|
+
},
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=standard-schema-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standard-schema-validator.js","sourceRoot":"","sources":["../../src/validation/standard-schema-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @public (Experimental)
|
|
3
|
+
* The result of validating one tool call's arguments. Structurally minimal
|
|
4
|
+
* on purpose: `errors`, when present, are already-formatted human-readable
|
|
5
|
+
* strings, not ecosystem-specific issue objects (Zod issues, Ajv errors,
|
|
6
|
+
* TypeBox errors, ...) - each adapter is responsible for turning its own
|
|
7
|
+
* validator's native error shape into readable text, so nothing downstream
|
|
8
|
+
* needs to know which validation ecosystem produced a given verdict.
|
|
9
|
+
*/
|
|
10
|
+
export type ToolValidationResult = {
|
|
11
|
+
readonly valid: true;
|
|
12
|
+
} | {
|
|
13
|
+
readonly valid: false;
|
|
14
|
+
readonly errors?: readonly string[];
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* @public (Experimental)
|
|
18
|
+
* The validation boundary this package's execution-authority core depends
|
|
19
|
+
* on. It is deliberately not `ajv`, `zod`, `typebox`, `valibot`, or any
|
|
20
|
+
* other specific ecosystem's own type - implement this against whichever
|
|
21
|
+
* validator your project already uses and pass it in; nothing in this
|
|
22
|
+
* package's core needs to know it exists.
|
|
23
|
+
*
|
|
24
|
+
* A validator verdict is one more piece of evidence, never authority on its
|
|
25
|
+
* own: `valid: false` can make a decision `reject`; `valid: true` never by
|
|
26
|
+
* itself makes a decision `execute` - completeness and lifecycle evidence
|
|
27
|
+
* still have to hold too. See `docs/EXECUTION_GATE.md`.
|
|
28
|
+
*
|
|
29
|
+
* Contract:
|
|
30
|
+
* - `validate` runs synchronously and returns a result. It may throw to
|
|
31
|
+
* signal validator misconfiguration (mirroring how a malformed JSON
|
|
32
|
+
* Schema already fails fast at construction rather than mid-stream); the
|
|
33
|
+
* coordinator treats a thrown `validate()` as `valid: false` for that one
|
|
34
|
+
* call rather than letting the exception abort the whole stream - see
|
|
35
|
+
* `docs/VALIDATION.md#a-validator-that-throws`.
|
|
36
|
+
* - `validate` must be deterministic and free of side effects - it is called
|
|
37
|
+
* with the call's already-parsed, already-complete `stableValue`, and its
|
|
38
|
+
* return value must depend only on that input.
|
|
39
|
+
*/
|
|
40
|
+
export interface ToolInputValidator {
|
|
41
|
+
validate(value: unknown): ToolValidationResult;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @internal
|
|
45
|
+
* Builds the coordinator's internal per-tool validator map from the two
|
|
46
|
+
* explicit, separate registration options. There is no structural/duck-type
|
|
47
|
+
* discrimination anywhere in this path - `schemas` entries are always
|
|
48
|
+
* compiled as JSON Schema, `validators` entries are always used as-is, and
|
|
49
|
+
* a tool name present in both is a construction-time error rather than a
|
|
50
|
+
* silently-resolved precedence rule. See `docs/VALIDATION.md`.
|
|
51
|
+
*
|
|
52
|
+
* Collision detection runs *before* any schema is compiled, so a colliding
|
|
53
|
+
* tool name is always reported as a collision - deterministically, even
|
|
54
|
+
* when that same tool's `schemas` entry also happens to be malformed JSON
|
|
55
|
+
* Schema. Without this ordering, whichever check happened to run first
|
|
56
|
+
* would decide which error the caller sees, for reasons unrelated to which
|
|
57
|
+
* problem is actually more fundamental.
|
|
58
|
+
*/
|
|
59
|
+
export declare function buildValidatorMap(schemas: Record<string, object> | undefined, validators: Record<string, ToolInputValidator> | undefined): Map<string, ToolInputValidator>;
|
|
60
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,MAAM,oBAAoB,GAC5B;IAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GACxB;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAAC;CAChD;AA+BD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC3C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,GACzD,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAmCjC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { buildSharedAjvValidators } from "./ajv-validator.js";
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
* Runtime shape check for a `validators[toolName]` entry. `ToolInputValidator`
|
|
5
|
+
* is a TypeScript interface, not a runtime guarantee - a plain-JavaScript
|
|
6
|
+
* caller (or a `as never`/`as ToolInputValidator` cast) can hand this
|
|
7
|
+
* anything. An explicitly *registered* malformed validator must never be
|
|
8
|
+
* silently equivalent to "no validator registered": `coordinator.ts`'s
|
|
9
|
+
* `if (validator) { ... }` truthiness check would otherwise skip a `null`/
|
|
10
|
+
* `undefined`/`false`/`0`/`""` entry entirely, letting the call execute
|
|
11
|
+
* with zero diagnostic - the same class of fail-open gap already closed for
|
|
12
|
+
* a validator that returns a malformed *result* (see
|
|
13
|
+
* `docs/VALIDATION.md#a-validator-that-returns-a-malformed-result`). This
|
|
14
|
+
* check exists so that gap cannot reopen one level up, at registration time.
|
|
15
|
+
*/
|
|
16
|
+
function isToolInputValidatorShaped(value) {
|
|
17
|
+
return typeof value === "object" && value !== null && typeof value.validate === "function";
|
|
18
|
+
}
|
|
19
|
+
function describeInvalidValidator(value) {
|
|
20
|
+
if (typeof value === "object") {
|
|
21
|
+
try {
|
|
22
|
+
return JSON.stringify(value);
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return Object.prototype.toString.call(value);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return `${typeof value} ${String(value)}`;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @internal
|
|
32
|
+
* Builds the coordinator's internal per-tool validator map from the two
|
|
33
|
+
* explicit, separate registration options. There is no structural/duck-type
|
|
34
|
+
* discrimination anywhere in this path - `schemas` entries are always
|
|
35
|
+
* compiled as JSON Schema, `validators` entries are always used as-is, and
|
|
36
|
+
* a tool name present in both is a construction-time error rather than a
|
|
37
|
+
* silently-resolved precedence rule. See `docs/VALIDATION.md`.
|
|
38
|
+
*
|
|
39
|
+
* Collision detection runs *before* any schema is compiled, so a colliding
|
|
40
|
+
* tool name is always reported as a collision - deterministically, even
|
|
41
|
+
* when that same tool's `schemas` entry also happens to be malformed JSON
|
|
42
|
+
* Schema. Without this ordering, whichever check happened to run first
|
|
43
|
+
* would decide which error the caller sees, for reasons unrelated to which
|
|
44
|
+
* problem is actually more fundamental.
|
|
45
|
+
*/
|
|
46
|
+
export function buildValidatorMap(schemas, validators) {
|
|
47
|
+
if (schemas && validators) {
|
|
48
|
+
for (const toolName of Object.keys(validators)) {
|
|
49
|
+
if (Object.prototype.hasOwnProperty.call(schemas, toolName)) {
|
|
50
|
+
throw new Error(`prefix-safe-json: tool ${JSON.stringify(toolName)} is registered in both "schemas" and ` +
|
|
51
|
+
`"validators" - a tool's validation must come from exactly one source. Remove one registration.`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const map = new Map();
|
|
56
|
+
if (schemas) {
|
|
57
|
+
// One shared Ajv instance for every schema in THIS `schemas` object -
|
|
58
|
+
// pre-0.5 behavior, restored here after 0.5's per-schema
|
|
59
|
+
// createAjvValidator() calls regressed it (a schema could no longer
|
|
60
|
+
// $ref another schema registered in the same construction - see
|
|
61
|
+
// buildSharedAjvValidators's own doc comment for the direct proof).
|
|
62
|
+
for (const [toolName, validator] of buildSharedAjvValidators(schemas)) {
|
|
63
|
+
map.set(toolName, validator);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (validators) {
|
|
67
|
+
for (const [toolName, validator] of Object.entries(validators)) {
|
|
68
|
+
if (!isToolInputValidatorShaped(validator)) {
|
|
69
|
+
throw new Error(`prefix-safe-json: validators[${JSON.stringify(toolName)}] is not a valid ToolInputValidator - ` +
|
|
70
|
+
`expected an object with a "validate" function, received: ${describeInvalidValidator(validator)}`);
|
|
71
|
+
}
|
|
72
|
+
map.set(toolName, validator);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return map;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AA2C9D;;;;;;;;;;;;;GAaG;AACH,SAAS,0BAA0B,CAAC,KAAc;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAQ,KAAgC,CAAC,QAAQ,KAAK,UAAU,CAAC;AACzH,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,GAAG,OAAO,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAA2C,EAC3C,UAA0D;IAE1D,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;QAC1B,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/C,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,KAAK,CACb,0BAA0B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uCAAuC;oBACvF,gGAAgG,CACnG,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,EAA8B,CAAC;IAClD,IAAI,OAAO,EAAE,CAAC;QACZ,sEAAsE;QACtE,yDAAyD;QACzD,oEAAoE;QACpE,gEAAgE;QAChE,oEAAoE;QACpE,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC;YACtE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CACb,gCAAgC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,wCAAwC;oBAC9F,4DAA4D,wBAAwB,CAAC,SAAS,CAAC,EAAE,CACpG,CAAC;YACJ,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prefix-safe-json",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.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",
|
|
@@ -31,6 +31,18 @@
|
|
|
31
31
|
".": {
|
|
32
32
|
"types": "./dist/index.d.ts",
|
|
33
33
|
"import": "./dist/index.js"
|
|
34
|
+
},
|
|
35
|
+
"./ajv": {
|
|
36
|
+
"types": "./dist/ajv.d.ts",
|
|
37
|
+
"import": "./dist/ajv.js"
|
|
38
|
+
},
|
|
39
|
+
"./standard-schema": {
|
|
40
|
+
"types": "./dist/standard-schema.d.ts",
|
|
41
|
+
"import": "./dist/standard-schema.js"
|
|
42
|
+
},
|
|
43
|
+
"./conformance": {
|
|
44
|
+
"types": "./dist/conformance.d.ts",
|
|
45
|
+
"import": "./dist/conformance.js"
|
|
34
46
|
}
|
|
35
47
|
},
|
|
36
48
|
"files": [
|
|
@@ -77,7 +89,9 @@
|
|
|
77
89
|
"example:ai-sdk-lifecycle-proof": "node examples/ai-sdk-lifecycle-proof.mjs"
|
|
78
90
|
},
|
|
79
91
|
"devDependencies": {
|
|
92
|
+
"@anthropic-ai/sdk": "0.123.0",
|
|
80
93
|
"@eslint/js": "^9.8.0",
|
|
94
|
+
"@google/genai": "2.21.0",
|
|
81
95
|
"@stryker-mutator/core": "^9.6.1",
|
|
82
96
|
"@stryker-mutator/vitest-runner": "^9.6.1",
|
|
83
97
|
"@types/clarinet": "^0.12.3",
|
|
@@ -90,6 +104,7 @@
|
|
|
90
104
|
"eslint": "^9.8.0",
|
|
91
105
|
"fast-check": "^4.9.0",
|
|
92
106
|
"jsonrepair": "^3.15.0",
|
|
107
|
+
"openai": "7.8.0",
|
|
93
108
|
"partial-json": "^0.1.7",
|
|
94
109
|
"rimraf": "^6.0.1",
|
|
95
110
|
"tsx": "^4.16.0",
|