@flowuent-org/diagramming-core 1.3.10 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (677) hide show
  1. package/.editorconfig +13 -13
  2. package/.eslintignore +1 -1
  3. package/.eslintrc.json +35 -35
  4. package/.prettierignore +3 -3
  5. package/.prettierrc +3 -3
  6. package/.vscode/settings.json +6 -6
  7. package/README.md +95 -95
  8. package/apps/authentication/tsconfig.app.json +23 -23
  9. package/apps/authentication/tsconfig.json +21 -21
  10. package/apps/authentication/tsconfig.spec.json +28 -28
  11. package/apps/diagramming/.eslintrc.json +18 -18
  12. package/apps/diagramming/index.html +16 -16
  13. package/apps/diagramming/project.json +53 -53
  14. package/apps/diagramming/public/aws-icons/compute/App Runner.svg +17 -17
  15. package/apps/diagramming/public/aws-icons/compute/Application Auto Scaling.svg +17 -17
  16. package/apps/diagramming/public/aws-icons/compute/Batch.svg +17 -17
  17. package/apps/diagramming/public/aws-icons/compute/Bottlerocket.svg +19 -19
  18. package/apps/diagramming/public/aws-icons/compute/Compute Optimizer.svg +17 -17
  19. package/apps/diagramming/public/aws-icons/compute/EC2 Auto Scaling.svg +17 -17
  20. package/apps/diagramming/public/aws-icons/compute/EC2 Image Builder.svg +17 -17
  21. package/apps/diagramming/public/aws-icons/compute/EC2.svg +17 -17
  22. package/apps/diagramming/public/aws-icons/compute/Elastic Beanstalk.svg +17 -17
  23. package/apps/diagramming/public/aws-icons/compute/Elastic Fabric Adapter.svg +17 -17
  24. package/apps/diagramming/public/aws-icons/compute/Fargate.svg +19 -19
  25. package/apps/diagramming/public/aws-icons/compute/Genomics CLI.svg +17 -17
  26. package/apps/diagramming/public/aws-icons/compute/Lambda.svg +17 -17
  27. package/apps/diagramming/public/aws-icons/compute/Local Zones.svg +17 -17
  28. package/apps/diagramming/public/aws-icons/compute/NICE DCV.svg +17 -17
  29. package/apps/diagramming/public/aws-icons/compute/NICE EnginFrame.svg +17 -17
  30. package/apps/diagramming/public/aws-icons/compute/Nitro Enclaves.svg +17 -17
  31. package/apps/diagramming/public/aws-icons/compute/Outposts family.svg +17 -17
  32. package/apps/diagramming/public/aws-icons/compute/Outposts rack.svg +17 -17
  33. package/apps/diagramming/public/aws-icons/compute/Outposts servers.svg +17 -17
  34. package/apps/diagramming/public/aws-icons/compute/ParallelCluster.svg +17 -17
  35. package/apps/diagramming/public/aws-icons/compute/Serverless Application Repository.svg +17 -17
  36. package/apps/diagramming/public/aws-icons/compute/SimSpace Weaver.svg +17 -17
  37. package/apps/diagramming/public/aws-icons/compute/Thinkbox Deadline.svg +17 -17
  38. package/apps/diagramming/public/aws-icons/compute/Thinkbox Frost.svg +17 -17
  39. package/apps/diagramming/public/aws-icons/compute/Thinkbox Sequoia.svg +17 -17
  40. package/apps/diagramming/public/aws-icons/compute/Thinkbox Stoke.svg +17 -17
  41. package/apps/diagramming/public/aws-icons/compute/Thinkbox XMesh.svg +17 -17
  42. package/apps/diagramming/public/aws-icons/compute/VMware Cloud on AWS.svg +17 -17
  43. package/apps/diagramming/public/aws-icons/compute/Wavelength.svg +17 -17
  44. package/apps/diagramming/public/aws-icons/container/ECS Anywhere.svg +17 -17
  45. package/apps/diagramming/public/aws-icons/container/EKS Anywhere.svg +17 -17
  46. package/apps/diagramming/public/aws-icons/container/EKS Cloud.svg +17 -17
  47. package/apps/diagramming/public/aws-icons/container/EKS Distro.svg +17 -17
  48. package/apps/diagramming/public/aws-icons/container/Elastic Container Registry.svg +17 -17
  49. package/apps/diagramming/public/aws-icons/container/Elastic Container Service.svg +17 -17
  50. package/apps/diagramming/public/aws-icons/container/Elastic Kubernetes Service.svg +17 -17
  51. package/apps/diagramming/public/aws-icons/container/Fargate.svg +19 -19
  52. package/apps/diagramming/public/aws-icons/container/Red Hat OpenShift Service on AWS.svg +17 -17
  53. package/apps/diagramming/public/aws-icons/database/Aurora.svg +17 -17
  54. package/apps/diagramming/public/aws-icons/database/Database Migration Service.svg +17 -17
  55. package/apps/diagramming/public/aws-icons/database/DocumentDB.svg +17 -17
  56. package/apps/diagramming/public/aws-icons/database/ElastiCache.svg +17 -17
  57. package/apps/diagramming/public/aws-icons/database/Keyspaces.svg +15 -15
  58. package/apps/diagramming/public/aws-icons/database/MemoryDB for Redis.svg +17 -17
  59. package/apps/diagramming/public/aws-icons/database/Neptune.svg +17 -17
  60. package/apps/diagramming/public/aws-icons/database/RDS on VMware.svg +17 -17
  61. package/apps/diagramming/public/aws-icons/database/RDS.svg +17 -17
  62. package/apps/diagramming/public/aws-icons/database/Timestream.svg +17 -17
  63. package/apps/diagramming/public/aws-icons/networking/App Mesh.svg +17 -17
  64. package/apps/diagramming/public/aws-icons/networking/Client VPN.svg +17 -17
  65. package/apps/diagramming/public/aws-icons/networking/Cloud Directory.svg +17 -17
  66. package/apps/diagramming/public/aws-icons/networking/Cloud Map.svg +17 -17
  67. package/apps/diagramming/public/aws-icons/networking/Cloud WAN.svg +17 -17
  68. package/apps/diagramming/public/aws-icons/networking/CloudFront.svg +17 -17
  69. package/apps/diagramming/public/aws-icons/networking/Direct Connect.svg +17 -17
  70. package/apps/diagramming/public/aws-icons/networking/Elastic Load Balancing.svg +17 -17
  71. package/apps/diagramming/public/aws-icons/networking/Global Accelerator.svg +17 -17
  72. package/apps/diagramming/public/aws-icons/networking/Private 5G.svg +17 -17
  73. package/apps/diagramming/public/aws-icons/networking/PrivateLink.svg +17 -17
  74. package/apps/diagramming/public/aws-icons/networking/Route 53.svg +17 -17
  75. package/apps/diagramming/public/aws-icons/networking/Site to Site VPN.svg +17 -17
  76. package/apps/diagramming/public/aws-icons/networking/Transit Gateway.svg +17 -17
  77. package/apps/diagramming/public/aws-icons/networking/VPC Lattice.svg +17 -17
  78. package/apps/diagramming/public/aws-icons/networking/Verified Access.svg +17 -17
  79. package/apps/diagramming/public/aws-icons/networking/Virtual Private Cloud.svg +17 -17
  80. package/apps/diagramming/public/aws-icons/security/Artifact.svg +17 -17
  81. package/apps/diagramming/public/aws-icons/security/Audit Manager.svg +17 -17
  82. package/apps/diagramming/public/aws-icons/security/Certificate Manager.svg +17 -17
  83. package/apps/diagramming/public/aws-icons/security/CloudHSM.svg +17 -17
  84. package/apps/diagramming/public/aws-icons/security/Cognito.svg +17 -17
  85. package/apps/diagramming/public/aws-icons/security/Detective.svg +17 -17
  86. package/apps/diagramming/public/aws-icons/security/Directory Service.svg +17 -17
  87. package/apps/diagramming/public/aws-icons/security/Firewall Manager.svg +17 -17
  88. package/apps/diagramming/public/aws-icons/security/GuardDuty.svg +17 -17
  89. package/apps/diagramming/public/aws-icons/security/IAM Identity Center.svg +17 -17
  90. package/apps/diagramming/public/aws-icons/security/Identity and Access Management.svg +17 -17
  91. package/apps/diagramming/public/aws-icons/security/Inspector.svg +17 -17
  92. package/apps/diagramming/public/aws-icons/security/Key Management Service.svg +17 -17
  93. package/apps/diagramming/public/aws-icons/security/Macie.svg +17 -17
  94. package/apps/diagramming/public/aws-icons/security/Network Firewall.svg +17 -17
  95. package/apps/diagramming/public/aws-icons/security/Resource Access Manager.svg +17 -17
  96. package/apps/diagramming/public/aws-icons/security/Secrets Manager.svg +17 -17
  97. package/apps/diagramming/public/aws-icons/security/Security Hub.svg +17 -17
  98. package/apps/diagramming/public/aws-icons/security/Security Lake.svg +17 -17
  99. package/apps/diagramming/public/aws-icons/security/Shield.svg +17 -17
  100. package/apps/diagramming/public/aws-icons/security/Signer.svg +17 -17
  101. package/apps/diagramming/public/aws-icons/security/Verified Permissions.svg +17 -17
  102. package/apps/diagramming/public/aws-icons/security/WAF.svg +17 -17
  103. package/apps/diagramming/public/aws-icons/storage/Backup.svg +17 -17
  104. package/apps/diagramming/public/aws-icons/storage/EFS.svg +17 -17
  105. package/apps/diagramming/public/aws-icons/storage/Elastic Block Store.svg +17 -17
  106. package/apps/diagramming/public/aws-icons/storage/Elastic Disaster Recovery.svg +15 -15
  107. package/apps/diagramming/public/aws-icons/storage/FSx for Lustre.svg +17 -17
  108. package/apps/diagramming/public/aws-icons/storage/FSx for NetApp ONTAP.svg +17 -17
  109. package/apps/diagramming/public/aws-icons/storage/FSx for OpenZFS.svg +17 -17
  110. package/apps/diagramming/public/aws-icons/storage/FSx for WFS.svg +17 -17
  111. package/apps/diagramming/public/aws-icons/storage/FSx.svg +17 -17
  112. package/apps/diagramming/public/aws-icons/storage/File Cache.svg +17 -17
  113. package/apps/diagramming/public/aws-icons/storage/S3 on Outposts.svg +17 -17
  114. package/apps/diagramming/public/aws-icons/storage/Simple Storage Service Glacier.svg +17 -17
  115. package/apps/diagramming/public/aws-icons/storage/Simple Storage Service.svg +17 -17
  116. package/apps/diagramming/public/aws-icons/storage/Snowball Edge.svg +17 -17
  117. package/apps/diagramming/public/aws-icons/storage/Snowball.svg +17 -17
  118. package/apps/diagramming/public/aws-icons/storage/Snowcone.svg +17 -17
  119. package/apps/diagramming/public/aws-icons/storage/Snowmobile.svg +17 -17
  120. package/apps/diagramming/public/aws-icons/storage/Storage Gateway.svg +17 -17
  121. package/apps/diagramming/public/azure-icons/compute/02112-icon-service-Automanaged-VM.svg +1 -1
  122. package/apps/diagramming/public/azure-icons/databases/02390-icon-service-Azure-SQL.svg +1 -1
  123. package/apps/diagramming/public/azure-icons/databases/02392-icon-service-SSIS-Lift-And-Shift-IR.svg +1 -1
  124. package/apps/diagramming/public/azure-icons/networking/02145-icon-service-Resource-Management-Private-Link.svg +1 -1
  125. package/apps/diagramming/public/azure-icons/security/02247-icon-service-Microsoft-Defender-for-IoT.svg +1 -1
  126. package/apps/diagramming/public/sample-node-complete.json +63 -63
  127. package/apps/diagramming/public/sample-node-data.json +63 -63
  128. package/apps/diagramming/src/AutomationDiagramData.ts +147 -480
  129. package/apps/diagramming/src/CollaborationDiagramData.ts +127 -127
  130. package/apps/diagramming/src/CustomIconExamples.ts +233 -233
  131. package/apps/diagramming/src/DiagramTabs.tsx +205 -205
  132. package/apps/diagramming/src/Pages/DevPlayground.tsx +3 -3
  133. package/apps/diagramming/src/Pages/Home.tsx +111 -111
  134. package/apps/diagramming/src/SequenceDiagramData.ts +215 -215
  135. package/apps/diagramming/src/StateMachineDiagramData.ts +64 -64
  136. package/apps/diagramming/src/UseCaseDiagramData.ts +52 -52
  137. package/apps/diagramming/src/cloud-data.ts +371 -371
  138. package/apps/diagramming/src/components/AddNodeView.tsx +252 -252
  139. package/apps/diagramming/src/createSelecors.tsx +17 -17
  140. package/apps/diagramming/src/index.scss +12 -12
  141. package/apps/diagramming/src/main.tsx +463 -463
  142. package/apps/diagramming/src/node-data.ts +664 -664
  143. package/apps/diagramming/src/sample-workflow-content.ts +55 -55
  144. package/apps/diagramming/src/stencil-items.ts +31 -31
  145. package/apps/diagramming/src/style.css +13 -13
  146. package/apps/diagramming/src/tabsStore.tsx +152 -152
  147. package/apps/diagramming/src/vite-env.d.ts +1 -1
  148. package/apps/diagramming/tsconfig.app.json +23 -23
  149. package/apps/diagramming/tsconfig.json +21 -21
  150. package/apps/diagramming/tsconfig.spec.json +28 -28
  151. package/apps/diagramming/vite.config.ts +34 -34
  152. package/apps/diagramming/webpack.config.js +13 -13
  153. package/apps/workflow/.eslintrc.json +18 -18
  154. package/apps/workflow/group/group-form-hooks/index.ts +3 -3
  155. package/apps/workflow/group/group-form-hooks/useFormValidation.ts +20 -20
  156. package/apps/workflow/group/group-form-schema/SettingsTabFormSchema.ts +7 -7
  157. package/apps/workflow/group/group-form-schema/index.ts +3 -3
  158. package/apps/workflow/i18n.ts +19 -19
  159. package/apps/workflow/index.html +16 -16
  160. package/apps/workflow/locales/en/translation.json +713 -713
  161. package/apps/workflow/project.json +8 -8
  162. package/apps/workflow/src/app/app.module.css +1 -1
  163. package/apps/workflow/src/app/app.spec.tsx +15 -15
  164. package/apps/workflow/src/app/app.tsx +370 -370
  165. package/apps/workflow/src/main.tsx +13 -13
  166. package/apps/workflow/src/styles.css +1 -1
  167. package/apps/workflow/src/theme/index.ts +546 -546
  168. package/apps/workflow/tsconfig.app.json +23 -23
  169. package/apps/workflow/tsconfig.json +21 -21
  170. package/apps/workflow/tsconfig.spec.json +28 -28
  171. package/apps/workflow/vite.config.ts +51 -51
  172. package/nx.json +58 -58
  173. package/package.json +1 -1
  174. package/packages/api/.babelrc +12 -12
  175. package/packages/api/.eslintrc.json +18 -18
  176. package/packages/api/README.md +7 -7
  177. package/packages/api/project.json +8 -8
  178. package/packages/api/src/index.ts +3 -3
  179. package/packages/api/src/lib/jsonPlaceholderService/endpoints.ts +3 -3
  180. package/packages/api/src/lib/jsonPlaceholderService/service.ts +13 -13
  181. package/packages/api/tsconfig.json +17 -17
  182. package/packages/api/tsconfig.lib.json +24 -24
  183. package/packages/atoms/.babelrc +12 -12
  184. package/packages/atoms/.eslintrc.json +18 -18
  185. package/packages/atoms/README.md +7 -7
  186. package/packages/atoms/forms/AuthenticationTabForm/authenticationTabForm.json +224 -224
  187. package/packages/atoms/forms/AuthenticationTabForm/index.tsx +255 -255
  188. package/packages/atoms/forms/SettingsTabForm/index.tsx +85 -85
  189. package/packages/atoms/forms/SettingsTabForm/settingTabForm.json +27 -27
  190. package/packages/atoms/forms/index.ts +4 -4
  191. package/packages/atoms/project.json +8 -8
  192. package/packages/atoms/src/index.ts +33 -33
  193. package/packages/atoms/src/lib/Accordion/Accordion.module.css +7 -7
  194. package/packages/atoms/src/lib/Accordion/Accordion.spec.tsx +13 -13
  195. package/packages/atoms/src/lib/Accordion/Accordion.tsx +29 -29
  196. package/packages/atoms/src/lib/Alert/Alert.module.css +7 -7
  197. package/packages/atoms/src/lib/Alert/Alert.spec.tsx +10 -10
  198. package/packages/atoms/src/lib/Alert/Alert.tsx +19 -19
  199. package/packages/atoms/src/lib/Avatar/Avatar.module.css +7 -7
  200. package/packages/atoms/src/lib/Avatar/Avatar.spec.tsx +10 -10
  201. package/packages/atoms/src/lib/Avatar/Avatar.tsx +22 -22
  202. package/packages/atoms/src/lib/Box/Box.module.css +7 -7
  203. package/packages/atoms/src/lib/Box/Box.spec.tsx +10 -10
  204. package/packages/atoms/src/lib/Box/Box.tsx +19 -19
  205. package/packages/atoms/src/lib/BulkEdit/BulkEdit.module.css +7 -7
  206. package/packages/atoms/src/lib/BulkEdit/BulkEdit.spec.tsx +10 -10
  207. package/packages/atoms/src/lib/BulkEdit/BulkEdit.tsx +15 -15
  208. package/packages/atoms/src/lib/Button/Button.module.css +7 -7
  209. package/packages/atoms/src/lib/Button/Button.spec.tsx +10 -10
  210. package/packages/atoms/src/lib/Button/Button.tsx +78 -78
  211. package/packages/atoms/src/lib/Card/Card.module.css +7 -7
  212. package/packages/atoms/src/lib/Card/Card.spec.tsx +10 -10
  213. package/packages/atoms/src/lib/Card/Card.tsx +19 -19
  214. package/packages/atoms/src/lib/CardContent/CardContent.module.css +7 -7
  215. package/packages/atoms/src/lib/CardContent/CardContent.spec.tsx +10 -10
  216. package/packages/atoms/src/lib/CardContent/CardContent.tsx +22 -22
  217. package/packages/atoms/src/lib/FormTextField/FormTextField.module.css +7 -7
  218. package/packages/atoms/src/lib/FormTextField/FormTextField.spec.tsx +10 -10
  219. package/packages/atoms/src/lib/FormTextField/FormTextField.tsx +35 -35
  220. package/packages/atoms/src/lib/Grid/Grid.module.css +7 -7
  221. package/packages/atoms/src/lib/Grid/Grid.spec.tsx +10 -10
  222. package/packages/atoms/src/lib/Grid/Grid.tsx +19 -19
  223. package/packages/atoms/src/lib/Stack/Stack.module.css +7 -7
  224. package/packages/atoms/src/lib/Stack/Stack.spec.tsx +10 -10
  225. package/packages/atoms/src/lib/Stack/Stack.tsx +19 -19
  226. package/packages/atoms/src/lib/Switch/Switch.module.css +7 -7
  227. package/packages/atoms/src/lib/Switch/Switch.spec.tsx +10 -10
  228. package/packages/atoms/src/lib/Switch/Switch.tsx +46 -46
  229. package/packages/atoms/src/lib/TableView/TableView.module.css +7 -7
  230. package/packages/atoms/src/lib/TableView/TableView.spec.tsx +10 -10
  231. package/packages/atoms/src/lib/TableView/TableView.tsx +88 -88
  232. package/packages/atoms/src/lib/TextField/TextField.module.css +7 -7
  233. package/packages/atoms/src/lib/TextField/TextField.spec.tsx +10 -10
  234. package/packages/atoms/src/lib/TextField/TextField.tsx +17 -17
  235. package/packages/atoms/src/lib/Typography/Typography.module.css +7 -7
  236. package/packages/atoms/src/lib/Typography/Typography.spec.tsx +10 -10
  237. package/packages/atoms/src/lib/Typography/Typography.tsx +22 -22
  238. package/packages/atoms/tsconfig.json +17 -17
  239. package/packages/atoms/tsconfig.lib.json +30 -30
  240. package/packages/common/.babelrc +12 -12
  241. package/packages/common/.eslintrc.json +18 -18
  242. package/packages/common/README.md +7 -7
  243. package/packages/common/project.json +8 -8
  244. package/packages/common/src/index.ts +4 -4
  245. package/packages/common/src/lib/generateRandomProfilePic.ts +3 -3
  246. package/packages/common/src/lib/generateValidationSchema.ts +46 -46
  247. package/packages/common/tsconfig.json +17 -17
  248. package/packages/common/tsconfig.lib.json +24 -24
  249. package/packages/contexts/.babelrc +12 -12
  250. package/packages/contexts/.eslintrc.json +18 -18
  251. package/packages/contexts/README.md +7 -7
  252. package/packages/contexts/project.json +8 -8
  253. package/packages/contexts/src/index.ts +2 -2
  254. package/packages/contexts/tsconfig.json +17 -17
  255. package/packages/contexts/tsconfig.lib.json +24 -24
  256. package/packages/diagrams/.babelrc +12 -12
  257. package/packages/diagrams/.ctirc +208 -208
  258. package/packages/diagrams/.eslintrc.json +17 -17
  259. package/packages/diagrams/CUSTOM_ICONS.md +232 -232
  260. package/packages/diagrams/GOOGLE_SHEETS_IMPLEMENTATION.md +233 -233
  261. package/packages/diagrams/NODE_DATA_UPDATE_API.md +430 -430
  262. package/packages/diagrams/README.md +7 -7
  263. package/packages/diagrams/UNDO_REDO_API.md +306 -306
  264. package/packages/diagrams/locales/en/translation.json +713 -713
  265. package/packages/diagrams/package.json +27 -27
  266. package/packages/diagrams/pnpm-lock.yaml +2606 -2606
  267. package/packages/diagrams/project.json +42 -42
  268. package/packages/diagrams/rollup.config.js +26 -26
  269. package/packages/diagrams/src/DiagramFlow.tsx +7 -7
  270. package/packages/diagrams/src/declarations.d.ts +7 -7
  271. package/packages/diagrams/src/index.ts +8 -1
  272. package/packages/diagrams/src/index.ts.bak +99 -99
  273. package/packages/diagrams/src/lib/assets/markers/markers.param.tsx +101 -101
  274. package/packages/diagrams/src/lib/assets/markers/markers.type.ts +10 -10
  275. package/packages/diagrams/src/lib/atoms/ActorNode.tsx +123 -123
  276. package/packages/diagrams/src/lib/atoms/AddParallelColButton.tsx +26 -26
  277. package/packages/diagrams/src/lib/atoms/BendpointNode.tsx +71 -71
  278. package/packages/diagrams/src/lib/atoms/CardBlockTypeSelector.tsx +35 -35
  279. package/packages/diagrams/src/lib/atoms/CardEditableTitle.tsx +76 -76
  280. package/packages/diagrams/src/lib/atoms/CardMainContent.tsx +19 -19
  281. package/packages/diagrams/src/lib/atoms/ConnectionPoints.tsx +149 -149
  282. package/packages/diagrams/src/lib/atoms/ContentAssist.tsx +341 -341
  283. package/packages/diagrams/src/lib/atoms/DiagramControls.tsx +56 -56
  284. package/packages/diagrams/src/lib/atoms/ExpressionInput.tsx +437 -437
  285. package/packages/diagrams/src/lib/atoms/FloatingConnectionLine.tsx +73 -73
  286. package/packages/diagrams/src/lib/atoms/LazyIcon.tsx +31 -31
  287. package/packages/diagrams/src/lib/atoms/MarkerSelector.tsx +106 -106
  288. package/packages/diagrams/src/lib/atoms/MultiSelectInput.tsx +87 -87
  289. package/packages/diagrams/src/lib/atoms/ParameterInput.tsx +199 -199
  290. package/packages/diagrams/src/lib/atoms/PropertyInput.tsx +114 -114
  291. package/packages/diagrams/src/lib/atoms/StyledBox.tsx +69 -69
  292. package/packages/diagrams/src/lib/atoms/ValidationError.tsx +37 -37
  293. package/packages/diagrams/src/lib/atoms/ValidationMessage.tsx +63 -63
  294. package/packages/diagrams/src/lib/components/AiButton.tsx +52 -52
  295. package/packages/diagrams/src/lib/components/ControlEdgeList.tsx +303 -303
  296. package/packages/diagrams/src/lib/components/CreateFunctionModal.tsx +264 -264
  297. package/packages/diagrams/src/lib/components/CustomCodeModal.tsx +287 -287
  298. package/packages/diagrams/src/lib/components/DiagramPanel.tsx +331 -331
  299. package/packages/diagrams/src/lib/components/FunctionModalTooltip.tsx +30 -30
  300. package/packages/diagrams/src/lib/components/GraphQLCustomCodeModal.tsx +210 -210
  301. package/packages/diagrams/src/lib/components/Header.tsx +143 -143
  302. package/packages/diagrams/src/lib/components/MiniMapCommon.tsx +24 -24
  303. package/packages/diagrams/src/lib/components/ResizeIcon.tsx +81 -81
  304. package/packages/diagrams/src/lib/components/SideBar.tsx +40 -40
  305. package/packages/diagrams/src/lib/components/automation/AISuggestionsModal.tsx +269 -269
  306. package/packages/diagrams/src/lib/components/automation/AISuggestionsPanel.tsx +28 -175
  307. package/packages/diagrams/src/lib/components/automation/AutomationApiNode.tsx +1 -1
  308. package/packages/diagrams/src/lib/components/automation/AutomationDecisionNode.tsx +94 -0
  309. package/packages/diagrams/src/lib/components/automation/AutomationEndNode.tsx +1 -1
  310. package/packages/diagrams/src/lib/components/automation/AutomationExecutionPanel.tsx +439 -439
  311. package/packages/diagrams/src/lib/components/automation/AutomationFormattingNode.tsx +1 -1
  312. package/packages/diagrams/src/lib/components/automation/AutomationInteractionNode.tsx +693 -693
  313. package/packages/diagrams/src/lib/components/automation/AutomationMonitoringNode.tsx +399 -399
  314. package/packages/diagrams/src/lib/components/automation/AutomationNavigationNode.tsx +1 -1
  315. package/packages/diagrams/src/lib/components/automation/AutomationNodeCard.tsx +414 -0
  316. package/packages/diagrams/src/lib/components/automation/AutomationSlackNode.tsx +694 -694
  317. package/packages/diagrams/src/lib/components/automation/AutomationSmsNode.tsx +62 -0
  318. package/packages/diagrams/src/lib/components/automation/AutomationStartNode.tsx +1 -1
  319. package/packages/diagrams/src/lib/components/automation/AutomationTelegramNode.tsx +664 -664
  320. package/packages/diagrams/src/lib/components/automation/AutomationVoiceCallNode.tsx +65 -0
  321. package/packages/diagrams/src/lib/components/automation/AutomationWorkflowNode.tsx +85 -0
  322. package/packages/diagrams/src/lib/components/automation/NodeAIAssistantPopup.tsx +504 -504
  323. package/packages/diagrams/src/lib/components/automation/index.ts +29 -19
  324. package/packages/diagrams/src/lib/components/automation/statusColors.ts +124 -124
  325. package/packages/diagrams/src/lib/contexts/CardDataProvider.tsx +111 -111
  326. package/packages/diagrams/src/lib/contexts/DiagramProvider.tsx +392 -391
  327. package/packages/diagrams/src/lib/contexts/diagramStoreTypes.tsx +134 -134
  328. package/packages/diagrams/src/lib/contexts/onConnect.ts +39 -39
  329. package/packages/diagrams/src/lib/contexts/onDragStart.ts +45 -45
  330. package/packages/diagrams/src/lib/contexts/onNodeDragEnd.ts +179 -179
  331. package/packages/diagrams/src/lib/contexts/onNodesChange.ts +406 -406
  332. package/packages/diagrams/src/lib/contexts/onReconnect.ts +59 -59
  333. package/packages/diagrams/src/lib/contexts/onWorkflowNodeDelete.ts +65 -65
  334. package/packages/diagrams/src/lib/contexts/setContentHeight.ts +14 -14
  335. package/packages/diagrams/src/lib/contexts/setDiagramType.ts +10 -10
  336. package/packages/diagrams/src/lib/contexts/setEdgeShapeType.ts +7 -7
  337. package/packages/diagrams/src/lib/contexts/setEdges.ts +9 -9
  338. package/packages/diagrams/src/lib/contexts/setLayoutDirection.ts +9 -9
  339. package/packages/diagrams/src/lib/contexts/setNodeSetting.ts +17 -17
  340. package/packages/diagrams/src/lib/contexts/setNodes.ts +10 -10
  341. package/packages/diagrams/src/lib/contexts/setPannable.ts +7 -7
  342. package/packages/diagrams/src/lib/contexts/setSelectedEdge.ts +7 -7
  343. package/packages/diagrams/src/lib/contexts/setSelectedNode.ts +7 -7
  344. package/packages/diagrams/src/lib/contexts/undo.ts +163 -163
  345. package/packages/diagrams/src/lib/contexts/updateNodeSetting.ts +17 -17
  346. package/packages/diagrams/src/lib/examples/TwilioWhatsAppConfigExample.ts +128 -128
  347. package/packages/diagrams/src/lib/externals.ts +4 -4
  348. package/packages/diagrams/src/lib/hooks/customUseReactFlow.tsx +90 -90
  349. package/packages/diagrams/src/lib/hooks/updateNodes.ts +45 -45
  350. package/packages/diagrams/src/lib/hooks/useAddChildButton.tsx +61 -61
  351. package/packages/diagrams/src/lib/hooks/useAddSwitchCase.ts +75 -75
  352. package/packages/diagrams/src/lib/hooks/useAutoRegisterFunctions.ts +135 -135
  353. package/packages/diagrams/src/lib/hooks/useAutoRegisterVariables.ts +286 -286
  354. package/packages/diagrams/src/lib/hooks/useDeleteNodeByEvent.ts +64 -64
  355. package/packages/diagrams/src/lib/hooks/useDragCallbacks.tsx +122 -122
  356. package/packages/diagrams/src/lib/hooks/useFormValidation.ts +349 -349
  357. package/packages/diagrams/src/lib/hooks/useFunctionFormCallbacks.ts +136 -136
  358. package/packages/diagrams/src/lib/hooks/useIsSelectedNode.ts +11 -11
  359. package/packages/diagrams/src/lib/hooks/useModalControls.ts +13 -13
  360. package/packages/diagrams/src/lib/hooks/useNodeDragHandlers.ts +43 -43
  361. package/packages/diagrams/src/lib/hooks/useNodeSelection.ts +55 -55
  362. package/packages/diagrams/src/lib/hooks/useRenderDividers.tsx +19 -19
  363. package/packages/diagrams/src/lib/hooks/useRenderPins.tsx +74 -74
  364. package/packages/diagrams/src/lib/hooks/useResizeObserver.ts +21 -21
  365. package/packages/diagrams/src/lib/hooks/useTreeChildNode.ts +536 -536
  366. package/packages/diagrams/src/lib/i18n.ts +42 -42
  367. package/packages/diagrams/src/lib/icons/icons.tsx +324 -0
  368. package/packages/diagrams/src/lib/icons/index.ts +29 -0
  369. package/packages/diagrams/src/lib/icons/types.ts +7 -0
  370. package/packages/diagrams/src/lib/molecules/AddingBlock.tsx +147 -147
  371. package/packages/diagrams/src/lib/molecules/AvailableVariablesDisplay.tsx +57 -57
  372. package/packages/diagrams/src/lib/molecules/Block.tsx +143 -143
  373. package/packages/diagrams/src/lib/molecules/BlockProvider.tsx +28 -28
  374. package/packages/diagrams/src/lib/molecules/BlockWrapper.tsx +14 -14
  375. package/packages/diagrams/src/lib/molecules/ConditionRule.tsx +131 -131
  376. package/packages/diagrams/src/lib/molecules/DraggablePane.tsx +198 -198
  377. package/packages/diagrams/src/lib/molecules/EntityNodeBlocks.tsx +66 -66
  378. package/packages/diagrams/src/lib/molecules/SideHandles.tsx +215 -215
  379. package/packages/diagrams/src/lib/molecules/StencilItem.tsx +85 -85
  380. package/packages/diagrams/src/lib/molecules/WorkflowNodeActionButtons.tsx +62 -62
  381. package/packages/diagrams/src/lib/molecules/animated-add-button.tsx +83 -83
  382. package/packages/diagrams/src/lib/molecules/json-viewer.tsx +107 -107
  383. package/packages/diagrams/src/lib/organisms/AddNodeView.tsx +102 -102
  384. package/packages/diagrams/src/lib/organisms/Card/EntityNode.tsx +259 -259
  385. package/packages/diagrams/src/lib/organisms/Card/card.params.ts +29 -29
  386. package/packages/diagrams/src/lib/organisms/Card/card.types.ts +5 -5
  387. package/packages/diagrams/src/lib/organisms/CodeModal.tsx +105 -105
  388. package/packages/diagrams/src/lib/organisms/ConditionRuleGroup.tsx +138 -138
  389. package/packages/diagrams/src/lib/organisms/CustomEdge/EdgeMarkers.tsx +51 -51
  390. package/packages/diagrams/src/lib/organisms/CustomEdge/custom-edge-generator.tsx +135 -135
  391. package/packages/diagrams/src/lib/organisms/CustomEdge/custom-edge.params.ts +6 -6
  392. package/packages/diagrams/src/lib/organisms/CustomEdge/custom-edge.type.ts +15 -15
  393. package/packages/diagrams/src/lib/organisms/CustomEdge/useCreateBendPoint.tsx +121 -121
  394. package/packages/diagrams/src/lib/organisms/CustomEdge/useEdgeModal.ts +37 -37
  395. package/packages/diagrams/src/lib/organisms/CustomEdge/useEdgePath.tsx +99 -99
  396. package/packages/diagrams/src/lib/organisms/DownloadPanel.tsx +345 -345
  397. package/packages/diagrams/src/lib/organisms/EdgeModal.tsx +243 -243
  398. package/packages/diagrams/src/lib/organisms/HistoryPane.tsx +118 -118
  399. package/packages/diagrams/src/lib/organisms/NodeContextMenu.tsx +259 -259
  400. package/packages/diagrams/src/lib/organisms/PropertiesPane.tsx +276 -276
  401. package/packages/diagrams/src/lib/organisms/SmartDynamicForm.tsx +226 -226
  402. package/packages/diagrams/src/lib/organisms/Stencil.tsx +60 -60
  403. package/packages/diagrams/src/lib/organisms/UseDiagramStore.tsx +4 -4
  404. package/packages/diagrams/src/lib/organisms/WorkFlowNode/NodeActionButtons.tsx +45 -45
  405. package/packages/diagrams/src/lib/organisms/WorkFlowNode/NodeTypeDisplay.tsx +114 -114
  406. package/packages/diagrams/src/lib/organisms/WorkFlowNode/WorkflowNodeIcons.tsx +21 -23
  407. package/packages/diagrams/src/lib/organisms/WorkflowNode.tsx +484 -484
  408. package/packages/diagrams/src/lib/services/GoogleSheetsService.ts +961 -961
  409. package/packages/diagrams/src/lib/services/SlackService.ts +134 -134
  410. package/packages/diagrams/src/lib/services/TwilioWhatsAppService.ts +273 -273
  411. package/packages/diagrams/src/lib/styles.css +55 -55
  412. package/packages/diagrams/src/lib/templates/PageLinks.tsx +13 -13
  413. package/packages/diagrams/src/lib/templates/arch/ArchDiagram.tsx +793 -793
  414. package/packages/diagrams/src/lib/templates/arch/components/EdgeDialog.tsx +82 -82
  415. package/packages/diagrams/src/lib/templates/arch/components/EdgeSettings.tsx +81 -81
  416. package/packages/diagrams/src/lib/templates/arch/components/GroupControls.tsx +59 -59
  417. package/packages/diagrams/src/lib/templates/arch/components/GroupSizeDialog.tsx +81 -81
  418. package/packages/diagrams/src/lib/templates/arch/components/NodeDialog.tsx +214 -214
  419. package/packages/diagrams/src/lib/templates/arch/components/nodeTypes.ts +91 -91
  420. package/packages/diagrams/src/lib/templates/arch/controls/ArchDiagramControls.tsx +349 -349
  421. package/packages/diagrams/src/lib/templates/arch/data/templatee-data.ts +212 -212
  422. package/packages/diagrams/src/lib/templates/cloud-arch/components/CloudArchitectureDiagram.tsx +3912 -3912
  423. package/packages/diagrams/src/lib/templates/cloud-arch/components/FormatConverter.tsx +809 -809
  424. package/packages/diagrams/src/lib/templates/cloud-arch/components/FragmentImporter.tsx +276 -276
  425. package/packages/diagrams/src/lib/templates/cloud-arch/components/PropertiesPanel.tsx +1063 -1063
  426. package/packages/diagrams/src/lib/templates/cloud-arch/components/ServiceIconPicker.tsx +138 -138
  427. package/packages/diagrams/src/lib/templates/cloud-arch/components/SettingsSidebar.tsx +656 -656
  428. package/packages/diagrams/src/lib/templates/cloud-arch/components/SubnetSelector.tsx +468 -468
  429. package/packages/diagrams/src/lib/templates/cloud-arch/components/nodes/ServiceNode.tsx +310 -310
  430. package/packages/diagrams/src/lib/templates/cloud-arch/components/nodes/SubnetNode.tsx +475 -475
  431. package/packages/diagrams/src/lib/templates/cloud-arch/components/nodes/UsersNode.tsx +277 -277
  432. package/packages/diagrams/src/lib/templates/cloud-arch/data/diagramManager.ts +364 -364
  433. package/packages/diagrams/src/lib/templates/cloud-arch/data/types.ts +183 -183
  434. package/packages/diagrams/src/lib/templates/cloud-arch/integration/diagramValidator.ts +379 -379
  435. package/packages/diagrams/src/lib/templates/cloud-arch/messages/errorMessages.json +95 -95
  436. package/packages/diagrams/src/lib/templates/cloud-arch/types/localization.ts +368 -368
  437. package/packages/diagrams/src/lib/templates/cloud-arch/types/validation.ts +72 -72
  438. package/packages/diagrams/src/lib/templates/cloud-arch/utils/aws-icons.ts +557 -557
  439. package/packages/diagrams/src/lib/templates/cloud-arch/utils/awsValidation.ts +446 -446
  440. package/packages/diagrams/src/lib/templates/cloud-arch/utils/azure-icons.ts +802 -802
  441. package/packages/diagrams/src/lib/templates/cloud-arch/utils/azureValidation.ts +495 -495
  442. package/packages/diagrams/src/lib/templates/cloud-arch/utils/cloudValidation.ts +929 -929
  443. package/packages/diagrams/src/lib/templates/cloud-arch/utils/errorMessages.ts +283 -283
  444. package/packages/diagrams/src/lib/templates/cloud-arch/utils/gcp-icons.ts +186 -186
  445. package/packages/diagrams/src/lib/templates/cloud-arch/utils/gcpValidation.ts +312 -312
  446. package/packages/diagrams/src/lib/templates/cloud-arch/utils/genericValidation.ts +689 -689
  447. package/packages/diagrams/src/lib/templates/cloud-arch/utils/iconMapping.ts +383 -383
  448. package/packages/diagrams/src/lib/templates/cloud-arch/utils/idGenerator.ts +220 -220
  449. package/packages/diagrams/src/lib/templates/cloud-arch/utils/localizationManager.ts +300 -300
  450. package/packages/diagrams/src/lib/templates/cloud-arch/utils/restrictionEngine.ts +550 -550
  451. package/packages/diagrams/src/lib/templates/cloud-arch/utils/restrictionValidator.ts +400 -400
  452. package/packages/diagrams/src/lib/templates/cloud-arch/utils/serviceIcons.tsx +129 -129
  453. package/packages/diagrams/src/lib/templates/cloud-arch/utils/serviceMapping.ts +330 -330
  454. package/packages/diagrams/src/lib/templates/cloud-arch/utils/translations.ts +54 -54
  455. package/packages/diagrams/src/lib/templates/cloud-arch/utils/validationExtractor.ts +342 -342
  456. package/packages/diagrams/src/lib/templates/collaborationDiagram/CollaborationDiagram.tsx +15 -15
  457. package/packages/diagrams/src/lib/templates/collaborationDiagram/components/AddCollabEdgeDialog.tsx +181 -181
  458. package/packages/diagrams/src/lib/templates/collaborationDiagram/components/CollabLayout.ts +182 -182
  459. package/packages/diagrams/src/lib/templates/collaborationDiagram/components/CollabObjectNodeSettings.tsx +86 -86
  460. package/packages/diagrams/src/lib/templates/collaborationDiagram/components/CollaborationDiagramFlow.tsx +731 -731
  461. package/packages/diagrams/src/lib/templates/collaborationDiagram/components/DraggableEdgeLabel.tsx +123 -123
  462. package/packages/diagrams/src/lib/templates/collaborationDiagram/controls/CollaborationControls.tsx +131 -131
  463. package/packages/diagrams/src/lib/templates/collaborationDiagram/nodes/CollabEdge.tsx +170 -170
  464. package/packages/diagrams/src/lib/templates/collaborationDiagram/nodes/CollabObjectNode.tsx +178 -178
  465. package/packages/diagrams/src/lib/templates/home.style.css +16 -16
  466. package/packages/diagrams/src/lib/templates/node-forms/ApiForm.tsx +416 -416
  467. package/packages/diagrams/src/lib/templates/node-forms/CallForm.tsx +370 -370
  468. package/packages/diagrams/src/lib/templates/node-forms/ForLoopNode.tsx +313 -313
  469. package/packages/diagrams/src/lib/templates/node-forms/FunctionForm.tsx +211 -211
  470. package/packages/diagrams/src/lib/templates/node-forms/GraphQLForm.tsx +679 -679
  471. package/packages/diagrams/src/lib/templates/node-forms/IfNodeForm.tsx +97 -97
  472. package/packages/diagrams/src/lib/templates/node-forms/LetNodeForm.tsx +533 -533
  473. package/packages/diagrams/src/lib/templates/node-forms/LoopNode.tsx +149 -149
  474. package/packages/diagrams/src/lib/templates/node-forms/NodeForm.tsx +383 -383
  475. package/packages/diagrams/src/lib/templates/node-forms/ReturnNodeForm.tsx +96 -96
  476. package/packages/diagrams/src/lib/templates/node-forms/SetNodeForm.tsx +141 -141
  477. package/packages/diagrams/src/lib/templates/node-forms/SwitchNodeForm.tsx +249 -249
  478. package/packages/diagrams/src/lib/templates/node-forms/TryCatchForm.tsx +167 -167
  479. package/packages/diagrams/src/lib/templates/nodeFormSchema.json +84 -84
  480. package/packages/diagrams/src/lib/templates/sequence/SequenceDiagram.tsx +22 -22
  481. package/packages/diagrams/src/lib/templates/sequence/components/ActivationBarNode.tsx +33 -33
  482. package/packages/diagrams/src/lib/templates/sequence/components/AddMessageDialog.tsx +302 -302
  483. package/packages/diagrams/src/lib/templates/sequence/components/CombinedFragmentNode.tsx +65 -65
  484. package/packages/diagrams/src/lib/templates/sequence/components/EntitySettings.tsx +559 -559
  485. package/packages/diagrams/src/lib/templates/sequence/components/FragmentSettings.tsx +116 -116
  486. package/packages/diagrams/src/lib/templates/sequence/components/SequenceComponents.tsx +14 -14
  487. package/packages/diagrams/src/lib/templates/sequence/components/SequenceDiagramFlow.tsx +1361 -1361
  488. package/packages/diagrams/src/lib/templates/sequence/components/SequenceEntityNode.tsx +394 -394
  489. package/packages/diagrams/src/lib/templates/sequence/components/SequenceMessageEdge.tsx +272 -272
  490. package/packages/diagrams/src/lib/templates/sequence/components/SimpleEntitySettings.tsx +89 -89
  491. package/packages/diagrams/src/lib/templates/sequence/controls/DiagramControls.tsx +707 -707
  492. package/packages/diagrams/src/lib/templates/sequence/data/template-data.ts +635 -635
  493. package/packages/diagrams/src/lib/templates/stateMachine/StateMachineDiagram.tsx +66 -66
  494. package/packages/diagrams/src/lib/templates/stateMachine/components/CompositeStateNodeSettings.tsx +638 -638
  495. package/packages/diagrams/src/lib/templates/stateMachine/components/CustomEdge.tsx +220 -220
  496. package/packages/diagrams/src/lib/templates/stateMachine/components/EdgeSettings.tsx +193 -193
  497. package/packages/diagrams/src/lib/templates/stateMachine/components/SelfConnectingEdge.tsx +41 -41
  498. package/packages/diagrams/src/lib/templates/stateMachine/components/StateMachineComponents.tsx +49 -49
  499. package/packages/diagrams/src/lib/templates/stateMachine/components/StateMachineDiagramFlow.tsx +1238 -1238
  500. package/packages/diagrams/src/lib/templates/stateMachine/components/StateMachineLayout.ts +350 -350
  501. package/packages/diagrams/src/lib/templates/stateMachine/components/StateNodeSettings.tsx +188 -188
  502. package/packages/diagrams/src/lib/templates/stateMachine/components/useSelfTransition.ts +114 -114
  503. package/packages/diagrams/src/lib/templates/stateMachine/controls/StateDiagramControls.tsx +488 -488
  504. package/packages/diagrams/src/lib/templates/stateMachine/data/template-data.ts +4 -4
  505. package/packages/diagrams/src/lib/templates/stateMachine/nodes/ChoicePointNode.tsx +54 -54
  506. package/packages/diagrams/src/lib/templates/stateMachine/nodes/CompositeStateNode.tsx +225 -225
  507. package/packages/diagrams/src/lib/templates/stateMachine/nodes/EntryPointNode.tsx +31 -31
  508. package/packages/diagrams/src/lib/templates/stateMachine/nodes/ExitPointNode.tsx +44 -44
  509. package/packages/diagrams/src/lib/templates/stateMachine/nodes/FinalStateNode.tsx +41 -41
  510. package/packages/diagrams/src/lib/templates/stateMachine/nodes/ForkJoinNode.tsx +53 -53
  511. package/packages/diagrams/src/lib/templates/stateMachine/nodes/HistoryStateNode.tsx +36 -36
  512. package/packages/diagrams/src/lib/templates/stateMachine/nodes/InitialStateNode.tsx +29 -29
  513. package/packages/diagrams/src/lib/templates/stateMachine/nodes/JunctionPointNode.tsx +33 -33
  514. package/packages/diagrams/src/lib/templates/stateMachine/nodes/PinPointNode.tsx +111 -111
  515. package/packages/diagrams/src/lib/templates/stateMachine/nodes/StateNode.tsx +124 -124
  516. package/packages/diagrams/src/lib/templates/stateMachine/nodes/bendPoint.tsx +71 -71
  517. package/packages/diagrams/src/lib/templates/systemFlow/SystemFlowDiagram.tsx +67 -67
  518. package/packages/diagrams/src/lib/templates/systemFlow/components/EdgeSettings.tsx +330 -330
  519. package/packages/diagrams/src/lib/templates/systemFlow/components/FloatingEdge.tsx +219 -219
  520. package/packages/diagrams/src/lib/templates/systemFlow/components/SystemFlowComponents.tsx +28 -28
  521. package/packages/diagrams/src/lib/templates/systemFlow/components/SystemFlowDiagramFlow.tsx +1179 -1179
  522. package/packages/diagrams/src/lib/templates/systemFlow/components/SystemFlowNodeSettings.tsx +151 -151
  523. package/packages/diagrams/src/lib/templates/systemFlow/controls/SystemFlowControls.tsx +435 -435
  524. package/packages/diagrams/src/lib/templates/systemFlow/data/template-data.ts +308 -308
  525. package/packages/diagrams/src/lib/templates/systemFlow/demo.tsx +91 -91
  526. package/packages/diagrams/src/lib/templates/systemFlow/index.ts +5 -5
  527. package/packages/diagrams/src/lib/templates/systemFlow/nodes/BendpointNode.tsx +80 -80
  528. package/packages/diagrams/src/lib/templates/systemFlow/nodes/SystemNode.tsx +92 -92
  529. package/packages/diagrams/src/lib/templates/systemFlow/nodes/TreeSystemNode.tsx +755 -755
  530. package/packages/diagrams/src/lib/templates/useCaseDiagram/UseCaseDiagram.tsx +16 -16
  531. package/packages/diagrams/src/lib/templates/useCaseDiagram/components/ActorNodeSettings.tsx +103 -103
  532. package/packages/diagrams/src/lib/templates/useCaseDiagram/components/AddRelationshipDialog.tsx +186 -186
  533. package/packages/diagrams/src/lib/templates/useCaseDiagram/components/PackageNodeSettings.tsx +205 -205
  534. package/packages/diagrams/src/lib/templates/useCaseDiagram/components/UseCaseDiagramFlow.tsx +637 -637
  535. package/packages/diagrams/src/lib/templates/useCaseDiagram/components/UseCaseNodeSettings.tsx +120 -120
  536. package/packages/diagrams/src/lib/templates/useCaseDiagram/controls/UseCaseControls.tsx +289 -289
  537. package/packages/diagrams/src/lib/templates/useCaseDiagram/nodes/PackageNode.tsx +83 -83
  538. package/packages/diagrams/src/lib/templates/useCaseDiagram/nodes/UseCaseEdge.tsx +115 -115
  539. package/packages/diagrams/src/lib/templates/useCaseDiagram/nodes/UseCaseNode.tsx +230 -230
  540. package/packages/diagrams/src/lib/templates/validationSchema.json +277 -277
  541. package/packages/diagrams/src/lib/theme.ts +439 -439
  542. package/packages/diagrams/src/lib/types/FunctionSignature.ts +11 -11
  543. package/packages/diagrams/src/lib/types/SmartDynamicFormField.ts +37 -37
  544. package/packages/diagrams/src/lib/types/automation-node-data-types.ts +45 -131
  545. package/packages/diagrams/src/lib/types/available-variables.ts +18 -18
  546. package/packages/diagrams/src/lib/types/card-node.ts +68 -68
  547. package/packages/diagrams/src/lib/types/collaboration-types.ts +114 -114
  548. package/packages/diagrams/src/lib/types/colors.ts +25 -25
  549. package/packages/diagrams/src/lib/types/condition-builder.ts +18 -18
  550. package/packages/diagrams/src/lib/types/diagram-types.ts +14 -14
  551. package/packages/diagrams/src/lib/types/edge-types.ts +39 -39
  552. package/packages/diagrams/src/lib/types/function-execution.ts +35 -35
  553. package/packages/diagrams/src/lib/types/hooks.types.ts +6 -6
  554. package/packages/diagrams/src/lib/types/ndoe-form-types.ts +139 -139
  555. package/packages/diagrams/src/lib/types/node-types.ts +13 -23
  556. package/packages/diagrams/src/lib/types/sequence-types.ts +178 -178
  557. package/packages/diagrams/src/lib/types/shared-node-types.ts +21 -21
  558. package/packages/diagrams/src/lib/types/state-machine-types.ts +225 -225
  559. package/packages/diagrams/src/lib/types/stencil-item.ts +7 -7
  560. package/packages/diagrams/src/lib/types/structures.ts +80 -80
  561. package/packages/diagrams/src/lib/types/system-flow-types.ts +129 -129
  562. package/packages/diagrams/src/lib/types/usecase-types.ts +84 -84
  563. package/packages/diagrams/src/lib/types/validation-types.ts +134 -134
  564. package/packages/diagrams/src/lib/types/workflow-content-dynamic-form-type.ts +23 -23
  565. package/packages/diagrams/src/lib/types/workflow-node-data-types.ts +172 -172
  566. package/packages/diagrams/src/lib/utils/AutomationExecutionEngine.ts +658 -1179
  567. package/packages/diagrams/src/lib/utils/add-new-block.ts +34 -34
  568. package/packages/diagrams/src/lib/utils/add-new-node.ts +52 -52
  569. package/packages/diagrams/src/lib/utils/addToHistory.ts +15 -15
  570. package/packages/diagrams/src/lib/utils/automation-flow-processor.ts +556 -619
  571. package/packages/diagrams/src/lib/utils/closestPoint.ts +45 -45
  572. package/packages/diagrams/src/lib/utils/color-options.tsx +26 -26
  573. package/packages/diagrams/src/lib/utils/compress-img.ts +59 -59
  574. package/packages/diagrams/src/lib/utils/configLoader.ts +329 -329
  575. package/packages/diagrams/src/lib/utils/constant-lengths.ts +8 -8
  576. package/packages/diagrams/src/lib/utils/create-updated.tsx +40 -40
  577. package/packages/diagrams/src/lib/utils/createHistoryChange.ts +3 -3
  578. package/packages/diagrams/src/lib/utils/dividerUtils.tsx +59 -59
  579. package/packages/diagrams/src/lib/utils/edge-hooks.ts +53 -53
  580. package/packages/diagrams/src/lib/utils/elkLayout.ts +297 -297
  581. package/packages/diagrams/src/lib/utils/event-hooks.ts +69 -69
  582. package/packages/diagrams/src/lib/utils/event-store.ts +58 -58
  583. package/packages/diagrams/src/lib/utils/flow-node-hooks.ts +28 -28
  584. package/packages/diagrams/src/lib/utils/flow-to-js.ts +1465 -1465
  585. package/packages/diagrams/src/lib/utils/functionGenerator.ts +38 -38
  586. package/packages/diagrams/src/lib/utils/generateEdgesFromNodeOrder.ts +113 -113
  587. package/packages/diagrams/src/lib/utils/helpers.types.ts +10 -10
  588. package/packages/diagrams/src/lib/utils/highlightText.tsx +93 -93
  589. package/packages/diagrams/src/lib/utils/iconMapper.tsx +76 -76
  590. package/packages/diagrams/src/lib/utils/logger.ts +5 -5
  591. package/packages/diagrams/src/lib/utils/model-hooks.ts +129 -129
  592. package/packages/diagrams/src/lib/utils/node-hooks.ts +78 -78
  593. package/packages/diagrams/src/lib/utils/nodeAIAssistantConfig.ts +54 -54
  594. package/packages/diagrams/src/lib/utils/nodeOrderByEdges.ts +437 -437
  595. package/packages/diagrams/src/lib/utils/nodeutils.ts +242 -242
  596. package/packages/diagrams/src/lib/utils/object.ts +13 -13
  597. package/packages/diagrams/src/lib/utils/useDebounce.ts +19 -19
  598. package/packages/diagrams/src/lib/utils/utilities.ts +105 -105
  599. package/packages/diagrams/src/lib/utils/validationEngine.ts +610 -610
  600. package/packages/diagrams/src/lib/utils/vhToPixels.ts +9 -9
  601. package/packages/diagrams/tsconfig.json +21 -21
  602. package/packages/diagrams/tsconfig.lib.json +26 -25
  603. package/packages/diagrams/webpack.config.js +17 -17
  604. package/packages/interfaces/.babelrc +12 -12
  605. package/packages/interfaces/.eslintrc.json +18 -18
  606. package/packages/interfaces/README.md +7 -7
  607. package/packages/interfaces/project.json +8 -8
  608. package/packages/interfaces/src/index.ts +21 -21
  609. package/packages/interfaces/src/lib/Button.tsx +1 -1
  610. package/packages/interfaces/src/lib/DataGrid.ts +14 -14
  611. package/packages/interfaces/src/lib/StyledBox.tsx +1 -1
  612. package/packages/interfaces/src/lib/ToolbarItem.ts +7 -7
  613. package/packages/interfaces/src/lib/UserCard.ts +8 -8
  614. package/packages/interfaces/src/lib/yup.ts +3 -3
  615. package/packages/interfaces/tsconfig.json +17 -17
  616. package/packages/interfaces/tsconfig.lib.json +24 -24
  617. package/packages/molecules/.babelrc +12 -12
  618. package/packages/molecules/.eslintrc.json +18 -18
  619. package/packages/molecules/README.md +7 -7
  620. package/packages/molecules/project.json +8 -8
  621. package/packages/molecules/src/index.ts +47 -41
  622. package/packages/molecules/src/lib/ActionTextField/ActionTextField.module.css +7 -7
  623. package/packages/molecules/src/lib/ActionTextField/ActionTextField.spec.tsx +10 -10
  624. package/packages/molecules/src/lib/ActionTextField/ActionTextField.tsx +33 -33
  625. package/packages/molecules/src/lib/ClosableButton/CloseableButton.module.css +7 -7
  626. package/packages/molecules/src/lib/ClosableButton/CloseableButton.spec.tsx +11 -11
  627. package/packages/molecules/src/lib/ClosableButton/CloseableButton.tsx +69 -69
  628. package/packages/molecules/src/lib/EditorTab/EditorTab.module.css +7 -7
  629. package/packages/molecules/src/lib/EditorTab/EditorTab.spec.tsx +10 -10
  630. package/packages/molecules/src/lib/EditorTab/EditorTab.tsx +42 -42
  631. package/packages/molecules/src/lib/EditorTab/TabPanel.tsx +25 -25
  632. package/packages/molecules/src/lib/ParamsActionField/ParamsActionField.module.css +7 -7
  633. package/packages/molecules/src/lib/ParamsActionField/ParamsActionField.spec.tsx +10 -10
  634. package/packages/molecules/src/lib/ParamsActionField/ParamsActionField.tsx +24 -24
  635. package/packages/molecules/src/lib/SvgIcons/icons.tsx +323 -291
  636. package/packages/molecules/src/lib/SvgIcons/index.ts +31 -25
  637. package/packages/molecules/src/lib/SvgIcons/types.ts +7 -7
  638. package/packages/molecules/src/lib/TableWithInlineView/TableWithInlineView.module.css +7 -7
  639. package/packages/molecules/src/lib/TableWithInlineView/TableWithInlineView.spec.tsx +10 -10
  640. package/packages/molecules/src/lib/TableWithInlineView/TableWithInlineView.tsx +47 -47
  641. package/packages/molecules/src/lib/UserCard/UserCard.module.css +7 -7
  642. package/packages/molecules/src/lib/UserCard/UserCard.spec.tsx +11 -11
  643. package/packages/molecules/src/lib/UserCard/UserCard.tsx +22 -22
  644. package/packages/molecules/src/lib/VerbSelection/HTTPVerbSelection.module.css +7 -7
  645. package/packages/molecules/src/lib/VerbSelection/HTTPVerbSelection.spec.tsx +10 -10
  646. package/packages/molecules/src/lib/VerbSelection/HTTPVerbSelection.tsx +72 -72
  647. package/packages/molecules/tsconfig.json +17 -17
  648. package/packages/molecules/tsconfig.lib.json +30 -30
  649. package/packages/organisms/.babelrc +12 -12
  650. package/packages/organisms/.eslintrc.json +18 -18
  651. package/packages/organisms/README.md +7 -7
  652. package/packages/organisms/project.json +8 -8
  653. package/packages/organisms/src/index.ts +4 -4
  654. package/packages/organisms/src/lib/EditorToolbar/EditorToolbar.module.css +7 -7
  655. package/packages/organisms/src/lib/EditorToolbar/EditorToolbar.spec.tsx +10 -10
  656. package/packages/organisms/src/lib/EditorToolbar/EditorToolbar.tsx +117 -117
  657. package/packages/organisms/src/lib/EditorToolbar/SortableItem.tsx +51 -51
  658. package/packages/organisms/src/lib/UserList/UserList.module.css +7 -7
  659. package/packages/organisms/src/lib/UserList/UserList.spec.tsx +11 -11
  660. package/packages/organisms/src/lib/UserList/UserList.tsx +48 -48
  661. package/packages/organisms/src/lib/UserList/store.ts +49 -49
  662. package/packages/organisms/tsconfig.json +17 -17
  663. package/packages/organisms/tsconfig.lib.json +24 -24
  664. package/packages/zustand/.babelrc +12 -12
  665. package/packages/zustand/.eslintrc.json +18 -18
  666. package/packages/zustand/README.md +7 -7
  667. package/packages/zustand/project.json +8 -8
  668. package/packages/zustand/src/index.ts +4 -4
  669. package/packages/zustand/tsconfig.json +17 -17
  670. package/packages/zustand/tsconfig.lib.json +24 -24
  671. package/tsconfig.base.json +29 -29
  672. package/packages/diagrams/src/lib/components/automation/AutomationAISuggestionNode.tsx +0 -304
  673. package/packages/diagrams/src/lib/components/automation/AutomationEmailNode.tsx +0 -773
  674. package/packages/diagrams/src/lib/components/automation/AutomationGoogleServicesNode.tsx +0 -779
  675. package/packages/diagrams/src/lib/components/automation/AutomationNoteNode.tsx +0 -422
  676. package/packages/diagrams/src/lib/components/automation/AutomationSheetsNode.tsx +0 -1135
  677. package/packages/diagrams/src/lib/examples/GoogleSheetsConfigurationExamples.ts +0 -306
