@peac/schema 0.10.13 → 0.11.0

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 (41) hide show
  1. package/dist/agent-identity.d.ts +62 -416
  2. package/dist/agent-identity.d.ts.map +1 -1
  3. package/dist/attestation-receipt.d.ts +5 -39
  4. package/dist/attestation-receipt.d.ts.map +1 -1
  5. package/dist/attribution.cjs +4 -2
  6. package/dist/attribution.cjs.map +1 -1
  7. package/dist/attribution.d.ts +69 -448
  8. package/dist/attribution.d.ts.map +1 -1
  9. package/dist/attribution.mjs +4 -2
  10. package/dist/attribution.mjs.map +1 -1
  11. package/dist/constraints.d.ts +68 -0
  12. package/dist/constraints.d.ts.map +1 -0
  13. package/dist/dispute.d.ts +262 -780
  14. package/dist/dispute.d.ts.map +1 -1
  15. package/dist/errors.d.ts +13 -0
  16. package/dist/errors.d.ts.map +1 -1
  17. package/dist/index.cjs +125 -10
  18. package/dist/index.cjs.map +1 -1
  19. package/dist/index.d.ts +2 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.mjs +123 -11
  22. package/dist/index.mjs.map +1 -1
  23. package/dist/interaction.cjs +1 -1
  24. package/dist/interaction.cjs.map +1 -1
  25. package/dist/interaction.d.ts +104 -596
  26. package/dist/interaction.d.ts.map +1 -1
  27. package/dist/interaction.mjs +1 -1
  28. package/dist/interaction.mjs.map +1 -1
  29. package/dist/json.d.ts +4 -3
  30. package/dist/json.d.ts.map +1 -1
  31. package/dist/obligations.d.ts +39 -139
  32. package/dist/obligations.d.ts.map +1 -1
  33. package/dist/receipt-parser.cjs +4 -2
  34. package/dist/receipt-parser.cjs.map +1 -1
  35. package/dist/receipt-parser.mjs +4 -2
  36. package/dist/receipt-parser.mjs.map +1 -1
  37. package/dist/validators.d.ts +200 -659
  38. package/dist/validators.d.ts.map +1 -1
  39. package/dist/workflow.d.ts +32 -345
  40. package/dist/workflow.d.ts.map +1 -1
  41. package/package.json +4 -4
package/dist/dispute.d.ts CHANGED
@@ -51,7 +51,16 @@ export type DisputeId = z.infer<typeof DisputeIdSchema>;
51
51
  * - 'policy_violation': Terms/policy violated despite receipt
52
52
  * - 'other': Catch-all (requires description >= 50 chars)
53
53
  */
54
- export declare const DisputeTypeSchema: z.ZodEnum<["unauthorized_access", "attribution_missing", "attribution_incorrect", "receipt_invalid", "identity_spoofed", "purpose_mismatch", "policy_violation", "other"]>;
54
+ export declare const DisputeTypeSchema: z.ZodEnum<{
55
+ unauthorized_access: "unauthorized_access";
56
+ attribution_missing: "attribution_missing";
57
+ attribution_incorrect: "attribution_incorrect";
58
+ receipt_invalid: "receipt_invalid";
59
+ identity_spoofed: "identity_spoofed";
60
+ purpose_mismatch: "purpose_mismatch";
61
+ policy_violation: "policy_violation";
62
+ other: "other";
63
+ }>;
55
64
  export type DisputeType = z.infer<typeof DisputeTypeSchema>;
56
65
  /**
57
66
  * Array of valid dispute types for runtime checks.
@@ -65,7 +74,12 @@ export declare const DISPUTE_TYPES: readonly ["unauthorized_access", "attributio
65
74
  * - 'identity': An agent identity attestation
66
75
  * - 'policy': A policy decision or enforcement
67
76
  */
68
- export declare const DisputeTargetTypeSchema: z.ZodEnum<["receipt", "attribution", "identity", "policy"]>;
77
+ export declare const DisputeTargetTypeSchema: z.ZodEnum<{
78
+ receipt: "receipt";
79
+ attribution: "attribution";
80
+ identity: "identity";
81
+ policy: "policy";
82
+ }>;
69
83
  export type DisputeTargetType = z.infer<typeof DisputeTargetTypeSchema>;
70
84
  /**
71
85
  * Array of valid target types for runtime checks.
@@ -96,7 +110,22 @@ export declare const DISPUTE_TARGET_TYPES: readonly ["receipt", "attribution", "
96
110
  * - 'terms_violated': Specific terms were violated
97
111
  * - 'rate_limit_exceeded': Exceeded rate limits
98
112
  */
99
- export declare const DisputeGroundsCodeSchema: z.ZodEnum<["missing_receipt", "expired_receipt", "forged_receipt", "receipt_not_applicable", "content_not_used", "source_misidentified", "usage_type_wrong", "weight_inaccurate", "agent_impersonation", "key_compromise", "delegation_invalid", "purpose_exceeded", "terms_violated", "rate_limit_exceeded"]>;
113
+ export declare const DisputeGroundsCodeSchema: z.ZodEnum<{
114
+ missing_receipt: "missing_receipt";
115
+ expired_receipt: "expired_receipt";
116
+ forged_receipt: "forged_receipt";
117
+ receipt_not_applicable: "receipt_not_applicable";
118
+ content_not_used: "content_not_used";
119
+ source_misidentified: "source_misidentified";
120
+ usage_type_wrong: "usage_type_wrong";
121
+ weight_inaccurate: "weight_inaccurate";
122
+ agent_impersonation: "agent_impersonation";
123
+ key_compromise: "key_compromise";
124
+ delegation_invalid: "delegation_invalid";
125
+ purpose_exceeded: "purpose_exceeded";
126
+ terms_violated: "terms_violated";
127
+ rate_limit_exceeded: "rate_limit_exceeded";
128
+ }>;
100
129
  export type DisputeGroundsCode = z.infer<typeof DisputeGroundsCodeSchema>;
101
130
  /**
102
131
  * Array of valid grounds codes for runtime checks.
@@ -106,21 +135,25 @@ export declare const DISPUTE_GROUNDS_CODES: readonly ["missing_receipt", "expire
106
135
  * Individual dispute ground with supporting evidence reference.
107
136
  */
108
137
  export declare const DisputeGroundsSchema: z.ZodObject<{
109
- /** Specific code for this ground (REQUIRED) */
110
- code: z.ZodEnum<["missing_receipt", "expired_receipt", "forged_receipt", "receipt_not_applicable", "content_not_used", "source_misidentified", "usage_type_wrong", "weight_inaccurate", "agent_impersonation", "key_compromise", "delegation_invalid", "purpose_exceeded", "terms_violated", "rate_limit_exceeded"]>;
111
- /** Reference to supporting evidence (OPTIONAL) */
138
+ code: z.ZodEnum<{
139
+ missing_receipt: "missing_receipt";
140
+ expired_receipt: "expired_receipt";
141
+ forged_receipt: "forged_receipt";
142
+ receipt_not_applicable: "receipt_not_applicable";
143
+ content_not_used: "content_not_used";
144
+ source_misidentified: "source_misidentified";
145
+ usage_type_wrong: "usage_type_wrong";
146
+ weight_inaccurate: "weight_inaccurate";
147
+ agent_impersonation: "agent_impersonation";
148
+ key_compromise: "key_compromise";
149
+ delegation_invalid: "delegation_invalid";
150
+ purpose_exceeded: "purpose_exceeded";
151
+ terms_violated: "terms_violated";
152
+ rate_limit_exceeded: "rate_limit_exceeded";
153
+ }>;
112
154
  evidence_ref: z.ZodOptional<z.ZodString>;
113
- /** Additional context for this ground (OPTIONAL) */
114
155
  details: z.ZodOptional<z.ZodString>;
115
- }, "strict", z.ZodTypeAny, {
116
- code: "missing_receipt" | "expired_receipt" | "forged_receipt" | "receipt_not_applicable" | "content_not_used" | "source_misidentified" | "usage_type_wrong" | "weight_inaccurate" | "agent_impersonation" | "key_compromise" | "delegation_invalid" | "purpose_exceeded" | "terms_violated" | "rate_limit_exceeded";
117
- evidence_ref?: string | undefined;
118
- details?: string | undefined;
119
- }, {
120
- code: "missing_receipt" | "expired_receipt" | "forged_receipt" | "receipt_not_applicable" | "content_not_used" | "source_misidentified" | "usage_type_wrong" | "weight_inaccurate" | "agent_impersonation" | "key_compromise" | "delegation_invalid" | "purpose_exceeded" | "terms_violated" | "rate_limit_exceeded";
121
- evidence_ref?: string | undefined;
122
- details?: string | undefined;
123
- }>;
156
+ }, z.core.$strict>;
124
157
  export type DisputeGrounds = z.infer<typeof DisputeGroundsSchema>;
