@oneuptime/common 10.0.38 → 10.0.40

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 (294) hide show
  1. package/Models/AnalyticsModels/Index.ts +4 -0
  2. package/Models/AnalyticsModels/Profile.ts +687 -0
  3. package/Models/AnalyticsModels/ProfileSample.ts +547 -0
  4. package/Models/DatabaseModels/Dashboard.ts +357 -0
  5. package/Models/DatabaseModels/DashboardDomain.ts +658 -0
  6. package/Models/DatabaseModels/Index.ts +2 -0
  7. package/Models/DatabaseModels/StatusPage.ts +41 -0
  8. package/Server/API/DashboardAPI.ts +408 -0
  9. package/Server/API/DashboardDomainAPI.ts +235 -0
  10. package/Server/API/StatusPageAPI.ts +36 -2
  11. package/Server/API/TelemetryAPI.ts +393 -0
  12. package/Server/EnvironmentConfig.ts +12 -0
  13. package/Server/Infrastructure/Postgres/SchemaMigrations/1774524742177-MigrationName.ts +97 -0
  14. package/Server/Infrastructure/Postgres/SchemaMigrations/1774524742178-MigrationName.ts +17 -0
  15. package/Server/Infrastructure/Postgres/SchemaMigrations/1774524742179-MigrationName.ts +50 -0
  16. package/Server/Infrastructure/Postgres/SchemaMigrations/1774559064919-MigrationName.ts +59 -0
  17. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +8 -0
  18. package/Server/Middleware/UserAuthorization.ts +96 -1
  19. package/Server/Services/DashboardDomainService.ts +647 -0
  20. package/Server/Services/DashboardService.ts +174 -3
  21. package/Server/Services/IncidentService.ts +295 -50
  22. package/Server/Services/IncidentStateTimelineService.ts +1 -0
  23. package/Server/Services/Index.ts +6 -0
  24. package/Server/Services/MonitorService.ts +5 -0
  25. package/Server/Services/ProfileAggregationService.ts +559 -0
  26. package/Server/Services/ProfileSampleService.ts +11 -0
  27. package/Server/Services/ProfileService.ts +11 -0
  28. package/Server/Services/TelemetryUsageBillingService.ts +77 -3
  29. package/Server/Services/WorkspaceNotificationSummaryService.ts +15 -1
  30. package/Server/Types/Billing/MeteredPlan/AllMeteredPlans.ts +9 -0
  31. package/Server/Types/Workflow/Components/Conditions/IfElse.ts +68 -21
  32. package/Server/Utils/Cookie.ts +48 -0
  33. package/Server/Utils/Monitor/Criteria/ProfileMonitorCriteria.ts +34 -0
  34. package/Server/Utils/Monitor/DataToProcess.ts +3 -1
  35. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +299 -0
  36. package/Server/Utils/Profile/PprofEncoder.ts +225 -0
  37. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +53 -16
  38. package/Server/Utils/Workspace/Slack/Slack.ts +26 -6
  39. package/ServiceRoute.ts +2 -0
  40. package/Types/AnalyticsDatabase/AnalyticsTableName.ts +2 -0
  41. package/Types/CookieName.ts +1 -0
  42. package/Types/Dashboard/Chart/ChartType.ts +5 -0
  43. package/Types/Dashboard/DashboardComponentType.ts +4 -0
  44. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +10 -0
  45. package/Types/Dashboard/DashboardComponents/DashboardChartComponent.ts +1 -2
  46. package/Types/Dashboard/DashboardComponents/DashboardGaugeComponent.ts +17 -0
  47. package/Types/Dashboard/DashboardComponents/DashboardLogStreamComponent.ts +15 -0
  48. package/Types/Dashboard/DashboardComponents/DashboardTableComponent.ts +14 -0
  49. package/Types/Dashboard/DashboardComponents/DashboardTextComponent.ts +1 -0
  50. package/Types/Dashboard/DashboardComponents/DashboardTraceListComponent.ts +13 -0
  51. package/Types/Dashboard/DashboardComponents/DashboardValueComponent.ts +2 -0
  52. package/Types/Dashboard/DashboardTemplates.ts +964 -0
  53. package/Types/Dashboard/DashboardVariable.ts +23 -0
  54. package/Types/Dashboard/DashboardViewConfig.ts +59 -0
  55. package/Types/Dashboard/MasterPassword.ts +10 -0
  56. package/Types/Icon/IconProp.ts +1 -0
  57. package/Types/Incident/IncidentMetricType.ts +3 -0
  58. package/Types/MeteredPlan/ProductType.ts +1 -0
  59. package/Types/Metrics/MetricQueryConfigData.ts +3 -0
  60. package/Types/Monitor/CriteriaFilter.ts +3 -0
  61. package/Types/Monitor/KubernetesAlertTemplates.ts +78 -7
  62. package/Types/Monitor/MetricMonitor/MetricMonitorResponse.ts +20 -0
  63. package/Types/Monitor/MonitorStep.ts +25 -0
  64. package/Types/Monitor/MonitorStepProfileMonitor.ts +96 -0
  65. package/Types/Monitor/MonitorType.ts +11 -0
  66. package/Types/Monitor/ProfileMonitor/ProfileMonitorResponse.ts +12 -0
  67. package/Types/Permission.ts +87 -0
  68. package/Types/Telemetry/TelemetryType.ts +1 -0
  69. package/Types/Workflow/Component.ts +1 -0
  70. package/Types/Workflow/Components/Condition.ts +24 -0
  71. package/Types/Workspace/NotificationSummary/WorkspaceNotificationSummaryItem.ts +1 -0
  72. package/UI/Components/Button/Button.tsx +1 -1
  73. package/UI/Components/Card/Card.tsx +8 -4
  74. package/UI/Components/Charts/Area/AreaChart.tsx +4 -0
  75. package/UI/Components/Charts/Bar/BarChart.tsx +4 -0
  76. package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +26 -0
  77. package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +26 -0
  78. package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +26 -0
  79. package/UI/Components/Charts/Line/LineChart.tsx +4 -0
  80. package/UI/Components/Charts/Types/ReferenceLineProps.ts +6 -0
  81. package/UI/Components/Icon/Icon.tsx +33 -0
  82. package/UI/Components/ModelTable/BaseModelTable.tsx +13 -10
  83. package/UI/Components/MoreMenu/MoreMenu.tsx +15 -2
  84. package/UI/Components/MoreMenu/MoreMenuItem.tsx +4 -4
  85. package/UI/Components/Workflow/Component.tsx +450 -209
  86. package/UI/Components/Workflow/ComponentPortViewer.tsx +57 -20
  87. package/UI/Components/Workflow/ComponentReturnValueViewer.tsx +65 -25
  88. package/UI/Components/Workflow/ComponentSettingsModal.tsx +202 -37
  89. package/UI/Components/Workflow/ComponentsModal.tsx +180 -93
  90. package/UI/Components/Workflow/Utils.ts +32 -1
  91. package/UI/Components/Workflow/Workflow.tsx +105 -9
  92. package/UI/Config.ts +9 -0
  93. package/Utils/Dashboard/Components/DashboardChartComponent.ts +53 -22
  94. package/Utils/Dashboard/Components/DashboardGaugeComponent.ts +124 -0
  95. package/Utils/Dashboard/Components/DashboardLogStreamComponent.ts +110 -0
  96. package/Utils/Dashboard/Components/DashboardTableComponent.ts +86 -0
  97. package/Utils/Dashboard/Components/DashboardTextComponent.ts +32 -7
  98. package/Utils/Dashboard/Components/DashboardTraceListComponent.ts +86 -0
  99. package/Utils/Dashboard/Components/DashboardValueComponent.ts +39 -3
  100. package/Utils/Dashboard/Components/Index.ts +28 -0
  101. package/Utils/ValueFormatter.ts +170 -0
  102. package/build/dist/Models/AnalyticsModels/Index.js +4 -0
  103. package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
  104. package/build/dist/Models/AnalyticsModels/Profile.js +621 -0
  105. package/build/dist/Models/AnalyticsModels/Profile.js.map +1 -0
  106. package/build/dist/Models/AnalyticsModels/ProfileSample.js +497 -0
  107. package/build/dist/Models/AnalyticsModels/ProfileSample.js.map +1 -0
  108. package/build/dist/Models/DatabaseModels/Dashboard.js +365 -0
  109. package/build/dist/Models/DatabaseModels/Dashboard.js.map +1 -1
  110. package/build/dist/Models/DatabaseModels/DashboardDomain.js +691 -0
  111. package/build/dist/Models/DatabaseModels/DashboardDomain.js.map +1 -0
  112. package/build/dist/Models/DatabaseModels/Index.js +2 -0
  113. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  114. package/build/dist/Models/DatabaseModels/StatusPage.js +42 -0
  115. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
  116. package/build/dist/Server/API/DashboardAPI.js +293 -0
  117. package/build/dist/Server/API/DashboardAPI.js.map +1 -0
  118. package/build/dist/Server/API/DashboardDomainAPI.js +124 -0
  119. package/build/dist/Server/API/DashboardDomainAPI.js.map +1 -0
  120. package/build/dist/Server/API/StatusPageAPI.js +26 -2
  121. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  122. package/build/dist/Server/API/TelemetryAPI.js +222 -0
  123. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  124. package/build/dist/Server/EnvironmentConfig.js +4 -0
  125. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  126. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742177-MigrationName.js +40 -0
  127. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742177-MigrationName.js.map +1 -0
  128. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742178-MigrationName.js +12 -0
  129. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742178-MigrationName.js.map +1 -0
  130. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742179-MigrationName.js +23 -0
  131. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742179-MigrationName.js.map +1 -0
  132. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774559064919-MigrationName.js +26 -0
  133. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774559064919-MigrationName.js.map +1 -0
  134. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
  135. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  136. package/build/dist/Server/Middleware/UserAuthorization.js +41 -0
  137. package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
  138. package/build/dist/Server/Services/DashboardDomainService.js +595 -0
  139. package/build/dist/Server/Services/DashboardDomainService.js.map +1 -0
  140. package/build/dist/Server/Services/DashboardService.js +117 -3
  141. package/build/dist/Server/Services/DashboardService.js.map +1 -1
  142. package/build/dist/Server/Services/IncidentService.js +231 -55
  143. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  144. package/build/dist/Server/Services/IncidentStateTimelineService.js +1 -1
  145. package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
  146. package/build/dist/Server/Services/Index.js +6 -0
  147. package/build/dist/Server/Services/Index.js.map +1 -1
  148. package/build/dist/Server/Services/MonitorService.js +5 -2
  149. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  150. package/build/dist/Server/Services/ProfileAggregationService.js +356 -0
  151. package/build/dist/Server/Services/ProfileAggregationService.js.map +1 -0
  152. package/build/dist/Server/Services/ProfileSampleService.js +9 -0
  153. package/build/dist/Server/Services/ProfileSampleService.js.map +1 -0
  154. package/build/dist/Server/Services/ProfileService.js +9 -0
  155. package/build/dist/Server/Services/ProfileService.js.map +1 -0
  156. package/build/dist/Server/Services/TelemetryUsageBillingService.js +61 -4
  157. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  158. package/build/dist/Server/Services/WorkspaceNotificationSummaryService.js +13 -1
  159. package/build/dist/Server/Services/WorkspaceNotificationSummaryService.js.map +1 -1
  160. package/build/dist/Server/Types/Billing/MeteredPlan/AllMeteredPlans.js +8 -0
  161. package/build/dist/Server/Types/Billing/MeteredPlan/AllMeteredPlans.js.map +1 -1
  162. package/build/dist/Server/Types/Workflow/Components/Conditions/IfElse.js +49 -19
  163. package/build/dist/Server/Types/Workflow/Components/Conditions/IfElse.js.map +1 -1
  164. package/build/dist/Server/Utils/Cookie.js +36 -0
  165. package/build/dist/Server/Utils/Cookie.js.map +1 -1
  166. package/build/dist/Server/Utils/Monitor/Criteria/ProfileMonitorCriteria.js +34 -0
  167. package/build/dist/Server/Utils/Monitor/Criteria/ProfileMonitorCriteria.js.map +1 -0
  168. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +173 -0
  169. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  170. package/build/dist/Server/Utils/Profile/PprofEncoder.js +129 -0
  171. package/build/dist/Server/Utils/Profile/PprofEncoder.js.map +1 -0
  172. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +36 -14
  173. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
  174. package/build/dist/Server/Utils/Workspace/Slack/Slack.js +23 -6
  175. package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
  176. package/build/dist/ServiceRoute.js +1 -0
  177. package/build/dist/ServiceRoute.js.map +1 -1
  178. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +2 -0
  179. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
  180. package/build/dist/Types/CookieName.js +1 -0
  181. package/build/dist/Types/CookieName.js.map +1 -1
  182. package/build/dist/Types/Dashboard/Chart/ChartType.js +5 -0
  183. package/build/dist/Types/Dashboard/Chart/ChartType.js.map +1 -1
  184. package/build/dist/Types/Dashboard/DashboardComponentType.js +4 -0
  185. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  186. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +1 -0
  187. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  188. package/build/dist/Types/Dashboard/DashboardComponents/DashboardGaugeComponent.js +2 -0
  189. package/build/dist/Types/Dashboard/DashboardComponents/DashboardGaugeComponent.js.map +1 -0
  190. package/build/dist/Types/Dashboard/DashboardComponents/DashboardLogStreamComponent.js +2 -0
  191. package/build/dist/Types/Dashboard/DashboardComponents/DashboardLogStreamComponent.js.map +1 -0
  192. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTableComponent.js +2 -0
  193. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTableComponent.js.map +1 -0
  194. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceListComponent.js +2 -0
  195. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceListComponent.js.map +1 -0
  196. package/build/dist/Types/Dashboard/DashboardTemplates.js +853 -0
  197. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -0
  198. package/build/dist/Types/Dashboard/DashboardVariable.js +7 -0
  199. package/build/dist/Types/Dashboard/DashboardVariable.js.map +1 -0
  200. package/build/dist/Types/Dashboard/DashboardViewConfig.js +50 -1
  201. package/build/dist/Types/Dashboard/DashboardViewConfig.js.map +1 -1
  202. package/build/dist/Types/Dashboard/MasterPassword.js +5 -0
  203. package/build/dist/Types/Dashboard/MasterPassword.js.map +1 -0
  204. package/build/dist/Types/Icon/IconProp.js +1 -0
  205. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  206. package/build/dist/Types/Incident/IncidentMetricType.js +3 -0
  207. package/build/dist/Types/Incident/IncidentMetricType.js.map +1 -1
  208. package/build/dist/Types/MeteredPlan/ProductType.js +1 -0
  209. package/build/dist/Types/MeteredPlan/ProductType.js.map +1 -1
  210. package/build/dist/Types/Metrics/MetricQueryConfigData.js +1 -0
  211. package/build/dist/Types/Metrics/MetricQueryConfigData.js.map +1 -1
  212. package/build/dist/Types/Monitor/CriteriaFilter.js +2 -0
  213. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  214. package/build/dist/Types/Monitor/KubernetesAlertTemplates.js +58 -7
  215. package/build/dist/Types/Monitor/KubernetesAlertTemplates.js.map +1 -1
  216. package/build/dist/Types/Monitor/MonitorStep.js +15 -0
  217. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  218. package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js +59 -0
  219. package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js.map +1 -0
  220. package/build/dist/Types/Monitor/MonitorType.js +10 -0
  221. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  222. package/build/dist/Types/Monitor/ProfileMonitor/ProfileMonitorResponse.js +2 -0
  223. package/build/dist/Types/Monitor/ProfileMonitor/ProfileMonitorResponse.js.map +1 -0
  224. package/build/dist/Types/Permission.js +75 -0
  225. package/build/dist/Types/Permission.js.map +1 -1
  226. package/build/dist/Types/Telemetry/TelemetryType.js +1 -0
  227. package/build/dist/Types/Telemetry/TelemetryType.js.map +1 -1
  228. package/build/dist/Types/Workflow/Component.js +1 -0
  229. package/build/dist/Types/Workflow/Component.js.map +1 -1
  230. package/build/dist/Types/Workflow/Components/Condition.js +24 -0
  231. package/build/dist/Types/Workflow/Components/Condition.js.map +1 -1
  232. package/build/dist/Types/Workspace/NotificationSummary/WorkspaceNotificationSummaryItem.js +1 -0
  233. package/build/dist/Types/Workspace/NotificationSummary/WorkspaceNotificationSummaryItem.js.map +1 -1
  234. package/build/dist/UI/Components/Button/Button.js +1 -1
  235. package/build/dist/UI/Components/Button/Button.js.map +1 -1
  236. package/build/dist/UI/Components/Card/Card.js +4 -4
  237. package/build/dist/UI/Components/Card/Card.js.map +1 -1
  238. package/build/dist/UI/Components/Charts/Area/AreaChart.js +1 -1
  239. package/build/dist/UI/Components/Charts/Area/AreaChart.js.map +1 -1
  240. package/build/dist/UI/Components/Charts/Bar/BarChart.js +1 -1
  241. package/build/dist/UI/Components/Charts/Bar/BarChart.js.map +1 -1
  242. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +5 -2
  243. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
  244. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +5 -2
  245. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
  246. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +6 -3
  247. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
  248. package/build/dist/UI/Components/Charts/Line/LineChart.js +1 -1
  249. package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
  250. package/build/dist/UI/Components/Charts/Types/ReferenceLineProps.js +2 -0
  251. package/build/dist/UI/Components/Charts/Types/ReferenceLineProps.js.map +1 -0
  252. package/build/dist/UI/Components/Icon/Icon.js +11 -0
  253. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  254. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +12 -9
  255. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  256. package/build/dist/UI/Components/MoreMenu/MoreMenu.js +8 -2
  257. package/build/dist/UI/Components/MoreMenu/MoreMenu.js.map +1 -1
  258. package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js +4 -4
  259. package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js.map +1 -1
  260. package/build/dist/UI/Components/Workflow/Component.js +311 -143
  261. package/build/dist/UI/Components/Workflow/Component.js.map +1 -1
  262. package/build/dist/UI/Components/Workflow/ComponentPortViewer.js +44 -18
  263. package/build/dist/UI/Components/Workflow/ComponentPortViewer.js.map +1 -1
  264. package/build/dist/UI/Components/Workflow/ComponentReturnValueViewer.js +48 -22
  265. package/build/dist/UI/Components/Workflow/ComponentReturnValueViewer.js.map +1 -1
  266. package/build/dist/UI/Components/Workflow/ComponentSettingsModal.js +127 -21
  267. package/build/dist/UI/Components/Workflow/ComponentSettingsModal.js.map +1 -1
  268. package/build/dist/UI/Components/Workflow/ComponentsModal.js +107 -52
  269. package/build/dist/UI/Components/Workflow/ComponentsModal.js.map +1 -1
  270. package/build/dist/UI/Components/Workflow/Utils.js +28 -1
  271. package/build/dist/UI/Components/Workflow/Utils.js.map +1 -1
  272. package/build/dist/UI/Components/Workflow/Workflow.js +87 -12
  273. package/build/dist/UI/Components/Workflow/Workflow.js.map +1 -1
  274. package/build/dist/UI/Config.js +3 -1
  275. package/build/dist/UI/Config.js.map +1 -1
  276. package/build/dist/Utils/Dashboard/Components/DashboardChartComponent.js +50 -21
  277. package/build/dist/Utils/Dashboard/Components/DashboardChartComponent.js.map +1 -1
  278. package/build/dist/Utils/Dashboard/Components/DashboardGaugeComponent.js +104 -0
  279. package/build/dist/Utils/Dashboard/Components/DashboardGaugeComponent.js.map +1 -0
  280. package/build/dist/Utils/Dashboard/Components/DashboardLogStreamComponent.js +91 -0
  281. package/build/dist/Utils/Dashboard/Components/DashboardLogStreamComponent.js.map +1 -0
  282. package/build/dist/Utils/Dashboard/Components/DashboardTableComponent.js +70 -0
  283. package/build/dist/Utils/Dashboard/Components/DashboardTableComponent.js.map +1 -0
  284. package/build/dist/Utils/Dashboard/Components/DashboardTextComponent.js +28 -7
  285. package/build/dist/Utils/Dashboard/Components/DashboardTextComponent.js.map +1 -1
  286. package/build/dist/Utils/Dashboard/Components/DashboardTraceListComponent.js +70 -0
  287. package/build/dist/Utils/Dashboard/Components/DashboardTraceListComponent.js.map +1 -0
  288. package/build/dist/Utils/Dashboard/Components/DashboardValueComponent.js +34 -3
  289. package/build/dist/Utils/Dashboard/Components/DashboardValueComponent.js.map +1 -1
  290. package/build/dist/Utils/Dashboard/Components/Index.js +16 -0
  291. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  292. package/build/dist/Utils/ValueFormatter.js +132 -0
  293. package/build/dist/Utils/ValueFormatter.js.map +1 -0
  294. package/package.json +1 -1
