@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,558 @@
1
+ /**
2
+ * Canonical Validation Module
3
+ *
4
+ * Runtime validation functions and type guards for all canonical types
5
+ * in the Vorion Platform.
6
+ *
7
+ * Use these functions to validate data at runtime boundaries (API inputs,
8
+ * external data sources, configuration loading, etc.)
9
+ *
10
+ * @packageDocumentation
11
+ */
12
+ import { TrustBand, ObservationTier, DataSensitivity, Reversibility, ActionType, ProofEventType, ComponentType, ComponentStatus, ApprovalType, OBSERVATION_CEILINGS, } from '../v2/enums.js';
13
+ import { DEFAULT_TRUST_WEIGHTS, DEFAULT_BAND_THRESHOLDS, RiskProfile, } from '../v2/trust-profile.js';
14
+ import { TrustDeltaReason } from '../v2/trust-delta.js';
15
+ import { DenialReason } from '../v2/decision.js';
16
+ // ============================================================================
17
+ // Constants
18
+ // ============================================================================
19
+ /**
20
+ * Valid range for trust scores (0-1000 canonical scale)
21
+ */
22
+ export const TRUST_SCORE_RANGE = {
23
+ min: 0,
24
+ max: 1000,
25
+ };
26
+ /**
27
+ * Valid range for trust dimension scores (0-100 percentage scale)
28
+ * Note: Dimensions use 0-100 percentage, composite score uses 0-1000
29
+ */
30
+ export const DIMENSION_SCORE_RANGE = {
31
+ min: 0,
32
+ max: 100,
33
+ };
34
+ /**
35
+ * Valid range for trust weights (must sum to 1.0)
36
+ */
37
+ export const WEIGHT_RANGE = {
38
+ min: 0,
39
+ max: 1,
40
+ };
41
+ // ============================================================================
42
+ // Validation Error Class
43
+ // ============================================================================
44
+ /**
45
+ * Custom error class for validation failures
46
+ */
47
+ export class ValidationError extends Error {
48
+ field;
49
+ value;
50
+ expected;
51
+ constructor(message, field, value, expected) {
52
+ super(`${field}: ${message} (got ${JSON.stringify(value)}, expected ${expected})`);
53
+ this.field = field;
54
+ this.value = value;
55
+ this.expected = expected;
56
+ this.name = 'ValidationError';
57
+ }
58
+ }
59
+ // ============================================================================
60
+ // Type Guards - TrustBand
61
+ // ============================================================================
62
+ /**
63
+ * Check if a value is a valid TrustBand
64
+ */
65
+ export function isTrustBand(value) {
66
+ return typeof value === 'number' && Object.values(TrustBand).includes(value);
67
+ }
68
+ /**
69
+ * Check if a value is a valid TrustBand name (string form)
70
+ */
71
+ export function isTrustBandName(value) {
72
+ return typeof value === 'string' && value in TrustBand;
73
+ }
74
+ /**
75
+ * Assert that a value is a valid TrustBand
76
+ * @throws ValidationError if invalid
77
+ */
78
+ export function assertValidTrustBand(value, field = 'trustBand') {
79
+ if (!isTrustBand(value)) {
80
+ throw new ValidationError('Invalid trust band', field, value, `one of ${Object.keys(TrustBand)
81
+ .filter((k) => isNaN(Number(k)))
82
+ .join(', ')}`);
83
+ }
84
+ }
85
+ /**
86
+ * Parse a trust band from string or number
87
+ */
88
+ export function parseTrustBand(value) {
89
+ if (typeof value === 'number' && isTrustBand(value)) {
90
+ return value;
91
+ }
92
+ if (typeof value === 'string') {
93
+ // Try as enum key (e.g., "T3_MONITORED")
94
+ if (value in TrustBand) {
95
+ return TrustBand[value];
96
+ }
97
+ // Try as short form (e.g., "T3")
98
+ const shortFormMatch = value.match(/^T(\d)$/i);
99
+ if (shortFormMatch && shortFormMatch[1]) {
100
+ const level = parseInt(shortFormMatch[1], 10);
101
+ if (level >= 0 && level <= 7) {
102
+ return level;
103
+ }
104
+ }
105
+ }
106
+ return null;
107
+ }
108
+ // ============================================================================
109
+ // Type Guards - TrustScore
110
+ // ============================================================================
111
+ /**
112
+ * Check if a value is a valid trust score (0-100)
113
+ */
114
+ export function isTrustScore(value) {
115
+ return (typeof value === 'number' &&
116
+ !isNaN(value) &&
117
+ value >= TRUST_SCORE_RANGE.min &&
118
+ value <= TRUST_SCORE_RANGE.max);
119
+ }
120
+ /**
121
+ * Assert that a value is a valid trust score
122
+ * @throws ValidationError if invalid
123
+ */
124
+ export function assertValidTrustScore(value, field = 'trustScore') {
125
+ if (!isTrustScore(value)) {
126
+ throw new ValidationError('Invalid trust score', field, value, `number between ${TRUST_SCORE_RANGE.min} and ${TRUST_SCORE_RANGE.max}`);
127
+ }
128
+ }
129
+ /**
130
+ * Clamp a trust score to valid range
131
+ */
132
+ export function clampTrustScore(value) {
133
+ return Math.max(TRUST_SCORE_RANGE.min, Math.min(TRUST_SCORE_RANGE.max, value));
134
+ }
135
+ /**
136
+ * Round a trust score to specified decimal places
137
+ */
138
+ export function roundTrustScore(value, decimals = 2) {
139
+ const multiplier = Math.pow(10, decimals);
140
+ return Math.round(value * multiplier) / multiplier;
141
+ }
142
+ // ============================================================================
143
+ // Type Guards - ObservationTier
144
+ // ============================================================================
145
+ /**
146
+ * Check if a value is a valid ObservationTier
147
+ */
148
+ export function isObservationTier(value) {
149
+ return typeof value === 'string' && Object.values(ObservationTier).includes(value);
150
+ }
151
+ /**
152
+ * Assert that a value is a valid ObservationTier
153
+ * @throws ValidationError if invalid
154
+ */
155
+ export function assertValidObservationTier(value, field = 'observationTier') {
156
+ if (!isObservationTier(value)) {
157
+ throw new ValidationError('Invalid observation tier', field, value, `one of ${Object.values(ObservationTier).join(', ')}`);
158
+ }
159
+ }
160
+ /**
161
+ * Get the trust ceiling for an observation tier
162
+ */
163
+ export function getObservationCeiling(tier) {
164
+ return OBSERVATION_CEILINGS[tier];
165
+ }
166
+ /**
167
+ * Apply observation ceiling to a trust score
168
+ */
169
+ export function applyObservationCeiling(score, tier) {
170
+ const ceiling = getObservationCeiling(tier);
171
+ return Math.min(score, ceiling);
172
+ }
173
+ // ============================================================================
174
+ // Type Guards - DataSensitivity
175
+ // ============================================================================
176
+ /**
177
+ * Check if a value is a valid DataSensitivity
178
+ */
179
+ export function isDataSensitivity(value) {
180
+ return typeof value === 'string' && Object.values(DataSensitivity).includes(value);
181
+ }
182
+ /**
183
+ * Assert that a value is a valid DataSensitivity
184
+ * @throws ValidationError if invalid
185
+ */
186
+ export function assertValidDataSensitivity(value, field = 'dataSensitivity') {
187
+ if (!isDataSensitivity(value)) {
188
+ throw new ValidationError('Invalid data sensitivity', field, value, `one of ${Object.values(DataSensitivity).join(', ')}`);
189
+ }
190
+ }
191
+ /**
192
+ * Get numeric severity level for data sensitivity (0-3)
193
+ */
194
+ export function getDataSensitivityLevel(sensitivity) {
195
+ const levels = {
196
+ [DataSensitivity.PUBLIC]: 0,
197
+ [DataSensitivity.INTERNAL]: 1,
198
+ [DataSensitivity.CONFIDENTIAL]: 2,
199
+ [DataSensitivity.RESTRICTED]: 3,
200
+ };
201
+ return levels[sensitivity];
202
+ }
203
+ // ============================================================================
204
+ // Type Guards - Reversibility
205
+ // ============================================================================
206
+ /**
207
+ * Check if a value is a valid Reversibility
208
+ */
209
+ export function isReversibility(value) {
210
+ return typeof value === 'string' && Object.values(Reversibility).includes(value);
211
+ }
212
+ /**
213
+ * Assert that a value is a valid Reversibility
214
+ * @throws ValidationError if invalid
215
+ */
216
+ export function assertValidReversibility(value, field = 'reversibility') {
217
+ if (!isReversibility(value)) {
218
+ throw new ValidationError('Invalid reversibility', field, value, `one of ${Object.values(Reversibility).join(', ')}`);
219
+ }
220
+ }
221
+ // ============================================================================
222
+ // Type Guards - ActionType
223
+ // ============================================================================
224
+ /**
225
+ * Check if a value is a valid ActionType
226
+ */
227
+ export function isActionType(value) {
228
+ return typeof value === 'string' && Object.values(ActionType).includes(value);
229
+ }
230
+ /**
231
+ * Assert that a value is a valid ActionType
232
+ * @throws ValidationError if invalid
233
+ */
234
+ export function assertValidActionType(value, field = 'actionType') {
235
+ if (!isActionType(value)) {
236
+ throw new ValidationError('Invalid action type', field, value, `one of ${Object.values(ActionType).join(', ')}`);
237
+ }
238
+ }
239
+ // ============================================================================
240
+ // Type Guards - ProofEventType
241
+ // ============================================================================
242
+ /**
243
+ * Check if a value is a valid ProofEventType
244
+ */
245
+ export function isProofEventType(value) {
246
+ return typeof value === 'string' && Object.values(ProofEventType).includes(value);
247
+ }
248
+ /**
249
+ * Assert that a value is a valid ProofEventType
250
+ * @throws ValidationError if invalid
251
+ */
252
+ export function assertValidProofEventType(value, field = 'proofEventType') {
253
+ if (!isProofEventType(value)) {
254
+ throw new ValidationError('Invalid proof event type', field, value, `one of ${Object.values(ProofEventType).join(', ')}`);
255
+ }
256
+ }
257
+ // ============================================================================
258
+ // Type Guards - ComponentType
259
+ // ============================================================================
260
+ /**
261
+ * Check if a value is a valid ComponentType
262
+ */
263
+ export function isComponentType(value) {
264
+ return typeof value === 'string' && Object.values(ComponentType).includes(value);
265
+ }
266
+ /**
267
+ * Assert that a value is a valid ComponentType
268
+ * @throws ValidationError if invalid
269
+ */
270
+ export function assertValidComponentType(value, field = 'componentType') {
271
+ if (!isComponentType(value)) {
272
+ throw new ValidationError('Invalid component type', field, value, `one of ${Object.values(ComponentType).join(', ')}`);
273
+ }
274
+ }
275
+ // ============================================================================
276
+ // Type Guards - ComponentStatus
277
+ // ============================================================================
278
+ /**
279
+ * Check if a value is a valid ComponentStatus
280
+ */
281
+ export function isComponentStatus(value) {
282
+ return typeof value === 'string' && Object.values(ComponentStatus).includes(value);
283
+ }
284
+ /**
285
+ * Assert that a value is a valid ComponentStatus
286
+ * @throws ValidationError if invalid
287
+ */
288
+ export function assertValidComponentStatus(value, field = 'componentStatus') {
289
+ if (!isComponentStatus(value)) {
290
+ throw new ValidationError('Invalid component status', field, value, `one of ${Object.values(ComponentStatus).join(', ')}`);
291
+ }
292
+ }
293
+ // ============================================================================
294
+ // Type Guards - ApprovalType
295
+ // ============================================================================
296
+ /**
297
+ * Check if a value is a valid ApprovalType
298
+ */
299
+ export function isApprovalType(value) {
300
+ return typeof value === 'string' && Object.values(ApprovalType).includes(value);
301
+ }
302
+ /**
303
+ * Assert that a value is a valid ApprovalType
304
+ * @throws ValidationError if invalid
305
+ */
306
+ export function assertValidApprovalType(value, field = 'approvalType') {
307
+ if (!isApprovalType(value)) {
308
+ throw new ValidationError('Invalid approval type', field, value, `one of ${Object.values(ApprovalType).join(', ')}`);
309
+ }
310
+ }
311
+ // ============================================================================
312
+ // Type Guards - TrustDeltaReason
313
+ // ============================================================================
314
+ /**
315
+ * Check if a value is a valid TrustDeltaReason
316
+ */
317
+ export function isTrustDeltaReason(value) {
318
+ return typeof value === 'string' && Object.values(TrustDeltaReason).includes(value);
319
+ }
320
+ /**
321
+ * Assert that a value is a valid TrustDeltaReason
322
+ * @throws ValidationError if invalid
323
+ */
324
+ export function assertValidTrustDeltaReason(value, field = 'trustDeltaReason') {
325
+ if (!isTrustDeltaReason(value)) {
326
+ throw new ValidationError('Invalid trust delta reason', field, value, `one of ${Object.values(TrustDeltaReason).join(', ')}`);
327
+ }
328
+ }
329
+ // ============================================================================
330
+ // Type Guards - DenialReason
331
+ // ============================================================================
332
+ /**
333
+ * Check if a value is a valid DenialReason
334
+ */
335
+ export function isDenialReason(value) {
336
+ return typeof value === 'string' && Object.values(DenialReason).includes(value);
337
+ }
338
+ /**
339
+ * Assert that a value is a valid DenialReason
340
+ * @throws ValidationError if invalid
341
+ */
342
+ export function assertValidDenialReason(value, field = 'denialReason') {
343
+ if (!isDenialReason(value)) {
344
+ throw new ValidationError('Invalid denial reason', field, value, `one of ${Object.values(DenialReason).join(', ')}`);
345
+ }
346
+ }
347
+ // ============================================================================
348
+ // Type Guards - RiskProfile
349
+ // ============================================================================
350
+ /**
351
+ * Check if a value is a valid RiskProfile
352
+ */
353
+ export function isRiskProfile(value) {
354
+ return typeof value === 'string' && Object.values(RiskProfile).includes(value);
355
+ }
356
+ /**
357
+ * Assert that a value is a valid RiskProfile
358
+ * @throws ValidationError if invalid
359
+ */
360
+ export function assertValidRiskProfile(value, field = 'riskProfile') {
361
+ if (!isRiskProfile(value)) {
362
+ throw new ValidationError('Invalid risk profile', field, value, `one of ${Object.values(RiskProfile).join(', ')}`);
363
+ }
364
+ }
365
+ // ============================================================================
366
+ // Composite Type Guards - TrustDimensions
367
+ // ============================================================================
368
+ /**
369
+ * Check if a value has valid TrustDimensions structure
370
+ */
371
+ export function isTrustDimensions(value) {
372
+ if (typeof value !== 'object' || value === null) {
373
+ return false;
374
+ }
375
+ const dimensions = value;
376
+ const requiredKeys = ['CT', 'BT', 'GT', 'XT', 'AC'];
377
+ return requiredKeys.every((key) => key in dimensions &&
378
+ typeof dimensions[key] === 'number' &&
379
+ dimensions[key] >= DIMENSION_SCORE_RANGE.min &&
380
+ dimensions[key] <= DIMENSION_SCORE_RANGE.max);
381
+ }
382
+ /**
383
+ * Assert that a value has valid TrustDimensions
384
+ * @throws ValidationError if invalid
385
+ */
386
+ export function assertValidTrustDimensions(value, field = 'trustDimensions') {
387
+ if (typeof value !== 'object' || value === null) {
388
+ throw new ValidationError('Invalid trust dimensions', field, value, 'object with CT, BT, GT, XT, AC');
389
+ }
390
+ const dimensions = value;
391
+ const requiredKeys = ['CT', 'BT', 'GT', 'XT', 'AC'];
392
+ for (const key of requiredKeys) {
393
+ if (!(key in dimensions)) {
394
+ throw new ValidationError(`Missing dimension ${key}`, `${field}.${key}`, undefined, `number 0-100`);
395
+ }
396
+ const dimValue = dimensions[key];
397
+ if (typeof dimValue !== 'number' || isNaN(dimValue)) {
398
+ throw new ValidationError(`Invalid dimension ${key}`, `${field}.${key}`, dimValue, `number 0-100`);
399
+ }
400
+ if (dimValue < DIMENSION_SCORE_RANGE.min || dimValue > DIMENSION_SCORE_RANGE.max) {
401
+ throw new ValidationError(`Dimension ${key} out of range`, `${field}.${key}`, dimValue, `number between ${DIMENSION_SCORE_RANGE.min} and ${DIMENSION_SCORE_RANGE.max}`);
402
+ }
403
+ }
404
+ }
405
+ // ============================================================================
406
+ // Composite Type Guards - TrustWeights
407
+ // ============================================================================
408
+ /**
409
+ * Check if a value has valid TrustWeights structure
410
+ */
411
+ export function isTrustWeights(value) {
412
+ if (typeof value !== 'object' || value === null) {
413
+ return false;
414
+ }
415
+ const weights = value;
416
+ const requiredKeys = ['CT', 'BT', 'GT', 'XT', 'AC'];
417
+ const hasValidKeys = requiredKeys.every((key) => key in weights &&
418
+ typeof weights[key] === 'number' &&
419
+ weights[key] >= WEIGHT_RANGE.min &&
420
+ weights[key] <= WEIGHT_RANGE.max);
421
+ if (!hasValidKeys) {
422
+ return false;
423
+ }
424
+ // Check sum equals 1.0 (with tolerance for floating point)
425
+ const sum = requiredKeys.reduce((acc, key) => acc + weights[key], 0);
426
+ return Math.abs(sum - 1.0) < 0.001;
427
+ }
428
+ /**
429
+ * Assert that a value has valid TrustWeights
430
+ * @throws ValidationError if invalid
431
+ */
432
+ export function assertValidTrustWeights(value, field = 'trustWeights') {
433
+ if (typeof value !== 'object' || value === null) {
434
+ throw new ValidationError('Invalid trust weights', field, value, 'object with CT, BT, GT, XT, AC summing to 1.0');
435
+ }
436
+ const weights = value;
437
+ const requiredKeys = ['CT', 'BT', 'GT', 'XT', 'AC'];
438
+ let sum = 0;
439
+ for (const key of requiredKeys) {
440
+ if (!(key in weights)) {
441
+ throw new ValidationError(`Missing weight ${key}`, `${field}.${key}`, undefined, `number 0-1`);
442
+ }
443
+ const weightValue = weights[key];
444
+ if (typeof weightValue !== 'number' || isNaN(weightValue)) {
445
+ throw new ValidationError(`Invalid weight ${key}`, `${field}.${key}`, weightValue, `number 0-1`);
446
+ }
447
+ if (weightValue < WEIGHT_RANGE.min || weightValue > WEIGHT_RANGE.max) {
448
+ throw new ValidationError(`Weight ${key} out of range`, `${field}.${key}`, weightValue, `number between ${WEIGHT_RANGE.min} and ${WEIGHT_RANGE.max}`);
449
+ }
450
+ sum += weightValue;
451
+ }
452
+ if (Math.abs(sum - 1.0) >= 0.001) {
453
+ throw new ValidationError('Weights do not sum to 1.0', field, sum, '1.0');
454
+ }
455
+ }
456
+ // ============================================================================
457
+ // Band Threshold Validation
458
+ // ============================================================================
459
+ /**
460
+ * Check if a value has valid BandThresholds structure
461
+ */
462
+ export function isBandThresholds(value) {
463
+ if (typeof value !== 'object' || value === null) {
464
+ return false;
465
+ }
466
+ const thresholds = value;
467
+ const requiredBands = ['T0', 'T1', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'];
468
+ return requiredBands.every((band) => {
469
+ const bandValue = thresholds[band];
470
+ if (typeof bandValue !== 'object' || bandValue === null) {
471
+ return false;
472
+ }
473
+ const range = bandValue;
474
+ return (typeof range.min === 'number' &&
475
+ typeof range.max === 'number' &&
476
+ range.min >= 0 &&
477
+ range.max <= 100 &&
478
+ range.min <= range.max);
479
+ });
480
+ }
481
+ /**
482
+ * Assert that a value has valid BandThresholds
483
+ * @throws ValidationError if invalid
484
+ */
485
+ export function assertValidBandThresholds(value, field = 'bandThresholds') {
486
+ if (typeof value !== 'object' || value === null) {
487
+ throw new ValidationError('Invalid band thresholds', field, value, 'object with T0-T7 ranges');
488
+ }
489
+ const thresholds = value;
490
+ const requiredBands = ['T0', 'T1', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'];
491
+ for (const band of requiredBands) {
492
+ if (!(band in thresholds)) {
493
+ throw new ValidationError(`Missing band ${band}`, `${field}.${band}`, undefined, `{min: number, max: number}`);
494
+ }
495
+ const bandValue = thresholds[band];
496
+ if (typeof bandValue !== 'object' || bandValue === null) {
497
+ throw new ValidationError(`Invalid band ${band}`, `${field}.${band}`, bandValue, `{min: number, max: number}`);
498
+ }
499
+ const range = bandValue;
500
+ if (typeof range.min !== 'number' || typeof range.max !== 'number') {
501
+ throw new ValidationError(`Invalid band ${band} range`, `${field}.${band}`, range, `{min: number, max: number}`);
502
+ }
503
+ if (range.min < 0 || range.max > 100 || range.min > range.max) {
504
+ throw new ValidationError(`Band ${band} range out of bounds`, `${field}.${band}`, range, `min >= 0, max <= 100, min <= max`);
505
+ }
506
+ }
507
+ }
508
+ // ============================================================================
509
+ // Utility Functions
510
+ // ============================================================================
511
+ /**
512
+ * Calculate the trust band for a given score using default thresholds
513
+ */
514
+ export function calculateTrustBand(score, thresholds = DEFAULT_BAND_THRESHOLDS) {
515
+ assertValidTrustScore(score);
516
+ if (score <= thresholds.T0.max)
517
+ return TrustBand.T0_SANDBOX;
518
+ if (score <= thresholds.T1.max)
519
+ return TrustBand.T1_OBSERVED;
520
+ if (score <= thresholds.T2.max)
521
+ return TrustBand.T2_PROVISIONAL;
522
+ if (score <= thresholds.T3.max)
523
+ return TrustBand.T3_MONITORED;
524
+ if (score <= thresholds.T4.max)
525
+ return TrustBand.T4_STANDARD;
526
+ if (score <= thresholds.T5.max)
527
+ return TrustBand.T5_TRUSTED;
528
+ if (score <= thresholds.T6.max)
529
+ return TrustBand.T6_CERTIFIED;
530
+ return TrustBand.T7_AUTONOMOUS;
531
+ }
532
+ /**
533
+ * Calculate composite trust score from dimensions
534
+ */
535
+ export function calculateCompositeScore(dimensions, weights = DEFAULT_TRUST_WEIGHTS) {
536
+ assertValidTrustDimensions(dimensions);
537
+ assertValidTrustWeights(weights);
538
+ const score = dimensions.CT * weights.CT +
539
+ dimensions.BT * weights.BT +
540
+ dimensions.GT * weights.GT +
541
+ dimensions.XT * weights.XT +
542
+ dimensions.AC * weights.AC;
543
+ return roundTrustScore(score);
544
+ }
545
+ /**
546
+ * Validate all fields of an object against a schema
547
+ */
548
+ export function validateObject(obj, validators) {
549
+ if (typeof obj !== 'object' || obj === null) {
550
+ throw new ValidationError('Invalid object', 'root', obj, 'non-null object');
551
+ }
552
+ const record = obj;
553
+ for (const [field, validator] of Object.entries(validators)) {
554
+ validator(record[field], field);
555
+ }
556
+ return true;
557
+ }
558
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/canonical/validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Vorion Common Module
3
+ *
4
+ * Re-exports all common primitives and types.
5
+ */
6
+ export * from './primitives.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Vorion Common Module
3
+ *
4
+ * Re-exports all common primitives and types.
5
+ */
6
+ export * from './primitives.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Vorion Common Primitives
3
+ *
4
+ * Foundational types used across all contract versions.
5
+ */
6
+ import { z } from 'zod';
7
+ export declare const UUIDSchema: z.ZodString;
8
+ export declare const SemVerSchema: z.ZodString;
9
+ export declare const TimestampSchema: z.ZodString;
10
+ export declare const HashSchema: z.ZodString;
11
+ export declare const CorrelationIdSchema: z.ZodString;
12
+ export declare const ActorTypeSchema: z.ZodEnum<["HUMAN", "AGENT", "SYSTEM", "EXTERNAL"]>;
13
+ export declare const ActorSchema: z.ZodObject<{
14
+ type: z.ZodEnum<["HUMAN", "AGENT", "SYSTEM", "EXTERNAL"]>;
15
+ id: z.ZodString;
16
+ name: z.ZodOptional<z.ZodString>;
17
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
18
+ }, "strip", z.ZodTypeAny, {
19
+ type: "HUMAN" | "AGENT" | "SYSTEM" | "EXTERNAL";
20
+ id: string;
21
+ name?: string | undefined;
22
+ metadata?: Record<string, unknown> | undefined;
23
+ }, {
24
+ type: "HUMAN" | "AGENT" | "SYSTEM" | "EXTERNAL";
25
+ id: string;
26
+ name?: string | undefined;
27
+ metadata?: Record<string, unknown> | undefined;
28
+ }>;
29
+ export declare const TrustBandSchema: z.ZodEnum<["T0", "T1", "T2", "T3", "T4", "T5"]>;
30
+ export declare const TrustBandDescriptions: {
31
+ readonly T0: "Deny execution";
32
+ readonly T1: "HITL mandatory; no irreversible actions";
33
+ readonly T2: "Constrained autonomy; reversible only; strict allowlists";
34
+ readonly T3: "Supervised autonomy; rollback required";
35
+ readonly T4: "Broad autonomy; continuous monitoring";
36
+ readonly T5: "Mission-critical; strongest proof; strict GT/AC requirements";
37
+ };
38
+ export declare const AutonomyLevelSchema: z.ZodEnum<["NONE", "HITL", "CONSTRAINED", "SUPERVISED", "BROAD", "FULL"]>;
39
+ export declare const DecisionOutcomeSchema: z.ZodEnum<["PERMIT", "DENY", "ESCALATE", "PENDING"]>;
40
+ export declare const ExecutionOutcomeSchema: z.ZodEnum<["SUCCESS", "FAILURE", "ERROR", "TIMEOUT", "CANCELLED", "BLOCKED"]>;
41
+ export declare const SeveritySchema: z.ZodEnum<["CRITICAL", "HIGH", "MEDIUM", "LOW", "INFO"]>;
42
+ export declare const RiskLevelSchema: z.ZodEnum<["EXTREME", "HIGH", "MEDIUM", "LOW", "NEGLIGIBLE"]>;
43
+ export type UUID = z.infer<typeof UUIDSchema>;
44
+ export type SemVer = z.infer<typeof SemVerSchema>;
45
+ export type Timestamp = z.infer<typeof TimestampSchema>;
46
+ export type Hash = z.infer<typeof HashSchema>;
47
+ export type CorrelationId = z.infer<typeof CorrelationIdSchema>;
48
+ export type ActorType = z.infer<typeof ActorTypeSchema>;
49
+ export type Actor = z.infer<typeof ActorSchema>;
50
+ export type TrustBand = z.infer<typeof TrustBandSchema>;
51
+ export type AutonomyLevel = z.infer<typeof AutonomyLevelSchema>;
52
+ export type DecisionOutcome = z.infer<typeof DecisionOutcomeSchema>;
53
+ export type ExecutionOutcome = z.infer<typeof ExecutionOutcomeSchema>;
54
+ export type Severity = z.infer<typeof SeveritySchema>;
55
+ export type RiskLevel = z.infer<typeof RiskLevelSchema>;
56
+ //# sourceMappingURL=primitives.d.ts.map