@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,427 @@
1
+ /**
2
+ * @fileoverview Cross-System Mappings
3
+ *
4
+ * Provides mapping functions between different tier systems, domain namespaces,
5
+ * and trust representations. These mappings enable interoperability between
6
+ * the ACI specification and Vorion runtime systems.
7
+ *
8
+ * Key mappings:
9
+ * - CertificationTier <-> RuntimeTier
10
+ * - ACI Domains <-> Vorion Namespaces
11
+ * - TrustBand <-> CertificationTier/RuntimeTier
12
+ *
13
+ * @module @vorion/contracts/aci/mapping
14
+ */
15
+ import { z } from 'zod';
16
+ import { domainCodeSchema, } from './domains.js';
17
+ import { CapabilityLevel } from './levels.js';
18
+ import { CertificationTier, RuntimeTier, certificationTierSchema, runtimeTierSchema, CERTIFICATION_TIER_SCORES, RUNTIME_TIER_SCORES, scoreToCertificationTier, scoreToRuntimeTier, } from './tiers.js';
19
+ // ============================================================================
20
+ // Tier Mappings
21
+ // ============================================================================
22
+ /**
23
+ * Maps a CertificationTier to the corresponding RuntimeTier.
24
+ *
25
+ * This is a direct 1:1 mapping since both use T0-T7 scale, but with
26
+ * different semantic meanings:
27
+ * - CertificationTier: External attestation status
28
+ * - RuntimeTier: Deployment autonomy level
29
+ *
30
+ * @param certificationTier - ACI certification tier
31
+ * @returns Corresponding Vorion runtime tier
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * certificationTierToRuntimeTier(CertificationTier.T3_MONITORED);
36
+ * // RuntimeTier.T3_MONITORED
37
+ * ```
38
+ */
39
+ export function certificationTierToRuntimeTier(certificationTier) {
40
+ // Direct mapping based on numeric value
41
+ return certificationTier;
42
+ }
43
+ /**
44
+ * Maps a RuntimeTier to the corresponding CertificationTier.
45
+ *
46
+ * @param runtimeTier - Vorion runtime tier
47
+ * @returns Corresponding ACI certification tier
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * runtimeTierToCertificationTier(RuntimeTier.T3_MONITORED);
52
+ * // CertificationTier.T3_MONITORED
53
+ * ```
54
+ */
55
+ export function runtimeTierToCertificationTier(runtimeTier) {
56
+ return runtimeTier;
57
+ }
58
+ /**
59
+ * Mapping configuration for certification to runtime tier.
60
+ */
61
+ export const CERTIFICATION_TO_RUNTIME_TIER_MAP = {
62
+ [CertificationTier.T0_SANDBOX]: RuntimeTier.T0_SANDBOX,
63
+ [CertificationTier.T1_OBSERVED]: RuntimeTier.T1_OBSERVED,
64
+ [CertificationTier.T2_PROVISIONAL]: RuntimeTier.T2_PROVISIONAL,
65
+ [CertificationTier.T3_MONITORED]: RuntimeTier.T3_MONITORED,
66
+ [CertificationTier.T4_STANDARD]: RuntimeTier.T4_STANDARD,
67
+ [CertificationTier.T5_TRUSTED]: RuntimeTier.T5_TRUSTED,
68
+ [CertificationTier.T6_CERTIFIED]: RuntimeTier.T6_CERTIFIED,
69
+ [CertificationTier.T7_AUTONOMOUS]: RuntimeTier.T7_AUTONOMOUS,
70
+ };
71
+ /**
72
+ * Mapping configuration for runtime to certification tier.
73
+ */
74
+ export const RUNTIME_TO_CERTIFICATION_TIER_MAP = {
75
+ [RuntimeTier.T0_SANDBOX]: CertificationTier.T0_SANDBOX,
76
+ [RuntimeTier.T1_OBSERVED]: CertificationTier.T1_OBSERVED,
77
+ [RuntimeTier.T2_PROVISIONAL]: CertificationTier.T2_PROVISIONAL,
78
+ [RuntimeTier.T3_MONITORED]: CertificationTier.T3_MONITORED,
79
+ [RuntimeTier.T4_STANDARD]: CertificationTier.T4_STANDARD,
80
+ [RuntimeTier.T5_TRUSTED]: CertificationTier.T5_TRUSTED,
81
+ [RuntimeTier.T6_CERTIFIED]: CertificationTier.T6_CERTIFIED,
82
+ [RuntimeTier.T7_AUTONOMOUS]: CertificationTier.T7_AUTONOMOUS,
83
+ };
84
+ // ============================================================================
85
+ // TrustBand Mappings (Integration with Vorion canonical types)
86
+ // ============================================================================
87
+ /**
88
+ * TrustBand values from Vorion canonical types.
89
+ * Replicated here to avoid circular dependencies.
90
+ *
91
+ * The 8-tier system (T0-T7) maps trust scores to discrete autonomy levels:
92
+ * - T0: Sandbox - Isolated testing, no real operations (0-199)
93
+ * - T1: Observed - Under active observation and supervision (200-349)
94
+ * - T2: Provisional - Limited operations with strict constraints (350-499)
95
+ * - T3: Monitored - Continuous monitoring with expanding freedom (500-649)
96
+ * - T4: Standard - Trusted for routine operations (650-799)
97
+ * - T5: Trusted - Expanded capabilities with minimal oversight (800-875)
98
+ * - T6: Certified - Independent operation with audit trail (876-950)
99
+ * - T7: Autonomous - Full autonomy for mission-critical operations (951-1000)
100
+ */
101
+ export var TrustBand;
102
+ (function (TrustBand) {
103
+ TrustBand[TrustBand["T0_SANDBOX"] = 0] = "T0_SANDBOX";
104
+ TrustBand[TrustBand["T1_OBSERVED"] = 1] = "T1_OBSERVED";
105
+ TrustBand[TrustBand["T2_PROVISIONAL"] = 2] = "T2_PROVISIONAL";
106
+ TrustBand[TrustBand["T3_MONITORED"] = 3] = "T3_MONITORED";
107
+ TrustBand[TrustBand["T4_STANDARD"] = 4] = "T4_STANDARD";
108
+ TrustBand[TrustBand["T5_TRUSTED"] = 5] = "T5_TRUSTED";
109
+ TrustBand[TrustBand["T6_CERTIFIED"] = 6] = "T6_CERTIFIED";
110
+ TrustBand[TrustBand["T7_AUTONOMOUS"] = 7] = "T7_AUTONOMOUS";
111
+ })(TrustBand || (TrustBand = {}));
112
+ /**
113
+ * Zod schema for TrustBand validation.
114
+ */
115
+ export const trustBandSchema = z.nativeEnum(TrustBand, {
116
+ errorMap: () => ({ message: 'Invalid trust band. Must be T0-T7 (0-7).' }),
117
+ });
118
+ /**
119
+ * Maps a TrustBand to a CertificationTier.
120
+ *
121
+ * @param trustBand - Vorion trust band
122
+ * @returns Corresponding ACI certification tier
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * trustBandToCertificationTier(TrustBand.T3_STANDARD);
127
+ * // CertificationTier.T3_MONITORED
128
+ * ```
129
+ */
130
+ export function trustBandToCertificationTier(trustBand) {
131
+ return trustBand;
132
+ }
133
+ /**
134
+ * Maps a TrustBand to a RuntimeTier.
135
+ *
136
+ * @param trustBand - Vorion trust band
137
+ * @returns Corresponding Vorion runtime tier
138
+ *
139
+ * @example
140
+ * ```typescript
141
+ * trustBandToRuntimeTier(TrustBand.T3_STANDARD);
142
+ * // RuntimeTier.T3_MONITORED
143
+ * ```
144
+ */
145
+ export function trustBandToRuntimeTier(trustBand) {
146
+ return trustBand;
147
+ }
148
+ /**
149
+ * Maps a CertificationTier to a TrustBand.
150
+ *
151
+ * @param certificationTier - ACI certification tier
152
+ * @returns Corresponding Vorion trust band
153
+ */
154
+ export function certificationTierToTrustBand(certificationTier) {
155
+ return certificationTier;
156
+ }
157
+ /**
158
+ * Maps a RuntimeTier to a TrustBand.
159
+ *
160
+ * @param runtimeTier - Vorion runtime tier
161
+ * @returns Corresponding Vorion trust band
162
+ */
163
+ export function runtimeTierToTrustBand(runtimeTier) {
164
+ return runtimeTier;
165
+ }
166
+ // ============================================================================
167
+ // Trust Score Mappings
168
+ // ============================================================================
169
+ /**
170
+ * Converts a trust score to both certification and runtime tiers.
171
+ *
172
+ * Note: CertificationTier and RuntimeTier use different score ranges,
173
+ * so the same score may map to different tiers.
174
+ *
175
+ * @param score - Trust score (0-1000)
176
+ * @returns Both certification and runtime tiers
177
+ *
178
+ * @example
179
+ * ```typescript
180
+ * scoreToBothTiers(550);
181
+ * // { certificationTier: T3_MONITORED, runtimeTier: T3_TRUSTED }
182
+ * ```
183
+ */
184
+ export function scoreToBothTiers(score) {
185
+ return {
186
+ certificationTier: scoreToCertificationTier(score),
187
+ runtimeTier: scoreToRuntimeTier(score),
188
+ };
189
+ }
190
+ /**
191
+ * Normalizes a score between ACI and Vorion scales.
192
+ *
193
+ * ACI uses 0-1000 with boundaries at 100, 300, 500, 700, 900
194
+ * Vorion uses 0-1000 with boundaries at 166, 333, 500, 666, 833
195
+ *
196
+ * @param score - Trust score
197
+ * @param fromScale - Source scale ('aci' | 'vorion')
198
+ * @param toScale - Target scale ('aci' | 'vorion')
199
+ * @returns Normalized score in target scale
200
+ */
201
+ export function normalizeScoreBetweenScales(score, fromScale, toScale) {
202
+ if (fromScale === toScale) {
203
+ return score;
204
+ }
205
+ // Determine the tier in the source scale
206
+ const sourceTier = fromScale === 'aci'
207
+ ? scoreToCertificationTier(score)
208
+ : scoreToRuntimeTier(score);
209
+ // Get the source tier's score range
210
+ const sourceRange = fromScale === 'aci'
211
+ ? CERTIFICATION_TIER_SCORES[sourceTier]
212
+ : RUNTIME_TIER_SCORES[sourceTier];
213
+ // Calculate position within source tier (0-1)
214
+ const positionInTier = sourceRange.max === sourceRange.min
215
+ ? 0.5
216
+ : (score - sourceRange.min) / (sourceRange.max - sourceRange.min);
217
+ // Get the target tier's score range (same tier index, different scale)
218
+ const targetRange = toScale === 'aci'
219
+ ? CERTIFICATION_TIER_SCORES[sourceTier]
220
+ : RUNTIME_TIER_SCORES[sourceTier];
221
+ // Map to target scale
222
+ return Math.round(targetRange.min + positionInTier * (targetRange.max - targetRange.min));
223
+ }
224
+ /**
225
+ * Array of all Vorion namespaces.
226
+ */
227
+ export const VORION_NAMESPACES = [
228
+ 'admin',
229
+ 'business',
230
+ 'communications',
231
+ 'data',
232
+ 'external',
233
+ 'finance',
234
+ 'governance',
235
+ 'hospitality',
236
+ 'infrastructure',
237
+ 'security',
238
+ ];
239
+ /**
240
+ * Zod schema for VorionNamespace validation.
241
+ */
242
+ export const vorionNamespaceSchema = z.enum([
243
+ 'admin',
244
+ 'business',
245
+ 'communications',
246
+ 'data',
247
+ 'external',
248
+ 'finance',
249
+ 'governance',
250
+ 'hospitality',
251
+ 'infrastructure',
252
+ 'security',
253
+ ]);
254
+ /**
255
+ * Mapping from ACI domain codes to Vorion namespaces.
256
+ */
257
+ export const DOMAIN_TO_NAMESPACE_MAP = {
258
+ A: 'admin',
259
+ B: 'business',
260
+ C: 'communications',
261
+ D: 'data',
262
+ E: 'external',
263
+ F: 'finance',
264
+ G: 'governance',
265
+ H: 'hospitality',
266
+ I: 'infrastructure',
267
+ S: 'security',
268
+ };
269
+ /**
270
+ * Mapping from Vorion namespaces to ACI domain codes.
271
+ */
272
+ export const NAMESPACE_TO_DOMAIN_MAP = {
273
+ admin: 'A',
274
+ business: 'B',
275
+ communications: 'C',
276
+ data: 'D',
277
+ external: 'E',
278
+ finance: 'F',
279
+ governance: 'G',
280
+ hospitality: 'H',
281
+ infrastructure: 'I',
282
+ security: 'S',
283
+ };
284
+ /**
285
+ * Maps an ACI domain code to a Vorion namespace.
286
+ *
287
+ * @param domain - ACI domain code
288
+ * @returns Vorion namespace
289
+ *
290
+ * @example
291
+ * ```typescript
292
+ * aciDomainToVorionNamespace('F'); // 'finance'
293
+ * aciDomainToVorionNamespace('S'); // 'security'
294
+ * ```
295
+ */
296
+ export function aciDomainToVorionNamespace(domain) {
297
+ return DOMAIN_TO_NAMESPACE_MAP[domain];
298
+ }
299
+ /**
300
+ * Maps a Vorion namespace to an ACI domain code.
301
+ *
302
+ * @param namespace - Vorion namespace
303
+ * @returns ACI domain code
304
+ *
305
+ * @example
306
+ * ```typescript
307
+ * vorionNamespaceToAciDomain('finance'); // 'F'
308
+ * vorionNamespaceToAciDomain('security'); // 'S'
309
+ * ```
310
+ */
311
+ export function vorionNamespaceToAciDomain(namespace) {
312
+ return NAMESPACE_TO_DOMAIN_MAP[namespace];
313
+ }
314
+ /**
315
+ * Maps an array of ACI domains to Vorion namespaces.
316
+ *
317
+ * @param domains - Array of ACI domain codes
318
+ * @returns Array of Vorion namespaces
319
+ */
320
+ export function aciDomainsToVorionNamespaces(domains) {
321
+ return domains.map(aciDomainToVorionNamespace);
322
+ }
323
+ /**
324
+ * Maps an array of Vorion namespaces to ACI domains.
325
+ *
326
+ * @param namespaces - Array of Vorion namespaces
327
+ * @returns Array of ACI domain codes
328
+ */
329
+ export function vorionNamespacesToAciDomains(namespaces) {
330
+ return namespaces.map(vorionNamespaceToAciDomain);
331
+ }
332
+ // ============================================================================
333
+ // Capability Level Mappings
334
+ // ============================================================================
335
+ /**
336
+ * Maps a capability level to a human-readable autonomy description.
337
+ *
338
+ * @param level - Capability level
339
+ * @returns Autonomy description
340
+ */
341
+ export function capabilityLevelToAutonomyDescription(level) {
342
+ const descriptions = {
343
+ [CapabilityLevel.L0_OBSERVE]: 'Read-only, no autonomy',
344
+ [CapabilityLevel.L1_ADVISE]: 'Advisory only, cannot act',
345
+ [CapabilityLevel.L2_DRAFT]: 'Can draft, requires approval',
346
+ [CapabilityLevel.L3_EXECUTE]: 'Can execute with approval',
347
+ [CapabilityLevel.L4_AUTONOMOUS]: 'Autonomous within bounds',
348
+ [CapabilityLevel.L5_TRUSTED]: 'Expanded autonomy, minimal oversight',
349
+ [CapabilityLevel.L6_CERTIFIED]: 'Independent operation, audit trail',
350
+ [CapabilityLevel.L7_AUTONOMOUS]: 'Full autonomy',
351
+ };
352
+ return descriptions[level];
353
+ }
354
+ /**
355
+ * Maps a capability level to a maximum allowed runtime tier.
356
+ *
357
+ * Higher capability levels require higher runtime tiers to operate.
358
+ *
359
+ * @param level - Capability level
360
+ * @returns Minimum runtime tier required
361
+ */
362
+ export function capabilityLevelToMinRuntimeTier(level) {
363
+ return level;
364
+ }
365
+ /**
366
+ * Creates a bidirectional mapping.
367
+ *
368
+ * @param mapping - Object mapping A values to B values
369
+ * @returns Bidirectional map with forward and reverse functions
370
+ */
371
+ export function createBidirectionalMap(mapping) {
372
+ const reverseMapping = {};
373
+ for (const [key, value] of Object.entries(mapping)) {
374
+ reverseMapping[value] = key;
375
+ }
376
+ return {
377
+ forward: (a) => mapping[a],
378
+ reverse: (b) => reverseMapping[b],
379
+ forwardMap: mapping,
380
+ reverseMap: reverseMapping,
381
+ };
382
+ }
383
+ /**
384
+ * Pre-built bidirectional map for domain <-> namespace.
385
+ */
386
+ export const domainNamespaceMap = createBidirectionalMap(DOMAIN_TO_NAMESPACE_MAP);
387
+ /**
388
+ * Pre-built bidirectional map for certification <-> runtime tier.
389
+ */
390
+ export const certificationRuntimeMap = createBidirectionalMap(CERTIFICATION_TO_RUNTIME_TIER_MAP);
391
+ // ============================================================================
392
+ // Zod Schemas
393
+ // ============================================================================
394
+ /**
395
+ * Zod schema for tier mapping result.
396
+ */
397
+ export const tierMappingResultSchema = z.object({
398
+ certificationTier: certificationTierSchema,
399
+ runtimeTier: runtimeTierSchema,
400
+ });
401
+ /**
402
+ * Zod schema for domain mapping result.
403
+ */
404
+ export const domainMappingResultSchema = z.object({
405
+ domain: domainCodeSchema,
406
+ namespace: vorionNamespaceSchema,
407
+ });
408
+ // ============================================================================
409
+ // Type Guards
410
+ // ============================================================================
411
+ /**
412
+ * Type guard for VorionNamespace.
413
+ */
414
+ export function isVorionNamespace(value) {
415
+ return (typeof value === 'string' &&
416
+ VORION_NAMESPACES.includes(value));
417
+ }
418
+ /**
419
+ * Type guard for TrustBand.
420
+ */
421
+ export function isTrustBand(value) {
422
+ return (typeof value === 'number' &&
423
+ Number.isInteger(value) &&
424
+ value >= 0 &&
425
+ value <= 7);
426
+ }
427
+ //# sourceMappingURL=mapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../../src/aci/mapping.ts"],"names":[],"mappings":"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"}