@@ -3,11 +3,10 @@ import ErrorMessage from "../ErrorMessage/ErrorMessage";
3
3
  import Icon from "../Icon/Icon";
4
4
  import Input from "../Input/Input";
5
5
  import SideOver from "../SideOver/SideOver";
6
- import ComponentElement from "./Component";
6
+ import IconProp from "../../../Types/Icon/IconProp";
7
7
  import ComponentMetadata, {
8
8
  ComponentCategory,
9
9
  ComponentType,
10
- NodeType,
11
10
  } from "../../../Types/Workflow/Component";
12
11
  import React, {
13
12
  FunctionComponent,
@@ -38,11 +37,12 @@ const ComponentsModal: FunctionComponent<ComponentProps> = (
38
37
 
39
38
  const [isSearching, setIsSearching] = useState<boolean>(false);
40
39
 
40
+ const [selectedComponentMetadata, setSelectedComponentMetadata] =
41
+ useState<ComponentMetadata | null>(null);
42
+
41
43
  useEffect(() => {
42
44
  setComponents(props.components);
43
-
44
45
  setComponentsToShow([...props.components]);
45
-
46
46
  setCategories(props.categories);
47
47
  }, []);
48
48
 
@@ -76,14 +76,11 @@ const ComponentsModal: FunctionComponent<ComponentProps> = (
76
76
  ]);
77
77
  }, [search]);
