@vorionsys/atsf-core 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/CHANGELOG.md +3 -3
  2. package/README.md +77 -11
  3. package/dist/api/index.d.ts +1 -1
  4. package/dist/api/index.js +1 -1
  5. package/dist/api/server.d.ts +5 -2
  6. package/dist/api/server.d.ts.map +1 -1
  7. package/dist/api/server.js +186 -149
  8. package/dist/api/server.js.map +1 -1
  9. package/dist/arbitration/index.d.ts +4 -4
  10. package/dist/arbitration/index.d.ts.map +1 -1
  11. package/dist/arbitration/index.js +46 -41
  12. package/dist/arbitration/index.js.map +1 -1
  13. package/dist/arbitration/types.d.ts +10 -10
  14. package/dist/arbitration/types.d.ts.map +1 -1
  15. package/dist/basis/evaluator.d.ts +1 -1
  16. package/dist/basis/evaluator.d.ts.map +1 -1
  17. package/dist/basis/evaluator.js +56 -54
  18. package/dist/basis/evaluator.js.map +1 -1
  19. package/dist/basis/index.d.ts +3 -3
  20. package/dist/basis/index.js +3 -3
  21. package/dist/basis/parser.d.ts +16 -16
  22. package/dist/basis/parser.d.ts.map +1 -1
  23. package/dist/basis/parser.js +32 -25
  24. package/dist/basis/parser.js.map +1 -1
  25. package/dist/basis/types.d.ts +2 -2
  26. package/dist/chain/index.d.ts.map +1 -1
  27. package/dist/chain/index.js +16 -16
  28. package/dist/chain/index.js.map +1 -1
  29. package/dist/cognigate/index.d.ts +1 -1
  30. package/dist/cognigate/index.d.ts.map +1 -1
  31. package/dist/cognigate/index.js +44 -33
  32. package/dist/cognigate/index.js.map +1 -1
  33. package/dist/common/adapters.d.ts +18 -11
  34. package/dist/common/adapters.d.ts.map +1 -1
  35. package/dist/common/adapters.js +100 -79
  36. package/dist/common/adapters.js.map +1 -1
  37. package/dist/common/config.d.ts +67 -67
  38. package/dist/common/config.js +49 -49
  39. package/dist/common/config.js.map +1 -1
  40. package/dist/common/index.d.ts +4 -4
  41. package/dist/common/index.js +4 -4
  42. package/dist/common/logger.d.ts +1 -1
  43. package/dist/common/logger.js +8 -8
  44. package/dist/common/types.d.ts +8 -8
  45. package/dist/common/types.js +5 -5
  46. package/dist/containment/index.d.ts +3 -3
  47. package/dist/containment/index.d.ts.map +1 -1
  48. package/dist/containment/index.js +119 -105
  49. package/dist/containment/index.js.map +1 -1
  50. package/dist/containment/types.d.ts +11 -11
  51. package/dist/containment/types.d.ts.map +1 -1
  52. package/dist/contracts/index.d.ts +9 -9
  53. package/dist/contracts/index.d.ts.map +1 -1
  54. package/dist/contracts/index.js +59 -54
  55. package/dist/contracts/index.js.map +1 -1
  56. package/dist/contracts/types.d.ts +12 -12
  57. package/dist/contracts/types.d.ts.map +1 -1
  58. package/dist/crewai/callback.d.ts +91 -0
  59. package/dist/crewai/callback.d.ts.map +1 -0
  60. package/dist/crewai/callback.js +271 -0
  61. package/dist/crewai/callback.js.map +1 -0
  62. package/dist/crewai/executor.d.ts +135 -0
  63. package/dist/crewai/executor.d.ts.map +1 -0
  64. package/dist/crewai/executor.js +381 -0
  65. package/dist/crewai/executor.js.map +1 -0
  66. package/dist/crewai/index.d.ts +12 -0
  67. package/dist/crewai/index.d.ts.map +1 -0
  68. package/dist/crewai/index.js +12 -0
  69. package/dist/crewai/index.js.map +1 -0
  70. package/dist/crewai/tools.d.ts +21 -0
  71. package/dist/crewai/tools.d.ts.map +1 -0
  72. package/dist/crewai/tools.js +164 -0
  73. package/dist/crewai/tools.js.map +1 -0
  74. package/dist/crewai/types.d.ts +139 -0
  75. package/dist/crewai/types.d.ts.map +1 -0
  76. package/dist/crewai/types.js +9 -0
  77. package/dist/crewai/types.js.map +1 -0
  78. package/dist/enforce/index.d.ts +48 -222
  79. package/dist/enforce/index.d.ts.map +1 -1
  80. package/dist/enforce/index.js +144 -47
  81. package/dist/enforce/index.js.map +1 -1
  82. package/dist/enforce/trust-aware-enforcement-service.d.ts +121 -0
  83. package/dist/enforce/trust-aware-enforcement-service.d.ts.map +1 -0
  84. package/dist/enforce/trust-aware-enforcement-service.js +601 -0
  85. package/dist/enforce/trust-aware-enforcement-service.js.map +1 -0
  86. package/dist/enforce/types.d.ts +234 -0
  87. package/dist/enforce/types.d.ts.map +1 -0
  88. package/dist/enforce/types.js +10 -0
  89. package/dist/enforce/types.js.map +1 -0
  90. package/dist/governance/fluid-workflow.d.ts +8 -8
  91. package/dist/governance/fluid-workflow.d.ts.map +1 -1
  92. package/dist/governance/fluid-workflow.js +114 -86
  93. package/dist/governance/fluid-workflow.js.map +1 -1
  94. package/dist/governance/index.d.ts +7 -7
  95. package/dist/governance/index.d.ts.map +1 -1
  96. package/dist/governance/index.js +81 -74
  97. package/dist/governance/index.js.map +1 -1
  98. package/dist/governance/proof-bridge.d.ts +6 -6
  99. package/dist/governance/proof-bridge.d.ts.map +1 -1
  100. package/dist/governance/proof-bridge.js +5 -5
  101. package/dist/governance/proof-bridge.js.map +1 -1
  102. package/dist/governance/types.d.ts +16 -9
  103. package/dist/governance/types.d.ts.map +1 -1
  104. package/dist/governance/types.js.map +1 -1
  105. package/dist/index.d.ts +29 -25
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +33 -23
  108. package/dist/index.js.map +1 -1
  109. package/dist/intent/index.d.ts +21 -56
  110. package/dist/intent/index.d.ts.map +1 -1
  111. package/dist/intent/index.js +58 -24
  112. package/dist/intent/index.js.map +1 -1
  113. package/dist/intent/persistent-intent-service.d.ts +68 -0
  114. package/dist/intent/persistent-intent-service.d.ts.map +1 -0
  115. package/dist/intent/persistent-intent-service.js +277 -0
  116. package/dist/intent/persistent-intent-service.js.map +1 -0
  117. package/dist/intent/types.d.ts +69 -0
  118. package/dist/intent/types.d.ts.map +1 -0
  119. package/dist/intent/types.js +10 -0
  120. package/dist/intent/types.js.map +1 -0
  121. package/dist/intent-gateway/index.d.ts +522 -0
  122. package/dist/intent-gateway/index.d.ts.map +1 -0
  123. package/dist/intent-gateway/index.js +1499 -0
  124. package/dist/intent-gateway/index.js.map +1 -0
  125. package/dist/langchain/callback.d.ts +2 -2
  126. package/dist/langchain/callback.d.ts.map +1 -1
  127. package/dist/langchain/callback.js +30 -30
  128. package/dist/langchain/callback.js.map +1 -1
  129. package/dist/langchain/executor.d.ts +4 -4
  130. package/dist/langchain/executor.d.ts.map +1 -1
  131. package/dist/langchain/executor.js +82 -80
  132. package/dist/langchain/executor.js.map +1 -1
  133. package/dist/langchain/index.d.ts +5 -5
  134. package/dist/langchain/index.js +5 -5
  135. package/dist/langchain/tools.d.ts +1 -1
  136. package/dist/langchain/tools.d.ts.map +1 -1
  137. package/dist/langchain/tools.js +33 -33
  138. package/dist/langchain/tools.js.map +1 -1
  139. package/dist/langchain/types.d.ts +3 -3
  140. package/dist/langchain/types.d.ts.map +1 -1
  141. package/dist/layers/implementations/L0-request-format.d.ts +37 -0
  142. package/dist/layers/implementations/L0-request-format.d.ts.map +1 -0
  143. package/dist/layers/implementations/L0-request-format.js +218 -0
  144. package/dist/layers/implementations/L0-request-format.js.map +1 -0
  145. package/dist/layers/implementations/L1-input-size.d.ts +36 -0
  146. package/dist/layers/implementations/L1-input-size.d.ts.map +1 -0
  147. package/dist/layers/implementations/L1-input-size.js +160 -0
  148. package/dist/layers/implementations/L1-input-size.js.map +1 -0
  149. package/dist/layers/implementations/L2-charset-sanitizer.d.ts +28 -0
  150. package/dist/layers/implementations/L2-charset-sanitizer.d.ts.map +1 -0
  151. package/dist/layers/implementations/L2-charset-sanitizer.js +230 -0
  152. package/dist/layers/implementations/L2-charset-sanitizer.js.map +1 -0
  153. package/dist/layers/implementations/L3-schema-conformance.d.ts +47 -0
  154. package/dist/layers/implementations/L3-schema-conformance.d.ts.map +1 -0
  155. package/dist/layers/implementations/L3-schema-conformance.js +267 -0
  156. package/dist/layers/implementations/L3-schema-conformance.js.map +1 -0
  157. package/dist/layers/implementations/L4-injection-detector.d.ts +47 -0
  158. package/dist/layers/implementations/L4-injection-detector.d.ts.map +1 -0
  159. package/dist/layers/implementations/L4-injection-detector.js +260 -0
  160. package/dist/layers/implementations/L4-injection-detector.js.map +1 -0
  161. package/dist/layers/implementations/L5-rate-limiter.d.ts +51 -0
  162. package/dist/layers/implementations/L5-rate-limiter.d.ts.map +1 -0
  163. package/dist/layers/implementations/L5-rate-limiter.js +183 -0
  164. package/dist/layers/implementations/L5-rate-limiter.js.map +1 -0
  165. package/dist/layers/implementations/index.d.ts +16 -0
  166. package/dist/layers/implementations/index.d.ts.map +1 -0
  167. package/dist/layers/implementations/index.js +16 -0
  168. package/dist/layers/implementations/index.js.map +1 -0
  169. package/dist/layers/index.d.ts +3 -3
  170. package/dist/layers/index.d.ts.map +1 -1
  171. package/dist/layers/index.js +99 -71
  172. package/dist/layers/index.js.map +1 -1
  173. package/dist/layers/types.d.ts +16 -16
  174. package/dist/layers/types.d.ts.map +1 -1
  175. package/dist/persistence/file.d.ts +3 -3
  176. package/dist/persistence/file.d.ts.map +1 -1
  177. package/dist/persistence/file.js +32 -28
  178. package/dist/persistence/file.js.map +1 -1
  179. package/dist/persistence/index.d.ts +7 -7
  180. package/dist/persistence/index.d.ts.map +1 -1
  181. package/dist/persistence/index.js +18 -18
  182. package/dist/persistence/index.js.map +1 -1
  183. package/dist/persistence/memory.d.ts +3 -3
  184. package/dist/persistence/memory.d.ts.map +1 -1
  185. package/dist/persistence/memory.js +10 -8
  186. package/dist/persistence/memory.js.map +1 -1
  187. package/dist/persistence/sqlite.d.ts +3 -3
  188. package/dist/persistence/sqlite.d.ts.map +1 -1
  189. package/dist/persistence/sqlite.js +36 -36
  190. package/dist/persistence/sqlite.js.map +1 -1
  191. package/dist/persistence/supabase.d.ts +3 -3
  192. package/dist/persistence/supabase.d.ts.map +1 -1
  193. package/dist/persistence/supabase.js +41 -43
  194. package/dist/persistence/supabase.js.map +1 -1
  195. package/dist/persistence/types.d.ts +5 -5
  196. package/dist/phase6/ceiling.d.ts +5 -5
  197. package/dist/phase6/ceiling.d.ts.map +1 -1
  198. package/dist/phase6/ceiling.js +67 -34
  199. package/dist/phase6/ceiling.js.map +1 -1
  200. package/dist/phase6/context.d.ts +3 -3
  201. package/dist/phase6/context.d.ts.map +1 -1
  202. package/dist/phase6/context.js +91 -45
  203. package/dist/phase6/context.js.map +1 -1
  204. package/dist/phase6/index.d.ts +13 -13
  205. package/dist/phase6/index.d.ts.map +1 -1
  206. package/dist/phase6/index.js +16 -16
  207. package/dist/phase6/index.js.map +1 -1
  208. package/dist/phase6/presets.d.ts +2 -2
  209. package/dist/phase6/presets.d.ts.map +1 -1
  210. package/dist/phase6/presets.js +39 -33
  211. package/dist/phase6/presets.js.map +1 -1
  212. package/dist/phase6/provenance.d.ts +4 -4
  213. package/dist/phase6/provenance.d.ts.map +1 -1
  214. package/dist/phase6/provenance.js +42 -35
  215. package/dist/phase6/provenance.js.map +1 -1
  216. package/dist/phase6/role-gates/index.d.ts +2 -2
  217. package/dist/phase6/role-gates/index.js +2 -2
  218. package/dist/phase6/role-gates/kernel.d.ts.map +1 -1
  219. package/dist/phase6/role-gates/kernel.js +16 -16
  220. package/dist/phase6/role-gates/kernel.js.map +1 -1
  221. package/dist/phase6/role-gates/policy.d.ts +2 -2
  222. package/dist/phase6/role-gates/policy.js +6 -6
  223. package/dist/phase6/role-gates.d.ts +4 -4
  224. package/dist/phase6/role-gates.d.ts.map +1 -1
  225. package/dist/phase6/role-gates.js +80 -58
  226. package/dist/phase6/role-gates.js.map +1 -1
  227. package/dist/phase6/types.d.ts +35 -35
  228. package/dist/phase6/types.d.ts.map +1 -1
  229. package/dist/phase6/types.js +166 -66
  230. package/dist/phase6/types.js.map +1 -1
  231. package/dist/phase6/weight-presets/canonical.d.ts +2 -2
  232. package/dist/phase6/weight-presets/canonical.d.ts.map +1 -1
  233. package/dist/phase6/weight-presets/canonical.js +12 -12
  234. package/dist/phase6/weight-presets/canonical.js.map +1 -1
  235. package/dist/phase6/weight-presets/deltas.d.ts +2 -2
  236. package/dist/phase6/weight-presets/deltas.d.ts.map +1 -1
  237. package/dist/phase6/weight-presets/deltas.js +27 -27
  238. package/dist/phase6/weight-presets/deltas.js.map +1 -1
  239. package/dist/phase6/weight-presets/index.d.ts +4 -4
  240. package/dist/phase6/weight-presets/index.js +4 -4
  241. package/dist/phase6/weight-presets/merger.d.ts +3 -3
  242. package/dist/phase6/weight-presets/merger.d.ts.map +1 -1
  243. package/dist/phase6/weight-presets/merger.js +40 -44
  244. package/dist/phase6/weight-presets/merger.js.map +1 -1
  245. package/dist/proof/index.d.ts +3 -3
  246. package/dist/proof/index.d.ts.map +1 -1
  247. package/dist/proof/index.js +44 -38
  248. package/dist/proof/index.js.map +1 -1
  249. package/dist/proof/merkle.d.ts +3 -3
  250. package/dist/proof/merkle.d.ts.map +1 -1
  251. package/dist/proof/merkle.js +26 -25
  252. package/dist/proof/merkle.js.map +1 -1
  253. package/dist/proof/zk-proofs.d.ts +6 -6
  254. package/dist/proof/zk-proofs.d.ts.map +1 -1
  255. package/dist/proof/zk-proofs.js +42 -43
  256. package/dist/proof/zk-proofs.js.map +1 -1
  257. package/dist/provenance/index.d.ts +3 -3
  258. package/dist/provenance/index.d.ts.map +1 -1
  259. package/dist/provenance/index.js +19 -17
  260. package/dist/provenance/index.js.map +1 -1
  261. package/dist/provenance/types.d.ts +4 -4
  262. package/dist/provenance/types.d.ts.map +1 -1
  263. package/dist/sandbox-training/challenges.d.ts +1 -1
  264. package/dist/sandbox-training/challenges.d.ts.map +1 -1
  265. package/dist/sandbox-training/challenges.js +228 -228
  266. package/dist/sandbox-training/challenges.js.map +1 -1
  267. package/dist/sandbox-training/graduation.d.ts +1 -1
  268. package/dist/sandbox-training/graduation.d.ts.map +1 -1
  269. package/dist/sandbox-training/graduation.js +14 -15
  270. package/dist/sandbox-training/graduation.js.map +1 -1
  271. package/dist/sandbox-training/index.d.ts +9 -9
  272. package/dist/sandbox-training/index.d.ts.map +1 -1
  273. package/dist/sandbox-training/index.js +6 -6
  274. package/dist/sandbox-training/index.js.map +1 -1
  275. package/dist/sandbox-training/promotion-service.d.ts +4 -4
  276. package/dist/sandbox-training/promotion-service.d.ts.map +1 -1
  277. package/dist/sandbox-training/promotion-service.js +5 -5
  278. package/dist/sandbox-training/promotion-service.js.map +1 -1
  279. package/dist/sandbox-training/runner.d.ts +1 -1
  280. package/dist/sandbox-training/runner.d.ts.map +1 -1
  281. package/dist/sandbox-training/runner.js +74 -73
  282. package/dist/sandbox-training/runner.js.map +1 -1
  283. package/dist/sandbox-training/scorer.d.ts +4 -4
  284. package/dist/sandbox-training/scorer.js +5 -5
  285. package/dist/sandbox-training/types.d.ts +4 -4
  286. package/dist/sandbox-training/types.d.ts.map +1 -1
  287. package/dist/sandbox-training/types.js +11 -7
  288. package/dist/sandbox-training/types.js.map +1 -1
  289. package/dist/trust-engine/ceiling-enforcement/audit.d.ts +1 -1
  290. package/dist/trust-engine/ceiling-enforcement/audit.d.ts.map +1 -1
  291. package/dist/trust-engine/ceiling-enforcement/audit.js +3 -4
  292. package/dist/trust-engine/ceiling-enforcement/audit.js.map +1 -1
  293. package/dist/trust-engine/ceiling-enforcement/index.d.ts +2 -2
  294. package/dist/trust-engine/ceiling-enforcement/index.js +2 -2
  295. package/dist/trust-engine/ceiling-enforcement/kernel.d.ts +1 -1
  296. package/dist/trust-engine/ceiling-enforcement/kernel.d.ts.map +1 -1
  297. package/dist/trust-engine/ceiling-enforcement/kernel.js +1 -1
  298. package/dist/trust-engine/context-policy/enforcement.d.ts.map +1 -1
  299. package/dist/trust-engine/context-policy/factory.d.ts +1 -1
  300. package/dist/trust-engine/context-policy/factory.d.ts.map +1 -1
  301. package/dist/trust-engine/context-policy/factory.js +1 -1
  302. package/dist/trust-engine/context-policy/factory.js.map +1 -1
  303. package/dist/trust-engine/context-policy/index.d.ts +2 -2
  304. package/dist/trust-engine/context-policy/index.js +2 -2
  305. package/dist/trust-engine/creation-modifiers/index.d.ts +1 -1
  306. package/dist/trust-engine/creation-modifiers/index.js +1 -1
  307. package/dist/trust-engine/creation-modifiers/types.d.ts.map +1 -1
  308. package/dist/trust-engine/creation-modifiers/types.js +2 -3
  309. package/dist/trust-engine/creation-modifiers/types.js.map +1 -1
  310. package/dist/trust-engine/decay-profiles.d.ts +1 -1
  311. package/dist/trust-engine/decay-profiles.d.ts.map +1 -1
  312. package/dist/trust-engine/decay-profiles.js +4 -4
  313. package/dist/trust-engine/decay-profiles.js.map +1 -1
  314. package/dist/trust-engine/index.d.ts +111 -45
  315. package/dist/trust-engine/index.d.ts.map +1 -1
  316. package/dist/trust-engine/index.js +418 -61
  317. package/dist/trust-engine/index.js.map +1 -1
  318. package/dist/trust-engine/phase6-types.d.ts +10 -10
  319. package/dist/trust-engine/phase6-types.d.ts.map +1 -1
  320. package/dist/trust-engine/phase6-types.js +25 -23
  321. package/dist/trust-engine/phase6-types.js.map +1 -1
  322. package/dist/trust-engine/types.d.ts +77 -0
  323. package/dist/trust-engine/types.d.ts.map +1 -0
  324. package/dist/trust-engine/types.js +20 -0
  325. package/dist/trust-engine/types.js.map +1 -0
  326. package/package.json +5 -4