125
158
  /**
126
159
  * Dispute lifecycle states.
@@ -137,7 +170,16 @@ export type DisputeGrounds = z.infer<typeof DisputeGroundsSchema>;
137
170
  * Terminal states (REQUIRE resolution): resolved, rejected, final
138
171
  * Non-terminal states: filed, acknowledged, under_review, escalated, appealed
139
172
  */
140
- export declare const DisputeStateSchema: z.ZodEnum<["filed", "acknowledged", "under_review", "escalated", "resolved", "rejected", "appealed", "final"]>;
173
+ export declare const DisputeStateSchema: z.ZodEnum<{
174
+ filed: "filed";
175
+ acknowledged: "acknowledged";
176
+ under_review: "under_review";
177
+ escalated: "escalated";
178
+ resolved: "resolved";
179
+ rejected: "rejected";
180
+ appealed: "appealed";
181
+ final: "final";
182
+ }>;
141
183
  export type DisputeState = z.infer<typeof DisputeStateSchema>;
142
184
  /**
143
185
  * Array of valid dispute states for runtime checks.
@@ -184,7 +226,12 @@ export declare function getValidTransitions(current: DisputeState): readonly Dis
184
226
  * - 'partially_upheld': Some grounds upheld, others dismissed
185
227
  * - 'settled': Parties reached agreement
186
228
  */
187
- export declare const DisputeOutcomeSchema: z.ZodEnum<["upheld", "dismissed", "partially_upheld", "settled"]>;
229
+ export declare const DisputeOutcomeSchema: z.ZodEnum<{
230
+ upheld: "upheld";
231
+ dismissed: "dismissed";
232
+ partially_upheld: "partially_upheld";
233
+ settled: "settled";
234
+ }>;
188
235
  export type DisputeOutcome = z.infer<typeof DisputeOutcomeSchema>;
189
236
  /**
190
237
  * Array of valid outcomes for runtime checks.
@@ -201,7 +248,15 @@ export declare const DISPUTE_OUTCOMES: readonly ["upheld", "dismissed", "partial
201
248
  * - 'no_action': No action required
202
249
  * - 'other': Other remediation
203
250
  */
204
- export declare const RemediationTypeSchema: z.ZodEnum<["attribution_corrected", "receipt_revoked", "access_restored", "compensation", "policy_updated", "no_action", "other"]>;
251
+ export declare const RemediationTypeSchema: z.ZodEnum<{
252
+ other: "other";
253
+ attribution_corrected: "attribution_corrected";
254
+ receipt_revoked: "receipt_revoked";
255
+ access_restored: "access_restored";
256
+ compensation: "compensation";
257
+ policy_updated: "policy_updated";
258
+ no_action: "no_action";
259
+ }>;
205
260
  export type RemediationType = z.infer<typeof RemediationTypeSchema>;
206
261
  /**
207
262
  * Array of valid remediation types for runtime checks.
@@ -211,21 +266,18 @@ export declare const REMEDIATION_TYPES: readonly ["attribution_corrected", "rece
211
266
  * Remediation action taken to address the dispute.
212
267
  */
213
268
  export declare const RemediationSchema: z.ZodObject<{
214
- /** Type of remediation (REQUIRED) */
215
- type: z.ZodEnum<["attribution_corrected", "receipt_revoked", "access_restored", "compensation", "policy_updated", "no_action", "other"]>;
216
- /** Details of the remediation action (REQUIRED) */
269
+ type: z.ZodEnum<{
270
+ other: "other";
271
+ attribution_corrected: "attribution_corrected";
272
+ receipt_revoked: "receipt_revoked";
273
+ access_restored: "access_restored";
274
+ compensation: "compensation";
275
+ policy_updated: "policy_updated";
276
+ no_action: "no_action";
277
+ }>;
217
278
  details: z.ZodString;
218
- /** Deadline for completing remediation (OPTIONAL) */
219
279
  deadline: z.ZodOptional<z.ZodString>;
220
- }, "strict", z.ZodTypeAny, {
221
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
222
- details: string;
223
- deadline?: string | undefined;
224
- }, {
225
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
226
- details: string;
227
- deadline?: string | undefined;
228
- }>;
280
+ }, z.core.$strict>;
229
281
  export type Remediation = z.infer<typeof RemediationSchema>;
230
282
  /**
231
283
  * Resolution of a dispute.
@@ -233,52 +285,29 @@ export type Remediation = z.infer<typeof RemediationSchema>;
233
285
  * Required for terminal states (resolved, rejected, final).
234
286
  */
235
287
  export declare const DisputeResolutionSchema: z.ZodObject<{
236
- /** Outcome of the dispute (REQUIRED) */
237
- outcome: z.ZodEnum<["upheld", "dismissed", "partially_upheld", "settled"]>;
238
- /** When the decision was made (REQUIRED) */
288
+ outcome: z.ZodEnum<{
289
+ upheld: "upheld";
290
+ dismissed: "dismissed";
291
+ partially_upheld: "partially_upheld";
292
+ settled: "settled";
293
+ }>;
239
294
  decided_at: z.ZodString;
240
- /** Who made the decision (REQUIRED) */
241
295
  decided_by: z.ZodString;
242
- /** Explanation of the decision (REQUIRED) */
243
296
  rationale: z.ZodString;
244
- /** Remediation action if applicable (OPTIONAL) */
245
297
  remediation: z.ZodOptional<z.ZodObject<{
246
- /** Type of remediation (REQUIRED) */
247
- type: z.ZodEnum<["attribution_corrected", "receipt_revoked", "access_restored", "compensation", "policy_updated", "no_action", "other"]>;
248
- /** Details of the remediation action (REQUIRED) */
298
+ type: z.ZodEnum<{
299
+ other: "other";
300
+ attribution_corrected: "attribution_corrected";
301
+ receipt_revoked: "receipt_revoked";
302
+ access_restored: "access_restored";
303
+ compensation: "compensation";
304
+ policy_updated: "policy_updated";
305
+ no_action: "no_action";
306
+ }>;
249
307
  details: z.ZodString;
250
- /** Deadline for completing remediation (OPTIONAL) */
251
308
  deadline: z.ZodOptional<z.ZodString>;
252
- }, "strict", z.ZodTypeAny, {
253
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
254
- details: string;
255
- deadline?: string | undefined;
256
- }, {
257
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
258
- details: string;
259
- deadline?: string | undefined;
260
- }>>;
261
- }, "strict", z.ZodTypeAny, {
262
- outcome: "upheld" | "dismissed" | "partially_upheld" | "settled";
263
- decided_at: string;
264
- decided_by: string;
265
- rationale: string;
266
- remediation?: {
267
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
268
- details: string;
269
- deadline?: string | undefined;
270
- } | undefined;
271
- }, {
272
- outcome: "upheld" | "dismissed" | "partially_upheld" | "settled";
273
- decided_at: string;
274
- decided_by: string;
275
- rationale: string;
276
- remediation?: {
277
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
278
- details: string;
279
- deadline?: string | undefined;
280
- } | undefined;
281
- }>;
309
+ }, z.core.$strict>>;
310
+ }, z.core.$strict>;
282
311
  export type DisputeResolution = z.infer<typeof DisputeResolutionSchema>;
