@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.
- package/dist/agent-identity.d.ts +62 -416
- package/dist/agent-identity.d.ts.map +1 -1
- package/dist/attestation-receipt.d.ts +5 -39
- package/dist/attestation-receipt.d.ts.map +1 -1
- package/dist/attribution.cjs +4 -2
- package/dist/attribution.cjs.map +1 -1
- package/dist/attribution.d.ts +69 -448
- package/dist/attribution.d.ts.map +1 -1
- package/dist/attribution.mjs +4 -2
- package/dist/attribution.mjs.map +1 -1
- package/dist/constraints.d.ts +68 -0
- package/dist/constraints.d.ts.map +1 -0
- package/dist/dispute.d.ts +262 -780
- package/dist/dispute.d.ts.map +1 -1
- package/dist/errors.d.ts +13 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/index.cjs +125 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +123 -11
- package/dist/index.mjs.map +1 -1
- package/dist/interaction.cjs +1 -1
- package/dist/interaction.cjs.map +1 -1
- package/dist/interaction.d.ts +104 -596
- package/dist/interaction.d.ts.map +1 -1
- package/dist/interaction.mjs +1 -1
- package/dist/interaction.mjs.map +1 -1
- package/dist/json.d.ts +4 -3
- package/dist/json.d.ts.map +1 -1
- package/dist/obligations.d.ts +39 -139
- package/dist/obligations.d.ts.map +1 -1
- package/dist/receipt-parser.cjs +4 -2
- package/dist/receipt-parser.cjs.map +1 -1
- package/dist/receipt-parser.mjs +4 -2
- package/dist/receipt-parser.mjs.map +1 -1
- package/dist/validators.d.ts +200 -659
- package/dist/validators.d.ts.map +1 -1
- package/dist/workflow.d.ts +32 -345
- package/dist/workflow.d.ts.map +1 -1
- 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<
|
|
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<
|
|
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<
|
|
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
|
-
|
|
110
|
-
|
|
111
|
-
|
|
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
|
-
},
|
|
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<
|
|
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<
|
|
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<
|
|
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
|
-
|
|
215
|
-
|
|
216
|
-
|
|
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
|
-
},
|
|
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
|
-
|
|
237
|
-
|
|
238
|
-
|
|
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
|
-
|
|
247
|
-
|
|
248
|
-
|
|
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
|
-
},
|
|
253
|
-
|
|
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<
|
|
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.
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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.
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
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
|
-
|
|
370
|
-
|
|
371
|
-
|
|
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
|
-
|
|
374
|
-
|
|
375
|
-
|
|
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
|
-
},
|
|
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
|
-
|
|
391
|
-
|
|
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
|
-
},
|
|
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
|
-
},
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
}
|
|
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
|
-
},
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
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
|
-
|
|
459
|
-
|
|
460
|
-
|
|
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
|
-
|
|
469
|
-
|
|
470
|
-
|
|
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
|
-
},
|
|
475
|
-
|
|
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
|
-
},
|
|
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
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
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
|
-
|
|
714
|
-
|
|
715
|
-
|
|
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
|
-
|
|
718
|
-
|
|
719
|
-
|
|
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
|
-
},
|
|
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
|
-
|
|
735
|
-
|
|
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
|
-
},
|
|
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
|
-
},
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
}
|
|
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
|
-
},
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
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
|
-
|
|
803
|
-
|
|
804
|
-
|
|
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
|
-
|
|
813
|
-
|
|
814
|
-
|
|
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
|
-
},
|
|
819
|
-
|
|
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
|
-
},
|
|
851
|
-
|
|
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.
|