@peac/cli 0.10.0 → 0.10.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +78 -5
- package/dist/commands/conformance.d.ts +16 -0
- package/dist/commands/conformance.d.ts.map +1 -0
- package/dist/commands/conformance.js +301 -0
- package/dist/commands/conformance.js.map +1 -0
- package/dist/commands/samples.d.ts +17 -0
- package/dist/commands/samples.d.ts.map +1 -0
- package/dist/commands/samples.js +360 -0
- package/dist/commands/samples.js.map +1 -0
- package/dist/commands/workflow.d.ts +11 -0
- package/dist/commands/workflow.d.ts.map +1 -0
- package/dist/commands/workflow.js +214 -0
- package/dist/commands/workflow.js.map +1 -0
- package/dist/index.js +34 -11
- package/dist/index.js.map +1 -1
- package/dist/lib/conformance/digest.d.ts +64 -0
- package/dist/lib/conformance/digest.d.ts.map +1 -0
- package/dist/lib/conformance/digest.js +202 -0
- package/dist/lib/conformance/digest.js.map +1 -0
- package/dist/lib/conformance/index.d.ts +11 -0
- package/dist/lib/conformance/index.d.ts.map +1 -0
- package/dist/lib/conformance/index.js +30 -0
- package/dist/lib/conformance/index.js.map +1 -0
- package/dist/lib/conformance/manifest.d.ts +15 -0
- package/dist/lib/conformance/manifest.d.ts.map +1 -0
- package/dist/lib/conformance/manifest.js +66 -0
- package/dist/lib/conformance/manifest.js.map +1 -0
- package/dist/lib/conformance/profiles.d.ts +33 -0
- package/dist/lib/conformance/profiles.d.ts.map +1 -0
- package/dist/lib/conformance/profiles.js +138 -0
- package/dist/lib/conformance/profiles.js.map +1 -0
- package/dist/lib/conformance/types.d.ts +186 -0
- package/dist/lib/conformance/types.d.ts.map +1 -0
- package/dist/lib/conformance/types.js +8 -0
- package/dist/lib/conformance/types.js.map +1 -0
- package/dist/lib/conformance/validators.d.ts +27 -0
- package/dist/lib/conformance/validators.d.ts.map +1 -0
- package/dist/lib/conformance/validators.js +415 -0
- package/dist/lib/conformance/validators.js.map +1 -0
- package/dist/lib/conformance-runner.d.ts +29 -0
- package/dist/lib/conformance-runner.d.ts.map +1 -0
- package/dist/lib/conformance-runner.js +433 -0
- package/dist/lib/conformance-runner.js.map +1 -0
- package/dist/lib/samples-loader.d.ts +44 -0
- package/dist/lib/samples-loader.d.ts.map +1 -0
- package/dist/lib/samples-loader.js +311 -0
- package/dist/lib/samples-loader.js.map +1 -0
- package/dist/lib/version.d.ts +22 -0
- package/dist/lib/version.d.ts.map +1 -0
- package/dist/lib/version.js +61 -0
- package/dist/lib/version.js.map +1 -0
- package/package.json +17 -8
|
@@ -0,0 +1,415 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Conformance Category Validators
|
|
4
|
+
*
|
|
5
|
+
* Category-aware validation using the same validators as tests/conformance/*.spec.ts.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.CATEGORY_VALIDATORS = void 0;
|
|
9
|
+
exports.validateReceiptPayload = validateReceiptPayload;
|
|
10
|
+
exports.validateParseReceiptClaims = validateParseReceiptClaims;
|
|
11
|
+
exports.getValidator = getValidator;
|
|
12
|
+
const schema_1 = require("@peac/schema");
|
|
13
|
+
const disc_1 = require("@peac/disc");
|
|
14
|
+
const digest_js_1 = require("./digest.js");
|
|
15
|
+
/**
|
|
16
|
+
* Map Zod issue code to manifest keyword
|
|
17
|
+
*/
|
|
18
|
+
function zodCodeToKeyword(code) {
|
|
19
|
+
const mapping = {
|
|
20
|
+
invalid_type: 'type',
|
|
21
|
+
invalid_literal: 'const',
|
|
22
|
+
unrecognized_keys: 'additionalProperties',
|
|
23
|
+
invalid_union: 'anyOf',
|
|
24
|
+
invalid_enum_value: 'enum',
|
|
25
|
+
invalid_string: 'format',
|
|
26
|
+
too_small: 'minLength',
|
|
27
|
+
too_big: 'maxLength',
|
|
28
|
+
custom: 'custom',
|
|
29
|
+
};
|
|
30
|
+
return mapping[code] ?? code;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Validate receipt claims using Zod schema
|
|
34
|
+
*/
|
|
35
|
+
function validateReceiptPayload(payload) {
|
|
36
|
+
const result = schema_1.ReceiptClaimsSchema.safeParse(payload);
|
|
37
|
+
if (result.success) {
|
|
38
|
+
return { valid: true };
|
|
39
|
+
}
|
|
40
|
+
const firstIssue = result.error.issues[0];
|
|
41
|
+
const zodPath = firstIssue?.path ?? [];
|
|
42
|
+
const errorPath = (0, digest_js_1.zodPathToJsonPointer)(zodPath);
|
|
43
|
+
const errorKeyword = zodCodeToKeyword(firstIssue?.code ?? 'unknown');
|
|
44
|
+
// Map paths to canonical error codes
|
|
45
|
+
let errorCode = 'E_INVALID_FORMAT';
|
|
46
|
+
const pathStr = zodPath.join('.');
|
|
47
|
+
if (pathStr === 'iss' || pathStr.startsWith('iss.'))
|
|
48
|
+
errorCode = 'E_INVALID_ISSUER';
|
|
49
|
+
else if (pathStr === 'aud' || pathStr.startsWith('aud.'))
|
|
50
|
+
errorCode = 'E_INVALID_AUDIENCE';
|
|
51
|
+
else if (pathStr === 'iat')
|
|
52
|
+
errorCode = 'E_INVALID_IAT';
|
|
53
|
+
else if (pathStr === 'exp')
|
|
54
|
+
errorCode = 'E_INVALID_EXP';
|
|
55
|
+
else if (pathStr === 'rid')
|
|
56
|
+
errorCode = 'E_INVALID_RID';
|
|
57
|
+
else if (firstIssue?.code === 'invalid_type' && zodPath.length > 0) {
|
|
58
|
+
// For required fields, Zod reports invalid_type when field is undefined
|
|
59
|
+
errorCode = 'E_REQUIRED';
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
valid: false,
|
|
63
|
+
error_code: errorCode,
|
|
64
|
+
error_message: firstIssue?.message ?? 'Unknown validation error',
|
|
65
|
+
error_path: errorPath,
|
|
66
|
+
error_keyword: errorKeyword,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Validate receipt claims using unified parser (parse-level error codes).
|
|
71
|
+
*
|
|
72
|
+
* Separate from validateReceiptPayload which returns path-level codes.
|
|
73
|
+
* Use this for the `parse` conformance category where fixtures assert
|
|
74
|
+
* parse-level codes (E_PARSE_COMMERCE_INVALID, E_PARSE_ATTESTATION_INVALID).
|
|
75
|
+
*/
|
|
76
|
+
function validateParseReceiptClaims(payload) {
|
|
77
|
+
const pr = (0, schema_1.parseReceiptClaims)(payload);
|
|
78
|
+
if (pr.ok) {
|
|
79
|
+
return { valid: true };
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
valid: false,
|
|
83
|
+
error_code: pr.error.code,
|
|
84
|
+
error_message: pr.error.message,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Validate discovery document (peac.txt or peac-issuer.json)
|
|
89
|
+
*/
|
|
90
|
+
function validateDiscoveryInput(input) {
|
|
91
|
+
if (typeof input === 'string') {
|
|
92
|
+
// Parse as peac.txt format
|
|
93
|
+
const result = (0, disc_1.parse)(input);
|
|
94
|
+
if (result.valid) {
|
|
95
|
+
return { valid: true };
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
valid: false,
|
|
99
|
+
error_code: 'E_DISCOVERY_PARSE_ERROR',
|
|
100
|
+
error_message: result.errors?.join('; ') ?? 'Discovery parse error',
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
// JSON format - validate structure
|
|
104
|
+
if (typeof input === 'object' && input !== null) {
|
|
105
|
+
const obj = input;
|
|
106
|
+
if (!obj.issuer || typeof obj.issuer !== 'string') {
|
|
107
|
+
return {
|
|
108
|
+
valid: false,
|
|
109
|
+
error_code: 'E_MISSING_ISSUER',
|
|
110
|
+
error_message: 'Discovery document missing required issuer field',
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
if (!obj.jwks_uri || typeof obj.jwks_uri !== 'string') {
|
|
114
|
+
return {
|
|
115
|
+
valid: false,
|
|
116
|
+
error_code: 'E_MISSING_JWKS_URI',
|
|
117
|
+
error_message: 'Discovery document missing required jwks_uri field',
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
return { valid: true };
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
valid: false,
|
|
124
|
+
error_code: 'E_INVALID_DISCOVERY',
|
|
125
|
+
error_message: 'Discovery input must be string or object',
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Validate agent identity attestation
|
|
130
|
+
*/
|
|
131
|
+
function validateAgentIdentityInput(input) {
|
|
132
|
+
const result = (0, schema_1.validateAgentIdentityAttestation)(input);
|
|
133
|
+
if (result.ok) {
|
|
134
|
+
return { valid: true };
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
valid: false,
|
|
138
|
+
error_code: 'E_INVALID_AGENT_IDENTITY',
|
|
139
|
+
error_message: result.error,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Validate attribution attestation
|
|
144
|
+
*/
|
|
145
|
+
function validateAttributionInput(input) {
|
|
146
|
+
const result = (0, schema_1.validateAttributionAttestation)(input);
|
|
147
|
+
if (result.ok) {
|
|
148
|
+
return { valid: true };
|
|
149
|
+
}
|
|
150
|
+
return {
|
|
151
|
+
valid: false,
|
|
152
|
+
error_code: 'E_INVALID_ATTRIBUTION',
|
|
153
|
+
error_message: result.error,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Validate dispute attestation
|
|
158
|
+
*/
|
|
159
|
+
function validateDisputeInput(input) {
|
|
160
|
+
const result = (0, schema_1.validateDisputeAttestation)(input);
|
|
161
|
+
if (result.ok) {
|
|
162
|
+
return { valid: true };
|
|
163
|
+
}
|
|
164
|
+
return {
|
|
165
|
+
valid: false,
|
|
166
|
+
error_code: 'E_INVALID_DISPUTE',
|
|
167
|
+
error_message: result.error,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Validate interaction evidence
|
|
172
|
+
*/
|
|
173
|
+
function validateInteractionInput(input) {
|
|
174
|
+
const result = (0, schema_1.validateInteractionOrdered)(input);
|
|
175
|
+
if (result.valid) {
|
|
176
|
+
return {
|
|
177
|
+
valid: true,
|
|
178
|
+
warnings: result.warnings.map((w) => w.message),
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
// InteractionValidationResult has errors array when invalid
|
|
182
|
+
const firstError = result.errors[0];
|
|
183
|
+
return {
|
|
184
|
+
valid: false,
|
|
185
|
+
error_code: firstError?.code ?? 'E_INVALID_INTERACTION',
|
|
186
|
+
error_message: firstError?.message ?? 'Interaction validation failed',
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Validate workflow context
|
|
191
|
+
*/
|
|
192
|
+
function validateWorkflowInput(input) {
|
|
193
|
+
const result = (0, schema_1.validateWorkflowContextOrdered)(input);
|
|
194
|
+
if (result.valid) {
|
|
195
|
+
return { valid: true };
|
|
196
|
+
}
|
|
197
|
+
// WorkflowValidationResult has error_code and error when invalid
|
|
198
|
+
return {
|
|
199
|
+
valid: false,
|
|
200
|
+
error_code: result.error_code,
|
|
201
|
+
error_message: result.error,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Validate obligations extension
|
|
206
|
+
*/
|
|
207
|
+
function validateObligationsInput(input) {
|
|
208
|
+
const result = (0, schema_1.validateObligationsExtension)(input);
|
|
209
|
+
if (result.ok) {
|
|
210
|
+
return { valid: true };
|
|
211
|
+
}
|
|
212
|
+
return {
|
|
213
|
+
valid: false,
|
|
214
|
+
error_code: 'E_INVALID_OBLIGATIONS',
|
|
215
|
+
error_message: result.error,
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Validate purpose tokens
|
|
220
|
+
*/
|
|
221
|
+
function validatePurposeInput(input) {
|
|
222
|
+
if (typeof input === 'object' && input !== null) {
|
|
223
|
+
const obj = input;
|
|
224
|
+
// Check purpose_declared array
|
|
225
|
+
if (obj.purpose_declared && Array.isArray(obj.purpose_declared)) {
|
|
226
|
+
for (const p of obj.purpose_declared) {
|
|
227
|
+
if (typeof p === 'string' && !(0, schema_1.isValidPurposeToken)(p) && !(0, schema_1.isCanonicalPurpose)(p)) {
|
|
228
|
+
return {
|
|
229
|
+
valid: false,
|
|
230
|
+
error_code: 'E_INVALID_PURPOSE_TOKEN',
|
|
231
|
+
error_message: `Invalid purpose token: ${p}`,
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
// Check purpose_enforced
|
|
237
|
+
if (obj.purpose_enforced && typeof obj.purpose_enforced === 'string') {
|
|
238
|
+
if (!(0, schema_1.isValidPurposeToken)(obj.purpose_enforced) && !(0, schema_1.isCanonicalPurpose)(obj.purpose_enforced)) {
|
|
239
|
+
return {
|
|
240
|
+
valid: false,
|
|
241
|
+
error_code: 'E_INVALID_PURPOSE_ENFORCED',
|
|
242
|
+
error_message: `Invalid enforced purpose: ${obj.purpose_enforced}`,
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
return { valid: true };
|
|
247
|
+
}
|
|
248
|
+
return {
|
|
249
|
+
valid: false,
|
|
250
|
+
error_code: 'E_INVALID_PURPOSE',
|
|
251
|
+
error_message: 'Purpose input must be object with purpose_declared/purpose_enforced',
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Validate bundle (basic structure check - full verification requires async)
|
|
256
|
+
*/
|
|
257
|
+
function validateBundleInput(input) {
|
|
258
|
+
if (typeof input !== 'object' || input === null) {
|
|
259
|
+
return {
|
|
260
|
+
valid: false,
|
|
261
|
+
error_code: 'E_INVALID_BUNDLE',
|
|
262
|
+
error_message: 'Bundle must be an object',
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
const obj = input;
|
|
266
|
+
// Check required bundle fields
|
|
267
|
+
if (!obj.version || typeof obj.version !== 'string') {
|
|
268
|
+
return {
|
|
269
|
+
valid: false,
|
|
270
|
+
error_code: 'E_MISSING_VERSION',
|
|
271
|
+
error_message: 'Bundle missing required version field',
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
// Check for entries or receipts array
|
|
275
|
+
if (!Array.isArray(obj.entries) && !Array.isArray(obj.receipts)) {
|
|
276
|
+
return {
|
|
277
|
+
valid: false,
|
|
278
|
+
error_code: 'E_MISSING_ENTRIES',
|
|
279
|
+
error_message: 'Bundle missing entries or receipts array',
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
return { valid: true };
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Validate x402 offer/payment structures
|
|
286
|
+
*/
|
|
287
|
+
function validateX402Input(input) {
|
|
288
|
+
if (typeof input !== 'object' || input === null) {
|
|
289
|
+
return {
|
|
290
|
+
valid: false,
|
|
291
|
+
error_code: 'E_INVALID_X402',
|
|
292
|
+
error_message: 'x402 input must be an object',
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
const obj = input;
|
|
296
|
+
// Check for x402 payment required structure
|
|
297
|
+
if (obj.accepts && Array.isArray(obj.accepts)) {
|
|
298
|
+
// Validate accepts array contains payment options
|
|
299
|
+
for (const accept of obj.accepts) {
|
|
300
|
+
if (typeof accept !== 'object' || accept === null) {
|
|
301
|
+
return {
|
|
302
|
+
valid: false,
|
|
303
|
+
error_code: 'E_INVALID_ACCEPTS',
|
|
304
|
+
error_message: 'x402 accepts must contain payment option objects',
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return { valid: true };
|
|
309
|
+
}
|
|
310
|
+
// Check for x402 payment evidence structure
|
|
311
|
+
if (obj.rail && obj.reference) {
|
|
312
|
+
return { valid: true };
|
|
313
|
+
}
|
|
314
|
+
return {
|
|
315
|
+
valid: false,
|
|
316
|
+
error_code: 'E_INVALID_X402_STRUCTURE',
|
|
317
|
+
error_message: 'x402 input missing required fields (accepts or rail+reference)',
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Validate policy-related input
|
|
322
|
+
*/
|
|
323
|
+
function validatePolicyInput(input) {
|
|
324
|
+
if (typeof input !== 'object' || input === null) {
|
|
325
|
+
return {
|
|
326
|
+
valid: false,
|
|
327
|
+
error_code: 'E_INVALID_POLICY',
|
|
328
|
+
error_message: 'Policy input must be an object',
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
// Basic structure validation for policy
|
|
332
|
+
return { valid: true };
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Validate issue-related input (receipt issuance)
|
|
336
|
+
*/
|
|
337
|
+
function validateIssueInput(input) {
|
|
338
|
+
// Issue fixtures are typically receipt structures for issuance testing
|
|
339
|
+
if (typeof input === 'object' && input !== null) {
|
|
340
|
+
const obj = input;
|
|
341
|
+
// If it has claims, validate them
|
|
342
|
+
if (obj.claims) {
|
|
343
|
+
return validateReceiptPayload(obj.claims);
|
|
344
|
+
}
|
|
345
|
+
// If it has payload, validate it
|
|
346
|
+
if (obj.payload) {
|
|
347
|
+
return validateReceiptPayload(obj.payload);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
return { valid: true };
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Category validator registry
|
|
354
|
+
*/
|
|
355
|
+
exports.CATEGORY_VALIDATORS = {
|
|
356
|
+
// Receipt claim validation
|
|
357
|
+
valid: (input) => {
|
|
358
|
+
const obj = input;
|
|
359
|
+
return validateReceiptPayload(obj.payload ?? obj.claims ?? input);
|
|
360
|
+
},
|
|
361
|
+
invalid: (input) => {
|
|
362
|
+
const obj = input;
|
|
363
|
+
return validateReceiptPayload(obj.payload ?? obj.claims ?? input);
|
|
364
|
+
},
|
|
365
|
+
edge: (input) => {
|
|
366
|
+
const obj = input;
|
|
367
|
+
return validateReceiptPayload(obj.payload ?? obj.claims ?? input);
|
|
368
|
+
},
|
|
369
|
+
// Parse-level validation (unified parser, parse-level error codes).
|
|
370
|
+
// The claims/payload ambiguity guard lives in the runner (test-harness concern).
|
|
371
|
+
parse: (input) => {
|
|
372
|
+
const obj = input;
|
|
373
|
+
return validateParseReceiptClaims(obj.claims ?? obj.payload ?? input);
|
|
374
|
+
},
|
|
375
|
+
// Category-specific validators
|
|
376
|
+
'agent-identity': validateAgentIdentityInput,
|
|
377
|
+
attribution: validateAttributionInput,
|
|
378
|
+
bundle: validateBundleInput,
|
|
379
|
+
discovery: validateDiscoveryInput,
|
|
380
|
+
dispute: validateDisputeInput,
|
|
381
|
+
interaction: validateInteractionInput,
|
|
382
|
+
issue: validateIssueInput,
|
|
383
|
+
obligations: validateObligationsInput,
|
|
384
|
+
policy: validatePolicyInput,
|
|
385
|
+
purpose: validatePurposeInput,
|
|
386
|
+
verifier: (input) => {
|
|
387
|
+
const obj = input;
|
|
388
|
+
return validateReceiptPayload(obj.payload ?? obj.claims ?? input);
|
|
389
|
+
},
|
|
390
|
+
workflow: validateWorkflowInput,
|
|
391
|
+
x402: validateX402Input,
|
|
392
|
+
};
|
|
393
|
+
/**
|
|
394
|
+
* Get validator for a category
|
|
395
|
+
*/
|
|
396
|
+
function getValidator(category) {
|
|
397
|
+
return (exports.CATEGORY_VALIDATORS[category] ??
|
|
398
|
+
((input) => {
|
|
399
|
+
// Default: validate as receipt payload
|
|
400
|
+
// Input may be the raw fixture (with payload/claims wrapper) or the payload directly
|
|
401
|
+
if (typeof input === 'object' && input !== null) {
|
|
402
|
+
const obj = input;
|
|
403
|
+
// Check for wrapped payload/claims first
|
|
404
|
+
if (obj.payload || obj.claims) {
|
|
405
|
+
return validateReceiptPayload(obj.payload ?? obj.claims);
|
|
406
|
+
}
|
|
407
|
+
// Otherwise, if it looks like receipt claims (has standard fields), validate directly
|
|
408
|
+
if ('iss' in obj || 'aud' in obj || 'iat' in obj || 'rid' in obj) {
|
|
409
|
+
return validateReceiptPayload(input);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
return { valid: true };
|
|
413
|
+
}));
|
|
414
|
+
}
|
|
415
|
+
//# sourceMappingURL=validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/lib/conformance/validators.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PEAC Conformance Runner Library
|
|
3
|
+
*
|
|
4
|
+
* Category-aware validation using the same validators as tests/conformance/*.spec.ts:
|
|
5
|
+
* - Receipt validation via @peac/schema (ReceiptClaimsSchema)
|
|
6
|
+
* - Discovery validation via @peac/disc (parse, validate)
|
|
7
|
+
* - Bundle verification via @peac/audit (verifyBundleIntegrity)
|
|
8
|
+
* - Attestation validation via @peac/schema validators
|
|
9
|
+
* - Interaction/Workflow validation via ordered validators
|
|
10
|
+
*
|
|
11
|
+
* This is the CLI's thin wrapper around the conformance suite.
|
|
12
|
+
*/
|
|
13
|
+
export type { ConformanceLevel, TestStatus, TestDiagnostics, TestResult, ProfileLevel, ProfileDetail, ConformanceReport, RunnerOptions, RunnerCallbacks, FixturePack, SingleFixture, } from './conformance/types.js';
|
|
14
|
+
export { zodPathToJsonPointer } from './conformance/digest.js';
|
|
15
|
+
import type { ConformanceReport, RunnerOptions, RunnerCallbacks } from './conformance/types.js';
|
|
16
|
+
/**
|
|
17
|
+
* Run conformance tests and generate report
|
|
18
|
+
* Pure function - no console output, uses callbacks for progress
|
|
19
|
+
*/
|
|
20
|
+
export declare function runConformance(options: RunnerOptions, callbacks?: RunnerCallbacks): ConformanceReport;
|
|
21
|
+
/**
|
|
22
|
+
* Format report as text
|
|
23
|
+
*/
|
|
24
|
+
export declare function formatReportText(report: ConformanceReport): string;
|
|
25
|
+
/**
|
|
26
|
+
* Format report as markdown
|
|
27
|
+
*/
|
|
28
|
+
export declare function formatReportMarkdown(report: ConformanceReport): string;
|
|
29
|
+
//# sourceMappingURL=conformance-runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conformance-runner.d.ts","sourceRoot":"","sources":["../../src/lib/conformance-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,YAAY,EACV,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,UAAU,EACV,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,GACd,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,eAAe,EAMhB,MAAM,wBAAwB,CAAC;AAmBhC;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,aAAa,EACtB,SAAS,CAAC,EAAE,eAAe,GAC1B,iBAAiB,CA8TnB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAmClE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAwCtE"}
|