@dcyfr/ai 2.1.3 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. package/CHANGELOG.md +91 -0
  2. package/README.md +75 -10
  3. package/config/default.json +11 -5
  4. package/config/default.yaml +13 -5
  5. package/dist/.tsbuildinfo +1 -0
  6. package/dist/ai/agents/agent-loader.d.ts.map +1 -1
  7. package/dist/ai/agents/agent-loader.js +1 -0
  8. package/dist/ai/agents/agent-loader.js.map +1 -1
  9. package/dist/ai/agents/agent-registry.d.ts.map +1 -1
  10. package/dist/ai/agents/agent-registry.js.map +1 -1
  11. package/dist/ai/agents/agent-router.d.ts +3 -3
  12. package/dist/ai/agents/agent-router.d.ts.map +1 -1
  13. package/dist/ai/agents/agent-router.js +6 -7
  14. package/dist/ai/agents/agent-router.js.map +1 -1
  15. package/dist/ai/config/schema.js +3 -3
  16. package/dist/ai/config/schema.js.map +1 -1
  17. package/dist/ai/core/provider-registry.d.ts.map +1 -1
  18. package/dist/ai/core/provider-registry.js +47 -16
  19. package/dist/ai/core/provider-registry.js.map +1 -1
  20. package/dist/ai/core/telemetry-engine.d.ts.map +1 -1
  21. package/dist/ai/core/telemetry-engine.js +5 -3
  22. package/dist/ai/core/telemetry-engine.js.map +1 -1
  23. package/dist/ai/delegation/capability-bootstrap.js +1 -1
  24. package/dist/ai/delegation/capability-bootstrap.js.map +1 -1
  25. package/dist/ai/delegation/contract-manager.d.ts +54 -5
  26. package/dist/ai/delegation/contract-manager.d.ts.map +1 -1
  27. package/dist/ai/delegation/contract-manager.js +122 -7
  28. package/dist/ai/delegation/contract-manager.js.map +1 -1
  29. package/dist/ai/delegation/feature-flags.d.ts +1 -1
  30. package/dist/ai/delegation/feature-flags.d.ts.map +1 -1
  31. package/dist/ai/delegation/feature-flags.js +3 -1
  32. package/dist/ai/delegation/feature-flags.js.map +1 -1
  33. package/dist/ai/delegation/index.d.ts +1 -0
  34. package/dist/ai/delegation/index.d.ts.map +1 -1
  35. package/dist/ai/delegation/index.js +2 -0
  36. package/dist/ai/delegation/index.js.map +1 -1
  37. package/dist/ai/delegation/monitoring.d.ts.map +1 -1
  38. package/dist/ai/delegation/monitoring.js +1 -0
  39. package/dist/ai/delegation/monitoring.js.map +1 -1
  40. package/dist/ai/delegation/session-manager.d.ts +16 -1
  41. package/dist/ai/delegation/session-manager.d.ts.map +1 -1
  42. package/dist/ai/delegation/session-manager.js +10 -1
  43. package/dist/ai/delegation/session-manager.js.map +1 -1
  44. package/dist/ai/delegation/session-queue.d.ts.map +1 -1
  45. package/dist/ai/delegation/session-queue.js.map +1 -1
  46. package/dist/ai/examples/integration-demo.d.ts.map +1 -1
  47. package/dist/ai/examples/integration-demo.js +1 -0
  48. package/dist/ai/examples/integration-demo.js.map +1 -1
  49. package/dist/ai/index.d.ts +7 -0
  50. package/dist/ai/index.d.ts.map +1 -1
  51. package/dist/ai/index.js +8 -0
  52. package/dist/ai/index.js.map +1 -1
  53. package/dist/ai/mcp/mcp-registry.d.ts.map +1 -1
  54. package/dist/ai/mcp/mcp-registry.js +1 -1
  55. package/dist/ai/mcp/mcp-registry.js.map +1 -1
  56. package/dist/ai/mcp/servers/analytics/index.d.ts.map +1 -1
  57. package/dist/ai/mcp/servers/analytics/index.js +1 -0
  58. package/dist/ai/mcp/servers/analytics/index.js.map +1 -1
  59. package/dist/ai/mcp/servers/content-manager/index.d.ts.map +1 -1
  60. package/dist/ai/mcp/servers/delegation-monitor/index.js +27 -27
  61. package/dist/ai/mcp/servers/delegation-monitor/index.js.map +1 -1
  62. package/dist/ai/mcp/servers/design-tokens/index.js +1 -1
  63. package/dist/ai/mcp/servers/design-tokens/index.js.map +1 -1
  64. package/dist/ai/mcp/servers/promptintel/index.d.ts.map +1 -1
  65. package/dist/ai/mcp/servers/promptintel/index.js +2 -1
  66. package/dist/ai/mcp/servers/promptintel/index.js.map +1 -1
  67. package/dist/ai/mcp/servers/shared/rate-limiter.d.ts.map +1 -1
  68. package/dist/ai/mcp/servers/shared/rate-limiter.js +1 -0
  69. package/dist/ai/mcp/servers/shared/rate-limiter.js.map +1 -1
  70. package/dist/ai/mcp/servers/shared/redis-client.d.ts.map +1 -1
  71. package/dist/ai/mcp/servers/shared/redis-client.js +2 -0
  72. package/dist/ai/mcp/servers/shared/redis-client.js.map +1 -1
  73. package/dist/ai/mcp/servers/shared/utils.js +12 -18
  74. package/dist/ai/mcp/servers/shared/utils.js.map +1 -1
  75. package/dist/ai/memory/dcyfr-memory.d.ts.map +1 -1
  76. package/dist/ai/memory/dcyfr-memory.js +11 -1
  77. package/dist/ai/memory/dcyfr-memory.js.map +1 -1
  78. package/dist/ai/memory/file-memory-adapter.d.ts +103 -0
  79. package/dist/ai/memory/file-memory-adapter.d.ts.map +1 -0
  80. package/dist/ai/memory/file-memory-adapter.js +532 -0
  81. package/dist/ai/memory/file-memory-adapter.js.map +1 -0
  82. package/dist/ai/memory/index.d.ts +6 -0
  83. package/dist/ai/memory/index.d.ts.map +1 -1
  84. package/dist/ai/memory/index.js +6 -0
  85. package/dist/ai/memory/index.js.map +1 -1
  86. package/dist/ai/memory/mem0-client.d.ts.map +1 -1
  87. package/dist/ai/memory/mem0-client.js +5 -2
  88. package/dist/ai/memory/mem0-client.js.map +1 -1
  89. package/dist/ai/memory/sqlite-index.d.ts +89 -0
  90. package/dist/ai/memory/sqlite-index.d.ts.map +1 -0
  91. package/dist/ai/memory/sqlite-index.js +295 -0
  92. package/dist/ai/memory/sqlite-index.js.map +1 -0
  93. package/dist/ai/memory/types.d.ts.map +1 -1
  94. package/dist/ai/memory/types.js +1 -0
  95. package/dist/ai/memory/types.js.map +1 -1
  96. package/dist/ai/memory/working-memory-persistence.d.ts +79 -0
  97. package/dist/ai/memory/working-memory-persistence.d.ts.map +1 -0
  98. package/dist/ai/memory/working-memory-persistence.js +220 -0
  99. package/dist/ai/memory/working-memory-persistence.js.map +1 -0
  100. package/dist/ai/permissions/attenuation-engine.d.ts.map +1 -1
  101. package/dist/ai/permissions/attenuation-engine.js.map +1 -1
  102. package/dist/ai/reputation/reputation-engine.d.ts +4 -0
  103. package/dist/ai/reputation/reputation-engine.d.ts.map +1 -1
  104. package/dist/ai/reputation/reputation-engine.js +1 -0
  105. package/dist/ai/reputation/reputation-engine.js.map +1 -1
  106. package/dist/ai/runtime/agent-runtime.d.ts.map +1 -1
  107. package/dist/ai/runtime/agent-runtime.js +9 -5
  108. package/dist/ai/runtime/agent-runtime.js.map +1 -1
  109. package/dist/ai/src/batch-processor.d.ts +6 -6
  110. package/dist/ai/src/batch-processor.d.ts.map +1 -1
  111. package/dist/ai/src/batch-processor.js +11 -4
  112. package/dist/ai/src/batch-processor.js.map +1 -1
  113. package/dist/ai/src/capability-bootstrap.d.ts.map +1 -1
  114. package/dist/ai/src/capability-bootstrap.js +1 -0
  115. package/dist/ai/src/capability-bootstrap.js.map +1 -1
  116. package/dist/ai/src/capability-registry.js +1 -1
  117. package/dist/ai/src/capability-registry.js.map +1 -1
  118. package/dist/ai/src/cli/telemetry-dashboard.d.ts +0 -11
  119. package/dist/ai/src/cli/telemetry-dashboard.d.ts.map +1 -1
  120. package/dist/ai/src/cli/telemetry-dashboard.js +12 -6
  121. package/dist/ai/src/cli/telemetry-dashboard.js.map +1 -1
  122. package/dist/ai/src/compaction/context-compactor.d.ts +149 -0
  123. package/dist/ai/src/compaction/context-compactor.d.ts.map +1 -0
  124. package/dist/ai/src/compaction/context-compactor.js +302 -0
  125. package/dist/ai/src/compaction/context-compactor.js.map +1 -0
  126. package/dist/ai/src/compaction/index.d.ts +11 -0
  127. package/dist/ai/src/compaction/index.d.ts.map +1 -0
  128. package/dist/ai/src/compaction/index.js +11 -0
  129. package/dist/ai/src/compaction/index.js.map +1 -0
  130. package/dist/ai/src/compaction/memory-compaction.d.ts +138 -0
  131. package/dist/ai/src/compaction/memory-compaction.d.ts.map +1 -0
  132. package/dist/ai/src/compaction/memory-compaction.js +630 -0
  133. package/dist/ai/src/compaction/memory-compaction.js.map +1 -0
  134. package/dist/ai/src/container/agent-container-dispatcher.d.ts +154 -0
  135. package/dist/ai/src/container/agent-container-dispatcher.d.ts.map +1 -0
  136. package/dist/ai/src/container/agent-container-dispatcher.js +329 -0
  137. package/dist/ai/src/container/agent-container-dispatcher.js.map +1 -0
  138. package/dist/ai/src/container/backend-factory.d.ts +89 -0
  139. package/dist/ai/src/container/backend-factory.d.ts.map +1 -0
  140. package/dist/ai/src/container/backend-factory.js +169 -0
  141. package/dist/ai/src/container/backend-factory.js.map +1 -0
  142. package/dist/ai/src/container/index.d.ts +13 -0
  143. package/dist/ai/src/container/index.d.ts.map +1 -0
  144. package/dist/ai/src/container/index.js +13 -0
  145. package/dist/ai/src/container/index.js.map +1 -0
  146. package/dist/ai/src/container/kubernetes-backend.d.ts +23 -0
  147. package/dist/ai/src/container/kubernetes-backend.d.ts.map +1 -0
  148. package/dist/ai/src/container/kubernetes-backend.js +39 -0
  149. package/dist/ai/src/container/kubernetes-backend.js.map +1 -0
  150. package/dist/ai/src/container/local-docker-backend.d.ts +77 -0
  151. package/dist/ai/src/container/local-docker-backend.d.ts.map +1 -0
  152. package/dist/ai/src/container/local-docker-backend.js +362 -0
  153. package/dist/ai/src/container/local-docker-backend.js.map +1 -0
  154. package/dist/ai/src/container/remote-docker-backend.d.ts +35 -0
  155. package/dist/ai/src/container/remote-docker-backend.d.ts.map +1 -0
  156. package/dist/ai/src/container/remote-docker-backend.js +189 -0
  157. package/dist/ai/src/container/remote-docker-backend.js.map +1 -0
  158. package/dist/ai/src/container/types.d.ts +270 -0
  159. package/dist/ai/src/container/types.d.ts.map +1 -0
  160. package/dist/ai/src/container/types.js +86 -0
  161. package/dist/ai/src/container/types.js.map +1 -0
  162. package/dist/ai/src/delegation/feature-flags.d.ts.map +1 -1
  163. package/dist/ai/src/delegation/feature-flags.js +1 -0
  164. package/dist/ai/src/delegation/feature-flags.js.map +1 -1
  165. package/dist/ai/src/delegation/liability-firebreak.d.ts.map +1 -1
  166. package/dist/ai/src/delegation/liability-firebreak.js +1 -0
  167. package/dist/ai/src/delegation/liability-firebreak.js.map +1 -1
  168. package/dist/ai/src/delegation/security-threat-model.d.ts.map +1 -1
  169. package/dist/ai/src/delegation/security-threat-model.js +1 -1
  170. package/dist/ai/src/delegation/security-threat-model.js.map +1 -1
  171. package/dist/ai/src/delegation-capability-integration.d.ts +1 -1
  172. package/dist/ai/src/delegation-capability-integration.d.ts.map +1 -1
  173. package/dist/ai/src/delegation-capability-integration.js +2 -7
  174. package/dist/ai/src/delegation-capability-integration.js.map +1 -1
  175. package/dist/ai/src/end-to-end-workflow-orchestrator.d.ts.map +1 -1
  176. package/dist/ai/src/end-to-end-workflow-orchestrator.js +2 -1
  177. package/dist/ai/src/end-to-end-workflow-orchestrator.js.map +1 -1
  178. package/dist/ai/src/enhanced-capability-detection.d.ts +1 -1
  179. package/dist/ai/src/enhanced-capability-detection.d.ts.map +1 -1
  180. package/dist/ai/src/enhanced-capability-detection.js +1 -1
  181. package/dist/ai/src/enhanced-capability-detection.js.map +1 -1
  182. package/dist/ai/src/gateway/index.d.ts +6 -0
  183. package/dist/ai/src/gateway/index.d.ts.map +1 -0
  184. package/dist/ai/src/gateway/index.js +6 -0
  185. package/dist/ai/src/gateway/index.js.map +1 -0
  186. package/dist/ai/src/gateway/message-gateway.d.ts +296 -0
  187. package/dist/ai/src/gateway/message-gateway.d.ts.map +1 -0
  188. package/dist/ai/src/gateway/message-gateway.js +415 -0
  189. package/dist/ai/src/gateway/message-gateway.js.map +1 -0
  190. package/dist/ai/src/intelligent-cache-manager.d.ts.map +1 -1
  191. package/dist/ai/src/intelligent-cache-manager.js +2 -1
  192. package/dist/ai/src/intelligent-cache-manager.js.map +1 -1
  193. package/dist/ai/src/mcp/index.d.ts +10 -0
  194. package/dist/ai/src/mcp/index.d.ts.map +1 -0
  195. package/dist/ai/src/mcp/index.js +10 -0
  196. package/dist/ai/src/mcp/index.js.map +1 -0
  197. package/dist/ai/src/mcp/mcp-tool-bridge.d.ts +186 -0
  198. package/dist/ai/src/mcp/mcp-tool-bridge.d.ts.map +1 -0
  199. package/dist/ai/src/mcp/mcp-tool-bridge.js +292 -0
  200. package/dist/ai/src/mcp/mcp-tool-bridge.js.map +1 -0
  201. package/dist/ai/src/mcp-auto-configuration.d.ts.map +1 -1
  202. package/dist/ai/src/mcp-auto-configuration.js +2 -1
  203. package/dist/ai/src/mcp-auto-configuration.js.map +1 -1
  204. package/dist/ai/src/performance-profiler.d.ts.map +1 -1
  205. package/dist/ai/src/performance-profiler.js +1 -0
  206. package/dist/ai/src/performance-profiler.js.map +1 -1
  207. package/dist/ai/src/plugins/anomaly/anomaly-detector.d.ts +58 -0
  208. package/dist/ai/src/plugins/anomaly/anomaly-detector.d.ts.map +1 -0
  209. package/dist/ai/src/plugins/anomaly/anomaly-detector.js +101 -0
  210. package/dist/ai/src/plugins/anomaly/anomaly-detector.js.map +1 -0
  211. package/dist/ai/src/plugins/anomaly/anomaly-monitor.d.ts +145 -0
  212. package/dist/ai/src/plugins/anomaly/anomaly-monitor.d.ts.map +1 -0
  213. package/dist/ai/src/plugins/anomaly/anomaly-monitor.js +245 -0
  214. package/dist/ai/src/plugins/anomaly/anomaly-monitor.js.map +1 -0
  215. package/dist/ai/src/plugins/anomaly/behavior-baseline.d.ts +79 -0
  216. package/dist/ai/src/plugins/anomaly/behavior-baseline.d.ts.map +1 -0
  217. package/dist/ai/src/plugins/anomaly/behavior-baseline.js +161 -0
  218. package/dist/ai/src/plugins/anomaly/behavior-baseline.js.map +1 -0
  219. package/dist/ai/src/plugins/anomaly/index.d.ts +15 -0
  220. package/dist/ai/src/plugins/anomaly/index.d.ts.map +1 -0
  221. package/dist/ai/src/plugins/anomaly/index.js +12 -0
  222. package/dist/ai/src/plugins/anomaly/index.js.map +1 -0
  223. package/dist/ai/src/plugins/anomaly/types.d.ts +150 -0
  224. package/dist/ai/src/plugins/anomaly/types.d.ts.map +1 -0
  225. package/dist/ai/src/plugins/anomaly/types.js +68 -0
  226. package/dist/ai/src/plugins/anomaly/types.js.map +1 -0
  227. package/dist/ai/src/plugins/certification/certification-manager.d.ts +102 -0
  228. package/dist/ai/src/plugins/certification/certification-manager.d.ts.map +1 -0
  229. package/dist/ai/src/plugins/certification/certification-manager.js +321 -0
  230. package/dist/ai/src/plugins/certification/certification-manager.js.map +1 -0
  231. package/dist/ai/src/plugins/certification/index.d.ts +12 -0
  232. package/dist/ai/src/plugins/certification/index.d.ts.map +1 -0
  233. package/dist/ai/src/plugins/certification/index.js +10 -0
  234. package/dist/ai/src/plugins/certification/index.js.map +1 -0
  235. package/dist/ai/src/plugins/certification/types.d.ts +128 -0
  236. package/dist/ai/src/plugins/certification/types.d.ts.map +1 -0
  237. package/dist/ai/src/plugins/certification/types.js +201 -0
  238. package/dist/ai/src/plugins/certification/types.js.map +1 -0
  239. package/dist/ai/src/plugins/escalation/escalation-trigger.d.ts +155 -0
  240. package/dist/ai/src/plugins/escalation/escalation-trigger.d.ts.map +1 -0
  241. package/dist/ai/src/plugins/escalation/escalation-trigger.js +183 -0
  242. package/dist/ai/src/plugins/escalation/escalation-trigger.js.map +1 -0
  243. package/dist/ai/src/plugins/escalation/index.d.ts +11 -0
  244. package/dist/ai/src/plugins/escalation/index.d.ts.map +1 -0
  245. package/dist/ai/src/plugins/escalation/index.js +10 -0
  246. package/dist/ai/src/plugins/escalation/index.js.map +1 -0
  247. package/dist/ai/src/plugins/incidents/incident-response-manager.d.ts +165 -0
  248. package/dist/ai/src/plugins/incidents/incident-response-manager.d.ts.map +1 -0
  249. package/dist/ai/src/plugins/incidents/incident-response-manager.js +462 -0
  250. package/dist/ai/src/plugins/incidents/incident-response-manager.js.map +1 -0
  251. package/dist/ai/src/plugins/incidents/index.d.ts +8 -0
  252. package/dist/ai/src/plugins/incidents/index.d.ts.map +1 -0
  253. package/dist/ai/src/plugins/incidents/index.js +7 -0
  254. package/dist/ai/src/plugins/incidents/index.js.map +1 -0
  255. package/dist/ai/src/plugins/incidents/types.d.ts +183 -0
  256. package/dist/ai/src/plugins/incidents/types.d.ts.map +1 -0
  257. package/dist/ai/src/plugins/incidents/types.js +55 -0
  258. package/dist/ai/src/plugins/incidents/types.js.map +1 -0
  259. package/dist/ai/src/plugins/permissions/index.d.ts +17 -0
  260. package/dist/ai/src/plugins/permissions/index.d.ts.map +1 -0
  261. package/dist/ai/src/plugins/permissions/index.js +14 -0
  262. package/dist/ai/src/plugins/permissions/index.js.map +1 -0
  263. package/dist/ai/src/plugins/permissions/permission-attenuator.d.ts +29 -0
  264. package/dist/ai/src/plugins/permissions/permission-attenuator.d.ts.map +1 -0
  265. package/dist/ai/src/plugins/permissions/permission-attenuator.js +190 -0
  266. package/dist/ai/src/plugins/permissions/permission-attenuator.js.map +1 -0
  267. package/dist/ai/src/plugins/permissions/permission-audit-logger.d.ts +72 -0
  268. package/dist/ai/src/plugins/permissions/permission-audit-logger.d.ts.map +1 -0
  269. package/dist/ai/src/plugins/permissions/permission-audit-logger.js +176 -0
  270. package/dist/ai/src/plugins/permissions/permission-audit-logger.js.map +1 -0
  271. package/dist/ai/src/plugins/permissions/permission-enforcer.d.ts +99 -0
  272. package/dist/ai/src/plugins/permissions/permission-enforcer.d.ts.map +1 -0
  273. package/dist/ai/src/plugins/permissions/permission-enforcer.js +151 -0
  274. package/dist/ai/src/plugins/permissions/permission-enforcer.js.map +1 -0
  275. package/dist/ai/src/plugins/permissions/plugin-permission-validator.d.ts +39 -0
  276. package/dist/ai/src/plugins/permissions/plugin-permission-validator.d.ts.map +1 -0
  277. package/dist/ai/src/plugins/permissions/plugin-permission-validator.js +296 -0
  278. package/dist/ai/src/plugins/permissions/plugin-permission-validator.js.map +1 -0
  279. package/dist/ai/src/plugins/permissions/types.d.ts +116 -0
  280. package/dist/ai/src/plugins/permissions/types.d.ts.map +1 -0
  281. package/dist/ai/src/plugins/permissions/types.js +36 -0
  282. package/dist/ai/src/plugins/permissions/types.js.map +1 -0
  283. package/dist/ai/src/plugins/reputation/index.d.ts +9 -0
  284. package/dist/ai/src/plugins/reputation/index.d.ts.map +1 -0
  285. package/dist/ai/src/plugins/reputation/index.js +8 -0
  286. package/dist/ai/src/plugins/reputation/index.js.map +1 -0
  287. package/dist/ai/src/plugins/reputation/plugin-reputation-db.d.ts +29 -0
  288. package/dist/ai/src/plugins/reputation/plugin-reputation-db.d.ts.map +1 -0
  289. package/dist/ai/src/plugins/reputation/plugin-reputation-db.js +120 -0
  290. package/dist/ai/src/plugins/reputation/plugin-reputation-db.js.map +1 -0
  291. package/dist/ai/src/plugins/reputation/plugin-reputation-engine.d.ts +115 -0
  292. package/dist/ai/src/plugins/reputation/plugin-reputation-engine.d.ts.map +1 -0
  293. package/dist/ai/src/plugins/reputation/plugin-reputation-engine.js +528 -0
  294. package/dist/ai/src/plugins/reputation/plugin-reputation-engine.js.map +1 -0
  295. package/dist/ai/src/plugins/reputation/types.d.ts +149 -0
  296. package/dist/ai/src/plugins/reputation/types.d.ts.map +1 -0
  297. package/dist/ai/src/plugins/reputation/types.js +14 -0
  298. package/dist/ai/src/plugins/reputation/types.js.map +1 -0
  299. package/dist/ai/src/plugins/reviews/index.d.ts +11 -0
  300. package/dist/ai/src/plugins/reviews/index.d.ts.map +1 -0
  301. package/dist/ai/src/plugins/reviews/index.js +10 -0
  302. package/dist/ai/src/plugins/reviews/index.js.map +1 -0
  303. package/dist/ai/src/plugins/reviews/plugin-rating-aggregator.d.ts +116 -0
  304. package/dist/ai/src/plugins/reviews/plugin-rating-aggregator.d.ts.map +1 -0
  305. package/dist/ai/src/plugins/reviews/plugin-rating-aggregator.js +282 -0
  306. package/dist/ai/src/plugins/reviews/plugin-rating-aggregator.js.map +1 -0
  307. package/dist/ai/src/plugins/reviews/types.d.ts +113 -0
  308. package/dist/ai/src/plugins/reviews/types.d.ts.map +1 -0
  309. package/dist/ai/src/plugins/reviews/types.js +55 -0
  310. package/dist/ai/src/plugins/reviews/types.js.map +1 -0
  311. package/dist/ai/src/plugins/runtime/docker-plugin-runner.d.ts +77 -0
  312. package/dist/ai/src/plugins/runtime/docker-plugin-runner.d.ts.map +1 -0
  313. package/dist/ai/src/plugins/runtime/docker-plugin-runner.js +248 -0
  314. package/dist/ai/src/plugins/runtime/docker-plugin-runner.js.map +1 -0
  315. package/dist/ai/src/plugins/runtime/gvisor-plugin-runner.d.ts +99 -0
  316. package/dist/ai/src/plugins/runtime/gvisor-plugin-runner.d.ts.map +1 -0
  317. package/dist/ai/src/plugins/runtime/gvisor-plugin-runner.js +158 -0
  318. package/dist/ai/src/plugins/runtime/gvisor-plugin-runner.js.map +1 -0
  319. package/dist/ai/src/plugins/runtime/index.d.ts +13 -0
  320. package/dist/ai/src/plugins/runtime/index.d.ts.map +1 -0
  321. package/dist/ai/src/plugins/runtime/index.js +11 -0
  322. package/dist/ai/src/plugins/runtime/index.js.map +1 -0
  323. package/dist/ai/src/plugins/runtime/types.d.ts +143 -0
  324. package/dist/ai/src/plugins/runtime/types.d.ts.map +1 -0
  325. package/dist/ai/src/plugins/runtime/types.js +19 -0
  326. package/dist/ai/src/plugins/runtime/types.js.map +1 -0
  327. package/dist/ai/src/plugins/runtime/wasm-plugin-runner.d.ts +104 -0
  328. package/dist/ai/src/plugins/runtime/wasm-plugin-runner.d.ts.map +1 -0
  329. package/dist/ai/src/plugins/runtime/wasm-plugin-runner.js +307 -0
  330. package/dist/ai/src/plugins/runtime/wasm-plugin-runner.js.map +1 -0
  331. package/dist/ai/src/plugins/security/index.d.ts +24 -0
  332. package/dist/ai/src/plugins/security/index.d.ts.map +1 -0
  333. package/dist/ai/src/plugins/security/index.js +23 -0
  334. package/dist/ai/src/plugins/security/index.js.map +1 -0
  335. package/dist/ai/src/plugins/security/license-checker.d.ts +26 -0
  336. package/dist/ai/src/plugins/security/license-checker.d.ts.map +1 -0
  337. package/dist/ai/src/plugins/security/license-checker.js +137 -0
  338. package/dist/ai/src/plugins/security/license-checker.js.map +1 -0
  339. package/dist/ai/src/plugins/security/malware-scanner.d.ts +19 -0
  340. package/dist/ai/src/plugins/security/malware-scanner.d.ts.map +1 -0
  341. package/dist/ai/src/plugins/security/malware-scanner.js +121 -0
  342. package/dist/ai/src/plugins/security/malware-scanner.js.map +1 -0
  343. package/dist/ai/src/plugins/security/plugin-security-scanner.d.ts +36 -0
  344. package/dist/ai/src/plugins/security/plugin-security-scanner.d.ts.map +1 -0
  345. package/dist/ai/src/plugins/security/plugin-security-scanner.js +160 -0
  346. package/dist/ai/src/plugins/security/plugin-security-scanner.js.map +1 -0
  347. package/dist/ai/src/plugins/security/sbom-generator.d.ts +23 -0
  348. package/dist/ai/src/plugins/security/sbom-generator.d.ts.map +1 -0
  349. package/dist/ai/src/plugins/security/sbom-generator.js +115 -0
  350. package/dist/ai/src/plugins/security/sbom-generator.js.map +1 -0
  351. package/dist/ai/src/plugins/security/secret-detector.d.ts +19 -0
  352. package/dist/ai/src/plugins/security/secret-detector.d.ts.map +1 -0
  353. package/dist/ai/src/plugins/security/secret-detector.js +204 -0
  354. package/dist/ai/src/plugins/security/secret-detector.js.map +1 -0
  355. package/dist/ai/src/plugins/security/signature-verifier.d.ts +21 -0
  356. package/dist/ai/src/plugins/security/signature-verifier.d.ts.map +1 -0
  357. package/dist/ai/src/plugins/security/signature-verifier.js +75 -0
  358. package/dist/ai/src/plugins/security/signature-verifier.js.map +1 -0
  359. package/dist/ai/src/plugins/security/sonarcloud-client.d.ts +20 -0
  360. package/dist/ai/src/plugins/security/sonarcloud-client.d.ts.map +1 -0
  361. package/dist/ai/src/plugins/security/sonarcloud-client.js +106 -0
  362. package/dist/ai/src/plugins/security/sonarcloud-client.js.map +1 -0
  363. package/dist/ai/src/plugins/security/trust-score.d.ts +58 -0
  364. package/dist/ai/src/plugins/security/trust-score.d.ts.map +1 -0
  365. package/dist/ai/src/plugins/security/trust-score.js +173 -0
  366. package/dist/ai/src/plugins/security/trust-score.js.map +1 -0
  367. package/dist/ai/src/plugins/security/types.d.ts +220 -0
  368. package/dist/ai/src/plugins/security/types.d.ts.map +1 -0
  369. package/dist/ai/src/plugins/security/types.js +12 -0
  370. package/dist/ai/src/plugins/security/types.js.map +1 -0
  371. package/dist/ai/src/plugins/security/vulnerability-scanner.d.ts +22 -0
  372. package/dist/ai/src/plugins/security/vulnerability-scanner.d.ts.map +1 -0
  373. package/dist/ai/src/plugins/security/vulnerability-scanner.js +109 -0
  374. package/dist/ai/src/plugins/security/vulnerability-scanner.js.map +1 -0
  375. package/dist/ai/src/plugins/tlp/index.d.ts +17 -0
  376. package/dist/ai/src/plugins/tlp/index.d.ts.map +1 -0
  377. package/dist/ai/src/plugins/tlp/index.js +17 -0
  378. package/dist/ai/src/plugins/tlp/index.js.map +1 -0
  379. package/dist/ai/src/plugins/tlp/tlp-classifier.d.ts +55 -0
  380. package/dist/ai/src/plugins/tlp/tlp-classifier.d.ts.map +1 -0
  381. package/dist/ai/src/plugins/tlp/tlp-classifier.js +232 -0
  382. package/dist/ai/src/plugins/tlp/tlp-classifier.js.map +1 -0
  383. package/dist/ai/src/plugins/tlp/tlp-validator.d.ts +97 -0
  384. package/dist/ai/src/plugins/tlp/tlp-validator.d.ts.map +1 -0
  385. package/dist/ai/src/plugins/tlp/tlp-validator.js +120 -0
  386. package/dist/ai/src/plugins/tlp/tlp-validator.js.map +1 -0
  387. package/dist/ai/src/plugins/tlp/types.d.ts +84 -0
  388. package/dist/ai/src/plugins/tlp/types.d.ts.map +1 -0
  389. package/dist/ai/src/plugins/tlp/types.js +20 -0
  390. package/dist/ai/src/plugins/tlp/types.js.map +1 -0
  391. package/dist/ai/src/resource-monitor.d.ts +1 -1
  392. package/dist/ai/src/resource-monitor.d.ts.map +1 -1
  393. package/dist/ai/src/resource-monitor.js +4 -3
  394. package/dist/ai/src/resource-monitor.js.map +1 -1
  395. package/dist/ai/src/runtime/agent-runtime.d.ts +77 -0
  396. package/dist/ai/src/runtime/agent-runtime.d.ts.map +1 -1
  397. package/dist/ai/src/runtime/agent-runtime.js +138 -2
  398. package/dist/ai/src/runtime/agent-runtime.js.map +1 -1
  399. package/dist/ai/src/scheduler/agent-scheduler.d.ts +365 -0
  400. package/dist/ai/src/scheduler/agent-scheduler.d.ts.map +1 -0
  401. package/dist/ai/src/scheduler/agent-scheduler.js +610 -0
  402. package/dist/ai/src/scheduler/agent-scheduler.js.map +1 -0
  403. package/dist/ai/src/scheduler/index.d.ts +6 -0
  404. package/dist/ai/src/scheduler/index.d.ts.map +1 -0
  405. package/dist/ai/src/scheduler/index.js +6 -0
  406. package/dist/ai/src/scheduler/index.js.map +1 -0
  407. package/dist/ai/src/session/index.d.ts +6 -0
  408. package/dist/ai/src/session/index.d.ts.map +1 -0
  409. package/dist/ai/src/session/index.js +6 -0
  410. package/dist/ai/src/session/index.js.map +1 -0
  411. package/dist/ai/src/session/session-manager.d.ts +380 -0
  412. package/dist/ai/src/session/session-manager.d.ts.map +1 -0
  413. package/dist/ai/src/session/session-manager.js +625 -0
  414. package/dist/ai/src/session/session-manager.js.map +1 -0
  415. package/dist/ai/src/skills/index.d.ts +10 -0
  416. package/dist/ai/src/skills/index.d.ts.map +1 -0
  417. package/dist/ai/src/skills/index.js +10 -0
  418. package/dist/ai/src/skills/index.js.map +1 -0
  419. package/dist/ai/src/skills/skill-registry.d.ts +181 -0
  420. package/dist/ai/src/skills/skill-registry.d.ts.map +1 -0
  421. package/dist/ai/src/skills/skill-registry.js +465 -0
  422. package/dist/ai/src/skills/skill-registry.js.map +1 -0
  423. package/dist/ai/src/telemetry/delegation-telemetry.d.ts.map +1 -1
  424. package/dist/ai/src/telemetry/delegation-telemetry.js +1 -0
  425. package/dist/ai/src/telemetry/delegation-telemetry.js.map +1 -1
  426. package/dist/ai/src/telemetry/runtime-telemetry-integration.d.ts +1 -1
  427. package/dist/ai/src/telemetry/runtime-telemetry-integration.d.ts.map +1 -1
  428. package/dist/ai/src/telemetry/runtime-telemetry-integration.js +3 -2
  429. package/dist/ai/src/telemetry/runtime-telemetry-integration.js.map +1 -1
  430. package/dist/ai/src/telemetry/telemetry-utils.d.ts.map +1 -1
  431. package/dist/ai/src/telemetry/telemetry-utils.js +1 -0
  432. package/dist/ai/src/telemetry/telemetry-utils.js.map +1 -1
  433. package/dist/ai/src/types/agent-capabilities.d.ts.map +1 -1
  434. package/dist/ai/src/types/agent-capabilities.js +1 -0
  435. package/dist/ai/src/types/agent-capabilities.js.map +1 -1
  436. package/dist/ai/src/types/delegation-contracts.d.ts +92 -0
  437. package/dist/ai/src/types/delegation-contracts.d.ts.map +1 -1
  438. package/dist/ai/src/types/delegation-contracts.js.map +1 -1
  439. package/dist/ai/src/validation-pipeline-integration.d.ts.map +1 -1
  440. package/dist/ai/src/validation-pipeline-integration.js +1 -2
  441. package/dist/ai/src/validation-pipeline-integration.js.map +1 -1
  442. package/dist/ai/src/verification/multi-modal-formatters.d.ts +1 -1
  443. package/dist/ai/src/verification/multi-modal-formatters.d.ts.map +1 -1
  444. package/dist/ai/src/verification/multi-modal-formatters.js +3 -2
  445. package/dist/ai/src/verification/multi-modal-formatters.js.map +1 -1
  446. package/dist/ai/src/verification/output-formatter.d.ts +1 -1
  447. package/dist/ai/src/verification/output-formatter.d.ts.map +1 -1
  448. package/dist/ai/src/verification/output-formatter.js +2 -1
  449. package/dist/ai/src/verification/output-formatter.js.map +1 -1
  450. package/dist/ai/src/verification/parser-integration.d.ts.map +1 -1
  451. package/dist/ai/src/verification/parser-integration.js.map +1 -1
  452. package/dist/ai/types/agent-capabilities.d.ts +7 -0
  453. package/dist/ai/types/agent-capabilities.d.ts.map +1 -1
  454. package/dist/ai/types/delegation-contracts.d.ts +75 -0
  455. package/dist/ai/types/delegation-contracts.d.ts.map +1 -1
  456. package/dist/ai/types/index.d.ts +3 -3
  457. package/dist/ai/types/index.d.ts.map +1 -1
  458. package/dist/ai/types/index.js.map +1 -1
  459. package/dist/ai/types/permission-tokens.d.ts +23 -0
  460. package/dist/ai/types/permission-tokens.d.ts.map +1 -1
  461. package/dist/ai/types/permission-tokens.js +65 -1
  462. package/dist/ai/types/permission-tokens.js.map +1 -1
  463. package/dist/ai/validation/validation-framework.d.ts.map +1 -1
  464. package/dist/ai/verification/policy-framework.d.ts +1 -1
  465. package/dist/ai/verification/policy-framework.d.ts.map +1 -1
  466. package/dist/ai/verification/policy-framework.js +4 -4
  467. package/dist/ai/verification/policy-framework.js.map +1 -1
  468. package/package.json +38 -9