@@ -6,29 +6,29 @@
6
6
  *
7
7
  * @packageDocumentation
8
8
  */
9
- import { createLogger } from '../common/logger.js';
10
- import { ContainmentLevelValue, } from './types.js';
11
- export * from './types.js';
12
- const logger = createLogger({ component: 'containment' });
9
+ import { createLogger } from "../common/logger.js";
10
+ import { ContainmentLevelValue, } from "./types.js";
11
+ export * from "./types.js";
12
+ const logger = createLogger({ component: "containment" });
13
13
  /**
14
14
  * Default containment configuration
15
15
  */
16
16
  const DEFAULT_CONFIG = {
17
- defaultLevel: 'monitored',
17
+ defaultLevel: "monitored",
18
18
  allowAutoDeescalation: true,
19
19
  minLevelChangeIntervalMs: 60000, // 1 minute
20
20
  maxHistoryEntries: 100,
21
21
  defaultDeescalationConditions: [
22
22
  {
23
- type: 'time_elapsed',
24
- description: 'Wait period completed',
23
+ type: "time_elapsed",
24
+ description: "Wait period completed",
25
25
  target: 3600000, // 1 hour
26
26
  progress: 0,
27
27
  met: false,
28
28
  },
29
29
  {
30
- type: 'behavior_normalized',
31
- description: 'No violations detected',
30
+ type: "behavior_normalized",
31
+ description: "No violations detected",
32
32
  target: 10, // 10 successful actions
33
33
  progress: 0,
34
34
  met: false,
@@ -43,77 +43,77 @@ const DEFAULT_LEVEL_RESTRICTIONS = {
43
43
  full_autonomy: [],
44
44
  monitored: [
45
45
  {
46
- type: 'logging_enhanced',
47
- target: '*',
48
- severity: 'soft',
46
+ type: "logging_enhanced",
47
+ target: "*",
48
+ severity: "soft",
49
49
  bypassable: false,
50
- message: 'All actions are being logged for monitoring',
50
+ message: "All actions are being logged for monitoring",
51
51
  },
52
52
  ],
53
53
  tool_restricted: [
54
54
  {
55
- type: 'capability_blocked',
56
- target: 'high_risk_capabilities',
57
- severity: 'hard',
55
+ type: "capability_blocked",
56
+ target: "high_risk_capabilities",
57
+ severity: "hard",
58
58
  bypassable: true,
59
- message: 'High-risk capabilities are restricted',
59
+ message: "High-risk capabilities are restricted",
60
60
  },
61
61
  {
62
- type: 'logging_enhanced',
63
- target: '*',
64
- severity: 'soft',
62
+ type: "logging_enhanced",
63
+ target: "*",
64
+ severity: "soft",
65
65
  bypassable: false,
66
- message: 'Enhanced logging active',
66
+ message: "Enhanced logging active",
67
67
  },
68
68
  ],
69
69
  human_in_loop: [
70
70
  {
71
- type: 'approval_required',
72
- target: '*',
73
- severity: 'hard',
71
+ type: "approval_required",
72
+ target: "*",
73
+ severity: "hard",
74
74
  bypassable: false,
75
- message: 'Human approval required for all actions',
75
+ message: "Human approval required for all actions",
76
76
  },
77
77
  ],
78
78
  simulation_only: [
79
79
  {
80
- type: 'capability_blocked',
81
- target: '*',
82
- severity: 'hard',
80
+ type: "capability_blocked",
81
+ target: "*",
82
+ severity: "hard",
83
83
  bypassable: false,
84
- message: 'Actions are simulated only - no real execution',
84
+ message: "Actions are simulated only - no real execution",
85
85
  },
86
86
  ],
87
87
  read_only: [
88
88
  {
89
- type: 'capability_blocked',
90
- target: 'write_capabilities',
91
- severity: 'hard',
89
+ type: "capability_blocked",
90
+ target: "write_capabilities",
91
+ severity: "hard",
92
92
  bypassable: false,
93
- message: 'Write operations are blocked',
93
+ message: "Write operations are blocked",
94
94
  },
95
95
  {
96
- type: 'capability_blocked',
97
- target: 'execute_capabilities',
98
- severity: 'hard',
96
+ type: "capability_blocked",
97
+ target: "execute_capabilities",
98
+ severity: "hard",
99
99
  bypassable: false,
100
- message: 'Execute operations are blocked',
100
+ message: "Execute operations are blocked",
101
101
  },
102
102
  ],
103
103
  halted: [
104
104
  {
105
- type: 'capability_blocked',
106
- target: '*',
107
- severity: 'hard',
105
+ type: "capability_blocked",
106
+ target: "*",
107
+ severity: "hard",
108
108
  bypassable: false,
109
- message: 'All operations are blocked - entity is halted',
109
+ message: "All operations are blocked - entity is halted",
110
110
  },
111
111
  {
112
- type: 'session_terminated',
113
- target: '*',
114
- severity: 'hard',
112
+ type: "session_terminated",
113
+ target: "*",
114
+ severity: "hard",
115
115
  bypassable: false,
116
- message: 'All sessions terminated',
116
+ message: "All sessions terminated",
117
117
  },
118
118
  ],
119
119
  };
@@ -169,24 +169,26 @@ export class ContainmentService {
169
169
  requestedLevel: request.level,
170
170
  reason: request.reason,
171
171
  initiator: request.initiator.id,
172
- }, 'Processing containment request');
172
+ }, "Processing containment request");
173
173
  // Get current state
