@meyicloud/meyi-insight-server 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/dist/constants/incidentCategories.d.ts +18 -0
  2. package/dist/constants/incidentCategories.d.ts.map +1 -0
  3. package/dist/constants/incidentCategories.js +36 -0
  4. package/dist/constants/incidentCategories.js.map +1 -0
  5. package/dist/controllers/alert.controller.d.ts +12 -0
  6. package/dist/controllers/alert.controller.d.ts.map +1 -0
  7. package/dist/controllers/alert.controller.js +89 -0
  8. package/dist/controllers/alert.controller.js.map +1 -0
  9. package/dist/controllers/incident.controller.d.ts +16 -0
  10. package/dist/controllers/incident.controller.d.ts.map +1 -0
  11. package/dist/controllers/incident.controller.js +215 -0
  12. package/dist/controllers/incident.controller.js.map +1 -0
  13. package/dist/controllers/notification-provider.controller.d.ts +10 -0
  14. package/dist/controllers/notification-provider.controller.d.ts.map +1 -0
  15. package/dist/controllers/notification-provider.controller.js +59 -0
  16. package/dist/controllers/notification-provider.controller.js.map +1 -0
  17. package/dist/controllers/settings.controller.d.ts +7 -0
  18. package/dist/controllers/settings.controller.d.ts.map +1 -0
  19. package/dist/controllers/settings.controller.js +27 -0
  20. package/dist/controllers/settings.controller.js.map +1 -0
  21. package/dist/controllers/sop.controller.d.ts +11 -0
  22. package/dist/controllers/sop.controller.d.ts.map +1 -0
  23. package/dist/controllers/sop.controller.js +89 -0
  24. package/dist/controllers/sop.controller.js.map +1 -0
  25. package/dist/controllers/source.controller.d.ts +26 -0
  26. package/dist/controllers/source.controller.d.ts.map +1 -0
  27. package/dist/controllers/source.controller.js +333 -0
  28. package/dist/controllers/source.controller.js.map +1 -0
  29. package/dist/controllers/sourceDatadog.controller.d.ts +17 -0
  30. package/dist/controllers/sourceDatadog.controller.d.ts.map +1 -0
  31. package/dist/controllers/sourceDatadog.controller.js +169 -0
  32. package/dist/controllers/sourceDatadog.controller.js.map +1 -0
  33. package/dist/controllers/tenant.controller.d.ts +7 -0
  34. package/dist/controllers/tenant.controller.d.ts.map +1 -0
  35. package/dist/controllers/tenant.controller.js +33 -0
  36. package/dist/controllers/tenant.controller.js.map +1 -0
  37. package/dist/controllers/webhook.controller.d.ts +6 -0
  38. package/dist/controllers/webhook.controller.d.ts.map +1 -0
  39. package/dist/controllers/webhook.controller.js +83 -0
  40. package/dist/controllers/webhook.controller.js.map +1 -0
  41. package/dist/controllers/workflow.controller.d.ts +18 -0
  42. package/dist/controllers/workflow.controller.d.ts.map +1 -0
  43. package/dist/controllers/workflow.controller.js +118 -0
  44. package/dist/controllers/workflow.controller.js.map +1 -0
  45. package/dist/database/index.d.ts +7 -0
  46. package/dist/database/index.d.ts.map +1 -0
  47. package/dist/database/index.js +12 -0
  48. package/dist/database/index.js.map +1 -0
  49. package/dist/database/schema.d.ts +5358 -0
  50. package/dist/database/schema.d.ts.map +1 -0
  51. package/dist/database/schema.js +516 -0
  52. package/dist/database/schema.js.map +1 -0
  53. package/dist/features/sources/cloudtrail/controller.d.ts +38 -0
  54. package/dist/features/sources/cloudtrail/controller.d.ts.map +1 -0
  55. package/dist/features/sources/cloudtrail/controller.js +421 -0
  56. package/dist/features/sources/cloudtrail/controller.js.map +1 -0
  57. package/dist/features/sources/cloudtrail/routes.d.ts +6 -0
  58. package/dist/features/sources/cloudtrail/routes.d.ts.map +1 -0
  59. package/dist/features/sources/cloudtrail/routes.js +8 -0
  60. package/dist/features/sources/cloudtrail/routes.js.map +1 -0
  61. package/dist/features/sources/cloudtrail/schema.d.ts +2 -0
  62. package/dist/features/sources/cloudtrail/schema.d.ts.map +1 -0
  63. package/dist/features/sources/cloudtrail/schema.js +26 -0
  64. package/dist/features/sources/cloudtrail/schema.js.map +1 -0
  65. package/dist/features/sources/cloudtrail/stackTemplates.d.ts +3 -0
  66. package/dist/features/sources/cloudtrail/stackTemplates.d.ts.map +1 -0
  67. package/dist/features/sources/cloudtrail/stackTemplates.js +548 -0
  68. package/dist/features/sources/cloudtrail/stackTemplates.js.map +1 -0
  69. package/dist/features/sources/cloudtrail/template.d.ts +21 -0
  70. package/dist/features/sources/cloudtrail/template.d.ts.map +1 -0
  71. package/dist/features/sources/cloudtrail/template.js +1230 -0
  72. package/dist/features/sources/cloudtrail/template.js.map +1 -0
  73. package/dist/features/sources/cloudwatch/controller.d.ts +13 -0
  74. package/dist/features/sources/cloudwatch/controller.d.ts.map +1 -0
  75. package/dist/features/sources/cloudwatch/controller.js +514 -0
  76. package/dist/features/sources/cloudwatch/controller.js.map +1 -0
  77. package/dist/features/sources/cloudwatch/eventbridgeTemplate.d.ts +7 -0
  78. package/dist/features/sources/cloudwatch/eventbridgeTemplate.d.ts.map +1 -0
  79. package/dist/features/sources/cloudwatch/eventbridgeTemplate.js +230 -0
  80. package/dist/features/sources/cloudwatch/eventbridgeTemplate.js.map +1 -0
  81. package/dist/features/sources/cloudwatch/service.d.ts +50 -0
  82. package/dist/features/sources/cloudwatch/service.d.ts.map +1 -0
  83. package/dist/features/sources/cloudwatch/service.js +269 -0
  84. package/dist/features/sources/cloudwatch/service.js.map +1 -0
  85. package/dist/features/sources/cloudwatch/template.d.ts +26 -0
  86. package/dist/features/sources/cloudwatch/template.d.ts.map +1 -0
  87. package/dist/features/sources/cloudwatch/template.js +335 -0
  88. package/dist/features/sources/cloudwatch/template.js.map +1 -0
  89. package/dist/features/sources/cloudwatch/types.d.ts +26 -0
  90. package/dist/features/sources/cloudwatch/types.d.ts.map +1 -0
  91. package/dist/features/sources/cloudwatch/types.js +2 -0
  92. package/dist/features/sources/cloudwatch/types.js.map +1 -0
  93. package/dist/features/sources/grafana/controller.d.ts +18 -0
  94. package/dist/features/sources/grafana/controller.d.ts.map +1 -0
  95. package/dist/features/sources/grafana/controller.js +183 -0
  96. package/dist/features/sources/grafana/controller.js.map +1 -0
  97. package/dist/features/sources/grafana/routes.d.ts +6 -0
  98. package/dist/features/sources/grafana/routes.d.ts.map +1 -0
  99. package/dist/features/sources/grafana/routes.js +6 -0
  100. package/dist/features/sources/grafana/routes.js.map +1 -0
  101. package/dist/features/sources/grafana/schema.d.ts +2 -0
  102. package/dist/features/sources/grafana/schema.d.ts.map +1 -0
  103. package/dist/features/sources/grafana/schema.js +24 -0
  104. package/dist/features/sources/grafana/schema.js.map +1 -0
  105. package/dist/features/sources/grafana/service.d.ts +33 -0
  106. package/dist/features/sources/grafana/service.d.ts.map +1 -0
  107. package/dist/features/sources/grafana/service.js +215 -0
  108. package/dist/features/sources/grafana/service.js.map +1 -0
  109. package/dist/features/sources/index.d.ts +29 -0
  110. package/dist/features/sources/index.d.ts.map +1 -0
  111. package/dist/features/sources/index.js +47 -0
  112. package/dist/features/sources/index.js.map +1 -0
  113. package/dist/features/sources/observability/controller.d.ts +6 -0
  114. package/dist/features/sources/observability/controller.d.ts.map +1 -0
  115. package/dist/features/sources/observability/controller.js +16 -0
  116. package/dist/features/sources/observability/controller.js.map +1 -0
  117. package/dist/features/sources/observability/routes.d.ts +4 -0
  118. package/dist/features/sources/observability/routes.d.ts.map +1 -0
  119. package/dist/features/sources/observability/routes.js +8 -0
  120. package/dist/features/sources/observability/routes.js.map +1 -0
  121. package/dist/features/sources/observability/schema.d.ts +3 -0
  122. package/dist/features/sources/observability/schema.d.ts.map +1 -0
  123. package/dist/features/sources/observability/schema.js +44 -0
  124. package/dist/features/sources/observability/schema.js.map +1 -0
  125. package/dist/features/sources/observability/service.d.ts +36 -0
  126. package/dist/features/sources/observability/service.d.ts.map +1 -0
  127. package/dist/features/sources/observability/service.js +127 -0
  128. package/dist/features/sources/observability/service.js.map +1 -0
  129. package/dist/features/sources/prometheus/controller.d.ts +9 -0
  130. package/dist/features/sources/prometheus/controller.d.ts.map +1 -0
  131. package/dist/features/sources/prometheus/controller.js +359 -0
  132. package/dist/features/sources/prometheus/controller.js.map +1 -0
  133. package/dist/features/sources/prometheus/templates.d.ts +18 -0
  134. package/dist/features/sources/prometheus/templates.d.ts.map +1 -0
  135. package/dist/features/sources/prometheus/templates.js +244 -0
  136. package/dist/features/sources/prometheus/templates.js.map +1 -0
  137. package/dist/index.d.ts +7 -0
  138. package/dist/index.d.ts.map +1 -0
  139. package/dist/index.js +7 -0
  140. package/dist/index.js.map +1 -0
  141. package/dist/migrations/0007_pipeline_yaml_definitions.d.ts +3 -0
  142. package/dist/migrations/0007_pipeline_yaml_definitions.d.ts.map +1 -0
  143. package/dist/migrations/0007_pipeline_yaml_definitions.js +19 -0
  144. package/dist/migrations/0007_pipeline_yaml_definitions.js.map +1 -0
  145. package/dist/migrations/0008_tenant_isolation.d.ts +3 -0
  146. package/dist/migrations/0008_tenant_isolation.d.ts.map +1 -0
  147. package/dist/migrations/0008_tenant_isolation.js +42 -0
  148. package/dist/migrations/0008_tenant_isolation.js.map +1 -0
  149. package/dist/migrations/run.d.ts +6 -0
  150. package/dist/migrations/run.d.ts.map +1 -0
  151. package/dist/migrations/run.js +1262 -0
  152. package/dist/migrations/run.js.map +1 -0
  153. package/dist/models/alarm-group.model.d.ts +42 -0
  154. package/dist/models/alarm-group.model.d.ts.map +1 -0
  155. package/dist/models/alarm-group.model.js +98 -0
  156. package/dist/models/alarm-group.model.js.map +1 -0
  157. package/dist/models/alert.model.d.ts +54 -0
  158. package/dist/models/alert.model.d.ts.map +1 -0
  159. package/dist/models/alert.model.js +119 -0
  160. package/dist/models/alert.model.js.map +1 -0
  161. package/dist/models/dedup-config.model.d.ts +53 -0
  162. package/dist/models/dedup-config.model.d.ts.map +1 -0
  163. package/dist/models/dedup-config.model.js +157 -0
  164. package/dist/models/dedup-config.model.js.map +1 -0
  165. package/dist/models/grouping-config.model.d.ts +70 -0
  166. package/dist/models/grouping-config.model.d.ts.map +1 -0
  167. package/dist/models/grouping-config.model.js +174 -0
  168. package/dist/models/grouping-config.model.js.map +1 -0
  169. package/dist/models/incident-comment.model.d.ts +14 -0
  170. package/dist/models/incident-comment.model.d.ts.map +1 -0
  171. package/dist/models/incident-comment.model.js +38 -0
  172. package/dist/models/incident-comment.model.js.map +1 -0
  173. package/dist/models/incident-event.model.d.ts +16 -0
  174. package/dist/models/incident-event.model.d.ts.map +1 -0
  175. package/dist/models/incident-event.model.js +31 -0
  176. package/dist/models/incident-event.model.js.map +1 -0
  177. package/dist/models/incident.model.d.ts +47 -0
  178. package/dist/models/incident.model.d.ts.map +1 -0
  179. package/dist/models/incident.model.js +201 -0
  180. package/dist/models/incident.model.js.map +1 -0
  181. package/dist/models/normalization-config.model.d.ts +44 -0
  182. package/dist/models/normalization-config.model.d.ts.map +1 -0
  183. package/dist/models/normalization-config.model.js +153 -0
  184. package/dist/models/normalization-config.model.js.map +1 -0
  185. package/dist/models/notification-provider.model.d.ts +12 -0
  186. package/dist/models/notification-provider.model.d.ts.map +1 -0
  187. package/dist/models/notification-provider.model.js +48 -0
  188. package/dist/models/notification-provider.model.js.map +1 -0
  189. package/dist/models/pipeline-event.model.d.ts +15 -0
  190. package/dist/models/pipeline-event.model.d.ts.map +1 -0
  191. package/dist/models/pipeline-event.model.js +32 -0
  192. package/dist/models/pipeline-event.model.js.map +1 -0
  193. package/dist/models/settings.model.d.ts +8 -0
  194. package/dist/models/settings.model.d.ts.map +1 -0
  195. package/dist/models/settings.model.js +30 -0
  196. package/dist/models/settings.model.js.map +1 -0
  197. package/dist/models/sop.model.d.ts +58 -0
  198. package/dist/models/sop.model.d.ts.map +1 -0
  199. package/dist/models/sop.model.js +138 -0
  200. package/dist/models/sop.model.js.map +1 -0
  201. package/dist/models/source.model.d.ts +177 -0
  202. package/dist/models/source.model.d.ts.map +1 -0
  203. package/dist/models/source.model.js +794 -0
  204. package/dist/models/source.model.js.map +1 -0
  205. package/dist/models/tenant.model.d.ts +13 -0
  206. package/dist/models/tenant.model.d.ts.map +1 -0
  207. package/dist/models/tenant.model.js +28 -0
  208. package/dist/models/tenant.model.js.map +1 -0
  209. package/dist/models/workflow.model.d.ts +36 -0
  210. package/dist/models/workflow.model.d.ts.map +1 -0
  211. package/dist/models/workflow.model.js +136 -0
  212. package/dist/models/workflow.model.js.map +1 -0
  213. package/dist/pipeline/AlarmPipelineWorker.d.ts +18 -0
  214. package/dist/pipeline/AlarmPipelineWorker.d.ts.map +1 -0
  215. package/dist/pipeline/AlarmPipelineWorker.js +342 -0
  216. package/dist/pipeline/AlarmPipelineWorker.js.map +1 -0
  217. package/dist/pipeline/CanonicalAlarm.d.ts +59 -0
  218. package/dist/pipeline/CanonicalAlarm.d.ts.map +1 -0
  219. package/dist/pipeline/CanonicalAlarm.js +81 -0
  220. package/dist/pipeline/CanonicalAlarm.js.map +1 -0
  221. package/dist/pipeline/DedupService.d.ts +29 -0
  222. package/dist/pipeline/DedupService.d.ts.map +1 -0
  223. package/dist/pipeline/DedupService.js +172 -0
  224. package/dist/pipeline/DedupService.js.map +1 -0
  225. package/dist/pipeline/GroupFlushWorker.d.ts +16 -0
  226. package/dist/pipeline/GroupFlushWorker.d.ts.map +1 -0
  227. package/dist/pipeline/GroupFlushWorker.js +196 -0
  228. package/dist/pipeline/GroupFlushWorker.js.map +1 -0
  229. package/dist/pipeline/GroupingService.d.ts +27 -0
  230. package/dist/pipeline/GroupingService.d.ts.map +1 -0
  231. package/dist/pipeline/GroupingService.js +338 -0
  232. package/dist/pipeline/GroupingService.js.map +1 -0
  233. package/dist/pipeline/NormalizationRuleEngine.d.ts +5 -0
  234. package/dist/pipeline/NormalizationRuleEngine.d.ts.map +1 -0
  235. package/dist/pipeline/NormalizationRuleEngine.js +86 -0
  236. package/dist/pipeline/NormalizationRuleEngine.js.map +1 -0
  237. package/dist/pipeline/NormalizationService.d.ts +29 -0
  238. package/dist/pipeline/NormalizationService.d.ts.map +1 -0
  239. package/dist/pipeline/NormalizationService.js +275 -0
  240. package/dist/pipeline/NormalizationService.js.map +1 -0
  241. package/dist/pipeline/alarmQueue.d.ts +66 -0
  242. package/dist/pipeline/alarmQueue.d.ts.map +1 -0
  243. package/dist/pipeline/alarmQueue.js +254 -0
  244. package/dist/pipeline/alarmQueue.js.map +1 -0
  245. package/dist/pipeline/defaults/ensureDefaults.d.ts +3 -0
  246. package/dist/pipeline/defaults/ensureDefaults.d.ts.map +1 -0
  247. package/dist/pipeline/defaults/ensureDefaults.js +124 -0
  248. package/dist/pipeline/defaults/ensureDefaults.js.map +1 -0
  249. package/dist/pipeline/defaults/pipelineDefaults.d.ts +13 -0
  250. package/dist/pipeline/defaults/pipelineDefaults.d.ts.map +1 -0
  251. package/dist/pipeline/defaults/pipelineDefaults.js +266 -0
  252. package/dist/pipeline/defaults/pipelineDefaults.js.map +1 -0
  253. package/dist/pipeline/yaml/DedupYaml.d.ts +33 -0
  254. package/dist/pipeline/yaml/DedupYaml.d.ts.map +1 -0
  255. package/dist/pipeline/yaml/DedupYaml.js +25 -0
  256. package/dist/pipeline/yaml/DedupYaml.js.map +1 -0
  257. package/dist/pipeline/yaml/GroupingYaml.d.ts +49 -0
  258. package/dist/pipeline/yaml/GroupingYaml.d.ts.map +1 -0
  259. package/dist/pipeline/yaml/GroupingYaml.js +39 -0
  260. package/dist/pipeline/yaml/GroupingYaml.js.map +1 -0
  261. package/dist/pipeline/yaml/NormalizationYaml.d.ts +54 -0
  262. package/dist/pipeline/yaml/NormalizationYaml.d.ts.map +1 -0
  263. package/dist/pipeline/yaml/NormalizationYaml.js +23 -0
  264. package/dist/pipeline/yaml/NormalizationYaml.js.map +1 -0
  265. package/dist/pipeline/yaml/pipelineYaml.d.ts +11 -0
  266. package/dist/pipeline/yaml/pipelineYaml.d.ts.map +1 -0
  267. package/dist/pipeline/yaml/pipelineYaml.js +49 -0
  268. package/dist/pipeline/yaml/pipelineYaml.js.map +1 -0
  269. package/dist/realtime/events.d.ts +11 -0
  270. package/dist/realtime/events.d.ts.map +1 -0
  271. package/dist/realtime/events.js +21 -0
  272. package/dist/realtime/events.js.map +1 -0
  273. package/dist/routes/alert.routes.d.ts +4 -0
  274. package/dist/routes/alert.routes.d.ts.map +1 -0
  275. package/dist/routes/alert.routes.js +15 -0
  276. package/dist/routes/alert.routes.js.map +1 -0
  277. package/dist/routes/dedup-config.routes.d.ts +4 -0
  278. package/dist/routes/dedup-config.routes.d.ts.map +1 -0
  279. package/dist/routes/dedup-config.routes.js +82 -0
  280. package/dist/routes/dedup-config.routes.js.map +1 -0
  281. package/dist/routes/grouping-config.routes.d.ts +4 -0
  282. package/dist/routes/grouping-config.routes.d.ts.map +1 -0
  283. package/dist/routes/grouping-config.routes.js +82 -0
  284. package/dist/routes/grouping-config.routes.js.map +1 -0
  285. package/dist/routes/incident.routes.d.ts +4 -0
  286. package/dist/routes/incident.routes.d.ts.map +1 -0
  287. package/dist/routes/incident.routes.js +21 -0
  288. package/dist/routes/incident.routes.js.map +1 -0
  289. package/dist/routes/index.d.ts +47 -0
  290. package/dist/routes/index.d.ts.map +1 -0
  291. package/dist/routes/index.js +83 -0
  292. package/dist/routes/index.js.map +1 -0
  293. package/dist/routes/normalization-config.routes.d.ts +4 -0
  294. package/dist/routes/normalization-config.routes.d.ts.map +1 -0
  295. package/dist/routes/normalization-config.routes.js +199 -0
  296. package/dist/routes/normalization-config.routes.js.map +1 -0
  297. package/dist/routes/notification-provider.routes.d.ts +4 -0
  298. package/dist/routes/notification-provider.routes.d.ts.map +1 -0
  299. package/dist/routes/notification-provider.routes.js +13 -0
  300. package/dist/routes/notification-provider.routes.js.map +1 -0
  301. package/dist/routes/pipeline.routes.d.ts +8 -0
  302. package/dist/routes/pipeline.routes.d.ts.map +1 -0
  303. package/dist/routes/pipeline.routes.js +243 -0
  304. package/dist/routes/pipeline.routes.js.map +1 -0
  305. package/dist/routes/settings.routes.d.ts +4 -0
  306. package/dist/routes/settings.routes.d.ts.map +1 -0
  307. package/dist/routes/settings.routes.js +10 -0
  308. package/dist/routes/settings.routes.js.map +1 -0
  309. package/dist/routes/sop.routes.d.ts +4 -0
  310. package/dist/routes/sop.routes.d.ts.map +1 -0
  311. package/dist/routes/sop.routes.js +14 -0
  312. package/dist/routes/sop.routes.js.map +1 -0
  313. package/dist/routes/source.routes.d.ts +9 -0
  314. package/dist/routes/source.routes.d.ts.map +1 -0
  315. package/dist/routes/source.routes.js +31 -0
  316. package/dist/routes/source.routes.js.map +1 -0
  317. package/dist/routes/tenant.routes.d.ts +4 -0
  318. package/dist/routes/tenant.routes.d.ts.map +1 -0
  319. package/dist/routes/tenant.routes.js +10 -0
  320. package/dist/routes/tenant.routes.js.map +1 -0
  321. package/dist/routes/workflow.routes.d.ts +4 -0
  322. package/dist/routes/workflow.routes.d.ts.map +1 -0
  323. package/dist/routes/workflow.routes.js +18 -0
  324. package/dist/routes/workflow.routes.js.map +1 -0
  325. package/dist/server.d.ts +22 -0
  326. package/dist/server.d.ts.map +1 -0
  327. package/dist/server.js +76 -0
  328. package/dist/server.js.map +1 -0
  329. package/dist/service.d.ts +159 -0
  330. package/dist/service.d.ts.map +1 -0
  331. package/dist/service.js +156 -0
  332. package/dist/service.js.map +1 -0
  333. package/dist/services/alert.service.d.ts +76 -0
  334. package/dist/services/alert.service.d.ts.map +1 -0
  335. package/dist/services/alert.service.js +688 -0
  336. package/dist/services/alert.service.js.map +1 -0
  337. package/dist/services/connector.service.d.ts +65 -0
  338. package/dist/services/connector.service.d.ts.map +1 -0
  339. package/dist/services/connector.service.js +28 -0
  340. package/dist/services/connector.service.js.map +1 -0
  341. package/dist/services/incident.service.d.ts +108 -0
  342. package/dist/services/incident.service.d.ts.map +1 -0
  343. package/dist/services/incident.service.js +325 -0
  344. package/dist/services/incident.service.js.map +1 -0
  345. package/dist/services/notification-provider.service.d.ts +12 -0
  346. package/dist/services/notification-provider.service.d.ts.map +1 -0
  347. package/dist/services/notification-provider.service.js +25 -0
  348. package/dist/services/notification-provider.service.js.map +1 -0
  349. package/dist/services/settings.service.d.ts +8 -0
  350. package/dist/services/settings.service.d.ts.map +1 -0
  351. package/dist/services/settings.service.js +14 -0
  352. package/dist/services/settings.service.js.map +1 -0
  353. package/dist/services/sop.service.d.ts +60 -0
  354. package/dist/services/sop.service.d.ts.map +1 -0
  355. package/dist/services/sop.service.js +66 -0
  356. package/dist/services/sop.service.js.map +1 -0
  357. package/dist/services/source.service.d.ts +162 -0
  358. package/dist/services/source.service.d.ts.map +1 -0
  359. package/dist/services/source.service.js +124 -0
  360. package/dist/services/source.service.js.map +1 -0
  361. package/dist/services/tenant.service.d.ts +11 -0
  362. package/dist/services/tenant.service.d.ts.map +1 -0
  363. package/dist/services/tenant.service.js +22 -0
  364. package/dist/services/tenant.service.js.map +1 -0
  365. package/dist/services/workflow.service.d.ts +32 -0
  366. package/dist/services/workflow.service.d.ts.map +1 -0
  367. package/dist/services/workflow.service.js +291 -0
  368. package/dist/services/workflow.service.js.map +1 -0
  369. package/dist/standalone.d.ts +2 -0
  370. package/dist/standalone.d.ts.map +1 -0
  371. package/dist/standalone.js +55 -0
  372. package/dist/standalone.js.map +1 -0
  373. package/dist/tenancy.d.ts +5 -0
  374. package/dist/tenancy.d.ts.map +1 -0
  375. package/dist/tenancy.js +35 -0
  376. package/dist/tenancy.js.map +1 -0
  377. package/dist/utils/notificationTemplates.d.ts +98 -0
  378. package/dist/utils/notificationTemplates.d.ts.map +1 -0
  379. package/dist/utils/notificationTemplates.js +227 -0
  380. package/dist/utils/notificationTemplates.js.map +1 -0
  381. package/dist/utils/secretCrypto.d.ts +3 -0
  382. package/dist/utils/secretCrypto.d.ts.map +1 -0
  383. package/dist/utils/secretCrypto.js +40 -0
  384. package/dist/utils/secretCrypto.js.map +1 -0
  385. package/dist/utils/workflowYaml.d.ts +53 -0
  386. package/dist/utils/workflowYaml.d.ts.map +1 -0
  387. package/dist/utils/workflowYaml.js +269 -0
  388. package/dist/utils/workflowYaml.js.map +1 -0
  389. package/package.json +73 -0
