@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 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,516 @@
1
+ import { real, pgSchema, uuid, text, varchar, integer, timestamp, jsonb, index, boolean, serial, uniqueIndex } from "drizzle-orm/pg-core";
2
+ import { createInsightGrafanaSourceSetups } from "../features/sources/grafana/schema.js";
3
+ import { createInsightSourceHealth, createInsightWebhookFailureLogs, } from "../features/sources/observability/schema.js";
4
+ import { createInsightCloudTrailSourceSetups } from "../features/sources/cloudtrail/schema.js";
5
+ const meyiconnect = pgSchema("meyiconnect");
6
+ export const insightTenants = meyiconnect.table("insight_tenants", {
7
+ id: text("id").primaryKey(),
8
+ name: text("name").notNull(),
9
+ isDefault: boolean("is_default").notNull().default(false),
10
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
11
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
12
+ });
13
+ // ─── Sources (webhook-based) ──────────────────────────────────────────────
14
+ export const insightSources = meyiconnect.table("insight_sources", {
15
+ id: uuid("id").primaryKey().defaultRandom(),
16
+ tenantId: text("tenant_id"),
17
+ name: text("name").notNull(),
18
+ type: text("type").notNull(), // 'meyi_pulse' | 'grafana' | 'datadog' | 'prometheus' | 'cloudwatch' | 'cloudtrail' | 'pagerduty' | 'custom'
19
+ webhookToken: text("webhook_token").notNull().unique(),
20
+ webhookAuthToken: text("webhook_auth_token"),
21
+ webhookTokenNeverExpires: boolean("webhook_token_never_expires").notNull().default(false),
22
+ webhookTokenExpiresAt: timestamp("webhook_token_expires_at", { withTimezone: true }),
23
+ isActive: boolean("is_active").notNull().default(true),
24
+ description: text("description"),
25
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
26
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
27
+ });
28
+ export const insightCloudWatchSourceSetups = meyiconnect.table("insight_cloudwatch_source_setups", {
29
+ id: uuid("id").primaryKey().defaultRandom(),
30
+ sourceId: uuid("source_id")
31
+ .notNull()
32
+ .references(() => insightSources.id, { onDelete: "cascade" }),
33
+ awsAccessKeyId: text("aws_access_key_id"),
34
+ awsSecretAccessKey: text("aws_secret_access_key"),
35
+ awsSessionToken: text("aws_session_token"),
36
+ awsRegion: text("aws_region"),
37
+ awsStackName: text("aws_stack_name"),
38
+ awsLambdaName: text("aws_lambda_name"),
39
+ awsAlarmNamePrefix: text("aws_alarm_name_prefix"),
40
+ awsSelectedAlarmNames: jsonb("aws_selected_alarm_names").default([]),
41
+ awsSelectedMetricKeys: jsonb("aws_selected_metric_keys").default([]),
42
+ awsDeploymentStatus: text("aws_deployment_status").notNull().default("not_started"),
43
+ awsDeploymentStatusReason: text("aws_deployment_status_reason"),
44
+ awsStackId: text("aws_stack_id"),
45
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
46
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
47
+ }, (t) => [
48
+ uniqueIndex("insight_cloudwatch_source_setups_source_unique").on(t.sourceId),
49
+ index("insight_cloudwatch_source_setups_status_idx").on(t.awsDeploymentStatus),
50
+ ]);
51
+ // ─── Projects (tag → dependencies mapping for RCA) ───────────────────────────
52
+ export const insightGrafanaSourceSetups = createInsightGrafanaSourceSetups(meyiconnect, insightSources);
53
+ export const insightSourceHealth = createInsightSourceHealth(meyiconnect, insightSources);
54
+ export const insightWebhookFailureLogs = createInsightWebhookFailureLogs(meyiconnect, insightSources);
55
+ export const insightCloudTrailSourceSetups = createInsightCloudTrailSourceSetups(meyiconnect, insightSources);
56
+ export const insightPrometheusSourceSetups = meyiconnect.table("insight_prometheus_source_setups", {
57
+ id: uuid("id").primaryKey().defaultRandom(),
58
+ sourceId: uuid("source_id")
59
+ .notNull()
60
+ .references(() => insightSources.id, { onDelete: "cascade" }),
61
+ prometheusEnvironment: text("prometheus_environment"),
62
+ prometheusReceiverName: text("prometheus_receiver_name"),
63
+ prometheusBaseUrl: text("prometheus_base_url"),
64
+ alertmanagerBaseUrl: text("alertmanager_base_url"),
65
+ prometheusSetupStatus: text("prometheus_setup_status").notNull().default("not_started"),
66
+ prometheusSetupStatusReason: text("prometheus_setup_status_reason"),
67
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
68
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
69
+ }, (t) => [
70
+ uniqueIndex("insight_prometheus_source_setups_source_unique").on(t.sourceId),
71
+ index("insight_prometheus_source_setups_status_idx").on(t.prometheusSetupStatus),
72
+ ]);
73
+ export const insightProjects = meyiconnect.table("insight_projects", {
74
+ id: uuid("id").primaryKey().defaultRandom(),
75
+ tenantId: text("tenant_id"),
76
+ name: text("name").notNull(),
77
+ tag: text("tag").notNull(), // matches alert.resourceTag, e.g. "checkout-api"
78
+ description: text("description"),
79
+ dependencies: jsonb("dependencies").default([]), // string[] — monitor/service names
80
+ awsAccessKeyId: text("aws_access_key_id"),
81
+ awsSecretAccessKey: text("aws_secret_access_key"),
82
+ awsRegion: text("aws_region"),
83
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
84
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
85
+ }, (t) => [
86
+ index("insight_projects_tag_idx").on(t.tag),
87
+ index("insight_projects_tenant_id_idx").on(t.tenantId),
88
+ uniqueIndex("insight_projects_tenant_tag_unique").on(t.tenantId, t.tag),
89
+ ]);
90
+ // ─── Incidents ───────────────────────────────────────────────────────────────
91
+ export const insightIncidents = meyiconnect.table("insight_incidents", {
92
+ id: uuid("id").primaryKey().defaultRandom(),
93
+ tenantId: text("tenant_id"),
94
+ aliasId: serial("alias_id"),
95
+ name: text("name").notNull(),
96
+ description: text("description"),
97
+ source: text("source").notNull(),
98
+ resourceName: text("resource_name").notNull(),
99
+ resourceType: text("resource_type").notNull(),
100
+ downMessage: text("down_message"),
101
+ downTime: text("down_time").notNull(),
102
+ tags: jsonb("tags").$type().notNull().default({}),
103
+ accountId: text("account_id"),
104
+ accountName: text("account_name"),
105
+ resolvedAt: timestamp("resolved_at", { withTimezone: true }),
106
+ status: text("status").notNull().default("open"), // 'open' | 'in_progress' | 'resolved' | 'closed'
107
+ analysisStatus: text("analysis_status").notNull().default("pending"),
108
+ analysisPercent: integer("analysis_percent").notNull().default(0),
109
+ analysisTriggeredAt: timestamp("analysis_triggered_at", {
110
+ withTimezone: true,
111
+ }),
112
+ analysisCompletedAt: timestamp("analysis_completed_at", {
113
+ withTimezone: true,
114
+ }),
115
+ analysisResult: jsonb("analysis_result"),
116
+ remediationSteps: jsonb("remediation_steps").default([]),
117
+ confidenceScore: real("confidence_score"),
118
+ aiModelUsed: text("ai_model_used"),
119
+ alertId: uuid("source_alert_id"),
120
+ assigneeIds: jsonb("assignee_ids").$type().default([]),
121
+ createdAt: timestamp("created_at", {
122
+ withTimezone: true,
123
+ })
124
+ .notNull()
125
+ .defaultNow(),
126
+ updatedAt: timestamp("updated_at", {
127
+ withTimezone: true,
128
+ })
129
+ .notNull()
130
+ .defaultNow(),
131
+ }, (t) => [
132
+ index("insight_incidents_name_idx").on(t.name),
133
+ index("insight_incidents_status_idx").on(t.analysisStatus),
134
+ index("insight_incidents_tags_idx").using("gin", t.tags),
135
+ index("insight_incidents_tenant_id_idx").on(t.tenantId),
136
+ ]);
137
+ // ─── Incident Logs ───────────────────────────────────────────────────────────
138
+ export const incidentComments = meyiconnect.table("incident_comments", {
139
+ id: uuid("id").primaryKey().defaultRandom(),
140
+ incidentId: uuid("incident_id")
141
+ .notNull()
142
+ .references(() => insightIncidents.id, { onDelete: "cascade" }),
143
+ authorId: text("author_id"),
144
+ authorName: text("author_name"),
145
+ message: text("message").notNull(),
146
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
147
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
148
+ }, (t) => [
149
+ index("incident_comments_incident_id_idx").on(t.incidentId),
150
+ index("incident_comments_created_at_idx").on(t.createdAt),
151
+ ]);
152
+ export const incidentEvents = meyiconnect.table("incident_events", {
153
+ id: uuid("id").primaryKey().defaultRandom(),
154
+ incidentId: uuid("incident_id")
155
+ .notNull()
156
+ .references(() => insightIncidents.id, { onDelete: "cascade" }),
157
+ type: text("type").notNull(), // 'created' | 'status_change' | 'assigned' | 'analysis' | 'comment'
158
+ actor: text("actor"),
159
+ message: text("message"),
160
+ beforeValue: text("before_value"),
161
+ afterValue: text("after_value"),
162
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
163
+ }, (t) => [
164
+ index("incident_events_incident_id_idx").on(t.incidentId),
165
+ index("incident_events_created_at_idx").on(t.createdAt),
166
+ ]);
167
+ export const incidentLogs = meyiconnect.table("incident_logs", {
168
+ id: uuid("id").primaryKey().defaultRandom(),
169
+ incidentId: uuid("incident_id")
170
+ .notNull()
171
+ .references(() => insightIncidents.id, {
172
+ onDelete: "cascade",
173
+ }),
174
+ ec2Details: jsonb("ec2_details"),
175
+ ec2StatusChecks: jsonb("ec2_status_checks"),
176
+ cloudwatchMetrics: jsonb("cloudwatch_metrics"),
177
+ rawLogs: jsonb("raw_logs"),
178
+ logsCount: integer("logs_count").default(0),
179
+ fetchedAt: timestamp("fetched_at", {
180
+ withTimezone: true,
181
+ })
182
+ .notNull()
183
+ .defaultNow(),
184
+ }, (t) => [
185
+ index("incident_logs_incident_id_idx").on(t.incidentId),
186
+ ]);
187
+ // ─── Incident Evidence ───────────────────────────────────────────────────────
188
+ export const incidentEvidence = meyiconnect.table("incident_evidence", {
189
+ id: uuid("id").primaryKey().defaultRandom(),
190
+ incidentId: uuid("incident_id")
191
+ .notNull()
192
+ .references(() => insightIncidents.id, { onDelete: "cascade" }),
193
+ evidenceText: jsonb("evidence_text").notNull().default([]),
194
+ investigationFindings: jsonb("investigation_findings").notNull().default([]),
195
+ rcaSignals: jsonb("rca_signals").notNull().default({}),
196
+ toolCallsMade: jsonb("tool_calls_made").notNull().default([]),
197
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
198
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
199
+ });
200
+ // ─── Settings ────────────────────────────────────────────────────────────────
201
+ export const insightSettings = meyiconnect.table("insight_settings", {
202
+ id: uuid("id").primaryKey().defaultRandom(),
203
+ tenantId: text("tenant_id"),
204
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
205
+ });
206
+ export const notificationProviders = meyiconnect.table("notification_providers", {
207
+ id: uuid("id").defaultRandom().primaryKey(),
208
+ tenantId: text("tenant_id"),
209
+ provider_name: varchar("provider_name", { length: 50 }).notNull(), // email, slack, msteams, whatsapp
210
+ display_name: varchar("display_name", { length: 100 }).notNull(),
211
+ is_enabled: boolean("is_enabled").default(false).notNull(),
212
+ config: jsonb("config"),
213
+ description: text("description"),
214
+ icon: text("icon"),
215
+ created_at: timestamp("created_at").defaultNow(),
216
+ updated_at: timestamp("updated_at").defaultNow(),
217
+ }, (t) => [
218
+ index("notification_providers_tenant_id_idx").on(t.tenantId),
219
+ uniqueIndex("notification_providers_tenant_name_unique").on(t.tenantId, t.provider_name),
220
+ ]);
221
+ // ─── Alerts ──────────────────────────────────────────────────────────────────
222
+ export const insightAlerts = meyiconnect.table("insight_alerts", {
223
+ id: uuid("id").primaryKey().defaultRandom(),
224
+ tenantId: text("tenant_id"),
225
+ aliasId: text("alias_id"),
226
+ // Source linkage (denormalized for display after source deletion)
227
+ sourceId: uuid("source_id").references(() => insightSources.id, { onDelete: "set null" }),
228
+ sourceName: text("source_name"),
229
+ sourceType: text("source_type"),
230
+ // Resource info extracted from webhook payload
231
+ resourceId: text("resource_id").notNull(),
232
+ resourceName: text("resource_name").notNull(),
233
+ resourceType: text("resource_type").notNull(),
234
+ accountId: text("account_id"),
235
+ accountName: text("account_name"),
236
+ tags: jsonb("tags").$type().notNull().default({}),
237
+ severity: text("severity").notNull().default("high"), // 'critical' | 'high' | 'medium' | 'low'
238
+ alertName: text("alert_name").notNull(),
239
+ description: text("description"),
240
+ additionalConfiguration: jsonb("additional_configuration"),
241
+ status: text("status").notNull().default("open"), // 'open' | 'converted' | 'dismissed'
242
+ convertedIncidentId: uuid("converted_incident_id").references(() => insightIncidents.id, { onDelete: "set null" }),
243
+ // Link to incident after conversion (plain UUID — avoids circular FK)
244
+ incidentId: uuid("incident_id"),
245
+ downTime: timestamp("down_time", { withTimezone: true }).notNull().defaultNow(),
246
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
247
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
248
+ dupCount: integer("dup_count").notNull().default(0),
249
+ lastDupAt: timestamp("last_dup_at", { withTimezone: true }),
250
+ // ── Pipeline tracking columns (Phase 1) ──────────────────────────────────
251
+ // Human-readable fingerprint shown in Alarm list UI: "cw|i-0abc12|cpu_utilization|firing"
252
+ fingerprint: text("fingerprint"),
253
+ // SHA-256 hash of the configured dedup key fields — used by DedupService
254
+ dedupKey: text("dedup_key"),
255
+ // Pipeline processing status
256
+ // queued | normalised | dedup_passed | dedup_suppressed | grouped | routed | dlq
257
+ pipelineStatus: text("pipeline_status").default("queued"),
258
+ // FK to the alarm group this alert belongs to (set by GroupingService)
259
+ groupId: uuid("group_id"),
260
+ // Raw webhook body preserved for audit and re-normalization
261
+ rawPayload: jsonb("raw_payload"),
262
+ }, (t) => [
263
+ index("insight_alerts_source_id_idx").on(t.sourceId),
264
+ index("insight_alerts_status_idx").on(t.status),
265
+ index("insight_alerts_tags_idx").using("gin", t.tags),
266
+ index("insight_alerts_tenant_id_idx").on(t.tenantId),
267
+ index("insight_alerts_pipeline_status_idx").on(t.pipelineStatus),
268
+ ]);
269
+ // ─── SOPs (Standard Operating Procedures) ────────────────────────────────────
270
+ export const insightSops = meyiconnect.table("insight_sops", {
271
+ id: uuid("id").primaryKey().defaultRandom(),
272
+ tenantId: text("tenant_id"),
273
+ sopId: text("sop_id").notNull(), // e.g. SOP-201, auto-generated
274
+ title: text("title").notNull(),
275
+ alertName: text("alert_name"),
276
+ source: text("source"),
277
+ sourceId: uuid("source_id"),
278
+ project: text("project"),
279
+ projectId: uuid("project_id"),
280
+ alertType: text("alert_type"),
281
+ service: text("service"),
282
+ severity: text("severity"), // 'critical' | 'high' | 'medium' | 'low'
283
+ status: text("status").notNull().default("draft"), // 'draft' | 'pending' | 'approved'
284
+ description: text("description"),
285
+ prompt: text("prompt"),
286
+ alertId: uuid("alert_id").references(() => insightAlerts.id, { onDelete: "set null" }),
287
+ steps: text("steps"), // Runbook / plain-text / markdown
288
+ error_response: text("error_response"),
289
+ aiModelUsed: text("ai_model_used"),
290
+ createdBy: text("created_by").default("Manual"), // 'AI' | 'Manual' | user name
291
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
292
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
293
+ }, (t) => [
294
+ index("insight_sops_status_idx").on(t.status),
295
+ index("insight_sops_severity_idx").on(t.severity),
296
+ index("insight_sops_tenant_id_idx").on(t.tenantId),
297
+ uniqueIndex("insight_sops_tenant_sop_id_unique").on(t.tenantId, t.sopId),
298
+ ]);
299
+ // ─── Workflows ───────────────────────────────────────────────────────────────
300
+ export const insightWorkflows = meyiconnect.table("insight_workflows", {
301
+ id: uuid("id").primaryKey().defaultRandom(),
302
+ tenantId: text("tenant_id"),
303
+ name: text("name").notNull(),
304
+ isActive: boolean("is_active").notNull().default(true),
305
+ priority: integer("priority").notNull().default(0),
306
+ yamlDefinition: text("yaml_definition").notNull().default(""),
307
+ sourceId: uuid("source_id").references(() => insightSources.id, { onDelete: "cascade" }),
308
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
309
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
310
+ });
311
+ export const insightWorkflowExecutions = meyiconnect.table("insight_workflow_executions", {
312
+ id: uuid("id").primaryKey().defaultRandom(),
313
+ tenantId: text("tenant_id"),
314
+ workflowId: uuid("workflow_id")
315
+ .notNull()
316
+ .references(() => insightWorkflows.id, { onDelete: "cascade" }),
317
+ alertId: uuid("alert_id").references(() => insightAlerts.id, { onDelete: "set null" }),
318
+ status: text("status").notNull().default("pending"),
319
+ actionsExecuted: jsonb("actions_executed").notNull().default([]),
320
+ errorMessage: text("error_message"),
321
+ triggeredAt: timestamp("triggered_at", { withTimezone: true }).notNull().defaultNow(),
322
+ completedAt: timestamp("completed_at", { withTimezone: true }),
323
+ }, (t) => [
324
+ index("insight_workflow_executions_workflow_id_idx").on(t.workflowId),
325
+ index("insight_workflow_executions_alert_id_idx").on(t.alertId),
326
+ index("insight_workflow_executions_status_idx").on(t.status),
327
+ ]);
328
+ // ═══════════════════════════════════════════════════════════════════════════════
329
+ // ─── Alert Pipeline Tables (Phase 1) ─────────────────────────────────────────
330
+ // ═══════════════════════════════════════════════════════════════════════════════
331
+ // ─── insight_normalization_configs ───────────────────────────────────────────
332
+ export const insightNormalizationConfigs = meyiconnect.table("insight_normalization_configs", {
333
+ id: uuid("id").primaryKey().defaultRandom(),
334
+ tenantId: text("tenant_id"),
335
+ name: text("name").notNull(),
336
+ priority: integer("priority").notNull().default(0),
337
+ isActive: boolean("is_active").notNull().default(true),
338
+ sourceId: uuid("source_id").references(() => insightSources.id, { onDelete: "cascade" }),
339
+ sourceType: text("source_type"),
340
+ fieldMapping: text("field_mapping").notNull().default(""),
341
+ yamlDefinition: text("yaml_definition").notNull().default(""),
342
+ isSystem: boolean("is_system").notNull().default(false),
343
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
344
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
345
+ }, (t) => [
346
+ index("insight_normalization_configs_priority_idx").on(t.priority),
347
+ index("insight_normalization_configs_source_type_idx").on(t.sourceType),
348
+ index("insight_normalization_configs_tenant_id_idx").on(t.tenantId),
349
+ ]);
350
+ // ─── insight_dedup_configs ───────────────────────────────────────────────────
351
+ export const insightDedupConfigs = meyiconnect.table("insight_dedup_configs", {
352
+ id: uuid("id").primaryKey().defaultRandom(),
353
+ tenantId: text("tenant_id"),
354
+ name: text("name").notNull(),
355
+ priority: integer("priority").notNull().default(0),
356
+ isActive: boolean("is_active").notNull().default(true),
357
+ sourceId: uuid("source_id").references(() => insightSources.id, { onDelete: "cascade" }),
358
+ sourceType: text("source_type"),
359
+ windowSeconds: integer("window_seconds").notNull().default(300),
360
+ keyFields: jsonb("key_fields").notNull().default([]),
361
+ flapThreshold: integer("flap_threshold").notNull().default(4),
362
+ flapWindowSeconds: integer("flap_window_seconds").notNull().default(600),
363
+ onFlap: text("on_flap").notNull().default("none"),
364
+ yamlDefinition: text("yaml_definition").notNull().default(""),
365
+ isSystem: boolean("is_system").notNull().default(false),
366
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
367
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
368
+ }, (t) => [
369
+ index("insight_dedup_configs_priority_idx").on(t.priority),
370
+ index("insight_dedup_configs_source_type_idx").on(t.sourceType),
371
+ index("insight_dedup_configs_tenant_id_idx").on(t.tenantId),
372
+ ]);
373
+ // ─── insight_grouping_configs ────────────────────────────────────────────────
374
+ export const insightGroupingConfigs = meyiconnect.table("insight_grouping_configs", {
375
+ id: uuid("id").primaryKey().defaultRandom(),
376
+ tenantId: text("tenant_id"),
377
+ name: text("name").notNull(),
378
+ priority: integer("priority").notNull().default(0),
379
+ isActive: boolean("is_active").notNull().default(true),
380
+ sourceId: uuid("source_id").references(() => insightSources.id, { onDelete: "cascade" }),
381
+ sourceType: text("source_type"),
382
+ groupBy: jsonb("group_by").notNull().default([]),
383
+ timeoutSeconds: integer("timeout_seconds").notNull().default(600),
384
+ maxAlarms: integer("max_alarms").notNull().default(50),
385
+ incidentTitleTemplate: text("incident_title_template").default("{{count}} alerts on {{resourceName}}"),
386
+ useAiGenerate: boolean("use_ai_generate").notNull().default(false),
387
+ userPrompt: text("user_prompt"),
388
+ yamlDefinition: text("yaml_definition").notNull().default(""),
389
+ topologyTagMapping: text("topology_tag_mapping"),
390
+ isSystem: boolean("is_system").notNull().default(false),
391
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
392
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
393
+ }, (t) => [
394
+ index("insight_grouping_configs_priority_idx").on(t.priority),
395
+ index("insight_grouping_configs_source_type_idx").on(t.sourceType),
396
+ index("insight_grouping_configs_tenant_id_idx").on(t.tenantId),
397
+ ]);
398
+ // ─── insight_alarm_groups ────────────────────────────────────────────────────
399
+ // NOTE: alarm IDs stored in insight_alarm_group_members junction table (P1 fix).
400
+ export const insightAlarmGroups = meyiconnect.table("insight_alarm_groups", {
401
+ id: uuid("id").primaryKey().defaultRandom(),
402
+ tenantId: text("tenant_id"),
403
+ groupKey: text("group_key").notNull(),
404
+ configId: uuid("config_id").references(() => insightGroupingConfigs.id, { onDelete: "set null" }),
405
+ status: text("status").notNull().default("buffering"),
406
+ firstAlarmAt: timestamp("first_alarm_at", { withTimezone: true }).notNull().defaultNow(),
407
+ lastAlarmAt: timestamp("last_alarm_at", { withTimezone: true }).notNull().defaultNow(),
408
+ incidentId: uuid("incident_id"),
409
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
410
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
411
+ }, (t) => [
412
+ index("insight_alarm_groups_flush_idx").on(t.status, t.lastAlarmAt),
413
+ index("insight_alarm_groups_group_key_idx").on(t.groupKey),
414
+ index("insight_alarm_groups_tenant_id_idx").on(t.tenantId),
415
+ ]);
416
+ // ─── insight_alarm_group_members ─────────────────────────────────────────────
417
+ // Junction table replacing jsonb alarm_ids[] array (P1 priority fix).
418
+ export const insightAlarmGroupMembers = meyiconnect.table("insight_alarm_group_members", {
419
+ id: uuid("id").primaryKey().defaultRandom(),
420
+ groupId: uuid("group_id")
421
+ .notNull()
422
+ .references(() => insightAlarmGroups.id, { onDelete: "cascade" }),
423
+ alarmId: uuid("alarm_id")
424
+ .notNull()
425
+ .references(() => insightAlerts.id, { onDelete: "cascade" }),
426
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
427
+ }, (t) => [
428
+ index("insight_alarm_group_members_group_id_idx").on(t.groupId),
429
+ index("insight_alarm_group_members_alarm_id_idx").on(t.alarmId),
430
+ uniqueIndex("insight_alarm_group_members_unique_idx").on(t.groupId, t.alarmId),
431
+ ]);
432
+ // ─── insight_pipeline_events ─────────────────────────────────────────────────
433
+ // Append-only audit log — data source for the Processing Lifecycle UI panel.
434
+ export const insightPipelineEvents = meyiconnect.table("insight_pipeline_events", {
435
+ id: uuid("id").primaryKey().defaultRandom(),
436
+ tenantId: text("tenant_id"),
437
+ alarmId: uuid("alarm_id").references(() => insightAlerts.id, { onDelete: "cascade" }),
438
+ stage: text("stage").notNull(),
439
+ status: text("status").notNull(),
440
+ matchedConfigId: uuid("matched_config_id"),
441
+ meta: jsonb("meta"),
442
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
443
+ }, (t) => [
444
+ index("insight_pipeline_events_alarm_id_idx").on(t.alarmId),
445
+ index("insight_pipeline_events_stage_idx").on(t.stage),
446
+ index("insight_pipeline_events_created_at_idx").on(t.createdAt),
447
+ index("insight_pipeline_events_tenant_id_idx").on(t.tenantId),
448
+ ]);
449
+ // ─── insight_provider_configs ────────────────────────────────────────────────
450
+ export const aiProviders = meyiconnect.table("ai_providers", {
451
+ id: uuid("id").primaryKey().defaultRandom(),
452
+ tenantId: text("tenant_id"),
453
+ llmProviderName: text("llm_provider_name").notNull(),
454
+ llmModelName: text("llm_model_name"),
455
+ llmModelId: text("llm_model_id"),
456
+ llmApiKey: text("llm_api_key"),
457
+ isActive: boolean("is_active").notNull().default(true),
458
+ authType: text("auth_type", { enum: ["api_key", "access_key", "iam_role"] }),
459
+ awsRegion: text("aws_region"),
460
+ awsAccessKeyId: text("aws_access_key_id"),
461
+ awsSecretAccessKey: text("aws_secret_access_key"),
462
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
463
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
464
+ }, (t) => [
465
+ index("insight_provider_configs_active_idx").on(t.isActive),
466
+ index("insight_provider_configs_tenant_idx").on(t.tenantId),
467
+ ]);
468
+ // ─── insight_connectors ──────────────────────────────────────────────────────
469
+ // Denormalized read table: one row per AWS account connector.
470
+ // Written by marketplace-service during onboarding (verifyAwsConnection +
471
+ // verifyTargetAccountsAccess). Read-only from insight-server's perspective.
472
+ // ─────────────────────────────────────────────────────────────────────────────
473
+ export const connectors = meyiconnect.table("connectors", {
474
+ id: uuid("id").primaryKey().defaultRandom(),
475
+ tenantId: text("tenant_id").notNull(),
476
+ accountId: text("account_id").notNull(),
477
+ accountName: text("account_name").notNull(),
478
+ email: text("email"),
479
+ // 'Active' | 'Inactive' | 'Failed' — updated by verifyTargetAccountsAccess
480
+ accessStatus: text("access_status").notNull().default("Active"),
481
+ // 'PENDING' | 'CONNECTED' | 'FAILED' — from aws_connections.status
482
+ connectionStatus: text("connection_status").notNull().default("PENDING"),
483
+ connectionId: text("connection_id").notNull(),
484
+ managementAccountId: text("management_account_id"),
485
+ externalId: text("external_id").notNull(),
486
+ roleName: text("role_name").notNull(),
487
+ roleArn: text("role_arn").notNull(),
488
+ // Whether monitoring/billing is enabled for this account
489
+ selected: boolean("selected").notNull().default(false),
490
+ joinedMethod: text("joined_method"),
491
+ connectedAt: timestamp("connected_at", { withTimezone: true }),
492
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
493
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
494
+ }, (t) => [
495
+ uniqueIndex("insight_connectors_tenant_account_unique").on(t.tenantId, t.accountId),
496
+ index("insight_connectors_tenant_idx").on(t.tenantId),
497
+ index("insight_connectors_connection_idx").on(t.connectionId),
498
+ ]);
499
+ // ─── Job Queue ─────────────────────────────────────────
500
+ export const insightJobQueue = meyiconnect.table("insight_job_queue", {
501
+ id: serial("id").primaryKey(),
502
+ jobType: text("job_type").notNull(),
503
+ payload: jsonb("payload").notNull(),
504
+ status: text("status").notNull().default("pending"),
505
+ attempts: integer("attempts").notNull().default(0),
506
+ maxAttempts: integer("max_attempts").notNull().default(3),
507
+ availableAt: timestamp("available_at", { withTimezone: true }).notNull().defaultNow(),
508
+ leasedBy: text("leased_by"),
509
+ leasedAt: timestamp("leased_at", { withTimezone: true }),
510
+ lastError: text("last_error"),
511
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
512
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
513
+ }, (t) => [
514
+ index("insight_job_queue_fetch_idx").on(t.jobType, t.status, t.availableAt),
515
+ ]);
516
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { Request, Response } from "express";
2
+ import type { SourceService } from "../../../services/source.service.js";
3
+ import type { ConnectorService } from "../../../services/connector.service.js";
4
+ export declare function createCloudTrailSourceController(sourceService: SourceService, connectorService?: ConnectorService): {
5
+ /**
6
+ * GET /:id/aws/cloudtrail/setup
7
+ * Returns the persisted CloudTrail setup values for this source.
8
+ */
9
+ getSetup(req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
10
+ /**
11
+ * GET /:id/aws/cloudtrail/console-deploy
12
+ * Persists region/stackName/createNewTrail and returns all URLs needed for AWS Console quick-create.
13
+ *
14
+ * New behaviour (connector-aware):
15
+ * - Organizations mode: auto-resolves all accounts from the management connector;
16
+ * does NOT accept targetOUs/targetAccounts/targetRegions from the caller.
17
+ * - Standalone mode: validates that the given targetAccounts ID exists in the
18
+ * tenant's connector list before proceeding.
19
+ */
20
+ getConsoleDeploy(req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
21
+ /**
22
+ * POST /:id/aws/cloudtrail/console-deploy/start
23
+ * Sets awsDeploymentStatus = "pending" when the user opens the AWS Console quick-create URL.
24
+ */
25
+ markDeploymentStarted(req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
26
+ /**
27
+ * POST /:id/aws/cloudtrail/deployment-status?token=<webhookToken>
28
+ * Token-gated callback invoked by the CloudFormation custom resource Lambda after stack create/update/delete.
29
+ */
30
+ updateDeploymentStatus(req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
31
+ /**
32
+ * GET /:id/aws/cloudtrail/central-stack-template.yml?token=<webhookToken>
33
+ * Token-gated download of the CloudFormation central-stack template with substitutions applied.
34
+ * The `?token=` param allows CFN to fetch the template without auth headers.
35
+ */
36
+ downloadTemplate(req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
37
+ };
38
+ //# sourceMappingURL=controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../src/features/sources/cloudtrail/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AA4F/E,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,aAAa,EAC5B,gBAAgB,CAAC,EAAE,gBAAgB;IAGjC;;;OAGG;kBACiB,OAAO,OAAO,QAAQ;IA6B1C;;;;;;;;;OASG;0BACyB,OAAO,OAAO,QAAQ;IA0LlD;;;OAGG;+BAC8B,OAAO,OAAO,QAAQ;IAiCvD;;;OAGG;gCAC+B,OAAO,OAAO,QAAQ;IAsDxD;;;;OAIG;0BACyB,OAAO,OAAO,QAAQ;EAmDrD"}