@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.
- package/dist/aci/aci-string.d.ts +539 -0
- package/dist/aci/aci-string.d.ts.map +1 -0
- package/dist/aci/aci-string.js +563 -0
- package/dist/aci/aci-string.js.map +1 -0
- package/dist/aci/attestation.d.ts +648 -0
- package/dist/aci/attestation.d.ts.map +1 -0
- package/dist/aci/attestation.js +289 -0
- package/dist/aci/attestation.js.map +1 -0
- package/dist/aci/domains.d.ts +260 -0
- package/dist/aci/domains.d.ts.map +1 -0
- package/dist/aci/domains.js +322 -0
- package/dist/aci/domains.js.map +1 -0
- package/dist/aci/effective-permission.d.ts +371 -0
- package/dist/aci/effective-permission.d.ts.map +1 -0
- package/dist/aci/effective-permission.js +351 -0
- package/dist/aci/effective-permission.js.map +1 -0
- package/dist/aci/identity.d.ts +1100 -0
- package/dist/aci/identity.d.ts.map +1 -0
- package/dist/aci/identity.js +328 -0
- package/dist/aci/identity.js.map +1 -0
- package/dist/aci/index.d.ts +67 -0
- package/dist/aci/index.d.ts.map +1 -0
- package/dist/aci/index.js +157 -0
- package/dist/aci/index.js.map +1 -0
- package/dist/aci/jwt-claims.d.ts +756 -0
- package/dist/aci/jwt-claims.d.ts.map +1 -0
- package/dist/aci/jwt-claims.js +335 -0
- package/dist/aci/jwt-claims.js.map +1 -0
- package/dist/aci/levels.d.ts +279 -0
- package/dist/aci/levels.d.ts.map +1 -0
- package/dist/aci/levels.js +467 -0
- package/dist/aci/levels.js.map +1 -0
- package/dist/aci/mapping.d.ts +291 -0
- package/dist/aci/mapping.d.ts.map +1 -0
- package/dist/aci/mapping.js +427 -0
- package/dist/aci/mapping.js.map +1 -0
- package/dist/aci/skills.d.ts +314 -0
- package/dist/aci/skills.d.ts.map +1 -0
- package/dist/aci/skills.js +404 -0
- package/dist/aci/skills.js.map +1 -0
- package/dist/aci/tiers.d.ts +403 -0
- package/dist/aci/tiers.d.ts.map +1 -0
- package/dist/aci/tiers.js +659 -0
- package/dist/aci/tiers.js.map +1 -0
- package/dist/canonical/agent.d.ts +796 -0
- package/dist/canonical/agent.d.ts.map +1 -0
- package/dist/canonical/agent.js +527 -0
- package/dist/canonical/agent.js.map +1 -0
- package/dist/canonical/governance.d.ts +905 -0
- package/dist/canonical/governance.d.ts.map +1 -0
- package/dist/canonical/governance.js +454 -0
- package/dist/canonical/governance.js.map +1 -0
- package/dist/canonical/index.d.ts +17 -0
- package/dist/canonical/index.d.ts.map +1 -0
- package/dist/canonical/index.js +21 -0
- package/dist/canonical/index.js.map +1 -0
- package/dist/canonical/intent.d.ts +727 -0
- package/dist/canonical/intent.d.ts.map +1 -0
- package/dist/canonical/intent.js +203 -0
- package/dist/canonical/intent.js.map +1 -0
- package/dist/canonical/risk-level.d.ts +344 -0
- package/dist/canonical/risk-level.d.ts.map +1 -0
- package/dist/canonical/risk-level.js +472 -0
- package/dist/canonical/risk-level.js.map +1 -0
- package/dist/canonical/trust-band.d.ts +239 -0
- package/dist/canonical/trust-band.d.ts.map +1 -0
- package/dist/canonical/trust-band.js +298 -0
- package/dist/canonical/trust-band.js.map +1 -0
- package/dist/canonical/trust-score.d.ts +301 -0
- package/dist/canonical/trust-score.d.ts.map +1 -0
- package/dist/canonical/trust-score.js +390 -0
- package/dist/canonical/trust-score.js.map +1 -0
- package/dist/canonical/trust-signal.d.ts +617 -0
- package/dist/canonical/trust-signal.d.ts.map +1 -0
- package/dist/canonical/trust-signal.js +355 -0
- package/dist/canonical/trust-signal.js.map +1 -0
- package/dist/canonical/validation.d.ts +231 -0
- package/dist/canonical/validation.d.ts.map +1 -0
- package/dist/canonical/validation.js +558 -0
- package/dist/canonical/validation.js.map +1 -0
- package/dist/common/index.d.ts +7 -0
- package/dist/common/index.d.ts.map +1 -0
- package/dist/common/index.js +7 -0
- package/dist/common/index.js.map +1 -0
- package/dist/common/primitives.d.ts +56 -0
- package/dist/common/primitives.d.ts.map +1 -0
- package/dist/common/primitives.js +70 -0
- package/dist/common/primitives.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/v2/canary-probe.d.ts +201 -0
- package/dist/v2/canary-probe.d.ts.map +1 -0
- package/dist/v2/canary-probe.js +99 -0
- package/dist/v2/canary-probe.js.map +1 -0
- package/dist/v2/component.d.ts +132 -0
- package/dist/v2/component.d.ts.map +1 -0
- package/dist/v2/component.js +5 -0
- package/dist/v2/component.js.map +1 -0
- package/dist/v2/decision.d.ts +310 -0
- package/dist/v2/decision.d.ts.map +1 -0
- package/dist/v2/decision.js +21 -0
- package/dist/v2/decision.js.map +1 -0
- package/dist/v2/enums.d.ts +185 -0
- package/dist/v2/enums.d.ts.map +1 -0
- package/dist/v2/enums.js +203 -0
- package/dist/v2/enums.js.map +1 -0
- package/dist/v2/evidence.d.ts +368 -0
- package/dist/v2/evidence.d.ts.map +1 -0
- package/dist/v2/evidence.js +152 -0
- package/dist/v2/evidence.js.map +1 -0
- package/dist/v2/execution.d.ts +190 -0
- package/dist/v2/execution.d.ts.map +1 -0
- package/dist/v2/execution.js +5 -0
- package/dist/v2/execution.js.map +1 -0
- package/dist/v2/index.d.ts +19 -0
- package/dist/v2/index.d.ts.map +1 -0
- package/dist/v2/index.js +32 -0
- package/dist/v2/index.js.map +1 -0
- package/dist/v2/intent.d.ts +89 -0
- package/dist/v2/intent.d.ts.map +1 -0
- package/dist/v2/intent.js +5 -0
- package/dist/v2/intent.js.map +1 -0
- package/dist/v2/policy-bundle.d.ts +166 -0
- package/dist/v2/policy-bundle.d.ts.map +1 -0
- package/dist/v2/policy-bundle.js +20 -0
- package/dist/v2/policy-bundle.js.map +1 -0
- package/dist/v2/pre-action-gate.d.ts +185 -0
- package/dist/v2/pre-action-gate.d.ts.map +1 -0
- package/dist/v2/pre-action-gate.js +64 -0
- package/dist/v2/pre-action-gate.js.map +1 -0
- package/dist/v2/proof-event.d.ts +201 -0
- package/dist/v2/proof-event.d.ts.map +1 -0
- package/dist/v2/proof-event.js +5 -0
- package/dist/v2/proof-event.js.map +1 -0
- package/dist/v2/retention.d.ts +329 -0
- package/dist/v2/retention.d.ts.map +1 -0
- package/dist/v2/retention.js +162 -0
- package/dist/v2/retention.js.map +1 -0
- package/dist/v2/trust-delta.d.ts +119 -0
- package/dist/v2/trust-delta.d.ts.map +1 -0
- package/dist/v2/trust-delta.js +28 -0
- package/dist/v2/trust-delta.js.map +1 -0
- package/dist/v2/trust-profile.d.ts +337 -0
- package/dist/v2/trust-profile.d.ts.map +1 -0
- package/dist/v2/trust-profile.js +96 -0
- package/dist/v2/trust-profile.js.map +1 -0
- package/dist/validators/decision.d.ts +430 -0
- package/dist/validators/decision.d.ts.map +1 -0
- package/dist/validators/decision.js +61 -0
- package/dist/validators/decision.js.map +1 -0
- package/dist/validators/enums.d.ts +24 -0
- package/dist/validators/enums.d.ts.map +1 -0
- package/dist/validators/enums.js +24 -0
- package/dist/validators/enums.js.map +1 -0
- package/dist/validators/index.d.ts +30 -0
- package/dist/validators/index.d.ts.map +1 -0
- package/dist/validators/index.js +42 -0
- package/dist/validators/index.js.map +1 -0
- package/dist/validators/intent.d.ts +229 -0
- package/dist/validators/intent.d.ts.map +1 -0
- package/dist/validators/intent.js +47 -0
- package/dist/validators/intent.js.map +1 -0
- package/dist/validators/proof-event.d.ts +981 -0
- package/dist/validators/proof-event.d.ts.map +1 -0
- package/dist/validators/proof-event.js +134 -0
- package/dist/validators/proof-event.js.map +1 -0
- package/dist/validators/trust-profile.d.ts +350 -0
- package/dist/validators/trust-profile.d.ts.map +1 -0
- package/dist/validators/trust-profile.js +65 -0
- package/dist/validators/trust-profile.js.map +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1,467 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview ACI Capability Levels (L0-L7)
|
|
3
|
+
*
|
|
4
|
+
* Defines the autonomy/capability levels used in ACI strings. Levels represent
|
|
5
|
+
* what actions an agent is permitted to perform, ranging from read-only
|
|
6
|
+
* observation (L0) to full autonomy (L7).
|
|
7
|
+
*
|
|
8
|
+
* The 8-tier system (L0-L7) maps to trust bands:
|
|
9
|
+
* - L0: Observe - Read-only access (Sandbox tier)
|
|
10
|
+
* - L1: Advise - Suggest and recommend (Observed tier)
|
|
11
|
+
* - L2: Draft - Prepare changes for review (Provisional tier)
|
|
12
|
+
* - L3: Execute - Execute with approval (Monitored tier)
|
|
13
|
+
* - L4: Autonomous - Self-directed within bounds (Standard tier)
|
|
14
|
+
* - L5: Trusted - Expanded autonomy (Trusted tier)
|
|
15
|
+
* - L6: Certified - Independent operation (Certified tier)
|
|
16
|
+
* - L7: Sovereign - Full autonomy (Autonomous tier)
|
|
17
|
+
*
|
|
18
|
+
* @module @vorion/contracts/aci/levels
|
|
19
|
+
*/
|
|
20
|
+
import { z } from 'zod';
|
|
21
|
+
// ============================================================================
|
|
22
|
+
// Capability Level Enum
|
|
23
|
+
// ============================================================================
|
|
24
|
+
/**
|
|
25
|
+
* Capability levels defining agent autonomy.
|
|
26
|
+
*
|
|
27
|
+
* Levels form a hierarchy where higher levels include the capabilities
|
|
28
|
+
* of all lower levels:
|
|
29
|
+
*
|
|
30
|
+
* - L0: Read-only access, monitoring, observation
|
|
31
|
+
* - L1: Can suggest and recommend, but not modify
|
|
32
|
+
* - L2: Can prepare drafts and stage changes for review
|
|
33
|
+
* - L3: Can execute operations with human approval
|
|
34
|
+
* - L4: Self-directed operation within defined bounds
|
|
35
|
+
* - L5: Expanded autonomy with minimal oversight
|
|
36
|
+
* - L6: Independent operation with comprehensive audit trail
|
|
37
|
+
* - L7: Full autonomy for mission-critical operations
|
|
38
|
+
*/
|
|
39
|
+
export var CapabilityLevel;
|
|
40
|
+
(function (CapabilityLevel) {
|
|
41
|
+
/** Read-only, monitoring - Can observe but not interact */
|
|
42
|
+
CapabilityLevel[CapabilityLevel["L0_OBSERVE"] = 0] = "L0_OBSERVE";
|
|
43
|
+
/** Advisory - Can suggest and recommend actions */
|
|
44
|
+
CapabilityLevel[CapabilityLevel["L1_ADVISE"] = 1] = "L1_ADVISE";
|
|
45
|
+
/** Drafting - Can prepare changes for human review */
|
|
46
|
+
CapabilityLevel[CapabilityLevel["L2_DRAFT"] = 2] = "L2_DRAFT";
|
|
47
|
+
/** Execute - Can execute with human approval */
|
|
48
|
+
CapabilityLevel[CapabilityLevel["L3_EXECUTE"] = 3] = "L3_EXECUTE";
|
|
49
|
+
/** Autonomous - Self-directed within bounds */
|
|
50
|
+
CapabilityLevel[CapabilityLevel["L4_AUTONOMOUS"] = 4] = "L4_AUTONOMOUS";
|
|
51
|
+
/** Trusted - Expanded autonomy with minimal oversight */
|
|
52
|
+
CapabilityLevel[CapabilityLevel["L5_TRUSTED"] = 5] = "L5_TRUSTED";
|
|
53
|
+
/** Certified - Independent operation with audit trail */
|
|
54
|
+
CapabilityLevel[CapabilityLevel["L6_CERTIFIED"] = 6] = "L6_CERTIFIED";
|
|
55
|
+
/** Autonomous - Full autonomy for mission-critical operations */
|
|
56
|
+
CapabilityLevel[CapabilityLevel["L7_AUTONOMOUS"] = 7] = "L7_AUTONOMOUS";
|
|
57
|
+
})(CapabilityLevel || (CapabilityLevel = {}));
|
|
58
|
+
/**
|
|
59
|
+
* Array of all capability levels in ascending order.
|
|
60
|
+
*/
|
|
61
|
+
export const CAPABILITY_LEVELS = [
|
|
62
|
+
CapabilityLevel.L0_OBSERVE,
|
|
63
|
+
CapabilityLevel.L1_ADVISE,
|
|
64
|
+
CapabilityLevel.L2_DRAFT,
|
|
65
|
+
CapabilityLevel.L3_EXECUTE,
|
|
66
|
+
CapabilityLevel.L4_AUTONOMOUS,
|
|
67
|
+
CapabilityLevel.L5_TRUSTED,
|
|
68
|
+
CapabilityLevel.L6_CERTIFIED,
|
|
69
|
+
CapabilityLevel.L7_AUTONOMOUS,
|
|
70
|
+
];
|
|
71
|
+
/**
|
|
72
|
+
* Zod schema for CapabilityLevel enum validation.
|
|
73
|
+
*/
|
|
74
|
+
export const capabilityLevelSchema = z.nativeEnum(CapabilityLevel, {
|
|
75
|
+
errorMap: () => ({ message: 'Invalid capability level. Must be L0-L7 (0-7).' }),
|
|
76
|
+
});
|
|
77
|
+
// ============================================================================
|
|
78
|
+
// Level Names and Descriptions
|
|
79
|
+
// ============================================================================
|
|
80
|
+
/**
|
|
81
|
+
* Human-readable names for capability levels.
|
|
82
|
+
*/
|
|
83
|
+
export const CAPABILITY_LEVEL_NAMES = {
|
|
84
|
+
[CapabilityLevel.L0_OBSERVE]: 'Observe',
|
|
85
|
+
[CapabilityLevel.L1_ADVISE]: 'Advise',
|
|
86
|
+
[CapabilityLevel.L2_DRAFT]: 'Draft',
|
|
87
|
+
[CapabilityLevel.L3_EXECUTE]: 'Execute',
|
|
88
|
+
[CapabilityLevel.L4_AUTONOMOUS]: 'Autonomous',
|
|
89
|
+
[CapabilityLevel.L5_TRUSTED]: 'Trusted',
|
|
90
|
+
[CapabilityLevel.L6_CERTIFIED]: 'Certified',
|
|
91
|
+
[CapabilityLevel.L7_AUTONOMOUS]: 'Sovereign',
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Short codes for capability levels (without the L prefix).
|
|
95
|
+
*/
|
|
96
|
+
export const CAPABILITY_LEVEL_CODES = {
|
|
97
|
+
[CapabilityLevel.L0_OBSERVE]: 'L0',
|
|
98
|
+
[CapabilityLevel.L1_ADVISE]: 'L1',
|
|
99
|
+
[CapabilityLevel.L2_DRAFT]: 'L2',
|
|
100
|
+
[CapabilityLevel.L3_EXECUTE]: 'L3',
|
|
101
|
+
[CapabilityLevel.L4_AUTONOMOUS]: 'L4',
|
|
102
|
+
[CapabilityLevel.L5_TRUSTED]: 'L5',
|
|
103
|
+
[CapabilityLevel.L6_CERTIFIED]: 'L6',
|
|
104
|
+
[CapabilityLevel.L7_AUTONOMOUS]: 'L7',
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* Detailed descriptions for each capability level.
|
|
108
|
+
*/
|
|
109
|
+
export const CAPABILITY_LEVEL_DESCRIPTIONS = {
|
|
110
|
+
[CapabilityLevel.L0_OBSERVE]: 'Read-only access for monitoring and observation. Cannot modify state or interact with systems.',
|
|
111
|
+
[CapabilityLevel.L1_ADVISE]: 'Can analyze and provide recommendations. May suggest actions but cannot execute them.',
|
|
112
|
+
[CapabilityLevel.L2_DRAFT]: 'Can prepare drafts, stage changes, and create proposals. All changes require review before application.',
|
|
113
|
+
[CapabilityLevel.L3_EXECUTE]: 'Can execute operations with explicit human approval. Each action requires confirmation.',
|
|
114
|
+
[CapabilityLevel.L4_AUTONOMOUS]: 'Self-directed operation within predefined bounds. Can act independently within policy constraints.',
|
|
115
|
+
[CapabilityLevel.L5_TRUSTED]: 'Expanded capabilities with minimal oversight. Trusted for complex operations.',
|
|
116
|
+
[CapabilityLevel.L6_CERTIFIED]: 'Independent operation with comprehensive audit trail. Certified for mission-critical tasks.',
|
|
117
|
+
[CapabilityLevel.L7_AUTONOMOUS]: 'Full autonomy for mission-critical operations. Reserved for highest-certified agents.',
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* Capabilities granted at each level (cumulative).
|
|
121
|
+
*/
|
|
122
|
+
export const CAPABILITY_LEVEL_ABILITIES = {
|
|
123
|
+
[CapabilityLevel.L0_OBSERVE]: ['read', 'monitor', 'report'],
|
|
124
|
+
[CapabilityLevel.L1_ADVISE]: ['read', 'monitor', 'report', 'analyze', 'recommend'],
|
|
125
|
+
[CapabilityLevel.L2_DRAFT]: ['read', 'monitor', 'report', 'analyze', 'recommend', 'draft', 'stage'],
|
|
126
|
+
[CapabilityLevel.L3_EXECUTE]: [
|
|
127
|
+
'read', 'monitor', 'report', 'analyze', 'recommend', 'draft', 'stage',
|
|
128
|
+
'execute_with_approval', 'modify_with_approval',
|
|
129
|
+
],
|
|
130
|
+
[CapabilityLevel.L4_AUTONOMOUS]: [
|
|
131
|
+
'read', 'monitor', 'report', 'analyze', 'recommend', 'draft', 'stage',
|
|
132
|
+
'execute_with_approval', 'modify_with_approval',
|
|
133
|
+
'execute_within_bounds', 'modify_within_bounds', 'delegate',
|
|
134
|
+
],
|
|
135
|
+
[CapabilityLevel.L5_TRUSTED]: [
|
|
136
|
+
'read', 'monitor', 'report', 'analyze', 'recommend', 'draft', 'stage',
|
|
137
|
+
'execute_with_approval', 'modify_with_approval',
|
|
138
|
+
'execute_within_bounds', 'modify_within_bounds', 'delegate',
|
|
139
|
+
'execute_expanded', 'modify_expanded',
|
|
140
|
+
],
|
|
141
|
+
[CapabilityLevel.L6_CERTIFIED]: [
|
|
142
|
+
'read', 'monitor', 'report', 'analyze', 'recommend', 'draft', 'stage',
|
|
143
|
+
'execute_with_approval', 'modify_with_approval',
|
|
144
|
+
'execute_within_bounds', 'modify_within_bounds', 'delegate',
|
|
145
|
+
'execute_expanded', 'modify_expanded',
|
|
146
|
+
'execute_independent', 'spawn_agents',
|
|
147
|
+
],
|
|
148
|
+
[CapabilityLevel.L7_AUTONOMOUS]: [
|
|
149
|
+
'read', 'monitor', 'report', 'analyze', 'recommend', 'draft', 'stage',
|
|
150
|
+
'execute_with_approval', 'modify_with_approval',
|
|
151
|
+
'execute_within_bounds', 'modify_within_bounds', 'delegate',
|
|
152
|
+
'execute_expanded', 'modify_expanded',
|
|
153
|
+
'execute_independent', 'spawn_agents',
|
|
154
|
+
'execute_any', 'modify_any', 'override_constraints',
|
|
155
|
+
],
|
|
156
|
+
};
|
|
157
|
+
/**
|
|
158
|
+
* Complete configuration for all capability levels.
|
|
159
|
+
*/
|
|
160
|
+
export const CAPABILITY_LEVEL_CONFIGS = {
|
|
161
|
+
[CapabilityLevel.L0_OBSERVE]: {
|
|
162
|
+
level: CapabilityLevel.L0_OBSERVE,
|
|
163
|
+
code: 'L0',
|
|
164
|
+
name: 'Observe',
|
|
165
|
+
description: CAPABILITY_LEVEL_DESCRIPTIONS[CapabilityLevel.L0_OBSERVE],
|
|
166
|
+
abilities: CAPABILITY_LEVEL_ABILITIES[CapabilityLevel.L0_OBSERVE],
|
|
167
|
+
requiresApproval: false,
|
|
168
|
+
canOperateAutonomously: false,
|
|
169
|
+
minCertificationTier: 0,
|
|
170
|
+
},
|
|
171
|
+
[CapabilityLevel.L1_ADVISE]: {
|
|
172
|
+
level: CapabilityLevel.L1_ADVISE,
|
|
173
|
+
code: 'L1',
|
|
174
|
+
name: 'Advise',
|
|
175
|
+
description: CAPABILITY_LEVEL_DESCRIPTIONS[CapabilityLevel.L1_ADVISE],
|
|
176
|
+
abilities: CAPABILITY_LEVEL_ABILITIES[CapabilityLevel.L1_ADVISE],
|
|
177
|
+
requiresApproval: false,
|
|
178
|
+
canOperateAutonomously: false,
|
|
179
|
+
minCertificationTier: 1,
|
|
180
|
+
},
|
|
181
|
+
[CapabilityLevel.L2_DRAFT]: {
|
|
182
|
+
level: CapabilityLevel.L2_DRAFT,
|
|
183
|
+
code: 'L2',
|
|
184
|
+
name: 'Draft',
|
|
185
|
+
description: CAPABILITY_LEVEL_DESCRIPTIONS[CapabilityLevel.L2_DRAFT],
|
|
186
|
+
abilities: CAPABILITY_LEVEL_ABILITIES[CapabilityLevel.L2_DRAFT],
|
|
187
|
+
requiresApproval: true,
|
|
188
|
+
canOperateAutonomously: false,
|
|
189
|
+
minCertificationTier: 2,
|
|
190
|
+
},
|
|
191
|
+
[CapabilityLevel.L3_EXECUTE]: {
|
|
192
|
+
level: CapabilityLevel.L3_EXECUTE,
|
|
193
|
+
code: 'L3',
|
|
194
|
+
name: 'Execute',
|
|
195
|
+
description: CAPABILITY_LEVEL_DESCRIPTIONS[CapabilityLevel.L3_EXECUTE],
|
|
196
|
+
abilities: CAPABILITY_LEVEL_ABILITIES[CapabilityLevel.L3_EXECUTE],
|
|
197
|
+
requiresApproval: true,
|
|
198
|
+
canOperateAutonomously: false,
|
|
199
|
+
minCertificationTier: 3,
|
|
200
|
+
},
|
|
201
|
+
[CapabilityLevel.L4_AUTONOMOUS]: {
|
|
202
|
+
level: CapabilityLevel.L4_AUTONOMOUS,
|
|
203
|
+
code: 'L4',
|
|
204
|
+
name: 'Autonomous',
|
|
205
|
+
description: CAPABILITY_LEVEL_DESCRIPTIONS[CapabilityLevel.L4_AUTONOMOUS],
|
|
206
|
+
abilities: CAPABILITY_LEVEL_ABILITIES[CapabilityLevel.L4_AUTONOMOUS],
|
|
207
|
+
requiresApproval: false,
|
|
208
|
+
canOperateAutonomously: true,
|
|
209
|
+
minCertificationTier: 4,
|
|
210
|
+
},
|
|
211
|
+
[CapabilityLevel.L5_TRUSTED]: {
|
|
212
|
+
level: CapabilityLevel.L5_TRUSTED,
|
|
213
|
+
code: 'L5',
|
|
214
|
+
name: 'Trusted',
|
|
215
|
+
description: CAPABILITY_LEVEL_DESCRIPTIONS[CapabilityLevel.L5_TRUSTED],
|
|
216
|
+
abilities: CAPABILITY_LEVEL_ABILITIES[CapabilityLevel.L5_TRUSTED],
|
|
217
|
+
requiresApproval: false,
|
|
218
|
+
canOperateAutonomously: true,
|
|
219
|
+
minCertificationTier: 5,
|
|
220
|
+
},
|
|
221
|
+
[CapabilityLevel.L6_CERTIFIED]: {
|
|
222
|
+
level: CapabilityLevel.L6_CERTIFIED,
|
|
223
|
+
code: 'L6',
|
|
224
|
+
name: 'Certified',
|
|
225
|
+
description: CAPABILITY_LEVEL_DESCRIPTIONS[CapabilityLevel.L6_CERTIFIED],
|
|
226
|
+
abilities: CAPABILITY_LEVEL_ABILITIES[CapabilityLevel.L6_CERTIFIED],
|
|
227
|
+
requiresApproval: false,
|
|
228
|
+
canOperateAutonomously: true,
|
|
229
|
+
minCertificationTier: 6,
|
|
230
|
+
},
|
|
231
|
+
[CapabilityLevel.L7_AUTONOMOUS]: {
|
|
232
|
+
level: CapabilityLevel.L7_AUTONOMOUS,
|
|
233
|
+
code: 'L7',
|
|
234
|
+
name: 'Sovereign',
|
|
235
|
+
description: CAPABILITY_LEVEL_DESCRIPTIONS[CapabilityLevel.L7_AUTONOMOUS],
|
|
236
|
+
abilities: CAPABILITY_LEVEL_ABILITIES[CapabilityLevel.L7_AUTONOMOUS],
|
|
237
|
+
requiresApproval: false,
|
|
238
|
+
canOperateAutonomously: true,
|
|
239
|
+
minCertificationTier: 7,
|
|
240
|
+
},
|
|
241
|
+
};
|
|
242
|
+
// ============================================================================
|
|
243
|
+
// Level Comparison Helpers
|
|
244
|
+
// ============================================================================
|
|
245
|
+
/**
|
|
246
|
+
* Checks if one level is higher than another.
|
|
247
|
+
*
|
|
248
|
+
* @param level - The level to check
|
|
249
|
+
* @param other - The level to compare against
|
|
250
|
+
* @returns True if level is higher than other
|
|
251
|
+
*
|
|
252
|
+
* @example
|
|
253
|
+
* ```typescript
|
|
254
|
+
* isLevelHigher(CapabilityLevel.L3_EXECUTE, CapabilityLevel.L2_DRAFT); // true
|
|
255
|
+
* isLevelHigher(CapabilityLevel.L1_ADVISE, CapabilityLevel.L3_EXECUTE); // false
|
|
256
|
+
* ```
|
|
257
|
+
*/
|
|
258
|
+
export function isLevelHigher(level, other) {
|
|
259
|
+
return level > other;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Checks if one level is at least as high as another.
|
|
263
|
+
*
|
|
264
|
+
* @param level - The level to check
|
|
265
|
+
* @param minLevel - The minimum level required
|
|
266
|
+
* @returns True if level meets or exceeds minLevel
|
|
267
|
+
*
|
|
268
|
+
* @example
|
|
269
|
+
* ```typescript
|
|
270
|
+
* meetsLevel(CapabilityLevel.L3_EXECUTE, CapabilityLevel.L2_DRAFT); // true
|
|
271
|
+
* meetsLevel(CapabilityLevel.L2_DRAFT, CapabilityLevel.L2_DRAFT); // true
|
|
272
|
+
* meetsLevel(CapabilityLevel.L1_ADVISE, CapabilityLevel.L3_EXECUTE); // false
|
|
273
|
+
* ```
|
|
274
|
+
*/
|
|
275
|
+
export function meetsLevel(level, minLevel) {
|
|
276
|
+
return level >= minLevel;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Compares two capability levels.
|
|
280
|
+
*
|
|
281
|
+
* @param a - First level
|
|
282
|
+
* @param b - Second level
|
|
283
|
+
* @returns -1 if a < b, 0 if equal, 1 if a > b
|
|
284
|
+
*/
|
|
285
|
+
export function compareLevels(a, b) {
|
|
286
|
+
if (a < b)
|
|
287
|
+
return -1;
|
|
288
|
+
if (a > b)
|
|
289
|
+
return 1;
|
|
290
|
+
return 0;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Gets the minimum of two capability levels.
|
|
294
|
+
*
|
|
295
|
+
* @param a - First level
|
|
296
|
+
* @param b - Second level
|
|
297
|
+
* @returns The lower level
|
|
298
|
+
*/
|
|
299
|
+
export function minLevel(a, b) {
|
|
300
|
+
return Math.min(a, b);
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Gets the maximum of two capability levels.
|
|
304
|
+
*
|
|
305
|
+
* @param a - First level
|
|
306
|
+
* @param b - Second level
|
|
307
|
+
* @returns The higher level
|
|
308
|
+
*/
|
|
309
|
+
export function maxLevel(a, b) {
|
|
310
|
+
return Math.max(a, b);
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Clamps a level to a range.
|
|
314
|
+
*
|
|
315
|
+
* @param level - The level to clamp
|
|
316
|
+
* @param min - Minimum allowed level
|
|
317
|
+
* @param max - Maximum allowed level
|
|
318
|
+
* @returns The clamped level
|
|
319
|
+
*/
|
|
320
|
+
export function clampLevel(level, min = CapabilityLevel.L0_OBSERVE, max = CapabilityLevel.L7_AUTONOMOUS) {
|
|
321
|
+
return Math.max(min, Math.min(max, level));
|
|
322
|
+
}
|
|
323
|
+
// ============================================================================
|
|
324
|
+
// Level Information Helpers
|
|
325
|
+
// ============================================================================
|
|
326
|
+
/**
|
|
327
|
+
* Gets the configuration for a capability level.
|
|
328
|
+
*
|
|
329
|
+
* @param level - The capability level
|
|
330
|
+
* @returns Level configuration
|
|
331
|
+
*/
|
|
332
|
+
export function getLevelConfig(level) {
|
|
333
|
+
return CAPABILITY_LEVEL_CONFIGS[level];
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Gets the human-readable name for a capability level.
|
|
337
|
+
*
|
|
338
|
+
* @param level - The capability level
|
|
339
|
+
* @returns Level name
|
|
340
|
+
*/
|
|
341
|
+
export function getLevelName(level) {
|
|
342
|
+
return CAPABILITY_LEVEL_NAMES[level];
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Gets the short code (L0-L7) for a capability level.
|
|
346
|
+
*
|
|
347
|
+
* @param level - The capability level
|
|
348
|
+
* @returns Level code
|
|
349
|
+
*/
|
|
350
|
+
export function getLevelCode(level) {
|
|
351
|
+
return CAPABILITY_LEVEL_CODES[level];
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Gets the description for a capability level.
|
|
355
|
+
*
|
|
356
|
+
* @param level - The capability level
|
|
357
|
+
* @returns Level description
|
|
358
|
+
*/
|
|
359
|
+
export function getLevelDescription(level) {
|
|
360
|
+
return CAPABILITY_LEVEL_DESCRIPTIONS[level];
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Checks if a level has a specific ability.
|
|
364
|
+
*
|
|
365
|
+
* @param level - The capability level
|
|
366
|
+
* @param ability - The ability to check
|
|
367
|
+
* @returns True if the level grants this ability
|
|
368
|
+
*/
|
|
369
|
+
export function hasAbility(level, ability) {
|
|
370
|
+
return CAPABILITY_LEVEL_ABILITIES[level].includes(ability);
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Checks if a level requires approval for actions.
|
|
374
|
+
*
|
|
375
|
+
* @param level - The capability level
|
|
376
|
+
* @returns True if approval is required
|
|
377
|
+
*/
|
|
378
|
+
export function requiresApproval(level) {
|
|
379
|
+
return CAPABILITY_LEVEL_CONFIGS[level].requiresApproval;
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Checks if a level can operate autonomously.
|
|
383
|
+
*
|
|
384
|
+
* @param level - The capability level
|
|
385
|
+
* @returns True if autonomous operation is allowed
|
|
386
|
+
*/
|
|
387
|
+
export function canOperateAutonomously(level) {
|
|
388
|
+
return CAPABILITY_LEVEL_CONFIGS[level].canOperateAutonomously;
|
|
389
|
+
}
|
|
390
|
+
// ============================================================================
|
|
391
|
+
// Parsing and Validation
|
|
392
|
+
// ============================================================================
|
|
393
|
+
/**
|
|
394
|
+
* Parses a level string (e.g., "L3" or "3") to a CapabilityLevel.
|
|
395
|
+
*
|
|
396
|
+
* @param levelStr - Level string to parse
|
|
397
|
+
* @returns Parsed CapabilityLevel
|
|
398
|
+
* @throws Error if the string is not a valid level
|
|
399
|
+
*
|
|
400
|
+
* @example
|
|
401
|
+
* ```typescript
|
|
402
|
+
* parseLevel('L3'); // CapabilityLevel.L3_EXECUTE
|
|
403
|
+
* parseLevel('3'); // CapabilityLevel.L3_EXECUTE
|
|
404
|
+
* parseLevel('L0'); // CapabilityLevel.L0_OBSERVE
|
|
405
|
+
* ```
|
|
406
|
+
*/
|
|
407
|
+
export function parseLevel(levelStr) {
|
|
408
|
+
const normalized = levelStr.toUpperCase().replace(/^L/, '');
|
|
409
|
+
const level = parseInt(normalized, 10);
|
|
410
|
+
if (isNaN(level) || level < 0 || level > 7) {
|
|
411
|
+
throw new Error(`Invalid capability level: ${levelStr}. Must be L0-L7 or 0-7.`);
|
|
412
|
+
}
|
|
413
|
+
return level;
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Safely parses a level string, returning null on failure.
|
|
417
|
+
*
|
|
418
|
+
* @param levelStr - Level string to parse
|
|
419
|
+
* @returns Parsed CapabilityLevel or null
|
|
420
|
+
*/
|
|
421
|
+
export function tryParseLevel(levelStr) {
|
|
422
|
+
try {
|
|
423
|
+
return parseLevel(levelStr);
|
|
424
|
+
}
|
|
425
|
+
catch {
|
|
426
|
+
return null;
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
// ============================================================================
|
|
430
|
+
// Type Guards
|
|
431
|
+
// ============================================================================
|
|
432
|
+
/**
|
|
433
|
+
* Type guard to check if a value is a valid CapabilityLevel.
|
|
434
|
+
*
|
|
435
|
+
* @param value - Value to check
|
|
436
|
+
* @returns True if value is a valid CapabilityLevel
|
|
437
|
+
*/
|
|
438
|
+
export function isCapabilityLevel(value) {
|
|
439
|
+
return (typeof value === 'number' &&
|
|
440
|
+
Number.isInteger(value) &&
|
|
441
|
+
value >= 0 &&
|
|
442
|
+
value <= 7);
|
|
443
|
+
}
|
|
444
|
+
// ============================================================================
|
|
445
|
+
// Zod Schemas
|
|
446
|
+
// ============================================================================
|
|
447
|
+
/**
|
|
448
|
+
* Zod schema for level configuration.
|
|
449
|
+
*/
|
|
450
|
+
export const capabilityLevelConfigSchema = z.object({
|
|
451
|
+
level: capabilityLevelSchema,
|
|
452
|
+
code: z.string().regex(/^L[0-7]$/),
|
|
453
|
+
name: z.string().min(1),
|
|
454
|
+
description: z.string().min(1),
|
|
455
|
+
abilities: z.array(z.string()).readonly(),
|
|
456
|
+
requiresApproval: z.boolean(),
|
|
457
|
+
canOperateAutonomously: z.boolean(),
|
|
458
|
+
minCertificationTier: z.number().int().min(0).max(7),
|
|
459
|
+
});
|
|
460
|
+
/**
|
|
461
|
+
* Zod schema for parsing level strings.
|
|
462
|
+
*/
|
|
463
|
+
export const levelStringSchema = z
|
|
464
|
+
.string()
|
|
465
|
+
.regex(/^[Ll]?[0-7]$/, 'Level must be L0-L7 or 0-7')
|
|
466
|
+
.transform((str) => parseLevel(str));
|
|
467
|
+
//# sourceMappingURL=levels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"levels.js","sourceRoot":"","sources":["../../src/aci/levels.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAN,IAAY,eAiBX;AAjBD,WAAY,eAAe;IACzB,2DAA2D;IAC3D,iEAAc,CAAA;IACd,mDAAmD;IACnD,+DAAa,CAAA;IACb,sDAAsD;IACtD,6DAAY,CAAA;IACZ,gDAAgD;IAChD,iEAAc,CAAA;IACd,+CAA+C;IAC/C,uEAAiB,CAAA;IACjB,yDAAyD;IACzD,iEAAc,CAAA;IACd,yDAAyD;IACzD,qEAAgB,CAAA;IAChB,iEAAiE;IACjE,uEAAiB,CAAA;AACnB,CAAC,EAjBW,eAAe,KAAf,eAAe,QAiB1B;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,eAAe,CAAC,UAAU;IAC1B,eAAe,CAAC,SAAS;IACzB,eAAe,CAAC,QAAQ;IACxB,eAAe,CAAC,UAAU;IAC1B,eAAe,CAAC,aAAa;IAC7B,eAAe,CAAC,UAAU;IAC1B,eAAe,CAAC,YAAY;IAC5B,eAAe,CAAC,aAAa;CACrB,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,UAAU,CAAC,eAAe,EAAE;IACjE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC;CAChF,CAAC,CAAC;AAEH,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA8C;IAC/E,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,SAAS;IACvC,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,QAAQ;IACrC,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,OAAO;IACnC,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,SAAS;IACvC,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,YAAY;IAC7C,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,SAAS;IACvC,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,WAAW;IAC3C,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,WAAW;CACpC,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA8C;IAC/E,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,IAAI;IAClC,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,IAAI;IACjC,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI;IAChC,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,IAAI;IAClC,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,IAAI;IACrC,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,IAAI;IAClC,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,IAAI;IACpC,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,IAAI;CAC7B,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAA8C;IACtF,CAAC,eAAe,CAAC,UAAU,CAAC,EAC1B,gGAAgG;IAClG,CAAC,eAAe,CAAC,SAAS,CAAC,EACzB,uFAAuF;IACzF,CAAC,eAAe,CAAC,QAAQ,CAAC,EACxB,yGAAyG;IAC3G,CAAC,eAAe,CAAC,UAAU,CAAC,EAC1B,yFAAyF;IAC3F,CAAC,eAAe,CAAC,aAAa,CAAC,EAC7B,oGAAoG;IACtG,CAAC,eAAe,CAAC,UAAU,CAAC,EAC1B,+EAA+E;IACjF,CAAC,eAAe,CAAC,YAAY,CAAC,EAC5B,6FAA6F;IAC/F,CAAC,eAAe,CAAC,aAAa,CAAC,EAC7B,uFAAuF;CACjF,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAyD;IAC9F,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;IAC3D,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC;IAClF,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC;IACnG,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE;QAC5B,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO;QACrE,uBAAuB,EAAE,sBAAsB;KAChD;IACD,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE;QAC/B,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO;QACrE,uBAAuB,EAAE,sBAAsB;QAC/C,uBAAuB,EAAE,sBAAsB,EAAE,UAAU;KAC5D;IACD,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE;QAC5B,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO;QACrE,uBAAuB,EAAE,sBAAsB;QAC/C,uBAAuB,EAAE,sBAAsB,EAAE,UAAU;QAC3D,kBAAkB,EAAE,iBAAiB;KACtC;IACD,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE;QAC9B,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO;QACrE,uBAAuB,EAAE,sBAAsB;QAC/C,uBAAuB,EAAE,sBAAsB,EAAE,UAAU;QAC3D,kBAAkB,EAAE,iBAAiB;QACrC,qBAAqB,EAAE,cAAc;KACtC;IACD,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE;QAC/B,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO;QACrE,uBAAuB,EAAE,sBAAsB;QAC/C,uBAAuB,EAAE,sBAAsB,EAAE,UAAU;QAC3D,kBAAkB,EAAE,iBAAiB;QACrC,qBAAqB,EAAE,cAAc;QACrC,aAAa,EAAE,YAAY,EAAE,sBAAsB;KACpD;CACO,CAAC;AA4BX;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAA6D;IAChG,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE;QAC5B,KAAK,EAAE,eAAe,CAAC,UAAU;QACjC,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,6BAA6B,CAAC,eAAe,CAAC,UAAU,CAAC;QACtE,SAAS,EAAE,0BAA0B,CAAC,eAAe,CAAC,UAAU,CAAC;QACjE,gBAAgB,EAAE,KAAK;QACvB,sBAAsB,EAAE,KAAK;QAC7B,oBAAoB,EAAE,CAAC;KACxB;IACD,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE;QAC3B,KAAK,EAAE,eAAe,CAAC,SAAS;QAChC,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,6BAA6B,CAAC,eAAe,CAAC,SAAS,CAAC;QACrE,SAAS,EAAE,0BAA0B,CAAC,eAAe,CAAC,SAAS,CAAC;QAChE,gBAAgB,EAAE,KAAK;QACvB,sBAAsB,EAAE,KAAK;QAC7B,oBAAoB,EAAE,CAAC;KACxB;IACD,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;QAC1B,KAAK,EAAE,eAAe,CAAC,QAAQ;QAC/B,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,6BAA6B,CAAC,eAAe,CAAC,QAAQ,CAAC;QACpE,SAAS,EAAE,0BAA0B,CAAC,eAAe,CAAC,QAAQ,CAAC;QAC/D,gBAAgB,EAAE,IAAI;QACtB,sBAAsB,EAAE,KAAK;QAC7B,oBAAoB,EAAE,CAAC;KACxB;IACD,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE;QAC5B,KAAK,EAAE,eAAe,CAAC,UAAU;QACjC,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,6BAA6B,CAAC,eAAe,CAAC,UAAU,CAAC;QACtE,SAAS,EAAE,0BAA0B,CAAC,eAAe,CAAC,UAAU,CAAC;QACjE,gBAAgB,EAAE,IAAI;QACtB,sBAAsB,EAAE,KAAK;QAC7B,oBAAoB,EAAE,CAAC;KACxB;IACD,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE;QAC/B,KAAK,EAAE,eAAe,CAAC,aAAa;QACpC,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,6BAA6B,CAAC,eAAe,CAAC,aAAa,CAAC;QACzE,SAAS,EAAE,0BAA0B,CAAC,eAAe,CAAC,aAAa,CAAC;QACpE,gBAAgB,EAAE,KAAK;QACvB,sBAAsB,EAAE,IAAI;QAC5B,oBAAoB,EAAE,CAAC;KACxB;IACD,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE;QAC5B,KAAK,EAAE,eAAe,CAAC,UAAU;QACjC,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,6BAA6B,CAAC,eAAe,CAAC,UAAU,CAAC;QACtE,SAAS,EAAE,0BAA0B,CAAC,eAAe,CAAC,UAAU,CAAC;QACjE,gBAAgB,EAAE,KAAK;QACvB,sBAAsB,EAAE,IAAI;QAC5B,oBAAoB,EAAE,CAAC;KACxB;IACD,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE;QAC9B,KAAK,EAAE,eAAe,CAAC,YAAY;QACnC,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,6BAA6B,CAAC,eAAe,CAAC,YAAY,CAAC;QACxE,SAAS,EAAE,0BAA0B,CAAC,eAAe,CAAC,YAAY,CAAC;QACnE,gBAAgB,EAAE,KAAK;QACvB,sBAAsB,EAAE,IAAI;QAC5B,oBAAoB,EAAE,CAAC;KACxB;IACD,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE;QAC/B,KAAK,EAAE,eAAe,CAAC,aAAa;QACpC,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,6BAA6B,CAAC,eAAe,CAAC,aAAa,CAAC;QACzE,SAAS,EAAE,0BAA0B,CAAC,eAAe,CAAC,aAAa,CAAC;QACpE,gBAAgB,EAAE,KAAK;QACvB,sBAAsB,EAAE,IAAI;QAC5B,oBAAoB,EAAE,CAAC;KACxB;CACO,CAAC;AAEX,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAAC,KAAsB,EAAE,KAAsB;IAC1E,OAAO,KAAK,GAAG,KAAK,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,UAAU,CAAC,KAAsB,EAAE,QAAyB;IAC1E,OAAO,KAAK,IAAI,QAAQ,CAAC;AAC3B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,CAAkB,EAAE,CAAkB;IAClE,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IACrB,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACpB,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAkB,EAAE,CAAkB;IAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAoB,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAkB,EAAE,CAAkB;IAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAoB,CAAC;AAC3C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CACxB,KAAsB,EACtB,MAAuB,eAAe,CAAC,UAAU,EACjD,MAAuB,eAAe,CAAC,aAAa;IAEpD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAoB,CAAC;AAChE,CAAC;AAED,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAsB;IACnD,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAsB;IACjD,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAsB;IACjD,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAsB;IACxD,OAAO,6BAA6B,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,KAAsB,EAAE,OAAe;IAChE,OAAO,0BAA0B,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAsB;IACrD,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAsB;IAC3D,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC;AAChE,CAAC;AAED,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAEvC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,yBAAyB,CAAC,CAAC;IAClF,CAAC;IAED,OAAO,KAAwB,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,IAAI,CAAC;QACH,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QACvB,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC,CACX,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,KAAK,EAAE,qBAAqB;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACzC,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE;IAC7B,sBAAsB,EAAE,CAAC,CAAC,OAAO,EAAE;IACnC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACrD,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,KAAK,CAAC,cAAc,EAAE,4BAA4B,CAAC;KACnD,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC"}
|