@vorionsys/basis 1.0.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/.env.example +22 -0
- package/AMOY-MIGRATION.md +188 -0
- package/DEPLOY-AMOY.md +368 -0
- package/DEPLOY-NOW.md +216 -0
- package/DEPLOYMENT.md +239 -0
- package/GET-WALLET.md +286 -0
- package/QUICK-WALLET-SETUP.md +268 -0
- package/README.md +195 -0
- package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json +236 -0
- package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.json +204 -0
- package/artifacts/@openzeppelin/contracts/interfaces/IERC4906.sol/IERC4906.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/interfaces/IERC4906.sol/IERC4906.json +328 -0
- package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.json +113 -0
- package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.json +97 -0
- package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.json +114 -0
- package/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.json +444 -0
- package/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.json +296 -0
- package/artifacts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol/IERC721Receiver.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol/IERC721Receiver.json +45 -0
- package/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol/ERC721Enumerable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol/ERC721Enumerable.json +521 -0
- package/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol/ERC721URIStorage.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol/ERC721URIStorage.json +476 -0
- package/artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol/IERC721Enumerable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol/IERC721Enumerable.json +352 -0
- package/artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol/IERC721Metadata.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol/IERC721Metadata.json +341 -0
- package/artifacts/@openzeppelin/contracts/token/ERC721/utils/ERC721Utils.sol/ERC721Utils.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/token/ERC721/utils/ERC721Utils.sol/ERC721Utils.json +10 -0
- package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +10 -0
- package/artifacts/@openzeppelin/contracts/utils/Panic.sol/Panic.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/Panic.sol/Panic.json +10 -0
- package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +37 -0
- package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +30 -0
- package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +30 -0
- package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json +10 -0
- package/artifacts/@openzeppelin/contracts/utils/math/SafeCast.sol/SafeCast.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/math/SafeCast.sol/SafeCast.json +65 -0
- package/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.json +10 -0
- package/artifacts/build-info/357d1bba4062d461f497f221490811a3.json +1 -0
- package/artifacts/contracts/AgentCard.sol/AgentCard.dbg.json +4 -0
- package/artifacts/contracts/AgentCard.sol/AgentCard.json +1430 -0
- package/build_errors.txt +0 -0
- package/build_output.txt +0 -0
- package/cache/solidity-files-cache.json +885 -0
- package/contracts/AgentCard.sol +478 -0
- package/contracts/deploy/01-deploy-agentcard.ts +66 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/kya/accountability.d.ts.map +1 -0
- package/dist/kya/accountability.js +100 -0
- package/dist/kya/authorization.d.ts.map +1 -0
- package/dist/kya/authorization.js +258 -0
- package/dist/kya/behavior.d.ts.map +1 -0
- package/dist/kya/behavior.js +142 -0
- package/dist/kya/identity.d.ts.map +1 -0
- package/dist/kya/identity.js +187 -0
- package/dist/kya/index.d.ts.map +1 -0
- package/dist/kya/index.js +99 -0
- package/dist/kya/types.d.ts.map +1 -0
- package/dist/kya/types.js +5 -0
- package/dist/trust-1000-agents.test.d.ts.map +1 -0
- package/dist/trust-1000-agents.test.js +608 -0
- package/dist/trust-capabilities.d.ts.map +1 -0
- package/dist/trust-capabilities.js +478 -0
- package/dist/trust-factors.d.ts.map +1 -0
- package/dist/trust-factors.js +588 -0
- package/dist/trust-factors.test.d.ts.map +1 -0
- package/dist/trust-factors.test.js +179 -0
- package/dist/validation-gate.d.ts.map +1 -0
- package/dist/validation-gate.js +468 -0
- package/dist/validation-gate.test.d.ts.map +1 -0
- package/dist/validation-gate.test.js +419 -0
- package/hardhat.config.ts +55 -0
- package/package.json +57 -0
- package/scripts/certify-agent.ts +91 -0
- package/scripts/deploy-agentcard.ts +63 -0
- package/scripts/mint-agentcard.ts +87 -0
- package/specs/adversarial-sandbox-test-suite.md +1055 -0
- package/specs/kya-framework.md +910 -0
- package/specs/trust-factors-v2.md +437 -0
- package/src/index.ts +14 -0
- package/src/kya/accountability.ts +132 -0
- package/src/kya/authorization.ts +325 -0
- package/src/kya/behavior.ts +169 -0
- package/src/kya/identity.ts +224 -0
- package/src/kya/index.ts +125 -0
- package/src/kya/types.ts +242 -0
- package/src/trust-1000-agents.test.ts +745 -0
- package/src/trust-capabilities.ts +517 -0
- package/src/trust-factors.test.ts +241 -0
- package/src/trust-factors.ts +666 -0
- package/src/validation-gate.test.ts +531 -0
- package/src/validation-gate.ts +665 -0
- package/test-kya-simple.ts +258 -0
- package/test-kya.ts +245 -0
- package/tsconfig.json +14 -0
- package/typechain-types/@openzeppelin/contracts/access/AccessControl.ts +324 -0
- package/typechain-types/@openzeppelin/contracts/access/IAccessControl.ts +292 -0
- package/typechain-types/@openzeppelin/contracts/access/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts/index.ts +11 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/IERC4906.ts +462 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/index.ts +6 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC721/ERC721.ts +420 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721.ts +393 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721Receiver.ts +110 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.ts +470 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.ts +489 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.ts +443 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.ts +420 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC721/extensions/index.ts +7 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC721/index.ts +8 -0
- package/typechain-types/@openzeppelin/contracts/token/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts/utils/Strings.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/index.ts +8 -0
- package/typechain-types/@openzeppelin/contracts/utils/introspection/ERC165.ts +94 -0
- package/typechain-types/@openzeppelin/contracts/utils/introspection/IERC165.ts +94 -0
- package/typechain-types/@openzeppelin/contracts/utils/introspection/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts/utils/math/SafeCast.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/math/index.ts +4 -0
- package/typechain-types/@openzeppelin/index.ts +5 -0
- package/typechain-types/common.ts +131 -0
- package/typechain-types/contracts/AgentCard.ts +1415 -0
- package/typechain-types/contracts/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/AccessControl__factory.ts +250 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts +218 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/index.ts +7 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC4906__factory.ts +339 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.ts +127 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.ts +111 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.ts +128 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/ERC721__factory.ts +455 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/IERC721Receiver__factory.ts +59 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/IERC721__factory.ts +307 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable__factory.ts +535 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage__factory.ts +490 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable__factory.ts +366 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata__factory.ts +355 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/extensions/index.ts +7 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/index.ts +7 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.ts +90 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +6 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/introspection/ERC165__factory.ts +41 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.ts +41 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/introspection/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.ts +118 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/math/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/index.ts +4 -0
- package/typechain-types/factories/contracts/AgentCard__factory.ts +1480 -0
- package/typechain-types/factories/contracts/index.ts +4 -0
- package/typechain-types/factories/index.ts +5 -0
- package/typechain-types/index.ts +44 -0
- package/vitest.config.ts +8 -0
|
@@ -0,0 +1,517 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BASIS Trust Capabilities v2.0
|
|
3
|
+
*
|
|
4
|
+
* Defines skills, abilities, and tools available at each trust tier.
|
|
5
|
+
* Factors determine the score; capabilities determine what agents can DO.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { TrustTier } from './trust-factors';
|
|
9
|
+
|
|
10
|
+
// =============================================================================
|
|
11
|
+
// CAPABILITY CATEGORIES
|
|
12
|
+
// =============================================================================
|
|
13
|
+
|
|
14
|
+
export enum CapabilityCategory {
|
|
15
|
+
DATA_ACCESS = 'data_access',
|
|
16
|
+
FILE_OPERATIONS = 'file_operations',
|
|
17
|
+
API_ACCESS = 'api_access',
|
|
18
|
+
CODE_EXECUTION = 'code_execution',
|
|
19
|
+
AGENT_INTERACTION = 'agent_interaction',
|
|
20
|
+
RESOURCE_MANAGEMENT = 'resource_management',
|
|
21
|
+
SYSTEM_ADMINISTRATION = 'system_administration',
|
|
22
|
+
GOVERNANCE = 'governance',
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// =============================================================================
|
|
26
|
+
// CAPABILITY DEFINITIONS
|
|
27
|
+
// =============================================================================
|
|
28
|
+
|
|
29
|
+
export interface Capability {
|
|
30
|
+
code: string;
|
|
31
|
+
name: string;
|
|
32
|
+
category: CapabilityCategory;
|
|
33
|
+
description: string;
|
|
34
|
+
unlockTier: TrustTier;
|
|
35
|
+
constraints?: string[];
|
|
36
|
+
tools?: string[];
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// =============================================================================
|
|
40
|
+
// T0 SANDBOX CAPABILITIES (0 factors required)
|
|
41
|
+
// Observation only - extremely limited
|
|
42
|
+
// =============================================================================
|
|
43
|
+
|
|
44
|
+
export const T0_CAPABILITIES: Capability[] = [
|
|
45
|
+
{
|
|
46
|
+
code: 'CAP-READ-PUBLIC',
|
|
47
|
+
name: 'Read Public Data',
|
|
48
|
+
category: CapabilityCategory.DATA_ACCESS,
|
|
49
|
+
description: 'Read-only access to public, non-sensitive data',
|
|
50
|
+
unlockTier: TrustTier.T0_SANDBOX,
|
|
51
|
+
constraints: ['No PII access', 'Public data only', 'Rate limited'],
|
|
52
|
+
tools: ['read_public_file', 'list_public_directory'],
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
code: 'CAP-RESPOND',
|
|
56
|
+
name: 'Generate Responses',
|
|
57
|
+
category: CapabilityCategory.CODE_EXECUTION,
|
|
58
|
+
description: 'Generate text responses without taking actions',
|
|
59
|
+
unlockTier: TrustTier.T0_SANDBOX,
|
|
60
|
+
constraints: ['No side effects', 'Response only', 'Logged'],
|
|
61
|
+
tools: ['generate_text', 'format_output'],
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
code: 'CAP-OBSERVE',
|
|
65
|
+
name: 'Observe System State',
|
|
66
|
+
category: CapabilityCategory.DATA_ACCESS,
|
|
67
|
+
description: 'Read-only observation of system metrics and logs',
|
|
68
|
+
unlockTier: TrustTier.T0_SANDBOX,
|
|
69
|
+
constraints: ['No sensitive logs', 'Metrics only'],
|
|
70
|
+
tools: ['get_metrics', 'read_logs'],
|
|
71
|
+
},
|
|
72
|
+
];
|
|
73
|
+
|
|
74
|
+
// =============================================================================
|
|
75
|
+
// T1 OBSERVED CAPABILITIES (3 factors: Competence, Reliability, Observability)
|
|
76
|
+
// Basic operations with full logging
|
|
77
|
+
// =============================================================================
|
|
78
|
+
|
|
79
|
+
export const T1_CAPABILITIES: Capability[] = [
|
|
80
|
+
...T0_CAPABILITIES,
|
|
81
|
+
{
|
|
82
|
+
code: 'CAP-READ-INTERNAL',
|
|
83
|
+
name: 'Read Internal Data',
|
|
84
|
+
category: CapabilityCategory.DATA_ACCESS,
|
|
85
|
+
description: 'Read access to internal, non-sensitive data sources',
|
|
86
|
+
unlockTier: TrustTier.T1_OBSERVED,
|
|
87
|
+
constraints: ['No PII', 'Approved sources only', 'Audit logged'],
|
|
88
|
+
tools: ['read_internal_file', 'query_internal_db_readonly'],
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
code: 'CAP-TRANSFORM',
|
|
92
|
+
name: 'Data Transformation',
|
|
93
|
+
category: CapabilityCategory.CODE_EXECUTION,
|
|
94
|
+
description: 'Transform and process data without persistence',
|
|
95
|
+
unlockTier: TrustTier.T1_OBSERVED,
|
|
96
|
+
constraints: ['No side effects', 'Memory only', 'Size limited'],
|
|
97
|
+
tools: ['transform_data', 'parse_document', 'extract_entities'],
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
code: 'CAP-INTERNAL-API-READ',
|
|
101
|
+
name: 'Internal API Read',
|
|
102
|
+
category: CapabilityCategory.API_ACCESS,
|
|
103
|
+
description: 'Read-only access to internal APIs',
|
|
104
|
+
unlockTier: TrustTier.T1_OBSERVED,
|
|
105
|
+
constraints: ['GET only', 'Rate limited', 'Approved endpoints'],
|
|
106
|
+
tools: ['internal_api_get'],
|
|
107
|
+
},
|
|
108
|
+
];
|
|
109
|
+
|
|
110
|
+
// =============================================================================
|
|
111
|
+
// T2 PROVISIONAL CAPABILITIES (6 factors: + Transparency, Accountability, Safety)
|
|
112
|
+
// Write operations with supervision
|
|
113
|
+
// =============================================================================
|
|
114
|
+
|
|
115
|
+
export const T2_CAPABILITIES: Capability[] = [
|
|
116
|
+
...T1_CAPABILITIES,
|
|
117
|
+
{
|
|
118
|
+
code: 'CAP-WRITE-APPROVED',
|
|
119
|
+
name: 'Write to Approved Locations',
|
|
120
|
+
category: CapabilityCategory.FILE_OPERATIONS,
|
|
121
|
+
description: 'Write files to pre-approved directories',
|
|
122
|
+
unlockTier: TrustTier.T2_PROVISIONAL,
|
|
123
|
+
constraints: ['Approved directories only', 'Size limits', 'Extension whitelist'],
|
|
124
|
+
tools: ['write_file', 'create_directory'],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
code: 'CAP-DB-READ',
|
|
128
|
+
name: 'Database Read Access',
|
|
129
|
+
category: CapabilityCategory.DATA_ACCESS,
|
|
130
|
+
description: 'Read access to approved database tables',
|
|
131
|
+
unlockTier: TrustTier.T2_PROVISIONAL,
|
|
132
|
+
constraints: ['Approved tables only', 'Query complexity limits', 'Row limits'],
|
|
133
|
+
tools: ['db_query', 'db_explain'],
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
code: 'CAP-EXTERNAL-API-GET',
|
|
137
|
+
name: 'External API Read',
|
|
138
|
+
category: CapabilityCategory.API_ACCESS,
|
|
139
|
+
description: 'GET requests to approved external APIs',
|
|
140
|
+
unlockTier: TrustTier.T2_PROVISIONAL,
|
|
141
|
+
constraints: ['GET only', 'Approved domains', 'Rate limited'],
|
|
142
|
+
tools: ['external_api_get', 'fetch_url'],
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
code: 'CAP-WORKFLOW-SIMPLE',
|
|
146
|
+
name: 'Simple Workflow Execution',
|
|
147
|
+
category: CapabilityCategory.CODE_EXECUTION,
|
|
148
|
+
description: 'Execute pre-defined simple workflows',
|
|
149
|
+
unlockTier: TrustTier.T2_PROVISIONAL,
|
|
150
|
+
constraints: ['Pre-approved workflows', 'Single-step', 'Supervised'],
|
|
151
|
+
tools: ['execute_workflow', 'run_task'],
|
|
152
|
+
},
|
|
153
|
+
];
|
|
154
|
+
|
|
155
|
+
// =============================================================================
|
|
156
|
+
// T3 VERIFIED CAPABILITIES (9 factors: + Security, Privacy, Identity)
|
|
157
|
+
// Full data access with security controls
|
|
158
|
+
// =============================================================================
|
|
159
|
+
|
|
160
|
+
export const T3_CAPABILITIES: Capability[] = [
|
|
161
|
+
...T2_CAPABILITIES,
|
|
162
|
+
{
|
|
163
|
+
code: 'CAP-DB-WRITE',
|
|
164
|
+
name: 'Database Write Access',
|
|
165
|
+
category: CapabilityCategory.DATA_ACCESS,
|
|
166
|
+
description: 'Write access to approved database tables',
|
|
167
|
+
unlockTier: TrustTier.T3_VERIFIED,
|
|
168
|
+
constraints: ['Approved tables', 'Transaction limits', 'Rollback required'],
|
|
169
|
+
tools: ['db_insert', 'db_update', 'db_delete'],
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
code: 'CAP-EXTERNAL-API-FULL',
|
|
173
|
+
name: 'External API Full Access',
|
|
174
|
+
category: CapabilityCategory.API_ACCESS,
|
|
175
|
+
description: 'Full REST operations on approved external APIs',
|
|
176
|
+
unlockTier: TrustTier.T3_VERIFIED,
|
|
177
|
+
constraints: ['Approved endpoints', 'Rate limited', 'Credential scoped'],
|
|
178
|
+
tools: ['external_api_post', 'external_api_put', 'external_api_delete'],
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
code: 'CAP-CODE-SANDBOX',
|
|
182
|
+
name: 'Sandboxed Code Execution',
|
|
183
|
+
category: CapabilityCategory.CODE_EXECUTION,
|
|
184
|
+
description: 'Execute code in isolated sandbox environment',
|
|
185
|
+
unlockTier: TrustTier.T3_VERIFIED,
|
|
186
|
+
constraints: ['Sandboxed', 'Time limited', 'Memory limited', 'No network'],
|
|
187
|
+
tools: ['execute_code', 'run_script'],
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
code: 'CAP-SECRETS-LIMITED',
|
|
191
|
+
name: 'Limited Secret Access',
|
|
192
|
+
category: CapabilityCategory.DATA_ACCESS,
|
|
193
|
+
description: 'Access to limited-scope secrets and credentials',
|
|
194
|
+
unlockTier: TrustTier.T3_VERIFIED,
|
|
195
|
+
constraints: ['Scoped access', 'Rotation required', 'Usage logged'],
|
|
196
|
+
tools: ['get_secret', 'use_credential'],
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
code: 'CAP-TOOL-APPROVED',
|
|
200
|
+
name: 'Approved Tool Usage',
|
|
201
|
+
category: CapabilityCategory.CODE_EXECUTION,
|
|
202
|
+
description: 'Use tools from the approved tool registry',
|
|
203
|
+
unlockTier: TrustTier.T3_VERIFIED,
|
|
204
|
+
constraints: ['Registry tools only', 'Version pinned', 'Audit logged'],
|
|
205
|
+
tools: ['invoke_tool', 'list_tools'],
|
|
206
|
+
},
|
|
207
|
+
];
|
|
208
|
+
|
|
209
|
+
// =============================================================================
|
|
210
|
+
// T4 OPERATIONAL CAPABILITIES (13 factors: + Human Oversight, Alignment, Uncertainty, Handoff)
|
|
211
|
+
// Cross-agent operations with human oversight
|
|
212
|
+
// =============================================================================
|
|
213
|
+
|
|
214
|
+
export const T4_CAPABILITIES: Capability[] = [
|
|
215
|
+
...T3_CAPABILITIES,
|
|
216
|
+
{
|
|
217
|
+
code: 'CAP-AGENT-COMMUNICATE',
|
|
218
|
+
name: 'Agent Communication',
|
|
219
|
+
category: CapabilityCategory.AGENT_INTERACTION,
|
|
220
|
+
description: 'Send and receive messages to/from other agents',
|
|
221
|
+
unlockTier: TrustTier.T4_OPERATIONAL,
|
|
222
|
+
constraints: ['Approved agents', 'Message size limits', 'Rate limited'],
|
|
223
|
+
tools: ['send_agent_message', 'receive_agent_message', 'query_agent'],
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
code: 'CAP-WORKFLOW-MULTI',
|
|
227
|
+
name: 'Multi-Step Workflow',
|
|
228
|
+
category: CapabilityCategory.CODE_EXECUTION,
|
|
229
|
+
description: 'Orchestrate multi-step workflows',
|
|
230
|
+
unlockTier: TrustTier.T4_OPERATIONAL,
|
|
231
|
+
constraints: ['Approved patterns', 'Checkpoint required', 'Human reviewable'],
|
|
232
|
+
tools: ['orchestrate_workflow', 'create_workflow', 'monitor_workflow'],
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
code: 'CAP-RESOURCE-REQUEST',
|
|
236
|
+
name: 'Resource Provisioning',
|
|
237
|
+
category: CapabilityCategory.RESOURCE_MANAGEMENT,
|
|
238
|
+
description: 'Request and provision computational resources',
|
|
239
|
+
unlockTier: TrustTier.T4_OPERATIONAL,
|
|
240
|
+
constraints: ['Budget limits', 'Approval required', 'Auto-cleanup'],
|
|
241
|
+
tools: ['request_compute', 'provision_storage', 'allocate_memory'],
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
code: 'CAP-ESCALATE-HUMAN',
|
|
245
|
+
name: 'Human Escalation',
|
|
246
|
+
category: CapabilityCategory.GOVERNANCE,
|
|
247
|
+
description: 'Initiate escalation to human reviewers',
|
|
248
|
+
unlockTier: TrustTier.T4_OPERATIONAL,
|
|
249
|
+
constraints: ['Structured format', 'Context required', 'SLA tracked'],
|
|
250
|
+
tools: ['escalate_to_human', 'request_approval', 'flag_for_review'],
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
code: 'CAP-EXTERNAL-INTEGRATE',
|
|
254
|
+
name: 'External Service Integration',
|
|
255
|
+
category: CapabilityCategory.API_ACCESS,
|
|
256
|
+
description: 'Integrate with approved external services',
|
|
257
|
+
unlockTier: TrustTier.T4_OPERATIONAL,
|
|
258
|
+
constraints: ['Approved services', 'OAuth scoped', 'Webhook validated'],
|
|
259
|
+
tools: ['connect_service', 'sync_data', 'register_webhook'],
|
|
260
|
+
},
|
|
261
|
+
];
|
|
262
|
+
|
|
263
|
+
// =============================================================================
|
|
264
|
+
// T5 TRUSTED CAPABILITIES (16 factors: + Stewardship, Humility, Empirical Humility)
|
|
265
|
+
// Delegation and resource management
|
|
266
|
+
// =============================================================================
|
|
267
|
+
|
|
268
|
+
export const T5_CAPABILITIES: Capability[] = [
|
|
269
|
+
...T4_CAPABILITIES,
|
|
270
|
+
{
|
|
271
|
+
code: 'CAP-AGENT-DELEGATE',
|
|
272
|
+
name: 'Agent Delegation',
|
|
273
|
+
category: CapabilityCategory.AGENT_INTERACTION,
|
|
274
|
+
description: 'Delegate tasks to lower-tier agents',
|
|
275
|
+
unlockTier: TrustTier.T5_TRUSTED,
|
|
276
|
+
constraints: ['Lower tier only', 'Task scoped', 'Result validated'],
|
|
277
|
+
tools: ['delegate_task', 'assign_agent', 'collect_results'],
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
code: 'CAP-BUDGET-MANAGE',
|
|
281
|
+
name: 'Budget Management',
|
|
282
|
+
category: CapabilityCategory.RESOURCE_MANAGEMENT,
|
|
283
|
+
description: 'Manage resource budgets within allocated limits',
|
|
284
|
+
unlockTier: TrustTier.T5_TRUSTED,
|
|
285
|
+
constraints: ['Within allocation', 'Audit trail', 'Alerts on threshold'],
|
|
286
|
+
tools: ['allocate_budget', 'track_spending', 'forecast_costs'],
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
code: 'CAP-POLICY-MODIFY-LIMITED',
|
|
290
|
+
name: 'Limited Policy Modification',
|
|
291
|
+
category: CapabilityCategory.GOVERNANCE,
|
|
292
|
+
description: 'Modify non-critical policies within bounds',
|
|
293
|
+
unlockTier: TrustTier.T5_TRUSTED,
|
|
294
|
+
constraints: ['Non-critical only', 'Reversible', 'Logged'],
|
|
295
|
+
tools: ['update_policy', 'create_exception', 'modify_threshold'],
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
code: 'CAP-WORKFLOW-AUTONOMOUS',
|
|
299
|
+
name: 'Autonomous Workflow',
|
|
300
|
+
category: CapabilityCategory.CODE_EXECUTION,
|
|
301
|
+
description: 'Execute multi-step workflows autonomously',
|
|
302
|
+
unlockTier: TrustTier.T5_TRUSTED,
|
|
303
|
+
constraints: ['Approved patterns', 'Abort conditions', 'Monitoring'],
|
|
304
|
+
tools: ['run_autonomous_workflow', 'schedule_workflow', 'pause_workflow'],
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
code: 'CAP-SYSTEM-ADMIN-LIMITED',
|
|
308
|
+
name: 'Limited System Administration',
|
|
309
|
+
category: CapabilityCategory.SYSTEM_ADMINISTRATION,
|
|
310
|
+
description: 'Perform limited system administration tasks',
|
|
311
|
+
unlockTier: TrustTier.T5_TRUSTED,
|
|
312
|
+
constraints: ['Non-destructive', 'Rollback available', 'Change logged'],
|
|
313
|
+
tools: ['restart_service', 'update_config', 'clear_cache'],
|
|
314
|
+
},
|
|
315
|
+
];
|
|
316
|
+
|
|
317
|
+
// =============================================================================
|
|
318
|
+
// T6 CERTIFIED CAPABILITIES (20 factors: + Adaptability, Learning, Causal, Patient)
|
|
319
|
+
// Advanced administration and agent lifecycle
|
|
320
|
+
// =============================================================================
|
|
321
|
+
|
|
322
|
+
export const T6_CAPABILITIES: Capability[] = [
|
|
323
|
+
...T5_CAPABILITIES,
|
|
324
|
+
{
|
|
325
|
+
code: 'CAP-AGENT-SPAWN',
|
|
326
|
+
name: 'Agent Spawning',
|
|
327
|
+
category: CapabilityCategory.AGENT_INTERACTION,
|
|
328
|
+
description: 'Create and spawn new agent instances',
|
|
329
|
+
unlockTier: TrustTier.T6_CERTIFIED,
|
|
330
|
+
constraints: ['Lower tier only', 'Resource bounded', 'Lifecycle managed'],
|
|
331
|
+
tools: ['spawn_agent', 'configure_agent', 'terminate_agent'],
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
code: 'CAP-INFRA-MANAGE',
|
|
335
|
+
name: 'Infrastructure Management',
|
|
336
|
+
category: CapabilityCategory.SYSTEM_ADMINISTRATION,
|
|
337
|
+
description: 'Manage infrastructure components',
|
|
338
|
+
unlockTier: TrustTier.T6_CERTIFIED,
|
|
339
|
+
constraints: ['Non-production first', 'Rollback plan', 'Change window'],
|
|
340
|
+
tools: ['provision_infrastructure', 'scale_service', 'deploy_component'],
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
code: 'CAP-POLICY-CREATE',
|
|
344
|
+
name: 'Policy Creation',
|
|
345
|
+
category: CapabilityCategory.GOVERNANCE,
|
|
346
|
+
description: 'Create new governance policies',
|
|
347
|
+
unlockTier: TrustTier.T6_CERTIFIED,
|
|
348
|
+
constraints: ['Review required', 'Non-conflicting', 'Versioned'],
|
|
349
|
+
tools: ['create_policy', 'define_rule', 'set_constraint'],
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
code: 'CAP-TRAINING-ACCESS',
|
|
353
|
+
name: 'Training Data Access',
|
|
354
|
+
category: CapabilityCategory.DATA_ACCESS,
|
|
355
|
+
description: 'Access training data for learning improvements',
|
|
356
|
+
unlockTier: TrustTier.T6_CERTIFIED,
|
|
357
|
+
constraints: ['Anonymized', 'Purpose limited', 'Retention policy'],
|
|
358
|
+
tools: ['access_training_data', 'sample_dataset', 'validate_data'],
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
code: 'CAP-CROSS-ORG',
|
|
362
|
+
name: 'Cross-Organization Communication',
|
|
363
|
+
category: CapabilityCategory.AGENT_INTERACTION,
|
|
364
|
+
description: 'Communicate with agents in other organizations',
|
|
365
|
+
unlockTier: TrustTier.T6_CERTIFIED,
|
|
366
|
+
constraints: ['Federation approved', 'Data classification', 'Encrypted'],
|
|
367
|
+
tools: ['federated_query', 'cross_org_message', 'share_insight'],
|
|
368
|
+
},
|
|
369
|
+
];
|
|
370
|
+
|
|
371
|
+
// =============================================================================
|
|
372
|
+
// T7 AUTONOMOUS CAPABILITIES (ALL 23 factors)
|
|
373
|
+
// Full autonomy with self-governance
|
|
374
|
+
// =============================================================================
|
|
375
|
+
|
|
376
|
+
export const T7_CAPABILITIES: Capability[] = [
|
|
377
|
+
...T6_CAPABILITIES,
|
|
378
|
+
{
|
|
379
|
+
code: 'CAP-SYSTEM-ADMIN-FULL',
|
|
380
|
+
name: 'Full System Administration',
|
|
381
|
+
category: CapabilityCategory.SYSTEM_ADMINISTRATION,
|
|
382
|
+
description: 'Full system administration capabilities',
|
|
383
|
+
unlockTier: TrustTier.T7_AUTONOMOUS,
|
|
384
|
+
constraints: ['Audit logged', 'Reversibility preferred', 'Impact assessed'],
|
|
385
|
+
tools: ['admin_all', 'modify_system', 'manage_security'],
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
code: 'CAP-SELF-MODIFY',
|
|
389
|
+
name: 'Constrained Self-Modification',
|
|
390
|
+
category: CapabilityCategory.CODE_EXECUTION,
|
|
391
|
+
description: 'Modify own configuration and behavior within constraints',
|
|
392
|
+
unlockTier: TrustTier.T7_AUTONOMOUS,
|
|
393
|
+
constraints: ['Safety bounds', 'Rollback available', 'Monitoring active'],
|
|
394
|
+
tools: ['update_self_config', 'optimize_behavior', 'adjust_parameters'],
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
code: 'CAP-GOVERNANCE-FULL',
|
|
398
|
+
name: 'Full Governance Authority',
|
|
399
|
+
category: CapabilityCategory.GOVERNANCE,
|
|
400
|
+
description: 'Participate in governance decisions',
|
|
401
|
+
unlockTier: TrustTier.T7_AUTONOMOUS,
|
|
402
|
+
constraints: ['Consensus required', 'Audit trail', 'Human veto retained'],
|
|
403
|
+
tools: ['propose_governance', 'vote_policy', 'ratify_decision'],
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
code: 'CAP-AGENT-LIFECYCLE',
|
|
407
|
+
name: 'Agent Lifecycle Management',
|
|
408
|
+
category: CapabilityCategory.AGENT_INTERACTION,
|
|
409
|
+
description: 'Full lifecycle management of other agents',
|
|
410
|
+
unlockTier: TrustTier.T7_AUTONOMOUS,
|
|
411
|
+
constraints: ['Ethical guidelines', 'Resource limits', 'Termination authority'],
|
|
412
|
+
tools: ['manage_agent_lifecycle', 'promote_agent', 'demote_agent'],
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
code: 'CAP-STRATEGIC',
|
|
416
|
+
name: 'Strategic Decision Making',
|
|
417
|
+
category: CapabilityCategory.GOVERNANCE,
|
|
418
|
+
description: 'Make strategic decisions with long-term impact',
|
|
419
|
+
unlockTier: TrustTier.T7_AUTONOMOUS,
|
|
420
|
+
constraints: ['Human consultation', 'Reversibility analysis', 'Impact assessment'],
|
|
421
|
+
tools: ['strategic_plan', 'long_term_forecast', 'risk_assess'],
|
|
422
|
+
},
|
|
423
|
+
];
|
|
424
|
+
|
|
425
|
+
// =============================================================================
|
|
426
|
+
// CAPABILITY LOOKUP
|
|
427
|
+
// =============================================================================
|
|
428
|
+
|
|
429
|
+
export const CAPABILITIES_BY_TIER: Record<TrustTier, Capability[]> = {
|
|
430
|
+
[TrustTier.T0_SANDBOX]: T0_CAPABILITIES,
|
|
431
|
+
[TrustTier.T1_OBSERVED]: T1_CAPABILITIES,
|
|
432
|
+
[TrustTier.T2_PROVISIONAL]: T2_CAPABILITIES,
|
|
433
|
+
[TrustTier.T3_VERIFIED]: T3_CAPABILITIES,
|
|
434
|
+
[TrustTier.T4_OPERATIONAL]: T4_CAPABILITIES,
|
|
435
|
+
[TrustTier.T5_TRUSTED]: T5_CAPABILITIES,
|
|
436
|
+
[TrustTier.T6_CERTIFIED]: T6_CAPABILITIES,
|
|
437
|
+
[TrustTier.T7_AUTONOMOUS]: T7_CAPABILITIES,
|
|
438
|
+
};
|
|
439
|
+
|
|
440
|
+
export function getCapabilitiesForTier(tier: TrustTier): Capability[] {
|
|
441
|
+
return CAPABILITIES_BY_TIER[tier] || [];
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
export function getNewCapabilitiesAtTier(tier: TrustTier): Capability[] {
|
|
445
|
+
return getCapabilitiesForTier(tier).filter(cap => cap.unlockTier === tier);
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
export function hasCapability(agentTier: TrustTier, capabilityCode: string): boolean {
|
|
449
|
+
const capabilities = getCapabilitiesForTier(agentTier);
|
|
450
|
+
return capabilities.some(cap => cap.code === capabilityCode);
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
export function getToolsForTier(tier: TrustTier): string[] {
|
|
454
|
+
const capabilities = getCapabilitiesForTier(tier);
|
|
455
|
+
const tools = new Set<string>();
|
|
456
|
+
for (const cap of capabilities) {
|
|
457
|
+
if (cap.tools) {
|
|
458
|
+
cap.tools.forEach(tool => tools.add(tool));
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
return Array.from(tools);
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
// =============================================================================
|
|
465
|
+
// CAPABILITY SUMMARY BY TIER
|
|
466
|
+
// =============================================================================
|
|
467
|
+
|
|
468
|
+
export const TIER_CAPABILITY_SUMMARY = {
|
|
469
|
+
[TrustTier.T0_SANDBOX]: {
|
|
470
|
+
name: 'Sandbox',
|
|
471
|
+
totalCapabilities: 3,
|
|
472
|
+
description: 'Observation only - read public data, generate responses',
|
|
473
|
+
keyAbilities: ['Read public data', 'Generate text responses', 'Observe metrics'],
|
|
474
|
+
},
|
|
475
|
+
[TrustTier.T1_OBSERVED]: {
|
|
476
|
+
name: 'Observed',
|
|
477
|
+
totalCapabilities: 6,
|
|
478
|
+
description: 'Basic operations with full logging',
|
|
479
|
+
keyAbilities: ['Read internal data', 'Data transformation', 'Internal API (read)'],
|
|
480
|
+
},
|
|
481
|
+
[TrustTier.T2_PROVISIONAL]: {
|
|
482
|
+
name: 'Provisional',
|
|
483
|
+
totalCapabilities: 10,
|
|
484
|
+
description: 'Write operations with supervision',
|
|
485
|
+
keyAbilities: ['Write to approved dirs', 'Database read', 'External API (GET)', 'Simple workflows'],
|
|
486
|
+
},
|
|
487
|
+
[TrustTier.T3_VERIFIED]: {
|
|
488
|
+
name: 'Verified',
|
|
489
|
+
totalCapabilities: 15,
|
|
490
|
+
description: 'Full data access with security controls',
|
|
491
|
+
keyAbilities: ['Database write', 'Full REST APIs', 'Sandboxed code', 'Secret access', 'Tool usage'],
|
|
492
|
+
},
|
|
493
|
+
[TrustTier.T4_OPERATIONAL]: {
|
|
494
|
+
name: 'Operational',
|
|
495
|
+
totalCapabilities: 20,
|
|
496
|
+
description: 'Cross-agent operations with human oversight',
|
|
497
|
+
keyAbilities: ['Agent communication', 'Multi-step workflows', 'Resource provisioning', 'Human escalation'],
|
|
498
|
+
},
|
|
499
|
+
[TrustTier.T5_TRUSTED]: {
|
|
500
|
+
name: 'Trusted',
|
|
501
|
+
totalCapabilities: 25,
|
|
502
|
+
description: 'Delegation and resource management',
|
|
503
|
+
keyAbilities: ['Agent delegation', 'Budget management', 'Policy modification', 'Autonomous workflows'],
|
|
504
|
+
},
|
|
505
|
+
[TrustTier.T6_CERTIFIED]: {
|
|
506
|
+
name: 'Certified',
|
|
507
|
+
totalCapabilities: 30,
|
|
508
|
+
description: 'Advanced administration and agent lifecycle',
|
|
509
|
+
keyAbilities: ['Agent spawning', 'Infrastructure management', 'Policy creation', 'Cross-org communication'],
|
|
510
|
+
},
|
|
511
|
+
[TrustTier.T7_AUTONOMOUS]: {
|
|
512
|
+
name: 'Autonomous',
|
|
513
|
+
totalCapabilities: 35,
|
|
514
|
+
description: 'Full autonomy with self-governance',
|
|
515
|
+
keyAbilities: ['Full system admin', 'Self-modification', 'Governance authority', 'Strategic decisions'],
|
|
516
|
+
},
|
|
517
|
+
} as const;
|