@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,329 @@
1
+ /**
2
+ * Vorion v2 Retention Schema (ERPL)
3
+ *
4
+ * Defines retention policies and legal holds per ERPL spec.
5
+ * WORM compliance, legal holds, cryptographic sealing.
6
+ */
7
+ import { z } from 'zod';
8
+ export declare const RetentionPolicySchema: z.ZodObject<{
9
+ id: z.ZodString;
10
+ schemaVersion: z.ZodDefault<z.ZodString>;
11
+ version: z.ZodString;
12
+ name: z.ZodString;
13
+ description: z.ZodOptional<z.ZodString>;
14
+ appliesToClassifications: z.ZodArray<z.ZodEnum<["ROUTINE", "SIGNIFICANT", "COMPLIANCE_RELEVANT", "SECURITY_RELEVANT", "INCIDENT_RELATED", "LEGAL_HOLD"]>, "many">;
15
+ appliesToSources: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
16
+ appliesToJurisdictions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
17
+ defaultRetentionDays: z.ZodNumber;
18
+ maxRetentionDays: z.ZodOptional<z.ZodNumber>;
19
+ minRetentionDays: z.ZodOptional<z.ZodNumber>;
20
+ wormEnabled: z.ZodDefault<z.ZodBoolean>;
21
+ immutablePeriodDays: z.ZodOptional<z.ZodNumber>;
22
+ deletionMethod: z.ZodEnum<["SOFT_DELETE", "HARD_DELETE", "CRYPTO_SHRED"]>;
23
+ deletionApprovalRequired: z.ZodDefault<z.ZodBoolean>;
24
+ deletionApproverRoles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
25
+ legalHoldOverridesRetention: z.ZodDefault<z.ZodBoolean>;
26
+ status: z.ZodEnum<["DRAFT", "ACTIVE", "DEPRECATED"]>;
27
+ effectiveFrom: z.ZodString;
28
+ effectiveUntil: z.ZodOptional<z.ZodString>;
29
+ createdAt: z.ZodString;
30
+ updatedAt: z.ZodString;
31
+ approvedBy: z.ZodOptional<z.ZodString>;
32
+ approvedAt: z.ZodOptional<z.ZodString>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ name: string;
35
+ id: string;
36
+ status: "DRAFT" | "ACTIVE" | "DEPRECATED";
37
+ schemaVersion: string;
38
+ createdAt: string;
39
+ version: string;
40
+ appliesToClassifications: ("ROUTINE" | "SIGNIFICANT" | "COMPLIANCE_RELEVANT" | "SECURITY_RELEVANT" | "INCIDENT_RELATED" | "LEGAL_HOLD")[];
41
+ defaultRetentionDays: number;
42
+ wormEnabled: boolean;
43
+ deletionMethod: "SOFT_DELETE" | "HARD_DELETE" | "CRYPTO_SHRED";
44
+ deletionApprovalRequired: boolean;
45
+ legalHoldOverridesRetention: boolean;
46
+ effectiveFrom: string;
47
+ updatedAt: string;
48
+ description?: string | undefined;
49
+ appliesToSources?: string[] | undefined;
50
+ appliesToJurisdictions?: string[] | undefined;
51
+ maxRetentionDays?: number | undefined;
52
+ minRetentionDays?: number | undefined;
53
+ immutablePeriodDays?: number | undefined;
54
+ deletionApproverRoles?: string[] | undefined;
55
+ effectiveUntil?: string | undefined;
56
+ approvedBy?: string | undefined;
57
+ approvedAt?: string | undefined;
58
+ }, {
59
+ name: string;
60
+ id: string;
61
+ status: "DRAFT" | "ACTIVE" | "DEPRECATED";
62
+ createdAt: string;
63
+ version: string;
64
+ appliesToClassifications: ("ROUTINE" | "SIGNIFICANT" | "COMPLIANCE_RELEVANT" | "SECURITY_RELEVANT" | "INCIDENT_RELATED" | "LEGAL_HOLD")[];
65
+ defaultRetentionDays: number;
66
+ deletionMethod: "SOFT_DELETE" | "HARD_DELETE" | "CRYPTO_SHRED";
67
+ effectiveFrom: string;
68
+ updatedAt: string;
69
+ schemaVersion?: string | undefined;
70
+ description?: string | undefined;
71
+ appliesToSources?: string[] | undefined;
72
+ appliesToJurisdictions?: string[] | undefined;
73
+ maxRetentionDays?: number | undefined;
74
+ minRetentionDays?: number | undefined;
75
+ wormEnabled?: boolean | undefined;
76
+ immutablePeriodDays?: number | undefined;
77
+ deletionApprovalRequired?: boolean | undefined;
78
+ deletionApproverRoles?: string[] | undefined;
79
+ legalHoldOverridesRetention?: boolean | undefined;
80
+ effectiveUntil?: string | undefined;
81
+ approvedBy?: string | undefined;
82
+ approvedAt?: string | undefined;
83
+ }>;
84
+ export declare const LegalHoldSchema: z.ZodObject<{
85
+ id: z.ZodString;
86
+ schemaVersion: z.ZodDefault<z.ZodString>;
87
+ name: z.ZodString;
88
+ description: z.ZodOptional<z.ZodString>;
89
+ matterReference: z.ZodOptional<z.ZodString>;
90
+ scope: z.ZodObject<{
91
+ correlationIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
92
+ evidencePackIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
93
+ actorIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
94
+ dateRangeStart: z.ZodOptional<z.ZodString>;
95
+ dateRangeEnd: z.ZodOptional<z.ZodString>;
96
+ classifications: z.ZodOptional<z.ZodArray<z.ZodEnum<["ROUTINE", "SIGNIFICANT", "COMPLIANCE_RELEVANT", "SECURITY_RELEVANT", "INCIDENT_RELATED", "LEGAL_HOLD"]>, "many">>;
97
+ customQuery: z.ZodOptional<z.ZodString>;
98
+ }, "strip", z.ZodTypeAny, {
99
+ classifications?: ("ROUTINE" | "SIGNIFICANT" | "COMPLIANCE_RELEVANT" | "SECURITY_RELEVANT" | "INCIDENT_RELATED" | "LEGAL_HOLD")[] | undefined;
100
+ correlationIds?: string[] | undefined;
101
+ evidencePackIds?: string[] | undefined;
102
+ actorIds?: string[] | undefined;
103
+ dateRangeStart?: string | undefined;
104
+ dateRangeEnd?: string | undefined;
105
+ customQuery?: string | undefined;
106
+ }, {
107
+ classifications?: ("ROUTINE" | "SIGNIFICANT" | "COMPLIANCE_RELEVANT" | "SECURITY_RELEVANT" | "INCIDENT_RELATED" | "LEGAL_HOLD")[] | undefined;
108
+ correlationIds?: string[] | undefined;
109
+ evidencePackIds?: string[] | undefined;
110
+ actorIds?: string[] | undefined;
111
+ dateRangeStart?: string | undefined;
112
+ dateRangeEnd?: string | undefined;
113
+ customQuery?: string | undefined;
114
+ }>;
115
+ preserveAllVersions: z.ZodDefault<z.ZodBoolean>;
116
+ preventModification: z.ZodDefault<z.ZodBoolean>;
117
+ preventDeletion: z.ZodDefault<z.ZodBoolean>;
118
+ notifyCustodians: z.ZodDefault<z.ZodBoolean>;
119
+ custodianEmails: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
120
+ status: z.ZodEnum<["PENDING", "ACTIVE", "RELEASED", "EXPIRED"]>;
121
+ createdAt: z.ZodString;
122
+ createdBy: z.ZodString;
123
+ activatedAt: z.ZodOptional<z.ZodString>;
124
+ releasedAt: z.ZodOptional<z.ZodString>;
125
+ releasedBy: z.ZodOptional<z.ZodString>;
126
+ releaseReason: z.ZodOptional<z.ZodString>;
127
+ expiresAt: z.ZodOptional<z.ZodString>;
128
+ holdHash: z.ZodOptional<z.ZodString>;
129
+ }, "strip", z.ZodTypeAny, {
130
+ name: string;
131
+ id: string;
132
+ status: "EXPIRED" | "PENDING" | "ACTIVE" | "RELEASED";
133
+ schemaVersion: string;
134
+ createdAt: string;
135
+ scope: {
136
+ classifications?: ("ROUTINE" | "SIGNIFICANT" | "COMPLIANCE_RELEVANT" | "SECURITY_RELEVANT" | "INCIDENT_RELATED" | "LEGAL_HOLD")[] | undefined;
137
+ correlationIds?: string[] | undefined;
138
+ evidencePackIds?: string[] | undefined;
139
+ actorIds?: string[] | undefined;
140
+ dateRangeStart?: string | undefined;
141
+ dateRangeEnd?: string | undefined;
142
+ customQuery?: string | undefined;
143
+ };
144
+ preserveAllVersions: boolean;
145
+ preventModification: boolean;
146
+ preventDeletion: boolean;
147
+ notifyCustodians: boolean;
148
+ createdBy: string;
149
+ expiresAt?: string | undefined;
150
+ description?: string | undefined;
151
+ matterReference?: string | undefined;
152
+ custodianEmails?: string[] | undefined;
153
+ activatedAt?: string | undefined;
154
+ releasedAt?: string | undefined;
155
+ releasedBy?: string | undefined;
156
+ releaseReason?: string | undefined;
157
+ holdHash?: string | undefined;
158
+ }, {
159
+ name: string;
160
+ id: string;
161
+ status: "EXPIRED" | "PENDING" | "ACTIVE" | "RELEASED";
162
+ createdAt: string;
163
+ scope: {
164
+ classifications?: ("ROUTINE" | "SIGNIFICANT" | "COMPLIANCE_RELEVANT" | "SECURITY_RELEVANT" | "INCIDENT_RELATED" | "LEGAL_HOLD")[] | undefined;
165
+ correlationIds?: string[] | undefined;
166
+ evidencePackIds?: string[] | undefined;
167
+ actorIds?: string[] | undefined;
168
+ dateRangeStart?: string | undefined;
169
+ dateRangeEnd?: string | undefined;
170
+ customQuery?: string | undefined;
171
+ };
172
+ createdBy: string;
173
+ schemaVersion?: string | undefined;
174
+ expiresAt?: string | undefined;
175
+ description?: string | undefined;
176
+ matterReference?: string | undefined;
177
+ preserveAllVersions?: boolean | undefined;
178
+ preventModification?: boolean | undefined;
179
+ preventDeletion?: boolean | undefined;
180
+ notifyCustodians?: boolean | undefined;
181
+ custodianEmails?: string[] | undefined;
182
+ activatedAt?: string | undefined;
183
+ releasedAt?: string | undefined;
184
+ releasedBy?: string | undefined;
185
+ releaseReason?: string | undefined;
186
+ holdHash?: string | undefined;
187
+ }>;
188
+ export declare const SealEventSchema: z.ZodObject<{
189
+ id: z.ZodString;
190
+ schemaVersion: z.ZodDefault<z.ZodString>;
191
+ sealType: z.ZodEnum<["EVIDENCE_SEAL", "PACK_SEAL", "PERIOD_SEAL", "COMPLIANCE_SEAL", "AUDIT_SEAL", "INCIDENT_SEAL"]>;
192
+ sealedEntityType: z.ZodString;
193
+ sealedEntityIds: z.ZodArray<z.ZodString, "many">;
194
+ evidencePackId: z.ZodOptional<z.ZodString>;
195
+ sealedContentHash: z.ZodString;
196
+ merkleRoot: z.ZodOptional<z.ZodString>;
197
+ itemCount: z.ZodNumber;
198
+ periodStart: z.ZodOptional<z.ZodString>;
199
+ periodEnd: z.ZodOptional<z.ZodString>;
200
+ algorithm: z.ZodEnum<["SHA256", "SHA384", "SHA512", "BLAKE3"]>;
201
+ signature: z.ZodString;
202
+ publicKeyId: z.ZodString;
203
+ timestampAuthority: z.ZodOptional<z.ZodString>;
204
+ timestampToken: z.ZodOptional<z.ZodString>;
205
+ previousSealId: z.ZodOptional<z.ZodString>;
206
+ previousSealHash: z.ZodOptional<z.ZodString>;
207
+ chainPosition: z.ZodOptional<z.ZodNumber>;
208
+ verificationUrl: z.ZodOptional<z.ZodString>;
209
+ verificationInstructions: z.ZodOptional<z.ZodString>;
210
+ sealedAt: z.ZodString;
211
+ sealedBy: z.ZodString;
212
+ sealHash: z.ZodString;
213
+ }, "strip", z.ZodTypeAny, {
214
+ id: string;
215
+ schemaVersion: string;
216
+ signature: string;
217
+ itemCount: number;
218
+ algorithm: "SHA256" | "SHA384" | "SHA512" | "BLAKE3";
219
+ sealType: "EVIDENCE_SEAL" | "PACK_SEAL" | "PERIOD_SEAL" | "COMPLIANCE_SEAL" | "AUDIT_SEAL" | "INCIDENT_SEAL";
220
+ sealedEntityType: string;
221
+ sealedEntityIds: string[];
222
+ sealedContentHash: string;
223
+ publicKeyId: string;
224
+ sealedAt: string;
225
+ sealedBy: string;
226
+ sealHash: string;
227
+ merkleRoot?: string | undefined;
228
+ evidencePackId?: string | undefined;
229
+ chainPosition?: number | undefined;
230
+ periodStart?: string | undefined;
231
+ periodEnd?: string | undefined;
232
+ timestampAuthority?: string | undefined;
233
+ timestampToken?: string | undefined;
234
+ previousSealId?: string | undefined;
235
+ previousSealHash?: string | undefined;
236
+ verificationUrl?: string | undefined;
237
+ verificationInstructions?: string | undefined;
238
+ }, {
239
+ id: string;
240
+ signature: string;
241
+ itemCount: number;
242
+ algorithm: "SHA256" | "SHA384" | "SHA512" | "BLAKE3";
243
+ sealType: "EVIDENCE_SEAL" | "PACK_SEAL" | "PERIOD_SEAL" | "COMPLIANCE_SEAL" | "AUDIT_SEAL" | "INCIDENT_SEAL";
244
+ sealedEntityType: string;
245
+ sealedEntityIds: string[];
246
+ sealedContentHash: string;
247
+ publicKeyId: string;
248
+ sealedAt: string;
249
+ sealedBy: string;
250
+ sealHash: string;
251
+ schemaVersion?: string | undefined;
252
+ merkleRoot?: string | undefined;
253
+ evidencePackId?: string | undefined;
254
+ chainPosition?: number | undefined;
255
+ periodStart?: string | undefined;
256
+ periodEnd?: string | undefined;
257
+ timestampAuthority?: string | undefined;
258
+ timestampToken?: string | undefined;
259
+ previousSealId?: string | undefined;
260
+ previousSealHash?: string | undefined;
261
+ verificationUrl?: string | undefined;
262
+ verificationInstructions?: string | undefined;
263
+ }>;
264
+ export declare const RetentionScheduleSchema: z.ZodObject<{
265
+ id: z.ZodString;
266
+ schemaVersion: z.ZodDefault<z.ZodString>;
267
+ evidencePackId: z.ZodString;
268
+ retentionPolicyId: z.ZodString;
269
+ legalHoldIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
270
+ retainUntil: z.ZodString;
271
+ originalRetainUntil: z.ZodString;
272
+ extensionReason: z.ZodOptional<z.ZodString>;
273
+ extendedBy: z.ZodOptional<z.ZodString>;
274
+ extendedAt: z.ZodOptional<z.ZodString>;
275
+ status: z.ZodEnum<["ACTIVE", "EXTENDED", "UNDER_HOLD", "PENDING_DELETION", "DELETED"]>;
276
+ underLegalHold: z.ZodDefault<z.ZodBoolean>;
277
+ markedForDeletionAt: z.ZodOptional<z.ZodString>;
278
+ deletionApprovedBy: z.ZodOptional<z.ZodString>;
279
+ deletionApprovedAt: z.ZodOptional<z.ZodString>;
280
+ deletedAt: z.ZodOptional<z.ZodString>;
281
+ deletionCertificate: z.ZodOptional<z.ZodString>;
282
+ createdAt: z.ZodString;
283
+ updatedAt: z.ZodString;
284
+ }, "strip", z.ZodTypeAny, {
285
+ id: string;
286
+ status: "EXTENDED" | "ACTIVE" | "UNDER_HOLD" | "PENDING_DELETION" | "DELETED";
287
+ schemaVersion: string;
288
+ createdAt: string;
289
+ evidencePackId: string;
290
+ updatedAt: string;
291
+ retentionPolicyId: string;
292
+ retainUntil: string;
293
+ originalRetainUntil: string;
294
+ underLegalHold: boolean;
295
+ legalHoldIds?: string[] | undefined;
296
+ extensionReason?: string | undefined;
297
+ extendedBy?: string | undefined;
298
+ extendedAt?: string | undefined;
299
+ markedForDeletionAt?: string | undefined;
300
+ deletionApprovedBy?: string | undefined;
301
+ deletionApprovedAt?: string | undefined;
302
+ deletedAt?: string | undefined;
303
+ deletionCertificate?: string | undefined;
304
+ }, {
305
+ id: string;
306
+ status: "EXTENDED" | "ACTIVE" | "UNDER_HOLD" | "PENDING_DELETION" | "DELETED";
307
+ createdAt: string;
308
+ evidencePackId: string;
309
+ updatedAt: string;
310
+ retentionPolicyId: string;
311
+ retainUntil: string;
312
+ originalRetainUntil: string;
313
+ schemaVersion?: string | undefined;
314
+ legalHoldIds?: string[] | undefined;
315
+ extensionReason?: string | undefined;
316
+ extendedBy?: string | undefined;
317
+ extendedAt?: string | undefined;
318
+ underLegalHold?: boolean | undefined;
319
+ markedForDeletionAt?: string | undefined;
320
+ deletionApprovedBy?: string | undefined;
321
+ deletionApprovedAt?: string | undefined;
322
+ deletedAt?: string | undefined;
323
+ deletionCertificate?: string | undefined;
324
+ }>;
325
+ export type RetentionPolicy = z.infer<typeof RetentionPolicySchema>;
326
+ export type LegalHold = z.infer<typeof LegalHoldSchema>;
327
+ export type SealEvent = z.infer<typeof SealEventSchema>;
328
+ export type RetentionSchedule = z.infer<typeof RetentionScheduleSchema>;
329
+ //# sourceMappingURL=retention.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retention.d.ts","sourceRoot":"","sources":["../../src/v2/retention.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwChC,CAAC;AAMH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0C1B,CAAC;AAMH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiD1B,CAAC;AAMH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BlC,CAAC;AAMH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,162 @@
1
+ /**
2
+ * Vorion v2 Retention Schema (ERPL)
3
+ *
4
+ * Defines retention policies and legal holds per ERPL spec.
5
+ * WORM compliance, legal holds, cryptographic sealing.
6
+ */
7
+ import { z } from 'zod';
8
+ import { UUIDSchema, TimestampSchema, SemVerSchema, HashSchema, } from '../common/primitives.js';
9
+ import { EvidenceClassificationSchema } from './evidence.js';
10
+ // ============================================================================
11
+ // RETENTION POLICY
12
+ // ============================================================================
13
+ export const RetentionPolicySchema = z.object({
14
+ // Identity
15
+ id: UUIDSchema,
16
+ schemaVersion: SemVerSchema.default('2.0.0'),
17
+ version: SemVerSchema,
18
+ // Metadata
19
+ name: z.string().min(1),
20
+ description: z.string().optional(),
21
+ // Applicability
22
+ appliesToClassifications: z.array(EvidenceClassificationSchema),
23
+ appliesToSources: z.array(z.string()).optional(),
24
+ appliesToJurisdictions: z.array(z.string()).optional(),
25
+ // Retention Rules
26
+ defaultRetentionDays: z.number().int().positive(),
27
+ maxRetentionDays: z.number().int().positive().optional(),
28
+ minRetentionDays: z.number().int().positive().optional(),
29
+ // WORM Configuration
30
+ wormEnabled: z.boolean().default(true),
31
+ immutablePeriodDays: z.number().int().nonnegative().optional(),
32
+ // Deletion Rules
33
+ deletionMethod: z.enum(['SOFT_DELETE', 'HARD_DELETE', 'CRYPTO_SHRED']),
34
+ deletionApprovalRequired: z.boolean().default(true),
35
+ deletionApproverRoles: z.array(z.string()).optional(),
36
+ // Legal Hold Override
37
+ legalHoldOverridesRetention: z.boolean().default(true),
38
+ // Lifecycle
39
+ status: z.enum(['DRAFT', 'ACTIVE', 'DEPRECATED']),
40
+ effectiveFrom: TimestampSchema,
41
+ effectiveUntil: TimestampSchema.optional(),
42
+ createdAt: TimestampSchema,
43
+ updatedAt: TimestampSchema,
44
+ approvedBy: z.string().optional(),
45
+ approvedAt: TimestampSchema.optional(),
46
+ });
47
+ // ============================================================================
48
+ // LEGAL HOLD
49
+ // ============================================================================
50
+ export const LegalHoldSchema = z.object({
51
+ // Identity
52
+ id: UUIDSchema,
53
+ schemaVersion: SemVerSchema.default('2.0.0'),
54
+ // Metadata
55
+ name: z.string().min(1),
56
+ description: z.string().optional(),
57
+ matterReference: z.string().optional(), // Legal case reference
58
+ // Scope
59
+ scope: z.object({
60
+ correlationIds: z.array(z.string()).optional(),
61
+ evidencePackIds: z.array(UUIDSchema).optional(),
62
+ actorIds: z.array(z.string()).optional(),
63
+ dateRangeStart: TimestampSchema.optional(),
64
+ dateRangeEnd: TimestampSchema.optional(),
65
+ classifications: z.array(EvidenceClassificationSchema).optional(),
66
+ customQuery: z.string().optional(),
67
+ }),
68
+ // Hold Configuration
69
+ preserveAllVersions: z.boolean().default(true),
70
+ preventModification: z.boolean().default(true),
71
+ preventDeletion: z.boolean().default(true),
72
+ // Notification
73
+ notifyCustodians: z.boolean().default(true),
74
+ custodianEmails: z.array(z.string().email()).optional(),
75
+ // Lifecycle
76
+ status: z.enum(['PENDING', 'ACTIVE', 'RELEASED', 'EXPIRED']),
77
+ createdAt: TimestampSchema,
78
+ createdBy: z.string().min(1),
79
+ activatedAt: TimestampSchema.optional(),
80
+ releasedAt: TimestampSchema.optional(),
81
+ releasedBy: z.string().optional(),
82
+ releaseReason: z.string().optional(),
83
+ expiresAt: TimestampSchema.optional(),
84
+ // Audit
85
+ holdHash: HashSchema.optional(),
86
+ });
87
+ // ============================================================================
88
+ // SEAL EVENT (Cryptographic sealing)
89
+ // ============================================================================
90
+ export const SealEventSchema = z.object({
91
+ // Identity
92
+ id: UUIDSchema,
93
+ schemaVersion: SemVerSchema.default('2.0.0'),
94
+ // Seal Type
95
+ sealType: z.enum([
96
+ 'EVIDENCE_SEAL',
97
+ 'PACK_SEAL',
98
+ 'PERIOD_SEAL',
99
+ 'COMPLIANCE_SEAL',
100
+ 'AUDIT_SEAL',
101
+ 'INCIDENT_SEAL',
102
+ ]),
103
+ // References
104
+ sealedEntityType: z.string().min(1),
105
+ sealedEntityIds: z.array(UUIDSchema),
106
+ evidencePackId: UUIDSchema.optional(),
107
+ // Seal Content
108
+ sealedContentHash: HashSchema,
109
+ merkleRoot: HashSchema.optional(),
110
+ itemCount: z.number().int().nonnegative(),
111
+ periodStart: TimestampSchema.optional(),
112
+ periodEnd: TimestampSchema.optional(),
113
+ // Cryptographic Proof
114
+ algorithm: z.enum(['SHA256', 'SHA384', 'SHA512', 'BLAKE3']),
115
+ signature: z.string(),
116
+ publicKeyId: z.string(),
117
+ timestampAuthority: z.string().optional(),
118
+ timestampToken: z.string().optional(),
119
+ // Chain
120
+ previousSealId: UUIDSchema.optional(),
121
+ previousSealHash: HashSchema.optional(),
122
+ chainPosition: z.number().int().nonnegative().optional(),
123
+ // Verification
124
+ verificationUrl: z.string().url().optional(),
125
+ verificationInstructions: z.string().optional(),
126
+ // Timing
127
+ sealedAt: TimestampSchema,
128
+ sealedBy: z.string().min(1),
129
+ // Integrity
130
+ sealHash: HashSchema,
131
+ });
132
+ // ============================================================================
133
+ // RETENTION SCHEDULE (Applied retention)
134
+ // ============================================================================
135
+ export const RetentionScheduleSchema = z.object({
136
+ // Identity
137
+ id: UUIDSchema,
138
+ schemaVersion: SemVerSchema.default('2.0.0'),
139
+ // Reference
140
+ evidencePackId: UUIDSchema,
141
+ retentionPolicyId: UUIDSchema,
142
+ legalHoldIds: z.array(UUIDSchema).optional(),
143
+ // Schedule
144
+ retainUntil: TimestampSchema,
145
+ originalRetainUntil: TimestampSchema,
146
+ extensionReason: z.string().optional(),
147
+ extendedBy: z.string().optional(),
148
+ extendedAt: TimestampSchema.optional(),
149
+ // Status
150
+ status: z.enum(['ACTIVE', 'EXTENDED', 'UNDER_HOLD', 'PENDING_DELETION', 'DELETED']),
151
+ underLegalHold: z.boolean().default(false),
152
+ // Deletion Tracking
153
+ markedForDeletionAt: TimestampSchema.optional(),
154
+ deletionApprovedBy: z.string().optional(),
155
+ deletionApprovedAt: TimestampSchema.optional(),
156
+ deletedAt: TimestampSchema.optional(),
157
+ deletionCertificate: HashSchema.optional(),
158
+ // Timing
159
+ createdAt: TimestampSchema,
160
+ updatedAt: TimestampSchema,
161
+ });
162
+ //# sourceMappingURL=retention.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retention.js","sourceRoot":"","sources":["../../src/v2/retention.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Trust Delta types - represents changes to trust state
3
+ */
4
+ import type { TrustBand } from './enums.js';
5
+ import type { TrustDimensions, TrustEvidence } from './trust-profile.js';
6
+ /**
7
+ * Reason for trust change
8
+ */
9
+ export declare enum TrustDeltaReason {
10
+ /** Positive evidence from successful execution */
11
+ POSITIVE_EVIDENCE = "positive_evidence",
12
+ /** Negative evidence from failed execution */
13
+ NEGATIVE_EVIDENCE = "negative_evidence",
14
+ /** Manual adjustment by administrator */
15
+ MANUAL_ADJUSTMENT = "manual_adjustment",
16
+ /** Time-based decay */
17
+ TIME_DECAY = "time_decay",
18
+ /** Band promotion after stability period */
19
+ BAND_PROMOTION = "band_promotion",
20
+ /** Band demotion due to incidents */
21
+ BAND_DEMOTION = "band_demotion",
22
+ /** Recalculation with new evidence */
23
+ RECALCULATION = "recalculation",
24
+ /** Observation tier change affecting ceiling */
25
+ OBSERVATION_TIER_CHANGE = "observation_tier_change",
26
+ /** Policy change affecting calculation */
27
+ POLICY_CHANGE = "policy_change"
28
+ }
29
+ /**
30
+ * Trust delta - a change in an agent's trust profile
31
+ */
32
+ export interface TrustDelta {
33
+ /** Unique delta identifier */
34
+ deltaId: string;
35
+ /** Agent whose trust changed */
36
+ agentId: string;
37
+ /** Profile ID before the change */
38
+ previousProfileId: string;
39
+ /** Profile ID after the change */
40
+ newProfileId: string;
41
+ /** Correlation ID if this resulted from an action */
42
+ correlationId?: string;
43
+ /** Why did trust change? */
44
+ reason: TrustDeltaReason;
45
+ /** Previous scores */
46
+ previousDimensions: TrustDimensions;
47
+ /** New scores */
48
+ newDimensions: TrustDimensions;
49
+ /** Previous composite score */
50
+ previousCompositeScore: number;
51
+ /** New composite score */
52
+ newCompositeScore: number;
53
+ /** Previous adjusted score */
54
+ previousAdjustedScore: number;
55
+ /** New adjusted score */
56
+ newAdjustedScore: number;
57
+ /** Previous trust band */
58
+ previousBand: TrustBand;
59
+ /** New trust band */
60
+ newBand: TrustBand;
61
+ /** Did the band change? */
62
+ bandChanged: boolean;
63
+ /** Evidence that caused this delta */
64
+ triggeringEvidence?: TrustEvidence;
65
+ /** Human-readable explanation */
66
+ explanation: string;
67
+ /** When the change occurred */
68
+ occurredAt: Date;
69
+ /** Who/what initiated the change */
70
+ initiatedBy: string;
71
+ }
72
+ /**
73
+ * Summary of trust delta for listings
74
+ */
75
+ export interface TrustDeltaSummary {
76
+ deltaId: string;
77
+ agentId: string;
78
+ reason: TrustDeltaReason;
79
+ previousAdjustedScore: number;
80
+ newAdjustedScore: number;
81
+ scoreChange: number;
82
+ bandChanged: boolean;
83
+ previousBand: TrustBand;
84
+ newBand: TrustBand;
85
+ occurredAt: Date;
86
+ }
87
+ /**
88
+ * Request to apply a manual trust adjustment
89
+ */
90
+ export interface ManualTrustAdjustmentRequest {
91
+ agentId: string;
92
+ dimension: keyof TrustDimensions;
93
+ adjustment: number;
94
+ reason: string;
95
+ initiatedBy: string;
96
+ }
97
+ /**
98
+ * Trust trend analysis
99
+ */
100
+ export interface TrustTrend {
101
+ agentId: string;
102
+ period: {
103
+ start: Date;
104
+ end: Date;
105
+ };
106
+ dataPoints: number;
107
+ startScore: number;
108
+ endScore: number;
109
+ averageScore: number;
110
+ minScore: number;
111
+ maxScore: number;
112
+ scoreChange: number;
113
+ bandChanges: number;
114
+ promotions: number;
115
+ demotions: number;
116
+ trend: 'improving' | 'stable' | 'declining';
117
+ volatility: number;
118
+ }
119
+ //# sourceMappingURL=trust-delta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trust-delta.d.ts","sourceRoot":"","sources":["../../src/v2/trust-delta.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Trust Delta types - represents changes to trust state
3
+ */
4
+ /**
5
+ * Reason for trust change
6
+ */
7
+ export var TrustDeltaReason;
8
+ (function (TrustDeltaReason) {
9
+ /** Positive evidence from successful execution */
10
+ TrustDeltaReason["POSITIVE_EVIDENCE"] = "positive_evidence";
11
+ /** Negative evidence from failed execution */
12
+ TrustDeltaReason["NEGATIVE_EVIDENCE"] = "negative_evidence";
13
+ /** Manual adjustment by administrator */
14
+ TrustDeltaReason["MANUAL_ADJUSTMENT"] = "manual_adjustment";
15
+ /** Time-based decay */
16
+ TrustDeltaReason["TIME_DECAY"] = "time_decay";
17
+ /** Band promotion after stability period */
18
+ TrustDeltaReason["BAND_PROMOTION"] = "band_promotion";
19
+ /** Band demotion due to incidents */
20
+ TrustDeltaReason["BAND_DEMOTION"] = "band_demotion";
21
+ /** Recalculation with new evidence */
22
+ TrustDeltaReason["RECALCULATION"] = "recalculation";
23
+ /** Observation tier change affecting ceiling */
24
+ TrustDeltaReason["OBSERVATION_TIER_CHANGE"] = "observation_tier_change";
25
+ /** Policy change affecting calculation */
26
+ TrustDeltaReason["POLICY_CHANGE"] = "policy_change";
27
+ })(TrustDeltaReason || (TrustDeltaReason = {}));
28
+ //# sourceMappingURL=trust-delta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trust-delta.js","sourceRoot":"","sources":["../../src/v2/trust-delta.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,MAAM,CAAN,IAAY,gBAmBX;AAnBD,WAAY,gBAAgB;IAC1B,kDAAkD;IAClD,2DAAuC,CAAA;IACvC,8CAA8C;IAC9C,2DAAuC,CAAA;IACvC,yCAAyC;IACzC,2DAAuC,CAAA;IACvC,uBAAuB;IACvB,6CAAyB,CAAA;IACzB,4CAA4C;IAC5C,qDAAiC,CAAA;IACjC,qCAAqC;IACrC,mDAA+B,CAAA;IAC/B,sCAAsC;IACtC,mDAA+B,CAAA;IAC/B,gDAAgD;IAChD,uEAAmD,CAAA;IACnD,0CAA0C;IAC1C,mDAA+B,CAAA;AACjC,CAAC,EAnBW,gBAAgB,KAAhB,gBAAgB,QAmB3B"}