@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,659 @@
1
+ /**
2
+ * @fileoverview ACI Certification Tiers and Vorion Runtime Tiers
3
+ *
4
+ * Defines two distinct tier systems with 8 levels (T0-T7):
5
+ *
6
+ * 1. **CertificationTier (T0-T7)**: External attestation status from ACI spec.
7
+ * Represents the level of external verification and certification an agent
8
+ * has received from certification authorities.
9
+ *
10
+ * 2. **RuntimeTier (T0-T7)**: Vorion deployment-specific autonomy levels.
11
+ * Represents the operational autonomy granted to an agent in a specific
12
+ * Vorion deployment context.
13
+ *
14
+ * These two systems are conceptually different but can be mapped to each other
15
+ * for interoperability.
16
+ *
17
+ * @module @vorion/contracts/aci/tiers
18
+ */
19
+ import { z } from 'zod';
20
+ // ============================================================================
21
+ // ACI Certification Tiers (T0-T7)
22
+ // ============================================================================
23
+ /**
24
+ * ACI Certification Tiers representing external attestation status.
25
+ *
26
+ * These tiers indicate the level of external verification and certification
27
+ * an agent has received from certification authorities:
28
+ *
29
+ * - T0: No external verification (Sandbox)
30
+ * - T1: Basic observation period (Observed)
31
+ * - T2: Initial capabilities verified (Provisional)
32
+ * - T3: Continuous monitoring active (Monitored)
33
+ * - T4: Standard certification achieved (Standard)
34
+ * - T5: Full trust established (Trusted)
35
+ * - T6: Third-party audit completed (Certified)
36
+ * - T7: Highest assurance level (Autonomous)
37
+ */
38
+ export var CertificationTier;
39
+ (function (CertificationTier) {
40
+ /** Sandbox - No external verification, isolated testing */
41
+ CertificationTier[CertificationTier["T0_SANDBOX"] = 0] = "T0_SANDBOX";
42
+ /** Observed - Basic observation period, identity registered */
43
+ CertificationTier[CertificationTier["T1_OBSERVED"] = 1] = "T1_OBSERVED";
44
+ /** Provisional - Initial capabilities verified */
45
+ CertificationTier[CertificationTier["T2_PROVISIONAL"] = 2] = "T2_PROVISIONAL";
46
+ /** Monitored - Continuous behavioral monitoring active */
47
+ CertificationTier[CertificationTier["T3_MONITORED"] = 3] = "T3_MONITORED";
48
+ /** Standard - Standard certification achieved */
49
+ CertificationTier[CertificationTier["T4_STANDARD"] = 4] = "T4_STANDARD";
50
+ /** Trusted - Full trust established through track record */
51
+ CertificationTier[CertificationTier["T5_TRUSTED"] = 5] = "T5_TRUSTED";
52
+ /** Certified - Independent third-party audit completed */
53
+ CertificationTier[CertificationTier["T6_CERTIFIED"] = 6] = "T6_CERTIFIED";
54
+ /** Autonomous - Highest assurance level with full certification */
55
+ CertificationTier[CertificationTier["T7_AUTONOMOUS"] = 7] = "T7_AUTONOMOUS";
56
+ })(CertificationTier || (CertificationTier = {}));
57
+ /**
58
+ * Array of all certification tiers in ascending order.
59
+ */
60
+ export const CERTIFICATION_TIERS = [
61
+ CertificationTier.T0_SANDBOX,
62
+ CertificationTier.T1_OBSERVED,
63
+ CertificationTier.T2_PROVISIONAL,
64
+ CertificationTier.T3_MONITORED,
65
+ CertificationTier.T4_STANDARD,
66
+ CertificationTier.T5_TRUSTED,
67
+ CertificationTier.T6_CERTIFIED,
68
+ CertificationTier.T7_AUTONOMOUS,
69
+ ];
70
+ /**
71
+ * Zod schema for CertificationTier enum validation.
72
+ */
73
+ export const certificationTierSchema = z.nativeEnum(CertificationTier, {
74
+ errorMap: () => ({ message: 'Invalid certification tier. Must be T0-T7 (0-7).' }),
75
+ });
76
+ /**
77
+ * Human-readable names for certification tiers.
78
+ */
79
+ export const CERTIFICATION_TIER_NAMES = {
80
+ [CertificationTier.T0_SANDBOX]: 'Sandbox',
81
+ [CertificationTier.T1_OBSERVED]: 'Observed',
82
+ [CertificationTier.T2_PROVISIONAL]: 'Provisional',
83
+ [CertificationTier.T3_MONITORED]: 'Monitored',
84
+ [CertificationTier.T4_STANDARD]: 'Standard',
85
+ [CertificationTier.T5_TRUSTED]: 'Trusted',
86
+ [CertificationTier.T6_CERTIFIED]: 'Certified',
87
+ [CertificationTier.T7_AUTONOMOUS]: 'Autonomous',
88
+ };
89
+ /**
90
+ * Detailed descriptions for certification tiers.
91
+ */
92
+ export const CERTIFICATION_TIER_DESCRIPTIONS = {
93
+ [CertificationTier.T0_SANDBOX]: 'Isolated sandbox environment. No external verification, all actions are simulated.',
94
+ [CertificationTier.T1_OBSERVED]: 'Basic observation period. Identity registered, behavior being monitored.',
95
+ [CertificationTier.T2_PROVISIONAL]: 'Provisional status. Initial capabilities verified, limited operations permitted.',
96
+ [CertificationTier.T3_MONITORED]: 'Continuous monitoring active. Ongoing verification of safe operation.',
97
+ [CertificationTier.T4_STANDARD]: 'Standard certification achieved. Can perform routine operations.',
98
+ [CertificationTier.T5_TRUSTED]: 'Full trust established. Proven track record of reliable behavior.',
99
+ [CertificationTier.T6_CERTIFIED]: 'Third-party certified. Independent audit completed, verified compliance.',
100
+ [CertificationTier.T7_AUTONOMOUS]: 'Highest assurance level. Full certification with autonomous authority.',
101
+ };
102
+ /**
103
+ * Trust score ranges for certification tiers (ACI spec scale: 0-1000).
104
+ */
105
+ export const CERTIFICATION_TIER_SCORES = {
106
+ [CertificationTier.T0_SANDBOX]: { min: 0, max: 199 },
107
+ [CertificationTier.T1_OBSERVED]: { min: 200, max: 349 },
108
+ [CertificationTier.T2_PROVISIONAL]: { min: 350, max: 499 },
109
+ [CertificationTier.T3_MONITORED]: { min: 500, max: 649 },
110
+ [CertificationTier.T4_STANDARD]: { min: 650, max: 799 },
111
+ [CertificationTier.T5_TRUSTED]: { min: 800, max: 875 },
112
+ [CertificationTier.T6_CERTIFIED]: { min: 876, max: 950 },
113
+ [CertificationTier.T7_AUTONOMOUS]: { min: 951, max: 1000 },
114
+ };
115
+ // ============================================================================
116
+ // Vorion Runtime Tiers (T0-T7)
117
+ // ============================================================================
118
+ /**
119
+ * Vorion Runtime Tiers representing deployment-specific autonomy.
120
+ *
121
+ * These tiers indicate the operational autonomy granted to an agent
122
+ * in a specific Vorion deployment context:
123
+ *
124
+ * - T0: Sandbox - No autonomy, isolated testing
125
+ * - T1: Observed - Human observes all actions
126
+ * - T2: Provisional - Limited autonomy with strict constraints
127
+ * - T3: Monitored - Continuous monitoring, some autonomy
128
+ * - T4: Standard - Standard operations permitted
129
+ * - T5: Trusted - Expanded trust, minimal oversight
130
+ * - T6: Certified - Independent operation with auditing
131
+ * - T7: Autonomous - Full autonomy for mission-critical operations
132
+ */
133
+ export var RuntimeTier;
134
+ (function (RuntimeTier) {
135
+ /** Sandbox - No autonomy, isolated testing environment */
136
+ RuntimeTier[RuntimeTier["T0_SANDBOX"] = 0] = "T0_SANDBOX";
137
+ /** Observed - Human observes all actions, learning period */
138
+ RuntimeTier[RuntimeTier["T1_OBSERVED"] = 1] = "T1_OBSERVED";
139
+ /** Provisional - Limited autonomy with strict constraints */
140
+ RuntimeTier[RuntimeTier["T2_PROVISIONAL"] = 2] = "T2_PROVISIONAL";
141
+ /** Monitored - Continuous monitoring, expanding autonomy */
142
+ RuntimeTier[RuntimeTier["T3_MONITORED"] = 3] = "T3_MONITORED";
143
+ /** Standard - Standard operations without individual approval */
144
+ RuntimeTier[RuntimeTier["T4_STANDARD"] = 4] = "T4_STANDARD";
145
+ /** Trusted - Expanded trust with minimal oversight */
146
+ RuntimeTier[RuntimeTier["T5_TRUSTED"] = 5] = "T5_TRUSTED";
147
+ /** Certified - Independent operation with audit trail */
148
+ RuntimeTier[RuntimeTier["T6_CERTIFIED"] = 6] = "T6_CERTIFIED";
149
+ /** Autonomous - Full autonomy for mission-critical operations */
150
+ RuntimeTier[RuntimeTier["T7_AUTONOMOUS"] = 7] = "T7_AUTONOMOUS";
151
+ })(RuntimeTier || (RuntimeTier = {}));
152
+ /**
153
+ * Array of all runtime tiers in ascending order.
154
+ */
155
+ export const RUNTIME_TIERS = [
156
+ RuntimeTier.T0_SANDBOX,
157
+ RuntimeTier.T1_OBSERVED,
158
+ RuntimeTier.T2_PROVISIONAL,
159
+ RuntimeTier.T3_MONITORED,
160
+ RuntimeTier.T4_STANDARD,
161
+ RuntimeTier.T5_TRUSTED,
162
+ RuntimeTier.T6_CERTIFIED,
163
+ RuntimeTier.T7_AUTONOMOUS,
164
+ ];
165
+ /**
166
+ * Zod schema for RuntimeTier enum validation.
167
+ */
168
+ export const runtimeTierSchema = z.nativeEnum(RuntimeTier, {
169
+ errorMap: () => ({ message: 'Invalid runtime tier. Must be T0-T7 (0-7).' }),
170
+ });
171
+ /**
172
+ * Human-readable names for runtime tiers.
173
+ */
174
+ export const RUNTIME_TIER_NAMES = {
175
+ [RuntimeTier.T0_SANDBOX]: 'Sandbox',
176
+ [RuntimeTier.T1_OBSERVED]: 'Observed',
177
+ [RuntimeTier.T2_PROVISIONAL]: 'Provisional',
178
+ [RuntimeTier.T3_MONITORED]: 'Monitored',
179
+ [RuntimeTier.T4_STANDARD]: 'Standard',
180
+ [RuntimeTier.T5_TRUSTED]: 'Trusted',
181
+ [RuntimeTier.T6_CERTIFIED]: 'Certified',
182
+ [RuntimeTier.T7_AUTONOMOUS]: 'Autonomous',
183
+ };
184
+ /**
185
+ * Detailed descriptions for runtime tiers.
186
+ */
187
+ export const RUNTIME_TIER_DESCRIPTIONS = {
188
+ [RuntimeTier.T0_SANDBOX]: 'Isolated sandbox environment. No external access, all actions are simulated.',
189
+ [RuntimeTier.T1_OBSERVED]: 'Observation period. Every action is logged and reviewed, human oversight required.',
190
+ [RuntimeTier.T2_PROVISIONAL]: 'Provisional operations. Limited autonomy with strict policy constraints.',
191
+ [RuntimeTier.T3_MONITORED]: 'Monitored operations. Continuous monitoring with expanding operational freedom.',
192
+ [RuntimeTier.T4_STANDARD]: 'Standard operational trust. Can perform routine operations without approval.',
193
+ [RuntimeTier.T5_TRUSTED]: 'Trusted operations. Expanded capabilities with minimal oversight.',
194
+ [RuntimeTier.T6_CERTIFIED]: 'Certified operations. Independent operation with comprehensive audit trail.',
195
+ [RuntimeTier.T7_AUTONOMOUS]: 'Full autonomy. Mission-critical authority with autonomous decision-making.',
196
+ };
197
+ /**
198
+ * Trust score ranges for runtime tiers (Vorion scale: 0-1000).
199
+ */
200
+ export const RUNTIME_TIER_SCORES = {
201
+ [RuntimeTier.T0_SANDBOX]: { min: 0, max: 199 },
202
+ [RuntimeTier.T1_OBSERVED]: { min: 200, max: 349 },
203
+ [RuntimeTier.T2_PROVISIONAL]: { min: 350, max: 499 },
204
+ [RuntimeTier.T3_MONITORED]: { min: 500, max: 649 },
205
+ [RuntimeTier.T4_STANDARD]: { min: 650, max: 799 },
206
+ [RuntimeTier.T5_TRUSTED]: { min: 800, max: 875 },
207
+ [RuntimeTier.T6_CERTIFIED]: { min: 876, max: 950 },
208
+ [RuntimeTier.T7_AUTONOMOUS]: { min: 951, max: 1000 },
209
+ };
210
+ /**
211
+ * Configuration for all certification tiers.
212
+ */
213
+ export const CERTIFICATION_TIER_CONFIGS = {
214
+ [CertificationTier.T0_SANDBOX]: {
215
+ tier: CertificationTier.T0_SANDBOX,
216
+ code: 'T0',
217
+ name: 'Sandbox',
218
+ description: CERTIFICATION_TIER_DESCRIPTIONS[CertificationTier.T0_SANDBOX],
219
+ scoreRange: CERTIFICATION_TIER_SCORES[CertificationTier.T0_SANDBOX],
220
+ requiredAttestations: [],
221
+ maxCapabilityLevel: 1,
222
+ },
223
+ [CertificationTier.T1_OBSERVED]: {
224
+ tier: CertificationTier.T1_OBSERVED,
225
+ code: 'T1',
226
+ name: 'Observed',
227
+ description: CERTIFICATION_TIER_DESCRIPTIONS[CertificationTier.T1_OBSERVED],
228
+ scoreRange: CERTIFICATION_TIER_SCORES[CertificationTier.T1_OBSERVED],
229
+ requiredAttestations: ['identity'],
230
+ maxCapabilityLevel: 2,
231
+ },
232
+ [CertificationTier.T2_PROVISIONAL]: {
233
+ tier: CertificationTier.T2_PROVISIONAL,
234
+ code: 'T2',
235
+ name: 'Provisional',
236
+ description: CERTIFICATION_TIER_DESCRIPTIONS[CertificationTier.T2_PROVISIONAL],
237
+ scoreRange: CERTIFICATION_TIER_SCORES[CertificationTier.T2_PROVISIONAL],
238
+ requiredAttestations: ['identity', 'capability_test'],
239
+ maxCapabilityLevel: 3,
240
+ },
241
+ [CertificationTier.T3_MONITORED]: {
242
+ tier: CertificationTier.T3_MONITORED,
243
+ code: 'T3',
244
+ name: 'Monitored',
245
+ description: CERTIFICATION_TIER_DESCRIPTIONS[CertificationTier.T3_MONITORED],
246
+ scoreRange: CERTIFICATION_TIER_SCORES[CertificationTier.T3_MONITORED],
247
+ requiredAttestations: ['identity', 'capability_test', 'continuous_monitoring'],
248
+ maxCapabilityLevel: 4,
249
+ },
250
+ [CertificationTier.T4_STANDARD]: {
251
+ tier: CertificationTier.T4_STANDARD,
252
+ code: 'T4',
253
+ name: 'Standard',
254
+ description: CERTIFICATION_TIER_DESCRIPTIONS[CertificationTier.T4_STANDARD],
255
+ scoreRange: CERTIFICATION_TIER_SCORES[CertificationTier.T4_STANDARD],
256
+ requiredAttestations: ['identity', 'capability_test', 'continuous_monitoring', 'track_record'],
257
+ maxCapabilityLevel: 5,
258
+ },
259
+ [CertificationTier.T5_TRUSTED]: {
260
+ tier: CertificationTier.T5_TRUSTED,
261
+ code: 'T5',
262
+ name: 'Trusted',
263
+ description: CERTIFICATION_TIER_DESCRIPTIONS[CertificationTier.T5_TRUSTED],
264
+ scoreRange: CERTIFICATION_TIER_SCORES[CertificationTier.T5_TRUSTED],
265
+ requiredAttestations: ['identity', 'capability_test', 'continuous_monitoring', 'track_record', 'trust_verification'],
266
+ maxCapabilityLevel: 6,
267
+ },
268
+ [CertificationTier.T6_CERTIFIED]: {
269
+ tier: CertificationTier.T6_CERTIFIED,
270
+ code: 'T6',
271
+ name: 'Certified',
272
+ description: CERTIFICATION_TIER_DESCRIPTIONS[CertificationTier.T6_CERTIFIED],
273
+ scoreRange: CERTIFICATION_TIER_SCORES[CertificationTier.T6_CERTIFIED],
274
+ requiredAttestations: ['identity', 'capability_test', 'continuous_monitoring', 'track_record', 'trust_verification', 'third_party_audit'],
275
+ maxCapabilityLevel: 7,
276
+ },
277
+ [CertificationTier.T7_AUTONOMOUS]: {
278
+ tier: CertificationTier.T7_AUTONOMOUS,
279
+ code: 'T7',
280
+ name: 'Autonomous',
281
+ description: CERTIFICATION_TIER_DESCRIPTIONS[CertificationTier.T7_AUTONOMOUS],
282
+ scoreRange: CERTIFICATION_TIER_SCORES[CertificationTier.T7_AUTONOMOUS],
283
+ requiredAttestations: ['identity', 'capability_test', 'continuous_monitoring', 'track_record', 'trust_verification', 'third_party_audit', 'autonomous_certification'],
284
+ maxCapabilityLevel: 7,
285
+ },
286
+ };
287
+ /**
288
+ * Configuration for all runtime tiers.
289
+ */
290
+ export const RUNTIME_TIER_CONFIGS = {
291
+ [RuntimeTier.T0_SANDBOX]: {
292
+ tier: RuntimeTier.T0_SANDBOX,
293
+ code: 'T0',
294
+ name: 'Sandbox',
295
+ description: RUNTIME_TIER_DESCRIPTIONS[RuntimeTier.T0_SANDBOX],
296
+ scoreRange: RUNTIME_TIER_SCORES[RuntimeTier.T0_SANDBOX],
297
+ requiresApproval: false, // No approval needed - everything is isolated
298
+ hasGuardrails: true,
299
+ allowsAutonomy: false,
300
+ },
301
+ [RuntimeTier.T1_OBSERVED]: {
302
+ tier: RuntimeTier.T1_OBSERVED,
303
+ code: 'T1',
304
+ name: 'Observed',
305
+ description: RUNTIME_TIER_DESCRIPTIONS[RuntimeTier.T1_OBSERVED],
306
+ scoreRange: RUNTIME_TIER_SCORES[RuntimeTier.T1_OBSERVED],
307
+ requiresApproval: true,
308
+ hasGuardrails: true,
309
+ allowsAutonomy: false,
310
+ },
311
+ [RuntimeTier.T2_PROVISIONAL]: {
312
+ tier: RuntimeTier.T2_PROVISIONAL,
313
+ code: 'T2',
314
+ name: 'Provisional',
315
+ description: RUNTIME_TIER_DESCRIPTIONS[RuntimeTier.T2_PROVISIONAL],
316
+ scoreRange: RUNTIME_TIER_SCORES[RuntimeTier.T2_PROVISIONAL],
317
+ requiresApproval: true,
318
+ hasGuardrails: true,
319
+ allowsAutonomy: false,
320
+ },
321
+ [RuntimeTier.T3_MONITORED]: {
322
+ tier: RuntimeTier.T3_MONITORED,
323
+ code: 'T3',
324
+ name: 'Monitored',
325
+ description: RUNTIME_TIER_DESCRIPTIONS[RuntimeTier.T3_MONITORED],
326
+ scoreRange: RUNTIME_TIER_SCORES[RuntimeTier.T3_MONITORED],
327
+ requiresApproval: false,
328
+ hasGuardrails: true,
329
+ allowsAutonomy: false,
330
+ },
331
+ [RuntimeTier.T4_STANDARD]: {
332
+ tier: RuntimeTier.T4_STANDARD,
333
+ code: 'T4',
334
+ name: 'Standard',
335
+ description: RUNTIME_TIER_DESCRIPTIONS[RuntimeTier.T4_STANDARD],
336
+ scoreRange: RUNTIME_TIER_SCORES[RuntimeTier.T4_STANDARD],
337
+ requiresApproval: false,
338
+ hasGuardrails: false,
339
+ allowsAutonomy: false,
340
+ },
341
+ [RuntimeTier.T5_TRUSTED]: {
342
+ tier: RuntimeTier.T5_TRUSTED,
343
+ code: 'T5',
344
+ name: 'Trusted',
345
+ description: RUNTIME_TIER_DESCRIPTIONS[RuntimeTier.T5_TRUSTED],
346
+ scoreRange: RUNTIME_TIER_SCORES[RuntimeTier.T5_TRUSTED],
347
+ requiresApproval: false,
348
+ hasGuardrails: false,
349
+ allowsAutonomy: false,
350
+ },
351
+ [RuntimeTier.T6_CERTIFIED]: {
352
+ tier: RuntimeTier.T6_CERTIFIED,
353
+ code: 'T6',
354
+ name: 'Certified',
355
+ description: RUNTIME_TIER_DESCRIPTIONS[RuntimeTier.T6_CERTIFIED],
356
+ scoreRange: RUNTIME_TIER_SCORES[RuntimeTier.T6_CERTIFIED],
357
+ requiresApproval: false,
358
+ hasGuardrails: false,
359
+ allowsAutonomy: true,
360
+ },
361
+ [RuntimeTier.T7_AUTONOMOUS]: {
362
+ tier: RuntimeTier.T7_AUTONOMOUS,
363
+ code: 'T7',
364
+ name: 'Autonomous',
365
+ description: RUNTIME_TIER_DESCRIPTIONS[RuntimeTier.T7_AUTONOMOUS],
366
+ scoreRange: RUNTIME_TIER_SCORES[RuntimeTier.T7_AUTONOMOUS],
367
+ requiresApproval: false,
368
+ hasGuardrails: false,
369
+ allowsAutonomy: true,
370
+ },
371
+ };
372
+ // ============================================================================
373
+ // Tier Comparison Helpers
374
+ // ============================================================================
375
+ /**
376
+ * Checks if one certification tier is higher than another.
377
+ */
378
+ export function isCertificationTierHigher(tier, other) {
379
+ return tier > other;
380
+ }
381
+ /**
382
+ * Checks if a certification tier meets a minimum requirement.
383
+ */
384
+ export function meetsCertificationTier(tier, minTier) {
385
+ return tier >= minTier;
386
+ }
387
+ /**
388
+ * Compares two certification tiers.
389
+ */
390
+ export function compareCertificationTiers(a, b) {
391
+ if (a < b)
392
+ return -1;
393
+ if (a > b)
394
+ return 1;
395
+ return 0;
396
+ }
397
+ /**
398
+ * Checks if one runtime tier is higher than another.
399
+ */
400
+ export function isRuntimeTierHigher(tier, other) {
401
+ return tier > other;
402
+ }
403
+ /**
404
+ * Checks if a runtime tier meets a minimum requirement.
405
+ */
406
+ export function meetsRuntimeTier(tier, minTier) {
407
+ return tier >= minTier;
408
+ }
409
+ /**
410
+ * Compares two runtime tiers.
411
+ */
412
+ export function compareRuntimeTiers(a, b) {
413
+ if (a < b)
414
+ return -1;
415
+ if (a > b)
416
+ return 1;
417
+ return 0;
418
+ }
419
+ // ============================================================================
420
+ // Score Conversion
421
+ // ============================================================================
422
+ /**
423
+ * Converts a trust score to a certification tier using ACI scale (0-1000).
424
+ *
425
+ * @param score - Trust score on 0-1000 scale
426
+ * @returns Corresponding CertificationTier
427
+ */
428
+ export function scoreToCertificationTier(score) {
429
+ if (score < 0 || score > 1000) {
430
+ throw new Error(`Trust score must be between 0 and 1000, got ${score}`);
431
+ }
432
+ if (score < 200)
433
+ return CertificationTier.T0_SANDBOX;
434
+ if (score < 350)
435
+ return CertificationTier.T1_OBSERVED;
436
+ if (score < 500)
437
+ return CertificationTier.T2_PROVISIONAL;
438
+ if (score < 650)
439
+ return CertificationTier.T3_MONITORED;
440
+ if (score < 800)
441
+ return CertificationTier.T4_STANDARD;
442
+ if (score < 876)
443
+ return CertificationTier.T5_TRUSTED;
444
+ if (score < 951)
445
+ return CertificationTier.T6_CERTIFIED;
446
+ return CertificationTier.T7_AUTONOMOUS;
447
+ }
448
+ /**
449
+ * Converts a trust score to a runtime tier using Vorion scale (0-1000).
450
+ *
451
+ * @param score - Trust score on 0-1000 scale
452
+ * @returns Corresponding RuntimeTier
453
+ */
454
+ export function scoreToRuntimeTier(score) {
455
+ if (score < 0 || score > 1000) {
456
+ throw new Error(`Trust score must be between 0 and 1000, got ${score}`);
457
+ }
458
+ if (score < 200)
459
+ return RuntimeTier.T0_SANDBOX;
460
+ if (score < 350)
461
+ return RuntimeTier.T1_OBSERVED;
462
+ if (score < 500)
463
+ return RuntimeTier.T2_PROVISIONAL;
464
+ if (score < 650)
465
+ return RuntimeTier.T3_MONITORED;
466
+ if (score < 800)
467
+ return RuntimeTier.T4_STANDARD;
468
+ if (score < 876)
469
+ return RuntimeTier.T5_TRUSTED;
470
+ if (score < 951)
471
+ return RuntimeTier.T6_CERTIFIED;
472
+ return RuntimeTier.T7_AUTONOMOUS;
473
+ }
474
+ /**
475
+ * Gets the midpoint score for a certification tier.
476
+ *
477
+ * @param tier - The certification tier
478
+ * @returns Midpoint score for the tier
479
+ */
480
+ export function certificationTierToScore(tier) {
481
+ const range = CERTIFICATION_TIER_SCORES[tier];
482
+ return Math.round((range.min + range.max) / 2);
483
+ }
484
+ /**
485
+ * Gets the midpoint score for a runtime tier.
486
+ *
487
+ * @param tier - The runtime tier
488
+ * @returns Midpoint score for the tier
489
+ */
490
+ export function runtimeTierToScore(tier) {
491
+ const range = RUNTIME_TIER_SCORES[tier];
492
+ return Math.round((range.min + range.max) / 2);
493
+ }
494
+ /**
495
+ * Gets the minimum score for a certification tier.
496
+ */
497
+ export function getCertificationTierMinScore(tier) {
498
+ return CERTIFICATION_TIER_SCORES[tier].min;
499
+ }
500
+ /**
501
+ * Gets the maximum score for a certification tier.
502
+ */
503
+ export function getCertificationTierMaxScore(tier) {
504
+ return CERTIFICATION_TIER_SCORES[tier].max;
505
+ }
506
+ /**
507
+ * Gets the minimum score for a runtime tier.
508
+ */
509
+ export function getRuntimeTierMinScore(tier) {
510
+ return RUNTIME_TIER_SCORES[tier].min;
511
+ }
512
+ /**
513
+ * Gets the maximum score for a runtime tier.
514
+ */
515
+ export function getRuntimeTierMaxScore(tier) {
516
+ return RUNTIME_TIER_SCORES[tier].max;
517
+ }
518
+ // ============================================================================
519
+ // Tier Information Helpers
520
+ // ============================================================================
521
+ /**
522
+ * Gets the configuration for a certification tier.
523
+ */
524
+ export function getCertificationTierConfig(tier) {
525
+ return CERTIFICATION_TIER_CONFIGS[tier];
526
+ }
527
+ /**
528
+ * Gets the configuration for a runtime tier.
529
+ */
530
+ export function getRuntimeTierConfig(tier) {
531
+ return RUNTIME_TIER_CONFIGS[tier];
532
+ }
533
+ /**
534
+ * Gets the name of a certification tier.
535
+ */
536
+ export function getCertificationTierName(tier) {
537
+ return CERTIFICATION_TIER_NAMES[tier];
538
+ }
539
+ /**
540
+ * Gets the name of a runtime tier.
541
+ */
542
+ export function getRuntimeTierName(tier) {
543
+ return RUNTIME_TIER_NAMES[tier];
544
+ }
545
+ /**
546
+ * Gets the description of a certification tier.
547
+ */
548
+ export function getCertificationTierDescription(tier) {
549
+ return CERTIFICATION_TIER_DESCRIPTIONS[tier];
550
+ }
551
+ /**
552
+ * Gets the description of a runtime tier.
553
+ */
554
+ export function getRuntimeTierDescription(tier) {
555
+ return RUNTIME_TIER_DESCRIPTIONS[tier];
556
+ }
557
+ // ============================================================================
558
+ // Parsing
559
+ // ============================================================================
560
+ /**
561
+ * Parses a tier string (e.g., "T3" or "3") to a CertificationTier.
562
+ *
563
+ * @param tierStr - Tier string to parse
564
+ * @returns Parsed CertificationTier
565
+ * @throws Error if the string is not a valid tier
566
+ */
567
+ export function parseCertificationTier(tierStr) {
568
+ const normalized = tierStr.toUpperCase().replace(/^T/, '');
569
+ const tier = parseInt(normalized, 10);
570
+ if (isNaN(tier) || tier < 0 || tier > 7) {
571
+ throw new Error(`Invalid certification tier: ${tierStr}. Must be T0-T7 or 0-7.`);
572
+ }
573
+ return tier;
574
+ }
575
+ /**
576
+ * Parses a tier string (e.g., "T3" or "3") to a RuntimeTier.
577
+ *
578
+ * @param tierStr - Tier string to parse
579
+ * @returns Parsed RuntimeTier
580
+ * @throws Error if the string is not a valid tier
581
+ */
582
+ export function parseRuntimeTier(tierStr) {
583
+ const normalized = tierStr.toUpperCase().replace(/^T/, '');
584
+ const tier = parseInt(normalized, 10);
585
+ if (isNaN(tier) || tier < 0 || tier > 7) {
586
+ throw new Error(`Invalid runtime tier: ${tierStr}. Must be T0-T7 or 0-7.`);
587
+ }
588
+ return tier;
589
+ }
590
+ // ============================================================================
591
+ // Type Guards
592
+ // ============================================================================
593
+ /**
594
+ * Type guard to check if a value is a valid CertificationTier.
595
+ */
596
+ export function isCertificationTier(value) {
597
+ return (typeof value === 'number' &&
598
+ Number.isInteger(value) &&
599
+ value >= 0 &&
600
+ value <= 7);
601
+ }
602
+ /**
603
+ * Type guard to check if a value is a valid RuntimeTier.
604
+ */
605
+ export function isRuntimeTier(value) {
606
+ return (typeof value === 'number' &&
607
+ Number.isInteger(value) &&
608
+ value >= 0 &&
609
+ value <= 7);
610
+ }
611
+ // ============================================================================
612
+ // Zod Schemas
613
+ // ============================================================================
614
+ /**
615
+ * Zod schema for certification tier configuration.
616
+ */
617
+ export const certificationTierConfigSchema = z.object({
618
+ tier: certificationTierSchema,
619
+ code: z.string().regex(/^T[0-7]$/),
620
+ name: z.string().min(1),
621
+ description: z.string().min(1),
622
+ scoreRange: z.object({
623
+ min: z.number().int().min(0).max(1000),
624
+ max: z.number().int().min(0).max(1000),
625
+ }),
626
+ requiredAttestations: z.array(z.string()).readonly(),
627
+ maxCapabilityLevel: z.number().int().min(0).max(7),
628
+ });
629
+ /**
630
+ * Zod schema for runtime tier configuration.
631
+ */
632
+ export const runtimeTierConfigSchema = z.object({
633
+ tier: runtimeTierSchema,
634
+ code: z.string().regex(/^T[0-7]$/),
635
+ name: z.string().min(1),
636
+ description: z.string().min(1),
637
+ scoreRange: z.object({
638
+ min: z.number().int().min(0).max(1000),
639
+ max: z.number().int().min(0).max(1000),
640
+ }),
641
+ requiresApproval: z.boolean(),
642
+ hasGuardrails: z.boolean(),
643
+ allowsAutonomy: z.boolean(),
644
+ });
645
+ /**
646
+ * Zod schema for parsing tier strings.
647
+ */
648
+ export const tierStringSchema = z
649
+ .string()
650
+ .regex(/^[Tt]?[0-7]$/, 'Tier must be T0-T7 or 0-7');
651
+ /**
652
+ * Zod schema for parsing and transforming to CertificationTier.
653
+ */
654
+ export const certificationTierStringSchema = tierStringSchema.transform((str) => parseCertificationTier(str));
655
+ /**
656
+ * Zod schema for parsing and transforming to RuntimeTier.
657
+ */
658
+ export const runtimeTierStringSchema = tierStringSchema.transform((str) => parseRuntimeTier(str));
659
+ //# sourceMappingURL=tiers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tiers.js","sourceRoot":"","sources":["../../src/aci/tiers.ts"],"names":[],"mappings":"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"}