@peac/schema 0.10.9 → 0.10.11

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 (77) hide show
  1. package/LICENSE +1 -1
  2. package/dist/attestation-receipt.cjs +127 -0
  3. package/dist/attestation-receipt.cjs.map +1 -0
  4. package/dist/attestation-receipt.mjs +113 -0
  5. package/dist/attestation-receipt.mjs.map +1 -0
  6. package/dist/attribution.cjs +249 -0
  7. package/dist/attribution.cjs.map +1 -0
  8. package/dist/attribution.mjs +227 -0
  9. package/dist/attribution.mjs.map +1 -0
  10. package/dist/dispute.d.ts.map +1 -1
  11. package/dist/index.cjs +2818 -0
  12. package/dist/index.cjs.map +1 -0
  13. package/dist/index.mjs +2577 -0
  14. package/dist/index.mjs.map +1 -0
  15. package/dist/interaction.cjs +619 -0
  16. package/dist/interaction.cjs.map +1 -0
  17. package/dist/interaction.mjs +583 -0
  18. package/dist/interaction.mjs.map +1 -0
  19. package/dist/normalize.cjs +84 -0
  20. package/dist/normalize.cjs.map +1 -0
  21. package/dist/normalize.d.ts +15 -9
  22. package/dist/normalize.d.ts.map +1 -1
  23. package/dist/normalize.mjs +82 -0
  24. package/dist/normalize.mjs.map +1 -0
  25. package/dist/receipt-parser.cjs +333 -0
  26. package/dist/receipt-parser.cjs.map +1 -0
  27. package/dist/receipt-parser.mjs +331 -0
  28. package/dist/receipt-parser.mjs.map +1 -0
  29. package/dist/workflow.cjs +321 -0
  30. package/dist/workflow.cjs.map +1 -0
  31. package/dist/workflow.mjs +292 -0
  32. package/dist/workflow.mjs.map +1 -0
  33. package/package.json +50 -6
  34. package/dist/agent-identity.js +0 -357
  35. package/dist/agent-identity.js.map +0 -1
  36. package/dist/attestation-receipt.js +0 -249
  37. package/dist/attestation-receipt.js.map +0 -1
  38. package/dist/attribution.js +0 -444
  39. package/dist/attribution.js.map +0 -1
  40. package/dist/constants.js +0 -73
  41. package/dist/constants.js.map +0 -1
  42. package/dist/control.js +0 -9
  43. package/dist/control.js.map +0 -1
  44. package/dist/dispute.js +0 -832
  45. package/dist/dispute.js.map +0 -1
  46. package/dist/envelope.js +0 -9
  47. package/dist/envelope.js.map +0 -1
  48. package/dist/errors.js +0 -116
  49. package/dist/errors.js.map +0 -1
  50. package/dist/evidence.js +0 -8
  51. package/dist/evidence.js.map +0 -1
  52. package/dist/index.js +0 -283
  53. package/dist/index.js.map +0 -1
  54. package/dist/interaction.js +0 -918
  55. package/dist/interaction.js.map +0 -1
  56. package/dist/json.js +0 -267
  57. package/dist/json.js.map +0 -1
  58. package/dist/normalize.js +0 -103
  59. package/dist/normalize.js.map +0 -1
  60. package/dist/obligations.js +0 -337
  61. package/dist/obligations.js.map +0 -1
  62. package/dist/purpose.js +0 -296
  63. package/dist/purpose.js.map +0 -1
  64. package/dist/receipt-parser.js +0 -89
  65. package/dist/receipt-parser.js.map +0 -1
  66. package/dist/schemas.js +0 -7
  67. package/dist/schemas.js.map +0 -1
  68. package/dist/subject.js +0 -9
  69. package/dist/subject.js.map +0 -1
  70. package/dist/types.js +0 -6
  71. package/dist/types.js.map +0 -1
  72. package/dist/validators.js +0 -421
  73. package/dist/validators.js.map +0 -1
  74. package/dist/version.js +0 -7
  75. package/dist/version.js.map +0 -1
  76. package/dist/workflow.js +0 -523
  77. package/dist/workflow.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../src/interaction.ts"],"names":[],"mappings":"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"}
