@vorionsys/atsf-core 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/README.md +308 -0
- package/dist/api/index.d.ts +5 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +5 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/server.d.ts +17 -0
- package/dist/api/server.d.ts.map +1 -0
- package/dist/api/server.js +124 -0
- package/dist/api/server.js.map +1 -0
- package/dist/arbitration/index.d.ts +124 -0
- package/dist/arbitration/index.d.ts.map +1 -0
- package/dist/arbitration/index.js +696 -0
- package/dist/arbitration/index.js.map +1 -0
- package/dist/arbitration/types.d.ts +260 -0
- package/dist/arbitration/types.d.ts.map +1 -0
- package/dist/arbitration/types.js +10 -0
- package/dist/arbitration/types.js.map +1 -0
- package/dist/basis/evaluator.d.ts +57 -0
- package/dist/basis/evaluator.d.ts.map +1 -0
- package/dist/basis/evaluator.js +244 -0
- package/dist/basis/evaluator.js.map +1 -0
- package/dist/basis/index.d.ts +12 -0
- package/dist/basis/index.d.ts.map +1 -0
- package/dist/basis/index.js +12 -0
- package/dist/basis/index.js.map +1 -0
- package/dist/basis/parser.d.ts +376 -0
- package/dist/basis/parser.d.ts.map +1 -0
- package/dist/basis/parser.js +150 -0
- package/dist/basis/parser.js.map +1 -0
- package/dist/basis/types.d.ts +115 -0
- package/dist/basis/types.d.ts.map +1 -0
- package/dist/basis/types.js +5 -0
- package/dist/basis/types.js.map +1 -0
- package/dist/cognigate/index.d.ts +85 -0
- package/dist/cognigate/index.d.ts.map +1 -0
- package/dist/cognigate/index.js +139 -0
- package/dist/cognigate/index.js.map +1 -0
- package/dist/common/config.d.ts +252 -0
- package/dist/common/config.d.ts.map +1 -0
- package/dist/common/config.js +128 -0
- package/dist/common/config.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/logger.d.ts +11 -0
- package/dist/common/logger.d.ts.map +1 -0
- package/dist/common/logger.js +29 -0
- package/dist/common/logger.js.map +1 -0
- package/dist/common/types.d.ts +196 -0
- package/dist/common/types.d.ts.map +1 -0
- package/dist/common/types.js +41 -0
- package/dist/common/types.js.map +1 -0
- package/dist/containment/index.d.ts +120 -0
- package/dist/containment/index.d.ts.map +1 -0
- package/dist/containment/index.js +717 -0
- package/dist/containment/index.js.map +1 -0
- package/dist/containment/types.d.ts +260 -0
- package/dist/containment/types.d.ts.map +1 -0
- package/dist/containment/types.js +21 -0
- package/dist/containment/types.js.map +1 -0
- package/dist/contracts/index.d.ts +237 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +594 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/types.d.ts +374 -0
- package/dist/contracts/types.d.ts.map +1 -0
- package/dist/contracts/types.js +10 -0
- package/dist/contracts/types.js.map +1 -0
- package/dist/enforce/index.d.ts +58 -0
- package/dist/enforce/index.d.ts.map +1 -0
- package/dist/enforce/index.js +77 -0
- package/dist/enforce/index.js.map +1 -0
- package/dist/governance/index.d.ts +133 -0
- package/dist/governance/index.d.ts.map +1 -0
- package/dist/governance/index.js +630 -0
- package/dist/governance/index.js.map +1 -0
- package/dist/governance/types.d.ts +362 -0
- package/dist/governance/types.d.ts.map +1 -0
- package/dist/governance/types.js +21 -0
- package/dist/governance/types.js.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -0
- package/dist/intent/index.d.ts +44 -0
- package/dist/intent/index.d.ts.map +1 -0
- package/dist/intent/index.js +64 -0
- package/dist/intent/index.js.map +1 -0
- package/dist/langchain/callback.d.ts +115 -0
- package/dist/langchain/callback.d.ts.map +1 -0
- package/dist/langchain/callback.js +264 -0
- package/dist/langchain/callback.js.map +1 -0
- package/dist/langchain/executor.d.ts +63 -0
- package/dist/langchain/executor.d.ts.map +1 -0
- package/dist/langchain/executor.js +169 -0
- package/dist/langchain/executor.js.map +1 -0
- package/dist/langchain/index.d.ts +12 -0
- package/dist/langchain/index.d.ts.map +1 -0
- package/dist/langchain/index.js +12 -0
- package/dist/langchain/index.js.map +1 -0
- package/dist/langchain/tools.d.ts +25 -0
- package/dist/langchain/tools.d.ts.map +1 -0
- package/dist/langchain/tools.js +167 -0
- package/dist/langchain/tools.js.map +1 -0
- package/dist/langchain/types.d.ts +72 -0
- package/dist/langchain/types.d.ts.map +1 -0
- package/dist/langchain/types.js +9 -0
- package/dist/langchain/types.js.map +1 -0
- package/dist/layers/index.d.ts +147 -0
- package/dist/layers/index.d.ts.map +1 -0
- package/dist/layers/index.js +565 -0
- package/dist/layers/index.js.map +1 -0
- package/dist/layers/types.d.ts +336 -0
- package/dist/layers/types.d.ts.map +1 -0
- package/dist/layers/types.js +10 -0
- package/dist/layers/types.js.map +1 -0
- package/dist/persistence/file.d.ts +55 -0
- package/dist/persistence/file.d.ts.map +1 -0
- package/dist/persistence/file.js +176 -0
- package/dist/persistence/file.js.map +1 -0
- package/dist/persistence/index.d.ts +16 -0
- package/dist/persistence/index.d.ts.map +1 -0
- package/dist/persistence/index.js +34 -0
- package/dist/persistence/index.js.map +1 -0
- package/dist/persistence/memory.d.ts +32 -0
- package/dist/persistence/memory.d.ts.map +1 -0
- package/dist/persistence/memory.js +91 -0
- package/dist/persistence/memory.js.map +1 -0
- package/dist/persistence/types.d.ts +89 -0
- package/dist/persistence/types.d.ts.map +1 -0
- package/dist/persistence/types.js +9 -0
- package/dist/persistence/types.js.map +1 -0
- package/dist/proof/index.d.ts +87 -0
- package/dist/proof/index.d.ts.map +1 -0
- package/dist/proof/index.js +179 -0
- package/dist/proof/index.js.map +1 -0
- package/dist/provenance/index.d.ts +135 -0
- package/dist/provenance/index.d.ts.map +1 -0
- package/dist/provenance/index.js +356 -0
- package/dist/provenance/index.js.map +1 -0
- package/dist/provenance/types.d.ts +217 -0
- package/dist/provenance/types.d.ts.map +1 -0
- package/dist/provenance/types.js +10 -0
- package/dist/provenance/types.js.map +1 -0
- package/dist/trust-engine/index.d.ts +273 -0
- package/dist/trust-engine/index.d.ts.map +1 -0
- package/dist/trust-engine/index.js +515 -0
- package/dist/trust-engine/index.js.map +1 -0
- package/package.json +100 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/common/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,eAAO,MAAM,MAAM,6BAiBjB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAEnC;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAErE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logging configuration for Vorion
|
|
3
|
+
*/
|
|
4
|
+
import pino from 'pino';
|
|
5
|
+
const level = process.env['VORION_LOG_LEVEL'] ?? 'info';
|
|
6
|
+
export const logger = pino({
|
|
7
|
+
level,
|
|
8
|
+
transport: process.env['NODE_ENV'] !== 'production'
|
|
9
|
+
? {
|
|
10
|
+
target: 'pino-pretty',
|
|
11
|
+
options: {
|
|
12
|
+
colorize: true,
|
|
13
|
+
translateTime: 'SYS:standard',
|
|
14
|
+
ignore: 'pid,hostname',
|
|
15
|
+
},
|
|
16
|
+
}
|
|
17
|
+
: undefined,
|
|
18
|
+
base: {
|
|
19
|
+
service: 'vorion',
|
|
20
|
+
version: process.env['npm_package_version'],
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* Create a child logger with context
|
|
25
|
+
*/
|
|
26
|
+
export function createLogger(context) {
|
|
27
|
+
return logger.child(context);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/common/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,MAAM,CAAC;AAExD,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK;IACL,SAAS,EACP,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY;QACtC,CAAC,CAAC;YACE,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,cAAc;gBAC7B,MAAM,EAAE,cAAc;aACvB;SACF;QACH,CAAC,CAAC,SAAS;IACf,IAAI,EAAE;QACJ,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;KAC5C;CACF,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAgC;IAC3D,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common types used throughout Vorion
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Unique identifier type
|
|
8
|
+
*/
|
|
9
|
+
export type ID = string;
|
|
10
|
+
/**
|
|
11
|
+
* Timestamp in ISO 8601 format
|
|
12
|
+
*/
|
|
13
|
+
export type Timestamp = string;
|
|
14
|
+
/**
|
|
15
|
+
* Trust level (L0-L5)
|
|
16
|
+
*
|
|
17
|
+
* - L0: Untrusted (0-166)
|
|
18
|
+
* - L1: Observed (167-332)
|
|
19
|
+
* - L2: Limited (333-499)
|
|
20
|
+
* - L3: Standard (500-665)
|
|
21
|
+
* - L4: Trusted (666-832)
|
|
22
|
+
* - L5: Certified (833-1000)
|
|
23
|
+
*/
|
|
24
|
+
export type TrustLevel = 0 | 1 | 2 | 3 | 4 | 5;
|
|
25
|
+
/**
|
|
26
|
+
* Trust score (0-1000)
|
|
27
|
+
*/
|
|
28
|
+
export type TrustScore = number;
|
|
29
|
+
/**
|
|
30
|
+
* Entity types that can be governed
|
|
31
|
+
*/
|
|
32
|
+
export type EntityType = 'agent' | 'user' | 'service' | 'system';
|
|
33
|
+
/**
|
|
34
|
+
* Intent status
|
|
35
|
+
*/
|
|
36
|
+
export type IntentStatus = 'pending' | 'evaluating' | 'approved' | 'denied' | 'escalated' | 'executing' | 'completed' | 'failed';
|
|
37
|
+
/**
|
|
38
|
+
* Control action types
|
|
39
|
+
*/
|
|
40
|
+
export type ControlAction = 'allow' | 'deny' | 'escalate' | 'limit' | 'monitor' | 'terminate';
|
|
41
|
+
/**
|
|
42
|
+
* Entity identity
|
|
43
|
+
*/
|
|
44
|
+
export interface Entity {
|
|
45
|
+
id: ID;
|
|
46
|
+
type: EntityType;
|
|
47
|
+
name: string;
|
|
48
|
+
trustScore: TrustScore;
|
|
49
|
+
trustLevel: TrustLevel;
|
|
50
|
+
metadata: Record<string, unknown>;
|
|
51
|
+
createdAt: Timestamp;
|
|
52
|
+
updatedAt: Timestamp;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Intent representing a goal to be governed
|
|
56
|
+
*/
|
|
57
|
+
export interface Intent {
|
|
58
|
+
id: ID;
|
|
59
|
+
entityId: ID;
|
|
60
|
+
goal: string;
|
|
61
|
+
context: Record<string, unknown>;
|
|
62
|
+
metadata: Record<string, unknown>;
|
|
63
|
+
status: IntentStatus;
|
|
64
|
+
createdAt: Timestamp;
|
|
65
|
+
updatedAt: Timestamp;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Constraint definition
|
|
69
|
+
*/
|
|
70
|
+
export interface Constraint {
|
|
71
|
+
id: ID;
|
|
72
|
+
namespace: string;
|
|
73
|
+
name: string;
|
|
74
|
+
description: string;
|
|
75
|
+
version: string;
|
|
76
|
+
rule: ConstraintRule;
|
|
77
|
+
enabled: boolean;
|
|
78
|
+
createdAt: Timestamp;
|
|
79
|
+
updatedAt: Timestamp;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Constraint rule definition
|
|
83
|
+
*/
|
|
84
|
+
export interface ConstraintRule {
|
|
85
|
+
when: ConstraintCondition;
|
|
86
|
+
evaluate: ConstraintEvaluation[];
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Constraint condition
|
|
90
|
+
*/
|
|
91
|
+
export interface ConstraintCondition {
|
|
92
|
+
intentType?: string;
|
|
93
|
+
entityType?: EntityType;
|
|
94
|
+
conditions?: Record<string, unknown>;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Constraint evaluation step
|
|
98
|
+
*/
|
|
99
|
+
export interface ConstraintEvaluation {
|
|
100
|
+
condition: string;
|
|
101
|
+
result: ControlAction;
|
|
102
|
+
reason?: string;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Evaluation result from BASIS
|
|
106
|
+
*/
|
|
107
|
+
export interface EvaluationResult {
|
|
108
|
+
constraintId: ID;
|
|
109
|
+
passed: boolean;
|
|
110
|
+
action: ControlAction;
|
|
111
|
+
reason: string;
|
|
112
|
+
details: Record<string, unknown>;
|
|
113
|
+
durationMs: number;
|
|
114
|
+
evaluatedAt: Timestamp;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Decision from ENFORCE
|
|
118
|
+
*/
|
|
119
|
+
export interface Decision {
|
|
120
|
+
intentId: ID;
|
|
121
|
+
action: ControlAction;
|
|
122
|
+
constraintsEvaluated: EvaluationResult[];
|
|
123
|
+
trustScore: TrustScore;
|
|
124
|
+
trustLevel: TrustLevel;
|
|
125
|
+
escalation?: EscalationRequest;
|
|
126
|
+
decidedAt: Timestamp;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Escalation request
|
|
130
|
+
*/
|
|
131
|
+
export interface EscalationRequest {
|
|
132
|
+
id: ID;
|
|
133
|
+
intentId: ID;
|
|
134
|
+
reason: string;
|
|
135
|
+
escalatedTo: string;
|
|
136
|
+
timeout: string;
|
|
137
|
+
status: 'pending' | 'approved' | 'rejected' | 'timeout';
|
|
138
|
+
createdAt: Timestamp;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Proof record for audit trail
|
|
142
|
+
*/
|
|
143
|
+
export interface Proof {
|
|
144
|
+
id: ID;
|
|
145
|
+
chainPosition: number;
|
|
146
|
+
intentId: ID;
|
|
147
|
+
entityId: ID;
|
|
148
|
+
decision: Decision;
|
|
149
|
+
inputs: Record<string, unknown>;
|
|
150
|
+
outputs: Record<string, unknown>;
|
|
151
|
+
hash: string;
|
|
152
|
+
previousHash: string;
|
|
153
|
+
signature: string;
|
|
154
|
+
createdAt: Timestamp;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Trust signal for scoring
|
|
158
|
+
*/
|
|
159
|
+
export interface TrustSignal {
|
|
160
|
+
id: ID;
|
|
161
|
+
entityId: ID;
|
|
162
|
+
type: string;
|
|
163
|
+
value: number;
|
|
164
|
+
source: string;
|
|
165
|
+
timestamp: Timestamp;
|
|
166
|
+
metadata: Record<string, unknown>;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Trust score breakdown
|
|
170
|
+
*/
|
|
171
|
+
export interface TrustComponents {
|
|
172
|
+
behavioral: number;
|
|
173
|
+
compliance: number;
|
|
174
|
+
identity: number;
|
|
175
|
+
context: number;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Error types
|
|
179
|
+
*/
|
|
180
|
+
export declare class VorionError extends Error {
|
|
181
|
+
code: string;
|
|
182
|
+
details?: Record<string, unknown> | undefined;
|
|
183
|
+
constructor(message: string, code: string, details?: Record<string, unknown> | undefined);
|
|
184
|
+
}
|
|
185
|
+
export declare class ConstraintViolationError extends VorionError {
|
|
186
|
+
constraintId: ID;
|
|
187
|
+
constraintName: string;
|
|
188
|
+
suggestion?: string | undefined;
|
|
189
|
+
constructor(constraintId: ID, constraintName: string, message: string, suggestion?: string | undefined);
|
|
190
|
+
}
|
|
191
|
+
export declare class TrustInsufficientError extends VorionError {
|
|
192
|
+
required: TrustLevel;
|
|
193
|
+
actual: TrustLevel;
|
|
194
|
+
constructor(required: TrustLevel, actual: TrustLevel);
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common types used throughout Vorion
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Error types
|
|
8
|
+
*/
|
|
9
|
+
export class VorionError extends Error {
|
|
10
|
+
code;
|
|
11
|
+
details;
|
|
12
|
+
constructor(message, code, details) {
|
|
13
|
+
super(message);
|
|
14
|
+
this.code = code;
|
|
15
|
+
this.details = details;
|
|
16
|
+
this.name = 'VorionError';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export class ConstraintViolationError extends VorionError {
|
|
20
|
+
constraintId;
|
|
21
|
+
constraintName;
|
|
22
|
+
suggestion;
|
|
23
|
+
constructor(constraintId, constraintName, message, suggestion) {
|
|
24
|
+
super(message, 'CONSTRAINT_VIOLATION', { constraintId, constraintName });
|
|
25
|
+
this.constraintId = constraintId;
|
|
26
|
+
this.constraintName = constraintName;
|
|
27
|
+
this.suggestion = suggestion;
|
|
28
|
+
this.name = 'ConstraintViolationError';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export class TrustInsufficientError extends VorionError {
|
|
32
|
+
required;
|
|
33
|
+
actual;
|
|
34
|
+
constructor(required, actual) {
|
|
35
|
+
super(`Trust level ${actual} insufficient, requires ${required}`, 'TRUST_INSUFFICIENT', { required, actual });
|
|
36
|
+
this.required = required;
|
|
37
|
+
this.actual = actual;
|
|
38
|
+
this.name = 'TrustInsufficientError';
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA8MH;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAG3B;IACA;IAHT,YACE,OAAe,EACR,IAAY,EACZ,OAAiC;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAA0B;QAGxC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,WAAW;IAE9C;IACA;IAEA;IAJT,YACS,YAAgB,EAChB,cAAsB,EAC7B,OAAe,EACR,UAAmB;QAE1B,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC,CAAC;QALlE,iBAAY,GAAZ,YAAY,CAAI;QAChB,mBAAc,GAAd,cAAc,CAAQ;QAEtB,eAAU,GAAV,UAAU,CAAS;QAG1B,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IAE5C;IACA;IAFT,YACS,QAAoB,EACpB,MAAkB;QAEzB,KAAK,CACH,eAAe,MAAM,2BAA2B,QAAQ,EAAE,EAC1D,oBAAoB,EACpB,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;QAPK,aAAQ,GAAR,QAAQ,CAAY;QACpB,WAAM,GAAN,MAAM,CAAY;QAOzB,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Progressive Containment System
|
|
3
|
+
*
|
|
4
|
+
* Implements graded containment levels for proportional response
|
|
5
|
+
* to detected issues, replacing binary kill switch.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
import type { ID } from '../common/types.js';
|
|
10
|
+
import { type ContainmentLevel, type ContainmentState, type ContainmentRequest, type ContainmentResult, type ContainmentRestriction, type ContainmentReason, type ContainmentInitiator, type DeescalationCondition, type ContainmentPolicy, type ContainmentConfig, type ContainmentQuery, type ContainmentAuditReport, type RestrictionType } from './types.js';
|
|
11
|
+
export * from './types.js';
|
|
12
|
+
/**
|
|
13
|
+
* Progressive Containment Service
|
|
14
|
+
*/
|
|
15
|
+
export declare class ContainmentService {
|
|
16
|
+
private config;
|
|
17
|
+
private states;
|
|
18
|
+
private eventLog;
|
|
19
|
+
constructor(config?: Partial<ContainmentConfig>);
|
|
20
|
+
/**
|
|
21
|
+
* Get current containment state for an entity
|
|
22
|
+
*/
|
|
23
|
+
getState(entityId: ID): ContainmentState | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Get current containment level for an entity
|
|
26
|
+
*/
|
|
27
|
+
getLevel(entityId: ID): ContainmentLevel;
|
|
28
|
+
/**
|
|
29
|
+
* Check if an entity is contained above a certain level
|
|
30
|
+
*/
|
|
31
|
+
isContainedAt(entityId: ID, level: ContainmentLevel): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Check if a specific restriction applies to an entity
|
|
34
|
+
*/
|
|
35
|
+
hasRestriction(entityId: ID, restrictionType: RestrictionType): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Apply containment to an entity
|
|
38
|
+
*/
|
|
39
|
+
contain(request: ContainmentRequest): Promise<ContainmentResult>;
|
|
40
|
+
/**
|
|
41
|
+
* Escalate containment level
|
|
42
|
+
*/
|
|
43
|
+
escalate(entityId: ID, reason: ContainmentReason, explanation: string, initiator: ContainmentInitiator): Promise<ContainmentResult>;
|
|
44
|
+
/**
|
|
45
|
+
* De-escalate containment level
|
|
46
|
+
*/
|
|
47
|
+
deescalate(entityId: ID, reason: ContainmentReason, explanation: string, initiator: ContainmentInitiator): Promise<ContainmentResult>;
|
|
48
|
+
/**
|
|
49
|
+
* Release from containment (return to full autonomy)
|
|
50
|
+
*/
|
|
51
|
+
release(entityId: ID, explanation: string, initiator: ContainmentInitiator): Promise<ContainmentResult>;
|
|
52
|
+
/**
|
|
53
|
+
* Check and update de-escalation conditions
|
|
54
|
+
*/
|
|
55
|
+
checkDeescalation(entityId: ID): Promise<{
|
|
56
|
+
eligible: boolean;
|
|
57
|
+
conditions: DeescalationCondition[];
|
|
58
|
+
}>;
|
|
59
|
+
/**
|
|
60
|
+
* Check action against containment restrictions
|
|
61
|
+
*/
|
|
62
|
+
checkAction(entityId: ID, action: string, capability?: string): {
|
|
63
|
+
allowed: boolean;
|
|
64
|
+
restrictions: ContainmentRestriction[];
|
|
65
|
+
message: string;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Apply policies to determine containment
|
|
69
|
+
*/
|
|
70
|
+
evaluatePolicies(_entityId: ID, context: Record<string, unknown>): Promise<{
|
|
71
|
+
triggeredPolicies: ContainmentPolicy[];
|
|
72
|
+
recommendedLevel: ContainmentLevel;
|
|
73
|
+
restrictions: ContainmentRestriction[];
|
|
74
|
+
}>;
|
|
75
|
+
/**
|
|
76
|
+
* Evaluate a policy trigger
|
|
77
|
+
*/
|
|
78
|
+
private evaluatePolicyTrigger;
|
|
79
|
+
/**
|
|
80
|
+
* Build de-escalation conditions for a containment request
|
|
81
|
+
*/
|
|
82
|
+
private buildDeescalationConditions;
|
|
83
|
+
/**
|
|
84
|
+
* Build escalation path from current level
|
|
85
|
+
*/
|
|
86
|
+
private buildEscalationPath;
|
|
87
|
+
/**
|
|
88
|
+
* Create default state for an entity
|
|
89
|
+
*/
|
|
90
|
+
private createDefaultState;
|
|
91
|
+
/**
|
|
92
|
+
* Query containment states
|
|
93
|
+
*/
|
|
94
|
+
query(query: ContainmentQuery): Promise<ContainmentState[]>;
|
|
95
|
+
/**
|
|
96
|
+
* Generate audit report
|
|
97
|
+
*/
|
|
98
|
+
generateAuditReport(startDate: string, endDate: string): Promise<ContainmentAuditReport>;
|
|
99
|
+
/**
|
|
100
|
+
* Get service statistics
|
|
101
|
+
*/
|
|
102
|
+
getStats(): {
|
|
103
|
+
activeContainments: number;
|
|
104
|
+
byLevel: Record<ContainmentLevel, number>;
|
|
105
|
+
totalEvents: number;
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Create a new containment service
|
|
110
|
+
*/
|
|
111
|
+
export declare function createContainmentService(config?: Partial<ContainmentConfig>): ContainmentService;
|
|
112
|
+
/**
|
|
113
|
+
* Helper to create a system initiator
|
|
114
|
+
*/
|
|
115
|
+
export declare function createSystemInitiator(componentName: string): ContainmentInitiator;
|
|
116
|
+
/**
|
|
117
|
+
* Helper to create a human initiator
|
|
118
|
+
*/
|
|
119
|
+
export declare function createHumanInitiator(userId: ID, userName: string, role: string): ContainmentInitiator;
|
|
120
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/containment/index.ts"],"names":[],"mappings":"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"}
|