283
312
  /**
284
313
  * Contact method for dispute resolution.
@@ -287,71 +316,38 @@ export type DisputeResolution = z.infer<typeof DisputeResolutionSchema>;
287
316
  * - 'url': URL (webhook, contact form)
288
317
  * - 'did': Decentralized identifier
289
318
  */
290
- export declare const ContactMethodSchema: z.ZodEnum<["email", "url", "did"]>;
319
+ export declare const ContactMethodSchema: z.ZodEnum<{
320
+ email: "email";
321
+ url: "url";
322
+ did: "did";
323
+ }>;
291
324
  export type ContactMethod = z.infer<typeof ContactMethodSchema>;
292
325
  /**
293
326
  * Contact information for dispute communication.
294
327
  *
295
328
  * Validated based on method type.
296
329
  */
297
- export declare const DisputeContactSchema: z.ZodEffects<z.ZodObject<{
298
- /** Contact method (REQUIRED) */
299
- method: z.ZodEnum<["email", "url", "did"]>;
300
- /** Contact value (REQUIRED) */
330
+ export declare const DisputeContactSchema: z.ZodObject<{
331
+ method: z.ZodEnum<{
332
+ email: "email";
333
+ url: "url";
334
+ did: "did";
335
+ }>;
301
336
  value: z.ZodString;
302
- }, "strict", z.ZodTypeAny, {
303
- value: string;
304
- method: "email" | "url" | "did";
305
- }, {
306
- value: string;
307
- method: "email" | "url" | "did";
308
- }>, {
309
- value: string;
310
- method: "email" | "url" | "did";
311
- }, {
312
- value: string;
313
- method: "email" | "url" | "did";
314
- }>;
337
+ }, z.core.$strict>;
315
338
  export type DisputeContact = z.infer<typeof DisputeContactSchema>;
316
339
  /**
317
340
  * Reference to an external document supporting the dispute.
318
341
  */
319
342
  export declare const DocumentRefSchema: z.ZodObject<{
320
- /** URI of the document (REQUIRED) */
321
343
  uri: z.ZodString;
322
- /** Content hash for integrity verification (OPTIONAL) */
323
344
  content_hash: z.ZodOptional<z.ZodObject<{
324
345
  alg: z.ZodLiteral<"sha-256">;
325
346
  value: z.ZodString;
326
347
  enc: z.ZodLiteral<"base64url">;
327
- }, "strict", z.ZodTypeAny, {
328
- value: string;
329
- alg: "sha-256";
330
- enc: "base64url";
331
- }, {
332
- value: string;
333
- alg: "sha-256";
334
- enc: "base64url";
335
- }>>;
336
- /** Brief description of the document (OPTIONAL) */
348
+ }, z.core.$strict>>;
337
349
  description: z.ZodOptional<z.ZodString>;
338
- }, "strict", z.ZodTypeAny, {
339
- uri: string;
340
- content_hash?: {
341
- value: string;
342
- alg: "sha-256";
343
- enc: "base64url";
344
- } | undefined;
345
- description?: string | undefined;
346
- }, {
347
- uri: string;
348
- content_hash?: {
349
- value: string;
350
- alg: "sha-256";
351
- enc: "base64url";
352
- } | undefined;
353
- description?: string | undefined;
354
- }>;
350
+ }, z.core.$strict>;
355
351
  export type DocumentRef = z.infer<typeof DocumentRefSchema>;
356
352
  /**
357
353
  * Dispute evidence with cross-field invariants enforced via superRefine.
@@ -361,309 +357,102 @@ export type DocumentRef = z.infer<typeof DocumentRefSchema>;
361
357
  * 2. Resolution is ONLY valid for terminal states
362
358
  * 3. Dispute type 'other' requires description >= 50 characters
363
359
  */
