@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.
- package/.editorconfig +13 -13
- package/.eslintignore +1 -1
- package/.eslintrc.json +35 -35
- package/.prettierignore +3 -3
- package/.prettierrc +3 -3
- package/.vscode/settings.json +6 -6
- package/README.md +95 -95
- package/apps/authentication/tsconfig.app.json +23 -23
- package/apps/authentication/tsconfig.json +21 -21
- package/apps/authentication/tsconfig.spec.json +28 -28
- package/apps/diagramming/.eslintrc.json +18 -18
- package/apps/diagramming/index.html +16 -16
- package/apps/diagramming/project.json +53 -53
- package/apps/diagramming/public/aws-icons/compute/App Runner.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Application Auto Scaling.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Batch.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Bottlerocket.svg +19 -19
- package/apps/diagramming/public/aws-icons/compute/Compute Optimizer.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/EC2 Auto Scaling.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/EC2 Image Builder.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/EC2.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Elastic Beanstalk.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Elastic Fabric Adapter.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Fargate.svg +19 -19
- package/apps/diagramming/public/aws-icons/compute/Genomics CLI.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Lambda.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Local Zones.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/NICE DCV.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/NICE EnginFrame.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Nitro Enclaves.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Outposts family.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Outposts rack.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Outposts servers.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/ParallelCluster.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Serverless Application Repository.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/SimSpace Weaver.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Thinkbox Deadline.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Thinkbox Frost.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Thinkbox Sequoia.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Thinkbox Stoke.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Thinkbox XMesh.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/VMware Cloud on AWS.svg +17 -17
- package/apps/diagramming/public/aws-icons/compute/Wavelength.svg +17 -17
- package/apps/diagramming/public/aws-icons/container/ECS Anywhere.svg +17 -17
- package/apps/diagramming/public/aws-icons/container/EKS Anywhere.svg +17 -17
- package/apps/diagramming/public/aws-icons/container/EKS Cloud.svg +17 -17
- package/apps/diagramming/public/aws-icons/container/EKS Distro.svg +17 -17
- package/apps/diagramming/public/aws-icons/container/Elastic Container Registry.svg +17 -17
- package/apps/diagramming/public/aws-icons/container/Elastic Container Service.svg +17 -17
- package/apps/diagramming/public/aws-icons/container/Elastic Kubernetes Service.svg +17 -17
- package/apps/diagramming/public/aws-icons/container/Fargate.svg +19 -19
- package/apps/diagramming/public/aws-icons/container/Red Hat OpenShift Service on AWS.svg +17 -17
- package/apps/diagramming/public/aws-icons/database/Aurora.svg +17 -17
- package/apps/diagramming/public/aws-icons/database/Database Migration Service.svg +17 -17
- package/apps/diagramming/public/aws-icons/database/DocumentDB.svg +17 -17
- package/apps/diagramming/public/aws-icons/database/ElastiCache.svg +17 -17
- package/apps/diagramming/public/aws-icons/database/Keyspaces.svg +15 -15
- package/apps/diagramming/public/aws-icons/database/MemoryDB for Redis.svg +17 -17
- package/apps/diagramming/public/aws-icons/database/Neptune.svg +17 -17
- package/apps/diagramming/public/aws-icons/database/RDS on VMware.svg +17 -17
- package/apps/diagramming/public/aws-icons/database/RDS.svg +17 -17
- package/apps/diagramming/public/aws-icons/database/Timestream.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/App Mesh.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Client VPN.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Cloud Directory.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Cloud Map.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Cloud WAN.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/CloudFront.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Direct Connect.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Elastic Load Balancing.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Global Accelerator.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Private 5G.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/PrivateLink.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Route 53.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Site to Site VPN.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Transit Gateway.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/VPC Lattice.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Verified Access.svg +17 -17
- package/apps/diagramming/public/aws-icons/networking/Virtual Private Cloud.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Artifact.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Audit Manager.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Certificate Manager.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/CloudHSM.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Cognito.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Detective.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Directory Service.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Firewall Manager.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/GuardDuty.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/IAM Identity Center.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Identity and Access Management.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Inspector.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Key Management Service.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Macie.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Network Firewall.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Resource Access Manager.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Secrets Manager.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Security Hub.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Security Lake.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Shield.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Signer.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/Verified Permissions.svg +17 -17
- package/apps/diagramming/public/aws-icons/security/WAF.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/Backup.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/EFS.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/Elastic Block Store.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/Elastic Disaster Recovery.svg +15 -15
- package/apps/diagramming/public/aws-icons/storage/FSx for Lustre.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/FSx for NetApp ONTAP.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/FSx for OpenZFS.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/FSx for WFS.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/FSx.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/File Cache.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/S3 on Outposts.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/Simple Storage Service Glacier.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/Simple Storage Service.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/Snowball Edge.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/Snowball.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/Snowcone.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/Snowmobile.svg +17 -17
- package/apps/diagramming/public/aws-icons/storage/Storage Gateway.svg +17 -17
- package/apps/diagramming/public/azure-icons/compute/02112-icon-service-Automanaged-VM.svg +1 -1
- package/apps/diagramming/public/azure-icons/databases/02390-icon-service-Azure-SQL.svg +1 -1
- package/apps/diagramming/public/azure-icons/databases/02392-icon-service-SSIS-Lift-And-Shift-IR.svg +1 -1
- package/apps/diagramming/public/azure-icons/networking/02145-icon-service-Resource-Management-Private-Link.svg +1 -1
- package/apps/diagramming/public/azure-icons/security/02247-icon-service-Microsoft-Defender-for-IoT.svg +1 -1
- package/apps/diagramming/public/sample-node-complete.json +63 -63
- package/apps/diagramming/public/sample-node-data.json +63 -63
- package/apps/diagramming/src/AutomationDiagramData.ts +147 -480
- package/apps/diagramming/src/CollaborationDiagramData.ts +127 -127
- package/apps/diagramming/src/CustomIconExamples.ts +233 -233
- package/apps/diagramming/src/DiagramTabs.tsx +205 -205
- package/apps/diagramming/src/Pages/DevPlayground.tsx +3 -3
- package/apps/diagramming/src/Pages/Home.tsx +111 -111
- package/apps/diagramming/src/SequenceDiagramData.ts +215 -215
- package/apps/diagramming/src/StateMachineDiagramData.ts +64 -64
- package/apps/diagramming/src/UseCaseDiagramData.ts +52 -52
- package/apps/diagramming/src/cloud-data.ts +371 -371
- package/apps/diagramming/src/components/AddNodeView.tsx +252 -252
- package/apps/diagramming/src/createSelecors.tsx +17 -17
- package/apps/diagramming/src/index.scss +12 -12
- package/apps/diagramming/src/main.tsx +463 -463
- package/apps/diagramming/src/node-data.ts +664 -664
- package/apps/diagramming/src/sample-workflow-content.ts +55 -55
- package/apps/diagramming/src/stencil-items.ts +31 -31
- package/apps/diagramming/src/style.css +13 -13
- package/apps/diagramming/src/tabsStore.tsx +152 -152
- package/apps/diagramming/src/vite-env.d.ts +1 -1
- package/apps/diagramming/tsconfig.app.json +23 -23
- package/apps/diagramming/tsconfig.json +21 -21
- package/apps/diagramming/tsconfig.spec.json +28 -28
- package/apps/diagramming/vite.config.ts +34 -34
- package/apps/diagramming/webpack.config.js +13 -13
- package/apps/workflow/.eslintrc.json +18 -18
- package/apps/workflow/group/group-form-hooks/index.ts +3 -3
- package/apps/workflow/group/group-form-hooks/useFormValidation.ts +20 -20
- package/apps/workflow/group/group-form-schema/SettingsTabFormSchema.ts +7 -7
- package/apps/workflow/group/group-form-schema/index.ts +3 -3
- package/apps/workflow/i18n.ts +19 -19
- package/apps/workflow/index.html +16 -16
- package/apps/workflow/locales/en/translation.json +713 -713
- package/apps/workflow/project.json +8 -8
- package/apps/workflow/src/app/app.module.css +1 -1
- package/apps/workflow/src/app/app.spec.tsx +15 -15
- package/apps/workflow/src/app/app.tsx +370 -370
- package/apps/workflow/src/main.tsx +13 -13
- package/apps/workflow/src/styles.css +1 -1
- package/apps/workflow/src/theme/index.ts +546 -546
- package/apps/workflow/tsconfig.app.json +23 -23
- package/apps/workflow/tsconfig.json +21 -21
- package/apps/workflow/tsconfig.spec.json +28 -28
- package/apps/workflow/vite.config.ts +51 -51
- package/nx.json +58 -58
- package/package.json +1 -1
- package/packages/api/.babelrc +12 -12
- package/packages/api/.eslintrc.json +18 -18
- package/packages/api/README.md +7 -7
- package/packages/api/project.json +8 -8
- package/packages/api/src/index.ts +3 -3
- package/packages/api/src/lib/jsonPlaceholderService/endpoints.ts +3 -3
- package/packages/api/src/lib/jsonPlaceholderService/service.ts +13 -13
- package/packages/api/tsconfig.json +17 -17
- package/packages/api/tsconfig.lib.json +24 -24
- package/packages/atoms/.babelrc +12 -12
- package/packages/atoms/.eslintrc.json +18 -18
- package/packages/atoms/README.md +7 -7
- package/packages/atoms/forms/AuthenticationTabForm/authenticationTabForm.json +224 -224
- package/packages/atoms/forms/AuthenticationTabForm/index.tsx +255 -255
- package/packages/atoms/forms/SettingsTabForm/index.tsx +85 -85
- package/packages/atoms/forms/SettingsTabForm/settingTabForm.json +27 -27
- package/packages/atoms/forms/index.ts +4 -4
- package/packages/atoms/project.json +8 -8
- package/packages/atoms/src/index.ts +33 -33
- package/packages/atoms/src/lib/Accordion/Accordion.module.css +7 -7
- package/packages/atoms/src/lib/Accordion/Accordion.spec.tsx +13 -13
- package/packages/atoms/src/lib/Accordion/Accordion.tsx +29 -29
- package/packages/atoms/src/lib/Alert/Alert.module.css +7 -7
- package/packages/atoms/src/lib/Alert/Alert.spec.tsx +10 -10
- package/packages/atoms/src/lib/Alert/Alert.tsx +19 -19
- package/packages/atoms/src/lib/Avatar/Avatar.module.css +7 -7
- package/packages/atoms/src/lib/Avatar/Avatar.spec.tsx +10 -10
- package/packages/atoms/src/lib/Avatar/Avatar.tsx +22 -22
- package/packages/atoms/src/lib/Box/Box.module.css +7 -7
- package/packages/atoms/src/lib/Box/Box.spec.tsx +10 -10
- package/packages/atoms/src/lib/Box/Box.tsx +19 -19
- package/packages/atoms/src/lib/BulkEdit/BulkEdit.module.css +7 -7
- package/packages/atoms/src/lib/BulkEdit/BulkEdit.spec.tsx +10 -10
- package/packages/atoms/src/lib/BulkEdit/BulkEdit.tsx +15 -15
- package/packages/atoms/src/lib/Button/Button.module.css +7 -7
- package/packages/atoms/src/lib/Button/Button.spec.tsx +10 -10
- package/packages/atoms/src/lib/Button/Button.tsx +78 -78
- package/packages/atoms/src/lib/Card/Card.module.css +7 -7
- package/packages/atoms/src/lib/Card/Card.spec.tsx +10 -10
- package/packages/atoms/src/lib/Card/Card.tsx +19 -19
- package/packages/atoms/src/lib/CardContent/CardContent.module.css +7 -7
- package/packages/atoms/src/lib/CardContent/CardContent.spec.tsx +10 -10
- package/packages/atoms/src/lib/CardContent/CardContent.tsx +22 -22
- package/packages/atoms/src/lib/FormTextField/FormTextField.module.css +7 -7
- package/packages/atoms/src/lib/FormTextField/FormTextField.spec.tsx +10 -10
- package/packages/atoms/src/lib/FormTextField/FormTextField.tsx +35 -35
- package/packages/atoms/src/lib/Grid/Grid.module.css +7 -7
- package/packages/atoms/src/lib/Grid/Grid.spec.tsx +10 -10
- package/packages/atoms/src/lib/Grid/Grid.tsx +19 -19
- package/packages/atoms/src/lib/Stack/Stack.module.css +7 -7
- package/packages/atoms/src/lib/Stack/Stack.spec.tsx +10 -10
- package/packages/atoms/src/lib/Stack/Stack.tsx +19 -19
- package/packages/atoms/src/lib/Switch/Switch.module.css +7 -7
- package/packages/atoms/src/lib/Switch/Switch.spec.tsx +10 -10
- package/packages/atoms/src/lib/Switch/Switch.tsx +46 -46
- package/packages/atoms/src/lib/TableView/TableView.module.css +7 -7
- package/packages/atoms/src/lib/TableView/TableView.spec.tsx +10 -10
- package/packages/atoms/src/lib/TableView/TableView.tsx +88 -88
- package/packages/atoms/src/lib/TextField/TextField.module.css +7 -7
- package/packages/atoms/src/lib/TextField/TextField.spec.tsx +10 -10
- package/packages/atoms/src/lib/TextField/TextField.tsx +17 -17
- package/packages/atoms/src/lib/Typography/Typography.module.css +7 -7
- package/packages/atoms/src/lib/Typography/Typography.spec.tsx +10 -10
- package/packages/atoms/src/lib/Typography/Typography.tsx +22 -22
- package/packages/atoms/tsconfig.json +17 -17
- package/packages/atoms/tsconfig.lib.json +30 -30
- package/packages/common/.babelrc +12 -12
- package/packages/common/.eslintrc.json +18 -18
- package/packages/common/README.md +7 -7
- package/packages/common/project.json +8 -8
- package/packages/common/src/index.ts +4 -4
- package/packages/common/src/lib/generateRandomProfilePic.ts +3 -3
- package/packages/common/src/lib/generateValidationSchema.ts +46 -46
- package/packages/common/tsconfig.json +17 -17
- package/packages/common/tsconfig.lib.json +24 -24
- package/packages/contexts/.babelrc +12 -12
- package/packages/contexts/.eslintrc.json +18 -18
- package/packages/contexts/README.md +7 -7
- package/packages/contexts/project.json +8 -8
- package/packages/contexts/src/index.ts +2 -2
- package/packages/contexts/tsconfig.json +17 -17
- package/packages/contexts/tsconfig.lib.json +24 -24
- package/packages/diagrams/.babelrc +12 -12
- package/packages/diagrams/.ctirc +208 -208
- package/packages/diagrams/.eslintrc.json +17 -17
- package/packages/diagrams/CUSTOM_ICONS.md +232 -232
- package/packages/diagrams/GOOGLE_SHEETS_IMPLEMENTATION.md +233 -233
- package/packages/diagrams/NODE_DATA_UPDATE_API.md +430 -430
- package/packages/diagrams/README.md +7 -7
- package/packages/diagrams/UNDO_REDO_API.md +306 -306
- package/packages/diagrams/locales/en/translation.json +713 -713
- package/packages/diagrams/package.json +27 -27
- package/packages/diagrams/pnpm-lock.yaml +2606 -2606
- package/packages/diagrams/project.json +42 -42
- package/packages/diagrams/rollup.config.js +26 -26
- package/packages/diagrams/src/DiagramFlow.tsx +7 -7
- package/packages/diagrams/src/declarations.d.ts +7 -7
- package/packages/diagrams/src/index.ts +8 -1
- package/packages/diagrams/src/index.ts.bak +99 -99
- package/packages/diagrams/src/lib/assets/markers/markers.param.tsx +101 -101
- package/packages/diagrams/src/lib/assets/markers/markers.type.ts +10 -10
- package/packages/diagrams/src/lib/atoms/ActorNode.tsx +123 -123
- package/packages/diagrams/src/lib/atoms/AddParallelColButton.tsx +26 -26
- package/packages/diagrams/src/lib/atoms/BendpointNode.tsx +71 -71
- package/packages/diagrams/src/lib/atoms/CardBlockTypeSelector.tsx +35 -35
- package/packages/diagrams/src/lib/atoms/CardEditableTitle.tsx +76 -76
- package/packages/diagrams/src/lib/atoms/CardMainContent.tsx +19 -19
- package/packages/diagrams/src/lib/atoms/ConnectionPoints.tsx +149 -149
- package/packages/diagrams/src/lib/atoms/ContentAssist.tsx +341 -341
- package/packages/diagrams/src/lib/atoms/DiagramControls.tsx +56 -56
- package/packages/diagrams/src/lib/atoms/ExpressionInput.tsx +437 -437
- package/packages/diagrams/src/lib/atoms/FloatingConnectionLine.tsx +73 -73
- package/packages/diagrams/src/lib/atoms/LazyIcon.tsx +31 -31
- package/packages/diagrams/src/lib/atoms/MarkerSelector.tsx +106 -106
- package/packages/diagrams/src/lib/atoms/MultiSelectInput.tsx +87 -87
- package/packages/diagrams/src/lib/atoms/ParameterInput.tsx +199 -199
- package/packages/diagrams/src/lib/atoms/PropertyInput.tsx +114 -114
- package/packages/diagrams/src/lib/atoms/StyledBox.tsx +69 -69
- package/packages/diagrams/src/lib/atoms/ValidationError.tsx +37 -37
- package/packages/diagrams/src/lib/atoms/ValidationMessage.tsx +63 -63
- package/packages/diagrams/src/lib/components/AiButton.tsx +52 -52
- package/packages/diagrams/src/lib/components/ControlEdgeList.tsx +303 -303
- package/packages/diagrams/src/lib/components/CreateFunctionModal.tsx +264 -264
- package/packages/diagrams/src/lib/components/CustomCodeModal.tsx +287 -287
- package/packages/diagrams/src/lib/components/DiagramPanel.tsx +331 -331
- package/packages/diagrams/src/lib/components/FunctionModalTooltip.tsx +30 -30
- package/packages/diagrams/src/lib/components/GraphQLCustomCodeModal.tsx +210 -210
- package/packages/diagrams/src/lib/components/Header.tsx +143 -143
- package/packages/diagrams/src/lib/components/MiniMapCommon.tsx +24 -24
- package/packages/diagrams/src/lib/components/ResizeIcon.tsx +81 -81
- package/packages/diagrams/src/lib/components/SideBar.tsx +40 -40
- package/packages/diagrams/src/lib/components/automation/AISuggestionsModal.tsx +269 -269
- package/packages/diagrams/src/lib/components/automation/AISuggestionsPanel.tsx +28 -175
- package/packages/diagrams/src/lib/components/automation/AutomationApiNode.tsx +1 -1
- package/packages/diagrams/src/lib/components/automation/AutomationDecisionNode.tsx +94 -0
- package/packages/diagrams/src/lib/components/automation/AutomationEndNode.tsx +1 -1
- package/packages/diagrams/src/lib/components/automation/AutomationExecutionPanel.tsx +439 -439
- package/packages/diagrams/src/lib/components/automation/AutomationFormattingNode.tsx +1 -1
- package/packages/diagrams/src/lib/components/automation/AutomationInteractionNode.tsx +693 -693
- package/packages/diagrams/src/lib/components/automation/AutomationMonitoringNode.tsx +399 -399
- package/packages/diagrams/src/lib/components/automation/AutomationNavigationNode.tsx +1 -1
- package/packages/diagrams/src/lib/components/automation/AutomationNodeCard.tsx +414 -0
- package/packages/diagrams/src/lib/components/automation/AutomationSlackNode.tsx +694 -694
- package/packages/diagrams/src/lib/components/automation/AutomationSmsNode.tsx +62 -0
- package/packages/diagrams/src/lib/components/automation/AutomationStartNode.tsx +1 -1
- package/packages/diagrams/src/lib/components/automation/AutomationTelegramNode.tsx +664 -664
- package/packages/diagrams/src/lib/components/automation/AutomationVoiceCallNode.tsx +65 -0
- package/packages/diagrams/src/lib/components/automation/AutomationWorkflowNode.tsx +85 -0
- package/packages/diagrams/src/lib/components/automation/NodeAIAssistantPopup.tsx +504 -504
- package/packages/diagrams/src/lib/components/automation/index.ts +29 -19
- package/packages/diagrams/src/lib/components/automation/statusColors.ts +124 -124
- package/packages/diagrams/src/lib/contexts/CardDataProvider.tsx +111 -111
- package/packages/diagrams/src/lib/contexts/DiagramProvider.tsx +392 -391
- package/packages/diagrams/src/lib/contexts/diagramStoreTypes.tsx +134 -134
- package/packages/diagrams/src/lib/contexts/onConnect.ts +39 -39
- package/packages/diagrams/src/lib/contexts/onDragStart.ts +45 -45
- package/packages/diagrams/src/lib/contexts/onNodeDragEnd.ts +179 -179
- package/packages/diagrams/src/lib/contexts/onNodesChange.ts +406 -406
- package/packages/diagrams/src/lib/contexts/onReconnect.ts +59 -59
- package/packages/diagrams/src/lib/contexts/onWorkflowNodeDelete.ts +65 -65
- package/packages/diagrams/src/lib/contexts/setContentHeight.ts +14 -14
- package/packages/diagrams/src/lib/contexts/setDiagramType.ts +10 -10
- package/packages/diagrams/src/lib/contexts/setEdgeShapeType.ts +7 -7
- package/packages/diagrams/src/lib/contexts/setEdges.ts +9 -9
- package/packages/diagrams/src/lib/contexts/setLayoutDirection.ts +9 -9
- package/packages/diagrams/src/lib/contexts/setNodeSetting.ts +17 -17
- package/packages/diagrams/src/lib/contexts/setNodes.ts +10 -10
- package/packages/diagrams/src/lib/contexts/setPannable.ts +7 -7
- package/packages/diagrams/src/lib/contexts/setSelectedEdge.ts +7 -7
- package/packages/diagrams/src/lib/contexts/setSelectedNode.ts +7 -7
- package/packages/diagrams/src/lib/contexts/undo.ts +163 -163
- package/packages/diagrams/src/lib/contexts/updateNodeSetting.ts +17 -17
- package/packages/diagrams/src/lib/examples/TwilioWhatsAppConfigExample.ts +128 -128
- package/packages/diagrams/src/lib/externals.ts +4 -4
- package/packages/diagrams/src/lib/hooks/customUseReactFlow.tsx +90 -90
- package/packages/diagrams/src/lib/hooks/updateNodes.ts +45 -45
- package/packages/diagrams/src/lib/hooks/useAddChildButton.tsx +61 -61
- package/packages/diagrams/src/lib/hooks/useAddSwitchCase.ts +75 -75
- package/packages/diagrams/src/lib/hooks/useAutoRegisterFunctions.ts +135 -135
- package/packages/diagrams/src/lib/hooks/useAutoRegisterVariables.ts +286 -286
- package/packages/diagrams/src/lib/hooks/useDeleteNodeByEvent.ts +64 -64
- package/packages/diagrams/src/lib/hooks/useDragCallbacks.tsx +122 -122
- package/packages/diagrams/src/lib/hooks/useFormValidation.ts +349 -349
- package/packages/diagrams/src/lib/hooks/useFunctionFormCallbacks.ts +136 -136
- package/packages/diagrams/src/lib/hooks/useIsSelectedNode.ts +11 -11
- package/packages/diagrams/src/lib/hooks/useModalControls.ts +13 -13
- package/packages/diagrams/src/lib/hooks/useNodeDragHandlers.ts +43 -43
- package/packages/diagrams/src/lib/hooks/useNodeSelection.ts +55 -55
- package/packages/diagrams/src/lib/hooks/useRenderDividers.tsx +19 -19
- package/packages/diagrams/src/lib/hooks/useRenderPins.tsx +74 -74
- package/packages/diagrams/src/lib/hooks/useResizeObserver.ts +21 -21
- package/packages/diagrams/src/lib/hooks/useTreeChildNode.ts +536 -536
- package/packages/diagrams/src/lib/i18n.ts +42 -42
- package/packages/diagrams/src/lib/icons/icons.tsx +324 -0
- package/packages/diagrams/src/lib/icons/index.ts +29 -0
- package/packages/diagrams/src/lib/icons/types.ts +7 -0
- package/packages/diagrams/src/lib/molecules/AddingBlock.tsx +147 -147
- package/packages/diagrams/src/lib/molecules/AvailableVariablesDisplay.tsx +57 -57
- package/packages/diagrams/src/lib/molecules/Block.tsx +143 -143
- package/packages/diagrams/src/lib/molecules/BlockProvider.tsx +28 -28
- package/packages/diagrams/src/lib/molecules/BlockWrapper.tsx +14 -14
- package/packages/diagrams/src/lib/molecules/ConditionRule.tsx +131 -131
- package/packages/diagrams/src/lib/molecules/DraggablePane.tsx +198 -198
- package/packages/diagrams/src/lib/molecules/EntityNodeBlocks.tsx +66 -66
- package/packages/diagrams/src/lib/molecules/SideHandles.tsx +215 -215
- package/packages/diagrams/src/lib/molecules/StencilItem.tsx +85 -85
- package/packages/diagrams/src/lib/molecules/WorkflowNodeActionButtons.tsx +62 -62
- package/packages/diagrams/src/lib/molecules/animated-add-button.tsx +83 -83
- package/packages/diagrams/src/lib/molecules/json-viewer.tsx +107 -107
- package/packages/diagrams/src/lib/organisms/AddNodeView.tsx +102 -102
- package/packages/diagrams/src/lib/organisms/Card/EntityNode.tsx +259 -259
- package/packages/diagrams/src/lib/organisms/Card/card.params.ts +29 -29
- package/packages/diagrams/src/lib/organisms/Card/card.types.ts +5 -5
- package/packages/diagrams/src/lib/organisms/CodeModal.tsx +105 -105
- package/packages/diagrams/src/lib/organisms/ConditionRuleGroup.tsx +138 -138
- package/packages/diagrams/src/lib/organisms/CustomEdge/EdgeMarkers.tsx +51 -51
- package/packages/diagrams/src/lib/organisms/CustomEdge/custom-edge-generator.tsx +135 -135
- package/packages/diagrams/src/lib/organisms/CustomEdge/custom-edge.params.ts +6 -6
- package/packages/diagrams/src/lib/organisms/CustomEdge/custom-edge.type.ts +15 -15
- package/packages/diagrams/src/lib/organisms/CustomEdge/useCreateBendPoint.tsx +121 -121
- package/packages/diagrams/src/lib/organisms/CustomEdge/useEdgeModal.ts +37 -37
- package/packages/diagrams/src/lib/organisms/CustomEdge/useEdgePath.tsx +99 -99
- package/packages/diagrams/src/lib/organisms/DownloadPanel.tsx +345 -345
- package/packages/diagrams/src/lib/organisms/EdgeModal.tsx +243 -243
- package/packages/diagrams/src/lib/organisms/HistoryPane.tsx +118 -118
- package/packages/diagrams/src/lib/organisms/NodeContextMenu.tsx +259 -259
- package/packages/diagrams/src/lib/organisms/PropertiesPane.tsx +276 -276
- package/packages/diagrams/src/lib/organisms/SmartDynamicForm.tsx +226 -226
- package/packages/diagrams/src/lib/organisms/Stencil.tsx +60 -60
- package/packages/diagrams/src/lib/organisms/UseDiagramStore.tsx +4 -4
- package/packages/diagrams/src/lib/organisms/WorkFlowNode/NodeActionButtons.tsx +45 -45
- package/packages/diagrams/src/lib/organisms/WorkFlowNode/NodeTypeDisplay.tsx +114 -114
- package/packages/diagrams/src/lib/organisms/WorkFlowNode/WorkflowNodeIcons.tsx +21 -23
- package/packages/diagrams/src/lib/organisms/WorkflowNode.tsx +484 -484
- package/packages/diagrams/src/lib/services/GoogleSheetsService.ts +961 -961
- package/packages/diagrams/src/lib/services/SlackService.ts +134 -134
- package/packages/diagrams/src/lib/services/TwilioWhatsAppService.ts +273 -273
- package/packages/diagrams/src/lib/styles.css +55 -55
- package/packages/diagrams/src/lib/templates/PageLinks.tsx +13 -13
- package/packages/diagrams/src/lib/templates/arch/ArchDiagram.tsx +793 -793
- package/packages/diagrams/src/lib/templates/arch/components/EdgeDialog.tsx +82 -82
- package/packages/diagrams/src/lib/templates/arch/components/EdgeSettings.tsx +81 -81
- package/packages/diagrams/src/lib/templates/arch/components/GroupControls.tsx +59 -59
- package/packages/diagrams/src/lib/templates/arch/components/GroupSizeDialog.tsx +81 -81
- package/packages/diagrams/src/lib/templates/arch/components/NodeDialog.tsx +214 -214
- package/packages/diagrams/src/lib/templates/arch/components/nodeTypes.ts +91 -91
- package/packages/diagrams/src/lib/templates/arch/controls/ArchDiagramControls.tsx +349 -349
- package/packages/diagrams/src/lib/templates/arch/data/templatee-data.ts +212 -212
- package/packages/diagrams/src/lib/templates/cloud-arch/components/CloudArchitectureDiagram.tsx +3912 -3912
- package/packages/diagrams/src/lib/templates/cloud-arch/components/FormatConverter.tsx +809 -809
- package/packages/diagrams/src/lib/templates/cloud-arch/components/FragmentImporter.tsx +276 -276
- package/packages/diagrams/src/lib/templates/cloud-arch/components/PropertiesPanel.tsx +1063 -1063
- package/packages/diagrams/src/lib/templates/cloud-arch/components/ServiceIconPicker.tsx +138 -138
- package/packages/diagrams/src/lib/templates/cloud-arch/components/SettingsSidebar.tsx +656 -656
- package/packages/diagrams/src/lib/templates/cloud-arch/components/SubnetSelector.tsx +468 -468
- package/packages/diagrams/src/lib/templates/cloud-arch/components/nodes/ServiceNode.tsx +310 -310
- package/packages/diagrams/src/lib/templates/cloud-arch/components/nodes/SubnetNode.tsx +475 -475
- package/packages/diagrams/src/lib/templates/cloud-arch/components/nodes/UsersNode.tsx +277 -277
- package/packages/diagrams/src/lib/templates/cloud-arch/data/diagramManager.ts +364 -364
- package/packages/diagrams/src/lib/templates/cloud-arch/data/types.ts +183 -183
- package/packages/diagrams/src/lib/templates/cloud-arch/integration/diagramValidator.ts +379 -379
- package/packages/diagrams/src/lib/templates/cloud-arch/messages/errorMessages.json +95 -95
- package/packages/diagrams/src/lib/templates/cloud-arch/types/localization.ts +368 -368
- package/packages/diagrams/src/lib/templates/cloud-arch/types/validation.ts +72 -72
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/aws-icons.ts +557 -557
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/awsValidation.ts +446 -446
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/azure-icons.ts +802 -802
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/azureValidation.ts +495 -495
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/cloudValidation.ts +929 -929
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/errorMessages.ts +283 -283
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/gcp-icons.ts +186 -186
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/gcpValidation.ts +312 -312
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/genericValidation.ts +689 -689
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/iconMapping.ts +383 -383
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/idGenerator.ts +220 -220
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/localizationManager.ts +300 -300
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/restrictionEngine.ts +550 -550
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/restrictionValidator.ts +400 -400
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/serviceIcons.tsx +129 -129
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/serviceMapping.ts +330 -330
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/translations.ts +54 -54
- package/packages/diagrams/src/lib/templates/cloud-arch/utils/validationExtractor.ts +342 -342
- package/packages/diagrams/src/lib/templates/collaborationDiagram/CollaborationDiagram.tsx +15 -15
- package/packages/diagrams/src/lib/templates/collaborationDiagram/components/AddCollabEdgeDialog.tsx +181 -181
- package/packages/diagrams/src/lib/templates/collaborationDiagram/components/CollabLayout.ts +182 -182
- package/packages/diagrams/src/lib/templates/collaborationDiagram/components/CollabObjectNodeSettings.tsx +86 -86
- package/packages/diagrams/src/lib/templates/collaborationDiagram/components/CollaborationDiagramFlow.tsx +731 -731
- package/packages/diagrams/src/lib/templates/collaborationDiagram/components/DraggableEdgeLabel.tsx +123 -123
- package/packages/diagrams/src/lib/templates/collaborationDiagram/controls/CollaborationControls.tsx +131 -131
- package/packages/diagrams/src/lib/templates/collaborationDiagram/nodes/CollabEdge.tsx +170 -170
- package/packages/diagrams/src/lib/templates/collaborationDiagram/nodes/CollabObjectNode.tsx +178 -178
- package/packages/diagrams/src/lib/templates/home.style.css +16 -16
- package/packages/diagrams/src/lib/templates/node-forms/ApiForm.tsx +416 -416
- package/packages/diagrams/src/lib/templates/node-forms/CallForm.tsx +370 -370
- package/packages/diagrams/src/lib/templates/node-forms/ForLoopNode.tsx +313 -313
- package/packages/diagrams/src/lib/templates/node-forms/FunctionForm.tsx +211 -211
- package/packages/diagrams/src/lib/templates/node-forms/GraphQLForm.tsx +679 -679
- package/packages/diagrams/src/lib/templates/node-forms/IfNodeForm.tsx +97 -97
- package/packages/diagrams/src/lib/templates/node-forms/LetNodeForm.tsx +533 -533
- package/packages/diagrams/src/lib/templates/node-forms/LoopNode.tsx +149 -149
- package/packages/diagrams/src/lib/templates/node-forms/NodeForm.tsx +383 -383
- package/packages/diagrams/src/lib/templates/node-forms/ReturnNodeForm.tsx +96 -96
- package/packages/diagrams/src/lib/templates/node-forms/SetNodeForm.tsx +141 -141
- package/packages/diagrams/src/lib/templates/node-forms/SwitchNodeForm.tsx +249 -249
- package/packages/diagrams/src/lib/templates/node-forms/TryCatchForm.tsx +167 -167
- package/packages/diagrams/src/lib/templates/nodeFormSchema.json +84 -84
- package/packages/diagrams/src/lib/templates/sequence/SequenceDiagram.tsx +22 -22
- package/packages/diagrams/src/lib/templates/sequence/components/ActivationBarNode.tsx +33 -33
- package/packages/diagrams/src/lib/templates/sequence/components/AddMessageDialog.tsx +302 -302
- package/packages/diagrams/src/lib/templates/sequence/components/CombinedFragmentNode.tsx +65 -65
- package/packages/diagrams/src/lib/templates/sequence/components/EntitySettings.tsx +559 -559
- package/packages/diagrams/src/lib/templates/sequence/components/FragmentSettings.tsx +116 -116
- package/packages/diagrams/src/lib/templates/sequence/components/SequenceComponents.tsx +14 -14
- package/packages/diagrams/src/lib/templates/sequence/components/SequenceDiagramFlow.tsx +1361 -1361
- package/packages/diagrams/src/lib/templates/sequence/components/SequenceEntityNode.tsx +394 -394
- package/packages/diagrams/src/lib/templates/sequence/components/SequenceMessageEdge.tsx +272 -272
- package/packages/diagrams/src/lib/templates/sequence/components/SimpleEntitySettings.tsx +89 -89
- package/packages/diagrams/src/lib/templates/sequence/controls/DiagramControls.tsx +707 -707
- package/packages/diagrams/src/lib/templates/sequence/data/template-data.ts +635 -635
- package/packages/diagrams/src/lib/templates/stateMachine/StateMachineDiagram.tsx +66 -66
- package/packages/diagrams/src/lib/templates/stateMachine/components/CompositeStateNodeSettings.tsx +638 -638
- package/packages/diagrams/src/lib/templates/stateMachine/components/CustomEdge.tsx +220 -220
- package/packages/diagrams/src/lib/templates/stateMachine/components/EdgeSettings.tsx +193 -193
- package/packages/diagrams/src/lib/templates/stateMachine/components/SelfConnectingEdge.tsx +41 -41
- package/packages/diagrams/src/lib/templates/stateMachine/components/StateMachineComponents.tsx +49 -49
- package/packages/diagrams/src/lib/templates/stateMachine/components/StateMachineDiagramFlow.tsx +1238 -1238
- package/packages/diagrams/src/lib/templates/stateMachine/components/StateMachineLayout.ts +350 -350
- package/packages/diagrams/src/lib/templates/stateMachine/components/StateNodeSettings.tsx +188 -188
- package/packages/diagrams/src/lib/templates/stateMachine/components/useSelfTransition.ts +114 -114
- package/packages/diagrams/src/lib/templates/stateMachine/controls/StateDiagramControls.tsx +488 -488
- package/packages/diagrams/src/lib/templates/stateMachine/data/template-data.ts +4 -4
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/ChoicePointNode.tsx +54 -54
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/CompositeStateNode.tsx +225 -225
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/EntryPointNode.tsx +31 -31
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/ExitPointNode.tsx +44 -44
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/FinalStateNode.tsx +41 -41
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/ForkJoinNode.tsx +53 -53
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/HistoryStateNode.tsx +36 -36
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/InitialStateNode.tsx +29 -29
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/JunctionPointNode.tsx +33 -33
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/PinPointNode.tsx +111 -111
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/StateNode.tsx +124 -124
- package/packages/diagrams/src/lib/templates/stateMachine/nodes/bendPoint.tsx +71 -71
- package/packages/diagrams/src/lib/templates/systemFlow/SystemFlowDiagram.tsx +67 -67
- package/packages/diagrams/src/lib/templates/systemFlow/components/EdgeSettings.tsx +330 -330
- package/packages/diagrams/src/lib/templates/systemFlow/components/FloatingEdge.tsx +219 -219
- package/packages/diagrams/src/lib/templates/systemFlow/components/SystemFlowComponents.tsx +28 -28
- package/packages/diagrams/src/lib/templates/systemFlow/components/SystemFlowDiagramFlow.tsx +1179 -1179
- package/packages/diagrams/src/lib/templates/systemFlow/components/SystemFlowNodeSettings.tsx +151 -151
- package/packages/diagrams/src/lib/templates/systemFlow/controls/SystemFlowControls.tsx +435 -435
- package/packages/diagrams/src/lib/templates/systemFlow/data/template-data.ts +308 -308
- package/packages/diagrams/src/lib/templates/systemFlow/demo.tsx +91 -91
- package/packages/diagrams/src/lib/templates/systemFlow/index.ts +5 -5
- package/packages/diagrams/src/lib/templates/systemFlow/nodes/BendpointNode.tsx +80 -80
- package/packages/diagrams/src/lib/templates/systemFlow/nodes/SystemNode.tsx +92 -92
- package/packages/diagrams/src/lib/templates/systemFlow/nodes/TreeSystemNode.tsx +755 -755
- package/packages/diagrams/src/lib/templates/useCaseDiagram/UseCaseDiagram.tsx +16 -16
- package/packages/diagrams/src/lib/templates/useCaseDiagram/components/ActorNodeSettings.tsx +103 -103
- package/packages/diagrams/src/lib/templates/useCaseDiagram/components/AddRelationshipDialog.tsx +186 -186
- package/packages/diagrams/src/lib/templates/useCaseDiagram/components/PackageNodeSettings.tsx +205 -205
- package/packages/diagrams/src/lib/templates/useCaseDiagram/components/UseCaseDiagramFlow.tsx +637 -637
- package/packages/diagrams/src/lib/templates/useCaseDiagram/components/UseCaseNodeSettings.tsx +120 -120
- package/packages/diagrams/src/lib/templates/useCaseDiagram/controls/UseCaseControls.tsx +289 -289
- package/packages/diagrams/src/lib/templates/useCaseDiagram/nodes/PackageNode.tsx +83 -83
- package/packages/diagrams/src/lib/templates/useCaseDiagram/nodes/UseCaseEdge.tsx +115 -115
- package/packages/diagrams/src/lib/templates/useCaseDiagram/nodes/UseCaseNode.tsx +230 -230
- package/packages/diagrams/src/lib/templates/validationSchema.json +277 -277
- package/packages/diagrams/src/lib/theme.ts +439 -439
- package/packages/diagrams/src/lib/types/FunctionSignature.ts +11 -11
- package/packages/diagrams/src/lib/types/SmartDynamicFormField.ts +37 -37
- package/packages/diagrams/src/lib/types/automation-node-data-types.ts +45 -131
- package/packages/diagrams/src/lib/types/available-variables.ts +18 -18
- package/packages/diagrams/src/lib/types/card-node.ts +68 -68
- package/packages/diagrams/src/lib/types/collaboration-types.ts +114 -114
- package/packages/diagrams/src/lib/types/colors.ts +25 -25
- package/packages/diagrams/src/lib/types/condition-builder.ts +18 -18
- package/packages/diagrams/src/lib/types/diagram-types.ts +14 -14
- package/packages/diagrams/src/lib/types/edge-types.ts +39 -39
- package/packages/diagrams/src/lib/types/function-execution.ts +35 -35
- package/packages/diagrams/src/lib/types/hooks.types.ts +6 -6
- package/packages/diagrams/src/lib/types/ndoe-form-types.ts +139 -139
- package/packages/diagrams/src/lib/types/node-types.ts +13 -23
- package/packages/diagrams/src/lib/types/sequence-types.ts +178 -178
- package/packages/diagrams/src/lib/types/shared-node-types.ts +21 -21
- package/packages/diagrams/src/lib/types/state-machine-types.ts +225 -225
- package/packages/diagrams/src/lib/types/stencil-item.ts +7 -7
- package/packages/diagrams/src/lib/types/structures.ts +80 -80
- package/packages/diagrams/src/lib/types/system-flow-types.ts +129 -129
- package/packages/diagrams/src/lib/types/usecase-types.ts +84 -84
- package/packages/diagrams/src/lib/types/validation-types.ts +134 -134
- package/packages/diagrams/src/lib/types/workflow-content-dynamic-form-type.ts +23 -23
- package/packages/diagrams/src/lib/types/workflow-node-data-types.ts +172 -172
- package/packages/diagrams/src/lib/utils/AutomationExecutionEngine.ts +658 -1179
- package/packages/diagrams/src/lib/utils/add-new-block.ts +34 -34
- package/packages/diagrams/src/lib/utils/add-new-node.ts +52 -52
- package/packages/diagrams/src/lib/utils/addToHistory.ts +15 -15
- package/packages/diagrams/src/lib/utils/automation-flow-processor.ts +556 -619
- package/packages/diagrams/src/lib/utils/closestPoint.ts +45 -45
- package/packages/diagrams/src/lib/utils/color-options.tsx +26 -26
- package/packages/diagrams/src/lib/utils/compress-img.ts +59 -59
- package/packages/diagrams/src/lib/utils/configLoader.ts +329 -329
- package/packages/diagrams/src/lib/utils/constant-lengths.ts +8 -8
- package/packages/diagrams/src/lib/utils/create-updated.tsx +40 -40
- package/packages/diagrams/src/lib/utils/createHistoryChange.ts +3 -3
- package/packages/diagrams/src/lib/utils/dividerUtils.tsx +59 -59
- package/packages/diagrams/src/lib/utils/edge-hooks.ts +53 -53
- package/packages/diagrams/src/lib/utils/elkLayout.ts +297 -297
- package/packages/diagrams/src/lib/utils/event-hooks.ts +69 -69
- package/packages/diagrams/src/lib/utils/event-store.ts +58 -58
- package/packages/diagrams/src/lib/utils/flow-node-hooks.ts +28 -28
- package/packages/diagrams/src/lib/utils/flow-to-js.ts +1465 -1465
- package/packages/diagrams/src/lib/utils/functionGenerator.ts +38 -38
- package/packages/diagrams/src/lib/utils/generateEdgesFromNodeOrder.ts +113 -113
- package/packages/diagrams/src/lib/utils/helpers.types.ts +10 -10
- package/packages/diagrams/src/lib/utils/highlightText.tsx +93 -93
- package/packages/diagrams/src/lib/utils/iconMapper.tsx +76 -76
- package/packages/diagrams/src/lib/utils/logger.ts +5 -5
- package/packages/diagrams/src/lib/utils/model-hooks.ts +129 -129
- package/packages/diagrams/src/lib/utils/node-hooks.ts +78 -78
- package/packages/diagrams/src/lib/utils/nodeAIAssistantConfig.ts +54 -54
- package/packages/diagrams/src/lib/utils/nodeOrderByEdges.ts +437 -437
- package/packages/diagrams/src/lib/utils/nodeutils.ts +242 -242
- package/packages/diagrams/src/lib/utils/object.ts +13 -13
- package/packages/diagrams/src/lib/utils/useDebounce.ts +19 -19
- package/packages/diagrams/src/lib/utils/utilities.ts +105 -105
- package/packages/diagrams/src/lib/utils/validationEngine.ts +610 -610
- package/packages/diagrams/src/lib/utils/vhToPixels.ts +9 -9
- package/packages/diagrams/tsconfig.json +21 -21
- package/packages/diagrams/tsconfig.lib.json +26 -25
- package/packages/diagrams/webpack.config.js +17 -17
- package/packages/interfaces/.babelrc +12 -12
- package/packages/interfaces/.eslintrc.json +18 -18
- package/packages/interfaces/README.md +7 -7
- package/packages/interfaces/project.json +8 -8
- package/packages/interfaces/src/index.ts +21 -21
- package/packages/interfaces/src/lib/Button.tsx +1 -1
- package/packages/interfaces/src/lib/DataGrid.ts +14 -14
- package/packages/interfaces/src/lib/StyledBox.tsx +1 -1
- package/packages/interfaces/src/lib/ToolbarItem.ts +7 -7
- package/packages/interfaces/src/lib/UserCard.ts +8 -8
- package/packages/interfaces/src/lib/yup.ts +3 -3
- package/packages/interfaces/tsconfig.json +17 -17
- package/packages/interfaces/tsconfig.lib.json +24 -24
- package/packages/molecules/.babelrc +12 -12
- package/packages/molecules/.eslintrc.json +18 -18
- package/packages/molecules/README.md +7 -7
- package/packages/molecules/project.json +8 -8
- package/packages/molecules/src/index.ts +47 -41
- package/packages/molecules/src/lib/ActionTextField/ActionTextField.module.css +7 -7
- package/packages/molecules/src/lib/ActionTextField/ActionTextField.spec.tsx +10 -10
- package/packages/molecules/src/lib/ActionTextField/ActionTextField.tsx +33 -33
- package/packages/molecules/src/lib/ClosableButton/CloseableButton.module.css +7 -7
- package/packages/molecules/src/lib/ClosableButton/CloseableButton.spec.tsx +11 -11
- package/packages/molecules/src/lib/ClosableButton/CloseableButton.tsx +69 -69
- package/packages/molecules/src/lib/EditorTab/EditorTab.module.css +7 -7
- package/packages/molecules/src/lib/EditorTab/EditorTab.spec.tsx +10 -10
- package/packages/molecules/src/lib/EditorTab/EditorTab.tsx +42 -42
- package/packages/molecules/src/lib/EditorTab/TabPanel.tsx +25 -25
- package/packages/molecules/src/lib/ParamsActionField/ParamsActionField.module.css +7 -7
- package/packages/molecules/src/lib/ParamsActionField/ParamsActionField.spec.tsx +10 -10
- package/packages/molecules/src/lib/ParamsActionField/ParamsActionField.tsx +24 -24
- package/packages/molecules/src/lib/SvgIcons/icons.tsx +323 -291
- package/packages/molecules/src/lib/SvgIcons/index.ts +31 -25
- package/packages/molecules/src/lib/SvgIcons/types.ts +7 -7
- package/packages/molecules/src/lib/TableWithInlineView/TableWithInlineView.module.css +7 -7
- package/packages/molecules/src/lib/TableWithInlineView/TableWithInlineView.spec.tsx +10 -10
- package/packages/molecules/src/lib/TableWithInlineView/TableWithInlineView.tsx +47 -47
- package/packages/molecules/src/lib/UserCard/UserCard.module.css +7 -7
- package/packages/molecules/src/lib/UserCard/UserCard.spec.tsx +11 -11
- package/packages/molecules/src/lib/UserCard/UserCard.tsx +22 -22
- package/packages/molecules/src/lib/VerbSelection/HTTPVerbSelection.module.css +7 -7
- package/packages/molecules/src/lib/VerbSelection/HTTPVerbSelection.spec.tsx +10 -10
- package/packages/molecules/src/lib/VerbSelection/HTTPVerbSelection.tsx +72 -72
- package/packages/molecules/tsconfig.json +17 -17
- package/packages/molecules/tsconfig.lib.json +30 -30
- package/packages/organisms/.babelrc +12 -12
- package/packages/organisms/.eslintrc.json +18 -18
- package/packages/organisms/README.md +7 -7
- package/packages/organisms/project.json +8 -8
- package/packages/organisms/src/index.ts +4 -4
- package/packages/organisms/src/lib/EditorToolbar/EditorToolbar.module.css +7 -7
- package/packages/organisms/src/lib/EditorToolbar/EditorToolbar.spec.tsx +10 -10
- package/packages/organisms/src/lib/EditorToolbar/EditorToolbar.tsx +117 -117
- package/packages/organisms/src/lib/EditorToolbar/SortableItem.tsx +51 -51
- package/packages/organisms/src/lib/UserList/UserList.module.css +7 -7
- package/packages/organisms/src/lib/UserList/UserList.spec.tsx +11 -11
- package/packages/organisms/src/lib/UserList/UserList.tsx +48 -48
- package/packages/organisms/src/lib/UserList/store.ts +49 -49
- package/packages/organisms/tsconfig.json +17 -17
- package/packages/organisms/tsconfig.lib.json +24 -24
- package/packages/zustand/.babelrc +12 -12
- package/packages/zustand/.eslintrc.json +18 -18
- package/packages/zustand/README.md +7 -7
- package/packages/zustand/project.json +8 -8
- package/packages/zustand/src/index.ts +4 -4
- package/packages/zustand/tsconfig.json +17 -17
- package/packages/zustand/tsconfig.lib.json +24 -24
- package/tsconfig.base.json +29 -29
- package/packages/diagrams/src/lib/components/automation/AutomationAISuggestionNode.tsx +0 -304
- package/packages/diagrams/src/lib/components/automation/AutomationEmailNode.tsx +0 -773
- package/packages/diagrams/src/lib/components/automation/AutomationGoogleServicesNode.tsx +0 -779
- package/packages/diagrams/src/lib/components/automation/AutomationNoteNode.tsx +0 -422
- package/packages/diagrams/src/lib/components/automation/AutomationSheetsNode.tsx +0 -1135
- package/packages/diagrams/src/lib/examples/GoogleSheetsConfigurationExamples.ts +0 -306
|
@@ -1,284 +1,284 @@
|
|
|
1
|
-
// Define error message types
|
|
2
|
-
export interface ErrorMessage {
|
|
3
|
-
key: string;
|
|
4
|
-
message: string;
|
|
5
|
-
description?: string;
|
|
6
|
-
suggestions?: string[];
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
// AWS Error Messages
|
|
10
|
-
export const AWS_ERROR_MESSAGES: Record<string, ErrorMessage> = {
|
|
11
|
-
// Resource Type Validation
|
|
12
|
-
INVALID_RESOURCE_TYPE: {
|
|
13
|
-
key: 'invalid_resource_type',
|
|
14
|
-
message: 'Invalid AWS resource type: "{service}". This service might not be supported or might have a different name.',
|
|
15
|
-
description: 'Resource type validation failed',
|
|
16
|
-
suggestions: [
|
|
17
|
-
'Check if the service name is correct',
|
|
18
|
-
'Verify the service is supported in the current version'
|
|
19
|
-
]
|
|
20
|
-
},
|
|
21
|
-
|
|
22
|
-
// Container Validation Errors
|
|
23
|
-
MUST_BE_IN_ACCOUNT: {
|
|
24
|
-
key: 'must_be_in_account',
|
|
25
|
-
message: '{resourceType} must be placed within an AWS Account',
|
|
26
|
-
description: 'Resource requires AWS Account container',
|
|
27
|
-
suggestions: [
|
|
28
|
-
'Create an AWS Account container first',
|
|
29
|
-
'Place the resource inside the AWS Account'
|
|
30
|
-
]
|
|
31
|
-
},
|
|
32
|
-
|
|
33
|
-
INVALID_PARENT_CONTAINER: {
|
|
34
|
-
key: 'invalid_parent_container',
|
|
35
|
-
message: 'Invalid parent container type: {parentType}',
|
|
36
|
-
description: 'Container type validation failed',
|
|
37
|
-
suggestions: [
|
|
38
|
-
'Check if the parent container is valid',
|
|
39
|
-
'Verify the container hierarchy'
|
|
40
|
-
]
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
CONTAINER_VALIDATION: {
|
|
44
|
-
key: 'container_validation',
|
|
45
|
-
message: '{resourceType} cannot be placed in {parentType}. {description}. {rules}. {suggestion}',
|
|
46
|
-
description: 'Container placement validation failed',
|
|
47
|
-
suggestions: [
|
|
48
|
-
'Review the placement rules for this resource',
|
|
49
|
-
'Place the resource in the correct container'
|
|
50
|
-
]
|
|
51
|
-
},
|
|
52
|
-
|
|
53
|
-
// Specific Service Placement Rules
|
|
54
|
-
EC2_MUST_BE_IN_SUBNET: {
|
|
55
|
-
key: 'ec2_must_be_in_subnet',
|
|
56
|
-
message: 'EC2 instances must be placed within a Subnet',
|
|
57
|
-
description: 'EC2 placement validation failed',
|
|
58
|
-
suggestions: [
|
|
59
|
-
'Create a Subnet within a VPC',
|
|
60
|
-
'Place the EC2 instance in the Subnet'
|
|
61
|
-
]
|
|
62
|
-
},
|
|
63
|
-
|
|
64
|
-
DATABASE_MUST_BE_IN_SUBNET: {
|
|
65
|
-
key: 'database_must_be_in_subnet',
|
|
66
|
-
message: 'Database services (RDS, Aurora) must be placed within a Subnet',
|
|
67
|
-
description: 'Database placement validation failed',
|
|
68
|
-
suggestions: [
|
|
69
|
-
'Create a Subnet within a VPC',
|
|
70
|
-
'Place the database in the Subnet'
|
|
71
|
-
]
|
|
72
|
-
},
|
|
73
|
-
|
|
74
|
-
STORAGE_MUST_BE_IN_ACCOUNT: {
|
|
75
|
-
key: 'storage_must_be_in_account',
|
|
76
|
-
message: 'Global storage services (S3) must be placed at the Account level',
|
|
77
|
-
description: 'Storage service placement validation failed',
|
|
78
|
-
suggestions: [
|
|
79
|
-
'Place S3 buckets directly in the AWS Account',
|
|
80
|
-
'Do not place S3 in VPC or Subnet'
|
|
81
|
-
]
|
|
82
|
-
},
|
|
83
|
-
|
|
84
|
-
// Diagram-wide Validations
|
|
85
|
-
MULTIPLE_ACCOUNTS: {
|
|
86
|
-
key: 'multiple_accounts',
|
|
87
|
-
message: 'Multiple AWS Accounts detected. Only one Account is allowed per diagram.',
|
|
88
|
-
description: 'Account limit validation failed',
|
|
89
|
-
suggestions: [
|
|
90
|
-
'Keep only one AWS Account per diagram',
|
|
91
|
-
'Remove additional Account containers'
|
|
92
|
-
]
|
|
93
|
-
},
|
|
94
|
-
|
|
95
|
-
CROSS_REGION_RESOURCES: {
|
|
96
|
-
key: 'cross_region_resources',
|
|
97
|
-
message: 'Cross-region resources detected in VPC: {vpcName}',
|
|
98
|
-
description: 'Region validation failed',
|
|
99
|
-
suggestions: [
|
|
100
|
-
'Keep resources in the same region within a VPC',
|
|
101
|
-
'Create separate VPCs for different regions'
|
|
102
|
-
]
|
|
103
|
-
},
|
|
104
|
-
|
|
105
|
-
DATABASE_PLACEMENT: {
|
|
106
|
-
key: 'database_placement',
|
|
107
|
-
message: 'Database services must be placed within a subnet',
|
|
108
|
-
description: 'Database placement validation failed',
|
|
109
|
-
suggestions: [
|
|
110
|
-
'Place the database in a subnet',
|
|
111
|
-
'Ensure the subnet is in the correct VPC'
|
|
112
|
-
]
|
|
113
|
-
},
|
|
114
|
-
|
|
115
|
-
DATABASE_HA_REQUIREMENT: {
|
|
116
|
-
key: 'database_ha_requirement',
|
|
117
|
-
message: '{resourceType} requires placement in at least 2 different subnets for high availability',
|
|
118
|
-
description: 'High availability requirement not met',
|
|
119
|
-
suggestions: [
|
|
120
|
-
'Create multiple subnets in different availability zones',
|
|
121
|
-
'Place the database instances across these subnets'
|
|
122
|
-
]
|
|
123
|
-
},
|
|
124
|
-
|
|
125
|
-
VPC_CONTAINMENT: {
|
|
126
|
-
key: 'vpc_containment',
|
|
127
|
-
message: '{resourceType} cannot be placed directly in a VPC. It must be placed in a subnet.',
|
|
128
|
-
description: 'Invalid VPC placement',
|
|
129
|
-
suggestions: [
|
|
130
|
-
'Create a subnet within the VPC',
|
|
131
|
-
'Place the resource in the subnet instead'
|
|
132
|
-
]
|
|
133
|
-
},
|
|
134
|
-
|
|
135
|
-
SUBNET_CONTAINMENT: {
|
|
136
|
-
key: 'subnet_containment',
|
|
137
|
-
message: '{resourceType} cannot be placed in a subnet',
|
|
138
|
-
description: 'Invalid subnet placement',
|
|
139
|
-
suggestions: [
|
|
140
|
-
'Check if the resource type is allowed in subnets',
|
|
141
|
-
'Place the resource in the correct container'
|
|
142
|
-
]
|
|
143
|
-
},
|
|
144
|
-
|
|
145
|
-
AZ_CONTAINMENT: {
|
|
146
|
-
key: 'az_containment',
|
|
147
|
-
message: '{resourceType} cannot be placed directly in an Availability Zone',
|
|
148
|
-
description: 'Invalid AZ placement',
|
|
149
|
-
suggestions: [
|
|
150
|
-
'Place the resource in a subnet',
|
|
151
|
-
'Check if the resource type is allowed in AZs'
|
|
152
|
-
]
|
|
153
|
-
},
|
|
154
|
-
|
|
155
|
-
ASG_CONTAINMENT: {
|
|
156
|
-
key: 'asg_containment',
|
|
157
|
-
message: '{resourceType} cannot be placed in an Auto Scaling Group',
|
|
158
|
-
description: 'Invalid ASG placement',
|
|
159
|
-
suggestions: [
|
|
160
|
-
'Check if the resource type is allowed in ASGs',
|
|
161
|
-
'Place the resource in the correct container'
|
|
162
|
-
]
|
|
163
|
-
}
|
|
164
|
-
};
|
|
165
|
-
|
|
166
|
-
// Azure Error Messages
|
|
167
|
-
export const AZURE_ERROR_MESSAGES: Record<string, ErrorMessage> = {
|
|
168
|
-
SUBSCRIPTION_REQUIRED: {
|
|
169
|
-
key: 'subscription_required',
|
|
170
|
-
message: 'Azure {resourceType} must be placed within a Subscription',
|
|
171
|
-
description: 'Subscription placement required',
|
|
172
|
-
suggestions: [
|
|
173
|
-
'Create a Subscription if none exists',
|
|
174
|
-
'Place the resource within an existing Subscription'
|
|
175
|
-
]
|
|
176
|
-
},
|
|
177
|
-
RESOURCE_GROUP_REQUIRED: {
|
|
178
|
-
key: 'resource_group_required',
|
|
179
|
-
message: '{resourceType} must be placed within a Resource Group',
|
|
180
|
-
description: 'Resource Group placement required',
|
|
181
|
-
suggestions: [
|
|
182
|
-
'Create a Resource Group if none exists',
|
|
183
|
-
'Place the resource within an existing Resource Group'
|
|
184
|
-
]
|
|
185
|
-
},
|
|
186
|
-
VNET_CONTAINMENT: {
|
|
187
|
-
key: 'vnet_containment',
|
|
188
|
-
message: '{resourceType} cannot be placed directly in a Virtual Network',
|
|
189
|
-
description: 'Invalid VNet placement',
|
|
190
|
-
suggestions: [
|
|
191
|
-
'Create a Subnet within the Virtual Network',
|
|
192
|
-
'Place the resource in the Subnet'
|
|
193
|
-
]
|
|
194
|
-
},
|
|
195
|
-
SUBNET_REQUIRED: {
|
|
196
|
-
key: 'subnet_required',
|
|
197
|
-
message: 'Virtual Machines must be placed within a Subnet',
|
|
198
|
-
description: 'Subnet placement required for VMs',
|
|
199
|
-
suggestions: [
|
|
200
|
-
'Create a Subnet if none exists',
|
|
201
|
-
'Place the VM within an existing Subnet'
|
|
202
|
-
]
|
|
203
|
-
}
|
|
204
|
-
};
|
|
205
|
-
|
|
206
|
-
// GCP Error Messages
|
|
207
|
-
export const GCP_ERROR_MESSAGES: Record<string, ErrorMessage> = {
|
|
208
|
-
PROJECT_REQUIRED: {
|
|
209
|
-
key: 'project_required',
|
|
210
|
-
message: 'GCP resources must be placed within a Project',
|
|
211
|
-
description: 'Project placement required',
|
|
212
|
-
suggestions: [
|
|
213
|
-
'Create a Project if none exists',
|
|
214
|
-
'Place the resource within an existing Project'
|
|
215
|
-
]
|
|
216
|
-
},
|
|
217
|
-
VPC_CONTAINMENT: {
|
|
218
|
-
key: 'vpc_containment',
|
|
219
|
-
message: '{resourceType} cannot be placed directly in a VPC',
|
|
220
|
-
description: 'Invalid VPC placement',
|
|
221
|
-
suggestions: [
|
|
222
|
-
'Create a Subnet within the VPC',
|
|
223
|
-
'Place the resource in the Subnet'
|
|
224
|
-
]
|
|
225
|
-
},
|
|
226
|
-
SUBNET_REQUIRED: {
|
|
227
|
-
key: 'subnet_required',
|
|
228
|
-
message: 'Compute Instances must be placed within a Subnet',
|
|
229
|
-
description: 'Subnet placement required for Compute Instances',
|
|
230
|
-
suggestions: [
|
|
231
|
-
'Create a Subnet if none exists',
|
|
232
|
-
'Place the Compute Instance within an existing Subnet'
|
|
233
|
-
]
|
|
234
|
-
},
|
|
235
|
-
PROJECT_MUST_BE_ROOT: {
|
|
236
|
-
key: 'project_must_be_root',
|
|
237
|
-
message: 'GCP Project cannot be placed inside other containers. Projects must be at the root level.',
|
|
238
|
-
description: 'Invalid Project placement',
|
|
239
|
-
suggestions: [
|
|
240
|
-
'Move the Project to the root level',
|
|
241
|
-
'Projects are the highest level container in GCP',
|
|
242
|
-
'Other resources should be placed inside Projects, not the other way around'
|
|
243
|
-
]
|
|
244
|
-
}
|
|
245
|
-
};
|
|
246
|
-
|
|
247
|
-
// Helper function to format error messages with variables
|
|
248
|
-
export const formatErrorMessage = (
|
|
249
|
-
errorKey: string,
|
|
250
|
-
provider: 'aws' | 'azure' | 'gcp',
|
|
251
|
-
variables?: Record<string, string>
|
|
252
|
-
): string => {
|
|
253
|
-
const errorMessages = {
|
|
254
|
-
aws: AWS_ERROR_MESSAGES,
|
|
255
|
-
azure: AZURE_ERROR_MESSAGES,
|
|
256
|
-
gcp: GCP_ERROR_MESSAGES
|
|
257
|
-
};
|
|
258
|
-
|
|
259
|
-
const error = errorMessages[provider][errorKey];
|
|
260
|
-
if (!error) return 'Unknown error';
|
|
261
|
-
|
|
262
|
-
let message = error.message;
|
|
263
|
-
if (variables) {
|
|
264
|
-
Object.entries(variables).forEach(([key, value]) => {
|
|
265
|
-
message = message.replace(`{${key}}`, value);
|
|
266
|
-
});
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
return message;
|
|
270
|
-
};
|
|
271
|
-
|
|
272
|
-
// Helper function to get error suggestions
|
|
273
|
-
export const getErrorSuggestions = (
|
|
274
|
-
errorKey: string,
|
|
275
|
-
provider: 'aws' | 'azure' | 'gcp'
|
|
276
|
-
): string[] => {
|
|
277
|
-
const errorMessages = {
|
|
278
|
-
aws: AWS_ERROR_MESSAGES,
|
|
279
|
-
azure: AZURE_ERROR_MESSAGES,
|
|
280
|
-
gcp: GCP_ERROR_MESSAGES
|
|
281
|
-
};
|
|
282
|
-
|
|
283
|
-
return errorMessages[provider][errorKey]?.suggestions || [];
|
|
1
|
+
// Define error message types
|
|
2
|
+
export interface ErrorMessage {
|
|
3
|
+
key: string;
|
|
4
|
+
message: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
suggestions?: string[];
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
// AWS Error Messages
|
|
10
|
+
export const AWS_ERROR_MESSAGES: Record<string, ErrorMessage> = {
|
|
11
|
+
// Resource Type Validation
|
|
12
|
+
INVALID_RESOURCE_TYPE: {
|
|
13
|
+
key: 'invalid_resource_type',
|
|
14
|
+
message: 'Invalid AWS resource type: "{service}". This service might not be supported or might have a different name.',
|
|
15
|
+
description: 'Resource type validation failed',
|
|
16
|
+
suggestions: [
|
|
17
|
+
'Check if the service name is correct',
|
|
18
|
+
'Verify the service is supported in the current version'
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
|
|
22
|
+
// Container Validation Errors
|
|
23
|
+
MUST_BE_IN_ACCOUNT: {
|
|
24
|
+
key: 'must_be_in_account',
|
|
25
|
+
message: '{resourceType} must be placed within an AWS Account',
|
|
26
|
+
description: 'Resource requires AWS Account container',
|
|
27
|
+
suggestions: [
|
|
28
|
+
'Create an AWS Account container first',
|
|
29
|
+
'Place the resource inside the AWS Account'
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
INVALID_PARENT_CONTAINER: {
|
|
34
|
+
key: 'invalid_parent_container',
|
|
35
|
+
message: 'Invalid parent container type: {parentType}',
|
|
36
|
+
description: 'Container type validation failed',
|
|
37
|
+
suggestions: [
|
|
38
|
+
'Check if the parent container is valid',
|
|
39
|
+
'Verify the container hierarchy'
|
|
40
|
+
]
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
CONTAINER_VALIDATION: {
|
|
44
|
+
key: 'container_validation',
|
|
45
|
+
message: '{resourceType} cannot be placed in {parentType}. {description}. {rules}. {suggestion}',
|
|
46
|
+
description: 'Container placement validation failed',
|
|
47
|
+
suggestions: [
|
|
48
|
+
'Review the placement rules for this resource',
|
|
49
|
+
'Place the resource in the correct container'
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
|
|
53
|
+
// Specific Service Placement Rules
|
|
54
|
+
EC2_MUST_BE_IN_SUBNET: {
|
|
55
|
+
key: 'ec2_must_be_in_subnet',
|
|
56
|
+
message: 'EC2 instances must be placed within a Subnet',
|
|
57
|
+
description: 'EC2 placement validation failed',
|
|
58
|
+
suggestions: [
|
|
59
|
+
'Create a Subnet within a VPC',
|
|
60
|
+
'Place the EC2 instance in the Subnet'
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
|
|
64
|
+
DATABASE_MUST_BE_IN_SUBNET: {
|
|
65
|
+
key: 'database_must_be_in_subnet',
|
|
66
|
+
message: 'Database services (RDS, Aurora) must be placed within a Subnet',
|
|
67
|
+
description: 'Database placement validation failed',
|
|
68
|
+
suggestions: [
|
|
69
|
+
'Create a Subnet within a VPC',
|
|
70
|
+
'Place the database in the Subnet'
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
|
|
74
|
+
STORAGE_MUST_BE_IN_ACCOUNT: {
|
|
75
|
+
key: 'storage_must_be_in_account',
|
|
76
|
+
message: 'Global storage services (S3) must be placed at the Account level',
|
|
77
|
+
description: 'Storage service placement validation failed',
|
|
78
|
+
suggestions: [
|
|
79
|
+
'Place S3 buckets directly in the AWS Account',
|
|
80
|
+
'Do not place S3 in VPC or Subnet'
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
|
|
84
|
+
// Diagram-wide Validations
|
|
85
|
+
MULTIPLE_ACCOUNTS: {
|
|
86
|
+
key: 'multiple_accounts',
|
|
87
|
+
message: 'Multiple AWS Accounts detected. Only one Account is allowed per diagram.',
|
|
88
|
+
description: 'Account limit validation failed',
|
|
89
|
+
suggestions: [
|
|
90
|
+
'Keep only one AWS Account per diagram',
|
|
91
|
+
'Remove additional Account containers'
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
|
|
95
|
+
CROSS_REGION_RESOURCES: {
|
|
96
|
+
key: 'cross_region_resources',
|
|
97
|
+
message: 'Cross-region resources detected in VPC: {vpcName}',
|
|
98
|
+
description: 'Region validation failed',
|
|
99
|
+
suggestions: [
|
|
100
|
+
'Keep resources in the same region within a VPC',
|
|
101
|
+
'Create separate VPCs for different regions'
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
|
|
105
|
+
DATABASE_PLACEMENT: {
|
|
106
|
+
key: 'database_placement',
|
|
107
|
+
message: 'Database services must be placed within a subnet',
|
|
108
|
+
description: 'Database placement validation failed',
|
|
109
|
+
suggestions: [
|
|
110
|
+
'Place the database in a subnet',
|
|
111
|
+
'Ensure the subnet is in the correct VPC'
|
|
112
|
+
]
|
|
113
|
+
},
|
|
114
|
+
|
|
115
|
+
DATABASE_HA_REQUIREMENT: {
|
|
116
|
+
key: 'database_ha_requirement',
|
|
117
|
+
message: '{resourceType} requires placement in at least 2 different subnets for high availability',
|
|
118
|
+
description: 'High availability requirement not met',
|
|
119
|
+
suggestions: [
|
|
120
|
+
'Create multiple subnets in different availability zones',
|
|
121
|
+
'Place the database instances across these subnets'
|
|
122
|
+
]
|
|
123
|
+
},
|
|
124
|
+
|
|
125
|
+
VPC_CONTAINMENT: {
|
|
126
|
+
key: 'vpc_containment',
|
|
127
|
+
message: '{resourceType} cannot be placed directly in a VPC. It must be placed in a subnet.',
|
|
128
|
+
description: 'Invalid VPC placement',
|
|
129
|
+
suggestions: [
|
|
130
|
+
'Create a subnet within the VPC',
|
|
131
|
+
'Place the resource in the subnet instead'
|
|
132
|
+
]
|
|
133
|
+
},
|
|
134
|
+
|
|
135
|
+
SUBNET_CONTAINMENT: {
|
|
136
|
+
key: 'subnet_containment',
|
|
137
|
+
message: '{resourceType} cannot be placed in a subnet',
|
|
138
|
+
description: 'Invalid subnet placement',
|
|
139
|
+
suggestions: [
|
|
140
|
+
'Check if the resource type is allowed in subnets',
|
|
141
|
+
'Place the resource in the correct container'
|
|
142
|
+
]
|
|
143
|
+
},
|
|
144
|
+
|
|
145
|
+
AZ_CONTAINMENT: {
|
|
146
|
+
key: 'az_containment',
|
|
147
|
+
message: '{resourceType} cannot be placed directly in an Availability Zone',
|
|
148
|
+
description: 'Invalid AZ placement',
|
|
149
|
+
suggestions: [
|
|
150
|
+
'Place the resource in a subnet',
|
|
151
|
+
'Check if the resource type is allowed in AZs'
|
|
152
|
+
]
|
|
153
|
+
},
|
|
154
|
+
|
|
155
|
+
ASG_CONTAINMENT: {
|
|
156
|
+
key: 'asg_containment',
|
|
157
|
+
message: '{resourceType} cannot be placed in an Auto Scaling Group',
|
|
158
|
+
description: 'Invalid ASG placement',
|
|
159
|
+
suggestions: [
|
|
160
|
+
'Check if the resource type is allowed in ASGs',
|
|
161
|
+
'Place the resource in the correct container'
|
|
162
|
+
]
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
// Azure Error Messages
|
|
167
|
+
export const AZURE_ERROR_MESSAGES: Record<string, ErrorMessage> = {
|
|
168
|
+
SUBSCRIPTION_REQUIRED: {
|
|
169
|
+
key: 'subscription_required',
|
|
170
|
+
message: 'Azure {resourceType} must be placed within a Subscription',
|
|
171
|
+
description: 'Subscription placement required',
|
|
172
|
+
suggestions: [
|
|
173
|
+
'Create a Subscription if none exists',
|
|
174
|
+
'Place the resource within an existing Subscription'
|
|
175
|
+
]
|
|
176
|
+
},
|
|
177
|
+
RESOURCE_GROUP_REQUIRED: {
|
|
178
|
+
key: 'resource_group_required',
|
|
179
|
+
message: '{resourceType} must be placed within a Resource Group',
|
|
180
|
+
description: 'Resource Group placement required',
|
|
181
|
+
suggestions: [
|
|
182
|
+
'Create a Resource Group if none exists',
|
|
183
|
+
'Place the resource within an existing Resource Group'
|
|
184
|
+
]
|
|
185
|
+
},
|
|
186
|
+
VNET_CONTAINMENT: {
|
|
187
|
+
key: 'vnet_containment',
|
|
188
|
+
message: '{resourceType} cannot be placed directly in a Virtual Network',
|
|
189
|
+
description: 'Invalid VNet placement',
|
|
190
|
+
suggestions: [
|
|
191
|
+
'Create a Subnet within the Virtual Network',
|
|
192
|
+
'Place the resource in the Subnet'
|
|
193
|
+
]
|
|
194
|
+
},
|
|
195
|
+
SUBNET_REQUIRED: {
|
|
196
|
+
key: 'subnet_required',
|
|
197
|
+
message: 'Virtual Machines must be placed within a Subnet',
|
|
198
|
+
description: 'Subnet placement required for VMs',
|
|
199
|
+
suggestions: [
|
|
200
|
+
'Create a Subnet if none exists',
|
|
201
|
+
'Place the VM within an existing Subnet'
|
|
202
|
+
]
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
// GCP Error Messages
|
|
207
|
+
export const GCP_ERROR_MESSAGES: Record<string, ErrorMessage> = {
|
|
208
|
+
PROJECT_REQUIRED: {
|
|
209
|
+
key: 'project_required',
|
|
210
|
+
message: 'GCP resources must be placed within a Project',
|
|
211
|
+
description: 'Project placement required',
|
|
212
|
+
suggestions: [
|
|
213
|
+
'Create a Project if none exists',
|
|
214
|
+
'Place the resource within an existing Project'
|
|
215
|
+
]
|
|
216
|
+
},
|
|
217
|
+
VPC_CONTAINMENT: {
|
|
218
|
+
key: 'vpc_containment',
|
|
219
|
+
message: '{resourceType} cannot be placed directly in a VPC',
|
|
220
|
+
description: 'Invalid VPC placement',
|
|
221
|
+
suggestions: [
|
|
222
|
+
'Create a Subnet within the VPC',
|
|
223
|
+
'Place the resource in the Subnet'
|
|
224
|
+
]
|
|
225
|
+
},
|
|
226
|
+
SUBNET_REQUIRED: {
|
|
227
|
+
key: 'subnet_required',
|
|
228
|
+
message: 'Compute Instances must be placed within a Subnet',
|
|
229
|
+
description: 'Subnet placement required for Compute Instances',
|
|
230
|
+
suggestions: [
|
|
231
|
+
'Create a Subnet if none exists',
|
|
232
|
+
'Place the Compute Instance within an existing Subnet'
|
|
233
|
+
]
|
|
234
|
+
},
|
|
235
|
+
PROJECT_MUST_BE_ROOT: {
|
|
236
|
+
key: 'project_must_be_root',
|
|
237
|
+
message: 'GCP Project cannot be placed inside other containers. Projects must be at the root level.',
|
|
238
|
+
description: 'Invalid Project placement',
|
|
239
|
+
suggestions: [
|
|
240
|
+
'Move the Project to the root level',
|
|
241
|
+
'Projects are the highest level container in GCP',
|
|
242
|
+
'Other resources should be placed inside Projects, not the other way around'
|
|
243
|
+
]
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
// Helper function to format error messages with variables
|
|
248
|
+
export const formatErrorMessage = (
|
|
249
|
+
errorKey: string,
|
|
250
|
+
provider: 'aws' | 'azure' | 'gcp',
|
|
251
|
+
variables?: Record<string, string>
|
|
252
|
+
): string => {
|
|
253
|
+
const errorMessages = {
|
|
254
|
+
aws: AWS_ERROR_MESSAGES,
|
|
255
|
+
azure: AZURE_ERROR_MESSAGES,
|
|
256
|
+
gcp: GCP_ERROR_MESSAGES
|
|
257
|
+
};
|
|
258
|
+
|
|
259
|
+
const error = errorMessages[provider][errorKey];
|
|
260
|
+
if (!error) return 'Unknown error';
|
|
261
|
+
|
|
262
|
+
let message = error.message;
|
|
263
|
+
if (variables) {
|
|
264
|
+
Object.entries(variables).forEach(([key, value]) => {
|
|
265
|
+
message = message.replace(`{${key}}`, value);
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
return message;
|
|
270
|
+
};
|
|
271
|
+
|
|
272
|
+
// Helper function to get error suggestions
|
|
273
|
+
export const getErrorSuggestions = (
|
|
274
|
+
errorKey: string,
|
|
275
|
+
provider: 'aws' | 'azure' | 'gcp'
|
|
276
|
+
): string[] => {
|
|
277
|
+
const errorMessages = {
|
|
278
|
+
aws: AWS_ERROR_MESSAGES,
|
|
279
|
+
azure: AZURE_ERROR_MESSAGES,
|
|
280
|
+
gcp: GCP_ERROR_MESSAGES
|
|
281
|
+
};
|
|
282
|
+
|
|
283
|
+
return errorMessages[provider][errorKey]?.suggestions || [];
|
|
284
284
|
};
|