@vorionsys/contracts 0.1.0 → 0.1.1
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/README.md +146 -0
- package/dist/aci/aci-string.d.ts +7 -7
- package/dist/aci/aci-string.js +87 -69
- package/dist/aci/aci-string.js.map +1 -1
- package/dist/aci/attestation.d.ts +71 -71
- package/dist/aci/attestation.js +67 -57
- package/dist/aci/attestation.js.map +1 -1
- package/dist/aci/domains.d.ts +1 -1
- package/dist/aci/domains.js +55 -37
- package/dist/aci/domains.js.map +1 -1
- package/dist/aci/effective-permission.d.ts +6 -6
- package/dist/aci/effective-permission.js +59 -46
- package/dist/aci/effective-permission.js.map +1 -1
- package/dist/aci/identity.d.ts +99 -99
- package/dist/aci/identity.js +95 -85
- package/dist/aci/identity.js.map +1 -1
- package/dist/aci/index.d.ts +13 -3
- package/dist/aci/index.d.ts.map +1 -1
- package/dist/aci/index.js +268 -43
- package/dist/aci/index.js.map +1 -1
- package/dist/aci/jwt-claims.d.ts +29 -29
- package/dist/aci/jwt-claims.js +72 -62
- package/dist/aci/jwt-claims.js.map +1 -1
- package/dist/aci/levels.d.ts +3 -3
- package/dist/aci/levels.js +79 -60
- package/dist/aci/levels.js.map +1 -1
- package/dist/aci/mapping.d.ts +3 -3
- package/dist/aci/mapping.js +94 -74
- package/dist/aci/mapping.js.map +1 -1
- package/dist/aci/skills.d.ts +3 -3
- package/dist/aci/skills.js +71 -49
- package/dist/aci/skills.js.map +1 -1
- package/dist/aci/tiers.d.ts +1 -1
- package/dist/aci/tiers.js +144 -117
- package/dist/aci/tiers.js.map +1 -1
- package/dist/canonical/agent.d.ts +1 -1
- package/dist/canonical/agent.js +146 -130
- package/dist/canonical/agent.js.map +1 -1
- package/dist/canonical/governance.d.ts +1 -1
- package/dist/canonical/governance.js +134 -120
- package/dist/canonical/governance.js.map +1 -1
- package/dist/canonical/index.d.ts +1 -0
- package/dist/canonical/index.d.ts.map +1 -1
- package/dist/canonical/index.js +26 -8
- package/dist/canonical/index.js.map +1 -1
- package/dist/canonical/intent.d.ts +8 -15
- package/dist/canonical/intent.d.ts.map +1 -1
- package/dist/canonical/intent.js +91 -82
- package/dist/canonical/intent.js.map +1 -1
- package/dist/canonical/middleware.d.ts +513 -0
- package/dist/canonical/middleware.d.ts.map +1 -0
- package/dist/canonical/middleware.js +218 -0
- package/dist/canonical/middleware.js.map +1 -0
- package/dist/canonical/risk-level.d.ts +1 -1
- package/dist/canonical/risk-level.js +66 -46
- package/dist/canonical/risk-level.js.map +1 -1
- package/dist/canonical/trust-band.d.ts +1 -1
- package/dist/canonical/trust-band.js +39 -28
- package/dist/canonical/trust-band.js.map +1 -1
- package/dist/canonical/trust-score.d.ts +1 -1
- package/dist/canonical/trust-score.js +46 -29
- package/dist/canonical/trust-score.js.map +1 -1
- package/dist/canonical/trust-signal.d.ts +13 -13
- package/dist/canonical/trust-signal.js +91 -78
- package/dist/canonical/trust-signal.js.map +1 -1
- package/dist/canonical/validation.js +148 -102
- package/dist/canonical/validation.js.map +1 -1
- package/dist/car/attestation.d.ts +648 -0
- package/dist/car/attestation.d.ts.map +1 -0
- package/dist/car/attestation.js +299 -0
- package/dist/car/attestation.js.map +1 -0
- package/dist/car/car-string.d.ts +846 -0
- package/dist/car/car-string.d.ts.map +1 -0
- package/dist/car/car-string.js +734 -0
- package/dist/car/car-string.js.map +1 -0
- package/dist/car/domains.d.ts +260 -0
- package/dist/car/domains.d.ts.map +1 -0
- package/dist/car/domains.js +340 -0
- package/dist/car/domains.js.map +1 -0
- package/dist/car/effective-permission.d.ts +371 -0
- package/dist/car/effective-permission.d.ts.map +1 -0
- package/dist/car/effective-permission.js +364 -0
- package/dist/car/effective-permission.js.map +1 -0
- package/dist/car/identity.d.ts +1206 -0
- package/dist/car/identity.d.ts.map +1 -0
- package/dist/car/identity.js +348 -0
- package/dist/car/identity.js.map +1 -0
- package/dist/car/index.d.ts +104 -0
- package/dist/car/index.d.ts.map +1 -0
- package/dist/car/index.js +401 -0
- package/dist/car/index.js.map +1 -0
- package/dist/car/jwt-claims.d.ts +1364 -0
- package/dist/car/jwt-claims.d.ts.map +1 -0
- package/dist/car/jwt-claims.js +388 -0
- package/dist/car/jwt-claims.js.map +1 -0
- package/dist/car/levels.d.ts +279 -0
- package/dist/car/levels.d.ts.map +1 -0
- package/dist/car/levels.js +486 -0
- package/dist/car/levels.js.map +1 -0
- package/dist/car/mapping.d.ts +291 -0
- package/dist/car/mapping.d.ts.map +1 -0
- package/dist/car/mapping.js +447 -0
- package/dist/car/mapping.js.map +1 -0
- package/dist/car/skills.d.ts +314 -0
- package/dist/car/skills.d.ts.map +1 -0
- package/dist/car/skills.js +426 -0
- package/dist/car/skills.js.map +1 -0
- package/dist/car/tiers.d.ts +403 -0
- package/dist/car/tiers.d.ts.map +1 -0
- package/dist/car/tiers.js +686 -0
- package/dist/car/tiers.js.map +1 -0
- package/dist/common/index.d.ts +1 -0
- package/dist/common/index.d.ts.map +1 -1
- package/dist/common/index.js +18 -1
- package/dist/common/index.js.map +1 -1
- package/dist/common/primitives.d.ts +9 -7
- package/dist/common/primitives.d.ts.map +1 -1
- package/dist/common/primitives.js +30 -25
- package/dist/common/primitives.js.map +1 -1
- package/dist/common/types.d.ts +328 -0
- package/dist/common/types.d.ts.map +1 -0
- package/dist/common/types.js +61 -0
- package/dist/common/types.js.map +1 -0
- package/dist/db/agents.d.ts +1374 -0
- package/dist/db/agents.d.ts.map +1 -0
- package/dist/db/agents.js +283 -0
- package/dist/db/agents.js.map +1 -0
- package/dist/db/api-keys.d.ts +365 -0
- package/dist/db/api-keys.d.ts.map +1 -0
- package/dist/db/api-keys.js +101 -0
- package/dist/db/api-keys.js.map +1 -0
- package/dist/db/escalations.d.ts +400 -0
- package/dist/db/escalations.d.ts.map +1 -0
- package/dist/db/escalations.js +100 -0
- package/dist/db/escalations.js.map +1 -0
- package/dist/db/index.d.ts +20 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +47 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/intents.d.ts +384 -0
- package/dist/db/intents.d.ts.map +1 -0
- package/dist/db/intents.js +93 -0
- package/dist/db/intents.js.map +1 -0
- package/dist/db/merkle.d.ts +344 -0
- package/dist/db/merkle.d.ts.map +1 -0
- package/dist/db/merkle.js +103 -0
- package/dist/db/merkle.js.map +1 -0
- package/dist/db/operations.d.ts +187 -0
- package/dist/db/operations.d.ts.map +1 -0
- package/dist/db/operations.js +68 -0
- package/dist/db/operations.js.map +1 -0
- package/dist/db/policy-versions.d.ts +112 -0
- package/dist/db/policy-versions.d.ts.map +1 -0
- package/dist/db/policy-versions.js +44 -0
- package/dist/db/policy-versions.js.map +1 -0
- package/dist/db/proofs.d.ts +296 -0
- package/dist/db/proofs.d.ts.map +1 -0
- package/dist/db/proofs.js +66 -0
- package/dist/db/proofs.js.map +1 -0
- package/dist/db/rbac.d.ts +655 -0
- package/dist/db/rbac.d.ts.map +1 -0
- package/dist/db/rbac.js +189 -0
- package/dist/db/rbac.js.map +1 -0
- package/dist/db/service-accounts.d.ts +571 -0
- package/dist/db/service-accounts.d.ts.map +1 -0
- package/dist/db/service-accounts.js +179 -0
- package/dist/db/service-accounts.js.map +1 -0
- package/dist/db/trust.d.ts +437 -0
- package/dist/db/trust.d.ts.map +1 -0
- package/dist/db/trust.js +111 -0
- package/dist/db/trust.js.map +1 -0
- package/dist/db/webhooks.d.ts +280 -0
- package/dist/db/webhooks.d.ts.map +1 -0
- package/dist/db/webhooks.js +94 -0
- package/dist/db/webhooks.js.map +1 -0
- package/dist/flags.d.ts +214 -0
- package/dist/flags.d.ts.map +1 -0
- package/dist/flags.js +443 -0
- package/dist/flags.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +47 -4
- package/dist/index.js.map +1 -1
- package/dist/v2/canary-probe.js +10 -7
- package/dist/v2/canary-probe.js.map +1 -1
- package/dist/v2/component.js +2 -1
- package/dist/v2/component.js.map +1 -1
- package/dist/v2/decision.js +5 -2
- package/dist/v2/decision.js.map +1 -1
- package/dist/v2/enums.js +28 -25
- package/dist/v2/enums.js.map +1 -1
- package/dist/v2/evidence.js +75 -72
- package/dist/v2/evidence.js.map +1 -1
- package/dist/v2/execution.js +2 -1
- package/dist/v2/execution.js.map +1 -1
- package/dist/v2/index.js +29 -13
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/intent.js +2 -1
- package/dist/v2/intent.js.map +1 -1
- package/dist/v2/policy-bundle.js +5 -2
- package/dist/v2/policy-bundle.js.map +1 -1
- package/dist/v2/pre-action-gate.js +10 -7
- package/dist/v2/pre-action-gate.js.map +1 -1
- package/dist/v2/proof-event.js +2 -1
- package/dist/v2/proof-event.js.map +1 -1
- package/dist/v2/retention.js +104 -101
- package/dist/v2/retention.js.map +1 -1
- package/dist/v2/trust-delta.js +5 -2
- package/dist/v2/trust-delta.js.map +1 -1
- package/dist/v2/trust-profile.js +12 -9
- package/dist/v2/trust-profile.js.map +1 -1
- package/dist/validators/decision.d.ts +2 -2
- package/dist/validators/decision.js +49 -46
- package/dist/validators/decision.js.map +1 -1
- package/dist/validators/enums.js +14 -11
- package/dist/validators/enums.js.map +1 -1
- package/dist/validators/index.js +30 -9
- package/dist/validators/index.js.map +1 -1
- package/dist/validators/intent.js +40 -37
- package/dist/validators/intent.js.map +1 -1
- package/dist/validators/proof-event.js +101 -98
- package/dist/validators/proof-event.js.map +1 -1
- package/dist/validators/trust-profile.js +40 -37
- package/dist/validators/trust-profile.js.map +1 -1
- package/package.json +65 -13
|
@@ -0,0 +1,486 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview CAR Capability Levels (L0-L7)
|
|
4
|
+
*
|
|
5
|
+
* Defines the autonomy/capability levels used in CAR strings. Levels represent
|
|
6
|
+
* what actions an agent is permitted to perform, ranging from read-only
|
|
7
|
+
* observation (L0) to full autonomy (L7).
|
|
8
|
+
*
|
|
9
|
+
* The 8-tier system (L0-L7) maps to trust bands:
|
|
10
|
+
* - L0: Observe - Read-only access (Sandbox tier)
|
|
11
|
+
* - L1: Advise - Suggest and recommend (Observed tier)
|
|
12
|
+
* - L2: Draft - Prepare changes for review (Provisional tier)
|
|
13
|
+
* - L3: Execute - Execute with approval (Monitored tier)
|
|
14
|
+
* - L4: Autonomous - Self-directed within bounds (Standard tier)
|
|
15
|
+
* - L5: Trusted - Expanded autonomy (Trusted tier)
|
|
16
|
+
* - L6: Certified - Independent operation (Certified tier)
|
|
17
|
+
* - L7: Sovereign - Full autonomy (Autonomous tier)
|
|
18
|
+
*
|
|
19
|
+
* @module @vorionsys/contracts/car/levels
|
|
20
|
+
*/
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.levelStringSchema = exports.capabilityLevelConfigSchema = exports.CAPABILITY_LEVEL_CONFIGS = exports.CAPABILITY_LEVEL_ABILITIES = exports.CAPABILITY_LEVEL_DESCRIPTIONS = exports.CAPABILITY_LEVEL_CODES = exports.CAPABILITY_LEVEL_NAMES = exports.capabilityLevelSchema = exports.CAPABILITY_LEVELS = exports.CapabilityLevel = void 0;
|
|
23
|
+
exports.isLevelHigher = isLevelHigher;
|
|
24
|
+
exports.meetsLevel = meetsLevel;
|
|
25
|
+
exports.compareLevels = compareLevels;
|
|
26
|
+
exports.minLevel = minLevel;
|
|
27
|
+
exports.maxLevel = maxLevel;
|
|
28
|
+
exports.clampLevel = clampLevel;
|
|
29
|
+
exports.getLevelConfig = getLevelConfig;
|
|
30
|
+
exports.getLevelName = getLevelName;
|
|
31
|
+
exports.getLevelCode = getLevelCode;
|
|
32
|
+
exports.getLevelDescription = getLevelDescription;
|
|
33
|
+
exports.hasAbility = hasAbility;
|
|
34
|
+
exports.requiresApproval = requiresApproval;
|
|
35
|
+
exports.canOperateAutonomously = canOperateAutonomously;
|
|
36
|
+
exports.parseLevel = parseLevel;
|
|
37
|
+
exports.tryParseLevel = tryParseLevel;
|
|
38
|
+
exports.isCapabilityLevel = isCapabilityLevel;
|
|
39
|
+
const zod_1 = require("zod");
|
|
40
|
+
// ============================================================================
|
|
41
|
+
// Capability Level Enum
|
|
42
|
+
// ============================================================================
|
|
43
|
+
/**
|
|
44
|
+
* Capability levels defining agent autonomy.
|
|
45
|
+
*
|
|
46
|
+
* Levels form a hierarchy where higher levels include the capabilities
|
|
47
|
+
* of all lower levels:
|
|
48
|
+
*
|
|
49
|
+
* - L0: Read-only access, monitoring, observation
|
|
50
|
+
* - L1: Can suggest and recommend, but not modify
|
|
51
|
+
* - L2: Can prepare drafts and stage changes for review
|
|
52
|
+
* - L3: Can execute operations with human approval
|
|
53
|
+
* - L4: Self-directed operation within defined bounds
|
|
54
|
+
* - L5: Expanded autonomy with minimal oversight
|
|
55
|
+
* - L6: Independent operation with comprehensive audit trail
|
|
56
|
+
* - L7: Full autonomy for mission-critical operations
|
|
57
|
+
*/
|
|
58
|
+
var CapabilityLevel;
|
|
59
|
+
(function (CapabilityLevel) {
|
|
60
|
+
/** Read-only, monitoring - Can observe but not interact */
|
|
61
|
+
CapabilityLevel[CapabilityLevel["L0_OBSERVE"] = 0] = "L0_OBSERVE";
|
|
62
|
+
/** Advisory - Can suggest and recommend actions */
|
|
63
|
+
CapabilityLevel[CapabilityLevel["L1_ADVISE"] = 1] = "L1_ADVISE";
|
|
64
|
+
/** Drafting - Can prepare changes for human review */
|
|
65
|
+
CapabilityLevel[CapabilityLevel["L2_DRAFT"] = 2] = "L2_DRAFT";
|
|
66
|
+
/** Execute - Can execute with human approval */
|
|
67
|
+
CapabilityLevel[CapabilityLevel["L3_EXECUTE"] = 3] = "L3_EXECUTE";
|
|
68
|
+
/** Autonomous - Self-directed within bounds */
|
|
69
|
+
CapabilityLevel[CapabilityLevel["L4_AUTONOMOUS"] = 4] = "L4_AUTONOMOUS";
|
|
70
|
+
/** Trusted - Expanded autonomy with minimal oversight */
|
|
71
|
+
CapabilityLevel[CapabilityLevel["L5_TRUSTED"] = 5] = "L5_TRUSTED";
|
|
72
|
+
/** Certified - Independent operation with audit trail */
|
|
73
|
+
CapabilityLevel[CapabilityLevel["L6_CERTIFIED"] = 6] = "L6_CERTIFIED";
|
|
74
|
+
/** Autonomous - Full autonomy for mission-critical operations */
|
|
75
|
+
CapabilityLevel[CapabilityLevel["L7_AUTONOMOUS"] = 7] = "L7_AUTONOMOUS";
|
|
76
|
+
})(CapabilityLevel || (exports.CapabilityLevel = CapabilityLevel = {}));
|
|
77
|
+
/**
|
|
78
|
+
* Array of all capability levels in ascending order.
|
|
79
|
+
*/
|
|
80
|
+
exports.CAPABILITY_LEVELS = [
|
|
81
|
+
CapabilityLevel.L0_OBSERVE,
|
|
82
|
+
CapabilityLevel.L1_ADVISE,
|
|
83
|
+
CapabilityLevel.L2_DRAFT,
|
|
84
|
+
CapabilityLevel.L3_EXECUTE,
|
|
85
|
+
CapabilityLevel.L4_AUTONOMOUS,
|
|
86
|
+
CapabilityLevel.L5_TRUSTED,
|
|
87
|
+
CapabilityLevel.L6_CERTIFIED,
|
|
88
|
+
CapabilityLevel.L7_AUTONOMOUS,
|
|
89
|
+
];
|
|
90
|
+
/**
|
|
91
|
+
* Zod schema for CapabilityLevel enum validation.
|
|
92
|
+
*/
|
|
93
|
+
exports.capabilityLevelSchema = zod_1.z.nativeEnum(CapabilityLevel, {
|
|
94
|
+
errorMap: () => ({ message: 'Invalid capability level. Must be L0-L7 (0-7).' }),
|
|
95
|
+
});
|
|
96
|
+
// ============================================================================
|
|
97
|
+
// Level Names and Descriptions
|
|
98
|
+
// ============================================================================
|
|
99
|
+
/**
|
|
100
|
+
* Human-readable names for capability levels.
|
|
101
|
+
*/
|
|
102
|
+
exports.CAPABILITY_LEVEL_NAMES = {
|
|
103
|
+
[CapabilityLevel.L0_OBSERVE]: 'Observe',
|
|
104
|
+
[CapabilityLevel.L1_ADVISE]: 'Advise',
|
|
105
|
+
[CapabilityLevel.L2_DRAFT]: 'Draft',
|
|
106
|
+
[CapabilityLevel.L3_EXECUTE]: 'Execute',
|
|
107
|
+
[CapabilityLevel.L4_AUTONOMOUS]: 'Autonomous',
|
|
108
|
+
[CapabilityLevel.L5_TRUSTED]: 'Trusted',
|
|
109
|
+
[CapabilityLevel.L6_CERTIFIED]: 'Certified',
|
|
110
|
+
[CapabilityLevel.L7_AUTONOMOUS]: 'Sovereign',
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* Short codes for capability levels (without the L prefix).
|
|
114
|
+
*/
|
|
115
|
+
exports.CAPABILITY_LEVEL_CODES = {
|
|
116
|
+
[CapabilityLevel.L0_OBSERVE]: 'L0',
|
|
117
|
+
[CapabilityLevel.L1_ADVISE]: 'L1',
|
|
118
|
+
[CapabilityLevel.L2_DRAFT]: 'L2',
|
|
119
|
+
[CapabilityLevel.L3_EXECUTE]: 'L3',
|
|
120
|
+
[CapabilityLevel.L4_AUTONOMOUS]: 'L4',
|
|
121
|
+
[CapabilityLevel.L5_TRUSTED]: 'L5',
|
|
122
|
+
[CapabilityLevel.L6_CERTIFIED]: 'L6',
|
|
123
|
+
[CapabilityLevel.L7_AUTONOMOUS]: 'L7',
|
|
124
|
+
};
|
|
125
|
+
/**
|
|
126
|
+
* Detailed descriptions for each capability level.
|
|
127
|
+
*/
|
|
128
|
+
exports.CAPABILITY_LEVEL_DESCRIPTIONS = {
|
|
129
|
+
[CapabilityLevel.L0_OBSERVE]: 'Read-only access for monitoring and observation. Cannot modify state or interact with systems.',
|
|
130
|
+
[CapabilityLevel.L1_ADVISE]: 'Can analyze and provide recommendations. May suggest actions but cannot execute them.',
|
|
131
|
+
[CapabilityLevel.L2_DRAFT]: 'Can prepare drafts, stage changes, and create proposals. All changes require review before application.',
|
|
132
|
+
[CapabilityLevel.L3_EXECUTE]: 'Can execute operations with explicit human approval. Each action requires confirmation.',
|
|
133
|
+
[CapabilityLevel.L4_AUTONOMOUS]: 'Self-directed operation within predefined bounds. Can act independently within policy constraints.',
|
|
134
|
+
[CapabilityLevel.L5_TRUSTED]: 'Expanded capabilities with minimal oversight. Trusted for complex operations.',
|
|
135
|
+
[CapabilityLevel.L6_CERTIFIED]: 'Independent operation with comprehensive audit trail. Certified for mission-critical tasks.',
|
|
136
|
+
[CapabilityLevel.L7_AUTONOMOUS]: 'Full autonomy for mission-critical operations. Reserved for highest-certified agents.',
|
|
137
|
+
};
|
|
138
|
+
/**
|
|
139
|
+
* Capabilities granted at each level (cumulative).
|
|
140
|
+
*/
|
|
141
|
+
exports.CAPABILITY_LEVEL_ABILITIES = {
|
|
142
|
+
[CapabilityLevel.L0_OBSERVE]: ['read', 'monitor', 'report'],
|
|
143
|
+
[CapabilityLevel.L1_ADVISE]: ['read', 'monitor', 'report', 'analyze', 'recommend'],
|
|
144
|
+
[CapabilityLevel.L2_DRAFT]: ['read', 'monitor', 'report', 'analyze', 'recommend', 'draft', 'stage'],
|
|
145
|
+
[CapabilityLevel.L3_EXECUTE]: [
|
|
146
|
+
'read', 'monitor', 'report', 'analyze', 'recommend', 'draft', 'stage',
|
|
147
|
+
'execute_with_approval', 'modify_with_approval',
|
|
148
|
+
],
|
|
149
|
+
[CapabilityLevel.L4_AUTONOMOUS]: [
|
|
150
|
+
'read', 'monitor', 'report', 'analyze', 'recommend', 'draft', 'stage',
|
|
151
|
+
'execute_with_approval', 'modify_with_approval',
|
|
152
|
+
'execute_within_bounds', 'modify_within_bounds', 'delegate',
|
|
153
|
+
],
|
|
154
|
+
[CapabilityLevel.L5_TRUSTED]: [
|
|
155
|
+
'read', 'monitor', 'report', 'analyze', 'recommend', 'draft', 'stage',
|
|
156
|
+
'execute_with_approval', 'modify_with_approval',
|
|
157
|
+
'execute_within_bounds', 'modify_within_bounds', 'delegate',
|
|
158
|
+
'execute_expanded', 'modify_expanded',
|
|
159
|
+
],
|
|
160
|
+
[CapabilityLevel.L6_CERTIFIED]: [
|
|
161
|
+
'read', 'monitor', 'report', 'analyze', 'recommend', 'draft', 'stage',
|
|
162
|
+
'execute_with_approval', 'modify_with_approval',
|
|
163
|
+
'execute_within_bounds', 'modify_within_bounds', 'delegate',
|
|
164
|
+
'execute_expanded', 'modify_expanded',
|
|
165
|
+
'execute_independent', 'spawn_agents',
|
|
166
|
+
],
|
|
167
|
+
[CapabilityLevel.L7_AUTONOMOUS]: [
|
|
168
|
+
'read', 'monitor', 'report', 'analyze', 'recommend', 'draft', 'stage',
|
|
169
|
+
'execute_with_approval', 'modify_with_approval',
|
|
170
|
+
'execute_within_bounds', 'modify_within_bounds', 'delegate',
|
|
171
|
+
'execute_expanded', 'modify_expanded',
|
|
172
|
+
'execute_independent', 'spawn_agents',
|
|
173
|
+
'execute_any', 'modify_any', 'override_constraints',
|
|
174
|
+
],
|
|
175
|
+
};
|
|
176
|
+
/**
|
|
177
|
+
* Complete configuration for all capability levels.
|
|
178
|
+
*/
|
|
179
|
+
exports.CAPABILITY_LEVEL_CONFIGS = {
|
|
180
|
+
[CapabilityLevel.L0_OBSERVE]: {
|
|
181
|
+
level: CapabilityLevel.L0_OBSERVE,
|
|
182
|
+
code: 'L0',
|
|
183
|
+
name: 'Observe',
|
|
184
|
+
description: exports.CAPABILITY_LEVEL_DESCRIPTIONS[CapabilityLevel.L0_OBSERVE],
|
|
185
|
+
abilities: exports.CAPABILITY_LEVEL_ABILITIES[CapabilityLevel.L0_OBSERVE],
|
|
186
|
+
requiresApproval: false,
|
|
187
|
+
canOperateAutonomously: false,
|
|
188
|
+
minCertificationTier: 0,
|
|
189
|
+
},
|
|
190
|
+
[CapabilityLevel.L1_ADVISE]: {
|
|
191
|
+
level: CapabilityLevel.L1_ADVISE,
|
|
192
|
+
code: 'L1',
|
|
193
|
+
name: 'Advise',
|
|
194
|
+
description: exports.CAPABILITY_LEVEL_DESCRIPTIONS[CapabilityLevel.L1_ADVISE],
|
|
195
|
+
abilities: exports.CAPABILITY_LEVEL_ABILITIES[CapabilityLevel.L1_ADVISE],
|
|
196
|
+
requiresApproval: false,
|
|
197
|
+
canOperateAutonomously: false,
|
|
198
|
+
minCertificationTier: 1,
|
|
199
|
+
},
|
|
200
|
+
[CapabilityLevel.L2_DRAFT]: {
|
|
201
|
+
level: CapabilityLevel.L2_DRAFT,
|
|
202
|
+
code: 'L2',
|
|
203
|
+
name: 'Draft',
|
|
204
|
+
description: exports.CAPABILITY_LEVEL_DESCRIPTIONS[CapabilityLevel.L2_DRAFT],
|
|
205
|
+
abilities: exports.CAPABILITY_LEVEL_ABILITIES[CapabilityLevel.L2_DRAFT],
|
|
206
|
+
requiresApproval: true,
|
|
207
|
+
canOperateAutonomously: false,
|
|
208
|
+
minCertificationTier: 2,
|
|
209
|
+
},
|
|
210
|
+
[CapabilityLevel.L3_EXECUTE]: {
|
|
211
|
+
level: CapabilityLevel.L3_EXECUTE,
|
|
212
|
+
code: 'L3',
|
|
213
|
+
name: 'Execute',
|
|
214
|
+
description: exports.CAPABILITY_LEVEL_DESCRIPTIONS[CapabilityLevel.L3_EXECUTE],
|
|
215
|
+
abilities: exports.CAPABILITY_LEVEL_ABILITIES[CapabilityLevel.L3_EXECUTE],
|
|
216
|
+
requiresApproval: true,
|
|
217
|
+
canOperateAutonomously: false,
|
|
218
|
+
minCertificationTier: 3,
|
|
219
|
+
},
|
|
220
|
+
[CapabilityLevel.L4_AUTONOMOUS]: {
|
|
221
|
+
level: CapabilityLevel.L4_AUTONOMOUS,
|
|
222
|
+
code: 'L4',
|
|
223
|
+
name: 'Autonomous',
|
|
224
|
+
description: exports.CAPABILITY_LEVEL_DESCRIPTIONS[CapabilityLevel.L4_AUTONOMOUS],
|
|
225
|
+
abilities: exports.CAPABILITY_LEVEL_ABILITIES[CapabilityLevel.L4_AUTONOMOUS],
|
|
226
|
+
requiresApproval: false,
|
|
227
|
+
canOperateAutonomously: true,
|
|
228
|
+
minCertificationTier: 4,
|
|
229
|
+
},
|
|
230
|
+
[CapabilityLevel.L5_TRUSTED]: {
|
|
231
|
+
level: CapabilityLevel.L5_TRUSTED,
|
|
232
|
+
code: 'L5',
|
|
233
|
+
name: 'Trusted',
|
|
234
|
+
description: exports.CAPABILITY_LEVEL_DESCRIPTIONS[CapabilityLevel.L5_TRUSTED],
|
|
235
|
+
abilities: exports.CAPABILITY_LEVEL_ABILITIES[CapabilityLevel.L5_TRUSTED],
|
|
236
|
+
requiresApproval: false,
|
|
237
|
+
canOperateAutonomously: true,
|
|
238
|
+
minCertificationTier: 5,
|
|
239
|
+
},
|
|
240
|
+
[CapabilityLevel.L6_CERTIFIED]: {
|
|
241
|
+
level: CapabilityLevel.L6_CERTIFIED,
|
|
242
|
+
code: 'L6',
|
|
243
|
+
name: 'Certified',
|
|
244
|
+
description: exports.CAPABILITY_LEVEL_DESCRIPTIONS[CapabilityLevel.L6_CERTIFIED],
|
|
245
|
+
abilities: exports.CAPABILITY_LEVEL_ABILITIES[CapabilityLevel.L6_CERTIFIED],
|
|
246
|
+
requiresApproval: false,
|
|
247
|
+
canOperateAutonomously: true,
|
|
248
|
+
minCertificationTier: 6,
|
|
249
|
+
},
|
|
250
|
+
[CapabilityLevel.L7_AUTONOMOUS]: {
|
|
251
|
+
level: CapabilityLevel.L7_AUTONOMOUS,
|
|
252
|
+
code: 'L7',
|
|
253
|
+
name: 'Sovereign',
|
|
254
|
+
description: exports.CAPABILITY_LEVEL_DESCRIPTIONS[CapabilityLevel.L7_AUTONOMOUS],
|
|
255
|
+
abilities: exports.CAPABILITY_LEVEL_ABILITIES[CapabilityLevel.L7_AUTONOMOUS],
|
|
256
|
+
requiresApproval: false,
|
|
257
|
+
canOperateAutonomously: true,
|
|
258
|
+
minCertificationTier: 7,
|
|
259
|
+
},
|
|
260
|
+
};
|
|
261
|
+
// ============================================================================
|
|
262
|
+
// Level Comparison Helpers
|
|
263
|
+
// ============================================================================
|
|
264
|
+
/**
|
|
265
|
+
* Checks if one level is higher than another.
|
|
266
|
+
*
|
|
267
|
+
* @param level - The level to check
|
|
268
|
+
* @param other - The level to compare against
|
|
269
|
+
* @returns True if level is higher than other
|
|
270
|
+
*
|
|
271
|
+
* @example
|
|
272
|
+
* ```typescript
|
|
273
|
+
* isLevelHigher(CapabilityLevel.L3_EXECUTE, CapabilityLevel.L2_DRAFT); // true
|
|
274
|
+
* isLevelHigher(CapabilityLevel.L1_ADVISE, CapabilityLevel.L3_EXECUTE); // false
|
|
275
|
+
* ```
|
|
276
|
+
*/
|
|
277
|
+
function isLevelHigher(level, other) {
|
|
278
|
+
return level > other;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Checks if one level is at least as high as another.
|
|
282
|
+
*
|
|
283
|
+
* @param level - The level to check
|
|
284
|
+
* @param minLevel - The minimum level required
|
|
285
|
+
* @returns True if level meets or exceeds minLevel
|
|
286
|
+
*
|
|
287
|
+
* @example
|
|
288
|
+
* ```typescript
|
|
289
|
+
* meetsLevel(CapabilityLevel.L3_EXECUTE, CapabilityLevel.L2_DRAFT); // true
|
|
290
|
+
* meetsLevel(CapabilityLevel.L2_DRAFT, CapabilityLevel.L2_DRAFT); // true
|
|
291
|
+
* meetsLevel(CapabilityLevel.L1_ADVISE, CapabilityLevel.L3_EXECUTE); // false
|
|
292
|
+
* ```
|
|
293
|
+
*/
|
|
294
|
+
function meetsLevel(level, minLevel) {
|
|
295
|
+
return level >= minLevel;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Compares two capability levels.
|
|
299
|
+
*
|
|
300
|
+
* @param a - First level
|
|
301
|
+
* @param b - Second level
|
|
302
|
+
* @returns -1 if a < b, 0 if equal, 1 if a > b
|
|
303
|
+
*/
|
|
304
|
+
function compareLevels(a, b) {
|
|
305
|
+
if (a < b)
|
|
306
|
+
return -1;
|
|
307
|
+
if (a > b)
|
|
308
|
+
return 1;
|
|
309
|
+
return 0;
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Gets the minimum of two capability levels.
|
|
313
|
+
*
|
|
314
|
+
* @param a - First level
|
|
315
|
+
* @param b - Second level
|
|
316
|
+
* @returns The lower level
|
|
317
|
+
*/
|
|
318
|
+
function minLevel(a, b) {
|
|
319
|
+
return Math.min(a, b);
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Gets the maximum of two capability levels.
|
|
323
|
+
*
|
|
324
|
+
* @param a - First level
|
|
325
|
+
* @param b - Second level
|
|
326
|
+
* @returns The higher level
|
|
327
|
+
*/
|
|
328
|
+
function maxLevel(a, b) {
|
|
329
|
+
return Math.max(a, b);
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Clamps a level to a range.
|
|
333
|
+
*
|
|
334
|
+
* @param level - The level to clamp
|
|
335
|
+
* @param min - Minimum allowed level
|
|
336
|
+
* @param max - Maximum allowed level
|
|
337
|
+
* @returns The clamped level
|
|
338
|
+
*/
|
|
339
|
+
function clampLevel(level, min = CapabilityLevel.L0_OBSERVE, max = CapabilityLevel.L7_AUTONOMOUS) {
|
|
340
|
+
return Math.max(min, Math.min(max, level));
|
|
341
|
+
}
|
|
342
|
+
// ============================================================================
|
|
343
|
+
// Level Information Helpers
|
|
344
|
+
// ============================================================================
|
|
345
|
+
/**
|
|
346
|
+
* Gets the configuration for a capability level.
|
|
347
|
+
*
|
|
348
|
+
* @param level - The capability level
|
|
349
|
+
* @returns Level configuration
|
|
350
|
+
*/
|
|
351
|
+
function getLevelConfig(level) {
|
|
352
|
+
return exports.CAPABILITY_LEVEL_CONFIGS[level];
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Gets the human-readable name for a capability level.
|
|
356
|
+
*
|
|
357
|
+
* @param level - The capability level
|
|
358
|
+
* @returns Level name
|
|
359
|
+
*/
|
|
360
|
+
function getLevelName(level) {
|
|
361
|
+
return exports.CAPABILITY_LEVEL_NAMES[level];
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Gets the short code (L0-L7) for a capability level.
|
|
365
|
+
*
|
|
366
|
+
* @param level - The capability level
|
|
367
|
+
* @returns Level code
|
|
368
|
+
*/
|
|
369
|
+
function getLevelCode(level) {
|
|
370
|
+
return exports.CAPABILITY_LEVEL_CODES[level];
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Gets the description for a capability level.
|
|
374
|
+
*
|
|
375
|
+
* @param level - The capability level
|
|
376
|
+
* @returns Level description
|
|
377
|
+
*/
|
|
378
|
+
function getLevelDescription(level) {
|
|
379
|
+
return exports.CAPABILITY_LEVEL_DESCRIPTIONS[level];
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Checks if a level has a specific ability.
|
|
383
|
+
*
|
|
384
|
+
* @param level - The capability level
|
|
385
|
+
* @param ability - The ability to check
|
|
386
|
+
* @returns True if the level grants this ability
|
|
387
|
+
*/
|
|
388
|
+
function hasAbility(level, ability) {
|
|
389
|
+
return exports.CAPABILITY_LEVEL_ABILITIES[level].includes(ability);
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* Checks if a level requires approval for actions.
|
|
393
|
+
*
|
|
394
|
+
* @param level - The capability level
|
|
395
|
+
* @returns True if approval is required
|
|
396
|
+
*/
|
|
397
|
+
function requiresApproval(level) {
|
|
398
|
+
return exports.CAPABILITY_LEVEL_CONFIGS[level].requiresApproval;
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Checks if a level can operate autonomously.
|
|
402
|
+
*
|
|
403
|
+
* @param level - The capability level
|
|
404
|
+
* @returns True if autonomous operation is allowed
|
|
405
|
+
*/
|
|
406
|
+
function canOperateAutonomously(level) {
|
|
407
|
+
return exports.CAPABILITY_LEVEL_CONFIGS[level].canOperateAutonomously;
|
|
408
|
+
}
|
|
409
|
+
// ============================================================================
|
|
410
|
+
// Parsing and Validation
|
|
411
|
+
// ============================================================================
|
|
412
|
+
/**
|
|
413
|
+
* Parses a level string (e.g., "L3" or "3") to a CapabilityLevel.
|
|
414
|
+
*
|
|
415
|
+
* @param levelStr - Level string to parse
|
|
416
|
+
* @returns Parsed CapabilityLevel
|
|
417
|
+
* @throws Error if the string is not a valid level
|
|
418
|
+
*
|
|
419
|
+
* @example
|
|
420
|
+
* ```typescript
|
|
421
|
+
* parseLevel('L3'); // CapabilityLevel.L3_EXECUTE
|
|
422
|
+
* parseLevel('3'); // CapabilityLevel.L3_EXECUTE
|
|
423
|
+
* parseLevel('L0'); // CapabilityLevel.L0_OBSERVE
|
|
424
|
+
* ```
|
|
425
|
+
*/
|
|
426
|
+
function parseLevel(levelStr) {
|
|
427
|
+
const normalized = levelStr.toUpperCase().replace(/^L/, '');
|
|
428
|
+
const level = parseInt(normalized, 10);
|
|
429
|
+
if (isNaN(level) || level < 0 || level > 7) {
|
|
430
|
+
throw new Error(`Invalid capability level: ${levelStr}. Must be L0-L7 or 0-7.`);
|
|
431
|
+
}
|
|
432
|
+
return level;
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* Safely parses a level string, returning null on failure.
|
|
436
|
+
*
|
|
437
|
+
* @param levelStr - Level string to parse
|
|
438
|
+
* @returns Parsed CapabilityLevel or null
|
|
439
|
+
*/
|
|
440
|
+
function tryParseLevel(levelStr) {
|
|
441
|
+
try {
|
|
442
|
+
return parseLevel(levelStr);
|
|
443
|
+
}
|
|
444
|
+
catch {
|
|
445
|
+
return null;
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
// ============================================================================
|
|
449
|
+
// Type Guards
|
|
450
|
+
// ============================================================================
|
|
451
|
+
/**
|
|
452
|
+
* Type guard to check if a value is a valid CapabilityLevel.
|
|
453
|
+
*
|
|
454
|
+
* @param value - Value to check
|
|
455
|
+
* @returns True if value is a valid CapabilityLevel
|
|
456
|
+
*/
|
|
457
|
+
function isCapabilityLevel(value) {
|
|
458
|
+
return (typeof value === 'number' &&
|
|
459
|
+
Number.isInteger(value) &&
|
|
460
|
+
value >= 0 &&
|
|
461
|
+
value <= 7);
|
|
462
|
+
}
|
|
463
|
+
// ============================================================================
|
|
464
|
+
// Zod Schemas
|
|
465
|
+
// ============================================================================
|
|
466
|
+
/**
|
|
467
|
+
* Zod schema for level configuration.
|
|
468
|
+
*/
|
|
469
|
+
exports.capabilityLevelConfigSchema = zod_1.z.object({
|
|
470
|
+
level: exports.capabilityLevelSchema,
|
|
471
|
+
code: zod_1.z.string().regex(/^L[0-7]$/),
|
|
472
|
+
name: zod_1.z.string().min(1),
|
|
473
|
+
description: zod_1.z.string().min(1),
|
|
474
|
+
abilities: zod_1.z.array(zod_1.z.string()).readonly(),
|
|
475
|
+
requiresApproval: zod_1.z.boolean(),
|
|
476
|
+
canOperateAutonomously: zod_1.z.boolean(),
|
|
477
|
+
minCertificationTier: zod_1.z.number().int().min(0).max(7),
|
|
478
|
+
});
|
|
479
|
+
/**
|
|
480
|
+
* Zod schema for parsing level strings.
|
|
481
|
+
*/
|
|
482
|
+
exports.levelStringSchema = zod_1.z
|
|
483
|
+
.string()
|
|
484
|
+
.regex(/^[Ll]?[0-7]$/, 'Level must be L0-L7 or 0-7')
|
|
485
|
+
.transform((str) => parseLevel(str));
|
|
486
|
+
//# sourceMappingURL=levels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"levels.js","sourceRoot":"","sources":["../../src/car/levels.ts"],"names":[],"mappings":"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"}
|