@vorionsys/contracts 0.1.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 (173) hide show
  1. package/dist/aci/aci-string.d.ts +539 -0
  2. package/dist/aci/aci-string.d.ts.map +1 -0
  3. package/dist/aci/aci-string.js +563 -0
  4. package/dist/aci/aci-string.js.map +1 -0
  5. package/dist/aci/attestation.d.ts +648 -0
  6. package/dist/aci/attestation.d.ts.map +1 -0
  7. package/dist/aci/attestation.js +289 -0
  8. package/dist/aci/attestation.js.map +1 -0
  9. package/dist/aci/domains.d.ts +260 -0
  10. package/dist/aci/domains.d.ts.map +1 -0
  11. package/dist/aci/domains.js +322 -0
  12. package/dist/aci/domains.js.map +1 -0
  13. package/dist/aci/effective-permission.d.ts +371 -0
  14. package/dist/aci/effective-permission.d.ts.map +1 -0
  15. package/dist/aci/effective-permission.js +351 -0
  16. package/dist/aci/effective-permission.js.map +1 -0
  17. package/dist/aci/identity.d.ts +1100 -0
  18. package/dist/aci/identity.d.ts.map +1 -0
  19. package/dist/aci/identity.js +328 -0
  20. package/dist/aci/identity.js.map +1 -0
  21. package/dist/aci/index.d.ts +67 -0
  22. package/dist/aci/index.d.ts.map +1 -0
  23. package/dist/aci/index.js +157 -0
  24. package/dist/aci/index.js.map +1 -0
  25. package/dist/aci/jwt-claims.d.ts +756 -0
  26. package/dist/aci/jwt-claims.d.ts.map +1 -0
  27. package/dist/aci/jwt-claims.js +335 -0
  28. package/dist/aci/jwt-claims.js.map +1 -0
  29. package/dist/aci/levels.d.ts +279 -0
  30. package/dist/aci/levels.d.ts.map +1 -0
  31. package/dist/aci/levels.js +467 -0
  32. package/dist/aci/levels.js.map +1 -0
  33. package/dist/aci/mapping.d.ts +291 -0
  34. package/dist/aci/mapping.d.ts.map +1 -0
  35. package/dist/aci/mapping.js +427 -0
  36. package/dist/aci/mapping.js.map +1 -0
  37. package/dist/aci/skills.d.ts +314 -0
  38. package/dist/aci/skills.d.ts.map +1 -0
  39. package/dist/aci/skills.js +404 -0
  40. package/dist/aci/skills.js.map +1 -0
  41. package/dist/aci/tiers.d.ts +403 -0
  42. package/dist/aci/tiers.d.ts.map +1 -0
  43. package/dist/aci/tiers.js +659 -0
  44. package/dist/aci/tiers.js.map +1 -0
  45. package/dist/canonical/agent.d.ts +796 -0
  46. package/dist/canonical/agent.d.ts.map +1 -0
  47. package/dist/canonical/agent.js +527 -0
  48. package/dist/canonical/agent.js.map +1 -0
  49. package/dist/canonical/governance.d.ts +905 -0
  50. package/dist/canonical/governance.d.ts.map +1 -0
  51. package/dist/canonical/governance.js +454 -0
  52. package/dist/canonical/governance.js.map +1 -0
  53. package/dist/canonical/index.d.ts +17 -0
  54. package/dist/canonical/index.d.ts.map +1 -0
  55. package/dist/canonical/index.js +21 -0
  56. package/dist/canonical/index.js.map +1 -0
  57. package/dist/canonical/intent.d.ts +727 -0
  58. package/dist/canonical/intent.d.ts.map +1 -0
  59. package/dist/canonical/intent.js +203 -0
  60. package/dist/canonical/intent.js.map +1 -0
  61. package/dist/canonical/risk-level.d.ts +344 -0
  62. package/dist/canonical/risk-level.d.ts.map +1 -0
  63. package/dist/canonical/risk-level.js +472 -0
  64. package/dist/canonical/risk-level.js.map +1 -0
  65. package/dist/canonical/trust-band.d.ts +239 -0
  66. package/dist/canonical/trust-band.d.ts.map +1 -0
  67. package/dist/canonical/trust-band.js +298 -0
  68. package/dist/canonical/trust-band.js.map +1 -0
  69. package/dist/canonical/trust-score.d.ts +301 -0
  70. package/dist/canonical/trust-score.d.ts.map +1 -0
  71. package/dist/canonical/trust-score.js +390 -0
  72. package/dist/canonical/trust-score.js.map +1 -0
  73. package/dist/canonical/trust-signal.d.ts +617 -0
  74. package/dist/canonical/trust-signal.d.ts.map +1 -0
  75. package/dist/canonical/trust-signal.js +355 -0
  76. package/dist/canonical/trust-signal.js.map +1 -0
  77. package/dist/canonical/validation.d.ts +231 -0
  78. package/dist/canonical/validation.d.ts.map +1 -0
  79. package/dist/canonical/validation.js +558 -0
  80. package/dist/canonical/validation.js.map +1 -0
  81. package/dist/common/index.d.ts +7 -0
  82. package/dist/common/index.d.ts.map +1 -0
  83. package/dist/common/index.js +7 -0
  84. package/dist/common/index.js.map +1 -0
  85. package/dist/common/primitives.d.ts +56 -0
  86. package/dist/common/primitives.d.ts.map +1 -0
  87. package/dist/common/primitives.js +70 -0
  88. package/dist/common/primitives.js.map +1 -0
  89. package/dist/index.d.ts +11 -0
  90. package/dist/index.d.ts.map +1 -0
  91. package/dist/index.js +15 -0
  92. package/dist/index.js.map +1 -0
  93. package/dist/v2/canary-probe.d.ts +201 -0
  94. package/dist/v2/canary-probe.d.ts.map +1 -0
  95. package/dist/v2/canary-probe.js +99 -0
  96. package/dist/v2/canary-probe.js.map +1 -0
  97. package/dist/v2/component.d.ts +132 -0
  98. package/dist/v2/component.d.ts.map +1 -0
  99. package/dist/v2/component.js +5 -0
  100. package/dist/v2/component.js.map +1 -0
  101. package/dist/v2/decision.d.ts +310 -0
  102. package/dist/v2/decision.d.ts.map +1 -0
  103. package/dist/v2/decision.js +21 -0
  104. package/dist/v2/decision.js.map +1 -0
  105. package/dist/v2/enums.d.ts +185 -0
  106. package/dist/v2/enums.d.ts.map +1 -0
  107. package/dist/v2/enums.js +203 -0
  108. package/dist/v2/enums.js.map +1 -0
  109. package/dist/v2/evidence.d.ts +368 -0
  110. package/dist/v2/evidence.d.ts.map +1 -0
  111. package/dist/v2/evidence.js +152 -0
  112. package/dist/v2/evidence.js.map +1 -0
  113. package/dist/v2/execution.d.ts +190 -0
  114. package/dist/v2/execution.d.ts.map +1 -0
  115. package/dist/v2/execution.js +5 -0
  116. package/dist/v2/execution.js.map +1 -0
  117. package/dist/v2/index.d.ts +19 -0
  118. package/dist/v2/index.d.ts.map +1 -0
  119. package/dist/v2/index.js +32 -0
  120. package/dist/v2/index.js.map +1 -0
  121. package/dist/v2/intent.d.ts +89 -0
  122. package/dist/v2/intent.d.ts.map +1 -0
  123. package/dist/v2/intent.js +5 -0
  124. package/dist/v2/intent.js.map +1 -0
  125. package/dist/v2/policy-bundle.d.ts +166 -0
  126. package/dist/v2/policy-bundle.d.ts.map +1 -0
  127. package/dist/v2/policy-bundle.js +20 -0
  128. package/dist/v2/policy-bundle.js.map +1 -0
  129. package/dist/v2/pre-action-gate.d.ts +185 -0
  130. package/dist/v2/pre-action-gate.d.ts.map +1 -0
  131. package/dist/v2/pre-action-gate.js +64 -0
  132. package/dist/v2/pre-action-gate.js.map +1 -0
  133. package/dist/v2/proof-event.d.ts +201 -0
  134. package/dist/v2/proof-event.d.ts.map +1 -0
  135. package/dist/v2/proof-event.js +5 -0
  136. package/dist/v2/proof-event.js.map +1 -0
  137. package/dist/v2/retention.d.ts +329 -0
  138. package/dist/v2/retention.d.ts.map +1 -0
  139. package/dist/v2/retention.js +162 -0
  140. package/dist/v2/retention.js.map +1 -0
  141. package/dist/v2/trust-delta.d.ts +119 -0
  142. package/dist/v2/trust-delta.d.ts.map +1 -0
  143. package/dist/v2/trust-delta.js +28 -0
  144. package/dist/v2/trust-delta.js.map +1 -0
  145. package/dist/v2/trust-profile.d.ts +337 -0
  146. package/dist/v2/trust-profile.d.ts.map +1 -0
  147. package/dist/v2/trust-profile.js +96 -0
  148. package/dist/v2/trust-profile.js.map +1 -0
  149. package/dist/validators/decision.d.ts +430 -0
  150. package/dist/validators/decision.d.ts.map +1 -0
  151. package/dist/validators/decision.js +61 -0
  152. package/dist/validators/decision.js.map +1 -0
  153. package/dist/validators/enums.d.ts +24 -0
  154. package/dist/validators/enums.d.ts.map +1 -0
  155. package/dist/validators/enums.js +24 -0
  156. package/dist/validators/enums.js.map +1 -0
  157. package/dist/validators/index.d.ts +30 -0
  158. package/dist/validators/index.d.ts.map +1 -0
  159. package/dist/validators/index.js +42 -0
  160. package/dist/validators/index.js.map +1 -0
  161. package/dist/validators/intent.d.ts +229 -0
  162. package/dist/validators/intent.d.ts.map +1 -0
  163. package/dist/validators/intent.js +47 -0
  164. package/dist/validators/intent.js.map +1 -0
  165. package/dist/validators/proof-event.d.ts +981 -0
  166. package/dist/validators/proof-event.d.ts.map +1 -0
  167. package/dist/validators/proof-event.js +134 -0
  168. package/dist/validators/proof-event.js.map +1 -0
  169. package/dist/validators/trust-profile.d.ts +350 -0
  170. package/dist/validators/trust-profile.d.ts.map +1 -0
  171. package/dist/validators/trust-profile.js +65 -0
  172. package/dist/validators/trust-profile.js.map +1 -0
  173. package/package.json +65 -0
