@peac/schema 0.10.7 → 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/dist/attestation-receipt.d.ts +204 -0
- package/dist/attestation-receipt.d.ts.map +1 -0
- package/dist/attestation-receipt.js +249 -0
- package/dist/attestation-receipt.js.map +1 -0
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -1
- package/dist/index.js.map +1 -1
- package/dist/normalize.d.ts +6 -6
- package/dist/normalize.d.ts.map +1 -1
- package/dist/normalize.js +4 -3
- package/dist/normalize.js.map +1 -1
- package/dist/receipt-parser.d.ts +68 -0
- package/dist/receipt-parser.d.ts.map +1 -0
- package/dist/receipt-parser.js +89 -0
- package/dist/receipt-parser.js.map +1 -0
- package/dist/validators.d.ts +12 -12
- package/package.json +2 -2
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PEAC Attestation Receipt Types (v0.10.8+)
|
|
3
|
+
*
|
|
4
|
+
* Attestation receipts are lightweight signed tokens that attest to API
|
|
5
|
+
* interactions WITHOUT payment fields. This is a distinct profile from
|
|
6
|
+
* full payment receipts (PEACReceiptClaims).
|
|
7
|
+
*
|
|
8
|
+
* Use cases:
|
|
9
|
+
* - API interaction logging with evidentiary value
|
|
10
|
+
* - Middleware-issued receipts for non-payment flows
|
|
11
|
+
* - Audit trails for agent/tool interactions
|
|
12
|
+
*
|
|
13
|
+
* Claims structure:
|
|
14
|
+
* - Core JWT claims: iss, aud, iat, exp
|
|
15
|
+
* - PEAC claims: rid (UUIDv7 receipt ID)
|
|
16
|
+
* - Optional: sub, ext (extensions including interaction binding)
|
|
17
|
+
*
|
|
18
|
+
* @see docs/specs/ATTESTATION-RECEIPTS.md
|
|
19
|
+
*/
|
|
20
|
+
import { z } from 'zod';
|
|
21
|
+
/**
|
|
22
|
+
* Attestation receipt type constant
|
|
23
|
+
*/
|
|
24
|
+
export declare const ATTESTATION_RECEIPT_TYPE: "peac/attestation-receipt";
|
|
25
|
+
/**
|
|
26
|
+
* Extension key for minimal interaction binding (middleware profile)
|
|
27
|
+
*
|
|
28
|
+
* This is a simplified binding used by middleware packages. For full
|
|
29
|
+
* interaction evidence, use INTERACTION_EXTENSION_KEY from ./interaction.ts
|
|
30
|
+
*/
|
|
31
|
+
export declare const MIDDLEWARE_INTERACTION_KEY = "org.peacprotocol/middleware-interaction@0.1";
|
|
32
|
+
/**
|
|
33
|
+
* Limits for attestation receipt fields (DoS protection)
|
|
34
|
+
*/
|
|
35
|
+
export declare const ATTESTATION_LIMITS: {
|
|
36
|
+
/** Maximum issuer URL length */
|
|
37
|
+
readonly maxIssuerLength: 2048;
|
|
38
|
+
/** Maximum audience URL length */
|
|
39
|
+
readonly maxAudienceLength: 2048;
|
|
40
|
+
/** Maximum subject length */
|
|
41
|
+
readonly maxSubjectLength: 256;
|
|
42
|
+
/** Maximum path length in interaction binding */
|
|
43
|
+
readonly maxPathLength: 2048;
|
|
44
|
+
/** Maximum method length */
|
|
45
|
+
readonly maxMethodLength: 16;
|
|
46
|
+
/** Maximum HTTP status code */
|
|
47
|
+
readonly maxStatusCode: 599;
|
|
48
|
+
/** Minimum HTTP status code */
|
|
49
|
+
readonly minStatusCode: 100;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Minimal interaction binding schema (for middleware use)
|
|
53
|
+
*
|
|
54
|
+
* This is a simplified version of full interaction evidence.
|
|
55
|
+
* Contains only: method, path, status.
|
|
56
|
+
*
|
|
57
|
+
* Privacy note: Query strings are excluded by default to avoid
|
|
58
|
+
* leaking sensitive data (API keys, tokens, PII in parameters).
|
|
59
|
+
*/
|
|
60
|
+
export declare const MinimalInteractionBindingSchema: z.ZodObject<{
|
|
61
|
+
/** HTTP method (uppercase, e.g., GET, POST) */
|
|
62
|
+
method: z.ZodEffects<z.ZodString, string, string>;
|
|
63
|
+
/** Request path (no query string by default) */
|
|
64
|
+
path: z.ZodString;
|
|
65
|
+
/** HTTP response status code */
|
|
66
|
+
status: z.ZodNumber;
|
|
67
|
+
}, "strict", z.ZodTypeAny, {
|
|
68
|
+
path: string;
|
|
69
|
+
status: number;
|
|
70
|
+
method: string;
|
|
71
|
+
}, {
|
|
72
|
+
path: string;
|
|
73
|
+
status: number;
|
|
74
|
+
method: string;
|
|
75
|
+
}>;
|
|
76
|
+
/**
|
|
77
|
+
* Attestation receipt extensions schema
|
|
78
|
+
*
|
|
79
|
+
* Allows interaction binding and other namespaced extensions.
|
|
80
|
+
*/
|
|
81
|
+
export declare const AttestationExtensionsSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
82
|
+
/**
|
|
83
|
+
* PEAC Attestation Receipt Claims schema
|
|
84
|
+
*
|
|
85
|
+
* This is the claims structure for attestation receipts - lightweight
|
|
86
|
+
* receipts without payment fields. For full payment receipts, use
|
|
87
|
+
* ReceiptClaimsSchema from ./validators.ts
|
|
88
|
+
*/
|
|
89
|
+
export declare const AttestationReceiptClaimsSchema: z.ZodObject<{
|
|
90
|
+
/** Issuer URL (normalized, no trailing slash) */
|
|
91
|
+
iss: z.ZodEffects<z.ZodString, string, string>;
|
|
92
|
+
/** Audience URL */
|
|
93
|
+
aud: z.ZodEffects<z.ZodString, string, string>;
|
|
94
|
+
/** Issued at (Unix seconds) */
|
|
95
|
+
iat: z.ZodNumber;
|
|
96
|
+
/** Expiration (Unix seconds) */
|
|
97
|
+
exp: z.ZodNumber;
|
|
98
|
+
/** Receipt ID (UUIDv7) */
|
|
99
|
+
rid: z.ZodString;
|
|
100
|
+
/** Subject identifier (optional) */
|
|
101
|
+
sub: z.ZodOptional<z.ZodString>;
|
|
102
|
+
/** Extensions (optional) */
|
|
103
|
+
ext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
104
|
+
}, "strict", z.ZodTypeAny, {
|
|
105
|
+
iss: string;
|
|
106
|
+
aud: string;
|
|
107
|
+
iat: number;
|
|
108
|
+
exp: number;
|
|
109
|
+
rid: string;
|
|
110
|
+
sub?: string | undefined;
|
|
111
|
+
ext?: Record<string, unknown> | undefined;
|
|
112
|
+
}, {
|
|
113
|
+
iss: string;
|
|
114
|
+
aud: string;
|
|
115
|
+
iat: number;
|
|
116
|
+
exp: number;
|
|
117
|
+
rid: string;
|
|
118
|
+
sub?: string | undefined;
|
|
119
|
+
ext?: Record<string, unknown> | undefined;
|
|
120
|
+
}>;
|
|
121
|
+
export type MinimalInteractionBinding = z.infer<typeof MinimalInteractionBindingSchema>;
|
|
122
|
+
export type AttestationExtensions = z.infer<typeof AttestationExtensionsSchema>;
|
|
123
|
+
export type AttestationReceiptClaims = z.infer<typeof AttestationReceiptClaimsSchema>;
|
|
124
|
+
/**
|
|
125
|
+
* Validation result type
|
|
126
|
+
*/
|
|
127
|
+
export interface AttestationValidationResult {
|
|
128
|
+
valid: boolean;
|
|
129
|
+
error_code?: string;
|
|
130
|
+
error_message?: string;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Validate attestation receipt claims
|
|
134
|
+
*
|
|
135
|
+
* @param input - Raw input to validate
|
|
136
|
+
* @returns Validation result
|
|
137
|
+
*/
|
|
138
|
+
export declare function validateAttestationReceiptClaims(input: unknown): AttestationValidationResult;
|
|
139
|
+
/**
|
|
140
|
+
* Check if an object is valid attestation receipt claims (non-throwing)
|
|
141
|
+
*
|
|
142
|
+
* @param claims - Object to check
|
|
143
|
+
* @returns True if valid AttestationReceiptClaims
|
|
144
|
+
*/
|
|
145
|
+
export declare function isAttestationReceiptClaims(claims: unknown): claims is AttestationReceiptClaims;
|
|
146
|
+
/**
|
|
147
|
+
* Validate minimal interaction binding
|
|
148
|
+
*
|
|
149
|
+
* @param input - Raw input to validate
|
|
150
|
+
* @returns Validation result
|
|
151
|
+
*/
|
|
152
|
+
export declare function validateMinimalInteractionBinding(input: unknown): AttestationValidationResult;
|
|
153
|
+
/**
|
|
154
|
+
* Check if an object is valid minimal interaction binding (non-throwing)
|
|
155
|
+
*
|
|
156
|
+
* @param binding - Object to check
|
|
157
|
+
* @returns True if valid MinimalInteractionBinding
|
|
158
|
+
*/
|
|
159
|
+
export declare function isMinimalInteractionBinding(binding: unknown): binding is MinimalInteractionBinding;
|
|
160
|
+
/**
|
|
161
|
+
* Parameters for creating attestation receipt claims
|
|
162
|
+
*/
|
|
163
|
+
export interface CreateAttestationReceiptParams {
|
|
164
|
+
/** Issuer URL (will be normalized) */
|
|
165
|
+
issuer: string;
|
|
166
|
+
/** Audience URL */
|
|
167
|
+
audience: string;
|
|
168
|
+
/** Receipt ID (UUIDv7) */
|
|
169
|
+
rid: string;
|
|
170
|
+
/** Subject identifier (optional) */
|
|
171
|
+
sub?: string;
|
|
172
|
+
/** Interaction binding (optional) */
|
|
173
|
+
interaction?: MinimalInteractionBinding;
|
|
174
|
+
/** Additional extensions (optional) */
|
|
175
|
+
extensions?: Record<string, unknown>;
|
|
176
|
+
/** Expiration in seconds from now (default: 300) */
|
|
177
|
+
expiresIn?: number;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Create validated attestation receipt claims
|
|
181
|
+
*
|
|
182
|
+
* @param params - Attestation receipt parameters
|
|
183
|
+
* @returns Validated AttestationReceiptClaims
|
|
184
|
+
* @throws ZodError if validation fails
|
|
185
|
+
*/
|
|
186
|
+
export declare function createAttestationReceiptClaims(params: CreateAttestationReceiptParams): AttestationReceiptClaims;
|
|
187
|
+
/**
|
|
188
|
+
* Check if claims are attestation-only (no payment fields)
|
|
189
|
+
*
|
|
190
|
+
* This helps discriminate between attestation receipts and
|
|
191
|
+
* full payment receipts at runtime.
|
|
192
|
+
*
|
|
193
|
+
* @param claims - Receipt claims to check
|
|
194
|
+
* @returns True if claims lack payment fields (amt, cur, payment)
|
|
195
|
+
*/
|
|
196
|
+
export declare function isAttestationOnly(claims: Record<string, unknown>): boolean;
|
|
197
|
+
/**
|
|
198
|
+
* Check if claims are payment receipt (has payment fields)
|
|
199
|
+
*
|
|
200
|
+
* @param claims - Receipt claims to check
|
|
201
|
+
* @returns True if claims have payment fields
|
|
202
|
+
*/
|
|
203
|
+
export declare function isPaymentReceipt(claims: Record<string, unknown>): boolean;
|
|
204
|
+
//# sourceMappingURL=attestation-receipt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attestation-receipt.d.ts","sourceRoot":"","sources":["../src/attestation-receipt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAG,0BAAmC,CAAC;AAE5E;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,gDAAgD,CAAC;AAExF;;GAEG;AACH,eAAO,MAAM,kBAAkB;IAC7B,gCAAgC;;IAEhC,kCAAkC;;IAElC,6BAA6B;;IAE7B,iDAAiD;;IAEjD,4BAA4B;;IAE5B,+BAA+B;;IAE/B,+BAA+B;;CAEvB,CAAC;AAyBX;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B;IAExC,+CAA+C;;IAM/C,gDAAgD;;IAEhD,gCAAgC;;;;;;;;;;EAOzB,CAAC;AAEZ;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,wCAAoC,CAAC;AAE7E;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B;IAEvC,iDAAiD;;IAEjD,mBAAmB;;IAEnB,+BAA+B;;IAE/B,gCAAgC;;IAEhC,0BAA0B;;IAE1B,oCAAoC;;IAEpC,4BAA4B;;;;;;;;;;;;;;;;;;EAGrB,CAAC;AAMZ,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACxF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAMtF;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,GAAG,2BAA2B,CAW5F;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,wBAAwB,CAE9F;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,GAAG,2BAA2B,CAW7F;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,GACf,OAAO,IAAI,yBAAyB,CAEtC;AAMD;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,8BAA8B,GACrC,wBAAwB,CA4B1B;AAMD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAE1E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAEzE"}
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* PEAC Attestation Receipt Types (v0.10.8+)
|
|
4
|
+
*
|
|
5
|
+
* Attestation receipts are lightweight signed tokens that attest to API
|
|
6
|
+
* interactions WITHOUT payment fields. This is a distinct profile from
|
|
7
|
+
* full payment receipts (PEACReceiptClaims).
|
|
8
|
+
*
|
|
9
|
+
* Use cases:
|
|
10
|
+
* - API interaction logging with evidentiary value
|
|
11
|
+
* - Middleware-issued receipts for non-payment flows
|
|
12
|
+
* - Audit trails for agent/tool interactions
|
|
13
|
+
*
|
|
14
|
+
* Claims structure:
|
|
15
|
+
* - Core JWT claims: iss, aud, iat, exp
|
|
16
|
+
* - PEAC claims: rid (UUIDv7 receipt ID)
|
|
17
|
+
* - Optional: sub, ext (extensions including interaction binding)
|
|
18
|
+
*
|
|
19
|
+
* @see docs/specs/ATTESTATION-RECEIPTS.md
|
|
20
|
+
*/
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.AttestationReceiptClaimsSchema = exports.AttestationExtensionsSchema = exports.MinimalInteractionBindingSchema = exports.ATTESTATION_LIMITS = exports.MIDDLEWARE_INTERACTION_KEY = exports.ATTESTATION_RECEIPT_TYPE = void 0;
|
|
23
|
+
exports.validateAttestationReceiptClaims = validateAttestationReceiptClaims;
|
|
24
|
+
exports.isAttestationReceiptClaims = isAttestationReceiptClaims;
|
|
25
|
+
exports.validateMinimalInteractionBinding = validateMinimalInteractionBinding;
|
|
26
|
+
exports.isMinimalInteractionBinding = isMinimalInteractionBinding;
|
|
27
|
+
exports.createAttestationReceiptClaims = createAttestationReceiptClaims;
|
|
28
|
+
exports.isAttestationOnly = isAttestationOnly;
|
|
29
|
+
exports.isPaymentReceipt = isPaymentReceipt;
|
|
30
|
+
const zod_1 = require("zod");
|
|
31
|
+
// ============================================================================
|
|
32
|
+
// Constants
|
|
33
|
+
// ============================================================================
|
|
34
|
+
/**
|
|
35
|
+
* Attestation receipt type constant
|
|
36
|
+
*/
|
|
37
|
+
exports.ATTESTATION_RECEIPT_TYPE = 'peac/attestation-receipt';
|
|
38
|
+
/**
|
|
39
|
+
* Extension key for minimal interaction binding (middleware profile)
|
|
40
|
+
*
|
|
41
|
+
* This is a simplified binding used by middleware packages. For full
|
|
42
|
+
* interaction evidence, use INTERACTION_EXTENSION_KEY from ./interaction.ts
|
|
43
|
+
*/
|
|
44
|
+
exports.MIDDLEWARE_INTERACTION_KEY = 'org.peacprotocol/middleware-interaction@0.1';
|
|
45
|
+
/**
|
|
46
|
+
* Limits for attestation receipt fields (DoS protection)
|
|
47
|
+
*/
|
|
48
|
+
exports.ATTESTATION_LIMITS = {
|
|
49
|
+
/** Maximum issuer URL length */
|
|
50
|
+
maxIssuerLength: 2048,
|
|
51
|
+
/** Maximum audience URL length */
|
|
52
|
+
maxAudienceLength: 2048,
|
|
53
|
+
/** Maximum subject length */
|
|
54
|
+
maxSubjectLength: 256,
|
|
55
|
+
/** Maximum path length in interaction binding */
|
|
56
|
+
maxPathLength: 2048,
|
|
57
|
+
/** Maximum method length */
|
|
58
|
+
maxMethodLength: 16,
|
|
59
|
+
/** Maximum HTTP status code */
|
|
60
|
+
maxStatusCode: 599,
|
|
61
|
+
/** Minimum HTTP status code */
|
|
62
|
+
minStatusCode: 100,
|
|
63
|
+
};
|
|
64
|
+
// ============================================================================
|
|
65
|
+
// Zod Schemas
|
|
66
|
+
// ============================================================================
|
|
67
|
+
/**
|
|
68
|
+
* HTTPS URL validation (reused from validators.ts pattern)
|
|
69
|
+
*/
|
|
70
|
+
const httpsUrl = zod_1.z
|
|
71
|
+
.string()
|
|
72
|
+
.url()
|
|
73
|
+
.max(exports.ATTESTATION_LIMITS.maxIssuerLength)
|
|
74
|
+
.refine((url) => url.startsWith('https://'), 'Must be HTTPS URL');
|
|
75
|
+
/**
|
|
76
|
+
* UUIDv7 format validation
|
|
77
|
+
*/
|
|
78
|
+
const uuidv7 = zod_1.z
|
|
79
|
+
.string()
|
|
80
|
+
.regex(/^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i, 'Must be UUIDv7 format');
|
|
81
|
+
/**
|
|
82
|
+
* Minimal interaction binding schema (for middleware use)
|
|
83
|
+
*
|
|
84
|
+
* This is a simplified version of full interaction evidence.
|
|
85
|
+
* Contains only: method, path, status.
|
|
86
|
+
*
|
|
87
|
+
* Privacy note: Query strings are excluded by default to avoid
|
|
88
|
+
* leaking sensitive data (API keys, tokens, PII in parameters).
|
|
89
|
+
*/
|
|
90
|
+
exports.MinimalInteractionBindingSchema = zod_1.z
|
|
91
|
+
.object({
|
|
92
|
+
/** HTTP method (uppercase, e.g., GET, POST) */
|
|
93
|
+
method: zod_1.z
|
|
94
|
+
.string()
|
|
95
|
+
.min(1)
|
|
96
|
+
.max(exports.ATTESTATION_LIMITS.maxMethodLength)
|
|
97
|
+
.transform((m) => m.toUpperCase()),
|
|
98
|
+
/** Request path (no query string by default) */
|
|
99
|
+
path: zod_1.z.string().min(1).max(exports.ATTESTATION_LIMITS.maxPathLength),
|
|
100
|
+
/** HTTP response status code */
|
|
101
|
+
status: zod_1.z
|
|
102
|
+
.number()
|
|
103
|
+
.int()
|
|
104
|
+
.min(exports.ATTESTATION_LIMITS.minStatusCode)
|
|
105
|
+
.max(exports.ATTESTATION_LIMITS.maxStatusCode),
|
|
106
|
+
})
|
|
107
|
+
.strict();
|
|
108
|
+
/**
|
|
109
|
+
* Attestation receipt extensions schema
|
|
110
|
+
*
|
|
111
|
+
* Allows interaction binding and other namespaced extensions.
|
|
112
|
+
*/
|
|
113
|
+
exports.AttestationExtensionsSchema = zod_1.z.record(zod_1.z.string(), zod_1.z.unknown());
|
|
114
|
+
/**
|
|
115
|
+
* PEAC Attestation Receipt Claims schema
|
|
116
|
+
*
|
|
117
|
+
* This is the claims structure for attestation receipts - lightweight
|
|
118
|
+
* receipts without payment fields. For full payment receipts, use
|
|
119
|
+
* ReceiptClaimsSchema from ./validators.ts
|
|
120
|
+
*/
|
|
121
|
+
exports.AttestationReceiptClaimsSchema = zod_1.z
|
|
122
|
+
.object({
|
|
123
|
+
/** Issuer URL (normalized, no trailing slash) */
|
|
124
|
+
iss: httpsUrl,
|
|
125
|
+
/** Audience URL */
|
|
126
|
+
aud: httpsUrl,
|
|
127
|
+
/** Issued at (Unix seconds) */
|
|
128
|
+
iat: zod_1.z.number().int().nonnegative(),
|
|
129
|
+
/** Expiration (Unix seconds) */
|
|
130
|
+
exp: zod_1.z.number().int().nonnegative(),
|
|
131
|
+
/** Receipt ID (UUIDv7) */
|
|
132
|
+
rid: uuidv7,
|
|
133
|
+
/** Subject identifier (optional) */
|
|
134
|
+
sub: zod_1.z.string().max(exports.ATTESTATION_LIMITS.maxSubjectLength).optional(),
|
|
135
|
+
/** Extensions (optional) */
|
|
136
|
+
ext: exports.AttestationExtensionsSchema.optional(),
|
|
137
|
+
})
|
|
138
|
+
.strict();
|
|
139
|
+
/**
|
|
140
|
+
* Validate attestation receipt claims
|
|
141
|
+
*
|
|
142
|
+
* @param input - Raw input to validate
|
|
143
|
+
* @returns Validation result
|
|
144
|
+
*/
|
|
145
|
+
function validateAttestationReceiptClaims(input) {
|
|
146
|
+
const result = exports.AttestationReceiptClaimsSchema.safeParse(input);
|
|
147
|
+
if (result.success) {
|
|
148
|
+
return { valid: true };
|
|
149
|
+
}
|
|
150
|
+
const firstIssue = result.error.issues[0];
|
|
151
|
+
return {
|
|
152
|
+
valid: false,
|
|
153
|
+
error_code: 'E_ATTESTATION_INVALID_CLAIMS',
|
|
154
|
+
error_message: firstIssue?.message || 'Invalid attestation receipt claims',
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Check if an object is valid attestation receipt claims (non-throwing)
|
|
159
|
+
*
|
|
160
|
+
* @param claims - Object to check
|
|
161
|
+
* @returns True if valid AttestationReceiptClaims
|
|
162
|
+
*/
|
|
163
|
+
function isAttestationReceiptClaims(claims) {
|
|
164
|
+
return exports.AttestationReceiptClaimsSchema.safeParse(claims).success;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Validate minimal interaction binding
|
|
168
|
+
*
|
|
169
|
+
* @param input - Raw input to validate
|
|
170
|
+
* @returns Validation result
|
|
171
|
+
*/
|
|
172
|
+
function validateMinimalInteractionBinding(input) {
|
|
173
|
+
const result = exports.MinimalInteractionBindingSchema.safeParse(input);
|
|
174
|
+
if (result.success) {
|
|
175
|
+
return { valid: true };
|
|
176
|
+
}
|
|
177
|
+
const firstIssue = result.error.issues[0];
|
|
178
|
+
return {
|
|
179
|
+
valid: false,
|
|
180
|
+
error_code: 'E_ATTESTATION_INVALID_INTERACTION',
|
|
181
|
+
error_message: firstIssue?.message || 'Invalid interaction binding',
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Check if an object is valid minimal interaction binding (non-throwing)
|
|
186
|
+
*
|
|
187
|
+
* @param binding - Object to check
|
|
188
|
+
* @returns True if valid MinimalInteractionBinding
|
|
189
|
+
*/
|
|
190
|
+
function isMinimalInteractionBinding(binding) {
|
|
191
|
+
return exports.MinimalInteractionBindingSchema.safeParse(binding).success;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Create validated attestation receipt claims
|
|
195
|
+
*
|
|
196
|
+
* @param params - Attestation receipt parameters
|
|
197
|
+
* @returns Validated AttestationReceiptClaims
|
|
198
|
+
* @throws ZodError if validation fails
|
|
199
|
+
*/
|
|
200
|
+
function createAttestationReceiptClaims(params) {
|
|
201
|
+
const now = Math.floor(Date.now() / 1000);
|
|
202
|
+
const expiresIn = params.expiresIn ?? 300;
|
|
203
|
+
// Normalize issuer (remove trailing slashes)
|
|
204
|
+
// Using explicit loop instead of regex to avoid ReDoS with quantifiers
|
|
205
|
+
let normalizedIssuer = params.issuer;
|
|
206
|
+
while (normalizedIssuer.endsWith('/')) {
|
|
207
|
+
normalizedIssuer = normalizedIssuer.slice(0, -1);
|
|
208
|
+
}
|
|
209
|
+
// Build extensions
|
|
210
|
+
const ext = { ...params.extensions };
|
|
211
|
+
if (params.interaction) {
|
|
212
|
+
ext[exports.MIDDLEWARE_INTERACTION_KEY] = params.interaction;
|
|
213
|
+
}
|
|
214
|
+
const claims = {
|
|
215
|
+
iss: normalizedIssuer,
|
|
216
|
+
aud: params.audience,
|
|
217
|
+
iat: now,
|
|
218
|
+
exp: now + expiresIn,
|
|
219
|
+
rid: params.rid,
|
|
220
|
+
...(params.sub && { sub: params.sub }),
|
|
221
|
+
...(Object.keys(ext).length > 0 && { ext }),
|
|
222
|
+
};
|
|
223
|
+
return exports.AttestationReceiptClaimsSchema.parse(claims);
|
|
224
|
+
}
|
|
225
|
+
// ============================================================================
|
|
226
|
+
// Type Guard for Receipt Profile Discrimination
|
|
227
|
+
// ============================================================================
|
|
228
|
+
/**
|
|
229
|
+
* Check if claims are attestation-only (no payment fields)
|
|
230
|
+
*
|
|
231
|
+
* This helps discriminate between attestation receipts and
|
|
232
|
+
* full payment receipts at runtime.
|
|
233
|
+
*
|
|
234
|
+
* @param claims - Receipt claims to check
|
|
235
|
+
* @returns True if claims lack payment fields (amt, cur, payment)
|
|
236
|
+
*/
|
|
237
|
+
function isAttestationOnly(claims) {
|
|
238
|
+
return !('amt' in claims) && !('cur' in claims) && !('payment' in claims);
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Check if claims are payment receipt (has payment fields)
|
|
242
|
+
*
|
|
243
|
+
* @param claims - Receipt claims to check
|
|
244
|
+
* @returns True if claims have payment fields
|
|
245
|
+
*/
|
|
246
|
+
function isPaymentReceipt(claims) {
|
|
247
|
+
return 'amt' in claims && 'cur' in claims && 'payment' in claims;
|
|
248
|
+
}
|
|
249
|
+
//# sourceMappingURL=attestation-receipt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attestation-receipt.js","sourceRoot":"","sources":["../src/attestation-receipt.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export type { ErrorCategory };
|
|
|
10
10
|
* @deprecated Use ERROR_CATEGORIES from @peac/kernel instead.
|
|
11
11
|
* Re-exported for backwards compatibility.
|
|
12
12
|
*/
|
|
13
|
-
export declare const ERROR_CATEGORIES_CANONICAL: readonly ["attribution", "bundle", "control", "dispute", "identity", "infrastructure", "interaction", "ucp", "validation", "verification", "workflow"];
|
|
13
|
+
export declare const ERROR_CATEGORIES_CANONICAL: readonly ["attribution", "bundle", "control", "dispute", "identity", "infrastructure", "interaction", "ucp", "validation", "verification", "verifier", "workflow"];
|
|
14
14
|
/**
|
|
15
15
|
* Error severity
|
|
16
16
|
*/
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B;;;GAGG;AACH,eAAO,MAAM,0BAA0B,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B;;;GAGG;AACH,eAAO,MAAM,0BAA0B,oKAAmB,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS;IACxB;;;;;;;;;;;OAWG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,QAAQ,EAAE,aAAa,CAAC;IAExB;;;;;OAKG;IACH,QAAQ,EAAE,aAAa,CAAC;IAExB;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;CAiCd,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEvE;;GAEG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,SAAS,CAQX;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,SAAS,CAQjG;AAMD;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAO7E;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,aAAa,GAAG,kBAAkB,GAAG,OAAO,GACnD,SAAS,CAYX"}
|
package/dist/index.d.ts
CHANGED
|
@@ -32,4 +32,8 @@ export type { DigestAlg, Digest, PayloadRef, Executor, ToolTarget, ResourceTarge
|
|
|
32
32
|
export { CreditMethodSchema, ContributionTypeSchema, CreditObligationSchema, ContributionObligationSchema, ObligationsExtensionSchema, OBLIGATIONS_EXTENSION_KEY, CREDIT_METHODS, CONTRIBUTION_TYPES, validateCreditObligation, validateContributionObligation, validateObligationsExtension, extractObligationsExtension, isCreditRequired, isContributionRequired, createCreditObligation, createContributionObligation, createObligationsExtension, } from './obligations';
|
|
33
33
|
export type { CreditMethod, ContributionType, CreditObligation, ContributionObligation, ObligationsExtension, } from './obligations';
|
|
34
34
|
export type { PEACEnvelope, AuthContext, EvidenceBlock, MetadataBlock, EnforcementContext, TransportBinding, ContextMetadata, } from './envelope';
|
|
35
|
+
export { MinimalInteractionBindingSchema, AttestationExtensionsSchema, AttestationReceiptClaimsSchema, ATTESTATION_RECEIPT_TYPE, MIDDLEWARE_INTERACTION_KEY, ATTESTATION_LIMITS, validateAttestationReceiptClaims, isAttestationReceiptClaims, validateMinimalInteractionBinding, isMinimalInteractionBinding, createAttestationReceiptClaims, isAttestationOnly, isPaymentReceipt, } from './attestation-receipt';
|
|
36
|
+
export type { MinimalInteractionBinding, AttestationExtensions, AttestationReceiptClaims, AttestationValidationResult, CreateAttestationReceiptParams, } from './attestation-receipt';
|
|
37
|
+
export { parseReceiptClaims } from './receipt-parser';
|
|
38
|
+
export type { ParseReceiptResult, ParseSuccess, ParseFailure, PEACParseError, ReceiptVariant, ParseReceiptOptions, } from './receipt-parser';
|
|
35
39
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -21,7 +21,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
21
21
|
exports.HashAlgorithmSchema = exports.isAttestationNotYetValid = exports.isAttestationExpired = exports.validateIdentityBinding = exports.createAgentIdentityAttestation = exports.isAgentIdentityAttestation = exports.validateAgentIdentityAttestation = exports.PROOF_METHODS = exports.CONTROL_TYPES = exports.AGENT_IDENTITY_TYPE = exports.AgentIdentityVerifiedSchema = exports.IdentityBindingSchema = exports.AgentIdentityAttestationSchema = exports.AgentIdentityEvidenceSchema = exports.AgentProofSchema = exports.BindingDetailsSchema = exports.ProofMethodSchema = exports.ControlTypeSchema = exports.validateEvidence = exports.validateSubjectSnapshot = exports.PurposeReasonSchema = exports.CanonicalPurposeSchema = exports.PurposeTokenSchema = exports.ExtensionsSchema = exports.AttestationSchema = exports.SubjectProfileSnapshotSchema = exports.SubjectProfileSchema = exports.SubjectTypeSchema = exports.PaymentRoutingSchema = exports.PaymentEvidenceSchema = exports.PaymentSplitSchema = exports.ControlBlockSchema = exports.ControlStepSchema = exports.ControlDecisionSchema = exports.ControlLicensingModeSchema = exports.ControlPurposeSchema = exports.VerifyRequestSchema = exports.AIPREFSnapshotSchema = exports.SubjectSchema = exports.ReceiptClaims = exports.ReceiptClaimsSchema = exports.JWSHeader = exports.Extensions = exports.NormalizedPayment = exports.assertJsonSafeIterative = exports.JSON_EVIDENCE_LIMITS = exports.JsonArraySchema = exports.JsonObjectSchema = exports.JsonValueSchema = exports.JsonPrimitiveSchema = void 0;
|
|
22
22
|
exports.validateDisputeContact = exports.validateDisputeResolution = exports.isDisputeAttestation = exports.isValidDisputeAttestation = exports.validateDisputeAttestation = exports.REMEDIATION_TYPES = exports.DISPUTE_OUTCOMES = exports.DISPUTE_TRANSITIONS = exports.TERMINAL_STATES = exports.DISPUTE_STATES = exports.DISPUTE_GROUNDS_CODES = exports.DISPUTE_TARGET_TYPES = exports.DISPUTE_TYPES = exports.DISPUTE_LIMITS = exports.DISPUTE_TYPE = exports.DisputeAttestationSchema = exports.DisputeEvidenceSchema = exports.DocumentRefSchema = exports.DisputeContactSchema = exports.ContactMethodSchema = exports.DisputeResolutionSchema = exports.RemediationSchema = exports.RemediationTypeSchema = exports.DisputeOutcomeSchema = exports.DisputeStateSchema = exports.DisputeGroundsSchema = exports.DisputeGroundsCodeSchema = exports.DisputeTargetTypeSchema = exports.DisputeTypeSchema = exports.DisputeIdSchema = exports.detectCycleInSources = exports.computeTotalWeight = exports.isAttributionNotYetValid = exports.isAttributionExpired = exports.createAttributionAttestation = exports.isAttributionAttestation = exports.validateAttributionAttestation = exports.validateAttributionSource = exports.validateContentHash = exports.DERIVATION_TYPES = exports.ATTRIBUTION_USAGES = exports.ATTRIBUTION_LIMITS = exports.ATTRIBUTION_TYPE = exports.AttributionAttestationSchema = exports.AttributionEvidenceSchema = exports.AttributionSourceSchema = exports.DerivationTypeSchema = exports.AttributionUsageSchema = exports.ContentHashSchema = exports.HashEncodingSchema = void 0;
|
|
23
23
|
exports.POLICY_DECISIONS = exports.REDACTION_MODES = exports.RESULT_STATUSES = exports.DIGEST_SIZE_CONSTANTS = exports.CANONICAL_DIGEST_ALGS = exports.INTERACTION_EXTENSION_KEY = exports.InteractionEvidenceV01Schema = exports.KindSchema = exports.RefsSchema = exports.PolicyContextSchema = exports.ResultSchema = exports.ResourceTargetSchema = exports.ToolTargetSchema = exports.ExecutorSchema = exports.PayloadRefSchema = exports.DigestSchema = exports.DigestAlgSchema = exports.createWorkflowSummaryAttestation = exports.createWorkflowContext = exports.hasValidDagSemantics = exports.isTerminalWorkflowStatus = exports.isWorkflowSummaryAttestation = exports.validateWorkflowSummaryAttestation = exports.isValidWorkflowContext = exports.validateWorkflowContextOrdered = exports.validateWorkflowContext = exports.createStepId = exports.createWorkflowId = exports.STEP_ID_PATTERN = exports.WORKFLOW_ID_PATTERN = exports.WORKFLOW_LIMITS = exports.ORCHESTRATION_FRAMEWORKS = exports.WORKFLOW_STATUSES = exports.WORKFLOW_SUMMARY_TYPE = exports.WORKFLOW_EXTENSION_KEY = exports.WorkflowSummaryAttestationSchema = exports.WorkflowSummaryEvidenceSchema = exports.WorkflowErrorContextSchema = exports.WorkflowContextSchema = exports.OrchestrationFrameworkSchema = exports.WorkflowStatusSchema = exports.StepIdSchema = exports.WorkflowIdSchema = exports.isDisputeNotYetValid = exports.isDisputeExpired = exports.getValidTransitions = exports.isTerminalState = exports.canTransitionTo = exports.transitionDisputeState = exports.createDisputeAttestation = void 0;
|
|
24
|
-
exports.createObligationsExtension = exports.createContributionObligation = exports.createCreditObligation = exports.isContributionRequired = exports.isCreditRequired = exports.extractObligationsExtension = exports.validateObligationsExtension = exports.validateContributionObligation = exports.validateCreditObligation = exports.CONTRIBUTION_TYPES = exports.CREDIT_METHODS = exports.OBLIGATIONS_EXTENSION_KEY = exports.ObligationsExtensionSchema = exports.ContributionObligationSchema = exports.CreditObligationSchema = exports.ContributionTypeSchema = exports.CreditMethodSchema = exports.createInteractionEvidence = exports.createReceiptView = exports.hasInteraction = exports.setInteraction = exports.getInteraction = exports.isDigestTruncated = exports.isReservedKindPrefix = exports.isWellKnownKind = exports.isValidInteractionEvidence = exports.validateInteractionEvidence = exports.validateInteractionOrdered = exports.validateInteraction = exports.DIGEST_VALUE_PATTERN = exports.EXTENSION_KEY_PATTERN = exports.KIND_FORMAT_PATTERN = exports.INTERACTION_LIMITS = exports.RESERVED_KIND_PREFIXES = exports.WELL_KNOWN_KINDS = void 0;
|
|
24
|
+
exports.parseReceiptClaims = exports.isPaymentReceipt = exports.isAttestationOnly = exports.createAttestationReceiptClaims = exports.isMinimalInteractionBinding = exports.validateMinimalInteractionBinding = exports.isAttestationReceiptClaims = exports.validateAttestationReceiptClaims = exports.ATTESTATION_LIMITS = exports.MIDDLEWARE_INTERACTION_KEY = exports.ATTESTATION_RECEIPT_TYPE = exports.AttestationReceiptClaimsSchema = exports.AttestationExtensionsSchema = exports.MinimalInteractionBindingSchema = exports.createObligationsExtension = exports.createContributionObligation = exports.createCreditObligation = exports.isContributionRequired = exports.isCreditRequired = exports.extractObligationsExtension = exports.validateObligationsExtension = exports.validateContributionObligation = exports.validateCreditObligation = exports.CONTRIBUTION_TYPES = exports.CREDIT_METHODS = exports.OBLIGATIONS_EXTENSION_KEY = exports.ObligationsExtensionSchema = exports.ContributionObligationSchema = exports.CreditObligationSchema = exports.ContributionTypeSchema = exports.CreditMethodSchema = exports.createInteractionEvidence = exports.createReceiptView = exports.hasInteraction = exports.setInteraction = exports.getInteraction = exports.isDigestTruncated = exports.isReservedKindPrefix = exports.isWellKnownKind = exports.isValidInteractionEvidence = exports.validateInteractionEvidence = exports.validateInteractionOrdered = exports.validateInteraction = exports.DIGEST_VALUE_PATTERN = exports.EXTENSION_KEY_PATTERN = exports.KIND_FORMAT_PATTERN = exports.INTERACTION_LIMITS = exports.RESERVED_KIND_PREFIXES = exports.WELL_KNOWN_KINDS = void 0;
|
|
25
25
|
// Core envelope and types
|
|
26
26
|
__exportStar(require("./envelope"), exports);
|
|
27
27
|
__exportStar(require("./control"), exports);
|
|
@@ -260,4 +260,24 @@ Object.defineProperty(exports, "isContributionRequired", { enumerable: true, get
|
|
|
260
260
|
Object.defineProperty(exports, "createCreditObligation", { enumerable: true, get: function () { return obligations_1.createCreditObligation; } });
|
|
261
261
|
Object.defineProperty(exports, "createContributionObligation", { enumerable: true, get: function () { return obligations_1.createContributionObligation; } });
|
|
262
262
|
Object.defineProperty(exports, "createObligationsExtension", { enumerable: true, get: function () { return obligations_1.createObligationsExtension; } });
|
|
263
|
+
// Attestation receipt types (v0.10.8+ middleware profile)
|
|
264
|
+
var attestation_receipt_1 = require("./attestation-receipt");
|
|
265
|
+
Object.defineProperty(exports, "MinimalInteractionBindingSchema", { enumerable: true, get: function () { return attestation_receipt_1.MinimalInteractionBindingSchema; } });
|
|
266
|
+
Object.defineProperty(exports, "AttestationExtensionsSchema", { enumerable: true, get: function () { return attestation_receipt_1.AttestationExtensionsSchema; } });
|
|
267
|
+
Object.defineProperty(exports, "AttestationReceiptClaimsSchema", { enumerable: true, get: function () { return attestation_receipt_1.AttestationReceiptClaimsSchema; } });
|
|
268
|
+
// Constants
|
|
269
|
+
Object.defineProperty(exports, "ATTESTATION_RECEIPT_TYPE", { enumerable: true, get: function () { return attestation_receipt_1.ATTESTATION_RECEIPT_TYPE; } });
|
|
270
|
+
Object.defineProperty(exports, "MIDDLEWARE_INTERACTION_KEY", { enumerable: true, get: function () { return attestation_receipt_1.MIDDLEWARE_INTERACTION_KEY; } });
|
|
271
|
+
Object.defineProperty(exports, "ATTESTATION_LIMITS", { enumerable: true, get: function () { return attestation_receipt_1.ATTESTATION_LIMITS; } });
|
|
272
|
+
// Helpers
|
|
273
|
+
Object.defineProperty(exports, "validateAttestationReceiptClaims", { enumerable: true, get: function () { return attestation_receipt_1.validateAttestationReceiptClaims; } });
|
|
274
|
+
Object.defineProperty(exports, "isAttestationReceiptClaims", { enumerable: true, get: function () { return attestation_receipt_1.isAttestationReceiptClaims; } });
|
|
275
|
+
Object.defineProperty(exports, "validateMinimalInteractionBinding", { enumerable: true, get: function () { return attestation_receipt_1.validateMinimalInteractionBinding; } });
|
|
276
|
+
Object.defineProperty(exports, "isMinimalInteractionBinding", { enumerable: true, get: function () { return attestation_receipt_1.isMinimalInteractionBinding; } });
|
|
277
|
+
Object.defineProperty(exports, "createAttestationReceiptClaims", { enumerable: true, get: function () { return attestation_receipt_1.createAttestationReceiptClaims; } });
|
|
278
|
+
Object.defineProperty(exports, "isAttestationOnly", { enumerable: true, get: function () { return attestation_receipt_1.isAttestationOnly; } });
|
|
279
|
+
Object.defineProperty(exports, "isPaymentReceipt", { enumerable: true, get: function () { return attestation_receipt_1.isPaymentReceipt; } });
|
|
280
|
+
// Unified receipt parser (v0.10.9+)
|
|
281
|
+
var receipt_parser_1 = require("./receipt-parser");
|
|
282
|
+
Object.defineProperty(exports, "parseReceiptClaims", { enumerable: true, get: function () { return receipt_parser_1.parseReceiptClaims; } });
|
|
263
283
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/normalize.d.ts
CHANGED
|
@@ -22,12 +22,12 @@ export interface CoreClaims {
|
|
|
22
22
|
iat: number;
|
|
23
23
|
/** Expiry timestamp (omitted if not present) */
|
|
24
24
|
exp?: number;
|
|
25
|
-
/** Amount in smallest currency unit */
|
|
26
|
-
amt
|
|
27
|
-
/** Currency code (ISO 4217) */
|
|
28
|
-
cur
|
|
29
|
-
/** Normalized payment evidence */
|
|
30
|
-
payment
|
|
25
|
+
/** Amount in smallest currency unit (commerce receipts) */
|
|
26
|
+
amt?: number;
|
|
27
|
+
/** Currency code (ISO 4217, commerce receipts) */
|
|
28
|
+
cur?: string;
|
|
29
|
+
/** Normalized payment evidence (commerce receipts) */
|
|
30
|
+
payment?: NormalizedPayment;
|
|
31
31
|
/** Subject (omitted if not present) */
|
|
32
32
|
subject?: Subject;
|
|
33
33
|
/** Control block (omitted if not present) */
|
package/dist/normalize.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI7D;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,iBAAiB;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI7D;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,iBAAiB;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,qBAAqB,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAmDD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,UAAU,CA0BlE"}
|
package/dist/normalize.js
CHANGED
|
@@ -83,9 +83,10 @@ function toCoreClaims(claims) {
|
|
|
83
83
|
aud: claims.aud,
|
|
84
84
|
rid: claims.rid,
|
|
85
85
|
iat: claims.iat,
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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) }),
|
|
89
90
|
};
|
|
90
91
|
// Only include optional fields if defined
|
|
91
92
|
if (claims.exp !== undefined) {
|
package/dist/normalize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA8IH,
|
|
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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified Receipt Parser
|
|
3
|
+
*
|
|
4
|
+
* Single entry point for classifying and validating receipt claims.
|
|
5
|
+
* Supports both commerce (payment) and attestation receipt profiles.
|
|
6
|
+
*
|
|
7
|
+
* Classification uses key presence ('amt' in obj), NOT truthy values.
|
|
8
|
+
* If any of amt|cur|payment are present, the receipt is classified as commerce.
|
|
9
|
+
* If commerce validation fails, it returns a commerce error -- never falls
|
|
10
|
+
* through to attestation.
|
|
11
|
+
*/
|
|
12
|
+
import { ZodError } from 'zod';
|
|
13
|
+
import { type ReceiptClaimsType } from './validators.js';
|
|
14
|
+
import { type AttestationReceiptClaims } from './attestation-receipt.js';
|
|
15
|
+
/**
|
|
16
|
+
* Receipt variant discriminator
|
|
17
|
+
*/
|
|
18
|
+
export type ReceiptVariant = 'commerce' | 'attestation';
|
|
19
|
+
/**
|
|
20
|
+
* Parse error with canonical error code
|
|
21
|
+
*/
|
|
22
|
+
export interface PEACParseError {
|
|
23
|
+
/** Canonical error code from specs/kernel/errors.json */
|
|
24
|
+
code: string;
|
|
25
|
+
/** Human-readable message */
|
|
26
|
+
message: string;
|
|
27
|
+
/** Zod issues (if schema validation failed) */
|
|
28
|
+
issues?: ZodError['issues'];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Successful parse result
|
|
32
|
+
*/
|
|
33
|
+
export interface ParseSuccess {
|
|
34
|
+
ok: true;
|
|
35
|
+
variant: ReceiptVariant;
|
|
36
|
+
claims: ReceiptClaimsType | AttestationReceiptClaims;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Failed parse result
|
|
40
|
+
*/
|
|
41
|
+
export interface ParseFailure {
|
|
42
|
+
ok: false;
|
|
43
|
+
error: PEACParseError;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Parse result type
|
|
47
|
+
*/
|
|
48
|
+
export type ParseReceiptResult = ParseSuccess | ParseFailure;
|
|
49
|
+
/**
|
|
50
|
+
* Options for parseReceiptClaims (extensible for future wire versions)
|
|
51
|
+
*/
|
|
52
|
+
export interface ParseReceiptOptions {
|
|
53
|
+
/** Reserved for future use (wire version discrimination in v0.12.0+) */
|
|
54
|
+
wireVersion?: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Parse and validate receipt claims.
|
|
58
|
+
*
|
|
59
|
+
* Unified entry point for both commerce and attestation receipt validation.
|
|
60
|
+
* Classification is strict: if any commerce key (amt, cur, payment) is present,
|
|
61
|
+
* the receipt MUST validate as commerce. There is no fallback to attestation.
|
|
62
|
+
*
|
|
63
|
+
* @param input - Raw claims object (typically decoded from JWS payload)
|
|
64
|
+
* @param _opts - Reserved for future use
|
|
65
|
+
* @returns Parse result with variant discrimination and validated claims, or error
|
|
66
|
+
*/
|
|
67
|
+
export declare function parseReceiptClaims(input: unknown, _opts?: ParseReceiptOptions): ParseReceiptResult;
|
|
68
|
+
//# sourceMappingURL=receipt-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receipt-parser.d.ts","sourceRoot":"","sources":["../src/receipt-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,aAAa,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,iBAAiB,GAAG,wBAAwB,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,cAAc,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,YAAY,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAeD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,KAAK,CAAC,EAAE,mBAAmB,GAC1B,kBAAkB,CAmDpB"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Unified Receipt Parser
|
|
4
|
+
*
|
|
5
|
+
* Single entry point for classifying and validating receipt claims.
|
|
6
|
+
* Supports both commerce (payment) and attestation receipt profiles.
|
|
7
|
+
*
|
|
8
|
+
* Classification uses key presence ('amt' in obj), NOT truthy values.
|
|
9
|
+
* If any of amt|cur|payment are present, the receipt is classified as commerce.
|
|
10
|
+
* If commerce validation fails, it returns a commerce error -- never falls
|
|
11
|
+
* through to attestation.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.parseReceiptClaims = parseReceiptClaims;
|
|
15
|
+
const validators_js_1 = require("./validators.js");
|
|
16
|
+
const attestation_receipt_js_1 = require("./attestation-receipt.js");
|
|
17
|
+
/**
|
|
18
|
+
* Classify a claims object as commerce or attestation.
|
|
19
|
+
*
|
|
20
|
+
* Uses key presence (not truthiness). If ANY of amt, cur, payment
|
|
21
|
+
* are present as keys, the receipt is classified as commerce.
|
|
22
|
+
*/
|
|
23
|
+
function classifyReceipt(obj) {
|
|
24
|
+
if ('amt' in obj || 'cur' in obj || 'payment' in obj) {
|
|
25
|
+
return 'commerce';
|
|
26
|
+
}
|
|
27
|
+
return 'attestation';
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Parse and validate receipt claims.
|
|
31
|
+
*
|
|
32
|
+
* Unified entry point for both commerce and attestation receipt validation.
|
|
33
|
+
* Classification is strict: if any commerce key (amt, cur, payment) is present,
|
|
34
|
+
* the receipt MUST validate as commerce. There is no fallback to attestation.
|
|
35
|
+
*
|
|
36
|
+
* @param input - Raw claims object (typically decoded from JWS payload)
|
|
37
|
+
* @param _opts - Reserved for future use
|
|
38
|
+
* @returns Parse result with variant discrimination and validated claims, or error
|
|
39
|
+
*/
|
|
40
|
+
function parseReceiptClaims(input, _opts) {
|
|
41
|
+
// Guard: input must be a non-null object
|
|
42
|
+
if (input === null || input === undefined || typeof input !== 'object' || Array.isArray(input)) {
|
|
43
|
+
return {
|
|
44
|
+
ok: false,
|
|
45
|
+
error: {
|
|
46
|
+
code: 'E_PARSE_INVALID_INPUT',
|
|
47
|
+
message: 'Input must be a non-null object',
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
const obj = input;
|
|
52
|
+
const variant = classifyReceipt(obj);
|
|
53
|
+
if (variant === 'commerce') {
|
|
54
|
+
const result = validators_js_1.ReceiptClaimsSchema.safeParse(obj);
|
|
55
|
+
if (!result.success) {
|
|
56
|
+
return {
|
|
57
|
+
ok: false,
|
|
58
|
+
error: {
|
|
59
|
+
code: 'E_PARSE_COMMERCE_INVALID',
|
|
60
|
+
message: `Commerce receipt validation failed: ${result.error.issues.map((i) => i.message).join('; ')}`,
|
|
61
|
+
issues: result.error.issues,
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
ok: true,
|
|
67
|
+
variant: 'commerce',
|
|
68
|
+
claims: result.data,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
// Attestation path
|
|
72
|
+
const result = attestation_receipt_js_1.AttestationReceiptClaimsSchema.safeParse(obj);
|
|
73
|
+
if (!result.success) {
|
|
74
|
+
return {
|
|
75
|
+
ok: false,
|
|
76
|
+
error: {
|
|
77
|
+
code: 'E_PARSE_ATTESTATION_INVALID',
|
|
78
|
+
message: `Attestation receipt validation failed: ${result.error.issues.map((i) => i.message).join('; ')}`,
|
|
79
|
+
issues: result.error.issues,
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
ok: true,
|
|
85
|
+
variant: 'attestation',
|
|
86
|
+
claims: result.data,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=receipt-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receipt-parser.js","sourceRoot":"","sources":["../src/receipt-parser.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAgFH,gDAsDC;AAnID,mDAA8E;AAC9E,qEAGkC;AAiDlC;;;;;GAKG;AACH,SAAS,eAAe,CAAC,GAA4B;IACnD,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;QACrD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,kBAAkB,CAChC,KAAc,EACd,KAA2B;IAE3B,yCAAyC;IACzC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/F,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,iCAAiC;aAC3C;SACF,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAErC,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,mCAAmB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE;oBACL,IAAI,EAAE,0BAA0B;oBAChC,OAAO,EAAE,uCAAuC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACtG,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;iBAC5B;aACF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,MAAM,CAAC,IAAI;SACpB,CAAC;IACJ,CAAC;IAED,mBAAmB;IACnB,MAAM,MAAM,GAAG,uDAA8B,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,6BAA6B;gBACnC,OAAO,EAAE,0CAA0C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACzG,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;aAC5B;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,aAAa;QACtB,MAAM,EAAE,MAAM,CAAC,IAAI;KACpB,CAAC;AACJ,CAAC"}
|
package/dist/validators.d.ts
CHANGED
|
@@ -194,9 +194,6 @@ export declare const ReceiptClaimsSchema: z.ZodObject<{
|
|
|
194
194
|
env?: string | undefined;
|
|
195
195
|
};
|
|
196
196
|
exp?: number | undefined;
|
|
197
|
-
subject?: {
|
|
198
|
-
uri: string;
|
|
199
|
-
} | undefined;
|
|
200
197
|
ext?: z.objectOutputType<{
|
|
201
198
|
aipref_snapshot: z.ZodOptional<z.ZodObject<{
|
|
202
199
|
url: z.ZodEffects<z.ZodString, string, string>;
|
|
@@ -209,6 +206,9 @@ export declare const ReceiptClaimsSchema: z.ZodObject<{
|
|
|
209
206
|
hash: string;
|
|
210
207
|
}>>;
|
|
211
208
|
}, z.ZodUnknown, "strip"> | undefined;
|
|
209
|
+
subject?: {
|
|
210
|
+
uri: string;
|
|
211
|
+
} | undefined;
|
|
212
212
|
purpose_declared?: string[] | undefined;
|
|
213
213
|
purpose_enforced?: "inference" | "index" | "train" | "user_action" | "search" | undefined;
|
|
214
214
|
purpose_reason?: "allowed" | "constrained" | "denied" | "downgraded" | "undeclared_default" | "unknown_preserved" | undefined;
|
|
@@ -230,9 +230,6 @@ export declare const ReceiptClaimsSchema: z.ZodObject<{
|
|
|
230
230
|
env?: string | undefined;
|
|
231
231
|
};
|
|
232
232
|
exp?: number | undefined;
|
|
233
|
-
subject?: {
|
|
234
|
-
uri: string;
|
|
235
|
-
} | undefined;
|
|
236
233
|
ext?: z.objectInputType<{
|
|
237
234
|
aipref_snapshot: z.ZodOptional<z.ZodObject<{
|
|
238
235
|
url: z.ZodEffects<z.ZodString, string, string>;
|
|
@@ -245,6 +242,9 @@ export declare const ReceiptClaimsSchema: z.ZodObject<{
|
|
|
245
242
|
hash: string;
|
|
246
243
|
}>>;
|
|
247
244
|
}, z.ZodUnknown, "strip"> | undefined;
|
|
245
|
+
subject?: {
|
|
246
|
+
uri: string;
|
|
247
|
+
} | undefined;
|
|
248
248
|
purpose_declared?: string[] | undefined;
|
|
249
249
|
purpose_enforced?: "inference" | "index" | "train" | "user_action" | "search" | undefined;
|
|
250
250
|
purpose_reason?: "allowed" | "constrained" | "denied" | "downgraded" | "undeclared_default" | "unknown_preserved" | undefined;
|
|
@@ -357,9 +357,6 @@ export declare const ReceiptClaims: z.ZodObject<{
|
|
|
357
357
|
env?: string | undefined;
|
|
358
358
|
};
|
|
359
359
|
exp?: number | undefined;
|
|
360
|
-
subject?: {
|
|
361
|
-
uri: string;
|
|
362
|
-
} | undefined;
|
|
363
360
|
ext?: z.objectOutputType<{
|
|
364
361
|
aipref_snapshot: z.ZodOptional<z.ZodObject<{
|
|
365
362
|
url: z.ZodEffects<z.ZodString, string, string>;
|
|
@@ -372,6 +369,9 @@ export declare const ReceiptClaims: z.ZodObject<{
|
|
|
372
369
|
hash: string;
|
|
373
370
|
}>>;
|
|
374
371
|
}, z.ZodUnknown, "strip"> | undefined;
|
|
372
|
+
subject?: {
|
|
373
|
+
uri: string;
|
|
374
|
+
} | undefined;
|
|
375
375
|
purpose_declared?: string[] | undefined;
|
|
376
376
|
purpose_enforced?: "inference" | "index" | "train" | "user_action" | "search" | undefined;
|
|
377
377
|
purpose_reason?: "allowed" | "constrained" | "denied" | "downgraded" | "undeclared_default" | "unknown_preserved" | undefined;
|
|
@@ -393,9 +393,6 @@ export declare const ReceiptClaims: z.ZodObject<{
|
|
|
393
393
|
env?: string | undefined;
|
|
394
394
|
};
|
|
395
395
|
exp?: number | undefined;
|
|
396
|
-
subject?: {
|
|
397
|
-
uri: string;
|
|
398
|
-
} | undefined;
|
|
399
396
|
ext?: z.objectInputType<{
|
|
400
397
|
aipref_snapshot: z.ZodOptional<z.ZodObject<{
|
|
401
398
|
url: z.ZodEffects<z.ZodString, string, string>;
|
|
@@ -408,6 +405,9 @@ export declare const ReceiptClaims: z.ZodObject<{
|
|
|
408
405
|
hash: string;
|
|
409
406
|
}>>;
|
|
410
407
|
}, z.ZodUnknown, "strip"> | undefined;
|
|
408
|
+
subject?: {
|
|
409
|
+
uri: string;
|
|
410
|
+
} | undefined;
|
|
411
411
|
purpose_declared?: string[] | undefined;
|
|
412
412
|
purpose_enforced?: "inference" | "index" | "train" | "user_action" | "search" | undefined;
|
|
413
413
|
purpose_reason?: "allowed" | "constrained" | "denied" | "downgraded" | "undeclared_default" | "unknown_preserved" | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peac/schema",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.9",
|
|
4
4
|
"description": "PEAC Protocol JSON schemas, OpenAPI specs, and TypeScript types",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"zod": "^3.22.4",
|
|
27
|
-
"@peac/kernel": "0.10.
|
|
27
|
+
"@peac/kernel": "0.10.9"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/node": "^20.10.0",
|