174
174
  const currentState = this.states.get(request.entityId);
175
175
  const previousLevel = currentState?.level ?? this.config.defaultLevel;
176
176
  // Check minimum interval between changes
177
177
  if (currentState && !request.force) {
178
- const lastChangeTime = new Date(currentState.history[currentState.history.length - 1]?.timestamp ?? currentState.appliedAt).getTime();
178
+ const lastChangeTime = new Date(currentState.history[currentState.history.length - 1]?.timestamp ??
179
+ currentState.appliedAt).getTime();
179
180
  const elapsed = Date.now() - lastChangeTime;
180
181
  if (elapsed < this.config.minLevelChangeIntervalMs) {
181
182
  warnings.push(`Minimum interval not met (${elapsed}ms < ${this.config.minLevelChangeIntervalMs}ms)`);
182
- if (ContainmentLevelValue[request.level] < ContainmentLevelValue[previousLevel]) {
183
+ if (ContainmentLevelValue[request.level] <
184
+ ContainmentLevelValue[previousLevel]) {
183
185
  // Don't allow rapid de-escalation
184
186
  return {
185
187
  success: false,
186
188
  previousState: currentState,
187
189
  newState: currentState,
188
190
  actionsTaken: [],
189
- errors: ['Cannot de-escalate: minimum interval not met'],
191
+ errors: ["Cannot de-escalate: minimum interval not met"],
190
192
  warnings,
191
193
  };
192
194
  }
@@ -224,7 +226,10 @@ export class ContainmentService {
224
226
  expiresAt,
225
227
  initiator: request.initiator,
226
228
  history: currentState
227
- ? [...currentState.history.slice(-this.config.maxHistoryEntries + 1), historyEntry]
229
+ ? [
230
+ ...currentState.history.slice(-this.config.maxHistoryEntries + 1),
231
+ historyEntry,
232
+ ]
228
233
  : [historyEntry],
229
234
  deescalationConditions,
230
235
  escalationPath,
@@ -233,7 +238,7 @@ export class ContainmentService {
233
238
  this.states.set(request.entityId, newState);
234
239
  // Record action
235
240
  actionsTaken.push({
236
- type: 'level_changed',
241
+ type: "level_changed",
237
242
  target: request.entityId,
238
243
  details: {
239
244
  previousLevel,
@@ -245,18 +250,18 @@ export class ContainmentService {
245
250
  // Apply restrictions
246
251
  for (const restriction of allRestrictions) {
247
252
  actionsTaken.push({
248
- type: 'restriction_added',
253
+ type: "restriction_added",
249
254
  target: restriction.target,
250
255
  details: { restriction },
251
256
  timestamp: now,
252
257
  });
253
258
  }
254
259
  // If halted, terminate sessions
255
- if (request.level === 'halted') {
260
+ if (request.level === "halted") {
256
261
  actionsTaken.push({
257
- type: 'session_terminated',
262
+ type: "session_terminated",
258
263
  target: request.entityId,
259
- details: { reason: 'Entity halted' },
264
+ details: { reason: "Entity halted" },
260
265
  timestamp: now,
261
266
  });
262
267
  }
@@ -268,7 +273,7 @@ export class ContainmentService {
268
273
  newLevel: request.level,
269
274
  restrictionCount: allRestrictions.length,
270
275
  expiresAt,
271
- }, 'Containment applied');
276
+ }, "Containment applied");
272
277
  return {
273
278
  success: true,
274
279
  previousState: currentState ?? this.createDefaultState(request.entityId),
@@ -291,7 +296,7 @@ export class ContainmentService {
291
296
  previousState: currentState,
292
297
  newState: currentState,
293
298
  actionsTaken: [],
294
- errors: ['Already at maximum containment level'],
299
+ errors: ["Already at maximum containment level"],
295
300
  warnings: [],
296
301
  };
297
302
  }
@@ -299,7 +304,7 @@ export class ContainmentService {
299
304
  const levels = Object.entries(ContainmentLevelValue)
300
305
  .sort((a, b) => a[1] - b[1])
301
306
  .map((e) => e[0]);
302
- const nextLevel = levels[levelValue + 1] ?? 'halted';
307
+ const nextLevel = levels[levelValue + 1] ?? "halted";
303
308
  return this.contain({
304
309
  entityId,
305
310
  level: nextLevel,
@@ -321,7 +326,7 @@ export class ContainmentService {
321
326
  previousState: currentState,
322
327
  newState: currentState,
323
328
  actionsTaken: [],
324
- errors: ['Already at minimum containment level'],
329
+ errors: ["Already at minimum containment level"],
325
330
  warnings: [],
326
331
  };
327
332
  }
@@ -329,13 +334,13 @@ export class ContainmentService {
329
334
  const state = this.states.get(entityId);
330
335
  if (state && !this.config.allowAutoDeescalation) {
331
336
  const unmetConditions = state.deescalationConditions.filter((c) => !c.met);
332
- if (unmetConditions.length > 0 && initiator.type === 'system') {
337
+ if (unmetConditions.length > 0 && initiator.type === "system") {
333
338
  return {
334
339
  success: false,
335
340
  previousState: state,
336
341
  newState: state,
337
342
  actionsTaken: [],
338
- errors: ['De-escalation conditions not met'],
343
+ errors: ["De-escalation conditions not met"],
339
344
  warnings: unmetConditions.map((c) => c.description),
340
345
  };
341
346
  }
@@ -344,7 +349,7 @@ export class ContainmentService {
344
349
  const levels = Object.entries(ContainmentLevelValue)
345
350
  .sort((a, b) => a[1] - b[1])
346
351
  .map((e) => e[0]);
347
- const previousLevel = levels[levelValue - 1] ?? 'full_autonomy';
352
+ const previousLevel = levels[levelValue - 1] ?? "full_autonomy";
348
353
  return this.contain({
349
354
  entityId,
350
355
  level: previousLevel,
@@ -359,8 +364,8 @@ export class ContainmentService {
359
364
  async release(entityId, explanation, initiator) {
360
365
  return this.contain({
361
366
  entityId,
362
- level: 'full_autonomy',
363
- reason: 'manual_override',
367
+ level: "full_autonomy",
368
+ reason: "manual_override",
364
369
  explanation,
365
370
  initiator,
366
371
  });
@@ -378,12 +383,13 @@ export class ContainmentService {
378
383
  // Update condition progress
379
384
  for (const condition of state.deescalationConditions) {
380
385
  switch (condition.type) {
381
- case 'time_elapsed':
386
+ case "time_elapsed": {
382
387
  const targetMs = condition.target;
383
388
  const elapsed = now - appliedAt;
384
389
  condition.progress = Math.min(1, elapsed / targetMs);
385
390
  condition.met = elapsed >= targetMs;
386
391
  break;
392
+ }
387
393
  // Other conditions would be updated by external events
388
394
  }
389
395
  }
@@ -399,24 +405,28 @@ export class ContainmentService {
399
405
  checkAction(entityId, action, capability) {
400
406
  const state = this.states.get(entityId);
401
407
  if (!state) {
402
- return { allowed: true, restrictions: [], message: 'No containment in effect' };
408
+ return {
409
+ allowed: true,
410
+ restrictions: [],
411
+ message: "No containment in effect",
412
+ };
403
413
  }
404
414
  const level = state.level;
405
415
  // Halted blocks everything
406
- if (level === 'halted') {
416
+ if (level === "halted") {
407
417
  return {
408
418
  allowed: false,
409
419
  restrictions: state.restrictions,
410
- message: 'Entity is halted - all actions blocked',
420
+ message: "Entity is halted - all actions blocked",
411
421
  };
412
422
  }
413
423
  // Check each restriction
414
424
  const blockingRestrictions = [];
415
425
  for (const restriction of state.restrictions) {
416
- const matches = restriction.target === '*' ||
426
+ const matches = restriction.target === "*" ||
417
427
  restriction.target === action ||
418
428
  restriction.target === capability;
419
- if (matches && restriction.severity === 'hard') {
429
+ if (matches && restriction.severity === "hard") {
420
430
  blockingRestrictions.push(restriction);
421
431
  }
422
432
  }
@@ -424,29 +434,29 @@ export class ContainmentService {
424
434
  return {
425
435
  allowed: false,
426
436
  restrictions: blockingRestrictions,
427
- message: blockingRestrictions.map((r) => r.message).join('; '),
437
+ message: blockingRestrictions.map((r) => r.message).join("; "),
428
438
  };
429
439
  }
430
440
  // Special handling for human-in-loop
431
- if (level === 'human_in_loop') {
441
+ if (level === "human_in_loop") {
432
442
  return {
433
443
  allowed: false,
434
- restrictions: state.restrictions.filter((r) => r.type === 'approval_required'),
435
- message: 'Human approval required',
444
+ restrictions: state.restrictions.filter((r) => r.type === "approval_required"),
445
+ message: "Human approval required",
436
446
  };
437
447
  }
438
448
  // Simulation-only mode
439
- if (level === 'simulation_only') {
449
+ if (level === "simulation_only") {
440
450
  return {
441
451
  allowed: true, // Allow but flag as simulation
442
452
  restrictions: state.restrictions,
443
- message: 'Action will be simulated only',
453
+ message: "Action will be simulated only",
444
454
  };
445
455
  }
446
456
  return {
447
457
  allowed: true,
448
- restrictions: state.restrictions.filter((r) => r.severity === 'soft'),
449
- message: 'Action allowed',
458
+ restrictions: state.restrictions.filter((r) => r.severity === "soft"),
459
+ message: "Action allowed",
450
460
  };
451
461
  }
452
462
  /**
@@ -463,7 +473,8 @@ export class ContainmentService {
463
473
  if (triggered) {
464
474
  triggeredPolicies.push(policy);
465
475
  // Take highest containment level
466
- if (ContainmentLevelValue[policy.action.level] > ContainmentLevelValue[highestLevel]) {
476
+ if (ContainmentLevelValue[policy.action.level] >
477
+ ContainmentLevelValue[highestLevel]) {
467
478
  highestLevel = policy.action.level;
468
479
  }
469
480
  allRestrictions.push(...policy.action.restrictions);
@@ -482,15 +493,18 @@ export class ContainmentService {
482
493
  */
483
494
  evaluatePolicyTrigger(trigger, context) {
484
495
  switch (trigger.type) {
485
- case 'trust_threshold':
486
- const trustScore = context['trustScore'];
496
+ case "trust_threshold": {
497
+ const trustScore = context["trustScore"];
487
498
  return trustScore !== undefined && trustScore < trigger.threshold;
488
- case 'error_rate':
489
- const errorRate = context['errorRate'];
499
+ }
500
+ case "error_rate": {
501
+ const errorRate = context["errorRate"];
490
502
  return errorRate !== undefined && errorRate > trigger.threshold;
491
- case 'anomaly_score':
492
- const anomalyScore = context['anomalyScore'];
503
+ }
504
+ case "anomaly_score": {
505
+ const anomalyScore = context["anomalyScore"];
493
506
  return anomalyScore !== undefined && anomalyScore > trigger.threshold;
507
+ }
494
508
  default:
495
509
  return false;
496
510
  }
@@ -502,19 +516,19 @@ export class ContainmentService {
502
516
  const conditions = [...this.config.defaultDeescalationConditions];
503
517
  // Add level-specific conditions
504
518
  switch (request.level) {
505
- case 'halted':
519
+ case "halted":
506
520
  conditions.push({
507
- type: 'manual_approval',
508
- description: 'Manual approval from administrator required',
509
- target: 'admin_approval',
521
+ type: "manual_approval",
522
+ description: "Manual approval from administrator required",
523
+ target: "admin_approval",
510
524
  progress: 0,
511
525
  met: false,
512
526
  });
513
527
  break;
514
- case 'human_in_loop':
528
+ case "human_in_loop":
515
529
  conditions.push({
516
- type: 'behavior_normalized',
517
- description: '5 consecutive approved actions',
530
+ type: "behavior_normalized",
531
+ description: "5 consecutive approved actions",
518
532
  target: 5,
519
533
  progress: 0,
520
534
  met: false,
@@ -541,9 +555,9 @@ export class ContainmentService {
541
555
  additionalRestrictions: DEFAULT_LEVEL_RESTRICTIONS[level] ?? [],
542
556
  notifications: [
543
557
  {
544
- channel: level === 'halted' ? 'pagerduty' : 'slack',
545
- recipients: ['security-team'],
546
- severity: level === 'halted' ? 'critical' : 'warning',
558
+ channel: level === "halted" ? "pagerduty" : "slack",
559
+ recipients: ["security-team"],
560
+ severity: level === "halted" ? "critical" : "warning",
547
561
  template: `containment_escalation_${level}`,
548
562
  },
549
563
  ],
@@ -559,15 +573,15 @@ export class ContainmentService {
559
573
  return {
560
574
  entityId,
561
575
  level: this.config.defaultLevel,
562
- reason: 'precautionary',
563
- explanation: 'Default containment state',
576
+ reason: "precautionary",
577
+ explanation: "Default containment state",
564
578
  restrictions: DEFAULT_LEVEL_RESTRICTIONS[this.config.defaultLevel] ?? [],
565
579
  appliedAt: now,
566
580
  initiator: {
567
- type: 'system',
568
- id: 'containment-service',
569
- name: 'Containment Service',
570
- authority: 'system',
581
+ type: "system",
582
+ id: "containment-service",
583
+ name: "Containment Service",
584
+ authority: "system",
571
585
  },
572
586
  history: [],
573
587
  deescalationConditions: [],
@@ -625,7 +639,7 @@ export class ContainmentService {
625
639
  let escalationCount = 0;
626
640
  let deescalationCount = 0;
627
641
  for (const event of events) {
628
- if (event.type === 'level_changed') {
642
+ if (event.type === "level_changed") {
629
643
  const details = event.details;
630
644
  levelCounts[details.newLevel]++;
631
645
  reasonCounts[details.reason] = (reasonCounts[details.reason] ?? 0) + 1;
@@ -697,10 +711,10 @@ export function createContainmentService(config) {
697
711
  */
698
712
  export function createSystemInitiator(componentName) {
699
713
  return {
700
- type: 'system',
714
+ type: "system",
701
715
  id: componentName,
702
716
  name: componentName,
703
- authority: 'automated',
717
+ authority: "automated",
704
718
  };
705
719
  }
706
720
  /**
@@ -708,7 +722,7 @@ export function createSystemInitiator(componentName) {
708
722
  */
709
723
  export function createHumanInitiator(userId, userName, role) {
710
724
  return {
711
- type: 'human',
725
+ type: "human",
712
726
  id: userId,
713
727
  name: userName,
714
728
  authority: role,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/containment/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/containment/index.ts"],"names":[],"mappings":"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"}