364
- export declare const DisputeEvidenceSchema: z.ZodEffects<z.ZodObject<{
365
- /** Type of dispute (REQUIRED) */
366
- dispute_type: z.ZodEnum<["unauthorized_access", "attribution_missing", "attribution_incorrect", "receipt_invalid", "identity_spoofed", "purpose_mismatch", "policy_violation", "other"]>;
367
- /** Reference to disputed target: jti:{id}, URL, or URN (REQUIRED) */
360
+ export declare const DisputeEvidenceSchema: z.ZodObject<{
361
+ dispute_type: z.ZodEnum<{
362
+ unauthorized_access: "unauthorized_access";
363
+ attribution_missing: "attribution_missing";
364
+ attribution_incorrect: "attribution_incorrect";
365
+ receipt_invalid: "receipt_invalid";
366
+ identity_spoofed: "identity_spoofed";
367
+ purpose_mismatch: "purpose_mismatch";
368
+ policy_violation: "policy_violation";
369
+ other: "other";
370
+ }>;
368
371
  target_ref: z.ZodString;
369
- /** Type of target being disputed (REQUIRED) */
370
- target_type: z.ZodEnum<["receipt", "attribution", "identity", "policy"]>;
371
- /** Grounds for the dispute (REQUIRED, at least 1) */
372
+ target_type: z.ZodEnum<{
373
+ receipt: "receipt";
374
+ attribution: "attribution";
375
+ identity: "identity";
376
+ policy: "policy";
377
+ }>;
372
378
  grounds: z.ZodArray<z.ZodObject<{
373
- /** Specific code for this ground (REQUIRED) */
374
- code: z.ZodEnum<["missing_receipt", "expired_receipt", "forged_receipt", "receipt_not_applicable", "content_not_used", "source_misidentified", "usage_type_wrong", "weight_inaccurate", "agent_impersonation", "key_compromise", "delegation_invalid", "purpose_exceeded", "terms_violated", "rate_limit_exceeded"]>;
375
- /** Reference to supporting evidence (OPTIONAL) */
379
+ code: z.ZodEnum<{
380
+ missing_receipt: "missing_receipt";
381
+ expired_receipt: "expired_receipt";
382
+ forged_receipt: "forged_receipt";
383
+ receipt_not_applicable: "receipt_not_applicable";
384
+ content_not_used: "content_not_used";
385
+ source_misidentified: "source_misidentified";
386
+ usage_type_wrong: "usage_type_wrong";
387
+ weight_inaccurate: "weight_inaccurate";
388
+ agent_impersonation: "agent_impersonation";
389
+ key_compromise: "key_compromise";
390
+ delegation_invalid: "delegation_invalid";
391
+ purpose_exceeded: "purpose_exceeded";
392
+ terms_violated: "terms_violated";
393
+ rate_limit_exceeded: "rate_limit_exceeded";
394
+ }>;
376
395
  evidence_ref: z.ZodOptional<z.ZodString>;
377
- /** Additional context for this ground (OPTIONAL) */
378
396
  details: z.ZodOptional<z.ZodString>;
379
- }, "strict", z.ZodTypeAny, {
380
- code: "missing_receipt" | "expired_receipt" | "forged_receipt" | "receipt_not_applicable" | "content_not_used" | "source_misidentified" | "usage_type_wrong" | "weight_inaccurate" | "agent_impersonation" | "key_compromise" | "delegation_invalid" | "purpose_exceeded" | "terms_violated" | "rate_limit_exceeded";
381
- evidence_ref?: string | undefined;
382
- details?: string | undefined;
383
- }, {
384
- code: "missing_receipt" | "expired_receipt" | "forged_receipt" | "receipt_not_applicable" | "content_not_used" | "source_misidentified" | "usage_type_wrong" | "weight_inaccurate" | "agent_impersonation" | "key_compromise" | "delegation_invalid" | "purpose_exceeded" | "terms_violated" | "rate_limit_exceeded";
385
- evidence_ref?: string | undefined;
386
- details?: string | undefined;
387
- }>, "many">;
388
- /** Human-readable description (REQUIRED) */
397
+ }, z.core.$strict>>;
389
398
  description: z.ZodString;
390
- /** Receipt references supporting the claim (OPTIONAL) */
391
- supporting_receipts: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
392
- /** Attribution references supporting the claim (OPTIONAL) */
393
- supporting_attributions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
394
- /** External document references (OPTIONAL) */
399
+ supporting_receipts: z.ZodOptional<z.ZodArray<z.ZodString>>;
400
+ supporting_attributions: z.ZodOptional<z.ZodArray<z.ZodString>>;
395
401
  supporting_documents: z.ZodOptional<z.ZodArray<z.ZodObject<{
396
- /** URI of the document (REQUIRED) */
397
402
  uri: z.ZodString;
398
- /** Content hash for integrity verification (OPTIONAL) */
399
403
  content_hash: z.ZodOptional<z.ZodObject<{
400
404
  alg: z.ZodLiteral<"sha-256">;
401
405
  value: z.ZodString;
402
406
  enc: z.ZodLiteral<"base64url">;
403
- }, "strict", z.ZodTypeAny, {
404
- value: string;
405
- alg: "sha-256";
406
- enc: "base64url";
407
- }, {
408
- value: string;
409
- alg: "sha-256";
410
- enc: "base64url";
411
- }>>;
412
- /** Brief description of the document (OPTIONAL) */
407
+ }, z.core.$strict>>;
413
408
  description: z.ZodOptional<z.ZodString>;
414
- }, "strict", z.ZodTypeAny, {
415
- uri: string;
416
- content_hash?: {
417
- value: string;
418
- alg: "sha-256";
419
- enc: "base64url";
420
- } | undefined;
421
- description?: string | undefined;
422
- }, {
423
- uri: string;
424
- content_hash?: {
425
- value: string;
426
- alg: "sha-256";
427
- enc: "base64url";
428
- } | undefined;
429
- description?: string | undefined;
430
- }>, "many">>;
431
- /** Contact for dispute resolution (OPTIONAL) */
432
- contact: z.ZodOptional<z.ZodEffects<z.ZodObject<{
433
- /** Contact method (REQUIRED) */
434
- method: z.ZodEnum<["email", "url", "did"]>;
435
- /** Contact value (REQUIRED) */
409
+ }, z.core.$strict>>>;
410
+ contact: z.ZodOptional<z.ZodObject<{
411
+ method: z.ZodEnum<{
412
+ email: "email";
413
+ url: "url";
414
+ did: "did";
415
+ }>;
436
416
  value: z.ZodString;
437
- }, "strict", z.ZodTypeAny, {
438
- value: string;
439
- method: "email" | "url" | "did";
440
- }, {
441
- value: string;
442
- method: "email" | "url" | "did";
443
- }>, {
444
- value: string;
445
- method: "email" | "url" | "did";
446
- }, {
447
- value: string;
448
- method: "email" | "url" | "did";
449
- }>>;
450
- /** Current lifecycle state (REQUIRED) */
451
- state: z.ZodEnum<["filed", "acknowledged", "under_review", "escalated", "resolved", "rejected", "appealed", "final"]>;
452
- /** When state was last changed (OPTIONAL) */
417
+ }, z.core.$strict>>;
418
+ state: z.ZodEnum<{
419
+ filed: "filed";
420
+ acknowledged: "acknowledged";
421
+ under_review: "under_review";
422
+ escalated: "escalated";
423
+ resolved: "resolved";
424
+ rejected: "rejected";
425
+ appealed: "appealed";
426
+ final: "final";
427
+ }>;
453
428
  state_changed_at: z.ZodOptional<z.ZodString>;
454
- /** Reason for state change (OPTIONAL) */
455
429
  state_reason: z.ZodOptional<z.ZodString>;
456
- /** Resolution details (REQUIRED for terminal states) */
457
430
  resolution: z.ZodOptional<z.ZodObject<{
458
- /** Outcome of the dispute (REQUIRED) */
459
- outcome: z.ZodEnum<["upheld", "dismissed", "partially_upheld", "settled"]>;
460
- /** When the decision was made (REQUIRED) */
431
+ outcome: z.ZodEnum<{
432
+ upheld: "upheld";
433
+ dismissed: "dismissed";
434
+ partially_upheld: "partially_upheld";
435
+ settled: "settled";
436
+ }>;
461
437
  decided_at: z.ZodString;
462
- /** Who made the decision (REQUIRED) */
463
438
  decided_by: z.ZodString;
464
- /** Explanation of the decision (REQUIRED) */
465
439
  rationale: z.ZodString;
466
- /** Remediation action if applicable (OPTIONAL) */
467
440
  remediation: z.ZodOptional<z.ZodObject<{
468
- /** Type of remediation (REQUIRED) */
469
- type: z.ZodEnum<["attribution_corrected", "receipt_revoked", "access_restored", "compensation", "policy_updated", "no_action", "other"]>;
470
- /** Details of the remediation action (REQUIRED) */
441
+ type: z.ZodEnum<{
442
+ other: "other";
443
+ attribution_corrected: "attribution_corrected";
444
+ receipt_revoked: "receipt_revoked";
445
+ access_restored: "access_restored";
446
+ compensation: "compensation";
447
+ policy_updated: "policy_updated";
448
+ no_action: "no_action";
449
+ }>;
471
450
  details: z.ZodString;
472
- /** Deadline for completing remediation (OPTIONAL) */
473
451
  deadline: z.ZodOptional<z.ZodString>;
474
- }, "strict", z.ZodTypeAny, {
475
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
476
- details: string;
477
- deadline?: string | undefined;
478
- }, {
479
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
480
- details: string;
481
- deadline?: string | undefined;
482
- }>>;
483
- }, "strict", z.ZodTypeAny, {
484
- outcome: "upheld" | "dismissed" | "partially_upheld" | "settled";
485
- decided_at: string;
486
- decided_by: string;
487
- rationale: string;
488
- remediation?: {
489
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
490
- details: string;
491
- deadline?: string | undefined;
492
- } | undefined;
493
- }, {
494
- outcome: "upheld" | "dismissed" | "partially_upheld" | "settled";
495
- decided_at: string;
496
- decided_by: string;
497
- rationale: string;
498
- remediation?: {
499
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
500
- details: string;
501
- deadline?: string | undefined;
502
- } | undefined;
503
- }>>;
504
- /** Advisory: filing window used by issuer in days (OPTIONAL, informative only) */
452
+ }, z.core.$strict>>;
453
+ }, z.core.$strict>>;
505
454
  window_hint_days: z.ZodOptional<z.ZodNumber>;
