@oneuptime/common 7.0.3717 → 7.0.3786

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 (203) hide show
  1. package/Models/DatabaseModels/Alert.ts +3 -2
  2. package/Models/DatabaseModels/Incident.ts +3 -2
  3. package/Models/DatabaseModels/Index.ts +3 -0
  4. package/Models/DatabaseModels/ProjectUser.ts +335 -0
  5. package/Models/DatabaseModels/ScheduledMaintenance.ts +3 -2
  6. package/Server/API/SlackAPI.ts +65 -97
  7. package/Server/API/UserOnCallLogTimelineAPI.ts +2 -9
  8. package/Server/Infrastructure/Postgres/SchemaMigrations/1740597525803-MigrationName.ts +17 -0
  9. package/Server/Infrastructure/Postgres/SchemaMigrations/1740598793630-MigrationName.ts +17 -0
  10. package/Server/Infrastructure/Postgres/SchemaMigrations/1741031019972-MigrationName.ts +17 -0
  11. package/Server/Infrastructure/Postgres/SchemaMigrations/1741209339971-MigrationName.ts +101 -0
  12. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +8 -0
  13. package/Server/Middleware/SlackAuthorization.ts +11 -2
  14. package/Server/Services/AlertFeedService.ts +2 -2
  15. package/Server/Services/AlertInternalNoteService.ts +2 -2
  16. package/Server/Services/AlertOwnerTeamService.ts +4 -4
  17. package/Server/Services/AlertOwnerUserService.ts +3 -3
  18. package/Server/Services/AlertService.ts +62 -20
  19. package/Server/Services/AlertStateTimelineService.ts +8 -18
  20. package/Server/Services/IncidentFeedService.ts +101 -2
  21. package/Server/Services/IncidentInternalNoteService.ts +47 -4
  22. package/Server/Services/IncidentOwnerTeamService.ts +57 -4
  23. package/Server/Services/IncidentOwnerUserService.ts +59 -15
  24. package/Server/Services/IncidentPublicNoteService.ts +41 -4
  25. package/Server/Services/IncidentService.ts +279 -193
  26. package/Server/Services/IncidentStateService.ts +25 -0
  27. package/Server/Services/IncidentStateTimelineService.ts +37 -19
  28. package/Server/Services/MonitorStatusTimelineService.ts +7 -17
  29. package/Server/Services/OnCallDutyPolicyEscalationRuleService.ts +2 -0
  30. package/Server/Services/OnCallDutyPolicyExecutionLogService.ts +74 -7
  31. package/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.ts +63 -4
  32. package/Server/Services/OnCallDutyPolicyService.ts +13 -0
  33. package/Server/Services/ProjectUserService.ts +130 -0
  34. package/Server/Services/ScheduledMaintenanceFeedService.ts +2 -2
  35. package/Server/Services/ScheduledMaintenanceInternalNoteService.ts +12 -10
  36. package/Server/Services/ScheduledMaintenanceOwnerTeamService.ts +22 -18
  37. package/Server/Services/ScheduledMaintenanceOwnerUserService.ts +28 -30
  38. package/Server/Services/ScheduledMaintenancePublicNoteService.ts +12 -10
  39. package/Server/Services/ScheduledMaintenanceService.ts +16 -10
  40. package/Server/Services/ScheduledMaintenanceStateTimelineService.ts +1 -1
  41. package/Server/Services/StatusPageSubscriberService.ts +3 -0
  42. package/Server/Services/TeamMemberService.ts +20 -0
  43. package/Server/Services/UserNotificationRuleService.ts +74 -0
  44. package/Server/Services/UserOnCallLogService.ts +1 -1
  45. package/Server/Services/UserService.ts +35 -0
  46. package/Server/Services/WorkspaceNotificationRuleService.ts +508 -149
  47. package/Server/Services/WorkspaceUserAuthTokenService.ts +23 -0
  48. package/Server/Utils/Express.ts +1 -1
  49. package/Server/Utils/StartServer.ts +6 -1
  50. package/Server/Utils/Workspace/MicrosoftTeams/Messages/Incident.ts +195 -0
  51. package/Server/Utils/Workspace/Slack/Actions/ActionTypes.ts +20 -0
  52. package/Server/Utils/Workspace/Slack/Actions/Auth.ts +266 -0
  53. package/Server/Utils/Workspace/Slack/Actions/Incident.ts +1117 -0
  54. package/Server/Utils/Workspace/Slack/Messages/Incident.ts +116 -0
  55. package/Server/Utils/Workspace/Slack/Slack.ts +555 -18
  56. package/Server/Utils/Workspace/Slack/app-manifest.json +18 -10
  57. package/Server/Utils/Workspace/Workspace.ts +194 -1
  58. package/Server/Utils/Workspace/WorkspaceBase.ts +145 -19
  59. package/Server/Utils/Workspace/WorkspaceMessages/Incident.ts +68 -0
  60. package/Types/Icon/IconProp.ts +1 -0
  61. package/Types/Workspace/NotificationRules/NotificationRuleCondition.ts +2 -1
  62. package/Types/Workspace/NotificationRules/NotificationRuleUtil.ts +251 -121
  63. package/Types/Workspace/NotificationRules/NotificationRuleWorkspaceChannel.ts +6 -0
  64. package/Types/Workspace/WorkspaceMessagePayload.ts +71 -2
  65. package/UI/Components/ComingSoon/ComingSoon.tsx +13 -3
  66. package/UI/Components/Forms/Fields/FormField.tsx +2 -2
  67. package/UI/Components/Icon/Icon.tsx +39 -2
  68. package/UI/Components/ModelTable/BaseModelTable.tsx +16 -0
  69. package/UI/Components/Radio/Radio.tsx +11 -2
  70. package/UI/Components/Table/TableCard.tsx +2 -2
  71. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
  72. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  73. package/build/dist/Models/DatabaseModels/Index.js +2 -0
  74. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  75. package/build/dist/Models/DatabaseModels/ProjectUser.js +340 -0
  76. package/build/dist/Models/DatabaseModels/ProjectUser.js.map +1 -0
  77. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
  78. package/build/dist/Server/API/SlackAPI.js +39 -79
  79. package/build/dist/Server/API/SlackAPI.js.map +1 -1
  80. package/build/dist/Server/API/UserOnCallLogTimelineAPI.js.map +1 -1
  81. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1740597525803-MigrationName.js +12 -0
  82. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1740597525803-MigrationName.js.map +1 -0
  83. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1740598793630-MigrationName.js +12 -0
  84. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1740598793630-MigrationName.js.map +1 -0
  85. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1741031019972-MigrationName.js +12 -0
  86. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1741031019972-MigrationName.js.map +1 -0
  87. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1741209339971-MigrationName.js +42 -0
  88. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1741209339971-MigrationName.js.map +1 -0
  89. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
  90. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  91. package/build/dist/Server/Middleware/SlackAuthorization.js +8 -2
  92. package/build/dist/Server/Middleware/SlackAuthorization.js.map +1 -1
  93. package/build/dist/Server/Services/AlertFeedService.js +2 -2
  94. package/build/dist/Server/Services/AlertFeedService.js.map +1 -1
  95. package/build/dist/Server/Services/AlertInternalNoteService.js +2 -2
  96. package/build/dist/Server/Services/AlertInternalNoteService.js.map +1 -1
  97. package/build/dist/Server/Services/AlertOwnerTeamService.js +4 -4
  98. package/build/dist/Server/Services/AlertOwnerTeamService.js.map +1 -1
  99. package/build/dist/Server/Services/AlertOwnerUserService.js +3 -3
  100. package/build/dist/Server/Services/AlertOwnerUserService.js.map +1 -1
  101. package/build/dist/Server/Services/AlertService.js +44 -19
  102. package/build/dist/Server/Services/AlertService.js.map +1 -1
  103. package/build/dist/Server/Services/AlertStateTimelineService.js +6 -16
  104. package/build/dist/Server/Services/AlertStateTimelineService.js.map +1 -1
  105. package/build/dist/Server/Services/IncidentFeedService.js +62 -2
  106. package/build/dist/Server/Services/IncidentFeedService.js.map +1 -1
  107. package/build/dist/Server/Services/IncidentInternalNoteService.js +35 -4
  108. package/build/dist/Server/Services/IncidentInternalNoteService.js.map +1 -1
  109. package/build/dist/Server/Services/IncidentOwnerTeamService.js +42 -4
  110. package/build/dist/Server/Services/IncidentOwnerTeamService.js.map +1 -1
  111. package/build/dist/Server/Services/IncidentOwnerUserService.js +43 -15
  112. package/build/dist/Server/Services/IncidentOwnerUserService.js.map +1 -1
  113. package/build/dist/Server/Services/IncidentPublicNoteService.js +32 -4
  114. package/build/dist/Server/Services/IncidentPublicNoteService.js.map +1 -1
  115. package/build/dist/Server/Services/IncidentService.js +221 -170
  116. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  117. package/build/dist/Server/Services/IncidentStateService.js +14 -0
  118. package/build/dist/Server/Services/IncidentStateService.js.map +1 -1
  119. package/build/dist/Server/Services/IncidentStateTimelineService.js +31 -17
  120. package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
  121. package/build/dist/Server/Services/MonitorStatusTimelineService.js +5 -15
  122. package/build/dist/Server/Services/MonitorStatusTimelineService.js.map +1 -1
  123. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleService.js +1 -0
  124. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleService.js.map +1 -1
  125. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogService.js +62 -7
  126. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogService.js.map +1 -1
  127. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.js +51 -5
  128. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.js.map +1 -1
  129. package/build/dist/Server/Services/OnCallDutyPolicyService.js +6 -0
  130. package/build/dist/Server/Services/OnCallDutyPolicyService.js.map +1 -1
  131. package/build/dist/Server/Services/ProjectUserService.js +106 -0
  132. package/build/dist/Server/Services/ProjectUserService.js.map +1 -0
  133. package/build/dist/Server/Services/ScheduledMaintenanceFeedService.js +2 -2
  134. package/build/dist/Server/Services/ScheduledMaintenanceFeedService.js.map +1 -1
  135. package/build/dist/Server/Services/ScheduledMaintenanceInternalNoteService.js +2 -2
  136. package/build/dist/Server/Services/ScheduledMaintenanceInternalNoteService.js.map +1 -1
  137. package/build/dist/Server/Services/ScheduledMaintenanceOwnerTeamService.js +4 -4
  138. package/build/dist/Server/Services/ScheduledMaintenanceOwnerTeamService.js.map +1 -1
  139. package/build/dist/Server/Services/ScheduledMaintenanceOwnerUserService.js +8 -16
  140. package/build/dist/Server/Services/ScheduledMaintenanceOwnerUserService.js.map +1 -1
  141. package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js +2 -2
  142. package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js.map +1 -1
  143. package/build/dist/Server/Services/ScheduledMaintenanceService.js +5 -2
  144. package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
  145. package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js +1 -1
  146. package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js.map +1 -1
  147. package/build/dist/Server/Services/StatusPageSubscriberService.js +3 -0
  148. package/build/dist/Server/Services/StatusPageSubscriberService.js.map +1 -1
  149. package/build/dist/Server/Services/TeamMemberService.js +17 -0
  150. package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
  151. package/build/dist/Server/Services/UserNotificationRuleService.js +52 -0
  152. package/build/dist/Server/Services/UserNotificationRuleService.js.map +1 -1
  153. package/build/dist/Server/Services/UserOnCallLogService.js +1 -1
  154. package/build/dist/Server/Services/UserOnCallLogService.js.map +1 -1
  155. package/build/dist/Server/Services/UserService.js +23 -0
  156. package/build/dist/Server/Services/UserService.js.map +1 -1
  157. package/build/dist/Server/Services/WorkspaceNotificationRuleService.js +306 -84
  158. package/build/dist/Server/Services/WorkspaceNotificationRuleService.js.map +1 -1
  159. package/build/dist/Server/Services/WorkspaceUserAuthTokenService.js +18 -0
  160. package/build/dist/Server/Services/WorkspaceUserAuthTokenService.js.map +1 -1
  161. package/build/dist/Server/Utils/StartServer.js +4 -0
  162. package/build/dist/Server/Utils/StartServer.js.map +1 -1
  163. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Messages/Incident.js +148 -0
  164. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Messages/Incident.js.map +1 -0
  165. package/build/dist/Server/Utils/Workspace/Slack/Actions/ActionTypes.js +19 -0
  166. package/build/dist/Server/Utils/Workspace/Slack/Actions/ActionTypes.js.map +1 -0
  167. package/build/dist/Server/Utils/Workspace/Slack/Actions/Auth.js +167 -0
  168. package/build/dist/Server/Utils/Workspace/Slack/Actions/Auth.js.map +1 -0
  169. package/build/dist/Server/Utils/Workspace/Slack/Actions/Incident.js +727 -0
  170. package/build/dist/Server/Utils/Workspace/Slack/Actions/Incident.js.map +1 -0
  171. package/build/dist/Server/Utils/Workspace/Slack/Messages/Incident.js +82 -0
  172. package/build/dist/Server/Utils/Workspace/Slack/Messages/Incident.js.map +1 -0
  173. package/build/dist/Server/Utils/Workspace/Slack/Slack.js +397 -14
  174. package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
  175. package/build/dist/Server/Utils/Workspace/Slack/app-manifest.json +18 -10
  176. package/build/dist/Server/Utils/Workspace/Workspace.js +126 -0
  177. package/build/dist/Server/Utils/Workspace/Workspace.js.map +1 -1
  178. package/build/dist/Server/Utils/Workspace/WorkspaceBase.js +69 -11
  179. package/build/dist/Server/Utils/Workspace/WorkspaceBase.js.map +1 -1
  180. package/build/dist/Server/Utils/Workspace/WorkspaceMessages/Incident.js +47 -0
  181. package/build/dist/Server/Utils/Workspace/WorkspaceMessages/Incident.js.map +1 -0
  182. package/build/dist/Types/Icon/IconProp.js +1 -0
  183. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  184. package/build/dist/Types/Workspace/NotificationRules/NotificationRuleCondition.js +2 -1
  185. package/build/dist/Types/Workspace/NotificationRules/NotificationRuleCondition.js.map +1 -1
  186. package/build/dist/Types/Workspace/NotificationRules/NotificationRuleUtil.js +214 -120
  187. package/build/dist/Types/Workspace/NotificationRules/NotificationRuleUtil.js.map +1 -1
  188. package/build/dist/Types/Workspace/NotificationRules/NotificationRuleWorkspaceChannel.js +2 -0
  189. package/build/dist/Types/Workspace/NotificationRules/NotificationRuleWorkspaceChannel.js.map +1 -0
  190. package/build/dist/UI/Components/ComingSoon/ComingSoon.js +3 -2
  191. package/build/dist/UI/Components/ComingSoon/ComingSoon.js.map +1 -1
  192. package/build/dist/UI/Components/Forms/Fields/FormField.js +2 -2
  193. package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
  194. package/build/dist/UI/Components/Icon/Icon.js +19 -2
  195. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  196. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +11 -0
  197. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  198. package/build/dist/UI/Components/Radio/Radio.js +5 -2
  199. package/build/dist/UI/Components/Radio/Radio.js.map +1 -1
  200. package/build/dist/UI/Components/Table/TableCard.js +2 -2
  201. package/build/dist/UI/Components/Table/TableCard.js.map +1 -1
  202. package/package.json +3 -2
  203. package/Server/Utils/Workspace/Slack/app-manifest.example.json +0 -198
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Incident.js","sourceRoot":"","sources":["../../../../../../../Server/Utils/Workspace/Slack/Actions/Incident.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,iDAAiD,CAAC;AAC/E,OAAO,QAAQ,MAAM,+BAA+B,CAAC;AACrD,OAAO,eAAe,MAAM,sCAAsC,CAAC;AAEnE,OAAO,SAAS,MAAM,UAAU,CAAC;AACjC,OAAO,eAAe,MAAM,eAAe,CAAC;AAE5C,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AASzC,OAAO,yBAAyB,MAAM,gDAAgD,CAAC;AACvF,OAAO,2BAA2B,MAAM,kDAAkD,CAAC;AAE3F,OAAO,uBAAuB,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAE3E,OAAO,yBAAyB,MAAM,iEAAiE,CAAC;AAExG,OAAO,oBAAoB,MAAM,2CAA2C,CAAC;AAC7E,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,OAAO,uBAAuB,MAAM,8CAA8C,CAAC;AACnF,OAAO,SAAS,MAAM,6CAA6C,CAAC;AACpE,OAAO,OAAO,MAAM,8CAA8C,CAAC;AACnE,OAAO,cAAc,MAAM,qCAAqC,CAAC;AAEjE,OAAO,oBAAoB,MAAM,2CAA2C,CAAC;AAC7E,OAAO,KAAK,MAAM,4CAA4C,CAAC;AAC/D,OAAO,YAAY,MAAM,mCAAmC,CAAC;AAC7D,OAAO,QAAQ,MAAM,+CAA+C,CAAC;AAErE,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAChC,MAAM,CAAC,gBAAgB,CAAC,IAE9B;QACC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAE5B,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,eAAe,CAAC,mBAAmB,CAAC;YACzC,KAAK,eAAe,CAAC,eAAe,CAAC;YACrC,KAAK,eAAe,CAAC,mBAAmB,CAAC;YACzC,KAAK,eAAe,CAAC,kBAAkB,CAAC;YACxC,KAAK,eAAe,CAAC,uBAAuB,CAAC;YAC7C,KAAK,eAAe,CAAC,yBAAyB,CAAC;YAC/C,KAAK,eAAe,CAAC,+BAA+B,CAAC;YACrD,KAAK,eAAe,CAAC,iCAAiC,CAAC;YACvD,KAAK,eAAe,CAAC,YAAY,CAAC;YAClC,KAAK,eAAe,CAAC,WAAW,CAAC;YACjC,KAAK,eAAe,CAAC,iBAAiB;gBACpC,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAKrC;;QACC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACxC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,YAAY,CAAC;QAE7D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,iBAAiB,CAAC,CACxC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,4BAA4B,CAAC,CACnD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,eAAe,CAAC,iBAAiB,EAAE,CAAC;YACjE,mFAAmF;YAEnF,8CAA8C;YAC9C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;gBAClC,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBACnD,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,wBAAwB,CAAC,CAC/C,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACzD,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,8BAA8B,CAAC,CACrD,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACtD,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,2BAA2B,CAAC,CAClD,CAAC;YACJ,CAAC;YAED,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;gBACxC,eAAe,EAAE,OAAO;aACzB,CAAC,CAAC;YAEH,MAAM,KAAK,GACT,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3D,MAAM,WAAW,GACf,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjE,MAAM,QAAQ,GACZ,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC9D,MAAM,QAAQ,GAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAC3D,kBAAkB,CACnB,IAAI,EAAE,CAAkB,CAAC;YAC1B,MAAM,aAAa,GACjB,MAAA,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,0CAAE,QAAQ,EAAE,CAAC;YAE5D,MAAM,MAAM,GACT,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAmB,IAAI,EAAE,CAAC;YAElE,MAAM,gBAAgB,GAAoB,QAAQ,CAAC,GAAG,CACpD,CAAC,OAAe,EAAE,EAAE;gBAClB,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC,CACF,CAAC;YACF,MAAM,cAAc,GAAoB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE;gBACnE,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEH,MAAM,kBAAkB,GAAa,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC5D,MAAM,eAAe,GAAyB,aAAa;gBACzD,CAAC,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC;gBAC7B,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;YAC1C,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;YACvB,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC;YACnC,QAAQ,CAAC,SAAS,GAAG,YAAY,CAAC,SAAU,CAAC;YAC7C,QAAQ,CAAC,eAAe,GAAG,MAAM,CAAC;YAClC,QAAQ,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;YAEjD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,QAAQ,CAAC,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,SAAmB,EAAE,EAAE;oBAC/D,MAAM,OAAO,GAAY,IAAI,OAAO,EAAE,CAAC;oBACvC,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;oBACvB,OAAO,OAAO,CAAC;gBACjB,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,eAAe,EAAE,CAAC;gBACpB,QAAQ,CAAC,uBAAuB,GAAG,eAAe,CAAC;YACrD,CAAC;YAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,QAAQ,CAAC,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,OAAiB,EAAE,EAAE;oBACzD,MAAM,KAAK,GAAU,IAAI,KAAK,EAAE,CAAC;oBACjC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC;oBACnB,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,eAAe,CAAC,MAAM,CAAC;gBAC3B,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAKxC;QACC,MAAM,MAAM,GAAiC,EAAE,CAAC;QAEhD,qCAAqC;QACrC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAElD,2BAA2B;QAC3B,0BAA0B;QAC1B,0DAA0D;QAC1D,uBAAuB;QACvB,+CAA+C;QAC/C,oCAAoC;QACpC,sDAAsD;QACtD,kCAAkC;QAElC,MAAM,aAAa,GAA0B;YAC3C,KAAK,EAAE,uBAAuB;YAC9B,KAAK,EAAE,gBAAgB;YACvB,OAAO,EAAE,eAAe;YACxB,WAAW,EAAE,gBAAgB;YAC7B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE;SAC5C,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3B,MAAM,mBAAmB,GAA2B;YAClD,KAAK,EAAE,wBAAwB;YAC/B,KAAK,EAAE,sBAAsB;YAC7B,OAAO,EAAE,qBAAqB;YAC9B,WAAW,EAAE,sBAAsB;SACpC,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEjC,MAAM,4BAA4B,GAChC,MAAM,uBAAuB,CAAC,MAAM,CAAC;YACnC,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,SAAU;aACxC;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,SAAS,CAAC,SAAS;aAC3B;YACD,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,iBAAiB;YACxB,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI;aACX;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEL,MAAM,eAAe,GACnB,4BAA4B,CAAC,GAAG,CAAC,CAAC,QAA0B,EAAE,EAAE;;YAC9D,OAAO;gBACL,KAAK,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE;gBAC1B,KAAK,EAAE,CAAA,MAAA,QAAQ,CAAC,GAAG,0CAAE,QAAQ,EAAE,KAAI,EAAE;aACtC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,MAAM,gBAAgB,GAA2B;YAC/C,KAAK,EAAE,wBAAwB;YAC/B,KAAK,EAAE,mBAAmB;YAC1B,OAAO,EAAE,kBAAkB;YAC3B,WAAW,EAAE,0BAA0B;YACvC,OAAO,EAAE,eAAe;SACzB,CAAC;QAEF,IAAI,4BAA4B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,kBAAkB,GAAmB,MAAM,cAAc,CAAC,MAAM,CAAC;YACrE,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,SAAU;aACxC;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI;aACX;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;YACD,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,CAAC;SACR,CAAC,CAAC;QAEH,MAAM,sBAAsB,GAC1B,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE;;YAC1C,OAAO;gBACL,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;gBACzB,KAAK,EAAE,CAAA,MAAA,OAAO,CAAC,GAAG,0CAAE,QAAQ,EAAE,KAAI,EAAE;aACrC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,MAAM,gBAAgB,GAA2B;YAC/C,KAAK,EAAE,wBAAwB;YAC/B,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,kBAAkB;YAC3B,WAAW,EAAE,iBAAiB;YAC9B,OAAO,EAAE,sBAAsB;YAC/B,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,IAAI;SACf,CAAC;QAEF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,uBAAuB,GAC3B,MAAM,oBAAoB,CAAC,MAAM,CAAC;YAChC,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,SAAU;aACxC;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI;aACX;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;YACD,IAAI,EAAE;gBACJ,QAAQ,EAAE,SAAS,CAAC,SAAS;aAC9B;YACD,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,CAAC;SACR,CAAC,CAAC;QAEL,MAAM,4BAA4B,GAChC,uBAAuB,CAAC,GAAG,CAAC,CAAC,MAAqB,EAAE,EAAE;;YACpD,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;gBACxB,KAAK,EAAE,CAAA,MAAA,MAAM,CAAC,GAAG,0CAAE,QAAQ,EAAE,KAAI,EAAE;aACpC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,MAAM,qBAAqB,GAA2B;YACpD,KAAK,EAAE,wBAAwB;YAC/B,KAAK,EAAE,0BAA0B;YACjC,OAAO,EAAE,eAAe;YACxB,WAAW,EAAE,uBAAuB;YACpC,OAAO,EAAE,4BAA4B;YACrC,QAAQ,EAAE,IAAI;SACf,CAAC;QAEF,IACE,uBAAuB,CAAC,MAAM,GAAG,CAAC;YAClC,sBAAsB,CAAC,MAAM,GAAG,CAAC,EACjC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,gBAAgB,GAAiB,MAAM,YAAY,CAAC,MAAM,CAAC;YAC/D,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,SAAU;aACxC;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI;aACX;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;YACD,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,CAAC;SACR,CAAC,CAAC;QAEH,MAAM,qBAAqB,GAA0B,gBAAgB,CAAC,GAAG,CACvE,CAAC,KAAY,EAAE,EAAE;;YACf,OAAO;gBACL,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;gBACvB,KAAK,EAAE,CAAA,MAAA,KAAK,CAAC,GAAG,0CAAE,QAAQ,EAAE,KAAI,EAAE;aACnC,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,MAAM,cAAc,GAA2B;YAC7C,KAAK,EAAE,wBAAwB;YAC/B,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,eAAe;YAC5B,OAAO,EAAE,qBAAqB;YAC9B,WAAW,EAAE,IAAI;SAClB,CAAC;QAEF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,UAAU,GAAwB;YACtC,KAAK,EAAE,qBAAqB;YAC5B,KAAK,EAAE,cAAc;YACrB,iBAAiB,EAAE,QAAQ;YAC3B,iBAAiB,EAAE,QAAQ;YAC3B,QAAQ,EAAE,eAAe,CAAC,iBAAiB;YAC3C,WAAW,EAAE,EAAE;YACf,MAAM,EAAE,MAAM;SACf,CAAC;QAEF,MAAM,SAAS,CAAC,eAAe,CAAC;YAC9B,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAiB;YAC9C,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,SAAU;SACxC,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAKvC;QACC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACxC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,YAAY,CAAC;QAE5E,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAEpC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,iBAAiB,CAAC,CACxC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,4BAA4B,CAAC,CACnD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,eAAe,CAAC,mBAAmB,EAAE,CAAC;YACnE,MAAM,UAAU,GAAa,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;YAEvD,mFAAmF;YACnF,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;gBACxC,eAAe,EAAE,OAAO;aACzB,CAAC,CAAC;YAEH,MAAM,qBAAqB,GACzB,MAAM,eAAe,CAAC,sBAAsB,CAAC;gBAC3C,UAAU,EAAE,UAAU;aACvB,CAAC,CAAC;YAEL,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,MAAM,cAAc,GAClB,MAAM,eAAe,CAAC,iBAAiB,CAAC;oBACtC,UAAU,EAAE,UAAU;iBACvB,CAAC,CAAC;gBAEL,kGAAkG;gBAClG,MAAM,eAAe,GAA6B;oBAChD,KAAK,EAAE,0BAA0B;oBACjC,IAAI,EAAE,IAAI,aAAa,0DAA0D,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,EAAE,KAAK,MAAM,eAAe,CAAC,0BAA0B,CAAC,YAAY,CAAC,SAAU,EAAE,UAAU,CAAC,wCAAwC;iBAC9O,CAAC;gBAEF,MAAM,SAAS,CAAC,uBAAuB,CAAC;oBACtC,aAAa,EAAE,CAAC,eAAe,CAAC;oBAChC,SAAS,EAAE,gBAAgB;oBAC3B,eAAe,EAAE,YAAY,CAAC,WAAY;iBAC3C,CAAC,CAAC;gBAEH,OAAO;YACT,CAAC;YAED,MAAM,eAAe,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAE9D,4FAA4F;YAC5F,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAKnC;QACC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACxC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,YAAY,CAAC;QAE5E,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAEpC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,iBAAiB,CAAC,CACxC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,4BAA4B,CAAC,CACnD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,eAAe,CAAC,eAAe,EAAE,CAAC;YAC/D,MAAM,UAAU,GAAa,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;YAEvD,mFAAmF;YACnF,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;gBACxC,eAAe,EAAE,OAAO;aACzB,CAAC,CAAC;YAEH,MAAM,iBAAiB,GACrB,MAAM,eAAe,CAAC,kBAAkB,CAAC;gBACvC,UAAU,EAAE,UAAU;aACvB,CAAC,CAAC;YAEL,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,cAAc,GAClB,MAAM,eAAe,CAAC,iBAAiB,CAAC;oBACtC,UAAU,EAAE,UAAU;iBACvB,CAAC,CAAC;gBACL,8FAA8F;gBAC9F,MAAM,eAAe,GAA6B;oBAChD,KAAK,EAAE,0BAA0B;oBACjC,IAAI,EAAE,IAAI,aAAa,sDAAsD,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,EAAE,KAAK,MAAM,eAAe,CAAC,0BAA0B,CAAC,YAAY,CAAC,SAAU,EAAE,UAAU,CAAC,oCAAoC;iBACtO,CAAC;gBAEF,MAAM,SAAS,CAAC,uBAAuB,CAAC;oBACtC,aAAa,EAAE,CAAC,eAAe,CAAC;oBAChC,SAAS,EAAE,gBAAgB;oBAC3B,eAAe,EAAE,YAAY,CAAC,WAAY;iBAC3C,CAAC,CAAC;gBAEH,OAAO;YACT,CAAC;YAED,MAAM,eAAe,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAE1D,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAK3C;QACC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAEpC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;QACJ,CAAC;QAED,mFAAmF;QACnF,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;YACxC,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,0DAA0D;QAE1D,0GAA0G;QAE1G,MAAM,cAAc,GAClB,MAAM,uBAAuB,CAAC,MAAM,CAAC;YACnC,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,SAAU;aACxC;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI;aACX;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;YACD,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,CAAC;SACR,CAAC,CAAC;QAEL,MAAM,cAAc,GAA0B,cAAc;aACzD,GAAG,CAAC,CAAC,MAAwB,EAAE,EAAE;;YAChC,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;gBACxB,KAAK,EAAE,CAAA,MAAA,MAAM,CAAC,GAAG,0CAAE,QAAQ,EAAE,KAAI,EAAE;aACpC,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,MAAsB,EAAE,EAAE;YACjC,OAAO,MAAM,CAAC,KAAK,KAAK,EAAE,IAAI,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;QAEL,MAAM,oBAAoB,GAA2B;YACnD,KAAK,EAAE,wBAAwB;YAC/B,KAAK,EAAE,gBAAgB;YACvB,OAAO,EAAE,cAAc;YACvB,WAAW,EAAE,uBAAuB;YACpC,OAAO,EAAE,cAAc;SACxB,CAAC;QAEF,MAAM,UAAU,GAAwB;YACtC,KAAK,EAAE,qBAAqB;YAC5B,KAAK,EAAE,wBAAwB;YAC/B,iBAAiB,EAAE,QAAQ;YAC3B,iBAAiB,EAAE,QAAQ;YAC3B,QAAQ,EAAE,eAAe,CAAC,iCAAiC;YAC3D,WAAW,EAAE,WAAW;YACxB,MAAM,EAAE,CAAC,oBAAoB,CAAC;SAC/B,CAAC;QAEF,MAAM,SAAS,CAAC,eAAe,CAAC;YAC9B,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAiB;YAC9C,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,SAAU;SACxC,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAK3C;QACC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAEpC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;QACJ,CAAC;QAED,mFAAmF;QACnF,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;YACxC,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,0DAA0D;QAE1D,0GAA0G;QAE1G,MAAM,cAAc,GAClB,MAAM,oBAAoB,CAAC,oBAAoB,CAAC;YAC9C,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,SAAU;YACvC,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEL,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAE7B,MAAM,eAAe,GAA0B,cAAc;aAC1D,GAAG,CAAC,CAAC,KAAoB,EAAE,EAAE;;YAC5B,OAAO;gBACL,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;gBACvB,KAAK,EAAE,CAAA,MAAA,KAAK,CAAC,GAAG,0CAAE,QAAQ,EAAE,KAAI,EAAE;aACnC,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,MAAsB,EAAE,EAAE;YACjC,OAAO,MAAM,CAAC,KAAK,KAAK,EAAE,IAAI,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;QAEL,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAE9B,MAAM,mBAAmB,GAA2B;YAClD,KAAK,EAAE,wBAAwB;YAC/B,KAAK,EAAE,gBAAgB;YACvB,OAAO,EAAE,eAAe;YACxB,WAAW,EAAE,uBAAuB;YACpC,OAAO,EAAE,eAAe;SACzB,CAAC;QAEF,MAAM,UAAU,GAAwB;YACtC,KAAK,EAAE,qBAAqB;YAC5B,KAAK,EAAE,uBAAuB;YAC9B,iBAAiB,EAAE,QAAQ;YAC3B,iBAAiB,EAAE,QAAQ;YAC3B,QAAQ,EAAE,eAAe,CAAC,yBAAyB;YACnD,WAAW,EAAE,WAAW;YACxB,MAAM,EAAE,CAAC,mBAAmB,CAAC;SAC9B,CAAC;QAEF,MAAM,SAAS,CAAC,eAAe,CAAC;YAC9B,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAiB;YAC9C,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,SAAU;SACxC,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,IAK7C;QACC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAEpC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;QACJ,CAAC;QAED,mFAAmF;QACnF,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;YACxC,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,0DAA0D;QAE1D,0GAA0G;QAE1G,IACE,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU;YAC7B,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,EAC9C,CAAC;YACD,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAa,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,WAAW,GACf,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE3D,MAAM,OAAO,GAAa,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEpD,MAAM,eAAe,CAAC,aAAa,CAAC;YAClC,EAAE,EAAE,UAAU;YACd,IAAI,EAAE;gBACJ,sBAAsB,EAAE,OAAO;aAChC;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,MAAO;aAClC;SACF,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAKvC;QACC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACxC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,YAAY,CAAC;QAE5E,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAEpC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,iBAAiB,CAAC,CACxC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,4BAA4B,CAAC,CACnD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;QACJ,CAAC;QAED,IACE,IAAI,CAAC,MAAM,CAAC,UAAU;YACtB,eAAe,CAAC,iCAAiC,EACjD,CAAC;YACD,MAAM,UAAU,GAAa,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;YAEvD,mFAAmF;YACnF,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;gBACxC,eAAe,EAAE,OAAO;aACzB,CAAC,CAAC;YAEH,MAAM,iBAAiB,GACrB,MAAM,eAAe,CAAC,kBAAkB,CAAC;gBACvC,UAAU,EAAE,UAAU;aACvB,CAAC,CAAC;YAEL,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,cAAc,GAClB,MAAM,eAAe,CAAC,iBAAiB,CAAC;oBACtC,UAAU,EAAE,UAAU;iBACvB,CAAC,CAAC;gBACL,8FAA8F;gBAC9F,MAAM,eAAe,GAA6B;oBAChD,KAAK,EAAE,0BAA0B;oBACjC,IAAI,EAAE,IAAI,aAAa,yEAAyE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,EAAE,KAAK,MAAM,eAAe,CAAC,0BAA0B,CAAC,YAAY,CAAC,SAAU,EAAE,UAAU,CAAC,oCAAoC;iBACzP,CAAC;gBAEF,MAAM,SAAS,CAAC,uBAAuB,CAAC;oBACtC,aAAa,EAAE,CAAC,eAAe,CAAC;oBAChC,SAAS,EAAE,gBAAgB;oBAC3B,eAAe,EAAE,YAAY,CAAC,WAAY;iBAC3C,CAAC,CAAC;gBAEH,OAAO;YACT,CAAC;YAED,IACE,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU;gBAC7B,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,EAC7C,CAAC;gBACD,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;YACJ,CAAC;YAED,MAAM,kBAAkB,GACtB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;YAE1D,6BAA6B;YAC7B,MAAM,cAAc,GAAa,IAAI,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YAElE,MAAM,uBAAuB,CAAC,aAAa,CAAC,cAAc,EAAE;gBAC1D,qBAAqB,EAAE,UAAU;gBACjC,yBAAyB,EAAE,yBAAyB,CAAC,eAAe;aACrE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAKtC;QACC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAEpC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;QACJ,CAAC;QAED,0DAA0D;QAE1D,0GAA0G;QAE1G,8CAA8C;QAE9C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;YAClC,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9C,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,CAC1C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,gBAAgB;YAChB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,cAAc,CAAC,CACrC,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAa,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,IAAI,GAAW,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrE,MAAM,QAAQ,GACZ,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEtD,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACpD,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,CAC1C,CAAC;QACJ,CAAC;QAED,uBAAuB;QACvB,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;YACxC,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,mCAAmC;QACnC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,yBAAyB,CAAC,OAAO,CAAC;gBACtC,UAAU,EAAE,UAAW;gBACvB,IAAI,EAAE,IAAI,IAAI,EAAE;gBAChB,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,SAAU;gBACvC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,MAAO;aAClC,CAAC,CAAC;QACL,CAAC;QAED,oCAAoC;QACpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,2BAA2B,CAAC,OAAO,CAAC;gBACxC,UAAU,EAAE,UAAW;gBACvB,IAAI,EAAE,IAAI,IAAI,EAAE;gBAChB,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,SAAU;gBACvC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,MAAO;aAClC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAKvC;QACC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAEpC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;QACJ,CAAC;QAED,mFAAmF;QACnF,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;YACxC,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,0DAA0D;QAE1D,0GAA0G;QAE1G,MAAM,kBAAkB,GAA2B;YACjD,KAAK,EAAE,wBAAwB;YAC/B,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE,UAAU;YACnB,WAAW,EAAE,kBAAkB;YAC/B,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,6CAA6C;oBACpD,KAAK,EAAE,QAAQ;iBAChB;gBACD;oBACE,KAAK,EAAE,6CAA6C;oBACpD,KAAK,EAAE,SAAS;iBACjB;aACF;SACF,CAAC;QAEF,MAAM,YAAY,GAA2B;YAC3C,KAAK,EAAE,wBAAwB;YAC/B,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,wCAAwC;SACtD,CAAC;QAEF,MAAM,UAAU,GAAwB;YACtC,KAAK,EAAE,qBAAqB;YAC5B,KAAK,EAAE,UAAU;YACjB,iBAAiB,EAAE,QAAQ;YAC3B,iBAAiB,EAAE,QAAQ;YAC3B,QAAQ,EAAE,eAAe,CAAC,kBAAkB;YAC5C,WAAW,EAAE,WAAW;YACxB,MAAM,EAAE,CAAC,kBAAkB,EAAE,YAAY,CAAC;SAC3C,CAAC;QAEF,MAAM,SAAS,CAAC,eAAe,CAAC;YAC9B,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAiB;YAC9C,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,SAAU;SACxC,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAKxC;QACC,8HAA8H;QAC9H,MAAM,UAAU,GAAgC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAEvE,IAAI,UAAU,KAAK,eAAe,CAAC,mBAAmB,EAAE,CAAC;YACvD,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,UAAU,KAAK,eAAe,CAAC,eAAe,EAAE,CAAC;YACnD,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,UAAU,KAAK,eAAe,CAAC,mBAAmB,EAAE,CAAC;YACvD,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,UAAU,KAAK,eAAe,CAAC,kBAAkB,EAAE,CAAC;YACtD,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,UAAU,KAAK,eAAe,CAAC,+BAA+B,EAAE,CAAC;YACnE,OAAO,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,UAAU,KAAK,eAAe,CAAC,iCAAiC,EAAE,CAAC;YACrE,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,UAAU,KAAK,eAAe,CAAC,uBAAuB,EAAE,CAAC;YAC3D,OAAO,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,UAAU,KAAK,eAAe,CAAC,yBAAyB,EAAE,CAAC;YAC7D,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,UAAU,KAAK,eAAe,CAAC,WAAW,EAAE,CAAC;YAC/C,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,UAAU,KAAK,eAAe,CAAC,iBAAiB,EAAE,CAAC;YACrD,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,UAAU,KAAK,eAAe,CAAC,YAAY,EAAE,CAAC;YAChD,mDAAmD;YACnD,kBAAkB;YAClB,OAAO,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;gBACzD,eAAe,EAAE,OAAO;aACzB,CAAC,CAAC;QACL,CAAC;QAED,uBAAuB;QACvB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,GAAG,EACR,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,82 @@
1
+ import BadDataException from "../../../../../Types/Exception/BadDataException";
2
+ import IncidentService from "../../../../Services/IncidentService";
3
+ import SlackActionType from "../../../../Utils/Workspace/Slack/Actions/ActionTypes";
4
+ export default class SlackIncidentMessages {
5
+ static async getIncidentCreateMessageBlocks(data) {
6
+ var _a, _b, _c, _d, _e, _f;
7
+ if (!data.incidentId) {
8
+ throw new BadDataException("Incident ID is required");
9
+ }
10
+ // Slack.
11
+ const blockSlack = [];
12
+ // add divider.
13
+ const dividerBlock = {
14
+ _type: "WorkspacePayloadDivider",
15
+ };
16
+ blockSlack.push(dividerBlock);
17
+ // now add buttons.
18
+ // View data.
19
+ // Execute On Call
20
+ // Acknowledge incident
21
+ // Resolve data.
22
+ // Change Incident State.
23
+ // Add Note.
24
+ const buttons = [];
25
+ // view data.
26
+ const viewIncidentButton = {
27
+ _type: "WorkspaceMessagePayloadButton",
28
+ title: "🔗 View Incident",
29
+ url: await IncidentService.getIncidentLinkInDashboard(data.projectId, data.incidentId),
30
+ value: ((_a = data.incidentId) === null || _a === void 0 ? void 0 : _a.toString()) || "",
31
+ actionId: SlackActionType.ViewIncident,
32
+ };
33
+ buttons.push(viewIncidentButton);
34
+ // execute on call.
35
+ const executeOnCallButton = {
36
+ _type: "WorkspaceMessagePayloadButton",
37
+ title: "📞 Execute On Call",
38
+ value: ((_b = data.incidentId) === null || _b === void 0 ? void 0 : _b.toString()) || "",
39
+ actionId: SlackActionType.ViewExecuteIncidentOnCallPolicy,
40
+ };
41
+ buttons.push(executeOnCallButton);
42
+ // acknowledge data.
43
+ const acknowledgeIncidentButton = {
44
+ _type: "WorkspaceMessagePayloadButton",
45
+ title: "👀 Acknowledge Incident",
46
+ value: ((_c = data.incidentId) === null || _c === void 0 ? void 0 : _c.toString()) || "",
47
+ actionId: SlackActionType.AcknowledgeIncident,
48
+ };
49
+ buttons.push(acknowledgeIncidentButton);
50
+ // resolve data.
51
+ const resolveIncidentButton = {
52
+ _type: "WorkspaceMessagePayloadButton",
53
+ title: "✅ Resolve Incident",
54
+ value: ((_d = data.incidentId) === null || _d === void 0 ? void 0 : _d.toString()) || "",
55
+ actionId: SlackActionType.ResolveIncident,
56
+ };
57
+ buttons.push(resolveIncidentButton);
58
+ // change incident state.
59
+ const changeIncidentStateButton = {
60
+ _type: "WorkspaceMessagePayloadButton",
61
+ title: "➡️ Change Incident State",
62
+ value: ((_e = data.incidentId) === null || _e === void 0 ? void 0 : _e.toString()) || "",
63
+ actionId: SlackActionType.ViewChangeIncidentState,
64
+ };
65
+ buttons.push(changeIncidentStateButton);
66
+ // add note.
67
+ const addNoteButton = {
68
+ _type: "WorkspaceMessagePayloadButton",
69
+ title: "📄 Add Note",
70
+ value: ((_f = data.incidentId) === null || _f === void 0 ? void 0 : _f.toString()) || "",
71
+ actionId: SlackActionType.ViewAddIncidentNote,
72
+ };
73
+ buttons.push(addNoteButton);
74
+ const workspacePayloadButtons = {
75
+ buttons: buttons,
76
+ _type: "WorkspacePayloadButtons",
77
+ };
78
+ blockSlack.push(workspacePayloadButtons);
79
+ return blockSlack;
80
+ }
81
+ }
82
+ //# sourceMappingURL=Incident.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Incident.js","sourceRoot":"","sources":["../../../../../../../Server/Utils/Workspace/Slack/Messages/Incident.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,85 @@ import logger from "../../Logger";
5
5
  import BadRequestException from "../../../../Types/Exception/BadRequestException";
