@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,165 @@
1
+ /**
2
+ * Plugin Incident Response Manager
3
+ *
4
+ * Manages the full lifecycle of security incidents for marketplace plugins,
5
+ * including SLA enforcement, auto-disable on critical CVEs, and notification
6
+ * dispatch through pluggable adapter interfaces.
7
+ *
8
+ * SLA Timers (measured from incident `createdAt`):
9
+ * critical (CVSS ≥9.0) — 24 hours
10
+ * high (CVSS 7.0–8.9) — 48 hours
11
+ * medium (CVSS 4.0–6.9) — 7 days
12
+ * low (CVSS 0.1–3.9) — 30 days
13
+ * info (CVSS 0.0) — 30 days
14
+ *
15
+ * Auto-disable policy:
16
+ * Any incident whose CVSS score is ≥9.0 triggers automatic plugin disable.
17
+ * The `onAutoDisable` hook is called synchronously so callers can update
18
+ * their plugin registry, disable download links, etc.
19
+ *
20
+ * Integration adapters (all optional — pass in config):
21
+ * emailNotifier — notify affected users and plugin author
22
+ * githubClient — open GitHub issue + Security Advisory
23
+ * axiomLogger — stream SLA-breach events to Axiom dataset
24
+ *
25
+ * @module plugins/incidents/incident-response-manager
26
+ * @version 1.0.0
27
+ * @date 2026-02-28
28
+ * @license MIT
29
+ */
30
+ import type { Incident, IncidentSeverity, IncidentStatus, CreateIncidentInput, AcknowledgeIncidentInput, ResolveIncidentInput, ListIncidentsOptions, IncidentPage, SlaConfig, EmailNotifier, GithubClient, AxiomLogger, GithubIssuePayload, GithubAdvisoryPayload, AxiomAlertPayload } from './types.js';
31
+ export type { Incident, IncidentSeverity, IncidentStatus, CreateIncidentInput, AcknowledgeIncidentInput, ResolveIncidentInput, ListIncidentsOptions, IncidentPage, SlaConfig, EmailNotifier, GithubClient, AxiomLogger, GithubIssuePayload, GithubAdvisoryPayload, AxiomAlertPayload, };
32
+ /** Error thrown by IncidentResponseManager operations */
33
+ export declare class IncidentError extends Error {
34
+ readonly code: string;
35
+ constructor(message: string, code: string);
36
+ }
37
+ export interface IncidentResponseManagerConfig {
38
+ /** SLA overrides — defaults to DEFAULT_SLA */
39
+ sla?: Partial<SlaConfig>;
40
+ /**
41
+ * Called synchronously when a plugin is automatically disabled.
42
+ * @param pluginId Plugin that was disabled
43
+ * @param incident The triggering incident
44
+ */
45
+ onAutoDisable?: (pluginId: string, incident: Incident) => void;
46
+ /** Pluggable email notifier */
47
+ emailNotifier?: EmailNotifier;
48
+ /** Pluggable GitHub client */
49
+ githubClient?: GithubClient;
50
+ /** Pluggable Axiom logger */
51
+ axiomLogger?: AxiomLogger;
52
+ /**
53
+ * GitHub repo where issues and advisories will be created
54
+ * (e.g. "dcyfr/dcyfr-plugins"). Required to use githubClient.
55
+ */
56
+ githubRepo?: string;
57
+ }
58
+ /**
59
+ * Manages security incidents for marketplace plugins.
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * const manager = new IncidentResponseManager({ githubRepo: 'dcyfr/dcyfr-plugins' });
64
+ * const incident = await manager.createIncident({
65
+ * pluginId: 'author/my-plugin',
66
+ * title: 'Remote code execution via crafted input',
67
+ * description: 'Long description...',
68
+ * cvssScore: 9.8,
69
+ * cveIds: ['CVE-2026-12345'],
70
+ * });
71
+ * ```
72
+ */
73
+ export declare class IncidentResponseManager {
74
+ private readonly incidents;
75
+ private readonly sla;
76
+ private readonly config;
77
+ constructor(config?: IncidentResponseManagerConfig);
78
+ /**
79
+ * Create a new security incident.
80
+ *
81
+ * Side-effects:
82
+ * • If cvssScore ≥9.0 → plugin is auto-disabled via `onAutoDisable` hook.
83
+ * • GitHub issue + Security Advisory are created if `githubClient` is configured.
84
+ * • Axiom alert is fired for critical incidents if `axiomLogger` is configured.
85
+ *
86
+ * @throws {IncidentError} code `INVALID_CVSS` if cvssScore is out of [0, 10] range.
87
+ */
88
+ createIncident(input: CreateIncidentInput): Promise<Incident>;
89
+ /**
90
+ * Acknowledge an incident — transitions status from `open` → `acknowledged`.
91
+ *
92
+ * @throws {IncidentError} code `NOT_FOUND` if incident doesn't exist.
93
+ * @throws {IncidentError} code `ALREADY_ACKNOWLEDGED` if already past open state.
94
+ */
95
+ acknowledgeIncident(input: AcknowledgeIncidentInput): Incident;
96
+ /**
97
+ * Move an incident to `in_progress` — transitions from `open` or `acknowledged`.
98
+ *
99
+ * @throws {IncidentError} code `NOT_FOUND` | `INVALID_TRANSITION`
100
+ */
101
+ markInProgress(id: string, assignee?: string): Incident;
102
+ /**
103
+ * Resolve or close an incident.
104
+ *
105
+ * @throws {IncidentError} code `NOT_FOUND` | `ALREADY_RESOLVED`
106
+ */
107
+ resolveIncident(input: ResolveIncidentInput): Incident;
108
+ /**
109
+ * Check all incidents for SLA breaches.
110
+ * Mutates affected incidents to status `sla_breached` and fires Axiom alerts.
111
+ *
112
+ * @returns Array of newly breached incidents
113
+ */
114
+ checkSlaBreaches(): Promise<Incident[]>;
115
+ /**
116
+ * Return incidents whose SLA deadline has passed and are not terminal.
117
+ * Does NOT mutate status — use `checkSlaBreaches()` to update statuses.
118
+ */
119
+ getOverdueIncidents(): Incident[];
120
+ /**
121
+ * Get a single incident by ID.
122
+ * @throws {IncidentError} code `NOT_FOUND` if not found.
123
+ */
124
+ getIncident(id: string): Incident;
125
+ /**
126
+ * List incidents with optional filtering and pagination.
127
+ */
128
+ listIncidents(options?: ListIncidentsOptions): IncidentPage;
129
+ /**
130
+ * Count of all stored incidents.
131
+ */
132
+ get size(): number;
133
+ /**
134
+ * Bulk-load incidents from an external store (replaces in-memory state).
135
+ */
136
+ hydrate(incidents: Incident[]): void;
137
+ /**
138
+ * Export all incidents as a plain array (for persisting to an external store).
139
+ */
140
+ export(): Incident[];
141
+ /**
142
+ * Create a GitHub issue for an incident.
143
+ * Requires `githubClient` and `githubRepo` to be configured.
144
+ *
145
+ * @returns The GitHub issue URL, or null if no client is configured.
146
+ */
147
+ createGithubIssue(incident: Incident): Promise<string | null>;
148
+ /**
149
+ * Create a GitHub Security Advisory for an incident.
150
+ * Requires `githubClient` and `githubRepo` to be configured.
151
+ *
152
+ * @returns The advisory URL, or null if no client is configured.
153
+ */
154
+ createSecurityAdvisory(incident: Incident): Promise<string | null>;
155
+ /**
156
+ * Send an Axiom alert for an incident.
157
+ *
158
+ * @param incident The incident to alert on.
159
+ * @param alertType The type of alert event.
160
+ */
161
+ sendAxiomAlert(incident: Incident, alertType: AxiomAlertPayload['alertType']): Promise<void>;
162
+ private requireIncident;
163
+ private dispatchNewIncidentNotifications;
164
+ }
165
+ //# sourceMappingURL=incident-response-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incident-response-manager.d.ts","sourceRoot":"","sources":["../../../../../packages/ai/src/plugins/incidents/incident-response-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,462 @@
1
+ /**
2
+ * Plugin Incident Response Manager
3
+ *
4
+ * Manages the full lifecycle of security incidents for marketplace plugins,
5
+ * including SLA enforcement, auto-disable on critical CVEs, and notification
6
+ * dispatch through pluggable adapter interfaces.
7
+ *
8
+ * SLA Timers (measured from incident `createdAt`):
9
+ * critical (CVSS ≥9.0) — 24 hours
10
+ * high (CVSS 7.0–8.9) — 48 hours
11
+ * medium (CVSS 4.0–6.9) — 7 days
12
+ * low (CVSS 0.1–3.9) — 30 days
13
+ * info (CVSS 0.0) — 30 days
14
+ *
15
+ * Auto-disable policy:
16
+ * Any incident whose CVSS score is ≥9.0 triggers automatic plugin disable.
17
+ * The `onAutoDisable` hook is called synchronously so callers can update
18
+ * their plugin registry, disable download links, etc.
19
+ *
20
+ * Integration adapters (all optional — pass in config):
21
+ * emailNotifier — notify affected users and plugin author
22
+ * githubClient — open GitHub issue + Security Advisory
23
+ * axiomLogger — stream SLA-breach events to Axiom dataset
24
+ *
25
+ * @module plugins/incidents/incident-response-manager
26
+ * @version 1.0.0
27
+ * @date 2026-02-28
28
+ * @license MIT
29
+ */
30
+ import { randomUUID } from 'crypto';
31
+ import { DEFAULT_SLA } from './types.js';
32
+ // ---------------------------------------------------------------------------
33
+ // Custom error
34
+ // ---------------------------------------------------------------------------
35
+ /** Error thrown by IncidentResponseManager operations */
36
+ export class IncidentError extends Error {
37
+ code;
38
+ constructor(message, code) {
39
+ super(message);
40
+ this.code = code;
41
+ this.name = 'IncidentError';
42
+ }
43
+ }
44
+ // ---------------------------------------------------------------------------
45
+ // Internal helpers
46
+ // ---------------------------------------------------------------------------
47
+ const CRITICAL_CVSS_THRESHOLD = 9.0;
48
+ /** Derive qualitative severity from a CVSS v3.1 numeric score */
49
+ function cvssToSeverity(score) {
50
+ if (score >= 9.0)
51
+ return 'critical';
52
+ if (score >= 7.0)
53
+ return 'high';
54
+ if (score >= 4.0)
55
+ return 'medium';
56
+ if (score > 0.0)
57
+ return 'low';
58
+ return 'informational';
59
+ }
60
+ /** Map IncidentSeverity to its SLA deadline in milliseconds */
61
+ function slaMs(severity, config) {
62
+ switch (severity) {
63
+ case 'critical': return config.criticalMs;
64
+ case 'high': return config.highMs;
65
+ case 'medium': return config.mediumMs;
66
+ case 'low': return config.lowMs;
67
+ case 'informational': return config.lowMs; // same as low
68
+ }
69
+ }
70
+ /** Compute ISO-8601 SLA deadline from creation time */
71
+ function computeSlaDeadline(createdAt, severity, sla) {
72
+ const ms = slaMs(severity, sla);
73
+ return new Date(new Date(createdAt).getTime() + ms).toISOString();
74
+ }
75
+ /** Return true if the incident is past its SLA deadline and not yet resolved/closed */
76
+ function isSlaBreached(incident, now) {
77
+ if (incident.status === 'resolved' || incident.status === 'closed')
78
+ return false;
79
+ return now > new Date(incident.slaDeadline);
80
+ }
81
+ /** Map IncidentSeverity to GHSA severity string */
82
+ function toGhsaSeverity(severity) {
83
+ if (severity === 'informational')
84
+ return 'low';
85
+ return severity;
86
+ }
87
+ // ---------------------------------------------------------------------------
88
+ // Manager
89
+ // ---------------------------------------------------------------------------
90
+ /**
91
+ * Manages security incidents for marketplace plugins.
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * const manager = new IncidentResponseManager({ githubRepo: 'dcyfr/dcyfr-plugins' });
96
+ * const incident = await manager.createIncident({
97
+ * pluginId: 'author/my-plugin',
98
+ * title: 'Remote code execution via crafted input',
99
+ * description: 'Long description...',
100
+ * cvssScore: 9.8,
101
+ * cveIds: ['CVE-2026-12345'],
102
+ * });
103
+ * ```
104
+ */
105
+ export class IncidentResponseManager {
106
+ incidents = new Map();
107
+ sla;
108
+ config;
109
+ constructor(config = {}) {
110
+ this.config = config;
111
+ this.sla = { ...DEFAULT_SLA, ...(config.sla ?? {}) };
112
+ }
113
+ // -------------------------------------------------------------------------
114
+ // Create
115
+ // -------------------------------------------------------------------------
116
+ /**
117
+ * Create a new security incident.
118
+ *
119
+ * Side-effects:
120
+ * • If cvssScore ≥9.0 → plugin is auto-disabled via `onAutoDisable` hook.
121
+ * • GitHub issue + Security Advisory are created if `githubClient` is configured.
122
+ * • Axiom alert is fired for critical incidents if `axiomLogger` is configured.
123
+ *
124
+ * @throws {IncidentError} code `INVALID_CVSS` if cvssScore is out of [0, 10] range.
125
+ */
126
+ async createIncident(input) {
127
+ if (input.cvssScore < 0 || input.cvssScore > 10) {
128
+ throw new IncidentError(`cvssScore must be between 0 and 10, got ${input.cvssScore}`, 'INVALID_CVSS');
129
+ }
130
+ const now = new Date().toISOString();
131
+ const severity = cvssToSeverity(input.cvssScore);
132
+ const autoDisabled = input.cvssScore >= CRITICAL_CVSS_THRESHOLD;
133
+ const incident = {
134
+ id: randomUUID(),
135
+ pluginId: input.pluginId,
136
+ title: input.title,
137
+ description: input.description,
138
+ cvssScore: input.cvssScore,
139
+ severity,
140
+ cveIds: input.cveIds ?? [],
141
+ status: 'open',
142
+ createdAt: now,
143
+ acknowledgedAt: null,
144
+ resolvedAt: null,
145
+ slaDeadline: computeSlaDeadline(now, severity, this.sla),
146
+ autoDisabled,
147
+ assignee: null,
148
+ resolution: null,
149
+ githubIssueUrl: null,
150
+ githubAdvisoryUrl: null,
151
+ metadata: input.metadata ?? {},
152
+ };
153
+ this.incidents.set(incident.id, incident);
154
+ // Auto-disable critical plugins synchronously before async side-effects
155
+ if (autoDisabled && this.config.onAutoDisable) {
156
+ this.config.onAutoDisable(incident.pluginId, incident);
157
+ }
158
+ // Dispatch async side-effects (fire-and-forget with error isolation)
159
+ await this.dispatchNewIncidentNotifications(incident);
160
+ return incident;
161
+ }
162
+ // -------------------------------------------------------------------------
163
+ // Acknowledge
164
+ // -------------------------------------------------------------------------
165
+ /**
166
+ * Acknowledge an incident — transitions status from `open` → `acknowledged`.
167
+ *
168
+ * @throws {IncidentError} code `NOT_FOUND` if incident doesn't exist.
169
+ * @throws {IncidentError} code `ALREADY_ACKNOWLEDGED` if already past open state.
170
+ */
171
+ acknowledgeIncident(input) {
172
+ const incident = this.requireIncident(input.id);
173
+ if (incident.status !== 'open') {
174
+ throw new IncidentError(`Incident ${input.id} is in status '${incident.status}', cannot acknowledge`, 'ALREADY_ACKNOWLEDGED');
175
+ }
176
+ const updated = {
177
+ ...incident,
178
+ status: 'acknowledged',
179
+ acknowledgedAt: new Date().toISOString(),
180
+ assignee: input.assignee,
181
+ };
182
+ this.incidents.set(updated.id, updated);
183
+ return updated;
184
+ }
185
+ // -------------------------------------------------------------------------
186
+ // Progress
187
+ // -------------------------------------------------------------------------
188
+ /**
189
+ * Move an incident to `in_progress` — transitions from `open` or `acknowledged`.
190
+ *
191
+ * @throws {IncidentError} code `NOT_FOUND` | `INVALID_TRANSITION`
192
+ */
193
+ markInProgress(id, assignee) {
194
+ const incident = this.requireIncident(id);
195
+ const allowed = ['open', 'acknowledged'];
196
+ if (!allowed.includes(incident.status)) {
197
+ throw new IncidentError(`Cannot mark incident ${id} as in_progress from status '${incident.status}'`, 'INVALID_TRANSITION');
198
+ }
199
+ const updated = {
200
+ ...incident,
201
+ status: 'in_progress',
202
+ assignee: assignee ?? incident.assignee,
203
+ };
204
+ this.incidents.set(updated.id, updated);
205
+ return updated;
206
+ }
207
+ // -------------------------------------------------------------------------
208
+ // Resolve / Close
209
+ // -------------------------------------------------------------------------
210
+ /**
211
+ * Resolve or close an incident.
212
+ *
213
+ * @throws {IncidentError} code `NOT_FOUND` | `ALREADY_RESOLVED`
214
+ */
215
+ resolveIncident(input) {
216
+ const incident = this.requireIncident(input.id);
217
+ const terminal = ['resolved', 'closed'];
218
+ if (terminal.includes(incident.status)) {
219
+ throw new IncidentError(`Incident ${input.id} is already in terminal status '${incident.status}'`, 'ALREADY_RESOLVED');
220
+ }
221
+ const now = new Date().toISOString();
222
+ const updated = {
223
+ ...incident,
224
+ status: input.finalStatus ?? 'resolved',
225
+ resolvedAt: now,
226
+ resolution: input.resolution,
227
+ };
228
+ this.incidents.set(updated.id, updated);
229
+ return updated;
230
+ }
231
+ // -------------------------------------------------------------------------
232
+ // SLA breach detection
233
+ // -------------------------------------------------------------------------
234
+ /**
235
+ * Check all incidents for SLA breaches.
236
+ * Mutates affected incidents to status `sla_breached` and fires Axiom alerts.
237
+ *
238
+ * @returns Array of newly breached incidents
239
+ */
240
+ async checkSlaBreaches() {
241
+ const now = new Date();
242
+ const breached = [];
243
+ for (const incident of this.incidents.values()) {
244
+ if (incident.status === 'sla_breached')
245
+ continue; // already flagged
246
+ if (isSlaBreached(incident, now)) {
247
+ const updated = { ...incident, status: 'sla_breached' };
248
+ this.incidents.set(updated.id, updated);
249
+ breached.push(updated);
250
+ if (this.config.axiomLogger) {
251
+ await this.sendAxiomAlert(updated, 'sla_breach');
252
+ }
253
+ }
254
+ }
255
+ return breached;
256
+ }
257
+ /**
258
+ * Return incidents whose SLA deadline has passed and are not terminal.
259
+ * Does NOT mutate status — use `checkSlaBreaches()` to update statuses.
260
+ */
261
+ getOverdueIncidents() {
262
+ const now = new Date();
263
+ return Array.from(this.incidents.values()).filter(i => isSlaBreached(i, now));
264
+ }
265
+ // -------------------------------------------------------------------------
266
+ // Queries
267
+ // -------------------------------------------------------------------------
268
+ /**
269
+ * Get a single incident by ID.
270
+ * @throws {IncidentError} code `NOT_FOUND` if not found.
271
+ */
272
+ getIncident(id) {
273
+ return this.requireIncident(id);
274
+ }
275
+ /**
276
+ * List incidents with optional filtering and pagination.
277
+ */
278
+ listIncidents(options = {}) {
279
+ const { pluginId, status, severity, slaBreached, page = 1, pageSize = 20 } = options;
280
+ const now = new Date();
281
+ const statusSet = status
282
+ ? new Set(Array.isArray(status) ? status : [status])
283
+ : null;
284
+ const severitySet = severity
285
+ ? new Set(Array.isArray(severity) ? severity : [severity])
286
+ : null;
287
+ const filtered = Array.from(this.incidents.values()).filter(inc => {
288
+ if (pluginId && inc.pluginId !== pluginId)
289
+ return false;
290
+ if (statusSet && !statusSet.has(inc.status))
291
+ return false;
292
+ if (severitySet && !severitySet.has(inc.severity))
293
+ return false;
294
+ if (slaBreached !== undefined && isSlaBreached(inc, now) !== slaBreached)
295
+ return false;
296
+ return true;
297
+ });
298
+ // Sort by createdAt descending (newest first)
299
+ filtered.sort((a, b) => b.createdAt.localeCompare(a.createdAt));
300
+ const clampedSize = Math.min(Math.max(pageSize, 1), 100);
301
+ const offset = (page - 1) * clampedSize;
302
+ const items = filtered.slice(offset, offset + clampedSize);
303
+ return {
304
+ items,
305
+ total: filtered.length,
306
+ page,
307
+ pageSize: clampedSize,
308
+ hasMore: offset + clampedSize < filtered.length,
309
+ };
310
+ }
311
+ /**
312
+ * Count of all stored incidents.
313
+ */
314
+ get size() {
315
+ return this.incidents.size;
316
+ }
317
+ // -------------------------------------------------------------------------
318
+ // Hydration / export (for persistence adapters)
319
+ // -------------------------------------------------------------------------
320
+ /**
321
+ * Bulk-load incidents from an external store (replaces in-memory state).
322
+ */
323
+ hydrate(incidents) {
324
+ this.incidents.clear();
325
+ for (const incident of incidents) {
326
+ this.incidents.set(incident.id, incident);
327
+ }
328
+ }
329
+ /**
330
+ * Export all incidents as a plain array (for persisting to an external store).
331
+ */
332
+ export() {
333
+ return Array.from(this.incidents.values());
334
+ }
335
+ // -------------------------------------------------------------------------
336
+ // External notification helpers (public for testing / direct use)
337
+ // -------------------------------------------------------------------------
338
+ /**
339
+ * Create a GitHub issue for an incident.
340
+ * Requires `githubClient` and `githubRepo` to be configured.
341
+ *
342
+ * @returns The GitHub issue URL, or null if no client is configured.
343
+ */
344
+ async createGithubIssue(incident) {
345
+ if (!this.config.githubClient || !this.config.githubRepo)
346
+ return null;
347
+ const cveList = incident.cveIds.length > 0 ? incident.cveIds.join(', ') : 'N/A';
348
+ const payload = {
349
+ incident,
350
+ repo: this.config.githubRepo,
351
+ title: `[SECURITY] ${incident.severity.toUpperCase()}: ${incident.title} (${incident.pluginId})`,
352
+ body: [
353
+ `## Security Incident — ${incident.severity.toUpperCase()}`,
354
+ '',
355
+ `**Plugin:** \`${incident.pluginId}\``,
356
+ `**CVSS Score:** ${incident.cvssScore}`,
357
+ `**CVE(s):** ${cveList}`,
358
+ `**SLA Deadline:** ${incident.slaDeadline}`,
359
+ `**Auto-Disabled:** ${incident.autoDisabled ? 'Yes' : 'No'}`,
360
+ '',
361
+ '### Description',
362
+ incident.description,
363
+ '',
364
+ '### Resolution',
365
+ '_Pending investigation_',
366
+ ].join('\n'),
367
+ labels: ['security', `severity:${incident.severity}`, 'plugin-incident'],
368
+ };
369
+ return this.config.githubClient.createIssue(payload);
370
+ }
371
+ /**
372
+ * Create a GitHub Security Advisory for an incident.
373
+ * Requires `githubClient` and `githubRepo` to be configured.
374
+ *
375
+ * @returns The advisory URL, or null if no client is configured.
376
+ */
377
+ async createSecurityAdvisory(incident) {
378
+ if (!this.config.githubClient || !this.config.githubRepo)
379
+ return null;
380
+ const payload = {
381
+ incident,
382
+ repo: this.config.githubRepo,
383
+ summary: `[${incident.severity.toUpperCase()}] ${incident.title}`.slice(0, 128),
384
+ description: [
385
+ `**Plugin:** \`${incident.pluginId}\``,
386
+ `**CVE(s):** ${incident.cveIds.join(', ') || 'N/A'}`,
387
+ `**CVSS Score:** ${incident.cvssScore}`,
388
+ '',
389
+ incident.description,
390
+ ].join('\n'),
391
+ ghsaSeverity: toGhsaSeverity(incident.severity),
392
+ };
393
+ return this.config.githubClient.createSecurityAdvisory(payload);
394
+ }
395
+ /**
396
+ * Send an Axiom alert for an incident.
397
+ *
398
+ * @param incident The incident to alert on.
399
+ * @param alertType The type of alert event.
400
+ */
401
+ async sendAxiomAlert(incident, alertType) {
402
+ if (!this.config.axiomLogger)
403
+ return;
404
+ const messages = {
405
+ sla_breach: `SLA BREACH: Incident for plugin '${incident.pluginId}' exceeded ${incident.severity} SLA`,
406
+ auto_disable: `AUTO-DISABLE: Plugin '${incident.pluginId}' disabled (CVSS ${incident.cvssScore})`,
407
+ new_critical: `NEW CRITICAL: Plugin '${incident.pluginId}' has CVSS ${incident.cvssScore}`,
408
+ };
409
+ const payload = {
410
+ incident,
411
+ alertType,
412
+ message: messages[alertType],
413
+ };
414
+ await this.config.axiomLogger.logAlert(payload);
415
+ }
416
+ // -------------------------------------------------------------------------
417
+ // Private helpers
418
+ // -------------------------------------------------------------------------
419
+ requireIncident(id) {
420
+ const incident = this.incidents.get(id);
421
+ if (!incident) {
422
+ throw new IncidentError(`Incident '${id}' not found`, 'NOT_FOUND');
423
+ }
424
+ return incident;
425
+ }
426
+ async dispatchNewIncidentNotifications(incident) {
427
+ // Fire-and-forget with per-integration error isolation
428
+ const tasks = [];
429
+ if (this.config.githubClient && this.config.githubRepo) {
430
+ tasks.push(this.createGithubIssue(incident)
431
+ .then(url => {
432
+ if (url) {
433
+ const updated = this.incidents.get(incident.id);
434
+ if (updated) {
435
+ this.incidents.set(incident.id, { ...updated, githubIssueUrl: url });
436
+ }
437
+ }
438
+ })
439
+ .catch(() => { }));
440
+ if (incident.severity === 'critical' || incident.severity === 'high') {
441
+ tasks.push(this.createSecurityAdvisory(incident)
442
+ .then(url => {
443
+ if (url) {
444
+ const updated = this.incidents.get(incident.id);
445
+ if (updated) {
446
+ this.incidents.set(incident.id, { ...updated, githubAdvisoryUrl: url });
447
+ }
448
+ }
449
+ })
450
+ .catch(() => { }));
451
+ }
452
+ }
453
+ if (this.config.axiomLogger && incident.severity === 'critical') {
454
+ tasks.push(this.sendAxiomAlert(incident, 'new_critical').catch(() => { }));
455
+ }
456
+ if (this.config.axiomLogger && incident.autoDisabled) {
457
+ tasks.push(this.sendAxiomAlert(incident, 'auto_disable').catch(() => { }));
458
+ }
459
+ await Promise.all(tasks);
460
+ }
461
+ }
462
+ //# sourceMappingURL=incident-response-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incident-response-manager.js","sourceRoot":"","sources":["../../../../../packages/ai/src/plugins/incidents/incident-response-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAkBpC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAqBzC,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,yDAAyD;AACzD,MAAM,OAAO,aAAc,SAAQ,KAAK;IAGpB;IAFlB,YACE,OAAe,EACC,IAAY;QAE5B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,SAAI,GAAJ,IAAI,CAAQ;QAG5B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,iEAAiE;AACjE,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,UAAU,CAAC;IACpC,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,MAAM,CAAC;IAChC,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,QAAQ,CAAC;IAClC,IAAI,KAAK,GAAG,GAAG;QAAG,OAAO,KAAK,CAAC;IAC/B,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,+DAA+D;AAC/D,SAAS,KAAK,CAAC,QAA0B,EAAE,MAAiB;IAC1D,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,UAAU,CAAC,CAAM,OAAO,MAAM,CAAC,UAAU,CAAC;QAC/C,KAAK,MAAM,CAAC,CAAU,OAAO,MAAM,CAAC,MAAM,CAAC;QAC3C,KAAK,QAAQ,CAAC,CAAQ,OAAO,MAAM,CAAC,QAAQ,CAAC;QAC7C,KAAK,KAAK,CAAC,CAAW,OAAO,MAAM,CAAC,KAAK,CAAC;QAC1C,KAAK,eAAe,CAAC,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc;IAC3D,CAAC;AACH,CAAC;AAED,uDAAuD;AACvD,SAAS,kBAAkB,CAAC,SAAiB,EAAE,QAA0B,EAAE,GAAc;IACvF,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACpE,CAAC;AAED,uFAAuF;AACvF,SAAS,aAAa,CAAC,QAAkB,EAAE,GAAS;IAClD,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACjF,OAAO,GAAG,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC9C,CAAC;AAED,mDAAmD;AACnD,SAAS,cAAc,CAAC,QAA0B;IAChD,IAAI,QAAQ,KAAK,eAAe;QAAE,OAAO,KAAK,CAAC;IAC/C,OAAO,QAAQ,CAAC;AAClB,CAAC;AA4BD,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,uBAAuB;IACjB,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IACxC,GAAG,CAAY;IACf,MAAM,CAAgC;IAEvD,YAAY,SAAwC,EAAE;QACpD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;IAED,4EAA4E;IAC5E,SAAS;IACT,4EAA4E;IAE5E;;;;;;;;;OASG;IACH,KAAK,CAAC,cAAc,CAAC,KAA0B;QAC7C,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC;YAChD,MAAM,IAAI,aAAa,CACrB,2CAA2C,KAAK,CAAC,SAAS,EAAE,EAC5D,cAAc,CACf,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,IAAI,uBAAuB,CAAC;QAEhE,MAAM,QAAQ,GAAa;YACzB,EAAE,EAAE,UAAU,EAAE;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ;YACR,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;YAC1B,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC;YACxD,YAAY;YACZ,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE,IAAI;YACpB,iBAAiB,EAAE,IAAI;YACvB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;SAC/B,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAE1C,wEAAwE;QACxE,IAAI,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACzD,CAAC;QAED,qEAAqE;QACrE,MAAM,IAAI,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAC;QAEtD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E;;;;;OAKG;IACH,mBAAmB,CAAC,KAA+B;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEhD,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC/B,MAAM,IAAI,aAAa,CACrB,YAAY,KAAK,CAAC,EAAE,kBAAkB,QAAQ,CAAC,MAAM,uBAAuB,EAC5E,sBAAsB,CACvB,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAa;YACxB,GAAG,QAAQ;YACX,MAAM,EAAE,cAAc;YACtB,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACxC,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,4EAA4E;IAC5E,WAAW;IACX,4EAA4E;IAE5E;;;;OAIG;IACH,cAAc,CAAC,EAAU,EAAE,QAAiB;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAqB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE3D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,aAAa,CACrB,wBAAwB,EAAE,gCAAgC,QAAQ,CAAC,MAAM,GAAG,EAC5E,oBAAoB,CACrB,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAa;YACxB,GAAG,QAAQ;YACX,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,QAAQ;SACxC,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,4EAA4E;IAC5E,kBAAkB;IAClB,4EAA4E;IAE5E;;;;OAIG;IACH,eAAe,CAAC,KAA2B;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAqB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAE1D,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,aAAa,CACrB,YAAY,KAAK,CAAC,EAAE,mCAAmC,QAAQ,CAAC,MAAM,GAAG,EACzE,kBAAkB,CACnB,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,OAAO,GAAa;YACxB,GAAG,QAAQ;YACX,MAAM,EAAE,KAAK,CAAC,WAAW,IAAI,UAAU;YACvC,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,4EAA4E;IAC5E,uBAAuB;IACvB,4EAA4E;IAE5E;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB;QACpB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAe,EAAE,CAAC;QAEhC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,cAAc;gBAAE,SAAS,CAAC,kBAAkB;YACpE,IAAI,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAa,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;gBAClE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBACxC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEvB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBAC5B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,mBAAmB;QACjB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,4EAA4E;IAC5E,UAAU;IACV,4EAA4E;IAE5E;;;OAGG;IACH,WAAW,CAAC,EAAU;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,UAAgC,EAAE;QAC9C,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,GAAG,CAAC,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QACrF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,MAAM,SAAS,GAAG,MAAM;YACtB,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACpD,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,WAAW,GAAG,QAAQ;YAC1B,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC1D,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YAChE,IAAI,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YACxD,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC1D,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,OAAO,KAAK,CAAC;YAChE,IAAI,WAAW,KAAK,SAAS,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,WAAW;gBAAE,OAAO,KAAK,CAAC;YACvF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,8CAA8C;QAC9C,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAEhE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;QACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC;QAE3D,OAAO;YACL,KAAK;YACL,KAAK,EAAE,QAAQ,CAAC,MAAM;YACtB,IAAI;YACJ,QAAQ,EAAE,WAAW;YACrB,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC,MAAM;SAChD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,4EAA4E;IAC5E,gDAAgD;IAChD,4EAA4E;IAE5E;;OAEG;IACH,OAAO,CAAC,SAAqB;QAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,4EAA4E;IAC5E,kEAAkE;IAClE,4EAA4E;IAE5E;;;;;OAKG;IACH,KAAK,CAAC,iBAAiB,CAAC,QAAkB;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAEtE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAChF,MAAM,OAAO,GAAuB;YAClC,QAAQ;YACR,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAC5B,KAAK,EAAE,cAAc,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,QAAQ,GAAG;YAChG,IAAI,EAAE;gBACJ,0BAA0B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE;gBAC3D,EAAE;gBACF,iBAAiB,QAAQ,CAAC,QAAQ,IAAI;gBACtC,mBAAmB,QAAQ,CAAC,SAAS,EAAE;gBACvC,eAAe,OAAO,EAAE;gBACxB,qBAAqB,QAAQ,CAAC,WAAW,EAAE;gBAC3C,sBAAsB,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC5D,EAAE;gBACF,iBAAiB;gBACjB,QAAQ,CAAC,WAAW;gBACpB,EAAE;gBACF,gBAAgB;gBAChB,yBAAyB;aAC1B,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,CAAC,UAAU,EAAE,YAAY,QAAQ,CAAC,QAAQ,EAAE,EAAE,iBAAiB,CAAC;SACzE,CAAC;QAEF,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,sBAAsB,CAAC,QAAkB;QAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAEtE,MAAM,OAAO,GAA0B;YACrC,QAAQ;YACR,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAC5B,OAAO,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAC/E,WAAW,EAAE;gBACX,iBAAiB,QAAQ,CAAC,QAAQ,IAAI;gBACtC,eAAe,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE;gBACpD,mBAAmB,QAAQ,CAAC,SAAS,EAAE;gBACvC,EAAE;gBACF,QAAQ,CAAC,WAAW;aACrB,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,YAAY,EAAE,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;SAChD,CAAC;QAEF,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAClB,QAAkB,EAClB,SAAyC;QAEzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,OAAO;QAErC,MAAM,QAAQ,GAAmD;YAC/D,UAAU,EAAI,oCAAoC,QAAQ,CAAC,QAAQ,cAAc,QAAQ,CAAC,QAAQ,MAAM;YACxG,YAAY,EAAE,yBAAyB,QAAQ,CAAC,QAAQ,oBAAoB,QAAQ,CAAC,SAAS,GAAG;YACjG,YAAY,EAAE,yBAAyB,QAAQ,CAAC,QAAQ,cAAc,QAAQ,CAAC,SAAS,EAAE;SAC3F,CAAC;QAEF,MAAM,OAAO,GAAsB;YACjC,QAAQ;YACR,SAAS;YACT,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC;SAC7B,CAAC;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,4EAA4E;IAC5E,kBAAkB;IAClB,4EAA4E;IAEpE,eAAe,CAAC,EAAU;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,aAAa,CAAC,aAAa,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,gCAAgC,CAAC,QAAkB;QAC/D,uDAAuD;QACvD,MAAM,KAAK,GAAyB,EAAE,CAAC;QAEvC,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACvD,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;iBAC7B,IAAI,CAAC,GAAG,CAAC,EAAE;gBACV,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAChD,IAAI,OAAO,EAAE,CAAC;wBACZ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE,GAAmB,CAAC,CAAC,CACpC,CAAC;YAEF,IAAI,QAAQ,CAAC,QAAQ,KAAK,UAAU,IAAI,QAAQ,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACrE,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;qBAClC,IAAI,CAAC,GAAG,CAAC,EAAE;oBACV,IAAI,GAAG,EAAE,CAAC;wBACR,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAChD,IAAI,OAAO,EAAE,CAAC;4BACZ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;wBAC1E,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC;qBACD,KAAK,CAAC,GAAG,EAAE,GAAmB,CAAC,CAAC,CACpC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAChE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAmB,CAAC,CAAC,CAAC,CAAC;QAC7F,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAmB,CAAC,CAAC,CAAC,CAAC;QAC7F,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Plugin Incident Response — Barrel Export
3
+ * @module plugins/incidents
4
+ */
5
+ export { IncidentResponseManager, IncidentError } from './incident-response-manager.js';
6
+ export type { IncidentResponseManagerConfig, Incident, IncidentSeverity, IncidentStatus, CreateIncidentInput, AcknowledgeIncidentInput, ResolveIncidentInput, ListIncidentsOptions, IncidentPage, SlaConfig, EmailNotifier, GithubClient, AxiomLogger, GithubIssuePayload, GithubAdvisoryPayload, AxiomAlertPayload, } from './incident-response-manager.js';
7
+ export { DEFAULT_SLA, PLUGIN_INCIDENTS_SCHEMA_SQL } from './types.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/ai/src/plugins/incidents/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACxF,YAAY,EACV,6BAA6B,EAC7B,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,aAAa,EACb,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC"}