@@ -0,0 +1,625 @@
1
+ /**
2
+ * DCYFR Autonomous Agent Session Manager
3
+ * TLP:AMBER - Internal Use Only
4
+ *
5
+ * Manages autonomous agent sessions with:
6
+ * - Isolated DCYFRMemory instances per session (namespaced storage)
7
+ * - Trust-level tool policies (full/sandboxed/readonly)
8
+ * - Session lifecycle metadata (createdAt, lastActiveAt, messageCount, etc.)
9
+ * - Delegation security middleware integration (TLP + rate limiting)
10
+ * - Shared knowledge base overlay (read-only memory merged at query time)
11
+ *
12
+ * This is distinct from the delegation SessionManager (packages/ai/delegation/session-manager.ts)
13
+ * which tracks delegation contract lifecycle. This module manages autonomous agent
14
+ * runtime sessions — where agents run independently with memory, tools, and context.
15
+ *
16
+ * @module session/session-manager
17
+ * @version 1.0.0
18
+ * @date 2026-03-01
19
+ */
20
+ import { EventEmitter } from 'events';
21
+ import { randomUUID } from 'crypto';
22
+ /**
23
+ * Memory overlay that merges session-specific and shared knowledge results
24
+ */
25
+ export class OverlayMemory {
26
+ sessionMemory;
27
+ sharedMemory;
28
+ sharedNamespace;
29
+ constructor(sessionMemory, sharedMemory, sharedNamespace = 'shared') {
30
+ this.sessionMemory = sessionMemory;
31
+ this.sharedMemory = sharedMemory;
32
+ this.sharedNamespace = sharedNamespace;
33
+ }
34
+ /**
35
+ * Search both session and shared memory, deduplicate by content, merge results
36
+ */
37
+ async searchUserMemories(userId, query, limit = 3) {
38
+ const [sessionResults, sharedResults] = await Promise.all([
39
+ this.sessionMemory.searchUserMemories(userId, query, limit),
40
+ this.sharedMemory.searchUserMemories(this.sharedNamespace, query, limit),
41
+ ]);
42
+ // Merge and deduplicate — session results take priority
43
+ const seen = new Set();
44
+ const merged = [];
45
+ for (const result of sessionResults) {
46
+ seen.add(result.content);
47
+ merged.push(result);
48
+ }
49
+ for (const result of sharedResults) {
50
+ if (!seen.has(result.content)) {
51
+ seen.add(result.content);
52
+ merged.push({ ...result, metadata: { ...result.metadata, source: 'shared' } });
53
+ }
54
+ }
55
+ // Sort by relevance descending, take top limit
56
+ return merged
57
+ .sort((a, b) => b.relevance - a.relevance)
58
+ .slice(0, limit);
59
+ }
60
+ /**
61
+ * Search agent memories across session and shared
62
+ */
63
+ async searchAgentMemories(agentId, query, limit = 3) {
64
+ const [sessionResults, sharedResults] = await Promise.all([
65
+ this.sessionMemory.searchAgentMemories(agentId, query, limit),
66
+ this.sharedMemory.searchAgentMemories(this.sharedNamespace, query, limit),
67
+ ]);
68
+ const seen = new Set();
69
+ const merged = [];
70
+ for (const result of sessionResults) {
71
+ seen.add(result.content);
72
+ merged.push(result);
73
+ }
74
+ for (const result of sharedResults) {
75
+ if (!seen.has(result.content)) {
76
+ seen.add(result.content);
77
+ merged.push({ ...result, metadata: { ...result.metadata, source: 'shared' } });
78
+ }
79
+ }
80
+ return merged
81
+ .sort((a, b) => b.relevance - a.relevance)
82
+ .slice(0, limit);
83
+ }
84
+ /**
85
+ * Session context merges session + shared
86
+ */
87
+ async getSessionContext(sessionId) {
88
+ const [sessionCtx, sharedCtx] = await Promise.all([
89
+ this.sessionMemory.getSessionContext(sessionId),
90
+ this.sharedMemory.getSessionContext(this.sharedNamespace),
91
+ ]);
92
+ const parts = [];
93
+ if (sessionCtx)
94
+ parts.push(sessionCtx);
95
+ if (sharedCtx)
96
+ parts.push(`[Shared Knowledge]\n${sharedCtx}`);
97
+ return parts.join('\n\n');
98
+ }
99
+ /** Writes go to session memory only */
100
+ async addUserMemory(userId, message, context) {
101
+ return this.sessionMemory.addUserMemory(userId, message, context);
102
+ }
103
+ async addAgentMemory(agentId, sessionId, state) {
104
+ return this.sessionMemory.addAgentMemory(agentId, sessionId, state);
105
+ }
106
+ async addSessionMemory(sessionId, message, ttl) {
107
+ return this.sessionMemory.addSessionMemory(sessionId, message, ttl);
108
+ }
109
+ async getUserMemories(userId, topic) {
110
+ return this.sessionMemory.getUserMemories(userId, topic);
111
+ }
112
+ async getAgentState(agentId, sessionId) {
113
+ return this.sessionMemory.getAgentState(agentId, sessionId);
114
+ }
115
+ async deleteUserMemories(userId) {
116
+ return this.sessionMemory.deleteUserMemories(userId);
117
+ }
118
+ async deleteSessionMemories(sessionId) {
119
+ return this.sessionMemory.deleteSessionMemories(sessionId);
120
+ }
121
+ /** Get the underlying session memory */
122
+ getSessionMemory() {
123
+ return this.sessionMemory;
124
+ }
125
+ /** Get the underlying shared memory */
126
+ getSharedMemory() {
127
+ return this.sharedMemory;
128
+ }
129
+ }
130
+ // ─────────────────────────────────────────────────────────────────────────────
131
+ // Trust Level → Tool Policy mapping
132
+ // ─────────────────────────────────────────────────────────────────────────────
133
+ /**
134
+ * Map trust level to tool policy
135
+ */
136
+ export function trustLevelToPolicy(trustLevel, sandboxedWriteAllowlist) {
137
+ switch (trustLevel) {
138
+ case 'full':
139
+ return { mode: 'allow_all' };
140
+ case 'sandboxed':
141
+ return {
142
+ mode: 'allowlist',
143
+ allowlist: sandboxedWriteAllowlist ?? [],
144
+ };
145
+ case 'readonly':
146
+ return { mode: 'readonly' };
147
+ default:
148
+ return { mode: 'readonly' };
149
+ }
150
+ }
151
+ /**
152
+ * Check if a tool is allowed by the given policy
153
+ */
154
+ export function isToolAllowed(tool, policy) {
155
+ // Denylist always blocks
156
+ if (policy.denylist?.includes(tool.name)) {
157
+ return false;
158
+ }
159
+ switch (policy.mode) {
160
+ case 'allow_all':
161
+ return true;
162
+ case 'readonly':
163
+ return !tool.isWrite;
164
+ case 'allowlist':
165
+ // Read tools always allowed; write tools only if explicitly allowlisted
166
+ if (!tool.isWrite)
167
+ return true;
168
+ return policy.allowlist?.includes(tool.name) ?? false;
169
+ default:
170
+ return false;
171
+ }
172
+ }
173
+ /**
174
+ * Error thrown when a tool execution violates trust level policy
175
+ */
176
+ export class TrustLevelViolation extends Error {
177
+ toolName;
178
+ trustLevel;
179
+ policyMode;
180
+ constructor(toolName, trustLevel, policyMode) {
181
+ super(`Tool '${toolName}' blocked by trust level '${trustLevel}' ` +
182
+ `(policy: ${policyMode}). Write access denied.`);
183
+ this.name = 'TrustLevelViolation';
184
+ this.toolName = toolName;
185
+ this.trustLevel = trustLevel;
186
+ this.policyMode = policyMode;
187
+ }
188
+ }
189
+ /**
190
+ * Autonomous Agent Session Manager
191
+ *
192
+ * Manages sessions for autonomous agents with isolated memory, trust-level
193
+ * tool policies, and security middleware integration.
194
+ *
195
+ * Emits:
196
+ * - `session:created` — New session created
197
+ * - `session:suspended` — Session suspended
198
+ * - `session:resumed` — Session resumed from suspension
199
+ * - `session:destroyed` — Session destroyed and cleaned up
200
+ * - `session:active` — Session had activity (touch)
201
+ * - `session:expired` — Session expired by TTL
202
+ * - `tool:blocked` — Tool execution blocked by policy
203
+ */
204
+ export class SessionManager extends EventEmitter {
205
+ sessions = new Map();
206
+ config;
207
+ securityMiddleware;
208
+ sharedKnowledgeBase;
209
+ expiryTimer = null;
210
+ constructor(config = {}) {
211
+ super();
212
+ this.config = {
213
+ defaultTrustLevel: config.defaultTrustLevel ?? 'sandboxed',
214
+ defaultTtlMs: config.defaultTtlMs ?? 0,
215
+ maxSessions: config.maxSessions ?? 0,
216
+ };
217
+ this.securityMiddleware = config.securityMiddleware ?? [];
218
+ this.sharedKnowledgeBase = config.sharedKnowledgeBase;
219
+ // Start expiry checker every 60s if any TTL is configured
220
+ if (this.config.defaultTtlMs > 0) {
221
+ this._startExpiryChecker();
222
+ }
223
+ }
224
+ // ─────────────── Session Lifecycle ───────────────
225
+ /**
226
+ * Create a new autonomous agent session.
227
+ *
228
+ * Runs security middleware chain before creation.
229
+ * Creates isolated DCYFRMemory if memoryFactory provided.
230
+ * Applies shared knowledge base overlay if configured.
231
+ *
232
+ * @throws Error if security middleware blocks creation
233
+ * @throws Error if max sessions limit reached
234
+ */
235
+ async create(sessionConfig) {
236
+ const sessionId = randomUUID();
237
+ // Check max sessions limit
238
+ if (this.config.maxSessions > 0 && this.sessions.size >= this.config.maxSessions) {
239
+ throw new Error(`Maximum session limit (${this.config.maxSessions}) reached. ` +
240
+ `Destroy existing sessions before creating new ones.`);
241
+ }
242
+ // Determine initial trust level
243
+ let trustLevel = sessionConfig.trustLevel ?? this.config.defaultTrustLevel;
244
+ // Run security middleware chain
245
+ for (const middleware of this.securityMiddleware) {
246
+ const evaluation = await middleware.evaluate(sessionConfig, sessionId);
247
+ if (!evaluation.allowed) {
248
+ throw new Error(`Session creation blocked by security middleware: ${evaluation.reason ?? 'Unknown reason'}`);
249
+ }
250
+ // Apply trust level downgrade if middleware recommends it
251
+ if (evaluation.downgradedTrustLevel) {
252
+ trustLevel = evaluation.downgradedTrustLevel;
253
+ }
254
+ }
255
+ // Build tool policy from trust level
256
+ const toolPolicy = trustLevelToPolicy(trustLevel, sessionConfig.sandboxedWriteAllowlist);
257
+ // Create isolated memory if factory provided
258
+ let memory;
259
+ if (sessionConfig.memoryFactory) {
260
+ const sessionMemory = sessionConfig.memoryFactory(sessionId, sessionConfig.agentId);
261
+ // Wrap with shared knowledge base overlay if configured
262
+ if (this.sharedKnowledgeBase) {
263
+ memory = new OverlayMemory(sessionMemory, this.sharedKnowledgeBase.memory, this.sharedKnowledgeBase.namespace);
264
+ }
265
+ else {
266
+ memory = sessionMemory;
267
+ }
268
+ }
269
+ const now = new Date();
270
+ const ttlMs = sessionConfig.ttlMs ?? this.config.defaultTtlMs;
271
+ // Start expiry checker if this is the first session with TTL
272
+ if (ttlMs > 0 && !this.expiryTimer) {
273
+ this._startExpiryChecker();
274
+ }
275
+ const session = {
276
+ id: sessionId,
277
+ agentId: sessionConfig.agentId,
278
+ lifecycle: 'active',
279
+ trustLevel,
280
+ toolPolicy,
281
+ memory,
282
+ metadata: { ...(sessionConfig.metadata ?? {}) },
283
+ createdAt: now,
284
+ lastActiveAt: now,
285
+ messageCount: 0,
286
+ userId: sessionConfig.userId,
287
+ platform: sessionConfig.platform,
288
+ tlpClassification: sessionConfig.tlpClassification,
289
+ expiresAt: ttlMs > 0 ? new Date(now.getTime() + ttlMs) : null,
290
+ };
291
+ this.sessions.set(sessionId, session);
292
+ this.emit('session:created', session);
293
+ return session;
294
+ }
295
+ /**
296
+ * Get a session by ID. Returns undefined if not found or destroyed.
297
+ */
298
+ get(sessionId) {
299
+ return this.sessions.get(sessionId);
300
+ }
301
+ /**
302
+ * Find sessions matching query criteria
303
+ */
304
+ find(query) {
305
+ let results = Array.from(this.sessions.values());
306
+ if (query.agentId !== undefined) {
307
+ results = results.filter(s => s.agentId === query.agentId);
308
+ }
309
+ if (query.userId !== undefined) {
310
+ results = results.filter(s => s.userId === query.userId);
311
+ }
312
+ if (query.platform !== undefined) {
313
+ results = results.filter(s => s.platform === query.platform);
314
+ }
315
+ if (query.lifecycle !== undefined) {
316
+ results = results.filter(s => s.lifecycle === query.lifecycle);
317
+ }
318
+ if (query.trustLevel !== undefined) {
319
+ results = results.filter(s => s.trustLevel === query.trustLevel);
320
+ }
321
+ if (query.metadata) {
322
+ for (const [key, value] of Object.entries(query.metadata)) {
323
+ results = results.filter(s => s.metadata[key] === value);
324
+ }
325
+ }
326
+ return results;
327
+ }
328
+ /**
329
+ * Find idle sessions — sessions that haven't had activity for N minutes
330
+ */
331
+ findIdle(options) {
332
+ const cutoff = new Date(Date.now() - options.idleMinutes * 60_000);
333
+ let results = Array.from(this.sessions.values())
334
+ .filter(s => s.lastActiveAt < cutoff);
335
+ if (options.lifecycle !== undefined) {
336
+ results = results.filter(s => s.lifecycle === options.lifecycle);
337
+ }
338
+ return results;
339
+ }
340
+ /**
341
+ * Suspend a session — pauses activity but preserves memory and state.
342
+ * Suspended sessions can be resumed.
343
+ */
344
+ suspend(sessionId) {
345
+ const session = this._requireSession(sessionId);
346
+ if (session.lifecycle === 'destroyed') {
347
+ throw new Error(`Cannot suspend destroyed session ${sessionId}`);
348
+ }
349
+ session.lifecycle = 'suspended';
350
+ session.lastActiveAt = new Date();
351
+ this.emit('session:suspended', session);
352
+ return session;
353
+ }
354
+ /**
355
+ * Resume a suspended session — returns it to active state.
356
+ */
357
+ resume(sessionId) {
358
+ const session = this._requireSession(sessionId);
359
+ if (session.lifecycle !== 'suspended') {
360
+ throw new Error(`Cannot resume session ${sessionId} — lifecycle is '${session.lifecycle}', expected 'suspended'`);
361
+ }
362
+ session.lifecycle = 'active';
363
+ session.lastActiveAt = new Date();
364
+ this.emit('session:resumed', session);
365
+ return session;
366
+ }
367
+ /**
368
+ * Destroy a session — cleans up memory and removes from store.
369
+ * Destroyed sessions cannot be resumed.
370
+ */
371
+ async destroy(sessionId) {
372
+ const session = this.sessions.get(sessionId);
373
+ if (!session)
374
+ return; // Already gone — idempotent
375
+ session.lifecycle = 'destroyed';
376
+ // Cleanup session memory
377
+ if (session.memory) {
378
+ try {
379
+ await session.memory.deleteSessionMemories(sessionId);
380
+ }
381
+ catch {
382
+ // Non-fatal — session is removed regardless
383
+ }
384
+ }
385
+ this.sessions.delete(sessionId);
386
+ this.emit('session:destroyed', session);
387
+ }
388
+ /**
389
+ * Touch a session — updates lastActiveAt and increments messageCount
390
+ */
391
+ touch(sessionId) {
392
+ const session = this._requireSession(sessionId);
393
+ if (session.lifecycle !== 'active') {
394
+ throw new Error(`Cannot touch session ${sessionId} — lifecycle is '${session.lifecycle}'`);
395
+ }
396
+ session.lastActiveAt = new Date();
397
+ session.messageCount += 1;
398
+ this.emit('session:active', session);
399
+ return session;
400
+ }
401
+ // ─────────────── Tool Policy Enforcement ───────────────
402
+ /**
403
+ * Check if a tool is allowed in a session.
404
+ * Does NOT throw — use executeTool for enforcement.
405
+ */
406
+ isToolAllowed(sessionId, tool) {
407
+ const session = this._requireSession(sessionId);
408
+ return isToolAllowed(tool, session.toolPolicy);
409
+ }
410
+ /**
411
+ * Enforce tool policy — throws TrustLevelViolation if tool is blocked.
412
+ * Call this before executing any tool in a session context.
413
+ */
414
+ enforceToolPolicy(sessionId, tool) {
415
+ const session = this._requireSession(sessionId);
416
+ if (!isToolAllowed(tool, session.toolPolicy)) {
417
+ const violation = new TrustLevelViolation(tool.name, session.trustLevel, session.toolPolicy.mode);
418
+ this.emit('tool:blocked', { sessionId, tool, violation });
419
+ throw violation;
420
+ }
421
+ }
422
+ /**
423
+ * Update the trust level for a session (and regenerate tool policy)
424
+ */
425
+ setTrustLevel(sessionId, trustLevel, sandboxedWriteAllowlist) {
426
+ const session = this._requireSession(sessionId);
427
+ session.trustLevel = trustLevel;
428
+ session.toolPolicy = trustLevelToPolicy(trustLevel, sandboxedWriteAllowlist);
429
+ session.lastActiveAt = new Date();
430
+ return session;
431
+ }
432
+ // ─────────────── Metadata ───────────────
433
+ /**
434
+ * Update session metadata (merge with existing)
435
+ */
436
+ updateMetadata(sessionId, metadata) {
437
+ const session = this._requireSession(sessionId);
438
+ session.metadata = { ...session.metadata, ...metadata };
439
+ session.lastActiveAt = new Date();
440
+ return session;
441
+ }
442
+ /**
443
+ * Get session metadata
444
+ */
445
+ getMetadata(sessionId) {
446
+ const session = this._requireSession(sessionId);
447
+ return { ...session.metadata };
448
+ }
449
+ // ─────────────── Memory Access ───────────────
450
+ /**
451
+ * Get the memory instance for a session.
452
+ * If shared knowledge base is configured, returns overlay memory.
453
+ */
454
+ getMemory(sessionId) {
455
+ const session = this._requireSession(sessionId);
456
+ return session.memory;
457
+ }
458
+ // ─────────────── Queries ───────────────
459
+ /**
460
+ * Get all active sessions
461
+ */
462
+ getActiveSessions() {
463
+ return this.find({ lifecycle: 'active' });
464
+ }
465
+ /**
466
+ * Get total session count (all lifecycles)
467
+ */
468
+ get size() {
469
+ return this.sessions.size;
470
+ }
471
+ /**
472
+ * Get sessions grouped by agent
473
+ */
474
+ getSessionsByAgent() {
475
+ const grouped = new Map();
476
+ for (const session of this.sessions.values()) {
477
+ const existing = grouped.get(session.agentId) ?? [];
478
+ existing.push(session);
479
+ grouped.set(session.agentId, existing);
480
+ }
481
+ return grouped;
482
+ }
483
+ // ─────────────── Cleanup ───────────────
484
+ /**
485
+ * Destroy all expired sessions
486
+ */
487
+ async destroyExpired() {
488
+ const now = new Date();
489
+ let destroyed = 0;
490
+ for (const session of this.sessions.values()) {
491
+ if (session.expiresAt && session.expiresAt <= now) {
492
+ this.emit('session:expired', session);
493
+ await this.destroy(session.id);
494
+ destroyed++;
495
+ }
496
+ }
497
+ return destroyed;
498
+ }
499
+ /**
500
+ * Destroy all sessions and stop timers
501
+ */
502
+ async destroyAll() {
503
+ const ids = Array.from(this.sessions.keys());
504
+ for (const id of ids) {
505
+ await this.destroy(id);
506
+ }
507
+ this._stopExpiryChecker();
508
+ }
509
+ /**
510
+ * Stop the expiry checker and release resources
511
+ */
512
+ dispose() {
513
+ this._stopExpiryChecker();
514
+ this.removeAllListeners();
515
+ }
516
+ // ─────────────── Private ───────────────
517
+ _requireSession(sessionId) {
518
+ const session = this.sessions.get(sessionId);
519
+ if (!session) {
520
+ throw new Error(`Session not found: ${sessionId}`);
521
+ }
522
+ return session;
523
+ }
524
+ _startExpiryChecker() {
525
+ if (this.expiryTimer)
526
+ return;
527
+ this.expiryTimer = setInterval(() => {
528
+ void this.destroyExpired();
529
+ }, 60_000);
530
+ if (typeof this.expiryTimer.unref === 'function') {
531
+ this.expiryTimer.unref();
532
+ }
533
+ }
534
+ _stopExpiryChecker() {
535
+ if (this.expiryTimer) {
536
+ clearInterval(this.expiryTimer);
537
+ this.expiryTimer = null;
538
+ }
539
+ }
540
+ }
541
+ // ─────────────────────────────────────────────────────────────────────────────
542
+ // Security Middleware Adapters (Task 6.4)
543
+ // ─────────────────────────────────────────────────────────────────────────────
544
+ /**
545
+ * TLP-based security middleware for session creation.
546
+ * Wraps the delegation TLPMiddleware pattern for autonomous sessions.
547
+ *
548
+ * When agent TLP clearance is insufficient for the requested session's
549
+ * TLP classification, auto-downgrades the trust level instead of blocking.
550
+ */
551
+ export class TLPSessionMiddleware {
552
+ agentClearances;
553
+ clearanceMap;
554
+ constructor(
555
+ /** Map of agent IDs to their TLP clearance levels */
556
+ agentClearances = {}) {
557
+ this.agentClearances = agentClearances;
558
+ this.clearanceMap = new Map([
559
+ ['CLEAR', 0],
560
+ ['GREEN', 1],
561
+ ['AMBER', 2],
562
+ ['RED', 3],
563
+ ]);
564
+ }
565
+ async evaluate(config, _sessionId) {
566
+ const tlp = config.tlpClassification;
567
+ if (!tlp)
568
+ return { allowed: true };
569
+ const agentClearance = this.agentClearances[config.agentId];
570
+ if (!agentClearance) {
571
+ // Unknown agent — downgrade to readonly
572
+ return {
573
+ allowed: true,
574
+ downgradedTrustLevel: 'readonly',
575
+ };
576
+ }
577
+ const requiredLevel = this.clearanceMap.get(tlp.replace('TLP:', '')) ?? 0;
578
+ const agentLevel = this.clearanceMap.get(agentClearance.replace('TLP:', '')) ?? 0;
579
+ if (agentLevel >= requiredLevel) {
580
+ return { allowed: true };
581
+ }
582
+ // Insufficient clearance — downgrade trust level
583
+ const downgrade = agentLevel <= 0 ? 'readonly' : 'sandboxed';
584
+ return {
585
+ allowed: true,
586
+ downgradedTrustLevel: downgrade,
587
+ };
588
+ }
589
+ }
590
+ /**
591
+ * Rate limiter middleware for session creation.
592
+ * Limits how many sessions an agent/user can create per window.
593
+ */
594
+ export class RateLimiterSessionMiddleware {
595
+ maxSessions;
596
+ windowMs;
597
+ windows = new Map();
598
+ constructor(maxSessions = 10, windowMs = 3_600_000) {
599
+ this.maxSessions = maxSessions;
600
+ this.windowMs = windowMs;
601
+ }
602
+ async evaluate(config, _sessionId) {
603
+ const key = config.userId ?? config.agentId;
604
+ const now = Date.now();
605
+ const cutoff = now - this.windowMs;
606
+ const timestamps = this.windows.get(key) ?? [];
607
+ const fresh = timestamps.filter(t => t > cutoff);
608
+ if (fresh.length >= this.maxSessions) {
609
+ return {
610
+ allowed: false,
611
+ reason: `Rate limit exceeded: ${key} has created ${fresh.length} sessions ` +
612
+ `in the last ${this.windowMs / 1000}s (limit: ${this.maxSessions})`,
613
+ };
614
+ }
615
+ fresh.push(now);
616
+ this.windows.set(key, fresh);
617
+ return { allowed: true };
618
+ }
619
+ /** Exposed for testing */
620
+ getWindowCount(key, nowMs = Date.now()) {
621
+ const cutoff = nowMs - this.windowMs;
622
+ return (this.windows.get(key) ?? []).filter(t => t > cutoff).length;
623
+ }
624
+ }
625
+ //# sourceMappingURL=session-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../../../packages/ai/src/session/session-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Dynamic Skill Injection Module
3
+ *
4
+ * Provides automatic skill discovery, relevance-based search,
5
+ * and injection into system prompts.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ export { SkillRegistry, type SkillRegistryConfig, type Skill, type SkillFrontmatter, type SkillSearchResult, type SkillInjectionResult, type TrustLevel, } from './skill-registry.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/ai/src/skills/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,aAAa,EACb,KAAK,mBAAmB,EACxB,KAAK,KAAK,EACV,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,UAAU,GAChB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Dynamic Skill Injection Module
3
+ *
4
+ * Provides automatic skill discovery, relevance-based search,
5
+ * and injection into system prompts.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ export { SkillRegistry, } from './skill-registry.js';
10
+ //# sourceMappingURL=index.js.map