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.
Files changed (71) hide show
  1. package/LICENSE +27 -4
  2. package/README.md +273 -398
  3. package/dist/ajv.d.ts +2 -0
  4. package/dist/ajv.d.ts.map +1 -0
  5. package/dist/ajv.js +19 -0
  6. package/dist/ajv.js.map +1 -0
  7. package/dist/conformance/runner.d.ts +19 -0
  8. package/dist/conformance/runner.d.ts.map +1 -0
  9. package/dist/conformance/runner.js +78 -0
  10. package/dist/conformance/runner.js.map +1 -0
  11. package/dist/conformance/types.d.ts +115 -0
  12. package/dist/conformance/types.d.ts.map +1 -0
  13. package/dist/conformance/types.js +2 -0
  14. package/dist/conformance/types.js.map +1 -0
  15. package/dist/conformance.d.ts +3 -0
  16. package/dist/conformance.d.ts.map +1 -0
  17. package/dist/conformance.js +11 -0
  18. package/dist/conformance.js.map +1 -0
  19. package/dist/coordinator/coordinator.d.ts +25 -11
  20. package/dist/coordinator/coordinator.d.ts.map +1 -1
  21. package/dist/coordinator/coordinator.js +140 -25
  22. package/dist/coordinator/coordinator.js.map +1 -1
  23. package/dist/coordinator/types.d.ts +3 -2
  24. package/dist/coordinator/types.d.ts.map +1 -1
  25. package/dist/gate/gate.d.ts +2 -2
  26. package/dist/gate/gate.d.ts.map +1 -1
  27. package/dist/gate/gate.js +4 -4
  28. package/dist/gate/gate.js.map +1 -1
  29. package/dist/guard/provider-guard.js +1 -1
  30. package/dist/guard/provider-guard.js.map +1 -1
  31. package/dist/guard/types.d.ts +11 -4
  32. package/dist/guard/types.d.ts.map +1 -1
  33. package/dist/index.d.ts +11 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js.map +1 -1
  36. package/dist/providers/anthropic.d.ts +1 -0
  37. package/dist/providers/anthropic.d.ts.map +1 -1
  38. package/dist/providers/anthropic.js +89 -8
  39. package/dist/providers/anthropic.js.map +1 -1
  40. package/dist/providers/gemini.d.ts +122 -0
  41. package/dist/providers/gemini.d.ts.map +1 -1
  42. package/dist/providers/gemini.js +442 -25
  43. package/dist/providers/gemini.js.map +1 -1
  44. package/dist/providers/openai-compatible.d.ts +47 -1
  45. package/dist/providers/openai-compatible.d.ts.map +1 -1
  46. package/dist/providers/openai-compatible.js +381 -84
  47. package/dist/providers/openai-compatible.js.map +1 -1
  48. package/dist/providers/openai.d.ts +7 -1
  49. package/dist/providers/openai.d.ts.map +1 -1
  50. package/dist/providers/openai.js +459 -67
  51. package/dist/providers/openai.js.map +1 -1
  52. package/dist/providers/openrouter.d.ts.map +1 -1
  53. package/dist/providers/openrouter.js +14 -2
  54. package/dist/providers/openrouter.js.map +1 -1
  55. package/dist/standard-schema.d.ts +2 -0
  56. package/dist/standard-schema.d.ts.map +1 -0
  57. package/dist/standard-schema.js +11 -0
  58. package/dist/standard-schema.js.map +1 -0
  59. package/dist/validation/ajv-validator.d.ts +43 -0
  60. package/dist/validation/ajv-validator.d.ts.map +1 -0
  61. package/dist/validation/ajv-validator.js +63 -0
  62. package/dist/validation/ajv-validator.js.map +1 -0
  63. package/dist/validation/standard-schema-validator.d.ts +41 -0
  64. package/dist/validation/standard-schema-validator.d.ts.map +1 -0
  65. package/dist/validation/standard-schema-validator.js +131 -0
  66. package/dist/validation/standard-schema-validator.js.map +1 -0
  67. package/dist/validation/types.d.ts +60 -0
  68. package/dist/validation/types.d.ts.map +1 -0
  69. package/dist/validation/types.js +77 -0
  70. package/dist/validation/types.js.map +1 -0
  71. 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;IA4C7D,MAAM,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,eAAe,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,yBAAyB,EAAE;CAO3G"}
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
- if (this.finished)
10
- return [];
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,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QAE7B,MAAM,MAAM,GAAgC,EAAE,CAAC;QAE/C,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,4BAA4B;gBAClC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,4BAA4B;aACtC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,KAAK,GAAG,QAA2B,CAAC;QAE1C,kCAAkC;QAClC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;aACrF,CAAC,CAAC;YACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9G,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7E,CAAC;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,OAAO,MAAM,CAAC;QACjB,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAA4D;QACjE,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7D,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACnG,CAAC;CACF"}
1
+ {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../src/providers/openrouter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { fromStandardSchema } from "./validation/standard-schema-validator.js";
2
+ //# sourceMappingURL=standard-schema.d.ts.map
@@ -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.4.4",
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",