78
78
 
79
- const [selectedComponentMetadata, setSelectedComponentMetadata] =
80
- useState<ComponentMetadata | null>(null);
81
-
82
79
  return (
83
80
  <SideOver
84
- submitButtonText="Create"
85
- title={`Select a ${props.componentsType}`}
86
- description={`Please select a component to add to your workflow.`}
81
+ submitButtonText="Add to Workflow"
82
+ title={`Add ${props.componentsType}`}
83
+ description={`Choose a ${props.componentsType.toLowerCase()} to add to your workflow.`}
87
84
  onClose={props.onCloseModal}
88
85
  submitButtonDisabled={!selectedComponentMetadata}
89
86
  onSubmit={() => {
@@ -95,107 +92,197 @@ const ComponentsModal: FunctionComponent<ComponentProps> = (
95
92
  >
96
93
  <>
97
94
  <div className="flex flex-col h-full">
98
- {/** Search box here */}
99
-
100
- <div className="mt-5">
101
- <Input
102
- placeholder="Search..."
103
- onChange={(text: string) => {
104
- setIsSearching(true);
105
- setSearch(text);
106
- }}
107
- />
95
+ {/* Search box */}
96
+ <div className="mt-4 mb-4">
97
+ <div className="relative">
98
+ <div className="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
99
+ <Icon
100
+ icon={IconProp.Search}
101
+ className="h-4 w-4 text-gray-400"
102
+ />
103
+ </div>
104
+ <div className="pl-9">
105
+ <Input
106
+ placeholder={`Search ${props.componentsType.toLowerCase()}s...`}
107
+ onChange={(text: string) => {
108
+ setIsSearching(true);
109
+ setSearch(text);
110
+ }}
111
+ />
112
+ </div>
113
+ </div>
108
114
  </div>
109
115
 
110
- <div className="overflow-y-auto overflow-x-hidden my-5">
116
+ <div className="overflow-y-auto overflow-x-hidden flex-1">
111
117
  {!componentsToShow ||
112
118
  (componentsToShow.length === 0 && (
113
- <div className="w-full flex justify-center mt-20">
114
- <ErrorMessage message="No components that match your search. If you are looking for an integration that does not exist currently - you can use Custom Code or API component to build anything you like. If you are an enterprise customer, feel free to talk to us and we will build it for you." />
119
+ <div className="w-full flex justify-center mt-20 px-4">
120
+ <ErrorMessage message="No components that match your search. If you are looking for an integration that does not exist currently - you can use Custom Code or API component to build anything you like." />
115
121
  </div>
116
122
  ))}
117
123
 
118
124
  {categories &&
119
125
  categories.length > 0 &&
120
126
  categories.map((category: ComponentCategory, i: number) => {
121
- if (
122
- componentsToShow &&
123
- componentsToShow.length > 0 &&
127
+ const categoryComponents: Array<ComponentMetadata> =
124
128
  componentsToShow.filter(
125
129
  (componentMetadata: ComponentMetadata) => {
126
130
  return componentMetadata.category === category.name;
127
131
  },
128
- ).length > 0
129
- ) {
130
- return (
131
- <div key={i}>
132
- <h4 className="text-gray-500 text-base mt-5 flex">
133
- {" "}
132
+ );
133
+
134
+ if (categoryComponents.length === 0) {
135
+ return <div key={i}></div>;
136
+ }
137
+
138
+ return (
139
+ <div key={i} className="mb-6">
140
+ {/* Category header */}
141
+ <div className="flex items-center gap-2 mb-3 px-1">
142
+ <div
143
+ className="flex items-center justify-center rounded-md"
144
+ style={{
145
+ width: "28px",
146
+ height: "28px",
147
+ backgroundColor: "#f1f5f9",
148
+ }}
149
+ >
134
150
  <Icon
135
151
  icon={category.icon}
136
- className="h-5 w-5 text-gray-500"
137
- />{" "}
138
- <span className="ml-2">{category.name}</span>
139
- </h4>
140
- <p className="text-gray-400 text-sm mb-5">
141
- {category.description}
142
- </p>
143
- <div className="flex flex-wrap ml-2">
144
- {components &&
145
- components.length > 0 &&
146
- components
147
- .filter((componentMetadata: ComponentMetadata) => {
148
- return (
149
- componentMetadata.category === category.name
150
- );
151
- })
152
- .map(
153
- (
154
- componentMetadata: ComponentMetadata,
155
- i: number,
156
- ) => {
157
- return (
158
- <div
159
- key={i}
160
- onClick={() => {
161
- setSelectedComponentMetadata(
162
- componentMetadata,
163
- );
164
- }}
165
- className={`m-5 ml-0 mt-0 ${
166
- selectedComponentMetadata &&
167
- selectedComponentMetadata.id ===
168
- componentMetadata.id
169
- ? "rounded ring-offset-2 ring ring-indigo-500"
170
- : ""
171
- }`}
172
- >
173
- <ComponentElement
174
- key={i}
175
- selected={false}
176
- data={{
177
- metadata: componentMetadata,
178
- metadataId: componentMetadata.id,
179
- internalId: "",
180
- nodeType: NodeType.Node,
181
- componentType:
182
- componentMetadata.componentType,
183
- returnValues: {},
184
- isPreview: true,
185
- id: "",
186
- error: "",
187
- arguments: {},
188
- }}
189
- />
190
- </div>
191
- );
192
- },
193
- )}
152
+ className="h-4 w-4 text-gray-500"
153
+ />
154
+ </div>
155
+ <div>
156
+ <h4 className="text-sm font-semibold text-gray-700 leading-tight">
157
+ {category.name}
158
+ </h4>
159
+ <p className="text-xs text-gray-400 leading-tight">
160
+ {category.description}
161
+ </p>
194
162
  </div>
195
163
  </div>
196
- );
197
- }
198
- return <div key={i}></div>;
164
+
165
+ {/* Component cards grid */}
166
+ <div className="grid grid-cols-1 gap-2">
167
+ {categoryComponents.map(
168
+ (componentMetadata: ComponentMetadata, j: number) => {
169
+ const isSelected: boolean =
170
+ selectedComponentMetadata !== null &&
171
+ selectedComponentMetadata.id ===
172
+ componentMetadata.id;
173
+
174
+ return (
175
+ <div
176
+ key={j}
177
+ onClick={() => {
178
+ setSelectedComponentMetadata(componentMetadata);
179
+ }}
180
+ className="cursor-pointer transition-all duration-150"
181
+ style={{
182
+ padding: "0.75rem",
183
+ borderRadius: "10px",
184
+ border: isSelected
185
+ ? "2px solid #6366f1"
186
+ : "1px solid #e2e8f0",
187
+ backgroundColor: isSelected
188
+ ? "#eef2ff"
189
+ : "#ffffff",
190
+ display: "flex",
191
+ alignItems: "flex-start",
192
+ gap: "0.75rem",
193
+ boxShadow: isSelected
194
+ ? "0 0 0 3px rgba(99, 102, 241, 0.1)"
195
+ : "0 1px 2px 0 rgba(0, 0, 0, 0.03)",
196
+ }}
197
+ >
198
+ {/* Icon */}
199
+ <div
200
+ style={{
201
+ width: "36px",
202
+ height: "36px",
203
+ borderRadius: "8px",
204
+ backgroundColor: isSelected
205
+ ? "#6366f1"
206
+ : "#f1f5f9",
207
+ display: "flex",
208
+ alignItems: "center",
209
+ justifyContent: "center",
210
+ flexShrink: 0,
211
+ transition: "all 0.15s ease",
212
+ }}
213
+ >
214
+ <Icon
215
+ icon={componentMetadata.iconProp}
216
+ style={{
217
+ color: isSelected ? "#ffffff" : "#64748b",
218
+ width: "1rem",
219
+ height: "1rem",
220
+ }}
221
+ />
222
+ </div>
223
+
224
+ {/* Text */}
225
+ <div style={{ minWidth: 0, flex: 1 }}>
226
+ <p
227
+ style={{
228
+ fontSize: "0.8125rem",
229
+ fontWeight: 600,
230
+ color: isSelected ? "#4338ca" : "#1e293b",
231
+ margin: 0,
232
+ lineHeight: "1.25rem",
233
+ }}
234
+ >
235
+ {componentMetadata.title}
236
+ </p>
237
+ <p
238
+ style={{
239
+ fontSize: "0.75rem",
240
+ color: isSelected ? "#6366f1" : "#94a3b8",
241
+ margin: 0,
242
+ marginTop: "2px",
243
+ lineHeight: "1rem",
244
+ display: "-webkit-box",
245
+ WebkitLineClamp: 2,
246
+ WebkitBoxOrient: "vertical",
247
+ overflow: "hidden",
248
+ }}
249
+ >
250
+ {componentMetadata.description}
251
+ </p>
252
+ </div>
253
+
254
+ {/* Selection indicator */}
255
+ {isSelected && (
256
+ <div
257
+ style={{
258
+ width: "20px",
259
+ height: "20px",
260
+ borderRadius: "50%",
261
+ backgroundColor: "#6366f1",
262
+ display: "flex",
263
+ alignItems: "center",
264
+ justifyContent: "center",
265
+ flexShrink: 0,
266
+ marginTop: "2px",
267
+ }}
268
+ >
269
+ <Icon
270
+ icon={IconProp.Check}
271
+ style={{
272
+ color: "#ffffff",
273
+ width: "0.625rem",
274
+ height: "0.625rem",
275
+ }}
276
+ />
277
+ </div>
278
+ )}
279
+ </div>
280
+ );
281
+ },
282
+ )}
283
+ </div>
284
+ </div>
285
+ );
199
286
  })}
200
287
  </div>
201
288
  </div>
@@ -8,7 +8,10 @@ import ComponentMetadata, {
8
8
  import Components, { Categories } from "../../../Types/Workflow/Components";
9
9
  import BaseModelComponentFactory from "../../../Types/Workflow/Components/BaseModel";
10
10
  import Entities from "../../../Models/DatabaseModels/Index";
11
- import { ConditionOperator } from "../../../Types/Workflow/Components/Condition";
11
+ import {
12
+ ConditionOperator,
13
+ ConditionValueType,
14
+ } from "../../../Types/Workflow/Components/Condition";
12
15
 
13
16
  type LoadComponentsAndCategoriesFunction = () => {
14
17
  components: Array<ComponentMetadata>;
@@ -230,6 +233,34 @@ export const componentInputTypeToFormFieldType: ComponentInputTypeToFormFieldTyp
230
233
  };
231
234
  }
232
235
 
236
+ if (componentInputType === ComponentInputType.ValueType) {
237
+ return {
238
+ fieldType: FormFieldSchemaType.Dropdown,
239
+ dropdownOptions: [
240
+ {
241
+ label: "Text",
242
+ value: ConditionValueType.Text,
243
+ },
244
+ {
245
+ label: "Boolean",
246
+ value: ConditionValueType.Boolean,
247
+ },
248
+ {
249
+ label: "Number",
250
+ value: ConditionValueType.Number,
251
+ },
252
+ {
253
+ label: "Null",
254
+ value: ConditionValueType.Null,
255
+ },
256
+ {
257
+ label: "Undefined",
258
+ value: ConditionValueType.Undefined,
259
+ },
260
+ ],
261
+ };
262
+ }
263
+
233
264
  if (componentInputType === ComponentInputType.Date) {
234
265
  return {
235
266
  fieldType: FormFieldSchemaType.Date,
@@ -22,6 +22,7 @@ import React, {
22
22
  } from "react";
23
23
  import ReactFlow, {
24
24
  Background,
25
+ BackgroundVariant,
25
26
  Connection,
26
27
  Controls,
27
28
  Edge,
@@ -75,9 +76,9 @@ const edgeStyle: React.CSSProperties = {
75
76
  };
76
77
 
77
78
  const selectedEdgeStyle: React.CSSProperties = {
78
- strokeWidth: "2px",
79
- stroke: "#818cf8",
80
- color: "#818cf8",
79
+ strokeWidth: "2.5px",
80
+ stroke: "#6366f1",
81
+ color: "#6366f1",
81
82
  };
82
83
 
83
84
  type GetEdgeDefaultPropsFunction = (selected: boolean) => JSONObject;
@@ -87,9 +88,14 @@ export const getEdgeDefaultProps: GetEdgeDefaultPropsFunction = (
87
88
  ): JSONObject => {
88
89
  return {
89
90
  type: "smoothstep",
91
+ animated: selected,
90
92
  markerEnd: {
91
- type: MarkerType.Arrow,
92
- color: edgeStyle.color?.toString() || "",
93
+ type: MarkerType.ArrowClosed,
94
+ color: selected
95
+ ? selectedEdgeStyle.color?.toString() || ""
96
+ : edgeStyle.color?.toString() || "",
97
+ width: 20,
98
+ height: 20,
93
99
  },
94
100
  style: selected ? { ...selectedEdgeStyle } : { ...edgeStyle },
95
101
  };
@@ -271,7 +277,7 @@ const Workflow: FunctionComponent<ComponentProps> = (props: ComponentProps) => {
271
277
  {
272
278
  ...oldEdge,
273
279
  markerEnd: {
274
- type: MarkerType.Arrow,
280
+ type: MarkerType.ArrowClosed,
275
281
  color: edgeStyle.color?.toString() || "",
276
282
  },
277
283
  style: edgeStyle,
@@ -398,7 +404,65 @@ const Workflow: FunctionComponent<ComponentProps> = (props: ComponentProps) => {
398
404
  };
399
405
 
400
406
  return (
401
- <div className="h-[48rem]">
407
+ <div
408
+ style={{
409
+ height: "calc(100vh - 220px)",
410
+ minHeight: "600px",
411
+ borderRadius: "8px",
412
+ overflow: "hidden",
413
+ border: "1px solid #e2e8f0",
414
+ }}
415
+ >
416
+ <style>
417
+ {`
418
+ .react-flow__minimap {
419
+ border-radius: 8px !important;
420
+ border: 1px solid #e2e8f0 !important;
421
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.07) !important;
422
+ overflow: hidden !important;
423
+ background: #ffffff !important;
424
+ }
425
+ .react-flow__controls {
426
+ border-radius: 8px !important;
427
+ border: 1px solid #e2e8f0 !important;
428
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.07) !important;
429
+ overflow: hidden !important;
430
+ }
431
+ .react-flow__controls-button {
432
+ border-bottom: 1px solid #f1f5f9 !important;
433
+ width: 32px !important;
434
+ height: 32px !important;
435
+ }
436
+ .react-flow__controls-button:hover {
437
+ background: #f8fafc !important;
438
+ }
439
+ .react-flow__controls-button svg {
440
+ max-width: 14px !important;
441
+ max-height: 14px !important;
442
+ }
443
+ .react-flow__edge:hover .react-flow__edge-path {
444
+ stroke: #6366f1 !important;
445
+ stroke-width: 2.5px !important;
446
+ }
447
+ .react-flow__handle:hover {
448
+ transform: scale(1.3) !important;
449
+ }
450
+ .react-flow__connection-line {
451
+ stroke: #6366f1 !important;
452
+ stroke-width: 2px !important;
453
+ stroke-dasharray: 5 5 !important;
454
+ }
455
+ @keyframes flow-dash {
456
+ to {
457
+ stroke-dashoffset: -10;
458
+ }
459
+ }
460
+ .react-flow__edge.animated .react-flow__edge-path {
461
+ animation: flow-dash 0.5s linear infinite !important;
462
+ stroke-dasharray: 5 5 !important;
463
+ }
464
+ `}
465
+ </style>
402
466
  <ReactFlow
403
467
  nodes={nodes}
404
468
  edges={edges}
@@ -418,10 +482,42 @@ const Workflow: FunctionComponent<ComponentProps> = (props: ComponentProps) => {
418
482
  nodeTypes={nodeTypes}
419
483
  onEdgeUpdateStart={onEdgeUpdateStart}
420
484
  onEdgeUpdateEnd={onEdgeUpdateEnd}
485
+ snapToGrid={true}
486
+ snapGrid={[16, 16]}
487
+ connectionLineStyle={{
488
+ stroke: "#6366f1",
489
+ strokeWidth: 2,
490
+ strokeDasharray: "5 5",
491
+ }}
492
+ defaultEdgeOptions={{
493
+ type: "smoothstep",
494
+ style: { ...edgeStyle },
495
+ }}
421
496
  >
422
- <MiniMap />
497
+ <MiniMap
498
+ nodeStrokeWidth={3}
499
+ nodeColor={(node: Node) => {
500
+ if (
501
+ node.data &&
502
+ node.data.metadata &&
503
+ node.data.metadata.componentType === ComponentType.Trigger
504
+ ) {
505
+ return "#f59e0b";
506
+ }
507
+ return "#6366f1";
508
+ }}
509
+ maskColor="rgba(241, 245, 249, 0.7)"
510
+ style={{
511
+ backgroundColor: "#ffffff",
512
+ }}
513
+ />
423
514
  <Controls />
424
- <Background color="#111827" />
515
+ <Background
516
+ variant={BackgroundVariant.Dots}
517
+ gap={20}
518
+ size={1}
519
+ color="#cbd5e1"
520
+ />
425
521
  </ReactFlow>
426
522
 
427
523
  {showComponentsModal && (
package/UI/Config.ts CHANGED
@@ -11,6 +11,7 @@ import {
11
11
  ProbeIngestRoute,
12
12
  IntegrationRoute,
13
13
  NotificationRoute,
14
+ PublicDashboardRoute,
14
15
  RealtimeRoute,
15
16
  StatusPageApiRoute,
16
17
  StatusPageRoute,
@@ -159,6 +160,12 @@ export const DASHBOARD_URL: URL = new URL(
159
160
  new Route(DashboardRoute.toString()),
160
161
  );
161
162
 
163
+ export const PUBLIC_DASHBOARD_URL: URL = new URL(
164
+ HTTP_PROTOCOL,
165
+ DASHBOARD_HOSTNAME,
166
+ new Route(PublicDashboardRoute.toString()),
167
+ );
168
+
162
169
  export const INTEGRATION_URL: URL = new URL(
163
170
  HTTP_PROTOCOL,
164
171
  INTEGRATION_HOSTNAME,
@@ -193,6 +200,8 @@ export const SubscriptionPlans: Array<SubscriptionPlan> =
193
200
  export const StatusPageCNameRecord: string =
194
201
  env("STATUS_PAGE_CNAME_RECORD") || "";
195
202
 
203
+ export const DashboardCNameRecord: string = env("DASHBOARD_CNAME_RECORD") || "";
204
+
196
205
  export const AnalyticsKey: string = env("ANALYTICS_KEY") || "";
197
206
  export const AnalyticsHost: string = env("ANALYTICS_HOST");
198
207