506
- }, "strict", z.ZodTypeAny, {
507
- description: string;
508
- dispute_type: "unauthorized_access" | "attribution_missing" | "attribution_incorrect" | "receipt_invalid" | "identity_spoofed" | "purpose_mismatch" | "policy_violation" | "other";
509
- target_ref: string;
510
- target_type: "receipt" | "attribution" | "identity" | "policy";
511
- grounds: {
512
- code: "missing_receipt" | "expired_receipt" | "forged_receipt" | "receipt_not_applicable" | "content_not_used" | "source_misidentified" | "usage_type_wrong" | "weight_inaccurate" | "agent_impersonation" | "key_compromise" | "delegation_invalid" | "purpose_exceeded" | "terms_violated" | "rate_limit_exceeded";
513
- evidence_ref?: string | undefined;
514
- details?: string | undefined;
515
- }[];
516
- state: "filed" | "acknowledged" | "under_review" | "escalated" | "resolved" | "rejected" | "appealed" | "final";
517
- supporting_receipts?: string[] | undefined;
518
- supporting_attributions?: string[] | undefined;
519
- supporting_documents?: {
520
- uri: string;
521
- content_hash?: {
522
- value: string;
523
- alg: "sha-256";
524
- enc: "base64url";
525
- } | undefined;
526
- description?: string | undefined;
527
- }[] | undefined;
528
- contact?: {
529
- value: string;
530
- method: "email" | "url" | "did";
531
- } | undefined;
532
- state_changed_at?: string | undefined;
533
- state_reason?: string | undefined;
534
- resolution?: {
535
- outcome: "upheld" | "dismissed" | "partially_upheld" | "settled";
536
- decided_at: string;
537
- decided_by: string;
538
- rationale: string;
539
- remediation?: {
540
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
541
- details: string;
542
- deadline?: string | undefined;
543
- } | undefined;
544
- } | undefined;
545
- window_hint_days?: number | undefined;
546
- }, {
547
- description: string;
548
- dispute_type: "unauthorized_access" | "attribution_missing" | "attribution_incorrect" | "receipt_invalid" | "identity_spoofed" | "purpose_mismatch" | "policy_violation" | "other";
549
- target_ref: string;
550
- target_type: "receipt" | "attribution" | "identity" | "policy";
551
- grounds: {
552
- code: "missing_receipt" | "expired_receipt" | "forged_receipt" | "receipt_not_applicable" | "content_not_used" | "source_misidentified" | "usage_type_wrong" | "weight_inaccurate" | "agent_impersonation" | "key_compromise" | "delegation_invalid" | "purpose_exceeded" | "terms_violated" | "rate_limit_exceeded";
553
- evidence_ref?: string | undefined;
554
- details?: string | undefined;
555
- }[];
556
- state: "filed" | "acknowledged" | "under_review" | "escalated" | "resolved" | "rejected" | "appealed" | "final";
557
- supporting_receipts?: string[] | undefined;
558
- supporting_attributions?: string[] | undefined;
559
- supporting_documents?: {
560
- uri: string;
561
- content_hash?: {
562
- value: string;
563
- alg: "sha-256";
564
- enc: "base64url";
565
- } | undefined;
566
- description?: string | undefined;
567
- }[] | undefined;
568
- contact?: {
569
- value: string;
570
- method: "email" | "url" | "did";
571
- } | undefined;
572
- state_changed_at?: string | undefined;
573
- state_reason?: string | undefined;
574
- resolution?: {
575
- outcome: "upheld" | "dismissed" | "partially_upheld" | "settled";
576
- decided_at: string;
577
- decided_by: string;
578
- rationale: string;
579
- remediation?: {
580
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
581
- details: string;
582
- deadline?: string | undefined;
583
- } | undefined;
584
- } | undefined;
585
- window_hint_days?: number | undefined;
586
- }>, {
587
- description: string;
588
- dispute_type: "unauthorized_access" | "attribution_missing" | "attribution_incorrect" | "receipt_invalid" | "identity_spoofed" | "purpose_mismatch" | "policy_violation" | "other";
589
- target_ref: string;
590
- target_type: "receipt" | "attribution" | "identity" | "policy";
591
- grounds: {
592
- code: "missing_receipt" | "expired_receipt" | "forged_receipt" | "receipt_not_applicable" | "content_not_used" | "source_misidentified" | "usage_type_wrong" | "weight_inaccurate" | "agent_impersonation" | "key_compromise" | "delegation_invalid" | "purpose_exceeded" | "terms_violated" | "rate_limit_exceeded";
593
- evidence_ref?: string | undefined;
594
- details?: string | undefined;
595
- }[];
596
- state: "filed" | "acknowledged" | "under_review" | "escalated" | "resolved" | "rejected" | "appealed" | "final";
597
- supporting_receipts?: string[] | undefined;
598
- supporting_attributions?: string[] | undefined;
599
- supporting_documents?: {
600
- uri: string;
601
- content_hash?: {
602
- value: string;
603
- alg: "sha-256";
604
- enc: "base64url";
605
- } | undefined;
606
- description?: string | undefined;
607
- }[] | undefined;
608
- contact?: {
609
- value: string;
610
- method: "email" | "url" | "did";
611
- } | undefined;
612
- state_changed_at?: string | undefined;
613
- state_reason?: string | undefined;
614
- resolution?: {
615
- outcome: "upheld" | "dismissed" | "partially_upheld" | "settled";
616
- decided_at: string;
617
- decided_by: string;
618
- rationale: string;
619
- remediation?: {
620
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
621
- details: string;
622
- deadline?: string | undefined;
623
- } | undefined;
624
- } | undefined;
625
- window_hint_days?: number | undefined;
626
- }, {
627
- description: string;
628
- dispute_type: "unauthorized_access" | "attribution_missing" | "attribution_incorrect" | "receipt_invalid" | "identity_spoofed" | "purpose_mismatch" | "policy_violation" | "other";
629
- target_ref: string;
630
- target_type: "receipt" | "attribution" | "identity" | "policy";
631
- grounds: {
632
- code: "missing_receipt" | "expired_receipt" | "forged_receipt" | "receipt_not_applicable" | "content_not_used" | "source_misidentified" | "usage_type_wrong" | "weight_inaccurate" | "agent_impersonation" | "key_compromise" | "delegation_invalid" | "purpose_exceeded" | "terms_violated" | "rate_limit_exceeded";
633
- evidence_ref?: string | undefined;
634
- details?: string | undefined;
635
- }[];
636
- state: "filed" | "acknowledged" | "under_review" | "escalated" | "resolved" | "rejected" | "appealed" | "final";
637
- supporting_receipts?: string[] | undefined;
638
- supporting_attributions?: string[] | undefined;
639
- supporting_documents?: {
640
- uri: string;
641
- content_hash?: {
642
- value: string;
643
- alg: "sha-256";
644
- enc: "base64url";
645
- } | undefined;
646
- description?: string | undefined;
647
- }[] | undefined;
648
- contact?: {
649
- value: string;
650
- method: "email" | "url" | "did";
651
- } | undefined;
652
- state_changed_at?: string | undefined;
653
- state_reason?: string | undefined;
654
- resolution?: {
655
- outcome: "upheld" | "dismissed" | "partially_upheld" | "settled";
656
- decided_at: string;
657
- decided_by: string;
658
- rationale: string;
659
- remediation?: {
660
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
661
- details: string;
662
- deadline?: string | undefined;
663
- } | undefined;
664
- } | undefined;
665
- window_hint_days?: number | undefined;
666
- }>;
455
+ }, z.core.$strict>;
667
456
  export type DisputeEvidence = z.infer<typeof DisputeEvidenceSchema>;
668
457
  /**
669
458
  * Attestation type literal for disputes.
@@ -694,415 +483,108 @@ export declare const DISPUTE_TYPE: "peac/dispute";
694
483
  * ```
695
484
  */