6
6
  import WorkspaceBase from "../WorkspaceBase";
7
7
  import WorkspaceType from "../../../../Types/Workspace/WorkspaceType";
8
+ import SlackifyMarkdown from "slackify-markdown";
8
9
  export default class SlackUtil extends WorkspaceBase {
10
+ static async getUsernameFromUserId(data) {
11
+ var _a, _b, _c;
12
+ logger.debug("Getting username from user ID with data:");
13
+ logger.debug(data);
14
+ const response = await API.post(URL.fromString("https://slack.com/api/users.info"), {
15
+ user: data.userId,
16
+ }, {
17
+ Authorization: `Bearer ${data.authToken}`,
18
+ ["Content-Type"]: "application/x-www-form-urlencoded",
19
+ });
20
+ logger.debug("Response from Slack API for getting user info:");
21
+ logger.debug(response);
22
+ if (response instanceof HTTPErrorResponse) {
23
+ logger.error("Error response from Slack API:");
24
+ logger.error(response);
25
+ throw response;
26
+ }
27
+ // check for ok response
28
+ if (((_a = response.jsonData) === null || _a === void 0 ? void 0 : _a["ok"]) !== true) {
29
+ logger.error("Invalid response from Slack API:");
30
+ logger.error(response.jsonData);
31
+ throw new BadRequestException("Invalid response");
32
+ }
33
+ if (!((_c = (_b = response.jsonData) === null || _b === void 0 ? void 0 : _b["user"]) === null || _c === void 0 ? void 0 : _c["name"])) {
34
+ logger.error("Invalid response from Slack API:");
35
+ logger.error(response.jsonData);
36
+ throw new Error("Invalid response");
37
+ }
38
+ const username = response.jsonData["user"]["name"];
39
+ logger.debug("Username obtained:");
40
+ logger.debug(username);
41
+ return username;
42
+ }
43
+ static async showModalToUser(data) {
44
+ var _a;
45
+ logger.debug("Showing modal to user with data:");
46
+ logger.debug(data);
47
+ const modalJson = this.getModalBlock({
48
+ payloadModalBlock: data.modalBlock,
49
+ });
50
+ logger.debug("Modal JSON generated:");
51
+ logger.debug(JSON.stringify(modalJson, null, 2));
52
+ // use view.open API to show modal
53
+ const result = await API.post(URL.fromString("https://slack.com/api/views.open"), {
54
+ trigger_id: data.triggerId,
55
+ view: modalJson,
56
+ }, {
57
+ Authorization: `Bearer ${data.authToken}`,
58
+ ["Content-Type"]: "application/json",
59
+ });
60
+ if (result instanceof HTTPErrorResponse) {
61
+ logger.error("Error response from Slack API:");
62
+ logger.error(result);
63
+ throw result;
64
+ }
65
+ if (((_a = result.jsonData) === null || _a === void 0 ? void 0 : _a["ok"]) !== true) {
66
+ logger.error("Invalid response from Slack API:");
67
+ logger.error(result.jsonData);
68
+ throw new BadRequestException("Invalid response");
69
+ }
70
+ logger.debug("Modal shown to user successfully.");
71
+ }
72
+ static async sendDirectMessageToUser(data) {
73
+ // Send direct message to user
74
+ const blocks = this.getBlocksFromWorkspaceMessagePayload({
75
+ messageBlocks: data.messageBlocks,
76
+ });
77
+ await this.sendPayloadBlocksToChannel({
78
+ authToken: data.authToken,
79
+ workspaceChannel: {
80
+ id: data.workspaceUserId,
81
+ name: "",
82
+ workspaceType: WorkspaceType.Slack,
83
+ },
84
+ blocks: blocks,
85
+ });
86
+ }
9
87
  static async joinChannel(data) {
10
88
  var _a;
11
89
  logger.debug("Joining channel with data:");
@@ -196,6 +274,39 @@ export default class SlackUtil extends WorkspaceBase {
196
274
  logger.debug(channels);
197
275
  return channels;
198
276
  }
277
+ static getDividerBlock() {
278
+ return {
279
+ type: "divider",
280
+ };
281
+ }
282
+ static getValuesFromView(data) {
283
+ var _a, _b;
284
+ logger.debug("Getting values from view with data:");
285
+ logger.debug(JSON.stringify(data, null, 2));
286
+ const slackView = data.view;
287
+ const values = {};
288
+ if (!slackView["state"] || !slackView["state"]["values"]) {
289
+ return {};
290
+ }
291
+ for (const valueId in slackView["state"]["values"]) {
292
+ for (const blockId in slackView["state"]["values"][valueId]) {
293
+ const valueObject = slackView["state"]["values"][valueId];
294
+ const value = valueObject[blockId];
295
+ values[blockId] = value["value"];
296
+ if ((_a = value["selected_option"]) === null || _a === void 0 ? void 0 : _a["value"]) {
297
+ values[blockId] = (_b = value["selected_option"]) === null || _b === void 0 ? void 0 : _b["value"];
298
+ }
299
+ if (Array.isArray(value["selected_options"])) {
300
+ values[blockId] = value["selected_options"].map((option) => {
301
+ return option["value"];
302
+ });
303
+ }
304
+ }
305
+ }
306
+ logger.debug("Values obtained from view:");
307
+ logger.debug(values);
308
+ return values;
309
+ }
199
310
  static async sendMessage(data) {
200
311
  logger.debug("Sending message to Slack with data:");
201
312
  logger.debug(data);
@@ -207,7 +318,7 @@ export default class SlackUtil extends WorkspaceBase {
207
318
  });
208
319
  logger.debug("Existing workspace channels:");
209
320
  logger.debug(existingWorkspaceChannels);
210
- const channelIdsToPostTo = [];
321
+ const workspaceChannelsToPostTo = [];
211
322
  for (let channelName of data.workspaceMessagePayload.channelNames) {
212
323
  if (channelName && channelName.startsWith("#")) {
213
324
  // trim # from channel name
@@ -218,49 +329,67 @@ export default class SlackUtil extends WorkspaceBase {
218
329
  channel = existingWorkspaceChannels[channelName];
219
330
  }
220
331
  if (channel) {
221
- channelIdsToPostTo.push(channel.id);
332
+ workspaceChannelsToPostTo.push(channel);
222
333
  }
223
334
  else {
224
335
  logger.debug(`Channel ${channelName} does not exist.`);
225
336
  }
226
337
  }
338
+ // add channel ids.
339
+ for (const channelId of data.workspaceMessagePayload.channelIds) {
340
+ const channel = {
341
+ id: channelId,
342
+ name: "",
343
+ workspaceType: WorkspaceType.Slack,
344
+ };
345
+ workspaceChannelsToPostTo.push(channel);
346
+ }
227
347
  logger.debug("Channel IDs to post to:");
228
- logger.debug(channelIdsToPostTo);
229
- for (const channelId of channelIdsToPostTo) {
348
+ logger.debug(workspaceChannelsToPostTo);
349
+ const workspaspaceMessageResponse = {
350
+ threads: [],
351
+ workspaceType: WorkspaceType.Slack,
352
+ };
353
+ for (const channel of workspaceChannelsToPostTo) {
230
354
  try {
231
355
  // check if the user is in the channel.
232
356
  const isUserInChannel = await this.isUserInChannel({
233
357
  authToken: data.authToken,
234
- channelId: channelId,
358
+ channelId: channel.id,
235
359
  userId: data.userId,
236
360
  });
237
361
  if (!isUserInChannel) {
238
362
  // add user to the channel
239
363
  await this.joinChannel({
240
364
  authToken: data.authToken,
241
- channelId: channelId,
365
+ channelId: channel.id,
242
366
  });
243
367
  }
244
- await this.sendPayloadBlocksToChannel({
368
+ const thread = await this.sendPayloadBlocksToChannel({
245
369
  authToken: data.authToken,
246
- channelId: channelId,
370
+ workspaceChannel: channel,
247
371
  blocks: blocks,
248
372
  });
249
- logger.debug(`Message sent to channel ID ${channelId} successfully.`);
373
+ workspaspaceMessageResponse.threads.push(thread);
374
+ logger.debug(`Message sent to channel ID ${channel.id} successfully.`);
250
375
  }
251
376
  catch (e) {
252
- logger.error(`Error sending message to channel ID ${channelId}:`);
377
+ logger.error(`Error sending message to channel ID ${channel.id}:`);
253
378
  logger.error(e);
254
379
  }
255
380
  }
381
+ logger.debug("Message sent successfully.");
382
+ logger.debug(workspaspaceMessageResponse);
383
+ return workspaspaceMessageResponse;
256
384
  }
257
385
  static async sendPayloadBlocksToChannel(data) {
258
386
  var _a;
259
387
  logger.debug("Sending payload blocks to channel with data:");
260
388
  logger.debug(JSON.stringify(data, null, 2));
261
389
  const response = await API.post(URL.fromString("https://slack.com/api/chat.postMessage"), {
262
- channel: data.channelId,
390
+ channel: data.workspaceChannel.id,
263
391
  blocks: data.blocks,
392
+ unfurl_links: false,
264
393
  }, {
265
394
  Authorization: `Bearer ${data.authToken}`,
266
395
  ["Content-Type"]: "application/json",
@@ -278,9 +407,31 @@ export default class SlackUtil extends WorkspaceBase {
278
407
  throw new BadRequestException("Invalid response");
279
408
  }
280
409
  logger.debug("Payload blocks sent to channel successfully.");
410
+ return {
411
+ channel: data.workspaceChannel,
412
+ threadId: response.jsonData["ts"],
413
+ };
414
+ }
415
+ static getButtonsBlock(data) {
416
+ logger.debug("Getting buttons block with data:");
417
+ logger.debug(data);
418
+ const buttonsBlock = {
419
+ type: "actions",
420
+ elements: data.payloadButtonsBlock.buttons.map((button) => {
421
+ return this.getButtonBlock({ payloadButtonBlock: button });
422
+ }),
423
+ };
424
+ logger.debug("Buttons block generated:");
425
+ logger.debug(buttonsBlock);
426
+ return buttonsBlock;
281
427
  }
282
428
  static async createChannel(data) {
283
429
  var _a, _b, _c, _d, _e;
430
+ if (data.channelName && data.channelName.startsWith("#")) {
431
+ data.channelName = data.channelName.substring(1);
432
+ }
433
+ // lower case channel name
434
+ data.channelName = data.channelName.toLowerCase();
284
435
  logger.debug("Creating channel with data:");
285
436
  logger.debug(data);
286
437
  const response = await API.post(URL.fromString("https://slack.com/api/conversations.create"), {
@@ -331,6 +482,205 @@ export default class SlackUtil extends WorkspaceBase {
331
482
  logger.debug(headerBlock);
332
483
  return headerBlock;
333
484
  }
485
+ static getCheckboxBlock(data) {
486
+ logger.debug("Getting checkbox block with data:");
487
+ logger.debug(data);
488
+ const checkboxBlock = {
489
+ type: "input",
490
+ element: {
491
+ type: "checkboxes",
492
+ action_id: data.payloadCheckboxBlock.blockId,
493
+ options: [
494
+ {
495
+ text: {
496
+ type: "plain_text",
497
+ text: data.payloadCheckboxBlock.label,
498
+ },
499
+ value: "value",
500
+ },
501
+ ],
502
+ initial_options: data.payloadCheckboxBlock.initialValue
503
+ ? [
504
+ {
505
+ text: {
506
+ type: "plain_text",
507
+ text: data.payloadCheckboxBlock.label,
508
+ },
509
+ value: "value",
510
+ },
511
+ ]
512
+ : undefined,
513
+ },
514
+ label: {
515
+ type: "plain_text",
516
+ text: data.payloadCheckboxBlock.label,
517
+ },
518
+ };
519
+ // if description then add hint.
520
+ if (data.payloadCheckboxBlock.description) {
521
+ checkboxBlock["hint"] = {
522
+ type: "plain_text",
523
+ text: data.payloadCheckboxBlock.description,
524
+ };
525
+ }
526
+ logger.debug("Checkbox block generated:");
527
+ logger.debug(checkboxBlock);
528
+ return checkboxBlock;
529
+ }
530
+ static getTextAreaBlock(data) {
531
+ logger.debug("Getting text area block with data:");
532
+ logger.debug(data);
533
+ const optional = data.payloadTextAreaBlock.optional || false;
534
+ const textAreaBlock = {
535
+ type: "input",
536
+ optional: optional,
537
+ element: {
538
+ type: "plain_text_input",
539
+ multiline: true,
540
+ action_id: data.payloadTextAreaBlock.blockId,
541
+ placeholder: {
542
+ type: "plain_text",
543
+ text: data.payloadTextAreaBlock.placeholder,
544
+ },
545
+ initial_value: data.payloadTextAreaBlock.initialValue,
546
+ },
547
+ label: {
548
+ type: "plain_text",
549
+ text: data.payloadTextAreaBlock.label,
550
+ },
551
+ };
552
+ // if description then add hint.
553
+ if (data.payloadTextAreaBlock.description) {
554
+ textAreaBlock["hint"] = {
555
+ type: "plain_text",
556
+ text: data.payloadTextAreaBlock.description,
557
+ };
558
+ }
559
+ logger.debug("Text area block generated:");
560
+ logger.debug(textAreaBlock);
561
+ return textAreaBlock;
562
+ }
563
+ static getTextBoxBlock(data) {
564
+ logger.debug("Getting text box block with data:");
565
+ logger.debug(data);
566
+ const optional = data.payloadTextBoxBlock.optional || false;
567
+ const textBoxBlock = {
568
+ type: "input",
569
+ optional: optional,
570
+ element: {
571
+ type: "plain_text_input",
572
+ action_id: data.payloadTextBoxBlock.blockId,
573
+ placeholder: {
574
+ type: "plain_text",
575
+ text: data.payloadTextBoxBlock.placeholder,
576
+ },
577
+ initial_value: data.payloadTextBoxBlock.initialValue,
578
+ },
579
+ label: {
580
+ type: "plain_text",
581
+ text: data.payloadTextBoxBlock.label,
582
+ },
583
+ };
584
+ // if description then add hint.
585
+ if (data.payloadTextBoxBlock.description) {
586
+ textBoxBlock["hint"] = {
587
+ type: "plain_text",
588
+ text: data.payloadTextBoxBlock.description,
589
+ };
590
+ }
591
+ logger.debug("Text box block generated:");
592
+ logger.debug(textBoxBlock);
593
+ return textBoxBlock;
594
+ }
595
+ static getImageBlock(data) {
596
+ logger.debug("Getting image block with data:");
597
+ logger.debug(data);
598
+ const imageBlock = {
599
+ type: "image",
600
+ image_url: data.payloadImageBlock.imageUrl.toString(),
601
+ alt_text: data.payloadImageBlock.altText,
602
+ };
603
+ logger.debug("Image block generated:");
604
+ logger.debug(imageBlock);
605
+ return imageBlock;
606
+ }
607
+ static getDropdownBlock(data) {
608
+ logger.debug("Getting dropdown block with data:");
609
+ logger.debug(data);
610
+ const optional = data.payloadDropdownBlock.optional || false;
611
+ const isMiltiSelect = data.payloadDropdownBlock.multiSelect || false;
612
+ const dropdownBlock = {
613
+ type: "input",
614
+ optional: optional,
615
+ element: {
616
+ type: isMiltiSelect ? "multi_static_select" : "static_select",
617
+ action_id: data.payloadDropdownBlock.blockId,
618
+ placeholder: {
619
+ type: "plain_text",
620
+ text: data.payloadDropdownBlock.placeholder,
621
+ },
622
+ options: data.payloadDropdownBlock.options.map((option) => {
623
+ return {
624
+ text: {
625
+ type: "plain_text",
626
+ text: option.label,
627
+ },
628
+ value: option.value,
629
+ };
630
+ }),
631
+ initial_option: data.payloadDropdownBlock.initialValue
632
+ ? {
633
+ text: {
634
+ type: "plain_text",
635
+ text: data.payloadDropdownBlock.initialValue,
636
+ },
637
+ value: data.payloadDropdownBlock.initialValue,
638
+ }
639
+ : undefined,
640
+ },
641
+ label: {
642
+ type: "plain_text",
643
+ text: data.payloadDropdownBlock.label,
644
+ },
645
+ };
646
+ // if description then add hint.
647
+ if (data.payloadDropdownBlock.description) {
648
+ dropdownBlock["hint"] = {
649
+ type: "plain_text",
650
+ text: data.payloadDropdownBlock.description,
651
+ };
652
+ }
653
+ logger.debug("Dropdown block generated:");
654
+ logger.debug(dropdownBlock);
655
+ return dropdownBlock;
656
+ }
657
+ static getModalBlock(data) {
658
+ logger.debug("Getting modal block with data:");
659
+ logger.debug(data);
660
+ const modalBlock = {
661
+ type: "modal",
662
+ title: {
663
+ type: "plain_text",
664
+ text: data.payloadModalBlock.title,
665
+ },
666
+ callback_id: data.payloadModalBlock.actionId,
667
+ private_metadata: data.payloadModalBlock.actionValue,
668
+ submit: {
669
+ type: "plain_text",
670
+ text: data.payloadModalBlock.submitButtonTitle,
671
+ },
672
+ close: {
673
+ type: "plain_text",
674
+ text: data.payloadModalBlock.cancelButtonTitle,
675
+ },
676
+ blocks: this.getBlocksFromWorkspaceMessagePayload({
677
+ messageBlocks: data.payloadModalBlock.blocks,
678
+ }),
679
+ };
680
+ logger.debug("Modal block generated:");
681
+ logger.debug(modalBlock);
682
+ return modalBlock;
683
+ }
334
684
  static getMarkdownBlock(data) {
335
685
  logger.debug("Getting markdown block with data:");
336
686
  logger.debug(data);
@@ -338,13 +688,42 @@ export default class SlackUtil extends WorkspaceBase {
338
688
  type: "section",
339
689
  text: {
340
690
  type: "mrkdwn",
341
- text: data.payloadMarkdownBlock.text,
691
+ text: data.payloadMarkdownBlock.text
692
+ ? SlackifyMarkdown(data.payloadMarkdownBlock.text)
693
+ : "",
342
694
  },
343
695
  };
344
696
  logger.debug("Markdown block generated:");
345
697
  logger.debug(markdownBlock);
346
698
  return markdownBlock;
347
699
  }
700
+ static async isUserInDirectMessageChannel(data) {
701
+ var _a, _b;
702
+ // check of the user id is in the direct message channel id
703
+ const response = await API.post(URL.fromString("https://slack.com/api/conversations.info"), {
704
+ channel: data.directMessageChannelId,
705
+ }, {
706
+ Authorization: `Bearer ${data.authToken}`,
707
+ ["Content-Type"]: "application/x-www-form-urlencoded",
708
+ });
709
+ if (response instanceof HTTPErrorResponse) {
710
+ logger.error("Error response from Slack API:");
711
+ logger.error(response);
712
+ throw response;
713
+ }
714
+ // check for ok response
715
+ if (((_a = response.jsonData) === null || _a === void 0 ? void 0 : _a["ok"]) !== true) {
716
+ logger.error("Invalid response from Slack API:");
717
+ logger.error(response.jsonData);
718
+ throw new BadRequestException("Invalid response");
719
+ }
720
+ // check if the user is in the channel
721
+ const user = response.jsonData["channel"]["user"];
722
+ if (((_b = user === null || user === void 0 ? void 0 : user["user_id"]) === null || _b === void 0 ? void 0 : _b.toString()) === data.userId.toString()) {
723
+ return true;
724
+ }
725
+ return false;
726
+ }
348
727
  static async isUserInChannel(data) {
349
728
  var _a, _b;
350
729
  const members = [];
@@ -395,9 +774,13 @@ export default class SlackUtil extends WorkspaceBase {
395
774
  text: {
396
775
  type: "plain_text",
397
776
  text: data.payloadButtonBlock.title,
777
+ emoji: true,
398
778
  },
399
- value: data.payloadButtonBlock.title,
400
- action_id: data.payloadButtonBlock.title,
779
+ value: data.payloadButtonBlock.value,
780
+ action_id: data.payloadButtonBlock.actionId,
781
+ url: data.payloadButtonBlock.url
782
+ ? data.payloadButtonBlock.url.toString()
783
+ : undefined,
401
784
  };
402
785
  logger.debug("Button block generated:");
403
786
  logger.debug(buttonBlock);