@@ -1,384 +1,384 @@
1
- import { NodeLabel } from '../components/CloudArchitectureDiagram';
2
- import {
3
- AWS_CATEGORIES,
4
- AWS_COMPUTE_ICONS,
5
- AWS_CONTAINER_ICONS,
6
- AWS_DATABASE_ICONS,
7
- AWS_NETWORKING_ICONS,
8
- AWS_SECURITY_ICONS,
9
- AWS_STORAGE_ICONS,
10
- } from './aws-icons';
11
- import {
12
- AZURE_CATEGORIES,
13
- AZURE_COMPUTE_ICONS,
14
- AZURE_CONTAINER_ICONS,
15
- AZURE_DATABASE_ICONS,
16
- AZURE_NETWORKING_ICONS,
17
- AZURE_SECURITY_ICONS,
18
- AZURE_STORAGE_ICONS,
19
- } from './azure-icons';
20
- import {
21
- GCP_CATEGORIES,
22
- GCP_COMPUTE_ICONS,
23
- GCP_DATA_STORAGE_ICONS,
24
- GCP_NETWORKING_ICONS,
25
- GCP_SECURITY_ICONS,
26
- GCP_SERVERLESS_ICONS,
27
- } from './gcp-icons';
28
-
29
- // GCP Service Categories
30
-
31
- // Combine all GCP icons
32
- export const GCP_SERVICE_ICONS = {
33
- ...GCP_COMPUTE_ICONS,
34
- ...GCP_DATA_STORAGE_ICONS,
35
- ...GCP_NETWORKING_ICONS,
36
- ...GCP_SECURITY_ICONS,
37
- ...GCP_SERVERLESS_ICONS,
38
- } as const;
39
-
40
- // Combine all AWS icons
41
- export const AWS_SERVICE_ICONS = {
42
- ...AWS_COMPUTE_ICONS,
43
- ...AWS_STORAGE_ICONS,
44
- ...AWS_DATABASE_ICONS,
45
- ...AWS_NETWORKING_ICONS,
46
- ...AWS_SECURITY_ICONS,
47
- ...AWS_CONTAINER_ICONS,
48
- } as const;
49
-
50
- export interface ServiceInfo {
51
- name: string;
52
- category: string;
53
- icon: string;
54
- }
55
-
56
- export const AZURE_SERVICE_ICONS = {
57
- ...AZURE_COMPUTE_ICONS,
58
- ...AZURE_STORAGE_ICONS,
59
- ...AZURE_NETWORKING_ICONS,
60
- ...AZURE_DATABASE_ICONS,
61
- ...AZURE_SECURITY_ICONS,
62
- ...AZURE_CONTAINER_ICONS,
63
- // ... other Azure service categories
64
- } as const;
65
-
66
- // Combined cloud service icons
67
- export const CLOUD_SERVICE_ICONS = {
68
- aws: AWS_SERVICE_ICONS,
69
- azure: AZURE_SERVICE_ICONS,
70
- gcp: GCP_SERVICE_ICONS,
71
- } as const;
72
-
73
- export interface ServiceIconInfo {
74
- name: string;
75
- icon: string;
76
- category: string;
77
- }
78
-
79
- type CloudServiceIcon = {
80
- name: string;
81
- icon: string;
82
- category: string;
83
- };
84
-
85
- type CloudServiceIcons = {
86
- [key: string]: CloudServiceIcon;
87
- };
88
-
89
- // Helper function to get icons by category and cloud provider
90
- export const getIconsByCategory = (
91
- category: string,
92
- cloudProvider: 'aws' | 'azure' | 'gcp' = 'aws',
93
- ) => {
94
- const icons =
95
- cloudProvider === 'aws'
96
- ? AWS_SERVICE_ICONS
97
- : cloudProvider === 'azure'
98
- ? AZURE_SERVICE_ICONS
99
- : GCP_SERVICE_ICONS;
100
- return Object.entries(icons).filter(
101
- ([_, service]) => service.category === category,
102
- );
103
- };
104
-
105
- // Helper function to get all categories with their services by cloud provider
106
- export const getCategorizedServices = (
107
- cloudProvider: 'aws' | 'azure' | 'gcp' = 'aws',
108
- ) => {
109
- const icons =
110
- cloudProvider === 'aws'
111
- ? AWS_SERVICE_ICONS
112
- : cloudProvider === 'azure'
113
- ? AZURE_SERVICE_ICONS
114
- : GCP_SERVICE_ICONS;
115
- const categories =
116
- cloudProvider === 'aws'
117
- ? AWS_CATEGORIES
118
- : cloudProvider === 'azure'
119
- ? AZURE_CATEGORIES
120
- : GCP_CATEGORIES;
121
-
122
- const categorized: Record<string, CloudServiceIcon[]> = {};
123
-
124
- Object.values(categories).forEach((category) => {
125
- categorized[category] = Object.values(icons).filter(
126
- (service) => service.category === category,
127
- ) as CloudServiceIcon[];
128
- });
129
-
130
- return categorized;
131
- };
132
-
133
- // Helper function to get service info
134
- export const getServiceInfo = (
135
- serviceKey: string,
136
- cloudProvider: 'aws' | 'azure' | 'gcp' = 'aws',
137
- ): ServiceIconInfo | undefined => {
138
- const icons =
139
- cloudProvider === 'aws'
140
- ? AWS_SERVICE_ICONS
141
- : cloudProvider === 'azure'
142
- ? AZURE_SERVICE_ICONS
143
- : GCP_SERVICE_ICONS;
144
- const service = icons[serviceKey as keyof typeof icons] as
145
- | CloudServiceIcon
146
- | undefined;
147
- return service
148
- ? {
149
- name: service.name,
150
- icon: service.icon,
151
- category: service.category,
152
- }
153
- : undefined;
154
- };
155
-
156
- export const labelMap: Record<string, NodeLabel> = {
157
- // Internet Node
158
- internet: { label: 'Internet', sublabel: 'Gateway' },
159
-
160
- // ========== AWS SERVICES ==========
161
- // AWS Compute Services
162
- ec2: { label: 'EC2', sublabel: 'Instance' },
163
- lambda: { label: 'AWS Lambda', sublabel: 'Function' },
164
- autoscaling: { label: 'Auto Scaling', sublabel: 'Group' },
165
-
166
- // Storage Services
167
- 'backup': { label: 'AWS Backup', sublabel: 'Service' },
168
- 'efs': { label: 'Amazon EFS', sublabel: 'Storage' },
169
- 'ebs': { label: 'Amazon EBS', sublabel: 'Storage' },
170
- 'elastic-disaster-recovery': { label: 'Elastic', sublabel: 'Disaster Recovery' },
171
- 'file-cache': { label: 'File Cache', sublabel: 'Service' },
172
- 'fsx-lustre': { label: 'FSx', sublabel: 'for Lustre' },
173
- 'fsx-ontap': { label: 'FSx', sublabel: 'for NetApp ONTAP' },
174
- 'fsx-openzfs': { label: 'FSx', sublabel: 'for OpenZFS' },
175
- 'fsx-wfs': { label: 'FSx', sublabel: 'for WFS' },
176
- 'fsx': { label: 'Amazon FSx', sublabel: 'Service' },
177
- 's3-outposts': { label: 'S3', sublabel: 'on Outposts' },
178
- 'snowball-edge': { label: 'Snowball', sublabel: 'Edge' },
179
- 'snowball': { label: 'AWS', sublabel: 'Snowball' },
180
- 'snowcone': { label: 'AWS', sublabel: 'Snowcone' },
181
- 'snowmobile': { label: 'AWS', sublabel: 'Snowmobile' },
182
- 'storage-gateway': { label: 'Storage', sublabel: 'Gateway' },
183
-
184
- // Database Services
185
- 'aurora': { label: 'Amazon', sublabel: 'Aurora' },
186
- 'database-migration-service': { label: 'Database', sublabel: 'Migration Service' },
187
- 'documentdb': { label: 'Amazon', sublabel: 'DocumentDB' },
188
- 'elasticache': { label: 'Amazon', sublabel: 'ElastiCache' },
189
- 'keyspaces': { label: 'Amazon', sublabel: 'Keyspaces' },
190
- 'memorydb-redis': { label: 'MemoryDB', sublabel: 'for Redis' },
191
- 'neptune': { label: 'Amazon', sublabel: 'Neptune' },
192
- 'rds-vmware': { label: 'RDS', sublabel: 'on VMware' },
193
- 'rds': { label: 'Amazon', sublabel: 'RDS' },
194
- 'timestream': { label: 'Amazon', sublabel: 'Timestream' },
195
-
196
- // Networking Services
197
- 'app-mesh': { label: 'AWS', sublabel: 'App Mesh' },
198
- 'client-vpn': { label: 'Client', sublabel: 'VPN' },
199
- 'cloud-directory': { label: 'Cloud', sublabel: 'Directory' },
200
- 'cloud-map': { label: 'Cloud', sublabel: 'Map' },
201
- 'cloud-wan': { label: 'Cloud', sublabel: 'WAN' },
202
- 'cloudfront': { label: 'Amazon', sublabel: 'CloudFront' },
203
- 'direct-connect': { label: 'AWS', sublabel: 'Direct Connect' },
204
- 'elastic-load-balancing': { label: 'Elastic', sublabel: 'Load Balancing' },
205
- 'global-accelerator': { label: 'Global', sublabel: 'Accelerator' },
206
- 'private-5g': { label: 'AWS', sublabel: 'Private 5G' },
207
- 'privatelink': { label: 'AWS', sublabel: 'PrivateLink' },
208
- 'route-53': { label: 'Amazon', sublabel: 'Route 53' },
209
- 'site-to-site-vpn': { label: 'Site-to-Site', sublabel: 'VPN' },
210
- 'transit-gateway': { label: 'Transit', sublabel: 'Gateway' },
211
- 'verified-access': { label: 'Verified', sublabel: 'Access' },
212
- 'vpc-lattice': { label: 'VPC', sublabel: 'Lattice' },
213
-
214
- // Security Services
215
- 'artifact': { label: 'AWS', sublabel: 'Artifact' },
216
- 'audit-manager': { label: 'Audit', sublabel: 'Manager' },
217
- 'certificate-manager': { label: 'Certificate', sublabel: 'Manager' },
218
- 'cloudhsm': { label: 'AWS', sublabel: 'CloudHSM' },
219
- 'cognito': { label: 'Amazon', sublabel: 'Cognito' },
220
- 'detective': { label: 'Amazon', sublabel: 'Detective' },
221
- 'directory-service': { label: 'Directory', sublabel: 'Service' },
222
- 'firewall-manager': { label: 'Firewall', sublabel: 'Manager' },
223
- 'guardduty': { label: 'Amazon', sublabel: 'GuardDuty' },
224
- 'iam-identity-center': { label: 'IAM', sublabel: 'Identity Center' },
225
- 'iam': { label: 'Identity and', sublabel: 'Access Management' },
226
- 'inspector': { label: 'Amazon', sublabel: 'Inspector' },
227
- 'kms': { label: 'Key Management', sublabel: 'Service' },
228
- 'macie': { label: 'Amazon', sublabel: 'Macie' },
229
- 'network-firewall': { label: 'Network', sublabel: 'Firewall' },
230
- 'private-certificate-authority': { label: 'Private Certificate', sublabel: 'Authority' },
231
- 'resource-access-manager': { label: 'Resource Access', sublabel: 'Manager' },
232
- 'secrets-manager': { label: 'Secrets', sublabel: 'Manager' },
233
- 'security-hub': { label: 'Security', sublabel: 'Hub' },
234
- 'security-lake': { label: 'Security', sublabel: 'Lake' },
235
- 'shield': { label: 'AWS', sublabel: 'Shield' },
236
- 'signer': { label: 'AWS', sublabel: 'Signer' },
237
- 'verified-permissions': { label: 'Verified', sublabel: 'Permissions' },
238
- 'waf': { label: 'AWS', sublabel: 'WAF' },
239
-
240
- // Container Services
241
- 'ecs-anywhere': { label: 'ECS', sublabel: 'Anywhere' },
242
- 'eks-anywhere': { label: 'EKS', sublabel: 'Anywhere' },
243
- 'eks-cloud': { label: 'EKS', sublabel: 'Cloud' },
244
- 'eks-distro': { label: 'EKS', sublabel: 'Distro' },
245
- 'elastic-container-registry': { label: 'Elastic Container', sublabel: 'Registry' },
246
- 'elastic-container-service': { label: 'Elastic Container', sublabel: 'Service' },
247
- 'elastic-kubernetes-service': { label: 'Elastic Kubernetes', sublabel: 'Service' },
248
- 'fargate': { label: 'AWS', sublabel: 'Fargate' },
249
- 'openshift': { label: 'Red Hat', sublabel: 'OpenShift' },
250
-
251
- // ========== AZURE SERVICES ==========
252
- // Azure Container Services
253
- 'subscription': { label: 'Azure', sublabel: 'Subscription' },
254
- 'resource-group': { label: 'Resource', sublabel: 'Group' },
255
- 'virtual-network': { label: 'Virtual', sublabel: 'Network' },
256
- 'network-security-group': { label: 'Network Security', sublabel: 'Group' },
257
-
258
- // Azure Compute Services
259
- 'virtual-machines': { label: 'Virtual', sublabel: 'Machine' },
260
- 'virtual-machine': { label: 'Virtual', sublabel: 'Machine' },
261
- 'vm': { label: 'Virtual', sublabel: 'Machine' },
262
- 'vm-scale-sets': { label: 'VM Scale', sublabel: 'Sets' },
263
- 'virtual-machine-scale-sets': { label: 'VM Scale', sublabel: 'Sets' },
264
- 'app-services': { label: 'App', sublabel: 'Service' },
265
- 'app-service': { label: 'App', sublabel: 'Service' },
266
- 'function-apps': { label: 'Function', sublabel: 'App' },
267
- 'batch-accounts': { label: 'Azure', sublabel: 'Batch' },
268
- 'kubernetes-services': { label: 'Azure Kubernetes', sublabel: 'Service' },
269
- 'container-instances': { label: 'Container', sublabel: 'Instances' },
270
- 'container-registries': { label: 'Container', sublabel: 'Registry' },
271
- 'service-fabric-clusters': { label: 'Service Fabric', sublabel: 'Cluster' },
272
-
273
- // Azure Storage Services
274
- 'storage-accounts': { label: 'Storage', sublabel: 'Account' },
275
- 'storage-account': { label: 'Storage', sublabel: 'Account' },
276
- 'blob-storage': { label: 'Blob', sublabel: 'Storage' },
277
- 'file-storage': { label: 'File', sublabel: 'Storage' },
278
- 'managed-disks': { label: 'Managed', sublabel: 'Disks' },
279
- 'azure-netapp-files': { label: 'NetApp', sublabel: 'Files' },
280
- 'data-shares': { label: 'Data', sublabel: 'Share' },
281
- 'import-export-jobs': { label: 'Import/Export', sublabel: 'Jobs' },
282
- 'recovery-services-vaults': { label: 'Recovery Services', sublabel: 'Vault' },
283
-
284
- // Azure Database Services
285
- 'sql-database': { label: 'SQL', sublabel: 'Database' },
286
- 'azure-sql': { label: 'Azure', sublabel: 'SQL' },
287
- 'cosmos-db': { label: 'Cosmos', sublabel: 'DB' },
288
- 'mysql-server': { label: 'MySQL', sublabel: 'Server' },
289
- 'postgresql-server': { label: 'PostgreSQL', sublabel: 'Server' },
290
- 'mariadb-server': { label: 'MariaDB', sublabel: 'Server' },
291
- 'redis-cache': { label: 'Redis', sublabel: 'Cache' },
292
- 'synapse-analytics': { label: 'Synapse', sublabel: 'Analytics' },
293
- 'purview-accounts': { label: 'Purview', sublabel: 'Account' },
294
-
295
- // Azure Networking Services
296
- 'load-balancer': { label: 'Load', sublabel: 'Balancer' },
297
- 'load-balancers': { label: 'Load', sublabel: 'Balancer' },
298
- 'application-gateway': { label: 'Application', sublabel: 'Gateway' },
299
- 'azure-firewall': { label: 'Azure', sublabel: 'Firewall' },
300
- 'vpn-gateway': { label: 'VPN', sublabel: 'Gateway' },
301
- 'express-route': { label: 'Express', sublabel: 'Route' },
302
- 'network-interface': { label: 'Network', sublabel: 'Interface' },
303
- 'network-interfaces': { label: 'Network', sublabel: 'Interface' },
304
- 'private-endpoint': { label: 'Private', sublabel: 'Endpoint' },
305
- 'cdn-profiles': { label: 'CDN', sublabel: 'Profile' },
306
- 'azure-firewall-manager': { label: 'Firewall', sublabel: 'Manager' },
307
- 'azure-firewall-policy': { label: 'Firewall', sublabel: 'Policy' },
308
-
309
- // Azure Security Services
310
- 'key-vaults': { label: 'Key', sublabel: 'Vault' },
311
- 'security-center': { label: 'Security', sublabel: 'Center' },
312
- 'azure-active-directory': { label: 'Active', sublabel: 'Directory' },
313
- 'microsoft-defender-for-iot': { label: 'Defender', sublabel: 'for IoT' },
314
- 'microsoft-defender-easm': { label: 'Defender', sublabel: 'EASM' },
315
- 'detonation': { label: 'Detonation', sublabel: 'Chamber' },
316
-
317
- // Azure Integration Services
318
- 'service-bus': { label: 'Service', sublabel: 'Bus' },
319
- 'event-hubs': { label: 'Event', sublabel: 'Hubs' },
320
- 'logic-apps': { label: 'Logic', sublabel: 'Apps' },
321
- 'api-management': { label: 'API', sublabel: 'Management' },
322
-
323
- // Azure AI & Analytics Services
324
- 'cognitive-services': { label: 'Cognitive', sublabel: 'Services' },
325
- 'machine-learning': { label: 'Machine', sublabel: 'Learning' },
326
- 'stream-analytics': { label: 'Stream', sublabel: 'Analytics' },
327
- 'data-factory': { label: 'Data', sublabel: 'Factory' },
328
-
329
- // Azure DevOps & Management Services
330
- 'devops': { label: 'Azure', sublabel: 'DevOps' },
331
- 'monitor': { label: 'Azure', sublabel: 'Monitor' },
332
- 'automation': { label: 'Azure', sublabel: 'Automation' },
333
- 'azure-backup': { label: 'Azure', sublabel: 'Backup' },
334
- 'site-recovery': { label: 'Site', sublabel: 'Recovery' },
335
-
336
- // ========== GCP SERVICES ==========
337
- // GCP Container Services
338
- 'project': { label: 'GCP', sublabel: 'Project' },
339
- 'folder': { label: 'GCP', sublabel: 'Folder' },
340
-
341
- // GCP Compute Services
342
- 'compute-engine': { label: 'Compute', sublabel: 'Engine' },
343
- 'app-engine': { label: 'App', sublabel: 'Engine' },
344
- 'cloud-functions': { label: 'Cloud', sublabel: 'Functions' },
345
- 'cloud-run': { label: 'Cloud', sublabel: 'Run' },
346
- 'kubernetes-engine': { label: 'Google Kubernetes', sublabel: 'Engine' },
347
-
348
- // GCP Storage Services
349
- 'cloud-storage': { label: 'Cloud', sublabel: 'Storage' },
350
- 'persistent-disk': { label: 'Persistent', sublabel: 'Disk' },
351
- 'filestore': { label: 'Cloud', sublabel: 'Filestore' },
352
-
353
- // GCP Database Services
354
- 'cloud-sql': { label: 'Cloud', sublabel: 'SQL' },
355
- 'cloud-spanner': { label: 'Cloud', sublabel: 'Spanner' },
356
- 'cloud-bigtable': { label: 'Cloud', sublabel: 'Bigtable' },
357
- 'cloud-firestore': { label: 'Cloud', sublabel: 'Firestore' },
358
-
359
- // GCP Networking Services
360
- 'cloud-load-balancing': { label: 'Cloud Load', sublabel: 'Balancing' },
361
- 'cloud-cdn': { label: 'Cloud', sublabel: 'CDN' },
362
- 'cloud-dns': { label: 'Cloud', sublabel: 'DNS' },
363
- 'cloud-vpn': { label: 'Cloud', sublabel: 'VPN' },
364
- 'cloud-interconnect': { label: 'Cloud', sublabel: 'Interconnect' },
365
- 'cloud-nat': { label: 'Cloud', sublabel: 'NAT' },
366
- 'cloud-armor': { label: 'Cloud', sublabel: 'Armor' },
367
- 'cloud-firewall-rules': { label: 'Firewall', sublabel: 'Rules' },
368
-
369
- // GCP Security Services
370
- 'cloud-iam': { label: 'Cloud', sublabel: 'IAM' },
371
- 'gcp-iam': { label: 'GCP Identity and Access', sublabel: 'Management' },
372
- 'cloud-kms': { label: 'Cloud Key', sublabel: 'Management' },
373
- 'cloud-security-command-center': { label: 'Security Command', sublabel: 'Center' },
374
- 'binary-authorization': { label: 'Binary', sublabel: 'Authorization' },
375
- 'cloud-asset-inventory': { label: 'Cloud Asset', sublabel: 'Inventory' },
376
- 'data-loss-prevention-api': { label: 'Data Loss', sublabel: 'Prevention' },
377
- 'beyondcorp': { label: 'BeyondCorp', sublabel: 'Enterprise' },
378
-
379
- // GCP AI & Analytics Services
380
- 'bigquery': { label: 'BigQuery', sublabel: 'Analytics' },
381
- 'dataflow': { label: 'Cloud', sublabel: 'Dataflow' },
382
- 'dataproc': { label: 'Cloud', sublabel: 'Dataproc' },
383
- 'pub-sub': { label: 'Cloud', sublabel: 'Pub/Sub' },
1
+ import { NodeLabel } from '../components/CloudArchitectureDiagram';
2
+ import {
3
+ AWS_CATEGORIES,
4
+ AWS_COMPUTE_ICONS,
5
+ AWS_CONTAINER_ICONS,
6
+ AWS_DATABASE_ICONS,
7
+ AWS_NETWORKING_ICONS,
8
+ AWS_SECURITY_ICONS,
9
+ AWS_STORAGE_ICONS,
10
+ } from './aws-icons';
11
+ import {
12
+ AZURE_CATEGORIES,
13
+ AZURE_COMPUTE_ICONS,
14
+ AZURE_CONTAINER_ICONS,
15
+ AZURE_DATABASE_ICONS,
16
+ AZURE_NETWORKING_ICONS,
17
+ AZURE_SECURITY_ICONS,
18
+ AZURE_STORAGE_ICONS,
19
+ } from './azure-icons';
20
+ import {
21
+ GCP_CATEGORIES,
22
+ GCP_COMPUTE_ICONS,
23
+ GCP_DATA_STORAGE_ICONS,
24
+ GCP_NETWORKING_ICONS,
25
+ GCP_SECURITY_ICONS,
26
+ GCP_SERVERLESS_ICONS,
27
+ } from './gcp-icons';
28
+
29
+ // GCP Service Categories
30
+
31
+ // Combine all GCP icons
32
+ export const GCP_SERVICE_ICONS = {
33
+ ...GCP_COMPUTE_ICONS,
34
+ ...GCP_DATA_STORAGE_ICONS,
35
+ ...GCP_NETWORKING_ICONS,
36
+ ...GCP_SECURITY_ICONS,
37
+ ...GCP_SERVERLESS_ICONS,
38
+ } as const;
39
+
40
+ // Combine all AWS icons
41
+ export const AWS_SERVICE_ICONS = {
42
+ ...AWS_COMPUTE_ICONS,
43
+ ...AWS_STORAGE_ICONS,
44
+ ...AWS_DATABASE_ICONS,
45
+ ...AWS_NETWORKING_ICONS,
46
+ ...AWS_SECURITY_ICONS,
47
+ ...AWS_CONTAINER_ICONS,
48
+ } as const;
49
+
50
+ export interface ServiceInfo {
51
+ name: string;
52
+ category: string;
53
+ icon: string;
54
+ }
55
+
56
+ export const AZURE_SERVICE_ICONS = {
57
+ ...AZURE_COMPUTE_ICONS,
58
+ ...AZURE_STORAGE_ICONS,
59
+ ...AZURE_NETWORKING_ICONS,
60
+ ...AZURE_DATABASE_ICONS,
61
+ ...AZURE_SECURITY_ICONS,
62
+ ...AZURE_CONTAINER_ICONS,
63
+ // ... other Azure service categories
64
+ } as const;
65
+
66
+ // Combined cloud service icons
67
+ export const CLOUD_SERVICE_ICONS = {
68
+ aws: AWS_SERVICE_ICONS,
69
+ azure: AZURE_SERVICE_ICONS,
70
+ gcp: GCP_SERVICE_ICONS,
71
+ } as const;
72
+
73
+ export interface ServiceIconInfo {
74
+ name: string;
75
+ icon: string;
76
+ category: string;
77
+ }
78
+
79
+ type CloudServiceIcon = {
80
+ name: string;
81
+ icon: string;
82
+ category: string;
83
+ };
84
+
85
+ type CloudServiceIcons = {
86
+ [key: string]: CloudServiceIcon;
87
+ };
88
+
89
+ // Helper function to get icons by category and cloud provider
90
+ export const getIconsByCategory = (
91
+ category: string,
92
+ cloudProvider: 'aws' | 'azure' | 'gcp' = 'aws',
93
+ ) => {
94
+ const icons =
95
+ cloudProvider === 'aws'
96
+ ? AWS_SERVICE_ICONS
97
+ : cloudProvider === 'azure'
98
+ ? AZURE_SERVICE_ICONS
99
+ : GCP_SERVICE_ICONS;
100
+ return Object.entries(icons).filter(
101
+ ([_, service]) => service.category === category,
102
+ );
103
+ };
104
+
105
+ // Helper function to get all categories with their services by cloud provider
106
+ export const getCategorizedServices = (
107
+ cloudProvider: 'aws' | 'azure' | 'gcp' = 'aws',
108
+ ) => {
109
+ const icons =
110
+ cloudProvider === 'aws'
111
+ ? AWS_SERVICE_ICONS
112
+ : cloudProvider === 'azure'
113
+ ? AZURE_SERVICE_ICONS
114
+ : GCP_SERVICE_ICONS;
115
+ const categories =
116
+ cloudProvider === 'aws'
117
+ ? AWS_CATEGORIES
118
+ : cloudProvider === 'azure'
119
+ ? AZURE_CATEGORIES
120
+ : GCP_CATEGORIES;
121
+
122
+ const categorized: Record<string, CloudServiceIcon[]> = {};
123
+
124
+ Object.values(categories).forEach((category) => {
125
+ categorized[category] = Object.values(icons).filter(
126
+ (service) => service.category === category,
127
+ ) as CloudServiceIcon[];
128
+ });
129
+
130
+ return categorized;
131
+ };
132
+
133
+ // Helper function to get service info
134
+ export const getServiceInfo = (
135
+ serviceKey: string,
136
+ cloudProvider: 'aws' | 'azure' | 'gcp' = 'aws',
137
+ ): ServiceIconInfo | undefined => {
138
+ const icons =
139
+ cloudProvider === 'aws'
140
+ ? AWS_SERVICE_ICONS
141
+ : cloudProvider === 'azure'
142
+ ? AZURE_SERVICE_ICONS
143
+ : GCP_SERVICE_ICONS;
144
+ const service = icons[serviceKey as keyof typeof icons] as
145
+ | CloudServiceIcon
146
+ | undefined;
147
+ return service
148
+ ? {
149
+ name: service.name,
150
+ icon: service.icon,
151
+ category: service.category,
152
+ }
153
+ : undefined;
154
+ };
155
+
156
+ export const labelMap: Record<string, NodeLabel> = {
157
+ // Internet Node
158
+ internet: { label: 'Internet', sublabel: 'Gateway' },
159
+
160
+ // ========== AWS SERVICES ==========
161
+ // AWS Compute Services
162
+ ec2: { label: 'EC2', sublabel: 'Instance' },
163
+ lambda: { label: 'AWS Lambda', sublabel: 'Function' },
164
+ autoscaling: { label: 'Auto Scaling', sublabel: 'Group' },
165
+
166
+ // Storage Services
167
+ 'backup': { label: 'AWS Backup', sublabel: 'Service' },
168
+ 'efs': { label: 'Amazon EFS', sublabel: 'Storage' },
169
+ 'ebs': { label: 'Amazon EBS', sublabel: 'Storage' },
170
+ 'elastic-disaster-recovery': { label: 'Elastic', sublabel: 'Disaster Recovery' },
171
+ 'file-cache': { label: 'File Cache', sublabel: 'Service' },
172
+ 'fsx-lustre': { label: 'FSx', sublabel: 'for Lustre' },
173
+ 'fsx-ontap': { label: 'FSx', sublabel: 'for NetApp ONTAP' },
174
+ 'fsx-openzfs': { label: 'FSx', sublabel: 'for OpenZFS' },
175
+ 'fsx-wfs': { label: 'FSx', sublabel: 'for WFS' },
176
+ 'fsx': { label: 'Amazon FSx', sublabel: 'Service' },
177
+ 's3-outposts': { label: 'S3', sublabel: 'on Outposts' },
178
+ 'snowball-edge': { label: 'Snowball', sublabel: 'Edge' },
179
+ 'snowball': { label: 'AWS', sublabel: 'Snowball' },
180
+ 'snowcone': { label: 'AWS', sublabel: 'Snowcone' },
181
+ 'snowmobile': { label: 'AWS', sublabel: 'Snowmobile' },
182
+ 'storage-gateway': { label: 'Storage', sublabel: 'Gateway' },
183
+
184
+ // Database Services
185
+ 'aurora': { label: 'Amazon', sublabel: 'Aurora' },
186
+ 'database-migration-service': { label: 'Database', sublabel: 'Migration Service' },
187
+ 'documentdb': { label: 'Amazon', sublabel: 'DocumentDB' },
188
+ 'elasticache': { label: 'Amazon', sublabel: 'ElastiCache' },
189
+ 'keyspaces': { label: 'Amazon', sublabel: 'Keyspaces' },
190
+ 'memorydb-redis': { label: 'MemoryDB', sublabel: 'for Redis' },
191
+ 'neptune': { label: 'Amazon', sublabel: 'Neptune' },
192
+ 'rds-vmware': { label: 'RDS', sublabel: 'on VMware' },
193
+ 'rds': { label: 'Amazon', sublabel: 'RDS' },
194
+ 'timestream': { label: 'Amazon', sublabel: 'Timestream' },
195
+
196
+ // Networking Services
197
+ 'app-mesh': { label: 'AWS', sublabel: 'App Mesh' },
198
+ 'client-vpn': { label: 'Client', sublabel: 'VPN' },
199
+ 'cloud-directory': { label: 'Cloud', sublabel: 'Directory' },
200
+ 'cloud-map': { label: 'Cloud', sublabel: 'Map' },
201
+ 'cloud-wan': { label: 'Cloud', sublabel: 'WAN' },
202
+ 'cloudfront': { label: 'Amazon', sublabel: 'CloudFront' },
203
+ 'direct-connect': { label: 'AWS', sublabel: 'Direct Connect' },
204
+ 'elastic-load-balancing': { label: 'Elastic', sublabel: 'Load Balancing' },
205
+ 'global-accelerator': { label: 'Global', sublabel: 'Accelerator' },
206
+ 'private-5g': { label: 'AWS', sublabel: 'Private 5G' },
207
+ 'privatelink': { label: 'AWS', sublabel: 'PrivateLink' },
208
+ 'route-53': { label: 'Amazon', sublabel: 'Route 53' },
209
+ 'site-to-site-vpn': { label: 'Site-to-Site', sublabel: 'VPN' },
210
+ 'transit-gateway': { label: 'Transit', sublabel: 'Gateway' },
211
+ 'verified-access': { label: 'Verified', sublabel: 'Access' },
212
+ 'vpc-lattice': { label: 'VPC', sublabel: 'Lattice' },
213
+
214
+ // Security Services
215
+ 'artifact': { label: 'AWS', sublabel: 'Artifact' },
216
+ 'audit-manager': { label: 'Audit', sublabel: 'Manager' },
217
+ 'certificate-manager': { label: 'Certificate', sublabel: 'Manager' },
218
+ 'cloudhsm': { label: 'AWS', sublabel: 'CloudHSM' },
219
+ 'cognito': { label: 'Amazon', sublabel: 'Cognito' },
220
+ 'detective': { label: 'Amazon', sublabel: 'Detective' },
221
+ 'directory-service': { label: 'Directory', sublabel: 'Service' },
222
+ 'firewall-manager': { label: 'Firewall', sublabel: 'Manager' },
223
+ 'guardduty': { label: 'Amazon', sublabel: 'GuardDuty' },
224
+ 'iam-identity-center': { label: 'IAM', sublabel: 'Identity Center' },
225
+ 'iam': { label: 'Identity and', sublabel: 'Access Management' },
226
+ 'inspector': { label: 'Amazon', sublabel: 'Inspector' },
227
+ 'kms': { label: 'Key Management', sublabel: 'Service' },
228
+ 'macie': { label: 'Amazon', sublabel: 'Macie' },
229
+ 'network-firewall': { label: 'Network', sublabel: 'Firewall' },
230
+ 'private-certificate-authority': { label: 'Private Certificate', sublabel: 'Authority' },
231
+ 'resource-access-manager': { label: 'Resource Access', sublabel: 'Manager' },
232
+ 'secrets-manager': { label: 'Secrets', sublabel: 'Manager' },
233
+ 'security-hub': { label: 'Security', sublabel: 'Hub' },
234
+ 'security-lake': { label: 'Security', sublabel: 'Lake' },
235
+ 'shield': { label: 'AWS', sublabel: 'Shield' },
236
+ 'signer': { label: 'AWS', sublabel: 'Signer' },
237
+ 'verified-permissions': { label: 'Verified', sublabel: 'Permissions' },
238
+ 'waf': { label: 'AWS', sublabel: 'WAF' },
239
+
240
+ // Container Services
241
+ 'ecs-anywhere': { label: 'ECS', sublabel: 'Anywhere' },
242
+ 'eks-anywhere': { label: 'EKS', sublabel: 'Anywhere' },
243
+ 'eks-cloud': { label: 'EKS', sublabel: 'Cloud' },
244
+ 'eks-distro': { label: 'EKS', sublabel: 'Distro' },
245
+ 'elastic-container-registry': { label: 'Elastic Container', sublabel: 'Registry' },
246
+ 'elastic-container-service': { label: 'Elastic Container', sublabel: 'Service' },
247
+ 'elastic-kubernetes-service': { label: 'Elastic Kubernetes', sublabel: 'Service' },
248
+ 'fargate': { label: 'AWS', sublabel: 'Fargate' },
249
+ 'openshift': { label: 'Red Hat', sublabel: 'OpenShift' },
250
+
251
+ // ========== AZURE SERVICES ==========
252
+ // Azure Container Services
253
+ 'subscription': { label: 'Azure', sublabel: 'Subscription' },
254
+ 'resource-group': { label: 'Resource', sublabel: 'Group' },
255
+ 'virtual-network': { label: 'Virtual', sublabel: 'Network' },
256
+ 'network-security-group': { label: 'Network Security', sublabel: 'Group' },
257
+
258
+ // Azure Compute Services
259
+ 'virtual-machines': { label: 'Virtual', sublabel: 'Machine' },
260
+ 'virtual-machine': { label: 'Virtual', sublabel: 'Machine' },
261
+ 'vm': { label: 'Virtual', sublabel: 'Machine' },
262
+ 'vm-scale-sets': { label: 'VM Scale', sublabel: 'Sets' },
263
+ 'virtual-machine-scale-sets': { label: 'VM Scale', sublabel: 'Sets' },
264
+ 'app-services': { label: 'App', sublabel: 'Service' },
265
+ 'app-service': { label: 'App', sublabel: 'Service' },
266
+ 'function-apps': { label: 'Function', sublabel: 'App' },
267
+ 'batch-accounts': { label: 'Azure', sublabel: 'Batch' },
268
+ 'kubernetes-services': { label: 'Azure Kubernetes', sublabel: 'Service' },
269
+ 'container-instances': { label: 'Container', sublabel: 'Instances' },
270
+ 'container-registries': { label: 'Container', sublabel: 'Registry' },
271
+ 'service-fabric-clusters': { label: 'Service Fabric', sublabel: 'Cluster' },
272
+
273
+ // Azure Storage Services
274
+ 'storage-accounts': { label: 'Storage', sublabel: 'Account' },
275
+ 'storage-account': { label: 'Storage', sublabel: 'Account' },
276
+ 'blob-storage': { label: 'Blob', sublabel: 'Storage' },
277
+ 'file-storage': { label: 'File', sublabel: 'Storage' },
278
+ 'managed-disks': { label: 'Managed', sublabel: 'Disks' },
279
+ 'azure-netapp-files': { label: 'NetApp', sublabel: 'Files' },
280
+ 'data-shares': { label: 'Data', sublabel: 'Share' },
281
+ 'import-export-jobs': { label: 'Import/Export', sublabel: 'Jobs' },
282
+ 'recovery-services-vaults': { label: 'Recovery Services', sublabel: 'Vault' },
283
+
284
+ // Azure Database Services
285
+ 'sql-database': { label: 'SQL', sublabel: 'Database' },
286
+ 'azure-sql': { label: 'Azure', sublabel: 'SQL' },
287
+ 'cosmos-db': { label: 'Cosmos', sublabel: 'DB' },
288
+ 'mysql-server': { label: 'MySQL', sublabel: 'Server' },
289
+ 'postgresql-server': { label: 'PostgreSQL', sublabel: 'Server' },
290
+ 'mariadb-server': { label: 'MariaDB', sublabel: 'Server' },
291
+ 'redis-cache': { label: 'Redis', sublabel: 'Cache' },
292
+ 'synapse-analytics': { label: 'Synapse', sublabel: 'Analytics' },
293
+ 'purview-accounts': { label: 'Purview', sublabel: 'Account' },
294
+
295
+ // Azure Networking Services
296
+ 'load-balancer': { label: 'Load', sublabel: 'Balancer' },
297
+ 'load-balancers': { label: 'Load', sublabel: 'Balancer' },
298
+ 'application-gateway': { label: 'Application', sublabel: 'Gateway' },
299
+ 'azure-firewall': { label: 'Azure', sublabel: 'Firewall' },
300
+ 'vpn-gateway': { label: 'VPN', sublabel: 'Gateway' },
301
+ 'express-route': { label: 'Express', sublabel: 'Route' },
302
+ 'network-interface': { label: 'Network', sublabel: 'Interface' },
303
+ 'network-interfaces': { label: 'Network', sublabel: 'Interface' },
304
+ 'private-endpoint': { label: 'Private', sublabel: 'Endpoint' },
305
+ 'cdn-profiles': { label: 'CDN', sublabel: 'Profile' },
306
+ 'azure-firewall-manager': { label: 'Firewall', sublabel: 'Manager' },
307
+ 'azure-firewall-policy': { label: 'Firewall', sublabel: 'Policy' },
308
+
309
+ // Azure Security Services
310
+ 'key-vaults': { label: 'Key', sublabel: 'Vault' },
311
+ 'security-center': { label: 'Security', sublabel: 'Center' },
312
+ 'azure-active-directory': { label: 'Active', sublabel: 'Directory' },
313
+ 'microsoft-defender-for-iot': { label: 'Defender', sublabel: 'for IoT' },
314
+ 'microsoft-defender-easm': { label: 'Defender', sublabel: 'EASM' },
315
+ 'detonation': { label: 'Detonation', sublabel: 'Chamber' },
316
+
317
+ // Azure Integration Services
318
+ 'service-bus': { label: 'Service', sublabel: 'Bus' },
319
+ 'event-hubs': { label: 'Event', sublabel: 'Hubs' },
320
+ 'logic-apps': { label: 'Logic', sublabel: 'Apps' },
321
+ 'api-management': { label: 'API', sublabel: 'Management' },
322
+
323
+ // Azure AI & Analytics Services
324
+ 'cognitive-services': { label: 'Cognitive', sublabel: 'Services' },
325
+ 'machine-learning': { label: 'Machine', sublabel: 'Learning' },
326
+ 'stream-analytics': { label: 'Stream', sublabel: 'Analytics' },
327
+ 'data-factory': { label: 'Data', sublabel: 'Factory' },
328
+
329
+ // Azure DevOps & Management Services
330
+ 'devops': { label: 'Azure', sublabel: 'DevOps' },
331
+ 'monitor': { label: 'Azure', sublabel: 'Monitor' },
332
+ 'automation': { label: 'Azure', sublabel: 'Automation' },
333
+ 'azure-backup': { label: 'Azure', sublabel: 'Backup' },
334
+ 'site-recovery': { label: 'Site', sublabel: 'Recovery' },
335
+
336
+ // ========== GCP SERVICES ==========
337
+ // GCP Container Services
338
+ 'project': { label: 'GCP', sublabel: 'Project' },
339
+ 'folder': { label: 'GCP', sublabel: 'Folder' },
340
+
341
+ // GCP Compute Services
342
+ 'compute-engine': { label: 'Compute', sublabel: 'Engine' },
343
+ 'app-engine': { label: 'App', sublabel: 'Engine' },
344
+ 'cloud-functions': { label: 'Cloud', sublabel: 'Functions' },
345
+ 'cloud-run': { label: 'Cloud', sublabel: 'Run' },
346
+ 'kubernetes-engine': { label: 'Google Kubernetes', sublabel: 'Engine' },
347
+
348
+ // GCP Storage Services
349
+ 'cloud-storage': { label: 'Cloud', sublabel: 'Storage' },
350
+ 'persistent-disk': { label: 'Persistent', sublabel: 'Disk' },
351
+ 'filestore': { label: 'Cloud', sublabel: 'Filestore' },
352
+
353
+ // GCP Database Services
354
+ 'cloud-sql': { label: 'Cloud', sublabel: 'SQL' },
355
+ 'cloud-spanner': { label: 'Cloud', sublabel: 'Spanner' },
356
+ 'cloud-bigtable': { label: 'Cloud', sublabel: 'Bigtable' },
357
+ 'cloud-firestore': { label: 'Cloud', sublabel: 'Firestore' },
358
+
359
+ // GCP Networking Services
360
+ 'cloud-load-balancing': { label: 'Cloud Load', sublabel: 'Balancing' },
361
+ 'cloud-cdn': { label: 'Cloud', sublabel: 'CDN' },
362
+ 'cloud-dns': { label: 'Cloud', sublabel: 'DNS' },
363
+ 'cloud-vpn': { label: 'Cloud', sublabel: 'VPN' },
364
+ 'cloud-interconnect': { label: 'Cloud', sublabel: 'Interconnect' },
365
+ 'cloud-nat': { label: 'Cloud', sublabel: 'NAT' },
366
+ 'cloud-armor': { label: 'Cloud', sublabel: 'Armor' },
367
+ 'cloud-firewall-rules': { label: 'Firewall', sublabel: 'Rules' },
368
+
369
+ // GCP Security Services
370
+ 'cloud-iam': { label: 'Cloud', sublabel: 'IAM' },
371
+ 'gcp-iam': { label: 'GCP Identity and Access', sublabel: 'Management' },
372
+ 'cloud-kms': { label: 'Cloud Key', sublabel: 'Management' },
373
+ 'cloud-security-command-center': { label: 'Security Command', sublabel: 'Center' },
374
+ 'binary-authorization': { label: 'Binary', sublabel: 'Authorization' },
375
+ 'cloud-asset-inventory': { label: 'Cloud Asset', sublabel: 'Inventory' },
376
+ 'data-loss-prevention-api': { label: 'Data Loss', sublabel: 'Prevention' },
377
+ 'beyondcorp': { label: 'BeyondCorp', sublabel: 'Enterprise' },
378
+
379
+ // GCP AI & Analytics Services
380
+ 'bigquery': { label: 'BigQuery', sublabel: 'Analytics' },
381
+ 'dataflow': { label: 'Cloud', sublabel: 'Dataflow' },
382
+ 'dataproc': { label: 'Cloud', sublabel: 'Dataproc' },
383
+ 'pub-sub': { label: 'Cloud', sublabel: 'Pub/Sub' },
384
384
  };