@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.
Files changed (52) hide show
  1. package/README.md +78 -5
  2. package/dist/commands/conformance.d.ts +16 -0
  3. package/dist/commands/conformance.d.ts.map +1 -0
  4. package/dist/commands/conformance.js +301 -0
  5. package/dist/commands/conformance.js.map +1 -0
  6. package/dist/commands/samples.d.ts +17 -0
  7. package/dist/commands/samples.d.ts.map +1 -0
  8. package/dist/commands/samples.js +360 -0
  9. package/dist/commands/samples.js.map +1 -0
  10. package/dist/commands/workflow.d.ts +11 -0
  11. package/dist/commands/workflow.d.ts.map +1 -0
  12. package/dist/commands/workflow.js +214 -0
  13. package/dist/commands/workflow.js.map +1 -0
  14. package/dist/index.js +34 -11
  15. package/dist/index.js.map +1 -1
  16. package/dist/lib/conformance/digest.d.ts +64 -0
  17. package/dist/lib/conformance/digest.d.ts.map +1 -0
  18. package/dist/lib/conformance/digest.js +202 -0
  19. package/dist/lib/conformance/digest.js.map +1 -0
  20. package/dist/lib/conformance/index.d.ts +11 -0
  21. package/dist/lib/conformance/index.d.ts.map +1 -0
  22. package/dist/lib/conformance/index.js +30 -0
  23. package/dist/lib/conformance/index.js.map +1 -0
  24. package/dist/lib/conformance/manifest.d.ts +15 -0
  25. package/dist/lib/conformance/manifest.d.ts.map +1 -0
  26. package/dist/lib/conformance/manifest.js +66 -0
  27. package/dist/lib/conformance/manifest.js.map +1 -0
  28. package/dist/lib/conformance/profiles.d.ts +33 -0
  29. package/dist/lib/conformance/profiles.d.ts.map +1 -0
  30. package/dist/lib/conformance/profiles.js +138 -0
  31. package/dist/lib/conformance/profiles.js.map +1 -0
  32. package/dist/lib/conformance/types.d.ts +186 -0
  33. package/dist/lib/conformance/types.d.ts.map +1 -0
  34. package/dist/lib/conformance/types.js +8 -0
  35. package/dist/lib/conformance/types.js.map +1 -0
  36. package/dist/lib/conformance/validators.d.ts +27 -0
  37. package/dist/lib/conformance/validators.d.ts.map +1 -0
  38. package/dist/lib/conformance/validators.js +415 -0
  39. package/dist/lib/conformance/validators.js.map +1 -0
  40. package/dist/lib/conformance-runner.d.ts +29 -0
  41. package/dist/lib/conformance-runner.d.ts.map +1 -0
  42. package/dist/lib/conformance-runner.js +433 -0
  43. package/dist/lib/conformance-runner.js.map +1 -0
  44. package/dist/lib/samples-loader.d.ts +44 -0
  45. package/dist/lib/samples-loader.d.ts.map +1 -0
  46. package/dist/lib/samples-loader.js +311 -0
  47. package/dist/lib/samples-loader.js.map +1 -0
  48. package/dist/lib/version.d.ts +22 -0
  49. package/dist/lib/version.d.ts.map +1 -0
  50. package/dist/lib/version.js +61 -0
  51. package/dist/lib/version.js.map +1 -0
  52. package/package.json +17 -8
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ /**
3
+ * Conformance Profile Capabilities
4
+ *
5
+ * Maps categories to their profile details for capabilities reporting.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.PROFILE_CAPABILITIES = void 0;
9
+ exports.getCategoryCapability = getCategoryCapability;
10
+ exports.getCategoryProfile = getCategoryProfile;
11
+ exports.shouldRunAtLevel = shouldRunAtLevel;
12
+ /**
13
+ * Profile capability registry
14
+ *
15
+ * Maps categories to their profile details including:
16
+ * - profile: The profile name for the report
17
+ * - level: 'semantic' for full validation, 'shape' for structural-only
18
+ * - validator: The validator used (for transparency)
19
+ * - notes: Any caveats about validation scope
20
+ */
21
+ exports.PROFILE_CAPABILITIES = {
22
+ valid: {
23
+ profile: 'receipt.verify.claims',
24
+ level: 'semantic',
25
+ validator: '@peac/schema:ReceiptClaimsSchema',
26
+ },
27
+ invalid: {
28
+ profile: 'receipt.verify.claims',
29
+ level: 'semantic',
30
+ validator: '@peac/schema:ReceiptClaimsSchema',
31
+ },
32
+ edge: {
33
+ profile: 'receipt.verify.claims',
34
+ level: 'semantic',
35
+ validator: '@peac/schema:ReceiptClaimsSchema',
36
+ },
37
+ 'agent-identity': {
38
+ profile: 'receipt.verify.agent-identity',
39
+ level: 'semantic',
40
+ validator: '@peac/schema:validateAgentIdentityAttestation',
41
+ },
42
+ attribution: {
43
+ profile: 'receipt.verify.attribution',
44
+ level: 'semantic',
45
+ validator: '@peac/schema:validateAttributionAttestation',
46
+ },
47
+ bundle: {
48
+ profile: 'bundle.shape',
49
+ level: 'shape',
50
+ validator: 'structural-check',
51
+ notes: 'Structure-only; no cryptographic integrity verification',
52
+ },
53
+ discovery: {
54
+ profile: 'discovery.config',
55
+ level: 'semantic',
56
+ validator: '@peac/disc:parse',
57
+ },
58
+ dispute: {
59
+ profile: 'receipt.verify.dispute',
60
+ level: 'semantic',
61
+ validator: '@peac/schema:validateDisputeAttestation',
62
+ },
63
+ interaction: {
64
+ profile: 'receipt.verify.interaction',
65
+ level: 'semantic',
66
+ validator: '@peac/schema:validateInteractionOrdered',
67
+ },
68
+ issue: {
69
+ profile: 'receipt.issue',
70
+ level: 'semantic',
71
+ validator: '@peac/schema:ReceiptClaimsSchema',
72
+ },
73
+ obligations: {
74
+ profile: 'receipt.verify.obligations',
75
+ level: 'semantic',
76
+ validator: '@peac/schema:validateObligationsExtension',
77
+ },
78
+ policy: {
79
+ profile: 'policy.evaluate',
80
+ level: 'shape',
81
+ validator: 'structural-check',
82
+ notes: 'Structure-only; no policy evaluation logic',
83
+ },
84
+ purpose: {
85
+ profile: 'receipt.verify.purpose',
86
+ level: 'semantic',
87
+ validator: '@peac/schema:isValidPurposeToken',
88
+ },
89
+ verifier: {
90
+ profile: 'receipt.verify',
91
+ level: 'semantic',
92
+ validator: '@peac/schema:ReceiptClaimsSchema',
93
+ },
94
+ workflow: {
95
+ profile: 'workflow.validate',
96
+ level: 'semantic',
97
+ validator: '@peac/schema:validateWorkflowContextOrdered',
98
+ },
99
+ x402: {
100
+ profile: 'transport.x402.shape',
101
+ level: 'shape',
102
+ validator: 'structural-check',
103
+ notes: 'Structure-only; no offer/receipt verification or term matching',
104
+ },
105
+ };
106
+ /**
107
+ * Get profile capability for a category
108
+ *
109
+ * For unknown categories, honestly reports that the default validator uses
110
+ * heuristic semantic receipt validation (ReceiptClaimsSchema) when input
111
+ * looks like claims. This prevents capability misrepresentation.
112
+ */
113
+ function getCategoryCapability(category) {
114
+ return (exports.PROFILE_CAPABILITIES[category] ?? {
115
+ profile: `receipt.verify.${category}`,
116
+ level: 'semantic',
117
+ validator: '@peac/schema:ReceiptClaimsSchema (heuristic)',
118
+ notes: 'Unknown category - uses semantic receipt validation when input looks like claims',
119
+ });
120
+ }
121
+ /**
122
+ * Get profile name based on category
123
+ */
124
+ function getCategoryProfile(category) {
125
+ return getCategoryCapability(category).profile;
126
+ }
127
+ /**
128
+ * Determine if a fixture should run at a given level
129
+ */
130
+ function shouldRunAtLevel(fixtureVersion, level) {
131
+ if (!fixtureVersion)
132
+ return true; // Default to basic
133
+ const [major, minor] = fixtureVersion.split('.').map(Number);
134
+ const fixtureLevel = major > 0 || minor >= 10 ? 'full' : minor >= 9 ? 'standard' : 'basic';
135
+ const levelOrder = ['basic', 'standard', 'full'];
136
+ return levelOrder.indexOf(fixtureLevel) <= levelOrder.indexOf(level);
137
+ }
138
+ //# sourceMappingURL=profiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../../src/lib/conformance/profiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Conformance Runner Types
3
+ *
4
+ * Shared type definitions for the conformance testing system.
5
+ */
6
+ /**
7
+ * Conformance level determines which fixtures are run
8
+ */
9
+ export type ConformanceLevel = 'basic' | 'standard' | 'full';
10
+ /**
11
+ * Test result status
12
+ */
13
+ export type TestStatus = 'pass' | 'fail' | 'skip';
14
+ /**
15
+ * Diagnostic information for a test result
16
+ */
17
+ export interface TestDiagnostics {
18
+ error_code?: string;
19
+ error_message?: string;
20
+ skip_reason?: string;
21
+ input_digest?: {
22
+ alg: string;
23
+ value: string;
24
+ };
25
+ warnings?: string[];
26
+ }
27
+ /**
28
+ * Per-test result conforming to peac-conformance-report/0.1
29
+ */
30
+ export interface TestResult {
31
+ id: string;
32
+ category: string;
33
+ status: TestStatus;
34
+ expected?: {
35
+ valid: boolean;
36
+ error_code?: string;
37
+ error_path?: string;
38
+ error_keyword?: string;
39
+ };
40
+ observed?: {
41
+ valid: boolean;
42
+ error_code?: string;
43
+ error_path?: string;
44
+ error_keyword?: string;
45
+ error_message?: string;
46
+ };
47
+ diagnostics?: TestDiagnostics;
48
+ }
49
+ /**
50
+ * Profile capability level
51
+ */
52
+ export type ProfileLevel = 'shape' | 'semantic';
53
+ /**
54
+ * Profile detail for capabilities reporting
55
+ */
56
+ export interface ProfileDetail {
57
+ profile: string;
58
+ level: ProfileLevel;
59
+ validator: string;
60
+ notes?: string;
61
+ }
62
+ /**
63
+ * Conformance report conforming to peac-conformance-report/0.1
64
+ */
65
+ export interface ConformanceReport {
66
+ report_version: 'peac-conformance-report/0.1';
67
+ suite: {
68
+ name: string;
69
+ version: string;
70
+ vectors_digest: {
71
+ alg: string;
72
+ value: string;
73
+ };
74
+ profiles: string[];
75
+ /** Detailed capability information for each profile */
76
+ capabilities?: ProfileDetail[];
77
+ };
78
+ implementation: {
79
+ name: string;
80
+ version: string;
81
+ runtime?: string;
82
+ commit?: string;
83
+ };
84
+ summary: {
85
+ passed: number;
86
+ failed: number;
87
+ skipped: number;
88
+ total: number;
89
+ status: 'pass' | 'fail';
90
+ };
91
+ results: TestResult[];
92
+ meta?: {
93
+ generated_at?: string;
94
+ runner?: {
95
+ name: string;
96
+ version: string;
97
+ git_sha?: string;
98
+ };
99
+ duration_ms?: number;
100
+ };
101
+ }
102
+ /**
103
+ * Runner options
104
+ */
105
+ export interface RunnerOptions {
106
+ fixturesDir: string;
107
+ level: ConformanceLevel;
108
+ category?: string;
109
+ implementationName?: string;
110
+ implementationVersion?: string;
111
+ }
112
+ /**
113
+ * Runner callback for progress reporting (pure runner, no console.log)
114
+ */
115
+ export interface RunnerCallbacks {
116
+ onTestStart?: (testId: string) => void;
117
+ onTestComplete?: (result: TestResult) => void;
118
+ }
119
+ /**
120
+ * Validation result from a category validator
121
+ */
122
+ export interface ValidationResult {
123
+ valid: boolean;
124
+ error_code?: string;
125
+ error_message?: string;
126
+ warnings?: string[];
127
+ }
128
+ /**
129
+ * Extended validation result with path information
130
+ */
131
+ export interface ValidationResultWithPath extends ValidationResult {
132
+ error_path?: string;
133
+ error_keyword?: string;
134
+ }
135
+ /**
136
+ * Fixture file structure (fixture pack format)
137
+ */
138
+ export interface FixturePack {
139
+ $schema?: string;
140
+ $comment?: string;
141
+ version: string;
142
+ fixtures: Array<{
143
+ name?: string;
144
+ description?: string;
145
+ type?: string;
146
+ input: unknown;
147
+ expected: {
148
+ valid: boolean;
149
+ error_code?: string;
150
+ error?: string;
151
+ };
152
+ }>;
153
+ }
154
+ /**
155
+ * Single fixture structure (valid/invalid/edge directories)
156
+ */
157
+ export interface SingleFixture {
158
+ $comment?: string;
159
+ header?: unknown;
160
+ payload?: unknown;
161
+ expected_valid?: boolean;
162
+ expected_error?: string;
163
+ }
164
+ /**
165
+ * Manifest entry for fixture metadata (from manifest.json)
166
+ */
167
+ export interface ManifestEntry {
168
+ description?: string;
169
+ expected_keyword?: string;
170
+ expected_path?: string;
171
+ expected_valid?: boolean;
172
+ expected_error_code?: string;
173
+ version?: string;
174
+ fixture_count?: number;
175
+ note?: string;
176
+ }
177
+ /**
178
+ * Manifest structure
179
+ */
180
+ export type Manifest = Record<string, Record<string, ManifestEntry>>;
181
+ /**
182
+ * Category validator function type
183
+ * Returns ValidationResultWithPath to include error_path and error_keyword
184
+ */
185
+ export type CategoryValidator = (input: unknown) => ValidationResultWithPath;
186
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/conformance/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,OAAO,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,OAAO,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,UAAU,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,6BAA6B,CAAC;IAC9C,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE;YACd,GAAG,EAAE,MAAM,CAAC;YACZ,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,uDAAuD;QACvD,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;KAChC,CAAC;IACF,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;KACzB,CAAC;IACF,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE;QACL,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE;YACP,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,gBAAgB;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,EAAE;YACR,KAAK,EAAE,OAAO,CAAC;YACf,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;AAErE;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,wBAAwB,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * Conformance Runner Types
4
+ *
5
+ * Shared type definitions for the conformance testing system.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/conformance/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Conformance Category Validators
3
+ *
4
+ * Category-aware validation using the same validators as tests/conformance/*.spec.ts.
5
+ */
6
+ import type { ValidationResultWithPath, CategoryValidator } from './types.js';
7
+ /**
8
+ * Validate receipt claims using Zod schema
9
+ */
10
+ export declare function validateReceiptPayload(payload: unknown): ValidationResultWithPath;
11
+ /**
12
+ * Validate receipt claims using unified parser (parse-level error codes).
13
+ *
14
+ * Separate from validateReceiptPayload which returns path-level codes.
15
+ * Use this for the `parse` conformance category where fixtures assert
16
+ * parse-level codes (E_PARSE_COMMERCE_INVALID, E_PARSE_ATTESTATION_INVALID).
17
+ */
18
+ export declare function validateParseReceiptClaims(payload: unknown): ValidationResultWithPath;
19
+ /**
20
+ * Category validator registry
21
+ */
22
+ export declare const CATEGORY_VALIDATORS: Record<string, CategoryValidator>;
23
+ /**
24
+ * Get validator for a category
25
+ */
26
+ export declare function getValidator(category: string): CategoryValidator;
27
+ //# sourceMappingURL=validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../../src/lib/conformance/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,OAAO,KAAK,EAAoB,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAqBhG;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,wBAAwB,CAgCjF;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,wBAAwB,CAUrF;AAySD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAuCjE,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAoBhE"}