696
485
  export declare const DisputeAttestationSchema: z.ZodObject<{
697
- /** Attestation type (MUST be 'peac/dispute') */
698
486
  type: z.ZodLiteral<"peac/dispute">;
699
- /** Party filing the dispute (REQUIRED) */
700
487
  issuer: z.ZodString;
701
- /** When the dispute was filed (REQUIRED) */
702
488
  issued_at: z.ZodString;
703
- /** When the dispute expires (OPTIONAL) */
704
489
  expires_at: z.ZodOptional<z.ZodString>;
705
- /** Unique dispute reference in ULID format (REQUIRED) */
706
490
  ref: z.ZodString;
707
- /** Dispute evidence and state */
708
- evidence: z.ZodEffects<z.ZodObject<{
709
- /** Type of dispute (REQUIRED) */
710
- dispute_type: z.ZodEnum<["unauthorized_access", "attribution_missing", "attribution_incorrect", "receipt_invalid", "identity_spoofed", "purpose_mismatch", "policy_violation", "other"]>;
711
- /** Reference to disputed target: jti:{id}, URL, or URN (REQUIRED) */
491
+ evidence: z.ZodObject<{
492
+ dispute_type: z.ZodEnum<{
493
+ unauthorized_access: "unauthorized_access";
494
+ attribution_missing: "attribution_missing";
495
+ attribution_incorrect: "attribution_incorrect";
496
+ receipt_invalid: "receipt_invalid";
497
+ identity_spoofed: "identity_spoofed";
498
+ purpose_mismatch: "purpose_mismatch";
499
+ policy_violation: "policy_violation";
500
+ other: "other";
501
+ }>;
712
502
  target_ref: z.ZodString;
713
- /** Type of target being disputed (REQUIRED) */
714
- target_type: z.ZodEnum<["receipt", "attribution", "identity", "policy"]>;
715
- /** Grounds for the dispute (REQUIRED, at least 1) */
503
+ target_type: z.ZodEnum<{
504
+ receipt: "receipt";
505
+ attribution: "attribution";
506
+ identity: "identity";
507
+ policy: "policy";
508
+ }>;
716
509
  grounds: z.ZodArray<z.ZodObject<{
717
- /** Specific code for this ground (REQUIRED) */
718
- code: z.ZodEnum<["missing_receipt", "expired_receipt", "forged_receipt", "receipt_not_applicable", "content_not_used", "source_misidentified", "usage_type_wrong", "weight_inaccurate", "agent_impersonation", "key_compromise", "delegation_invalid", "purpose_exceeded", "terms_violated", "rate_limit_exceeded"]>;
719
- /** Reference to supporting evidence (OPTIONAL) */
510
+ code: z.ZodEnum<{
511
+ missing_receipt: "missing_receipt";
512
+ expired_receipt: "expired_receipt";
513
+ forged_receipt: "forged_receipt";
514
+ receipt_not_applicable: "receipt_not_applicable";
515
+ content_not_used: "content_not_used";
516
+ source_misidentified: "source_misidentified";
517
+ usage_type_wrong: "usage_type_wrong";
518
+ weight_inaccurate: "weight_inaccurate";
519
+ agent_impersonation: "agent_impersonation";
520
+ key_compromise: "key_compromise";
521
+ delegation_invalid: "delegation_invalid";
522
+ purpose_exceeded: "purpose_exceeded";
523
+ terms_violated: "terms_violated";
524
+ rate_limit_exceeded: "rate_limit_exceeded";
525
+ }>;
720
526
  evidence_ref: z.ZodOptional<z.ZodString>;
721
- /** Additional context for this ground (OPTIONAL) */
722
527
  details: z.ZodOptional<z.ZodString>;
723
- }, "strict", z.ZodTypeAny, {
724
- code: "missing_receipt" | "expired_receipt" | "forged_receipt" | "receipt_not_applicable" | "content_not_used" | "source_misidentified" | "usage_type_wrong" | "weight_inaccurate" | "agent_impersonation" | "key_compromise" | "delegation_invalid" | "purpose_exceeded" | "terms_violated" | "rate_limit_exceeded";
725
- evidence_ref?: string | undefined;
726
- details?: string | undefined;
727
- }, {
728
- code: "missing_receipt" | "expired_receipt" | "forged_receipt" | "receipt_not_applicable" | "content_not_used" | "source_misidentified" | "usage_type_wrong" | "weight_inaccurate" | "agent_impersonation" | "key_compromise" | "delegation_invalid" | "purpose_exceeded" | "terms_violated" | "rate_limit_exceeded";
729
- evidence_ref?: string | undefined;
730
- details?: string | undefined;
731
- }>, "many">;
732
- /** Human-readable description (REQUIRED) */
528
+ }, z.core.$strict>>;
733
529
  description: z.ZodString;
734
- /** Receipt references supporting the claim (OPTIONAL) */
735
- supporting_receipts: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
736
- /** Attribution references supporting the claim (OPTIONAL) */
737
- supporting_attributions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
738
- /** External document references (OPTIONAL) */
530
+ supporting_receipts: z.ZodOptional<z.ZodArray<z.ZodString>>;
531
+ supporting_attributions: z.ZodOptional<z.ZodArray<z.ZodString>>;
739
532
  supporting_documents: z.ZodOptional<z.ZodArray<z.ZodObject<{
740
- /** URI of the document (REQUIRED) */
741
533
  uri: z.ZodString;
742
- /** Content hash for integrity verification (OPTIONAL) */
743
534
  content_hash: z.ZodOptional<z.ZodObject<{
744
535
  alg: z.ZodLiteral<"sha-256">;
745
536
  value: z.ZodString;
746
537
  enc: z.ZodLiteral<"base64url">;
747
- }, "strict", z.ZodTypeAny, {
748
- value: string;
749
- alg: "sha-256";
750
- enc: "base64url";
751
- }, {
752
- value: string;
753
- alg: "sha-256";
754
- enc: "base64url";
755
- }>>;
756
- /** Brief description of the document (OPTIONAL) */
538
+ }, z.core.$strict>>;
757
539
  description: z.ZodOptional<z.ZodString>;
758
- }, "strict", z.ZodTypeAny, {
759
- uri: string;
760
- content_hash?: {
761
- value: string;
762
- alg: "sha-256";
763
- enc: "base64url";
764
- } | undefined;
765
- description?: string | undefined;
766
- }, {
767
- uri: string;
768
- content_hash?: {
769
- value: string;
770
- alg: "sha-256";
771
- enc: "base64url";
772
- } | undefined;
773
- description?: string | undefined;
774
- }>, "many">>;
775
- /** Contact for dispute resolution (OPTIONAL) */
776
- contact: z.ZodOptional<z.ZodEffects<z.ZodObject<{
777
- /** Contact method (REQUIRED) */
778
- method: z.ZodEnum<["email", "url", "did"]>;
779
- /** Contact value (REQUIRED) */
540
+ }, z.core.$strict>>>;
541
+ contact: z.ZodOptional<z.ZodObject<{
542
+ method: z.ZodEnum<{
543
+ email: "email";
544
+ url: "url";
545
+ did: "did";
546
+ }>;
780
547
  value: z.ZodString;
781
- }, "strict", z.ZodTypeAny, {
782
- value: string;
783
- method: "email" | "url" | "did";
784
- }, {
785
- value: string;
786
- method: "email" | "url" | "did";
787
- }>, {
788
- value: string;
789
- method: "email" | "url" | "did";
790
- }, {
791
- value: string;
792
- method: "email" | "url" | "did";
793
- }>>;
794
- /** Current lifecycle state (REQUIRED) */
795
- state: z.ZodEnum<["filed", "acknowledged", "under_review", "escalated", "resolved", "rejected", "appealed", "final"]>;
796
- /** When state was last changed (OPTIONAL) */
548
+ }, z.core.$strict>>;
549
+ state: z.ZodEnum<{
550
+ filed: "filed";
551
+ acknowledged: "acknowledged";
552
+ under_review: "under_review";
553
+ escalated: "escalated";
554
+ resolved: "resolved";
555
+ rejected: "rejected";
556
+ appealed: "appealed";
557
+ final: "final";
558
+ }>;
797
559
  state_changed_at: z.ZodOptional<z.ZodString>;