package/dist/json.js DELETED
@@ -1,267 +0,0 @@
1
- "use strict";
2
- /**
3
- * JSON-safe validation schemas
4
- *
5
- * Provides Zod schemas that guarantee JSON roundtrip safety:
6
- * - Rejects NaN, Infinity, -Infinity (not valid JSON numbers)
7
- * - Rejects undefined (dropped by JSON.stringify)
8
- * - Rejects non-plain objects (Date, Map, Set, class instances)
9
- * - Rejects functions, symbols, bigints
10
- */
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.JSON_EVIDENCE_LIMITS = exports.JsonArraySchema = exports.JsonObjectSchema = exports.JsonValueSchema = exports.JsonPrimitiveSchema = void 0;
13
- exports.assertJsonSafeIterative = assertJsonSafeIterative;
14
- const zod_1 = require("zod");
15
- /**
16
- * Check if value is a plain object (not Date, Map, Set, class instance, etc.)
17
- *
18
- * A plain object has prototype of Object.prototype or null.
19
- * This rejects Date, Map, Set, Array, and class instances even when
20
- * they have zero enumerable properties (which would pass z.record()).
21
- */
22
- function isPlainObject(value) {
23
- if (value === null || typeof value !== 'object') {
24
- return false;
25
- }
26
- const proto = Object.getPrototypeOf(value);
27
- return proto === Object.prototype || proto === null;
28
- }
29
- /**
30
- * JSON number schema - rejects NaN and Infinity
31
- *
32
- * JSON.stringify(NaN) === "null" and JSON.stringify(Infinity) === "null"
33
- * which silently corrupts data. We reject these at validation time.
34
- */
35
- const JsonNumberSchema = zod_1.z.number().finite();
36
- /**
37
- * JSON primitive schema - string, finite number, boolean, null
38
- */
39
- exports.JsonPrimitiveSchema = zod_1.z.union([zod_1.z.string(), JsonNumberSchema, zod_1.z.boolean(), zod_1.z.null()]);
40
- /**
41
- * Plain object schema (internal) - validates object is plain before recursive validation
42
- */
43
- const PlainObjectSchema = zod_1.z.unknown().refine(isPlainObject, {
44
- message: 'Expected plain object, received non-plain object (Date, Map, Set, or class instance)',
45
- });
46
- /**
47
- * JSON value schema - recursive type for any valid JSON value
48
- *
49
- * Validates:
50
- * - Primitives: string, finite number, boolean, null
51
- * - Arrays: containing valid JSON values
52
- * - Objects: plain objects with string keys and valid JSON values
53
- *
54
- * Rejects:
55
- * - undefined (dropped by JSON.stringify)
56
- * - NaN, Infinity, -Infinity (become null in JSON)
57
- * - BigInt (throws in JSON.stringify)
58
- * - Date (becomes ISO string - implicit conversion)
59
- * - Map, Set (become {} in JSON)
60
- * - Functions, Symbols (dropped by JSON.stringify)
61
- * - Class instances (prototype chain lost)
62
- */
63
- exports.JsonValueSchema = zod_1.z.lazy(() => zod_1.z.union([
64
- exports.JsonPrimitiveSchema,
65
- zod_1.z.array(exports.JsonValueSchema),
66
- // Plain object check then record validation
67
- PlainObjectSchema.transform((obj) => obj).pipe(zod_1.z.record(exports.JsonValueSchema)),
68
- ]));
69
- /**
70
- * JSON object schema - plain object with string keys and JSON values
71
- *
72
- * Rejects non-plain objects (Date, Map, Set, class instances).
73
- */
74
- exports.JsonObjectSchema = PlainObjectSchema.transform((obj) => obj).pipe(zod_1.z.record(exports.JsonValueSchema));
75
- /**
76
- * JSON array schema - array of JSON values
77
- */
78
- exports.JsonArraySchema = zod_1.z.array(exports.JsonValueSchema);
79
- /**
80
- * Default limits for JSON evidence validation
81
- *
82
- * These are conservative defaults to prevent DoS attacks via deeply nested
83
- * or excessively large JSON structures.
84
- */
85
- exports.JSON_EVIDENCE_LIMITS = {
86
- /** Maximum nesting depth (default: 32) */
87
- maxDepth: 32,
88
- /** Maximum array length (default: 10,000) */
89
- maxArrayLength: 10_000,
90
- /** Maximum object keys (default: 1,000) */
91
- maxObjectKeys: 1_000,
92
- /** Maximum string length in bytes (default: 65,536 = 64KB) */
93
- maxStringLength: 65_536,
94
- /** Maximum total nodes to visit (default: 100,000) */
95
- maxTotalNodes: 100_000,
96
- };
97
- /**
98
- * Iterative JSON safety validator
99
- *
100
- * Validates that a value is JSON-safe without using recursion, preventing
101
- * stack overflow on deeply nested structures. Uses an explicit stack for
102
- * traversal with entry/exit markers for correct cycle detection.
103
- *
104
- * Cycle Detection:
105
- * Uses a path-based approach where only objects on the current traversal
106
- * path are tracked. This correctly allows diamond structures (same object
107
- * referenced from multiple paths) while rejecting actual cycles (object
108
- * references itself through its descendants).
109
- *
110
- * Rejects:
111
- * - Cycles (object references itself directly or indirectly)
112
- * - Non-plain objects (Date, Map, Set, class instances)
113
- * - Non-finite numbers (NaN, Infinity, -Infinity)
114
- * - undefined, BigInt, functions, symbols
115
- * - Structures exceeding depth/size limits
116
- *
117
- * Allows:
118
- * - Diamond structures (same object referenced from multiple paths)
119
- *
120
- * @param value - Value to validate
121
- * @param limits - Optional limits (defaults to JSON_EVIDENCE_LIMITS)
122
- * @returns Result indicating success or failure with error details
123
- */
124
- function assertJsonSafeIterative(value, limits = {}) {
125
- const maxDepth = limits.maxDepth ?? exports.JSON_EVIDENCE_LIMITS.maxDepth;
126
- const maxArrayLength = limits.maxArrayLength ?? exports.JSON_EVIDENCE_LIMITS.maxArrayLength;
127
- const maxObjectKeys = limits.maxObjectKeys ?? exports.JSON_EVIDENCE_LIMITS.maxObjectKeys;
128
- const maxStringLength = limits.maxStringLength ?? exports.JSON_EVIDENCE_LIMITS.maxStringLength;
129
- const maxTotalNodes = limits.maxTotalNodes ?? exports.JSON_EVIDENCE_LIMITS.maxTotalNodes;
130
- // Track objects on the current traversal path for cycle detection.
131
- // An object appearing twice on the same path is a cycle.
132
- // An object appearing on different paths (diamond) is NOT a cycle.
133
- const pathSet = new WeakSet();
134
- // Track total nodes visited for DoS protection
135
- let nodeCount = 0;
136
- // Stack with entry/exit markers for path tracking
137
- const stack = [{ type: 'enter', value, path: [], depth: 0 }];
138
- while (stack.length > 0) {
139
- const entry = stack.pop();
140
- // Handle exit marker - remove object from current path
141
- if (entry.type === 'exit') {
142
- pathSet.delete(entry.obj);
143
- continue;
144
- }
145
- const { value: current, path, depth } = entry;
146
- // Check total node limit
147
- nodeCount++;
148
- if (nodeCount > maxTotalNodes) {
149
- return {
150
- ok: false,
151
- error: `Maximum total nodes exceeded (limit: ${maxTotalNodes})`,
152
- path,
153
- };
154
- }
155
- // Check depth limit
156
- if (depth > maxDepth) {
157
- return {
158
- ok: false,
159
- error: `Maximum depth exceeded (limit: ${maxDepth})`,
160
- path,
161
- };
162
- }
163
- // Handle null (valid JSON)
164
- if (current === null) {
165
- continue;
166
- }
167
- // Handle primitives
168
- const type = typeof current;
169
- if (type === 'string') {
170
- if (current.length > maxStringLength) {
171
- return {
172
- ok: false,
173
- error: `String exceeds maximum length (limit: ${maxStringLength})`,
174
- path,
175
- };
176
- }
177
- continue;
178
- }
179
- if (type === 'number') {
180
- if (!Number.isFinite(current)) {
181
- return {
182
- ok: false,
183
- error: `Non-finite number: ${current}`,
184
- path,
185
- };
186
- }
187
- continue;
188
- }
189
- if (type === 'boolean') {
190
- continue;
191
- }
192
- // Reject non-JSON types
193
- if (type === 'undefined') {
194
- return { ok: false, error: 'undefined is not valid JSON', path };
195
- }
196
- if (type === 'bigint') {
197
- return { ok: false, error: 'BigInt is not valid JSON', path };
198
- }
199
- if (type === 'function') {
200
- return { ok: false, error: 'Function is not valid JSON', path };
201
- }
202
- if (type === 'symbol') {
203
- return { ok: false, error: 'Symbol is not valid JSON', path };
204
- }
205
- // Handle objects (arrays and plain objects)
206
- if (type === 'object') {
207
- const obj = current;
208
- // Cycle detection - check if object is already on the current path
209
- // (not just visited anywhere, but specifically an ancestor)
210
- if (pathSet.has(obj)) {
211
- return { ok: false, error: 'Cycle detected in object graph', path };
212
- }
213
- // Add to current path and push exit marker to remove when done
214
- pathSet.add(obj);
215
- stack.push({ type: 'exit', obj });
216
- // Handle arrays
217
- if (Array.isArray(obj)) {
218
- if (obj.length > maxArrayLength) {
219
- return {
220
- ok: false,
221
- error: `Array exceeds maximum length (limit: ${maxArrayLength})`,
222
- path,
223
- };
224
- }
225
- // Push array elements to stack in reverse order for correct traversal
226
- for (let i = obj.length - 1; i >= 0; i--) {
227
- stack.push({ type: 'enter', value: obj[i], path: [...path, i], depth: depth + 1 });
228
- }
229
- continue;
230
- }
231
- // Check for non-plain objects (Date, Map, Set, class instances, etc.)
232
- const proto = Object.getPrototypeOf(obj);
233
- if (proto !== Object.prototype && proto !== null) {
234
- const constructorName = obj.constructor?.name ?? 'unknown';
235
- return {
236
- ok: false,
237
- error: `Non-plain object (${constructorName}) is not valid JSON`,
238
- path,
239
- };
240
- }
241
- // Handle plain objects
242
- const keys = Object.keys(obj);
243
- if (keys.length > maxObjectKeys) {
244
- return {
245
- ok: false,
246
- error: `Object exceeds maximum key count (limit: ${maxObjectKeys})`,
247
- path,
248
- };
249
- }
250
- // Push object values to stack
251
- for (let i = keys.length - 1; i >= 0; i--) {
252
- const key = keys[i];
253
- stack.push({
254
- type: 'enter',
255
- value: obj[key],
256
- path: [...path, key],
257
- depth: depth + 1,
258
- });
259
- }
260
- continue;
261
- }
262
- // Shouldn't reach here, but reject unknown types
263
- return { ok: false, error: `Unknown type: ${type}`, path };
264
- }
265
- return { ok: true };
266
- }
267
- //# sourceMappingURL=json.js.map
package/dist/json.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"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"}
package/dist/normalize.js DELETED
@@ -1,103 +0,0 @@
1
- "use strict";
2
- /**
3
- * Schema Normalization
4
- *
5
- * Functions to normalize receipt claims to a canonical form for comparison.
6
- * Produces byte-identical JCS output regardless of how the receipt was created.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.toCoreClaims = toCoreClaims;
10
- /**
11
- * Normalize a payment evidence object.
12
- *
13
- * Extracts only the semantic fields, omitting rail-specific evidence
14
- * and optional fields that are undefined.
15
- */
16
- function normalizePayment(payment) {
17
- const result = {
18
- rail: payment.rail,
19
- reference: payment.reference,
20
- amount: payment.amount,
21
- currency: payment.currency,
22
- asset: payment.asset,
23
- env: payment.env,
24
- };
25
- // Only include optional fields if defined
26
- if (payment.network !== undefined) {
27
- result.network = payment.network;
28
- }
29
- if (payment.aggregator !== undefined) {
30
- result.aggregator = payment.aggregator;
31
- }
32
- if (payment.routing !== undefined) {
33
- result.routing = payment.routing;
34
- }
35
- return result;
36
- }
37
- /**
38
- * Normalize a control step.
39
- */
40
- function normalizeControlStep(step) {
41
- return {
42
- engine: step.engine,
43
- result: step.result,
44
- };
45
- }
46
- /**
47
- * Normalize a control block.
48
- */
49
- function normalizeControl(control) {
50
- return {
51
- chain: control.chain.map(normalizeControlStep),
52
- };
53
- }
54
- /**
55
- * Extract core claims from a receipt for comparison.
56
- *
57
- * This function produces a normalized object that can be JCS-canonicalized
58
- * to produce byte-identical output regardless of how the receipt was created
59
- * (via x402, TAP, RSL, ACP, or direct issuance).
60
- *
61
- * The output:
62
- * - Contains only semantically meaningful fields
63
- * - Omits undefined optional fields (not null, not empty string)
64
- * - Uses consistent field ordering (JCS handles this)
65
- * - Strips rail-specific evidence details
66
- *
67
- * @param claims - Receipt claims to normalize
68
- * @returns Normalized core claims
69
- *
70
- * @example
71
- * ```ts
72
- * import { toCoreClaims } from '@peac/schema';
73
- * import { canonicalize } from '@peac/crypto';
74
- *
75
- * const core = toCoreClaims(receiptClaims);
76
- * const canonical = canonicalize(core);
77
- * // canonical is byte-identical regardless of source
78
- * ```
79
- */
80
- function toCoreClaims(claims) {
81
- const result = {
82
- iss: claims.iss,
83
- aud: claims.aud,
84
- rid: claims.rid,
85
- iat: claims.iat,
86
- // Commerce fields (omitted for attestation receipts)
87
- ...(claims.amt !== undefined && { amt: claims.amt }),
88
- ...(claims.cur !== undefined && { cur: claims.cur }),
89
- ...(claims.payment !== undefined && { payment: normalizePayment(claims.payment) }),
90
- };
91
- // Only include optional fields if defined
92
- if (claims.exp !== undefined) {
93
- result.exp = claims.exp;
94
- }
95
- if (claims.subject !== undefined) {
96
- result.subject = { uri: claims.subject.uri };
97
- }
98
- if (claims.ext?.control !== undefined) {
99
- result.control = normalizeControl(claims.ext.control);
100
- }
101
- return result;
102
- }
103
- //# sourceMappingURL=normalize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA8IH,oCA0BC;AArGD;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,OAAwB;IAChD,MAAM,MAAM,GAAsB;QAChC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC;IAEF,0CAA0C;IAC1C,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACnC,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACnC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,IAAiB;IAC7C,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAqB;IAC7C,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,YAAY,CAAC,MAAyB;IACpD,MAAM,MAAM,GAAe;QACzB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,qDAAqD;QACrD,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;QACpD,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;QACpD,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;KACnF,CAAC;IAEF,0CAA0C;IAC1C,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IAC1B,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/C,CAAC;IAED,IAAI,MAAM,CAAC,GAAG,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,CAAC,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}