@vorionsys/atsf-core 0.2.3 → 0.2.4

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