798
- /** Reason for state change (OPTIONAL) */
799
560
  state_reason: z.ZodOptional<z.ZodString>;
800
- /** Resolution details (REQUIRED for terminal states) */
801
561
  resolution: z.ZodOptional<z.ZodObject<{
802
- /** Outcome of the dispute (REQUIRED) */
803
- outcome: z.ZodEnum<["upheld", "dismissed", "partially_upheld", "settled"]>;
804
- /** When the decision was made (REQUIRED) */
562
+ outcome: z.ZodEnum<{
563
+ upheld: "upheld";
564
+ dismissed: "dismissed";
565
+ partially_upheld: "partially_upheld";
566
+ settled: "settled";
567
+ }>;
805
568
  decided_at: z.ZodString;
806
- /** Who made the decision (REQUIRED) */
807
569
  decided_by: z.ZodString;
808
- /** Explanation of the decision (REQUIRED) */
809
570
  rationale: z.ZodString;
810
- /** Remediation action if applicable (OPTIONAL) */
811
571
  remediation: z.ZodOptional<z.ZodObject<{
812
- /** Type of remediation (REQUIRED) */
813
- type: z.ZodEnum<["attribution_corrected", "receipt_revoked", "access_restored", "compensation", "policy_updated", "no_action", "other"]>;
814
- /** Details of the remediation action (REQUIRED) */
572
+ type: z.ZodEnum<{
573
+ other: "other";
574
+ attribution_corrected: "attribution_corrected";
575
+ receipt_revoked: "receipt_revoked";
576
+ access_restored: "access_restored";
577
+ compensation: "compensation";
578
+ policy_updated: "policy_updated";
579
+ no_action: "no_action";
580
+ }>;
815
581
  details: z.ZodString;
816
- /** Deadline for completing remediation (OPTIONAL) */
817
582
  deadline: z.ZodOptional<z.ZodString>;
818
- }, "strict", z.ZodTypeAny, {
819
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
820
- details: string;
821
- deadline?: string | undefined;
822
- }, {
823
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
824
- details: string;
825
- deadline?: string | undefined;
826
- }>>;
827
- }, "strict", z.ZodTypeAny, {
828
- outcome: "upheld" | "dismissed" | "partially_upheld" | "settled";
829
- decided_at: string;
830
- decided_by: string;
831
- rationale: string;
832
- remediation?: {
833
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
834
- details: string;
835
- deadline?: string | undefined;
836
- } | undefined;
837
- }, {
838
- outcome: "upheld" | "dismissed" | "partially_upheld" | "settled";
839
- decided_at: string;
840
- decided_by: string;
841
- rationale: string;
842
- remediation?: {
843
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
844
- details: string;
845
- deadline?: string | undefined;
846
- } | undefined;
847
- }>>;
848
- /** Advisory: filing window used by issuer in days (OPTIONAL, informative only) */
583
+ }, z.core.$strict>>;
584
+ }, z.core.$strict>>;
849
585
  window_hint_days: z.ZodOptional<z.ZodNumber>;
