@peac/schema 0.10.9 → 0.10.10
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 +1 -1
- package/dist/attestation-receipt.cjs +127 -0
- package/dist/attestation-receipt.cjs.map +1 -0
- package/dist/attestation-receipt.mjs +113 -0
- package/dist/attestation-receipt.mjs.map +1 -0
- package/dist/attribution.cjs +249 -0
- package/dist/attribution.cjs.map +1 -0
- package/dist/attribution.mjs +227 -0
- package/dist/attribution.mjs.map +1 -0
- package/dist/dispute.d.ts.map +1 -1
- package/dist/index.cjs +2818 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.mjs +2577 -0
- package/dist/index.mjs.map +1 -0
- package/dist/interaction.cjs +619 -0
- package/dist/interaction.cjs.map +1 -0
- package/dist/interaction.mjs +583 -0
- package/dist/interaction.mjs.map +1 -0
- package/dist/normalize.cjs +84 -0
- package/dist/normalize.cjs.map +1 -0
- package/dist/normalize.d.ts +15 -9
- package/dist/normalize.d.ts.map +1 -1
- package/dist/normalize.mjs +82 -0
- package/dist/normalize.mjs.map +1 -0
- package/dist/receipt-parser.cjs +333 -0
- package/dist/receipt-parser.cjs.map +1 -0
- package/dist/receipt-parser.mjs +331 -0
- package/dist/receipt-parser.mjs.map +1 -0
- package/dist/workflow.cjs +321 -0
- package/dist/workflow.cjs.map +1 -0
- package/dist/workflow.mjs +292 -0
- package/dist/workflow.mjs.map +1 -0
- package/package.json +50 -6
- package/dist/agent-identity.js +0 -357
- package/dist/agent-identity.js.map +0 -1
- package/dist/attestation-receipt.js +0 -249
- package/dist/attestation-receipt.js.map +0 -1
- package/dist/attribution.js +0 -444
- package/dist/attribution.js.map +0 -1
- package/dist/constants.js +0 -73
- package/dist/constants.js.map +0 -1
- package/dist/control.js +0 -9
- package/dist/control.js.map +0 -1
- package/dist/dispute.js +0 -832
- package/dist/dispute.js.map +0 -1
- package/dist/envelope.js +0 -9
- package/dist/envelope.js.map +0 -1
- package/dist/errors.js +0 -116
- package/dist/errors.js.map +0 -1
- package/dist/evidence.js +0 -8
- package/dist/evidence.js.map +0 -1
- package/dist/index.js +0 -283
- package/dist/index.js.map +0 -1
- package/dist/interaction.js +0 -918
- package/dist/interaction.js.map +0 -1
- package/dist/json.js +0 -267
- package/dist/json.js.map +0 -1
- package/dist/normalize.js +0 -103
- package/dist/normalize.js.map +0 -1
- package/dist/obligations.js +0 -337
- package/dist/obligations.js.map +0 -1
- package/dist/purpose.js +0 -296
- package/dist/purpose.js.map +0 -1
- package/dist/receipt-parser.js +0 -89
- package/dist/receipt-parser.js.map +0 -1
- package/dist/schemas.js +0 -7
- package/dist/schemas.js.map +0 -1
- package/dist/subject.js +0 -9
- package/dist/subject.js.map +0 -1
- package/dist/types.js +0 -6
- package/dist/types.js.map +0 -1
- package/dist/validators.js +0 -421
- package/dist/validators.js.map +0 -1
- package/dist/version.js +0 -7
- package/dist/version.js.map +0 -1
- package/dist/workflow.js +0 -523
- package/dist/workflow.js.map +0 -1
package/dist/interaction.js.map
DELETED
|
@@ -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
|
package/dist/normalize.js.map
DELETED
|
@@ -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"}
|