@@ -0,0 +1,124 @@
1
+ import { eq, and } from "drizzle-orm";
2
+ import { PipelineDefaults } from "./pipelineDefaults.js";
3
+ import { parseGroupingYaml, parseDedupYaml, parseNormalizationYaml } from "../yaml/pipelineYaml.js";
4
+ import { insightGroupingConfigs, insightDedupConfigs, insightNormalizationConfigs, insightWorkflows } from "../../database/schema.js";
5
+ export async function ensureSourcePipelineDefaults(db, sourceId, sourceType, tenantId) {
6
+ if (!sourceId || !sourceType)
7
+ return;
8
+ const configs = PipelineDefaults[sourceType];
9
+ if (!configs)
10
+ return;
11
+ try {
12
+ // 1. Check Grouping
13
+ if (configs.grouping) {
14
+ const existingGrouping = await db.select({ id: insightGroupingConfigs.id })
15
+ .from(insightGroupingConfigs)
16
+ .where(and(eq(insightGroupingConfigs.sourceId, sourceId), eq(insightGroupingConfigs.isSystem, true)))
17
+ .limit(1);
18
+ if (existingGrouping.length === 0) {
19
+ const parsed = parseGroupingYaml(configs.grouping.yamlDefinition);
20
+ if (parsed.ok) {
21
+ await db.insert(insightGroupingConfigs).values({
22
+ name: parsed.data.name || `${sourceType} Default Grouping`,
23
+ priority: parsed.data.priority || 10,
24
+ isActive: true,
25
+ sourceId,
26
+ sourceType,
27
+ groupBy: parsed.data.default_key || ["resourceId"],
28
+ timeoutSeconds: parsed.data.window_seconds || 600,
29
+ maxAlarms: parsed.data.max_alarms || 50,
30
+ yamlDefinition: configs.grouping.yamlDefinition,
31
+ isSystem: true,
32
+ tenantId
33
+ });
34
+ }
35
+ }
36
+ }
37
+ // 2. Check Dedup
38
+ if (configs.dedup) {
39
+ const existingDedup = await db.select({ id: insightDedupConfigs.id })
40
+ .from(insightDedupConfigs)
41
+ .where(and(eq(insightDedupConfigs.sourceId, sourceId), eq(insightDedupConfigs.isSystem, true)))
42
+ .limit(1);
43
+ if (existingDedup.length === 0) {
44
+ const parsed = parseDedupYaml(configs.dedup.yamlDefinition);
45
+ if (parsed.ok) {
46
+ await db.insert(insightDedupConfigs).values({
47
+ name: parsed.data.name || `${sourceType} Default Dedup`,
48
+ priority: parsed.data.priority || 10,
49
+ isActive: true,
50
+ sourceId,
51
+ sourceType,
52
+ windowSeconds: parsed.data.window_seconds || 300,
53
+ keyFields: parsed.data.fingerprint?.fields || [],
54
+ flapThreshold: 4,
55
+ flapWindowSeconds: 600,
56
+ onFlap: "none",
57
+ yamlDefinition: configs.dedup.yamlDefinition,
58
+ isSystem: true,
59
+ tenantId
60
+ });
61
+ }
62
+ }
63
+ }
64
+ // 3. Check Normalization
65
+ if (configs.normalization) {
66
+ const existingNorm = await db.select({ id: insightNormalizationConfigs.id })
67
+ .from(insightNormalizationConfigs)
68
+ .where(and(eq(insightNormalizationConfigs.sourceId, sourceId), eq(insightNormalizationConfigs.isSystem, true)))
69
+ .limit(1);
70
+ if (existingNorm.length === 0) {
71
+ const parsed = parseNormalizationYaml(configs.normalization.yamlDefinition);
72
+ if (parsed.ok) {
73
+ await db.insert(insightNormalizationConfigs).values({
74
+ name: parsed.data.name || `${sourceType} Default Normalization`,
75
+ priority: parsed.data.priority || 10,
76
+ isActive: true,
77
+ sourceId,
78
+ sourceType,
79
+ fieldMapping: configs.normalization.fieldMapping,
80
+ yamlDefinition: configs.normalization.yamlDefinition,
81
+ isSystem: true,
82
+ tenantId
83
+ });
84
+ }
85
+ }
86
+ }
87
+ // 4. Check Workflows
88
+ const existingWorkflow = await db.select({ id: insightWorkflows.id })
89
+ .from(insightWorkflows)
90
+ .where(eq(insightWorkflows.sourceId, sourceId))
91
+ .limit(1);
92
+ if (existingWorkflow.length === 0) {
93
+ await db.insert(insightWorkflows).values({
94
+ name: `${sourceType} Default Workflow`,
95
+ priority: 10,
96
+ isActive: true,
97
+ sourceId,
98
+ yamlDefinition: `name: ${sourceType} Default Workflow
99
+ version: 1
100
+ enabled: true
101
+ active: true
102
+
103
+ triggers:
104
+ severity:
105
+ - critical
106
+ - high
107
+
108
+ actions:
109
+ - type: create_incident
110
+ config:
111
+ priority: P1
112
+ `,
113
+ tenantId
114
+ });
115
+ }
116
+ }
117
+ catch (err) {
118
+ console.error("Failed to ensure source pipeline defaults:", err);
119
+ }
120
+ }
121
+ export async function ensureTenantPipelineDefaults(db, tenantId) {
122
+ // Legacy method: do nothing for global tenant defaults now that we are per-source.
123
+ }
124
+ //# sourceMappingURL=ensureDefaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureDefaults.js","sourceRoot":"","sources":["../../../src/pipeline/defaults/ensureDefaults.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export declare const PipelineDefaults: Record<string, {
2
+ normalization?: {
3
+ fieldMapping: string;
4
+ yamlDefinition: string;
5
+ };
6
+ dedup?: {
7
+ yamlDefinition: string;
8
+ };
9
+ grouping?: {
10
+ yamlDefinition: string;
11
+ };
12
+ }>;
13
+ //# sourceMappingURL=pipelineDefaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipelineDefaults.d.ts","sourceRoot":"","sources":["../../../src/pipeline/defaults/pipelineDefaults.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE;IAC5C,aAAa,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,KAAK,CAAC,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,QAAQ,CAAC,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CACvC,CAwQA,CAAC"}
@@ -0,0 +1,266 @@
1
+ export const PipelineDefaults = {
2
+ cloudtrail: {
3
+ normalization: {
4
+ fieldMapping: `
5
+ resourceId: >-
6
+ {{#if detail.responseElements.instancesSet.items.[0].instanceId}}
7
+ {{detail.responseElements.instancesSet.items.[0].instanceId}}
8
+ {{else if detail.requestParameters.instanceId}}
9
+ {{detail.requestParameters.instanceId}}
10
+ {{else}}
11
+ {{detail.eventSource}}/{{detail.eventName}}
12
+ {{/if}}
13
+ resourceName: >-
14
+ {{#if detail.responseElements.instancesSet.items.[0].instanceId}}
15
+ {{detail.responseElements.instancesSet.items.[0].instanceId}}
16
+ {{else if detail.requestParameters.instanceId}}
17
+ {{detail.requestParameters.instanceId}}
18
+ {{else}}
19
+ {{detail.eventName}}
20
+ {{/if}}
21
+ resourceType: "{{detail.eventSource}}"
22
+ alertName: "{{detail.eventName}} ({{detail.eventSource}})"
23
+ description: "{{detail.eventName}} by {{default detail.userIdentity.arn detail.userIdentity.type}} from {{detail.sourceIPAddress}}"
24
+ eventTime: "{{default detail.eventTime time}}"
25
+ accountId: "{{default detail.recipientAccountId account}}"
26
+ region: "{{default detail.awsRegion region}}"
27
+ action: "{{detail.eventName}}"
28
+ actorType: "{{detail.userIdentity.type}}"
29
+ actorPrincipalId: "{{detail.userIdentity.principalId}}"
30
+ actorArn: "{{detail.userIdentity.arn}}"
31
+ actorUsername: "{{detail.userIdentity.userName}}"
32
+ actorAccessKeyId: "{{detail.userIdentity.accessKeyId}}"
33
+ sourceIp: "{{detail.sourceIPAddress}}"
34
+ userAgent: "{{detail.userAgent}}"
35
+ errorCode: "{{detail.errorCode}}"
36
+ outcome: "{{#if detail.errorCode}}failure{{else}}success{{/if}}"
37
+ consoleLoginResult: "{{detail.responseElements.ConsoleLogin}}"
38
+ mfaUsed: "{{detail.additionalEventData.MFAUsed}}"
39
+ `.trim(),
40
+ yamlDefinition: `
41
+ name: "CloudTrail Default Normalization"
42
+ priority: 10
43
+ is_active: true
44
+ source_type: "cloudtrail"
45
+ category_rules:
46
+ - match: { action_in: [StopLogging, DeleteTrail, UpdateTrail, PutEventSelectors, DeleteEventDataStore, CreateTrail, DeleteDetector, UpdateDetector, StopConfigurationRecorder, DeleteConfigurationRecorder, DeleteDeliveryChannel, DisableSecurityHub, BatchDisableStandards, DeleteMembers] }
47
+ category: "logging"
48
+ tags: ["anti-tamper"]
49
+ - match: { action_prefix_in: [Create, Delete, Attach, Detach, Put, Update], service: "iam" }
50
+ category: "iam"
51
+ - match: { service: "kms" }
52
+ category: "data"
53
+ - match: { service: "s3" }
54
+ category: "data"
55
+ - match: { service: "rds" }
56
+ category: "data"
57
+ - match: { service: ["ec2"] }
58
+ category: "network"
59
+ - match: { service: ["lambda", "ssm", "secretsmanager"] }
60
+ category: "compute"
61
+ - match: { service: "organizations" }
62
+ category: "identity"
63
+ - match: { detail_type: "AWS Console Sign In via CloudTrail" }
64
+ category: "identity"
65
+ - default: { category: "other" }
66
+ severity_rules:
67
+ - when: "is_root == true"
68
+ severity: "critical"
69
+ tags: ["root-activity"]
70
+ - when: { tags_contains: "anti-tamper" }
71
+ severity: "critical"
72
+ - when: { action_in: [ScheduleKeyDeletion, DisableKey, DisableKeyRotation, PutKeyPolicy, DeleteAlias] }
73
+ severity: "critical"
74
+ - when: { action_in: [DeactivateMFADevice, UpdateAccountPasswordPolicy, DeleteAccountPasswordPolicy] }
75
+ severity: "critical"
76
+ - when: { action_in: [LeaveOrganization, RemoveAccountFromOrganization, DeletePolicy, DetachPolicy, DisablePolicyType], service: organizations }
77
+ severity: "critical"
78
+ - when: { action_in: [PutBucketPublicAccessBlock, DeletePublicAccessBlock] }
79
+ severity: "critical"
80
+ - when: { detail_type: "AWS Console Sign In via CloudTrail", console_login_result: "Failure" }
81
+ severity: "high"
82
+ - when: { action_in: [CreateAccessKey, AttachUserPolicy, AttachRolePolicy, PutUserPolicy, PutRolePolicy, CreateSAMLProvider, UpdateSAMLProvider, CreateOpenIDConnectProvider, UpdateOpenIDConnectProvider] }
83
+ severity: "high"
84
+ - when: { action_in: [PutBucketPolicy, DeleteBucketPolicy, PutBucketAcl, PutBucketEncryption, DeleteBucketEncryption, DeleteBucket] }
85
+ severity: "high"
86
+ - when: { action_in: [AddPermission, CreateFunction, UpdateFunctionCode, CreateEventSourceMapping, SendCommand, StartSession, PutParameter, DeleteParameter, DeleteSecret, PutResourcePolicy] }
87
+ severity: "high"
88
+ - when: { action_in: [ModifyDBInstance, ModifyDBSnapshotAttribute, DeleteDBInstance, RestoreDBInstanceFromDBSnapshot] }
89
+ severity: "high"
90
+ - when: { category: "network" }
91
+ severity: "high"
92
+ - when: { action_in: [RunInstances, StartInstances, StopInstances, RebootInstances, TerminateInstances] }
93
+ severity: "medium"
94
+ - default: { severity: "medium" }
95
+ `.trim()
96
+ },
97
+ dedup: {
98
+ yamlDefinition: `
99
+ name: "CloudTrail Default Deduplication"
100
+ priority: 10
101
+ is_active: true
102
+ source_type: "cloudtrail"
103
+ window_seconds: 300
104
+ fingerprint:
105
+ algo: "sha256"
106
+ fields: ["source", "resourceId", "alertName", "state"]
107
+ excluded: ["downTime", "rawPayload"]
108
+ on_hit:
109
+ action: "increment_counter"
110
+ on_miss:
111
+ action: "pass_to_grouping"
112
+ cache_ttl_seconds: 300
113
+ `.trim()
114
+ },
115
+ grouping: {
116
+ yamlDefinition: `
117
+ name: "CloudTrail Default Grouping"
118
+ priority: 10
119
+ is_active: true
120
+ source_type: "cloudtrail"
121
+ default_key: ["resourceId", "alertName"]
122
+ window_seconds: 300
123
+ group_name: "{{alertName}}"
124
+ incident_title: "{{count}} alerts on {{resourceName}}"
125
+ max_alarms: 50
126
+ incident_severity: "max_of_members"
127
+ strategies:
128
+ - name: "resource_focus"
129
+ priority: 1
130
+ key: ["resourceId"]
131
+ window_seconds: 300
132
+ label: "Multiple events on one resource"
133
+ - name: "event_focus"
134
+ priority: 2
135
+ key: ["alertName"]
136
+ window_seconds: 300
137
+ label: "Repeated security events"
138
+ notification:
139
+ suppress_duplicate_for_open_incident: true
140
+ digest_interval_seconds: 300
141
+ auto_resolve_on_recovery: true
142
+ `.trim()
143
+ }
144
+ },
145
+ cloudwatch: {
146
+ dedup: {
147
+ yamlDefinition: `
148
+ name: "CloudWatch Default Dedup"
149
+ priority: 10
150
+ is_active: true
151
+ source_type: "cloudwatch"
152
+ window_seconds: 300
153
+ fingerprint:
154
+ algo: "sha256"
155
+ fields: ["source", "resourceId", "metricName", "state"]
156
+ on_hit:
157
+ action: "increment_counter"
158
+ on_miss:
159
+ action: "pass_to_grouping"
160
+ `.trim()
161
+ },
162
+ grouping: {
163
+ yamlDefinition: `
164
+ name: "CloudWatch Default Grouping"
165
+ priority: 10
166
+ is_active: true
167
+ source_type: "cloudwatch"
168
+ default_key: ["resourceId"]
169
+ window_seconds: 300
170
+ max_alarms: 50
171
+ incident_severity: "max_of_members"
172
+ `.trim()
173
+ }
174
+ },
175
+ datadog: {
176
+ dedup: {
177
+ yamlDefinition: `
178
+ name: "Datadog Default Dedup"
179
+ priority: 10
180
+ is_active: true
181
+ source_type: "datadog"
182
+ window_seconds: 300
183
+ fingerprint:
184
+ algo: "sha256"
185
+ fields: ["source", "resourceId", "alertName", "state"]
186
+ on_hit:
187
+ action: "increment_counter"
188
+ on_miss:
189
+ action: "pass_to_grouping"
190
+ `.trim()
191
+ },
192
+ grouping: {
193
+ yamlDefinition: `
194
+ name: "Datadog Default Grouping"
195
+ priority: 10
196
+ is_active: true
197
+ source_type: "datadog"
198
+ default_key: ["resourceId"]
199
+ window_seconds: 300
200
+ max_alarms: 50
201
+ incident_severity: "max_of_members"
202
+ `.trim()
203
+ }
204
+ },
205
+ prometheus: {
206
+ dedup: {
207
+ yamlDefinition: `
208
+ name: "Prometheus Default Dedup"
209
+ priority: 10
210
+ is_active: true
211
+ source_type: "prometheus"
212
+ window_seconds: 300
213
+ fingerprint:
214
+ algo: "sha256"
215
+ fields: ["source", "resourceId", "alertName", "state"]
216
+ on_hit:
217
+ action: "increment_counter"
218
+ on_miss:
219
+ action: "pass_to_grouping"
220
+ `.trim()
221
+ },
222
+ grouping: {
223
+ yamlDefinition: `
224
+ name: "Prometheus Default Grouping"
225
+ priority: 10
226
+ is_active: true
227
+ source_type: "prometheus"
228
+ default_key: ["resourceId"]
229
+ window_seconds: 300
230
+ max_alarms: 50
231
+ incident_severity: "max_of_members"
232
+ `.trim()
233
+ }
234
+ },
235
+ grafana: {
236
+ dedup: {
237
+ yamlDefinition: `
238
+ name: "Grafana Default Dedup"
239
+ priority: 10
240
+ is_active: true
241
+ source_type: "grafana"
242
+ window_seconds: 300
243
+ fingerprint:
244
+ algo: "sha256"
245
+ fields: ["source", "resourceId", "alertName", "state"]
246
+ on_hit:
247
+ action: "increment_counter"
248
+ on_miss:
249
+ action: "pass_to_grouping"
250
+ `.trim()
251
+ },
252
+ grouping: {
253
+ yamlDefinition: `
254
+ name: "Grafana Default Grouping"
255
+ priority: 10
256
+ is_active: true
257
+ source_type: "grafana"
258
+ default_key: ["resourceId"]
259
+ window_seconds: 300
260
+ max_alarms: 50
261
+ incident_severity: "max_of_members"
262
+ `.trim()
263
+ }
264
+ },
265
+ };
266
+ //# sourceMappingURL=pipelineDefaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipelineDefaults.js","sourceRoot":"","sources":["../../../src/pipeline/defaults/pipelineDefaults.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAIxB;IACH,UAAU,EAAE;QACV,aAAa,EAAE;YACb,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCb,CAAC,IAAI,EAAE;YACR,cAAc,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuDf,CAAC,IAAI,EAAE;SACT;QACD,KAAK,EAAE;YACL,cAAc,EAAE;;;;;;;;;;;;;;;OAef,CAAC,IAAI,EAAE;SACT;QACD,QAAQ,EAAE;YACR,cAAc,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;OA0Bf,CAAC,IAAI,EAAE;SACT;KACF;IACD,UAAU,EAAE;QACV,KAAK,EAAE;YACL,cAAc,EAAE;;;;;;;;;;;;;OAaf,CAAC,IAAI,EAAE;SACT;QACD,QAAQ,EAAE;YACR,cAAc,EAAE;;;;;;;;;OASf,CAAC,IAAI,EAAE;SACT;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE;YACL,cAAc,EAAE;;;;;;;;;;;;;OAaf,CAAC,IAAI,EAAE;SACT;QACD,QAAQ,EAAE;YACR,cAAc,EAAE;;;;;;;;;OASf,CAAC,IAAI,EAAE;SACT;KACF;IACD,UAAU,EAAE;QACV,KAAK,EAAE;YACL,cAAc,EAAE;;;;;;;;;;;;;OAaf,CAAC,IAAI,EAAE;SACT;QACD,QAAQ,EAAE;YACR,cAAc,EAAE;;;;;;;;;OASf,CAAC,IAAI,EAAE;SACT;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE;YACL,cAAc,EAAE;;;;;;;;;;;;;OAaf,CAAC,IAAI,EAAE;SACT;QACD,QAAQ,EAAE;YACR,cAAc,EAAE;;;;;;;;;OASf,CAAC,IAAI,EAAE;SACT;KACF;CACF,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { z } from "zod";
2
+ export declare const DedupYamlSchema: z.ZodObject<{
3
+ name: z.ZodString;
4
+ priority: z.ZodDefault<z.ZodNumber>;
5
+ is_active: z.ZodDefault<z.ZodBoolean>;
6
+ source_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7
+ source_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8
+ window_seconds: z.ZodDefault<z.ZodNumber>;
9
+ fingerprint: z.ZodObject<{
10
+ algo: z.ZodDefault<z.ZodEnum<{
11
+ sha256: "sha256";
12
+ md5: "md5";
13
+ }>>;
14
+ fields: z.ZodArray<z.ZodString>;
15
+ excluded: z.ZodOptional<z.ZodArray<z.ZodString>>;
16
+ }, z.core.$strip>;
17
+ window_overrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
18
+ on_hit: z.ZodObject<{
19
+ action: z.ZodEnum<{
20
+ increment_counter: "increment_counter";
21
+ suppress: "suppress";
22
+ elevate_severity: "elevate_severity";
23
+ }>;
24
+ update: z.ZodOptional<z.ZodArray<z.ZodString>>;
25
+ renotify_threshold: z.ZodOptional<z.ZodNumber>;
26
+ }, z.core.$strip>;
27
+ on_miss: z.ZodObject<{
28
+ action: z.ZodLiteral<"pass_to_grouping">;
29
+ }, z.core.$strip>;
30
+ cache_ttl_seconds: z.ZodOptional<z.ZodNumber>;
31
+ }, z.core.$strip>;
32
+ export type DedupYaml = z.infer<typeof DedupYamlSchema>;
33
+ //# sourceMappingURL=DedupYaml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DedupYaml.d.ts","sourceRoot":"","sources":["../../../src/pipeline/yaml/DedupYaml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsB1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { z } from "zod";
2
+ export const DedupYamlSchema = z.object({
3
+ name: z.string(),
4
+ priority: z.number().default(0),
5
+ is_active: z.boolean().default(true),
6
+ source_type: z.string().nullable().optional(),
7
+ source_id: z.string().nullable().optional(),
8
+ window_seconds: z.number().min(120).max(300).default(300),
9
+ fingerprint: z.object({
10
+ algo: z.enum(["sha256", "md5"]).default("sha256"),
11
+ fields: z.array(z.string()),
12
+ excluded: z.array(z.string()).optional(),
13
+ }),
14
+ window_overrides: z.record(z.string(), z.number().min(120).max(300)).optional(),
15
+ on_hit: z.object({
16
+ action: z.enum(["increment_counter", "suppress", "elevate_severity"]),
17
+ update: z.array(z.string()).optional(),
18
+ renotify_threshold: z.number().optional(),
19
+ }),
20
+ on_miss: z.object({
21
+ action: z.literal("pass_to_grouping"),
22
+ }),
23
+ cache_ttl_seconds: z.number().min(120).max(300).optional(),
24
+ });
25
+ //# sourceMappingURL=DedupYaml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DedupYaml.js","sourceRoot":"","sources":["../../../src/pipeline/yaml/DedupYaml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/B,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IACzD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACjD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACzC,CAAC;IACF,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/E,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,mBAAmB,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;QACrE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC1C,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;KACtC,CAAC;IACF,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CAC3D,CAAC,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { z } from "zod";
2
+ export declare const GroupingStrategySchema: z.ZodObject<{
3
+ name: z.ZodString;
4
+ priority: z.ZodNumber;
5
+ key: z.ZodArray<z.ZodString>;
6
+ window_seconds: z.ZodOptional<z.ZodNumber>;
7
+ min_events: z.ZodOptional<z.ZodNumber>;
8
+ signal_actions: z.ZodOptional<z.ZodArray<z.ZodString>>;
9
+ match: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
10
+ label: z.ZodOptional<z.ZodString>;
11
+ }, z.core.$strip>;
12
+ export declare const GroupingYamlSchema: z.ZodObject<{
13
+ name: z.ZodString;
14
+ priority: z.ZodDefault<z.ZodNumber>;
15
+ is_active: z.ZodDefault<z.ZodBoolean>;
16
+ source_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
17
+ source_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
18
+ default_key: z.ZodArray<z.ZodString>;
19
+ window_seconds: z.ZodDefault<z.ZodNumber>;
20
+ early_incident_delay_seconds: z.ZodDefault<z.ZodNumber>;
21
+ max_alarms: z.ZodDefault<z.ZodNumber>;
22
+ incident_title: z.ZodOptional<z.ZodString>;
23
+ use_ai_generate: z.ZodDefault<z.ZodBoolean>;
24
+ group_name: z.ZodOptional<z.ZodString>;
25
+ topology_tag_mapping: z.ZodOptional<z.ZodString>;
26
+ incident_severity: z.ZodDefault<z.ZodString>;
27
+ escalation: z.ZodOptional<z.ZodArray<z.ZodObject<{
28
+ when: z.ZodRecord<z.ZodString, z.ZodUnknown>;
29
+ set_severity: z.ZodString;
30
+ add_tag: z.ZodOptional<z.ZodString>;
31
+ }, z.core.$strip>>>;
32
+ strategies: z.ZodOptional<z.ZodArray<z.ZodObject<{
33
+ name: z.ZodString;
34
+ priority: z.ZodNumber;
35
+ key: z.ZodArray<z.ZodString>;
36
+ window_seconds: z.ZodOptional<z.ZodNumber>;
37
+ min_events: z.ZodOptional<z.ZodNumber>;
38
+ signal_actions: z.ZodOptional<z.ZodArray<z.ZodString>>;
39
+ match: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
40
+ label: z.ZodOptional<z.ZodString>;
41
+ }, z.core.$strip>>>;
42
+ notification: z.ZodOptional<z.ZodObject<{
43
+ suppress_duplicate_for_open_incident: z.ZodDefault<z.ZodBoolean>;
44
+ digest_interval_seconds: z.ZodDefault<z.ZodNumber>;
45
+ auto_resolve_on_recovery: z.ZodDefault<z.ZodBoolean>;
46
+ }, z.core.$strip>>;
47
+ }, z.core.$strip>;
48
+ export type GroupingYaml = z.infer<typeof GroupingYamlSchema>;
49
+ //# sourceMappingURL=GroupingYaml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupingYaml.d.ts","sourceRoot":"","sources":["../../../src/pipeline/yaml/GroupingYaml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;;;;;;iBASjC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0B7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { z } from "zod";
2
+ export const GroupingStrategySchema = z.object({
3
+ name: z.string(),
4
+ priority: z.number(),
5
+ key: z.array(z.string()),
6
+ window_seconds: z.number().min(120).max(300).optional(),
7
+ min_events: z.number().optional(),
8
+ signal_actions: z.array(z.string()).optional(),
9
+ match: z.record(z.string(), z.string()).optional(),
10
+ label: z.string().optional(),
11
+ });
12
+ export const GroupingYamlSchema = z.object({
13
+ name: z.string(),
14
+ priority: z.number().default(0),
15
+ is_active: z.boolean().default(true),
16
+ source_type: z.string().nullable().optional(),
17
+ source_id: z.string().nullable().optional(),
18
+ default_key: z.array(z.string()),
19
+ window_seconds: z.number().min(120).max(300).default(300),
20
+ early_incident_delay_seconds: z.number().min(0).max(120).default(120),
21
+ max_alarms: z.number().default(50),
22
+ incident_title: z.string().optional(),
23
+ use_ai_generate: z.boolean().default(false),
24
+ group_name: z.string().optional(),
25
+ topology_tag_mapping: z.string().optional(),
26
+ incident_severity: z.string().default("max_of_members"),
27
+ escalation: z.array(z.object({
28
+ when: z.record(z.string(), z.unknown()),
29
+ set_severity: z.string(),
30
+ add_tag: z.string().optional(),
31
+ })).optional(),
32
+ strategies: z.array(GroupingStrategySchema).optional(),
33
+ notification: z.object({
34
+ suppress_duplicate_for_open_incident: z.boolean().default(true),
35
+ digest_interval_seconds: z.number().default(300),
36
+ auto_resolve_on_recovery: z.boolean().default(false),
37
+ }).optional(),
38
+ });
39
+ //# sourceMappingURL=GroupingYaml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupingYaml.js","sourceRoot":"","sources":["../../../src/pipeline/yaml/GroupingYaml.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { z } from "zod";
2
+ export declare const CategoryRuleSchema: z.ZodObject<{
3
+ match: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
4
+ category: z.ZodString;
5
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
6
+ }, z.core.$strip>;
7
+ export declare const SeverityRuleSchema: z.ZodUnion<[z.ZodObject<{
8
+ when: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
9
+ severity: z.ZodEnum<{
10
+ high: "high";
11
+ critical: "critical";
12
+ medium: "medium";
13
+ low: "low";
14
+ }>;
15
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
16
+ }, z.core.$strip>, z.ZodObject<{
17
+ default: z.ZodObject<{
18
+ severity: z.ZodString;
19
+ }, z.core.$strip>;
20
+ }, z.core.$strip>]>;
21
+ export declare const NormalizationYamlSchema: z.ZodObject<{
22
+ name: z.ZodString;
23
+ priority: z.ZodDefault<z.ZodNumber>;
24
+ is_active: z.ZodDefault<z.ZodBoolean>;
25
+ source_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
26
+ source_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27
+ canonical_schema: z.ZodOptional<z.ZodArray<z.ZodString>>;
28
+ enrichment: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>>;
29
+ category_rules: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
30
+ match: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
31
+ category: z.ZodString;
32
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
33
+ }, z.core.$strip>, z.ZodObject<{
34
+ default: z.ZodObject<{
35
+ category: z.ZodString;
36
+ }, z.core.$strip>;
37
+ }, z.core.$strip>]>>>;
38
+ severity_rules: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
39
+ when: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
40
+ severity: z.ZodEnum<{
41
+ high: "high";
42
+ critical: "critical";
43
+ medium: "medium";
44
+ low: "low";
45
+ }>;
46
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
47
+ }, z.core.$strip>, z.ZodObject<{
48
+ default: z.ZodObject<{
49
+ severity: z.ZodString;
50
+ }, z.core.$strip>;
51
+ }, z.core.$strip>]>>>;
52
+ }, z.core.$strip>;
53
+ export type NormalizationYaml = z.infer<typeof NormalizationYamlSchema>;
54
+ //# sourceMappingURL=NormalizationYaml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NormalizationYaml.d.ts","sourceRoot":"","sources":["../../../src/pipeline/yaml/NormalizationYaml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;;;;iBAI7B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;mBAIiC,CAAC;AAEjE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}