@@ -0,0 +1,648 @@
1
+ /**
2
+ * @fileoverview ACI Attestation Types
3
+ *
4
+ * Defines types for attestations - cryptographic proofs issued by certification
5
+ * authorities that verify agent capabilities, identity, or compliance.
6
+ *
7
+ * Attestations are the foundation of trust in the ACI system, providing
8
+ * verifiable evidence that an agent has been certified at a particular level.
9
+ *
10
+ * @module @vorion/contracts/aci/attestation
11
+ */
12
+ import { z } from 'zod';
13
+ import { CertificationTier } from './tiers.js';
14
+ import { type DomainCode } from './domains.js';
15
+ /**
16
+ * Scope types for attestations.
17
+ *
18
+ * Defines what aspect of an agent is being attested:
19
+ * - full: Complete capability attestation
20
+ * - domain: Single domain attestation
21
+ * - level: Level-only attestation
22
+ * - training: Training data/methodology attestation
23
+ * - security: Security audit attestation
24
+ * - compliance: Regulatory compliance attestation
25
+ * - identity: Identity verification attestation
26
+ */
27
+ export type AttestationScope = 'full' | 'domain' | 'level' | 'training' | 'security' | 'compliance' | 'identity';
28
+ /**
29
+ * Array of all attestation scopes.
30
+ */
31
+ export declare const ATTESTATION_SCOPES: readonly AttestationScope[];
32
+ /**
33
+ * Zod schema for AttestationScope validation.
34
+ */
35
+ export declare const attestationScopeSchema: z.ZodEnum<["full", "domain", "level", "training", "security", "compliance", "identity"]>;
36
+ /**
37
+ * Descriptions for attestation scopes.
38
+ */
39
+ export declare const ATTESTATION_SCOPE_DESCRIPTIONS: Readonly<Record<AttestationScope, string>>;
40
+ /**
41
+ * Status of an attestation.
42
+ */
43
+ export type AttestationStatus = 'active' | 'expired' | 'revoked' | 'suspended' | 'pending';
44
+ /**
45
+ * Zod schema for AttestationStatus validation.
46
+ */
47
+ export declare const attestationStatusSchema: z.ZodEnum<["active", "expired", "revoked", "suspended", "pending"]>;
48
+ /**
49
+ * Evidence supporting an attestation.
50
+ */
51
+ export interface AttestationEvidence {
52
+ /** URL to test results */
53
+ testResults?: string;
54
+ /** URL to audit report */
55
+ auditReport?: string;
56
+ /** URL to training data verification */
57
+ trainingVerification?: string;
58
+ /** URL to compliance documentation */
59
+ complianceDocumentation?: string;
60
+ /** Additional evidence URLs */
61
+ [key: string]: string | undefined;
62
+ }
63
+ /**
64
+ * Zod schema for AttestationEvidence validation.
65
+ */
66
+ export declare const attestationEvidenceSchema: z.ZodObject<{
67
+ testResults: z.ZodOptional<z.ZodString>;
68
+ auditReport: z.ZodOptional<z.ZodString>;
69
+ trainingVerification: z.ZodOptional<z.ZodString>;
70
+ complianceDocumentation: z.ZodOptional<z.ZodString>;
71
+ }, "strip", z.ZodOptional<z.ZodString>, z.objectOutputType<{
72
+ testResults: z.ZodOptional<z.ZodString>;
73
+ auditReport: z.ZodOptional<z.ZodString>;
74
+ trainingVerification: z.ZodOptional<z.ZodString>;
75
+ complianceDocumentation: z.ZodOptional<z.ZodString>;
76
+ }, z.ZodOptional<z.ZodString>, "strip">, z.objectInputType<{
77
+ testResults: z.ZodOptional<z.ZodString>;
78
+ auditReport: z.ZodOptional<z.ZodString>;
79
+ trainingVerification: z.ZodOptional<z.ZodString>;
80
+ complianceDocumentation: z.ZodOptional<z.ZodString>;
81
+ }, z.ZodOptional<z.ZodString>, "strip">>;
82
+ /**
83
+ * Cryptographic proof for an attestation.
84
+ *
85
+ * Follows W3C Verifiable Credentials proof format.
86
+ */
87
+ export interface AttestationProof {
88
+ /** Proof type (e.g., 'Ed25519Signature2020', 'JsonWebSignature2020') */
89
+ type: string;
90
+ /** When the proof was created (ISO 8601) */
91
+ created: string;
92
+ /** DID URL of the verification method */
93
+ verificationMethod: string;
94
+ /** Purpose of the proof (e.g., 'assertionMethod') */
95
+ proofPurpose: string;
96
+ /** JSON Web Signature */
97
+ jws: string;
98
+ /** Optional nonce for replay protection */
99
+ nonce?: string;
100
+ /** Optional challenge for interactive proofs */
101
+ challenge?: string;
102
+ /** Optional domain binding */
103
+ domain?: string;
104
+ }
105
+ /**
106
+ * Zod schema for AttestationProof validation.
107
+ */
108
+ export declare const attestationProofSchema: z.ZodObject<{
109
+ type: z.ZodString;
110
+ created: z.ZodString;
111
+ verificationMethod: z.ZodString;
112
+ proofPurpose: z.ZodString;
113
+ jws: z.ZodString;
114
+ nonce: z.ZodOptional<z.ZodString>;
115
+ challenge: z.ZodOptional<z.ZodString>;
116
+ domain: z.ZodOptional<z.ZodString>;
117
+ }, "strip", z.ZodTypeAny, {
118
+ type: string;
119
+ created: string;
120
+ verificationMethod: string;
121
+ proofPurpose: string;
122
+ jws: string;
123
+ nonce?: string | undefined;
124
+ domain?: string | undefined;
125
+ challenge?: string | undefined;
126
+ }, {
127
+ type: string;
128
+ created: string;
129
+ verificationMethod: string;
130
+ proofPurpose: string;
131
+ jws: string;
132
+ nonce?: string | undefined;
133
+ domain?: string | undefined;
134
+ challenge?: string | undefined;
135
+ }>;
136
+ /**
137
+ * Attestation from a certification authority.
138
+ *
139
+ * Represents a verifiable claim about an agent's capabilities, identity,
140
+ * or compliance status issued by a trusted certification authority.
141
+ */
142
+ export interface Attestation {
143
+ /** Unique attestation identifier */
144
+ id: string;
145
+ /** DID of the issuing certification authority */
146
+ issuer: string;
147
+ /** DID of the attested agent */
148
+ subject: string;
149
+ /** Scope of the attestation */
150
+ scope: AttestationScope;
151
+ /** Attested certification tier */
152
+ certificationTier: CertificationTier;
153
+ /** Specific domains covered (for domain scope) */
154
+ domains?: readonly DomainCode[];
155
+ /** When the attestation was issued */
156
+ issuedAt: Date;
157
+ /** When the attestation expires */
158
+ expiresAt: Date;
159
+ /** Current status */
160
+ status: AttestationStatus;
161
+ /** Evidence supporting the attestation */
162
+ evidence?: AttestationEvidence;
163
+ /** Cryptographic proof */
164
+ proof?: AttestationProof;
165
+ /** Additional metadata */
166
+ metadata?: Record<string, unknown>;
167
+ }
168
+ /**
169
+ * Zod schema for Attestation validation.
170
+ */
171
+ export declare const attestationSchema: z.ZodObject<{
172
+ id: z.ZodString;
173
+ issuer: z.ZodString;
174
+ subject: z.ZodString;
175
+ scope: z.ZodEnum<["full", "domain", "level", "training", "security", "compliance", "identity"]>;
176
+ certificationTier: z.ZodNativeEnum<typeof CertificationTier>;
177
+ domains: z.ZodOptional<z.ZodArray<z.ZodEnum<["A", "B", "C", "D", "E", "F", "G", "H", "I", "S"]>, "many">>;
178
+ issuedAt: z.ZodDate;
179
+ expiresAt: z.ZodDate;
180
+ status: z.ZodEnum<["active", "expired", "revoked", "suspended", "pending"]>;
181
+ evidence: z.ZodOptional<z.ZodObject<{
182
+ testResults: z.ZodOptional<z.ZodString>;
183
+ auditReport: z.ZodOptional<z.ZodString>;
184
+ trainingVerification: z.ZodOptional<z.ZodString>;
185
+ complianceDocumentation: z.ZodOptional<z.ZodString>;
186
+ }, "strip", z.ZodOptional<z.ZodString>, z.objectOutputType<{
187
+ testResults: z.ZodOptional<z.ZodString>;
188
+ auditReport: z.ZodOptional<z.ZodString>;
189
+ trainingVerification: z.ZodOptional<z.ZodString>;
190
+ complianceDocumentation: z.ZodOptional<z.ZodString>;
191
+ }, z.ZodOptional<z.ZodString>, "strip">, z.objectInputType<{
192
+ testResults: z.ZodOptional<z.ZodString>;
193
+ auditReport: z.ZodOptional<z.ZodString>;
194
+ trainingVerification: z.ZodOptional<z.ZodString>;
195
+ complianceDocumentation: z.ZodOptional<z.ZodString>;
196
+ }, z.ZodOptional<z.ZodString>, "strip">>>;
197
+ proof: z.ZodOptional<z.ZodObject<{
198
+ type: z.ZodString;
199
+ created: z.ZodString;
200
+ verificationMethod: z.ZodString;
201
+ proofPurpose: z.ZodString;
202
+ jws: z.ZodString;
203
+ nonce: z.ZodOptional<z.ZodString>;
204
+ challenge: z.ZodOptional<z.ZodString>;
205
+ domain: z.ZodOptional<z.ZodString>;
206
+ }, "strip", z.ZodTypeAny, {
207
+ type: string;
208
+ created: string;
209
+ verificationMethod: string;
210
+ proofPurpose: string;
211
+ jws: string;
212
+ nonce?: string | undefined;
213
+ domain?: string | undefined;
214
+ challenge?: string | undefined;
215
+ }, {
216
+ type: string;
217
+ created: string;
218
+ verificationMethod: string;
219
+ proofPurpose: string;
220
+ jws: string;
221
+ nonce?: string | undefined;
222
+ domain?: string | undefined;
223
+ challenge?: string | undefined;
224
+ }>>;
225
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
226
+ }, "strip", z.ZodTypeAny, {
227
+ id: string;
228
+ status: "active" | "suspended" | "pending" | "expired" | "revoked";
229
+ expiresAt: Date;
230
+ scope: "training" | "domain" | "security" | "compliance" | "level" | "identity" | "full";
231
+ issuer: string;
232
+ subject: string;
233
+ certificationTier: CertificationTier;
234
+ issuedAt: Date;
235
+ metadata?: Record<string, unknown> | undefined;
236
+ domains?: ("A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "S")[] | undefined;
237
+ evidence?: z.objectOutputType<{
238
+ testResults: z.ZodOptional<z.ZodString>;
239
+ auditReport: z.ZodOptional<z.ZodString>;
240
+ trainingVerification: z.ZodOptional<z.ZodString>;
241
+ complianceDocumentation: z.ZodOptional<z.ZodString>;
242
+ }, z.ZodOptional<z.ZodString>, "strip"> | undefined;
243
+ proof?: {
244
+ type: string;
245
+ created: string;
246
+ verificationMethod: string;
247
+ proofPurpose: string;
248
+ jws: string;
249
+ nonce?: string | undefined;
250
+ domain?: string | undefined;
251
+ challenge?: string | undefined;
252
+ } | undefined;
253
+ }, {
254
+ id: string;
255
+ status: "active" | "suspended" | "pending" | "expired" | "revoked";
256
+ expiresAt: Date;
257
+ scope: "training" | "domain" | "security" | "compliance" | "level" | "identity" | "full";
258
+ issuer: string;
259
+ subject: string;
260
+ certificationTier: CertificationTier;
261
+ issuedAt: Date;
262
+ metadata?: Record<string, unknown> | undefined;
263
+ domains?: ("A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "S")[] | undefined;
264
+ evidence?: z.objectInputType<{
265
+ testResults: z.ZodOptional<z.ZodString>;
266
+ auditReport: z.ZodOptional<z.ZodString>;
267
+ trainingVerification: z.ZodOptional<z.ZodString>;
268
+ complianceDocumentation: z.ZodOptional<z.ZodString>;
269
+ }, z.ZodOptional<z.ZodString>, "strip"> | undefined;
270
+ proof?: {
271
+ type: string;
272
+ created: string;
273
+ verificationMethod: string;
274
+ proofPurpose: string;
275
+ jws: string;
276
+ nonce?: string | undefined;
277
+ domain?: string | undefined;
278
+ challenge?: string | undefined;
279
+ } | undefined;
280
+ }>;
281
+ /**
282
+ * Result of attestation verification.
283
+ */
284
+ export interface AttestationVerificationResult {
285
+ /** Whether the attestation is valid */
286
+ valid: boolean;
287
+ /** Verification errors */
288
+ errors: AttestationVerificationError[];
289
+ /** Verification warnings */
290
+ warnings: AttestationVerificationWarning[];
291
+ /** Verified attestation data (if valid) */
292
+ attestation?: Attestation;
293
+ /** Verification timestamp */
294
+ verifiedAt: Date;
295
+ /** Verification method used */
296
+ verificationMethod?: string;
297
+ }
298
+ /**
299
+ * Attestation verification error.
300
+ */
301
+ export interface AttestationVerificationError {
302
+ /** Error code */
303
+ code: AttestationVerificationErrorCode;
304
+ /** Human-readable message */
305
+ message: string;
306
+ }
307
+ /**
308
+ * Error codes for attestation verification.
309
+ */
310
+ export type AttestationVerificationErrorCode = 'INVALID_SIGNATURE' | 'EXPIRED' | 'REVOKED' | 'SUSPENDED' | 'ISSUER_NOT_TRUSTED' | 'SUBJECT_MISMATCH' | 'INVALID_FORMAT' | 'PROOF_MISSING' | 'VERIFICATION_FAILED';
311
+ /**
312
+ * Attestation verification warning.
313
+ */
314
+ export interface AttestationVerificationWarning {
315
+ /** Warning code */
316
+ code: string;
317
+ /** Human-readable message */
318
+ message: string;
319
+ }
320
+ /**
321
+ * Zod schema for AttestationVerificationError.
322
+ */
323
+ export declare const attestationVerificationErrorSchema: z.ZodObject<{
324
+ code: z.ZodEnum<["INVALID_SIGNATURE", "EXPIRED", "REVOKED", "SUSPENDED", "ISSUER_NOT_TRUSTED", "SUBJECT_MISMATCH", "INVALID_FORMAT", "PROOF_MISSING", "VERIFICATION_FAILED"]>;
325
+ message: z.ZodString;
326
+ }, "strip", z.ZodTypeAny, {
327
+ code: "EXPIRED" | "INVALID_FORMAT" | "INVALID_SIGNATURE" | "REVOKED" | "SUSPENDED" | "ISSUER_NOT_TRUSTED" | "SUBJECT_MISMATCH" | "PROOF_MISSING" | "VERIFICATION_FAILED";
328
+ message: string;
329
+ }, {
330
+ code: "EXPIRED" | "INVALID_FORMAT" | "INVALID_SIGNATURE" | "REVOKED" | "SUSPENDED" | "ISSUER_NOT_TRUSTED" | "SUBJECT_MISMATCH" | "PROOF_MISSING" | "VERIFICATION_FAILED";
331
+ message: string;
332
+ }>;
333
+ /**
334
+ * Zod schema for AttestationVerificationWarning.
335
+ */
336
+ export declare const attestationVerificationWarningSchema: z.ZodObject<{
337
+ code: z.ZodString;
338
+ message: z.ZodString;
339
+ }, "strip", z.ZodTypeAny, {
340
+ code: string;
341
+ message: string;
342
+ }, {
343
+ code: string;
344
+ message: string;
345
+ }>;
346
+ /**
347
+ * Zod schema for AttestationVerificationResult.
348
+ */
349
+ export declare const attestationVerificationResultSchema: z.ZodObject<{
350
+ valid: z.ZodBoolean;
351
+ errors: z.ZodArray<z.ZodObject<{
352
+ code: z.ZodEnum<["INVALID_SIGNATURE", "EXPIRED", "REVOKED", "SUSPENDED", "ISSUER_NOT_TRUSTED", "SUBJECT_MISMATCH", "INVALID_FORMAT", "PROOF_MISSING", "VERIFICATION_FAILED"]>;
353
+ message: z.ZodString;
354
+ }, "strip", z.ZodTypeAny, {
355
+ code: "EXPIRED" | "INVALID_FORMAT" | "INVALID_SIGNATURE" | "REVOKED" | "SUSPENDED" | "ISSUER_NOT_TRUSTED" | "SUBJECT_MISMATCH" | "PROOF_MISSING" | "VERIFICATION_FAILED";
356
+ message: string;
357
+ }, {
358
+ code: "EXPIRED" | "INVALID_FORMAT" | "INVALID_SIGNATURE" | "REVOKED" | "SUSPENDED" | "ISSUER_NOT_TRUSTED" | "SUBJECT_MISMATCH" | "PROOF_MISSING" | "VERIFICATION_FAILED";
359
+ message: string;
360
+ }>, "many">;
361
+ warnings: z.ZodArray<z.ZodObject<{
362
+ code: z.ZodString;
363
+ message: z.ZodString;
364
+ }, "strip", z.ZodTypeAny, {
365
+ code: string;
366
+ message: string;
367
+ }, {
368
+ code: string;
369
+ message: string;
370
+ }>, "many">;
371
+ attestation: z.ZodOptional<z.ZodObject<{
372
+ id: z.ZodString;
373
+ issuer: z.ZodString;
374
+ subject: z.ZodString;
375
+ scope: z.ZodEnum<["full", "domain", "level", "training", "security", "compliance", "identity"]>;
376
+ certificationTier: z.ZodNativeEnum<typeof CertificationTier>;
377
+ domains: z.ZodOptional<z.ZodArray<z.ZodEnum<["A", "B", "C", "D", "E", "F", "G", "H", "I", "S"]>, "many">>;
378
+ issuedAt: z.ZodDate;
379
+ expiresAt: z.ZodDate;
380
+ status: z.ZodEnum<["active", "expired", "revoked", "suspended", "pending"]>;
381
+ evidence: z.ZodOptional<z.ZodObject<{
382
+ testResults: z.ZodOptional<z.ZodString>;
383
+ auditReport: z.ZodOptional<z.ZodString>;
384
+ trainingVerification: z.ZodOptional<z.ZodString>;
385
+ complianceDocumentation: z.ZodOptional<z.ZodString>;
386
+ }, "strip", z.ZodOptional<z.ZodString>, z.objectOutputType<{
387
+ testResults: z.ZodOptional<z.ZodString>;
388
+ auditReport: z.ZodOptional<z.ZodString>;
389
+ trainingVerification: z.ZodOptional<z.ZodString>;
390
+ complianceDocumentation: z.ZodOptional<z.ZodString>;
391
+ }, z.ZodOptional<z.ZodString>, "strip">, z.objectInputType<{
392
+ testResults: z.ZodOptional<z.ZodString>;
393
+ auditReport: z.ZodOptional<z.ZodString>;
394
+ trainingVerification: z.ZodOptional<z.ZodString>;
395
+ complianceDocumentation: z.ZodOptional<z.ZodString>;
396
+ }, z.ZodOptional<z.ZodString>, "strip">>>;
397
+ proof: z.ZodOptional<z.ZodObject<{
398
+ type: z.ZodString;
399
+ created: z.ZodString;
400
+ verificationMethod: z.ZodString;
401
+ proofPurpose: z.ZodString;
402
+ jws: z.ZodString;
403
+ nonce: z.ZodOptional<z.ZodString>;
404
+ challenge: z.ZodOptional<z.ZodString>;
405
+ domain: z.ZodOptional<z.ZodString>;
406
+ }, "strip", z.ZodTypeAny, {
407
+ type: string;
408
+ created: string;
409
+ verificationMethod: string;
410
+ proofPurpose: string;
411
+ jws: string;
412
+ nonce?: string | undefined;
413
+ domain?: string | undefined;
414
+ challenge?: string | undefined;
415
+ }, {
416
+ type: string;
417
+ created: string;
418
+ verificationMethod: string;
419
+ proofPurpose: string;
420
+ jws: string;
421
+ nonce?: string | undefined;
422
+ domain?: string | undefined;
423
+ challenge?: string | undefined;
424
+ }>>;
425
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
426
+ }, "strip", z.ZodTypeAny, {
427
+ id: string;
428
+ status: "active" | "suspended" | "pending" | "expired" | "revoked";
429
+ expiresAt: Date;
430
+ scope: "training" | "domain" | "security" | "compliance" | "level" | "identity" | "full";
431
+ issuer: string;
432
+ subject: string;
433
+ certificationTier: CertificationTier;
434
+ issuedAt: Date;
435
+ metadata?: Record<string, unknown> | undefined;
436
+ domains?: ("A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "S")[] | undefined;
437
+ evidence?: z.objectOutputType<{
438
+ testResults: z.ZodOptional<z.ZodString>;
439
+ auditReport: z.ZodOptional<z.ZodString>;
440
+ trainingVerification: z.ZodOptional<z.ZodString>;
441
+ complianceDocumentation: z.ZodOptional<z.ZodString>;
442
+ }, z.ZodOptional<z.ZodString>, "strip"> | undefined;
443
+ proof?: {
444
+ type: string;
445
+ created: string;
446
+ verificationMethod: string;
447
+ proofPurpose: string;
448
+ jws: string;
449
+ nonce?: string | undefined;
450
+ domain?: string | undefined;
451
+ challenge?: string | undefined;
452
+ } | undefined;
453
+ }, {
454
+ id: string;
455
+ status: "active" | "suspended" | "pending" | "expired" | "revoked";
456
+ expiresAt: Date;
457
+ scope: "training" | "domain" | "security" | "compliance" | "level" | "identity" | "full";
458
+ issuer: string;
459
+ subject: string;
460
+ certificationTier: CertificationTier;
461
+ issuedAt: Date;
462
+ metadata?: Record<string, unknown> | undefined;
463
+ domains?: ("A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "S")[] | undefined;
464
+ evidence?: z.objectInputType<{
465
+ testResults: z.ZodOptional<z.ZodString>;
466
+ auditReport: z.ZodOptional<z.ZodString>;
467
+ trainingVerification: z.ZodOptional<z.ZodString>;
468
+ complianceDocumentation: z.ZodOptional<z.ZodString>;
469
+ }, z.ZodOptional<z.ZodString>, "strip"> | undefined;
470
+ proof?: {
471
+ type: string;
472
+ created: string;
473
+ verificationMethod: string;
474
+ proofPurpose: string;
475
+ jws: string;
476
+ nonce?: string | undefined;
477
+ domain?: string | undefined;
478
+ challenge?: string | undefined;
479
+ } | undefined;
480
+ }>>;
481
+ verifiedAt: z.ZodDate;
482
+ verificationMethod: z.ZodOptional<z.ZodString>;
483
+ }, "strip", z.ZodTypeAny, {
484
+ valid: boolean;
485
+ errors: {
486
+ code: "EXPIRED" | "INVALID_FORMAT" | "INVALID_SIGNATURE" | "REVOKED" | "SUSPENDED" | "ISSUER_NOT_TRUSTED" | "SUBJECT_MISMATCH" | "PROOF_MISSING" | "VERIFICATION_FAILED";
487
+ message: string;
488
+ }[];
489
+ warnings: {
490
+ code: string;
491
+ message: string;
492
+ }[];
493
+ verifiedAt: Date;
494
+ attestation?: {
495
+ id: string;
496
+ status: "active" | "suspended" | "pending" | "expired" | "revoked";
497
+ expiresAt: Date;
498
+ scope: "training" | "domain" | "security" | "compliance" | "level" | "identity" | "full";
499
+ issuer: string;
500
+ subject: string;
501
+ certificationTier: CertificationTier;
502
+ issuedAt: Date;
503
+ metadata?: Record<string, unknown> | undefined;
504
+ domains?: ("A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "S")[] | undefined;
505
+ evidence?: z.objectOutputType<{
506
+ testResults: z.ZodOptional<z.ZodString>;
507
+ auditReport: z.ZodOptional<z.ZodString>;
508
+ trainingVerification: z.ZodOptional<z.ZodString>;
509
+ complianceDocumentation: z.ZodOptional<z.ZodString>;
510
+ }, z.ZodOptional<z.ZodString>, "strip"> | undefined;
511
+ proof?: {
512
+ type: string;
513
+ created: string;
514
+ verificationMethod: string;
515
+ proofPurpose: string;
516
+ jws: string;
517
+ nonce?: string | undefined;
518
+ domain?: string | undefined;
519
+ challenge?: string | undefined;
520
+ } | undefined;
521
+ } | undefined;
522
+ verificationMethod?: string | undefined;
523
+ }, {
524
+ valid: boolean;
525
+ errors: {
526
+ code: "EXPIRED" | "INVALID_FORMAT" | "INVALID_SIGNATURE" | "REVOKED" | "SUSPENDED" | "ISSUER_NOT_TRUSTED" | "SUBJECT_MISMATCH" | "PROOF_MISSING" | "VERIFICATION_FAILED";
527
+ message: string;
528
+ }[];
529
+ warnings: {
530
+ code: string;
531
+ message: string;
532
+ }[];
533
+ verifiedAt: Date;
534
+ attestation?: {
535
+ id: string;
536
+ status: "active" | "suspended" | "pending" | "expired" | "revoked";
537
+ expiresAt: Date;
538
+ scope: "training" | "domain" | "security" | "compliance" | "level" | "identity" | "full";
539
+ issuer: string;
540
+ subject: string;
541
+ certificationTier: CertificationTier;
542
+ issuedAt: Date;
543
+ metadata?: Record<string, unknown> | undefined;
544
+ domains?: ("A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "S")[] | undefined;
545
+ evidence?: z.objectInputType<{
546
+ testResults: z.ZodOptional<z.ZodString>;
547
+ auditReport: z.ZodOptional<z.ZodString>;
548
+ trainingVerification: z.ZodOptional<z.ZodString>;
549
+ complianceDocumentation: z.ZodOptional<z.ZodString>;
550
+ }, z.ZodOptional<z.ZodString>, "strip"> | undefined;
551
+ proof?: {
552
+ type: string;
553
+ created: string;
554
+ verificationMethod: string;
555
+ proofPurpose: string;
556
+ jws: string;
557
+ nonce?: string | undefined;
558
+ domain?: string | undefined;
559
+ challenge?: string | undefined;
560
+ } | undefined;
561
+ } | undefined;
562
+ verificationMethod?: string | undefined;
563
+ }>;
564
+ /**
565
+ * Options for creating an attestation.
566
+ */
567
+ export interface CreateAttestationOptions {
568
+ /** Unique identifier (auto-generated if not provided) */
569
+ id?: string;
570
+ /** DID of the issuing certification authority */
571
+ issuer: string;
572
+ /** DID of the attested agent */
573
+ subject: string;
574
+ /** Scope of the attestation */
575
+ scope: AttestationScope;
576
+ /** Attested certification tier */
577
+ certificationTier: CertificationTier;
578
+ /** Specific domains covered (for domain scope) */
579
+ domains?: readonly DomainCode[];
580
+ /** Validity duration in milliseconds */
581
+ validityMs?: number;
582
+ /** Evidence supporting the attestation */
583
+ evidence?: AttestationEvidence;
584
+ /** Additional metadata */
585
+ metadata?: Record<string, unknown>;
586
+ }
587
+ /**
588
+ * Creates a new attestation.
589
+ *
590
+ * @param options - Attestation creation options
591
+ * @returns New attestation (without proof - must be signed separately)
592
+ *
593
+ * @example
594
+ * ```typescript
595
+ * const attestation = createAttestation({
596
+ * issuer: 'did:web:certifier.example.com',
597
+ * subject: 'did:web:agent.acme.com',
598
+ * scope: 'full',
599
+ * certificationTier: CertificationTier.T3_CERTIFIED,
600
+ * validityMs: 365 * 24 * 60 * 60 * 1000, // 1 year
601
+ * });
602
+ * ```
603
+ */
604
+ export declare function createAttestation(options: CreateAttestationOptions): Attestation;
605
+ /**
606
+ * Verifies an attestation (basic validation without cryptographic verification).
607
+ *
608
+ * This function performs structural and temporal validation. Cryptographic
609
+ * verification of the proof requires additional libraries and is not
610
+ * performed here.
611
+ *
612
+ * @param attestation - The attestation to verify
613
+ * @param expectedSubject - Optional expected subject DID
614
+ * @param trustedIssuers - Optional list of trusted issuer DIDs
615
+ * @returns Verification result
616
+ */
617
+ export declare function verifyAttestation(attestation: Attestation, expectedSubject?: string, trustedIssuers?: readonly string[]): AttestationVerificationResult;
618
+ /**
619
+ * Checks if an attestation is currently valid.
620
+ *
621
+ * @param attestation - The attestation to check
622
+ * @returns True if the attestation is valid
623
+ */
624
+ export declare function isAttestationValid(attestation: Attestation): boolean;
625
+ /**
626
+ * Gets the remaining validity duration of an attestation.
627
+ *
628
+ * @param attestation - The attestation to check
629
+ * @returns Remaining validity in milliseconds (negative if expired)
630
+ */
631
+ export declare function getAttestationRemainingValidity(attestation: Attestation): number;
632
+ /**
633
+ * Checks if an attestation covers a specific domain.
634
+ *
635
+ * @param attestation - The attestation to check
636
+ * @param domain - The domain to check for
637
+ * @returns True if the attestation covers the domain
638
+ */
639
+ export declare function attestationCoversDomain(attestation: Attestation, domain: DomainCode): boolean;
640
+ /**
641
+ * Type guard to check if a value is a valid AttestationScope.
642
+ */
643
+ export declare function isAttestationScope(value: unknown): value is AttestationScope;
644
+ /**
645
+ * Type guard to check if a value is a valid AttestationStatus.
646
+ */
647
+ export declare function isAttestationStatus(value: unknown): value is AttestationStatus;
648
+ //# sourceMappingURL=attestation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attestation.d.ts","sourceRoot":"","sources":["../../src/aci/attestation.ts"],"names":[],"mappings":"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"}