850
- }, "strict", z.ZodTypeAny, {
851
- description: string;
852
- dispute_type: "unauthorized_access" | "attribution_missing" | "attribution_incorrect" | "receipt_invalid" | "identity_spoofed" | "purpose_mismatch" | "policy_violation" | "other";
853
- target_ref: string;
854
- target_type: "receipt" | "attribution" | "identity" | "policy";
855
- grounds: {
856
- code: "missing_receipt" | "expired_receipt" | "forged_receipt" | "receipt_not_applicable" | "content_not_used" | "source_misidentified" | "usage_type_wrong" | "weight_inaccurate" | "agent_impersonation" | "key_compromise" | "delegation_invalid" | "purpose_exceeded" | "terms_violated" | "rate_limit_exceeded";
857
- evidence_ref?: string | undefined;
858
- details?: string | undefined;
859
- }[];
860
- state: "filed" | "acknowledged" | "under_review" | "escalated" | "resolved" | "rejected" | "appealed" | "final";
861
- supporting_receipts?: string[] | undefined;
862
- supporting_attributions?: string[] | undefined;
863
- supporting_documents?: {
864
- uri: string;
865
- content_hash?: {
866
- value: string;
867
- alg: "sha-256";
868
- enc: "base64url";
869
- } | undefined;
870
- description?: string | undefined;
871
- }[] | undefined;
872
- contact?: {
873
- value: string;
874
- method: "email" | "url" | "did";
875
- } | undefined;
876
- state_changed_at?: string | undefined;
877
- state_reason?: string | undefined;
878
- resolution?: {
879
- outcome: "upheld" | "dismissed" | "partially_upheld" | "settled";
880
- decided_at: string;
881
- decided_by: string;
882
- rationale: string;
883
- remediation?: {
884
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
885
- details: string;
886
- deadline?: string | undefined;
887
- } | undefined;
888
- } | undefined;
889
- window_hint_days?: number | undefined;
890
- }, {
891
- description: string;
892
- dispute_type: "unauthorized_access" | "attribution_missing" | "attribution_incorrect" | "receipt_invalid" | "identity_spoofed" | "purpose_mismatch" | "policy_violation" | "other";
893
- target_ref: string;
894
- target_type: "receipt" | "attribution" | "identity" | "policy";
895
- grounds: {
896
- code: "missing_receipt" | "expired_receipt" | "forged_receipt" | "receipt_not_applicable" | "content_not_used" | "source_misidentified" | "usage_type_wrong" | "weight_inaccurate" | "agent_impersonation" | "key_compromise" | "delegation_invalid" | "purpose_exceeded" | "terms_violated" | "rate_limit_exceeded";
897
- evidence_ref?: string | undefined;
898
- details?: string | undefined;
899
- }[];
900
- state: "filed" | "acknowledged" | "under_review" | "escalated" | "resolved" | "rejected" | "appealed" | "final";
901
- supporting_receipts?: string[] | undefined;
902
- supporting_attributions?: string[] | undefined;
903
- supporting_documents?: {
904
- uri: string;
905
- content_hash?: {
906
- value: string;
907
- alg: "sha-256";
908
- enc: "base64url";
909
- } | undefined;
910
- description?: string | undefined;
911
- }[] | undefined;
912
- contact?: {
913
- value: string;
914
- method: "email" | "url" | "did";
915
- } | undefined;
916
- state_changed_at?: string | undefined;
917
- state_reason?: string | undefined;
918
- resolution?: {
919
- outcome: "upheld" | "dismissed" | "partially_upheld" | "settled";
920
- decided_at: string;
921
- decided_by: string;
922
- rationale: string;
923
- remediation?: {
924
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
925
- details: string;
926
- deadline?: string | undefined;
927
- } | undefined;
928
- } | undefined;
929
- window_hint_days?: number | undefined;
930
- }>, {
931
- description: string;
932
- dispute_type: "unauthorized_access" | "attribution_missing" | "attribution_incorrect" | "receipt_invalid" | "identity_spoofed" | "purpose_mismatch" | "policy_violation" | "other";
933
- target_ref: string;
934
- target_type: "receipt" | "attribution" | "identity" | "policy";
935
- grounds: {
936
- code: "missing_receipt" | "expired_receipt" | "forged_receipt" | "receipt_not_applicable" | "content_not_used" | "source_misidentified" | "usage_type_wrong" | "weight_inaccurate" | "agent_impersonation" | "key_compromise" | "delegation_invalid" | "purpose_exceeded" | "terms_violated" | "rate_limit_exceeded";
937
- evidence_ref?: string | undefined;
938
- details?: string | undefined;
939
- }[];
940
- state: "filed" | "acknowledged" | "under_review" | "escalated" | "resolved" | "rejected" | "appealed" | "final";
941
- supporting_receipts?: string[] | undefined;
942
- supporting_attributions?: string[] | undefined;
943
- supporting_documents?: {
944
- uri: string;
945
- content_hash?: {
946
- value: string;
947
- alg: "sha-256";
948
- enc: "base64url";
949
- } | undefined;
950
- description?: string | undefined;
951
- }[] | undefined;
952
- contact?: {
953
- value: string;
954
- method: "email" | "url" | "did";
955
- } | undefined;
956
- state_changed_at?: string | undefined;
957
- state_reason?: string | undefined;
958
- resolution?: {
959
- outcome: "upheld" | "dismissed" | "partially_upheld" | "settled";
960
- decided_at: string;
961
- decided_by: string;
962
- rationale: string;
963
- remediation?: {
964
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
965
- details: string;
966
- deadline?: string | undefined;
967
- } | undefined;
968
- } | undefined;
969
- window_hint_days?: number | undefined;
970
- }, {
971
- description: string;
972
- dispute_type: "unauthorized_access" | "attribution_missing" | "attribution_incorrect" | "receipt_invalid" | "identity_spoofed" | "purpose_mismatch" | "policy_violation" | "other";
973
- target_ref: string;
974
- target_type: "receipt" | "attribution" | "identity" | "policy";
975
- grounds: {
976
- code: "missing_receipt" | "expired_receipt" | "forged_receipt" | "receipt_not_applicable" | "content_not_used" | "source_misidentified" | "usage_type_wrong" | "weight_inaccurate" | "agent_impersonation" | "key_compromise" | "delegation_invalid" | "purpose_exceeded" | "terms_violated" | "rate_limit_exceeded";
977
- evidence_ref?: string | undefined;
978
- details?: string | undefined;
979
- }[];
980
- state: "filed" | "acknowledged" | "under_review" | "escalated" | "resolved" | "rejected" | "appealed" | "final";
981
- supporting_receipts?: string[] | undefined;
982
- supporting_attributions?: string[] | undefined;
983
- supporting_documents?: {
984
- uri: string;
985
- content_hash?: {
986
- value: string;
987
- alg: "sha-256";
988
- enc: "base64url";
989
- } | undefined;
990
- description?: string | undefined;
991
- }[] | undefined;
992
- contact?: {
993
- value: string;
994
- method: "email" | "url" | "did";
995
- } | undefined;
996
- state_changed_at?: string | undefined;
997
- state_reason?: string | undefined;
998
- resolution?: {
999
- outcome: "upheld" | "dismissed" | "partially_upheld" | "settled";
1000
- decided_at: string;
1001
- decided_by: string;
1002
- rationale: string;
1003
- remediation?: {
1004
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
1005
- details: string;
1006
- deadline?: string | undefined;
1007
- } | undefined;
1008
- } | undefined;
1009
- window_hint_days?: number | undefined;
1010
- }>;
1011
- }, "strict", z.ZodTypeAny, {
1012
- type: "peac/dispute";
1013
- issuer: string;
1014
- issued_at: string;
1015
- ref: string;
1016
- evidence: {
1017
- description: string;
1018
- dispute_type: "unauthorized_access" | "attribution_missing" | "attribution_incorrect" | "receipt_invalid" | "identity_spoofed" | "purpose_mismatch" | "policy_violation" | "other";
1019
- target_ref: string;
1020
- target_type: "receipt" | "attribution" | "identity" | "policy";
1021
- grounds: {
1022
- code: "missing_receipt" | "expired_receipt" | "forged_receipt" | "receipt_not_applicable" | "content_not_used" | "source_misidentified" | "usage_type_wrong" | "weight_inaccurate" | "agent_impersonation" | "key_compromise" | "delegation_invalid" | "purpose_exceeded" | "terms_violated" | "rate_limit_exceeded";
1023
- evidence_ref?: string | undefined;
1024
- details?: string | undefined;
1025
- }[];
1026
- state: "filed" | "acknowledged" | "under_review" | "escalated" | "resolved" | "rejected" | "appealed" | "final";
1027
- supporting_receipts?: string[] | undefined;
1028
- supporting_attributions?: string[] | undefined;
1029
- supporting_documents?: {
1030
- uri: string;
1031
- content_hash?: {
1032
- value: string;
1033
- alg: "sha-256";
1034
- enc: "base64url";
1035
- } | undefined;
1036
- description?: string | undefined;
1037
- }[] | undefined;
1038
- contact?: {
1039
- value: string;
1040
- method: "email" | "url" | "did";
1041
- } | undefined;
1042
- state_changed_at?: string | undefined;
1043
- state_reason?: string | undefined;
1044
- resolution?: {
1045
- outcome: "upheld" | "dismissed" | "partially_upheld" | "settled";
1046
- decided_at: string;
1047
- decided_by: string;
1048
- rationale: string;
1049
- remediation?: {
1050
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
1051
- details: string;
1052
- deadline?: string | undefined;
1053
- } | undefined;
1054
- } | undefined;
1055
- window_hint_days?: number | undefined;
1056
- };
1057
- expires_at?: string | undefined;
1058
- }, {
1059
- type: "peac/dispute";
1060
- issuer: string;
1061
- issued_at: string;
1062
- ref: string;
1063
- evidence: {
1064
- description: string;
1065
- dispute_type: "unauthorized_access" | "attribution_missing" | "attribution_incorrect" | "receipt_invalid" | "identity_spoofed" | "purpose_mismatch" | "policy_violation" | "other";
1066
- target_ref: string;
1067
- target_type: "receipt" | "attribution" | "identity" | "policy";
1068
- grounds: {
1069
- code: "missing_receipt" | "expired_receipt" | "forged_receipt" | "receipt_not_applicable" | "content_not_used" | "source_misidentified" | "usage_type_wrong" | "weight_inaccurate" | "agent_impersonation" | "key_compromise" | "delegation_invalid" | "purpose_exceeded" | "terms_violated" | "rate_limit_exceeded";
1070
- evidence_ref?: string | undefined;
1071
- details?: string | undefined;
1072
- }[];
1073
- state: "filed" | "acknowledged" | "under_review" | "escalated" | "resolved" | "rejected" | "appealed" | "final";
1074
- supporting_receipts?: string[] | undefined;
1075
- supporting_attributions?: string[] | undefined;
1076
- supporting_documents?: {
1077
- uri: string;
1078
- content_hash?: {
1079
- value: string;
1080
- alg: "sha-256";
1081
- enc: "base64url";
1082
- } | undefined;
1083
- description?: string | undefined;
1084
- }[] | undefined;
1085
- contact?: {
1086
- value: string;
1087
- method: "email" | "url" | "did";
1088
- } | undefined;
1089
- state_changed_at?: string | undefined;
1090
- state_reason?: string | undefined;
1091
- resolution?: {
1092
- outcome: "upheld" | "dismissed" | "partially_upheld" | "settled";
1093
- decided_at: string;
1094
- decided_by: string;
1095
- rationale: string;
1096
- remediation?: {
1097
- type: "other" | "attribution_corrected" | "receipt_revoked" | "access_restored" | "compensation" | "policy_updated" | "no_action";
1098
- details: string;
1099
- deadline?: string | undefined;
1100
- } | undefined;
1101
- } | undefined;
1102
- window_hint_days?: number | undefined;
1103
- };
1104
- expires_at?: string | undefined;
1105
- }>;
586
+ }, z.core.$strict>;
587
+ }, z.core.$strict>;
1106
588
  export type DisputeAttestation = z.infer<typeof DisputeAttestationSchema>;
1107
589
  /**
1108
590
  * Validate a DisputeAttestation.