windmill-components 1.655.1 → 1.665.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package/components/ApiConnectForm.svelte +6 -6
- package/package/components/ApiConnectForm.svelte.d.ts +3 -2
- package/package/components/AppConnectDrawer.svelte +3 -1
- package/package/components/AppConnectDrawer.svelte.d.ts +2 -0
- package/package/components/AppConnectInner.svelte +137 -72
- package/package/components/AppConnectInner.svelte.d.ts +1 -0
- package/package/components/CompareWorkspaces.svelte +32 -24
- package/package/components/DBManager.svelte +7 -13
- package/package/components/DBTable.svelte +2 -2
- package/package/components/DBTableEditor.svelte +39 -31
- package/package/components/DBTableEditor.svelte.d.ts +2 -2
- package/package/components/DedicatedWorkersSelector.svelte +292 -85
- package/package/components/DeployWorkspace.svelte +30 -26
- package/package/components/Dev.svelte +7 -2
- package/package/components/Dev.svelte.d.ts +3 -0
- package/package/components/Editor.svelte +17 -13
- package/package/components/EditorBar.svelte.d.ts +1 -1
- package/package/components/FilterSearchbar.svelte +1 -1
- package/package/components/FirstStepInputs.svelte +0 -1
- package/package/components/FlowBuilder.svelte +5 -0
- package/package/components/FlowGraphDiffViewer.svelte +3 -0
- package/package/components/FlowGraphViewer.svelte +7 -4
- package/package/components/FlowGraphViewer.svelte.d.ts +1 -0
- package/package/components/FlowGraphViewerStep.svelte +3 -3
- package/package/components/FlowGraphViewerStep.svelte.d.ts +1 -0
- package/package/components/FlowPreviewContent.svelte +11 -1
- package/package/components/FlowStatusViewer.svelte +4 -1
- package/package/components/FlowStatusViewer.svelte.d.ts +3 -1
- package/package/components/FlowStatusViewerInner.svelte +46 -11
- package/package/components/FlowStatusViewerInner.svelte.d.ts +4 -1
- package/package/components/FlowStatusWaitingForEvents.svelte +48 -103
- package/package/components/FlowTimeline.svelte +76 -84
- package/package/components/FlowViewer.svelte +40 -22
- package/package/components/FlowViewer.svelte.d.ts +8 -2
- package/package/components/GroupEditor.svelte +7 -9
- package/package/components/HistoricList.svelte +12 -4
- package/package/components/InstanceGroupEditor.svelte +92 -19
- package/package/components/InstanceSetting.svelte +16 -6
- package/package/components/InstanceSettings.svelte +51 -7
- package/package/components/InstanceSettings.svelte.d.ts +2 -1
- package/package/components/JobLoader.svelte +5 -4
- package/package/components/JobLoader.svelte.d.ts +1 -1
- package/package/components/Login.svelte +9 -1
- package/package/components/NoMainFuncBadge.svelte +2 -2
- package/package/components/OnBehalfOfSelector.svelte +49 -37
- package/package/components/OnBehalfOfSelector.svelte.d.ts +16 -6
- package/package/components/ResourceEditor.svelte +16 -11
- package/package/components/ResourceEditor.svelte.d.ts +1 -0
- package/package/components/ResourceEditorDrawer.svelte +3 -1
- package/package/components/ResourceEditorDrawer.svelte.d.ts +6 -2
- package/package/components/ResourcePicker.svelte +10 -5
- package/package/components/ResourcePicker.svelte.d.ts +2 -0
- package/package/components/S3FilePickerInner.svelte +12 -4
- package/package/components/SchemaForm.svelte +20 -14
- package/package/components/SchemaForm.svelte.d.ts +2 -2
- package/package/components/ScriptBuilder.svelte +158 -18
- package/package/components/ScriptEditor.svelte +674 -150
- package/package/components/ScriptEditor.svelte.d.ts +7 -3
- package/package/components/SuperadminSettings.svelte +4 -1
- package/package/components/SuperadminSettingsInner.svelte +176 -67
- package/package/components/SuperadminSettingsInner.svelte.d.ts +3 -1
- package/package/components/SyncResourceTypes.svelte +31 -0
- package/package/components/SyncResourceTypes.svelte.d.ts +6 -0
- package/package/components/TimelineBar.svelte +14 -8
- package/package/components/TimelineBar.svelte.d.ts +1 -0
- package/package/components/WorkerGroup.svelte +11 -4
- package/package/components/WorkflowTimeline.svelte +386 -58
- package/package/components/WorkflowTimeline.svelte.d.ts +6 -1
- package/package/components/WorkspaceDependenciesEditor.svelte +32 -2
- package/package/components/apps/components/display/dbtable/DeleteRow.svelte +2 -2
- package/package/components/apps/components/display/dbtable/InsertRowRunnable.svelte +2 -2
- package/package/components/apps/components/display/dbtable/UpdateCell.svelte +2 -2
- package/package/components/apps/components/display/dbtable/metadata.js +44 -222
- package/package/components/apps/components/display/dbtable/queries/count.d.ts +9 -0
- package/package/components/apps/components/display/dbtable/queries/delete.d.ts +9 -0
- package/package/components/apps/components/display/dbtable/queries/insert.d.ts +9 -0
- package/package/components/apps/components/display/dbtable/queries/relationalKeys.d.ts +7 -0
- package/package/components/apps/components/display/dbtable/queries/relationalKeys.js +1 -1
- package/package/components/apps/components/display/dbtable/queries/select.d.ts +9 -0
- package/package/components/apps/components/display/dbtable/queries/update.d.ts +9 -0
- package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +11 -9
- package/package/components/apps/editor/appUtilsS3.js +2 -2
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +53 -10
- package/package/components/common/clearableInput/ClearableInput.svelte +3 -7
- package/package/components/common/confirmationModal/ConfirmationModal.svelte +7 -1
- package/package/components/common/confirmationModal/ConfirmationModal.svelte.d.ts +1 -0
- package/package/components/common/drawer/Disposable.svelte +24 -2
- package/package/components/common/drawer/Disposable.svelte.d.ts +5 -0
- package/package/components/common/modal/Modal.svelte +84 -58
- package/package/components/common/table/AppRow.svelte.d.ts +1 -1
- package/package/components/common/table/FlowRow.svelte.d.ts +1 -1
- package/package/components/common/table/ScriptRow.svelte +31 -3
- package/package/components/common/table/ScriptRow.svelte.d.ts +1 -1
- package/package/components/copilot/MetadataGen.svelte +8 -5
- package/package/components/copilot/MetadataGen.svelte.d.ts +1 -0
- package/package/components/copilot/TestAIKey.svelte +2 -1
- package/package/components/copilot/TestAIKey.svelte.d.ts +1 -0
- package/package/components/copilot/chat/AIChatManager.svelte.js +62 -80
- package/package/components/copilot/chat/HistoryManager.svelte.d.ts +1 -0
- package/package/components/copilot/chat/HistoryManager.svelte.js +3 -0
- package/package/components/copilot/chat/__tests__/app/appChat.eval.test.js +47 -31
- package/package/components/copilot/chat/__tests__/app/appEvalComparison.d.ts +1 -6
- package/package/components/copilot/chat/__tests__/app/appEvalComparison.js +18 -13
- package/package/components/copilot/chat/__tests__/app/appEvalRunner.d.ts +14 -5
- package/package/components/copilot/chat/__tests__/app/appEvalRunner.js +13 -12
- package/package/components/copilot/chat/__tests__/flow/flowChat.eval.test.js +46 -29
- package/package/components/copilot/chat/__tests__/flow/flowEvalComparison.js +1 -4
- package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.d.ts +14 -5
- package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.js +13 -12
- package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.d.ts +5 -8
- package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.js +82 -108
- package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.d.ts +4 -7
- package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.js +19 -11
- package/package/components/copilot/chat/__tests__/shared/types.d.ts +3 -0
- package/package/components/copilot/chat/anthropic.d.ts +9 -2
- package/package/components/copilot/chat/anthropic.js +12 -6
- package/package/components/copilot/chat/app/core.js +5 -12
- package/package/components/copilot/chat/chatLoop.d.ts +40 -0
- package/package/components/copilot/chat/chatLoop.js +97 -0
- package/package/components/copilot/chat/openai-responses.d.ts +8 -2
- package/package/components/copilot/chat/openai-responses.js +17 -17
- package/package/components/copilot/chat/shared.d.ts +2 -1
- package/package/components/copilot/chat/shared.js +2 -2
- package/package/components/copilot/lib.d.ts +14 -5
- package/package/components/copilot/lib.js +68 -48
- package/package/components/custom_ui.d.ts +1 -0
- package/package/components/dbOps.d.ts +2 -2
- package/package/components/dbOps.js +129 -53
- package/package/components/debug/debugUtils.d.ts +5 -0
- package/package/components/debug/debugUtils.js +20 -0
- package/package/components/debug/index.d.ts +1 -1
- package/package/components/debug/index.js +3 -7
- package/package/components/flows/CreateActionsFlow.svelte +221 -43
- package/package/components/flows/DebounceLimit.svelte +42 -9
- package/package/components/flows/common/FlowCard.svelte +2 -1
- package/package/components/flows/common/FlowCard.svelte.d.ts +1 -0
- package/package/components/flows/common/FlowCardHeader.svelte +14 -10
- package/package/components/flows/common/FlowCardHeader.svelte.d.ts +1 -0
- package/package/components/flows/content/AgentToolWrapper.svelte +2 -1
- package/package/components/flows/content/AgentToolWrapper.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowEditorPanel.svelte +1 -0
- package/package/components/flows/content/FlowInputs.svelte +1 -1
- package/package/components/flows/content/FlowInputsQuick.svelte +1 -1
- package/package/components/flows/content/FlowModuleComponent.svelte +32 -18
- package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowModuleDebounce.svelte +46 -0
- package/package/components/flows/content/FlowModuleDebounce.svelte.d.ts +8 -0
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +26 -5
- package/package/components/flows/content/FlowModuleWrapper.svelte +1 -0
- package/package/components/flows/content/FlowRetries.svelte +57 -57
- package/package/components/flows/content/FlowSelectionPanel.svelte +9 -14
- package/package/components/flows/content/FlowSelectionPanel.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowSettings.svelte +6 -6
- package/package/components/flows/content/ScriptEditorDrawer.svelte +1 -1
- package/package/components/flows/content/SuspendDrawer.svelte +0 -18
- package/package/components/flows/header/FlowYamlEditor.svelte +20 -4
- package/package/components/flows/map/FlowErrorHandlerItem.svelte +32 -14
- package/package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +7 -10
- package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte +1 -8
- package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte.d.ts +0 -2
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +343 -137
- package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowStickyNode.svelte +24 -16
- package/package/components/flows/map/FlowStickyNode.svelte.d.ts +1 -0
- package/package/components/flows/map/InsertModuleInner.svelte +2 -0
- package/package/components/flows/map/VirtualItemWrapper.svelte +1 -1
- package/package/components/flows/pickers/PickHubScriptQuick.svelte.d.ts +1 -1
- package/package/components/flows/propPicker/OutputPickerInner.svelte +5 -1
- package/package/components/flows/scheduleUtils.js +3 -1
- package/package/components/flows/utils.svelte.js +6 -1
- package/package/components/git_sync/GitSyncContext.svelte.js +13 -2
- package/package/components/git_sync/GitSyncSection.svelte +135 -99
- package/package/components/graph/DragGhost.svelte +11 -2
- package/package/components/graph/FlowGraphV2.svelte +138 -42
- package/package/components/graph/FlowGraphV2.svelte.d.ts +15 -1
- package/package/components/graph/GroupActionBar.svelte +124 -0
- package/package/components/graph/GroupActionBar.svelte.d.ts +20 -0
- package/package/components/graph/GroupHeader.svelte +98 -0
- package/package/components/graph/GroupHeader.svelte.d.ts +11 -0
- package/package/components/graph/GroupHeaderBlock.svelte +58 -0
- package/package/components/graph/GroupHeaderBlock.svelte.d.ts +13 -0
- package/package/components/graph/GroupModuleIcons.svelte +163 -0
- package/package/components/graph/GroupModuleIcons.svelte.d.ts +11 -0
- package/package/components/graph/GroupNodeCard.svelte +127 -0
- package/package/components/graph/GroupNodeCard.svelte.d.ts +18 -0
- package/package/components/graph/GroupNoteArea.svelte +132 -0
- package/package/components/graph/GroupNoteArea.svelte.d.ts +11 -0
- package/package/components/graph/GroupOverlay.svelte +71 -0
- package/package/components/graph/GroupOverlay.svelte.d.ts +12 -0
- package/package/components/graph/MiniFlowGraph.svelte +17 -2
- package/package/components/graph/SelectionBoundingBox.svelte +14 -14
- package/package/components/graph/compoundLayout.d.ts +17 -1
- package/package/components/graph/compoundLayout.js +129 -14
- package/package/components/graph/flowStructure.d.ts +63 -0
- package/package/components/graph/flowStructure.js +422 -0
- package/package/components/graph/flowStructure.test.d.ts +1 -0
- package/package/components/graph/flowStructure.test.js +205 -0
- package/package/components/graph/graphBuilder.svelte.d.ts +52 -3
- package/package/components/graph/graphBuilder.svelte.js +170 -67
- package/package/components/graph/graphContext.d.ts +7 -0
- package/package/components/graph/groupDetectionUtils.d.ts +24 -1
- package/package/components/graph/groupDetectionUtils.js +101 -1
- package/package/components/graph/groupEditor.svelte.d.ts +105 -0
- package/package/components/graph/groupEditor.svelte.js +253 -0
- package/package/components/graph/groupedModulesProxy.svelte.d.ts +55 -0
- package/package/components/graph/groupedModulesProxy.svelte.js +130 -0
- package/package/components/graph/model.d.ts +2 -1
- package/package/components/graph/moveManager.svelte.js +0 -3
- package/package/components/graph/nodeExtraSpace.d.ts +32 -0
- package/package/components/graph/nodeExtraSpace.js +113 -0
- package/package/components/graph/noteColors.d.ts +1 -0
- package/package/components/graph/noteColors.js +20 -10
- package/package/components/graph/noteUtils.svelte.d.ts +0 -18
- package/package/components/graph/noteUtils.svelte.js +6 -41
- package/package/components/graph/renderers/edges/BaseEdge.svelte +26 -11
- package/package/components/graph/renderers/nodes/AIToolNode.svelte +24 -49
- package/package/components/graph/renderers/nodes/AIToolNode.svelte.d.ts +1 -4
- package/package/components/graph/renderers/nodes/AssetNode.svelte +1 -27
- package/package/components/graph/renderers/nodes/AssetNode.svelte.d.ts +0 -4
- package/package/components/graph/renderers/nodes/CollapsedGroupNode.svelte +85 -0
- package/package/components/graph/renderers/nodes/CollapsedGroupNode.svelte.d.ts +8 -0
- package/package/components/graph/renderers/nodes/ForLoopStartNode.svelte +3 -2
- package/package/components/graph/renderers/nodes/GroupEndNode.svelte +9 -0
- package/package/components/graph/renderers/nodes/GroupEndNode.svelte.d.ts +6 -0
- package/package/components/graph/renderers/nodes/GroupHeadNode.svelte +20 -0
- package/package/components/graph/renderers/nodes/GroupHeadNode.svelte.d.ts +8 -0
- package/package/components/graph/renderers/nodes/ModuleNode.svelte +8 -5
- package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +1 -1
- package/package/components/graph/util.d.ts +5 -1
- package/package/components/graph/util.js +7 -5
- package/package/components/home/Item.svelte +1 -0
- package/package/components/home/ItemsList.svelte +1 -1
- package/package/components/icons/ActiveCampaignIcon.svelte +10 -0
- package/package/components/icons/ActiveCampaignIcon.svelte.d.ts +7 -0
- package/package/components/icons/AlgoliaIcon.svelte +7 -0
- package/package/components/icons/AlgoliaIcon.svelte.d.ts +7 -0
- package/package/components/icons/ApolloIcon.svelte +7 -0
- package/package/components/icons/ApolloIcon.svelte.d.ts +7 -0
- package/package/components/icons/BambooHrIcon.svelte +7 -0
- package/package/components/icons/BambooHrIcon.svelte.d.ts +7 -0
- package/package/components/icons/BaremetricsIcon.svelte +7 -0
- package/package/components/icons/BaremetricsIcon.svelte.d.ts +7 -0
- package/package/components/icons/BitlyIcon.svelte +7 -0
- package/package/components/icons/BitlyIcon.svelte.d.ts +7 -0
- package/package/components/icons/BloggerIcon.svelte +7 -0
- package/package/components/icons/BloggerIcon.svelte.d.ts +7 -0
- package/package/components/icons/BlueskyIcon.svelte +7 -0
- package/package/components/icons/BlueskyIcon.svelte.d.ts +7 -0
- package/package/components/icons/BoxIcon.svelte +7 -0
- package/package/components/icons/BoxIcon.svelte.d.ts +7 -0
- package/package/components/icons/BrevoIcon.svelte +7 -0
- package/package/components/icons/BrevoIcon.svelte.d.ts +7 -0
- package/package/components/icons/BrexIcon.svelte +7 -0
- package/package/components/icons/BrexIcon.svelte.d.ts +7 -0
- package/package/components/icons/BrowserlessIcon.svelte +7 -0
- package/package/components/icons/BrowserlessIcon.svelte.d.ts +7 -0
- package/package/components/icons/BubbleIcon.svelte +11 -0
- package/package/components/icons/BubbleIcon.svelte.d.ts +7 -0
- package/package/components/icons/BuildkiteIcon.svelte +7 -0
- package/package/components/icons/BuildkiteIcon.svelte.d.ts +7 -0
- package/package/components/icons/CalcomIcon.svelte +1 -1
- package/package/components/icons/CalendlyIcon.svelte +7 -0
- package/package/components/icons/CalendlyIcon.svelte.d.ts +7 -0
- package/package/components/icons/CircleCiIcon.svelte +7 -0
- package/package/components/icons/CircleCiIcon.svelte.d.ts +7 -0
- package/package/components/icons/CiscoIcon.svelte +7 -0
- package/package/components/icons/CiscoIcon.svelte.d.ts +7 -0
- package/package/components/icons/ClearbitIcon.svelte +7 -0
- package/package/components/icons/ClearbitIcon.svelte.d.ts +7 -0
- package/package/components/icons/ClerkIcon.svelte +7 -0
- package/package/components/icons/ClerkIcon.svelte.d.ts +7 -0
- package/package/components/icons/CloseIcon.svelte +37 -0
- package/package/components/icons/CloseIcon.svelte.d.ts +7 -0
- package/package/components/icons/CloudinaryIcon.svelte +7 -0
- package/package/components/icons/CloudinaryIcon.svelte.d.ts +7 -0
- package/package/components/icons/CockroachDbIcon.svelte +7 -0
- package/package/components/icons/CockroachDbIcon.svelte.d.ts +7 -0
- package/package/components/icons/CodaIcon.svelte +7 -0
- package/package/components/icons/CodaIcon.svelte.d.ts +7 -0
- package/package/components/icons/CohereIcon.svelte +16 -0
- package/package/components/icons/CohereIcon.svelte.d.ts +7 -0
- package/package/components/icons/CoinMarketCapIcon.svelte +7 -0
- package/package/components/icons/CoinMarketCapIcon.svelte.d.ts +7 -0
- package/package/components/icons/CoinbaseIcon.svelte +7 -0
- package/package/components/icons/CoinbaseIcon.svelte.d.ts +7 -0
- package/package/components/icons/ConfluenceIcon.svelte +7 -0
- package/package/components/icons/ConfluenceIcon.svelte.d.ts +7 -0
- package/package/components/icons/ContentfulIcon.svelte +7 -0
- package/package/components/icons/ContentfulIcon.svelte.d.ts +7 -0
- package/package/components/icons/ConvertKitIcon.svelte +7 -0
- package/package/components/icons/ConvertKitIcon.svelte.d.ts +7 -0
- package/package/components/icons/DatoCmsIcon.svelte +7 -0
- package/package/components/icons/DatoCmsIcon.svelte.d.ts +7 -0
- package/package/components/icons/DeelIcon.svelte +7 -0
- package/package/components/icons/DeelIcon.svelte.d.ts +7 -0
- package/package/components/icons/DeepLIcon.svelte +7 -0
- package/package/components/icons/DeepLIcon.svelte.d.ts +7 -0
- package/package/components/icons/DigitalOceanIcon.svelte +7 -0
- package/package/components/icons/DigitalOceanIcon.svelte.d.ts +7 -0
- package/package/components/icons/DiscourseIcon.svelte +7 -0
- package/package/components/icons/DiscourseIcon.svelte.d.ts +7 -0
- package/package/components/icons/DocusignIcon.svelte +7 -0
- package/package/components/icons/DocusignIcon.svelte.d.ts +7 -0
- package/package/components/icons/DropboxIcon.svelte +7 -0
- package/package/components/icons/DropboxIcon.svelte.d.ts +7 -0
- package/package/components/icons/EdgeDbIcon.svelte +16 -20
- package/package/components/icons/EventbriteIcon.svelte +10 -0
- package/package/components/icons/EventbriteIcon.svelte.d.ts +7 -0
- package/package/components/icons/FigmaIcon.svelte +7 -0
- package/package/components/icons/FigmaIcon.svelte.d.ts +7 -0
- package/package/components/icons/FlyIcon.svelte +7 -0
- package/package/components/icons/FlyIcon.svelte.d.ts +7 -0
- package/package/components/icons/FreshdeskIcon.svelte +7 -0
- package/package/components/icons/FreshdeskIcon.svelte.d.ts +7 -0
- package/package/components/icons/FrontAppIcon.svelte +7 -0
- package/package/components/icons/FrontAppIcon.svelte.d.ts +7 -0
- package/package/components/icons/GhostCmsIcon.svelte +7 -0
- package/package/components/icons/GhostCmsIcon.svelte.d.ts +7 -0
- package/package/components/icons/GiphyIcon.svelte +7 -0
- package/package/components/icons/GiphyIcon.svelte.d.ts +7 -0
- package/package/components/icons/GitBookIcon.svelte +7 -0
- package/package/components/icons/GitBookIcon.svelte.d.ts +7 -0
- package/package/components/icons/GroqIcon.svelte +7 -0
- package/package/components/icons/GroqIcon.svelte.d.ts +7 -0
- package/package/components/icons/HoneybadgerIcon.svelte +7 -0
- package/package/components/icons/HoneybadgerIcon.svelte.d.ts +7 -0
- package/package/components/icons/HttpIcon.svelte +1 -0
- package/package/components/icons/IftttIcon.svelte +7 -0
- package/package/components/icons/IftttIcon.svelte.d.ts +7 -0
- package/package/components/icons/IntercomIcon.svelte +7 -0
- package/package/components/icons/IntercomIcon.svelte.d.ts +7 -0
- package/package/components/icons/JoomlaIcon.svelte +7 -0
- package/package/components/icons/JoomlaIcon.svelte.d.ts +7 -0
- package/package/components/icons/LineIcon.svelte +7 -0
- package/package/components/icons/LineIcon.svelte.d.ts +7 -0
- package/package/components/icons/LinearIcon.svelte +7 -0
- package/package/components/icons/LinearIcon.svelte.d.ts +7 -0
- package/package/components/icons/LinodeIcon.svelte +7 -0
- package/package/components/icons/LinodeIcon.svelte.d.ts +7 -0
- package/package/components/icons/LumaAiIcon.svelte +39 -0
- package/package/components/icons/LumaAiIcon.svelte.d.ts +7 -0
- package/package/components/icons/MSTeamsIcon.svelte +20 -38
- package/package/components/icons/MSTeamsIcon.svelte.d.ts +2 -0
- package/package/components/icons/MagentoIcon.svelte +7 -0
- package/package/components/icons/MagentoIcon.svelte.d.ts +7 -0
- package/package/components/icons/MailchimpIcon.svelte +25 -13
- package/package/components/icons/MandrillIcon.svelte +7 -0
- package/package/components/icons/MandrillIcon.svelte.d.ts +7 -0
- package/package/components/icons/MauticIcon.svelte +7 -0
- package/package/components/icons/MauticIcon.svelte.d.ts +7 -0
- package/package/components/icons/MediumIcon.svelte +7 -0
- package/package/components/icons/MediumIcon.svelte.d.ts +7 -0
- package/package/components/icons/MiroIcon.svelte +7 -0
- package/package/components/icons/MiroIcon.svelte.d.ts +7 -0
- package/package/components/icons/MistralIcon.svelte +7 -0
- package/package/components/icons/MistralIcon.svelte.d.ts +7 -0
- package/package/components/icons/MixpanelIcon.svelte +7 -0
- package/package/components/icons/MixpanelIcon.svelte.d.ts +7 -0
- package/package/components/icons/MondayIcon.svelte +7 -0
- package/package/components/icons/MondayIcon.svelte.d.ts +7 -0
- package/package/components/icons/NeonDbIcon.svelte +23 -0
- package/package/components/icons/NeonDbIcon.svelte.d.ts +7 -0
- package/package/components/icons/NetlifyIcon.svelte +7 -0
- package/package/components/icons/NetlifyIcon.svelte.d.ts +7 -0
- package/package/components/icons/OneSignalIcon.svelte +9 -0
- package/package/components/icons/OneSignalIcon.svelte.d.ts +7 -0
- package/package/components/icons/OpenWeatherIcon.svelte +7 -0
- package/package/components/icons/OpenWeatherIcon.svelte.d.ts +7 -0
- package/package/components/icons/PagerDutyIcon.svelte +7 -0
- package/package/components/icons/PagerDutyIcon.svelte.d.ts +7 -0
- package/package/components/icons/PandaDocIcon.svelte +7 -0
- package/package/components/icons/PandaDocIcon.svelte.d.ts +7 -0
- package/package/components/icons/PaypalIcon.svelte +7 -0
- package/package/components/icons/PaypalIcon.svelte.d.ts +7 -0
- package/package/components/icons/PersonioIcon.svelte +7 -0
- package/package/components/icons/PersonioIcon.svelte.d.ts +7 -0
- package/package/components/icons/PinterestIcon.svelte +7 -0
- package/package/components/icons/PinterestIcon.svelte.d.ts +7 -0
- package/package/components/icons/PipedriveIcon.svelte +11 -0
- package/package/components/icons/PipedriveIcon.svelte.d.ts +7 -0
- package/package/components/icons/PlanetScaleIcon.svelte +7 -0
- package/package/components/icons/PlanetScaleIcon.svelte.d.ts +7 -0
- package/package/components/icons/PostmarkIcon.svelte +7 -0
- package/package/components/icons/PostmarkIcon.svelte.d.ts +7 -0
- package/package/components/icons/PusherIcon.svelte +7 -0
- package/package/components/icons/PusherIcon.svelte.d.ts +7 -0
- package/package/components/icons/QuickbooksIcon.svelte +13 -1
- package/package/components/icons/RaindropIcon.svelte +27 -0
- package/package/components/icons/RaindropIcon.svelte.d.ts +7 -0
- package/package/components/icons/ReadwiseIcon.svelte +12 -0
- package/package/components/icons/ReadwiseIcon.svelte.d.ts +7 -0
- package/package/components/icons/RenderIcon.svelte +7 -0
- package/package/components/icons/RenderIcon.svelte.d.ts +7 -0
- package/package/components/icons/ReplicateIcon.svelte +7 -0
- package/package/components/icons/ReplicateIcon.svelte.d.ts +7 -0
- package/package/components/icons/ResendIcon.svelte +1 -1
- package/package/components/icons/RestIcon.svelte +1 -0
- package/package/components/icons/RingCentralIcon.svelte +7 -0
- package/package/components/icons/RingCentralIcon.svelte.d.ts +7 -0
- package/package/components/icons/RocketChatIcon.svelte +7 -0
- package/package/components/icons/RocketChatIcon.svelte.d.ts +7 -0
- package/package/components/icons/RunPodIcon.svelte +8 -0
- package/package/components/icons/RunPodIcon.svelte.d.ts +7 -0
- package/package/components/icons/RustIcon.svelte +74 -56
- package/package/components/icons/SalesforceIcon.svelte +7 -0
- package/package/components/icons/SalesforceIcon.svelte.d.ts +7 -0
- package/package/components/icons/SegmentIcon.svelte +7 -0
- package/package/components/icons/SegmentIcon.svelte.d.ts +7 -0
- package/package/components/icons/SentryIcon.svelte +7 -0
- package/package/components/icons/SentryIcon.svelte.d.ts +7 -0
- package/package/components/icons/ServiceNowIcon.svelte +7 -0
- package/package/components/icons/ServiceNowIcon.svelte.d.ts +7 -0
- package/package/components/icons/ShortcutIcon.svelte +7 -0
- package/package/components/icons/ShortcutIcon.svelte.d.ts +7 -0
- package/package/components/icons/SigNozIcon.svelte +8 -0
- package/package/components/icons/SigNozIcon.svelte.d.ts +7 -0
- package/package/components/icons/SmartsheetIcon.svelte +7 -0
- package/package/components/icons/SmartsheetIcon.svelte.d.ts +7 -0
- package/package/components/icons/SpeechifyIcon.svelte +7 -0
- package/package/components/icons/SpeechifyIcon.svelte.d.ts +7 -0
- package/package/components/icons/SplitwiseIcon.svelte +7 -0
- package/package/components/icons/SplitwiseIcon.svelte.d.ts +7 -0
- package/package/components/icons/StravaIcon.svelte +7 -0
- package/package/components/icons/StravaIcon.svelte.d.ts +7 -0
- package/package/components/icons/TallyIcon.svelte +7 -0
- package/package/components/icons/TallyIcon.svelte.d.ts +7 -0
- package/package/components/icons/TelnyxIcon.svelte +19 -0
- package/package/components/icons/TelnyxIcon.svelte.d.ts +7 -0
- package/package/components/icons/ThreadsIcon.svelte +7 -0
- package/package/components/icons/ThreadsIcon.svelte.d.ts +7 -0
- package/package/components/icons/TodoistIcon.svelte +7 -0
- package/package/components/icons/TodoistIcon.svelte.d.ts +7 -0
- package/package/components/icons/TogetherAiIcon.svelte +23 -0
- package/package/components/icons/TogetherAiIcon.svelte.d.ts +7 -0
- package/package/components/icons/TrelloIcon.svelte +22 -1
- package/package/components/icons/TursoIcon.svelte +7 -0
- package/package/components/icons/TursoIcon.svelte.d.ts +7 -0
- package/package/components/icons/TwitchIcon.svelte +7 -0
- package/package/components/icons/TwitchIcon.svelte.d.ts +7 -0
- package/package/components/icons/TwitterIcon.svelte +7 -0
- package/package/components/icons/TwitterIcon.svelte.d.ts +7 -0
- package/package/components/icons/TypeformIcon.svelte +1 -1
- package/package/components/icons/VercelIcon.svelte +7 -0
- package/package/components/icons/VercelIcon.svelte.d.ts +7 -0
- package/package/components/icons/WebflowIcon.svelte +7 -0
- package/package/components/icons/WebflowIcon.svelte.d.ts +7 -0
- package/package/components/icons/WooCommerceIcon.svelte +7 -0
- package/package/components/icons/WooCommerceIcon.svelte.d.ts +7 -0
- package/package/components/icons/WordpressIcon.svelte +7 -0
- package/package/components/icons/WordpressIcon.svelte.d.ts +7 -0
- package/package/components/icons/XataIcon.svelte +13 -0
- package/package/components/icons/XataIcon.svelte.d.ts +7 -0
- package/package/components/icons/YelpIcon.svelte +7 -0
- package/package/components/icons/YelpIcon.svelte.d.ts +7 -0
- package/package/components/icons/YnabIcon.svelte +7 -0
- package/package/components/icons/YnabIcon.svelte.d.ts +7 -0
- package/package/components/icons/YoutubeIcon.svelte +7 -0
- package/package/components/icons/YoutubeIcon.svelte.d.ts +7 -0
- package/package/components/icons/ZendeskIcon.svelte +1 -1
- package/package/components/icons/ZeroTierIcon.svelte +7 -0
- package/package/components/icons/ZeroTierIcon.svelte.d.ts +7 -0
- package/package/components/icons/ZoomIcon.svelte +7 -0
- package/package/components/icons/ZoomIcon.svelte.d.ts +7 -0
- package/package/components/icons/index.d.ts +111 -1
- package/package/components/icons/index.js +225 -2
- package/package/components/instanceSettings/GhesAppSettings.svelte +161 -0
- package/package/components/instanceSettings/GhesAppSettings.svelte.d.ts +8 -0
- package/package/components/instanceSettings/IndexerMemorySettings.svelte +19 -8
- package/package/components/instanceSettings/InstanceAISettings.svelte +132 -0
- package/package/components/instanceSettings/InstanceAISettings.svelte.d.ts +10 -0
- package/package/components/instanceSettings/WorkspaceRegistries.svelte +293 -0
- package/package/components/instanceSettings/WorkspaceRegistries.svelte.d.ts +8 -0
- package/package/components/instanceSettings/WsConnectivityTest.svelte +177 -0
- package/package/components/instanceSettings/WsConnectivityTest.svelte.d.ts +7 -0
- package/package/components/instanceSettings.d.ts +3 -1
- package/package/components/instanceSettings.js +92 -2
- package/package/components/mcp/McpScopeSelector.svelte +408 -0
- package/package/components/mcp/McpScopeSelector.svelte.d.ts +7 -0
- package/package/components/meltComponents/Popover.svelte +0 -1
- package/package/components/raw_apps/RawAppPreview.svelte +6 -2
- package/package/components/recording/FlowRecordingReplay.svelte +94 -52
- package/package/components/recording/FlowRecordingReplay.svelte.d.ts +10 -1
- package/package/components/recording/ScriptRecordingReplay.svelte +140 -76
- package/package/components/recording/ScriptRecordingReplay.svelte.d.ts +10 -1
- package/package/components/runs/JobRunsPreview.svelte +8 -1
- package/package/components/runs/TimeframeSelect.svelte +0 -1
- package/package/components/schema/JobSchemaPicker.svelte +8 -2
- package/package/components/schema/JobSchemaPicker.svelte.d.ts +1 -0
- package/package/components/schema/SchemaFormDND.svelte +15 -3
- package/package/components/scriptEditor/LogPanel.svelte +78 -68
- package/package/components/script_builder.d.ts +1 -1
- package/package/components/scripts/CreateActionsScript.svelte +3 -3
- package/package/components/scripts/WacExportDrawer.svelte +127 -0
- package/package/components/scripts/WacExportDrawer.svelte.d.ts +8 -0
- package/package/components/scripts/scriptStore.svelte.d.ts +2 -0
- package/package/components/scripts/scriptStore.svelte.js +2 -0
- package/package/components/select/SelectDropdown.svelte +1 -1
- package/package/components/settings/AIPromptsModal.svelte +5 -2
- package/package/components/settings/AIPromptsModal.svelte.d.ts +1 -1
- package/package/components/settings/CloudQuotas.svelte +152 -0
- package/package/components/settings/CloudQuotas.svelte.d.ts +3 -0
- package/package/components/settings/CreateToken.svelte +15 -430
- package/package/components/settings/Trashbin.svelte +248 -0
- package/package/components/settings/Trashbin.svelte.d.ts +3 -0
- package/package/components/sidebar/MultiplayerMenu.svelte +14 -4
- package/package/components/triggers/DeleteTriggerButton.svelte +1 -0
- package/package/components/triggers/PermissionedAsLine.svelte +66 -0
- package/package/components/triggers/PermissionedAsLine.svelte.d.ts +9 -0
- package/package/components/triggers/TriggerEditorToolbar.svelte +2 -2
- package/package/components/triggers/TriggerTokens.svelte +3 -3
- package/package/components/triggers/email/EmailTriggerEditorInner.svelte +19 -1
- package/package/components/triggers/email/utils.js +3 -1
- package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +24 -4
- package/package/components/triggers/gcp/utils.js +2 -0
- package/package/components/triggers/http/RouteEditorConfigSection.svelte +22 -3
- package/package/components/triggers/http/RouteEditorInner.svelte +28 -6
- package/package/components/triggers/http/RoutesGenerator.svelte +13 -2
- package/package/components/triggers/http/utils.js +3 -1
- package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +23 -6
- package/package/components/triggers/kafka/utils.js +3 -1
- package/package/components/triggers/mqtt/MqttTriggerEditorInner.svelte +27 -5
- package/package/components/triggers/mqtt/utils.js +2 -0
- package/package/components/triggers/native/NativeTriggerEditor.svelte +23 -1
- package/package/components/triggers/native/NativeTriggerTable.svelte +14 -3
- package/package/components/triggers/native/utils.js +3 -2
- package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +19 -1
- package/package/components/triggers/nats/utils.js +2 -0
- package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte +19 -1
- package/package/components/triggers/postgres/utils.js +2 -0
- package/package/components/triggers/schedules/ScheduleEditorInner.svelte +29 -7
- package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte +19 -1
- package/package/components/triggers/sqs/utils.js +2 -0
- package/package/components/triggers/utils.js +9 -2
- package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +24 -4
- package/package/components/triggers/websocket/utils.js +3 -1
- package/package/components/workspaceSettings/AISettings.svelte +342 -214
- package/package/components/workspaceSettings/AISettings.svelte.d.ts +18 -10
- package/package/components/workspaceSettings/CreateWorkspace.svelte +304 -196
- package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte +1 -2
- package/package/components/workspaceSettings/DucklakeSettings.svelte +1 -1
- package/package/components/workspaceSettings/InstanceFallbackSettings.svelte +75 -0
- package/package/components/workspaceSettings/InstanceFallbackSettings.svelte.d.ts +9 -0
- package/package/components/workspaceSettings/StorageSettings.svelte +4 -35
- package/package/components/workspaceSettings/VolumeStorageSettings.svelte +80 -0
- package/package/components/workspaceSettings/VolumeStorageSettings.svelte.d.ts +10 -0
- package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +4 -1
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +294 -94
- package/package/gen/schemas.gen.js +294 -94
- package/package/gen/services.gen.d.ts +121 -5
- package/package/gen/services.gen.js +237 -5
- package/package/gen/types.gen.d.ts +715 -91
- package/package/githubApp.js +19 -1
- package/package/hubPaths.json +8 -4
- package/package/infer.d.ts +1 -1
- package/package/infer.js +5 -1
- package/package/logoutRedirect.d.ts +1 -0
- package/package/logoutRedirect.js +24 -0
- package/package/script_helpers.d.ts +8 -2
- package/package/script_helpers.js +15 -1
- package/package/services/trashService.d.ts +28 -0
- package/package/services/trashService.js +47 -0
- package/package/stores.d.ts +1 -0
- package/package/stores.js +1 -0
- package/package/system_prompts/index.d.ts +1 -0
- package/package/system_prompts/index.js +7 -0
- package/package/system_prompts/prompts.d.ts +7 -5
- package/package/system_prompts/prompts.js +182 -11
- package/package/templates/wac_python.py.template +42 -0
- package/package/templates/wac_typescript.ts.template +48 -0
- package/package/utils_deployable.d.ts +22 -21
- package/package/utils_deployable.js +58 -25
- package/package/utils_workspace_deploy.d.ts +15 -4
- package/package/utils_workspace_deploy.js +19 -15
- package/package/wsUrl.d.ts +1 -0
- package/package/wsUrl.js +15 -0
- package/package.json +13 -5
- package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +0 -2
- package/dist/sharedUtils/base.d.ts +0 -1
- package/dist/sharedUtils/cloud.d.ts +0 -1
- package/dist/sharedUtils/common.d.ts +0 -111
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +0 -5
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +0 -5
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +0 -5
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +0 -13
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +0 -11
- package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +0 -95
- package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +0 -6
- package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +0 -7
- package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +0 -33
- package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +0 -10
- package/dist/sharedUtils/components/apps/editor/component/components.d.ts +0 -5371
- package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +0 -3
- package/dist/sharedUtils/components/apps/editor/component/index.d.ts +0 -3
- package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +0 -7
- package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +0 -3
- package/dist/sharedUtils/components/apps/gridUtils.d.ts +0 -14
- package/dist/sharedUtils/components/apps/inputType.d.ts +0 -178
- package/dist/sharedUtils/components/apps/rx.d.ts +0 -29
- package/dist/sharedUtils/components/apps/sharedTypes.d.ts +0 -21
- package/dist/sharedUtils/components/apps/types.d.ts +0 -274
- package/dist/sharedUtils/components/assets/lib.d.ts +0 -25
- package/dist/sharedUtils/components/common/alert/model.d.ts +0 -2
- package/dist/sharedUtils/components/common/badge/model.d.ts +0 -8
- package/dist/sharedUtils/components/common/button/model.d.ts +0 -45
- package/dist/sharedUtils/components/common/fileInput/model.d.ts +0 -1
- package/dist/sharedUtils/components/common/index.d.ts +0 -24
- package/dist/sharedUtils/components/common/skeleton/model.d.ts +0 -21
- package/dist/sharedUtils/components/dbTypes.d.ts +0 -14
- package/dist/sharedUtils/components/diff_drawer.d.ts +0 -26
- package/dist/sharedUtils/components/ducklake.d.ts +0 -1
- package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +0 -7
- package/dist/sharedUtils/components/icons/index.d.ts +0 -101
- package/dist/sharedUtils/components/random_positive_adjetive.d.ts +0 -1
- package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +0 -10
- package/dist/sharedUtils/components/raw_apps/utils.d.ts +0 -15
- package/dist/sharedUtils/components/triggers/email/utils.d.ts +0 -4
- package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +0 -2
- package/dist/sharedUtils/components/triggers/http/utils.d.ts +0 -11
- package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +0 -2
- package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +0 -2
- package/dist/sharedUtils/components/triggers/nats/utils.d.ts +0 -2
- package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +0 -8
- package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +0 -2
- package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +0 -32
- package/dist/sharedUtils/components/triggers/utils.d.ts +0 -80
- package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +0 -2
- package/dist/sharedUtils/components/triggers.d.ts +0 -20
- package/dist/sharedUtils/gen/core/ApiError.d.ts +0 -10
- package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +0 -13
- package/dist/sharedUtils/gen/core/ApiResult.d.ts +0 -7
- package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +0 -26
- package/dist/sharedUtils/gen/core/OpenAPI.d.ts +0 -27
- package/dist/sharedUtils/gen/core/request.d.ts +0 -29
- package/dist/sharedUtils/gen/index.d.ts +0 -6
- package/dist/sharedUtils/gen/schemas.gen.d.ts +0 -7036
- package/dist/sharedUtils/gen/services.gen.d.ts +0 -6047
- package/dist/sharedUtils/gen/types.gen.d.ts +0 -21881
- package/dist/sharedUtils/history.svelte.d.ts +0 -9
- package/dist/sharedUtils/hub.d.ts +0 -49
- package/dist/sharedUtils/jsr.json +0 -6
- package/dist/sharedUtils/lib.d.ts +0 -5
- package/dist/sharedUtils/lib.es.js +0 -1588
- package/dist/sharedUtils/package.json +0 -12
- package/dist/sharedUtils/schema.d.ts +0 -3
- package/dist/sharedUtils/stores.d.ts +0 -97
- package/dist/sharedUtils/svelte5Utils.svelte.d.ts +0 -80
- package/dist/sharedUtils/toast.d.ts +0 -8
- package/dist/sharedUtils/utils.d.ts +0 -265
- package/package/components/graph/NodeContextMenu.svelte +0 -36
- package/package/components/graph/NodeContextMenu.svelte.d.ts +0 -8
- package/package/svelte5Utils.svelte.d.ts +0 -184
|
@@ -3,15 +3,33 @@ import { runScriptAndPollResult } from '../../../../jobs/utils';
|
|
|
3
3
|
import { getLanguageByResourceType, resourceTypeToLang, legacyScripts, scriptsV2 } from './utils';
|
|
4
4
|
import {} from '../../../../../gen';
|
|
5
5
|
import { stringifyGraphqlSchema, stringifySchema } from '../../../../copilot/lib';
|
|
6
|
-
import { getDatabaseArg } from '../../../../dbOps';
|
|
6
|
+
import { getDatabaseArg, getDbType } from '../../../../dbOps';
|
|
7
7
|
import { sendUserToast } from '../../../../../toast';
|
|
8
|
+
function makeMetadataMarker(op, payload, ducklake) {
|
|
9
|
+
if (ducklake)
|
|
10
|
+
payload.ducklake = ducklake;
|
|
11
|
+
return `-- WM_INTERNAL_DB_${op} ${JSON.stringify(payload)}`;
|
|
12
|
+
}
|
|
8
13
|
export async function loadTableMetaData(input, workspace, table) {
|
|
9
14
|
if (!input || !table || !workspace)
|
|
10
15
|
return undefined;
|
|
11
|
-
|
|
16
|
+
const dbType = getDbType(input);
|
|
17
|
+
const language = getLanguageByResourceType(dbType);
|
|
18
|
+
const ducklake = input.type === 'ducklake' ? input.ducklake : undefined;
|
|
19
|
+
const dbArg = getDatabaseArg(input);
|
|
20
|
+
// MySQL needs the database name for metadata queries
|
|
21
|
+
let databaseName;
|
|
22
|
+
if (input.type === 'database' && input.resourceType === 'mysql') {
|
|
23
|
+
const resourceObj = (await ResourceService.getResourceValue({
|
|
24
|
+
workspace,
|
|
25
|
+
path: input.resourcePath
|
|
26
|
+
}));
|
|
27
|
+
databaseName = resourceObj?.database;
|
|
28
|
+
}
|
|
29
|
+
const content = makeMetadataMarker('LOAD_TABLE_METADATA', { table, databaseName }, ducklake);
|
|
12
30
|
const job = await JobService.runScriptPreview({
|
|
13
|
-
workspace
|
|
14
|
-
requestBody: { language, content
|
|
31
|
+
workspace,
|
|
32
|
+
requestBody: { language, content, args: dbArg }
|
|
15
33
|
});
|
|
16
34
|
const maxRetries = 8;
|
|
17
35
|
let attempts = 0;
|
|
@@ -19,7 +37,7 @@ export async function loadTableMetaData(input, workspace, table) {
|
|
|
19
37
|
try {
|
|
20
38
|
await new Promise((resolve) => setTimeout(resolve, 1000 * (attempts || 0.6)));
|
|
21
39
|
const testResult = (await JobService.getCompletedJob({
|
|
22
|
-
workspace
|
|
40
|
+
workspace,
|
|
23
41
|
id: job
|
|
24
42
|
}));
|
|
25
43
|
if (testResult.success) {
|
|
@@ -49,10 +67,23 @@ export async function loadAllTablesMetaData(workspace, input) {
|
|
|
49
67
|
if (!input || !workspace)
|
|
50
68
|
return undefined;
|
|
51
69
|
try {
|
|
52
|
-
|
|
70
|
+
const dbType = getDbType(input);
|
|
71
|
+
const dbArg = getDatabaseArg(input);
|
|
72
|
+
const ducklake = input.type === 'ducklake' ? input.ducklake : undefined;
|
|
73
|
+
// MySQL needs the database name for metadata queries
|
|
74
|
+
let databaseName;
|
|
75
|
+
if (input.type === 'database' && input.resourceType === 'mysql') {
|
|
76
|
+
const resourceObj = (await ResourceService.getResourceValue({
|
|
77
|
+
workspace,
|
|
78
|
+
path: input.resourcePath
|
|
79
|
+
}));
|
|
80
|
+
databaseName = resourceObj?.database;
|
|
81
|
+
}
|
|
82
|
+
const language = getLanguageByResourceType(dbType);
|
|
83
|
+
const content = makeMetadataMarker('LOAD_TABLE_METADATA', { table: undefined, databaseName }, ducklake);
|
|
53
84
|
let result = (await runScriptAndPollResult({
|
|
54
|
-
workspace
|
|
55
|
-
requestBody: { language, content
|
|
85
|
+
workspace,
|
|
86
|
+
requestBody: { language, content, args: dbArg }
|
|
56
87
|
}));
|
|
57
88
|
const map = {};
|
|
58
89
|
for (const _col of result) {
|
|
@@ -69,219 +100,6 @@ export async function loadAllTablesMetaData(workspace, input) {
|
|
|
69
100
|
throw e;
|
|
70
101
|
}
|
|
71
102
|
}
|
|
72
|
-
async function makeLoadTableMetaDataQuery(input, workspace, table) {
|
|
73
|
-
if (input.type === 'ducklake') {
|
|
74
|
-
const query = `ATTACH 'ducklake://${input.ducklake}' AS __ducklake__;
|
|
75
|
-
SELECT
|
|
76
|
-
COLUMN_NAME as field,
|
|
77
|
-
DATA_TYPE as DataType,
|
|
78
|
-
COLUMN_DEFAULT as DefaultValue,
|
|
79
|
-
false as IsPrimaryKey,
|
|
80
|
-
false as IsIdentity,
|
|
81
|
-
IS_NULLABLE as IsNullable,
|
|
82
|
-
false as IsEnum,
|
|
83
|
-
TABLE_NAME as table_name
|
|
84
|
-
FROM information_schema.columns c
|
|
85
|
-
WHERE table_catalog = '__ducklake__' AND table_schema = current_schema()`;
|
|
86
|
-
return { query, language: 'duckdb' };
|
|
87
|
-
}
|
|
88
|
-
else if (input.resourceType === 'mysql') {
|
|
89
|
-
const resourceObj = (await ResourceService.getResourceValue({
|
|
90
|
-
workspace,
|
|
91
|
-
path: input.resourcePath
|
|
92
|
-
}));
|
|
93
|
-
const query = `
|
|
94
|
-
SELECT
|
|
95
|
-
COLUMN_NAME as field,
|
|
96
|
-
COLUMN_TYPE as DataType,
|
|
97
|
-
COLUMN_DEFAULT as DefaultValue,
|
|
98
|
-
CASE WHEN COLUMN_KEY = 'PRI' THEN 1 ELSE 0 END as IsPrimaryKey,
|
|
99
|
-
CASE WHEN EXTRA like '%auto_increment%' THEN 'YES' ELSE 'NO' END as IsIdentity,
|
|
100
|
-
CASE WHEN IS_NULLABLE = 'YES' THEN 'YES' ELSE 'NO' END as IsNullable,
|
|
101
|
-
CASE WHEN DATA_TYPE = 'enum' THEN true ELSE false END as IsEnum${table
|
|
102
|
-
? ''
|
|
103
|
-
: `,
|
|
104
|
-
TABLE_NAME as table_name`}
|
|
105
|
-
FROM
|
|
106
|
-
INFORMATION_SCHEMA.COLUMNS${table
|
|
107
|
-
? `
|
|
108
|
-
WHERE
|
|
109
|
-
TABLE_NAME = '${table.split('.').reverse()[0]}' AND TABLE_SCHEMA = '${table.split('.').reverse()[1] ?? resourceObj?.database ?? ''}'`
|
|
110
|
-
: `
|
|
111
|
-
WHERE
|
|
112
|
-
TABLE_SCHEMA NOT IN ('mysql', 'performance_schema', 'information_schema', 'sys')`}
|
|
113
|
-
ORDER BY
|
|
114
|
-
TABLE_NAME,
|
|
115
|
-
ORDINAL_POSITION;
|
|
116
|
-
`;
|
|
117
|
-
return { query, language: 'mysql' };
|
|
118
|
-
}
|
|
119
|
-
else if (input.resourceType === 'postgresql') {
|
|
120
|
-
const query = `
|
|
121
|
-
SELECT
|
|
122
|
-
a.attname as field,
|
|
123
|
-
pg_catalog.format_type(a.atttypid, a.atttypmod) as DataType,
|
|
124
|
-
(SELECT substring(pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) for 128)
|
|
125
|
-
FROM pg_catalog.pg_attrdef d
|
|
126
|
-
WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef) as DefaultValue,
|
|
127
|
-
(SELECT CASE WHEN i.indisprimary THEN true ELSE 'NO' END
|
|
128
|
-
FROM pg_catalog.pg_class tbl, pg_catalog.pg_class idx, pg_catalog.pg_index i, pg_catalog.pg_attribute att
|
|
129
|
-
WHERE tbl.oid = a.attrelid AND idx.oid = i.indexrelid AND att.attrelid = tbl.oid
|
|
130
|
-
AND i.indrelid = tbl.oid AND att.attnum = any(i.indkey) AND att.attname = a.attname LIMIT 1) as IsPrimaryKey,
|
|
131
|
-
CASE a.attidentity
|
|
132
|
-
WHEN 'd' THEN 'By Default'
|
|
133
|
-
WHEN 'a' THEN 'Always'
|
|
134
|
-
ELSE 'No'
|
|
135
|
-
END as IsIdentity,
|
|
136
|
-
CASE a.attnotnull
|
|
137
|
-
WHEN false THEN 'YES'
|
|
138
|
-
ELSE 'NO'
|
|
139
|
-
END as IsNullable,
|
|
140
|
-
(SELECT true
|
|
141
|
-
FROM pg_catalog.pg_enum e
|
|
142
|
-
WHERE e.enumtypid = a.atttypid FETCH FIRST ROW ONLY) as IsEnum${table
|
|
143
|
-
? ''
|
|
144
|
-
: `,
|
|
145
|
-
ns.nspname AS schema_name,
|
|
146
|
-
c.relname AS table_name`}
|
|
147
|
-
FROM pg_catalog.pg_attribute a${table
|
|
148
|
-
? `
|
|
149
|
-
WHERE a.attrelid = (SELECT c.oid FROM pg_catalog.pg_class c JOIN pg_catalog.pg_namespace ns ON c.relnamespace = ns.oid WHERE relname = '${table.split('.').reverse()[0]}' AND ns.nspname = '${table.split('.').reverse()[1] ?? 'public'}')
|
|
150
|
-
AND a.attnum > 0 AND NOT a.attisdropped
|
|
151
|
-
`
|
|
152
|
-
: `
|
|
153
|
-
JOIN pg_catalog.pg_class c ON a.attrelid = c.oid
|
|
154
|
-
JOIN pg_catalog.pg_namespace ns ON c.relnamespace = ns.oid
|
|
155
|
-
WHERE c.relkind = 'r' AND a.attnum > 0 AND NOT a.attisdropped
|
|
156
|
-
AND ns.nspname != 'pg_catalog' AND ns.nspname != 'information_schema'`}
|
|
157
|
-
ORDER BY ${table ? 'a.attnum' : 'ns.nspname, c.relname, a.attnum'};
|
|
158
|
-
|
|
159
|
-
`;
|
|
160
|
-
return { query, language: 'postgresql' };
|
|
161
|
-
}
|
|
162
|
-
else if (input.resourceType === 'ms_sql_server') {
|
|
163
|
-
const query = `
|
|
164
|
-
SELECT
|
|
165
|
-
c.COLUMN_NAME as field,
|
|
166
|
-
c.DATA_TYPE as DataType,
|
|
167
|
-
c.COLUMN_DEFAULT as DefaultValue,
|
|
168
|
-
CASE WHEN COLUMNPROPERTY(OBJECT_ID(c.TABLE_SCHEMA + '.' + c.TABLE_NAME), c.COLUMN_NAME, 'IsIdentity') = 1 THEN 'By Default' ELSE 'No' END as IsIdentity,
|
|
169
|
-
CASE WHEN pk.COLUMN_NAME IS NOT NULL THEN 1 ELSE 0 END as IsPrimaryKey,
|
|
170
|
-
CASE WHEN c.IS_NULLABLE = 'YES' THEN 'YES' ELSE 'NO' END as IsNullable,
|
|
171
|
-
CASE WHEN c.DATA_TYPE = 'enum' THEN 1 ELSE 0 END as IsEnum,
|
|
172
|
-
dc.name as default_constraint_name${table
|
|
173
|
-
? ''
|
|
174
|
-
: `,
|
|
175
|
-
c.TABLE_NAME as table_name`}
|
|
176
|
-
FROM
|
|
177
|
-
INFORMATION_SCHEMA.COLUMNS c
|
|
178
|
-
LEFT JOIN (
|
|
179
|
-
SELECT
|
|
180
|
-
ku.TABLE_SCHEMA,
|
|
181
|
-
ku.TABLE_NAME,
|
|
182
|
-
ku.COLUMN_NAME
|
|
183
|
-
FROM
|
|
184
|
-
INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
|
|
185
|
-
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE ku
|
|
186
|
-
ON tc.CONSTRAINT_TYPE = 'PRIMARY KEY'
|
|
187
|
-
AND tc.CONSTRAINT_NAME = ku.CONSTRAINT_NAME
|
|
188
|
-
AND tc.TABLE_SCHEMA = ku.TABLE_SCHEMA
|
|
189
|
-
AND tc.TABLE_NAME = ku.TABLE_NAME
|
|
190
|
-
) pk ON c.TABLE_SCHEMA = pk.TABLE_SCHEMA
|
|
191
|
-
AND c.TABLE_NAME = pk.TABLE_NAME
|
|
192
|
-
AND c.COLUMN_NAME = pk.COLUMN_NAME
|
|
193
|
-
LEFT JOIN sys.default_constraints dc
|
|
194
|
-
ON dc.parent_object_id = OBJECT_ID(c.TABLE_SCHEMA + '.' + c.TABLE_NAME)
|
|
195
|
-
AND dc.parent_column_id = COLUMNPROPERTY(OBJECT_ID(c.TABLE_SCHEMA + '.' + c.TABLE_NAME), c.COLUMN_NAME, 'ColumnId')${table
|
|
196
|
-
? `
|
|
197
|
-
WHERE
|
|
198
|
-
c.TABLE_NAME = '${table}'`
|
|
199
|
-
: ''}
|
|
200
|
-
ORDER BY
|
|
201
|
-
c.ORDINAL_POSITION;
|
|
202
|
-
`;
|
|
203
|
-
return { query, language: 'mssql' };
|
|
204
|
-
}
|
|
205
|
-
else if (input.resourceType === 'snowflake' ||
|
|
206
|
-
input.resourceType === 'snowflake_oauth') {
|
|
207
|
-
const query = `
|
|
208
|
-
select COLUMN_NAME as field,
|
|
209
|
-
DATA_TYPE as DataType,
|
|
210
|
-
COLUMN_DEFAULT as DefaultValue,
|
|
211
|
-
CASE WHEN COLUMN_DEFAULT like 'AUTOINCREMENT%' THEN 'By Default' ELSE 'No' END as IsIdentity,
|
|
212
|
-
0 as IsPrimaryKey, -- a one-query solution is not trivial, we will use SHOW PRIMARY KEYS separately
|
|
213
|
-
CASE WHEN IS_NULLABLE = 'YES' THEN 'YES' ELSE 'NO' END as IsNullable,
|
|
214
|
-
CASE WHEN DATA_TYPE = 'enum' THEN 1 ELSE 0 END as IsEnum${table
|
|
215
|
-
? ''
|
|
216
|
-
: `,
|
|
217
|
-
table_name as table_name,
|
|
218
|
-
table_schema as schema_name`}
|
|
219
|
-
from information_schema.columns${table
|
|
220
|
-
? `
|
|
221
|
-
where table_name = '${table.split('.').reverse()[0]}' and table_schema = '${table.split('.').reverse()[1] ?? 'PUBLIC'}'`
|
|
222
|
-
: "\nwhere table_schema <> 'INFORMATION_SCHEMA'\n"}
|
|
223
|
-
order by ORDINAL_POSITION;
|
|
224
|
-
`;
|
|
225
|
-
return { query, language: 'snowflake' };
|
|
226
|
-
}
|
|
227
|
-
else if (input.resourceType === 'bigquery') {
|
|
228
|
-
if (table) {
|
|
229
|
-
const query = `SELECT
|
|
230
|
-
c.COLUMN_NAME as field,
|
|
231
|
-
DATA_TYPE as DataType,
|
|
232
|
-
CASE WHEN COLUMN_DEFAULT = 'NULL' THEN '' ELSE COLUMN_DEFAULT END as DefaultValue,
|
|
233
|
-
CASE WHEN constraint_name is not null THEN true ELSE false END as IsPrimaryKey,
|
|
234
|
-
'No' as IsIdentity,
|
|
235
|
-
IS_NULLABLE as IsNullable,
|
|
236
|
-
false as IsEnum
|
|
237
|
-
FROM
|
|
238
|
-
${table.split('.')[0]}.INFORMATION_SCHEMA.COLUMNS c
|
|
239
|
-
LEFT JOIN
|
|
240
|
-
${table.split('.')[0]}.INFORMATION_SCHEMA.KEY_COLUMN_USAGE p
|
|
241
|
-
on c.table_name = p.table_name AND c.column_name = p.COLUMN_NAME
|
|
242
|
-
WHERE
|
|
243
|
-
c.TABLE_NAME = '${table.split('.')[1]}'
|
|
244
|
-
order by c.ORDINAL_POSITION;`;
|
|
245
|
-
return { query, language: 'bigquery' };
|
|
246
|
-
}
|
|
247
|
-
else {
|
|
248
|
-
const query = `import { BigQuery } from '@google-cloud/bigquery@7.5.0';
|
|
249
|
-
export async function main(database: bigquery) {
|
|
250
|
-
const bq = new BigQuery({
|
|
251
|
-
credentials: database
|
|
252
|
-
})
|
|
253
|
-
const [datasets] = await bq.getDatasets();
|
|
254
|
-
if (!datasets) return {}
|
|
255
|
-
const schema = {} as any
|
|
256
|
-
let queries = datasets.map(dataset => \`
|
|
257
|
-
(SELECT
|
|
258
|
-
c.COLUMN_NAME as field,
|
|
259
|
-
'\${dataset.id}' as schema_name,
|
|
260
|
-
c.TABLE_NAME as table_name,
|
|
261
|
-
DATA_TYPE as DataType,
|
|
262
|
-
CASE WHEN COLUMN_DEFAULT = 'NULL' THEN '' ELSE COLUMN_DEFAULT END as DefaultValue,
|
|
263
|
-
CASE WHEN constraint_name is not null THEN true ELSE false END as IsPrimaryKey,
|
|
264
|
-
'No' as IsIdentity,
|
|
265
|
-
IS_NULLABLE as IsNullable,
|
|
266
|
-
false as IsEnum
|
|
267
|
-
FROM
|
|
268
|
-
\\\`\${dataset.id}\\\`.INFORMATION_SCHEMA.COLUMNS c
|
|
269
|
-
LEFT JOIN
|
|
270
|
-
\\\`\${dataset.id}\\\`.INFORMATION_SCHEMA.KEY_COLUMN_USAGE p
|
|
271
|
-
on c.table_name = p.table_name AND c.column_name = p.COLUMN_NAME
|
|
272
|
-
ORDER BY c.ORDINAL_POSITION)\`
|
|
273
|
-
)
|
|
274
|
-
let query = queries.join('\\nUNION ALL \\n')
|
|
275
|
-
const [rows] = await bq.query(query)
|
|
276
|
-
return rows
|
|
277
|
-
}`;
|
|
278
|
-
return { query, language: 'bun' };
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
else {
|
|
282
|
-
throw new Error('Unsupported database type:' + input.resourceType);
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
103
|
// We can't get primary keys in a single query for Snowflake, so we fetch them separately
|
|
286
104
|
async function fetchAndAddSnowflakePrimaryKeysInMap(map, input, workspace, tableKey) {
|
|
287
105
|
if (input.type == 'database' &&
|
|
@@ -304,12 +122,16 @@ async function fetchAndAddSnowflakePrimaryKeysInMap(map, input, workspace, table
|
|
|
304
122
|
}
|
|
305
123
|
}
|
|
306
124
|
async function fetchSnowflakePrimaryKeys(workspace, dbArg, tableKey) {
|
|
125
|
+
const payload = {};
|
|
126
|
+
if (tableKey)
|
|
127
|
+
payload.table = tableKey;
|
|
128
|
+
const content = makeMetadataMarker('SNOWFLAKE_PRIMARY_KEYS', payload, undefined);
|
|
307
129
|
return (await JobService.runScriptPreviewAndWaitResult({
|
|
308
130
|
workspace,
|
|
309
131
|
requestBody: {
|
|
310
132
|
language: 'snowflake',
|
|
311
133
|
args: dbArg,
|
|
312
|
-
content
|
|
134
|
+
content
|
|
313
135
|
}
|
|
314
136
|
}));
|
|
315
137
|
}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LEGACY: These query builders generate full SQL on the frontend.
|
|
3
|
+
* They exist only for backwards compatibility with Database Studio (dbexplorercomponent) apps
|
|
4
|
+
* whose policies were generated with expanded SQL digests.
|
|
5
|
+
*
|
|
6
|
+
* New code (Database Manager) should use WM_INTERNAL_DB markers instead,
|
|
7
|
+
* which are expanded server-side by the Rust query_builders module.
|
|
8
|
+
* See: dbOps.ts → dbTableOpsWithPreviewScripts()
|
|
9
|
+
*/
|
|
1
10
|
import type { AppInput } from '../../../../inputType';
|
|
2
11
|
import type { DbType, DbInput } from '../../../../../dbTypes';
|
|
3
12
|
import { type ColumnDef } from '../utils';
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LEGACY: These query builders generate full SQL on the frontend.
|
|
3
|
+
* They exist only for backwards compatibility with Database Studio (dbexplorercomponent) apps
|
|
4
|
+
* whose policies were generated with expanded SQL digests.
|
|
5
|
+
*
|
|
6
|
+
* New code (Database Manager) should use WM_INTERNAL_DB markers instead,
|
|
7
|
+
* which are expanded server-side by the Rust query_builders module.
|
|
8
|
+
* See: dbOps.ts → dbTableOpsWithPreviewScripts()
|
|
9
|
+
*/
|
|
1
10
|
import type { AppInput } from '../../../../inputType';
|
|
2
11
|
import type { DbType, DbInput } from '../../../../../dbTypes';
|
|
3
12
|
import { type ColumnDef } from '../utils';
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LEGACY: These query builders generate full SQL on the frontend.
|
|
3
|
+
* They exist only for backwards compatibility with Database Studio (dbexplorercomponent) apps
|
|
4
|
+
* whose policies were generated with expanded SQL digests.
|
|
5
|
+
*
|
|
6
|
+
* New code (Database Manager) should use WM_INTERNAL_DB markers instead,
|
|
7
|
+
* which are expanded server-side by the Rust query_builders module.
|
|
8
|
+
* See: dbOps.ts → dbTableOpsWithPreviewScripts()
|
|
9
|
+
*/
|
|
1
10
|
import type { AppInput } from '../../../../inputType';
|
|
2
11
|
import type { DbType, DbInput } from '../../../../../dbTypes';
|
|
3
12
|
import { type ColumnDef } from '../utils';
|
|
@@ -39,6 +39,13 @@ export declare function makePrimaryKeyConstraintQuery(dbType: DbType, table: str
|
|
|
39
39
|
* Groups by constraint name and aggregates columns
|
|
40
40
|
*/
|
|
41
41
|
export declare function transformForeignKeys(rawResults: RawForeignKey[]): TableEditorForeignKey[];
|
|
42
|
+
/**
|
|
43
|
+
* Transforms Snowflake SHOW IMPORTED KEYS result to RawForeignKey format
|
|
44
|
+
* Snowflake returns columns: fk_database_name, fk_schema_name, fk_table_name, fk_column_name,
|
|
45
|
+
* pk_database_name, pk_schema_name, pk_table_name, pk_column_name, key_sequence,
|
|
46
|
+
* update_rule, delete_rule, fk_name, pk_name, deferrability
|
|
47
|
+
*/
|
|
48
|
+
export declare function transformSnowflakeForeignKeys(snowflakeResults: any[]): RawForeignKey[];
|
|
42
49
|
export declare function fetchTableRelationalKeys(input: DbInput, dbType: DbType, table: string, schema: string | undefined, workspace: string, dbArg: Record<string, any>, language: ScriptLang): Promise<{
|
|
43
50
|
foreignKeys: TableEditorForeignKey[];
|
|
44
51
|
pk_constraint_name?: string;
|
|
@@ -228,7 +228,7 @@ function makeSnowflakeForeignKeysQuery(tableName, schemaName) {
|
|
|
228
228
|
* pk_database_name, pk_schema_name, pk_table_name, pk_column_name, key_sequence,
|
|
229
229
|
* update_rule, delete_rule, fk_name, pk_name, deferrability
|
|
230
230
|
*/
|
|
231
|
-
function transformSnowflakeForeignKeys(snowflakeResults) {
|
|
231
|
+
export function transformSnowflakeForeignKeys(snowflakeResults) {
|
|
232
232
|
if (!snowflakeResults || !Array.isArray(snowflakeResults)) {
|
|
233
233
|
return [];
|
|
234
234
|
}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LEGACY: These query builders generate full SQL on the frontend.
|
|
3
|
+
* They exist only for backwards compatibility with Database Studio (dbexplorercomponent) apps
|
|
4
|
+
* whose policies were generated with expanded SQL digests.
|
|
5
|
+
*
|
|
6
|
+
* New code (Database Manager) should use WM_INTERNAL_DB markers instead,
|
|
7
|
+
* which are expanded server-side by the Rust query_builders module.
|
|
8
|
+
* See: dbOps.ts → dbTableOpsWithPreviewScripts()
|
|
9
|
+
*/
|
|
1
10
|
import type { AppInput } from '../../../../inputType';
|
|
2
11
|
import type { DbType, DbInput } from '../../../../../dbTypes';
|
|
3
12
|
import { type ColumnDef } from '../utils';
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LEGACY: These query builders generate full SQL on the frontend.
|
|
3
|
+
* They exist only for backwards compatibility with Database Studio (dbexplorercomponent) apps
|
|
4
|
+
* whose policies were generated with expanded SQL digests.
|
|
5
|
+
*
|
|
6
|
+
* New code (Database Manager) should use WM_INTERNAL_DB markers instead,
|
|
7
|
+
* which are expanded server-side by the Rust query_builders module.
|
|
8
|
+
* See: dbOps.ts → dbTableOpsWithPreviewScripts()
|
|
9
|
+
*/
|
|
1
10
|
import type { AppInput } from '../../../../inputType';
|
|
2
11
|
import type { DbInput, DbType } from '../../../../../dbTypes';
|
|
3
12
|
import { type ColumnDef } from '../utils';
|
|
@@ -18,6 +18,7 @@ let { policy, setPublishState, appPath, customPath = $bindable(), onLatest, save
|
|
|
18
18
|
let isDeployer = $derived($userStore?.groups?.includes(WM_DEPLOYERS_GROUP) ?? false);
|
|
19
19
|
let canPreserve = $derived(!!$userStore?.is_admin || !!$userStore?.is_super_admin || isDeployer);
|
|
20
20
|
let savedOnBehalfOfEmail = $derived(savedApp?.policy?.on_behalf_of_email);
|
|
21
|
+
let savedOnBehalfOf = $derived(savedApp?.policy?.on_behalf_of);
|
|
21
22
|
let onBehalfOfChoice = $state(undefined);
|
|
22
23
|
let customOnBehalfOfEmail = $state('');
|
|
23
24
|
let dirtyCustomPath = $state(false);
|
|
@@ -148,12 +149,13 @@ $effect(() => {
|
|
|
148
149
|
</Tooltip>
|
|
149
150
|
{#if canPreserve}
|
|
150
151
|
<div class="mt-4">
|
|
151
|
-
Because you are either an admin or part of the {WM_DEPLOYERS_GROUP} group, you can select another
|
|
152
|
+
Because you are either an admin or part of the {WM_DEPLOYERS_GROUP} group, you can select another
|
|
153
|
+
user to run this app on behalf of. Once deployed the app will be run on behalf of
|
|
152
154
|
<OnBehalfOfSelector
|
|
153
155
|
targetWorkspace={$workspaceStore ?? ''}
|
|
154
|
-
|
|
156
|
+
targetValue={savedOnBehalfOfEmail}
|
|
155
157
|
selected={onBehalfOfChoice}
|
|
156
|
-
onSelect={(choice,
|
|
158
|
+
onSelect={(choice, details) => {
|
|
157
159
|
onBehalfOfChoice = choice
|
|
158
160
|
if (choice === 'me') {
|
|
159
161
|
policy.on_behalf_of_email = $userStore?.email
|
|
@@ -162,25 +164,25 @@ $effect(() => {
|
|
|
162
164
|
preserveOnBehalfOf = false
|
|
163
165
|
} else if (choice === 'target') {
|
|
164
166
|
policy.on_behalf_of_email = savedOnBehalfOfEmail
|
|
167
|
+
policy.on_behalf_of = savedOnBehalfOf
|
|
165
168
|
customOnBehalfOfEmail = ''
|
|
166
169
|
preserveOnBehalfOf = true
|
|
167
|
-
} else if (choice === 'custom' &&
|
|
168
|
-
policy.on_behalf_of_email = email
|
|
169
|
-
policy.on_behalf_of =
|
|
170
|
-
customOnBehalfOfEmail = email
|
|
170
|
+
} else if (choice === 'custom' && details) {
|
|
171
|
+
policy.on_behalf_of_email = details.email
|
|
172
|
+
policy.on_behalf_of = details.permissionedAs
|
|
173
|
+
customOnBehalfOfEmail = details.email
|
|
171
174
|
preserveOnBehalfOf = true
|
|
172
175
|
}
|
|
173
176
|
}}
|
|
174
177
|
kind="app"
|
|
175
178
|
{canPreserve}
|
|
176
|
-
|
|
179
|
+
customValue={customOnBehalfOfEmail}
|
|
177
180
|
isDeployment={false}
|
|
178
181
|
/>
|
|
179
182
|
</div>
|
|
180
183
|
{/if}
|
|
181
184
|
</Alert>
|
|
182
185
|
|
|
183
|
-
|
|
184
186
|
<div class="mt-10"></div>
|
|
185
187
|
|
|
186
188
|
{#if !hideSecretUrl}
|
|
@@ -103,8 +103,8 @@ export function computeS3FileViewerPolicy(config) {
|
|
|
103
103
|
}
|
|
104
104
|
else if (config.source.type === 'static' &&
|
|
105
105
|
typeof config.source.value === 'string' &&
|
|
106
|
-
((config.sourceKind
|
|
107
|
-
config.sourceKind
|
|
106
|
+
((config.sourceKind?.type === 'static' &&
|
|
107
|
+
config.sourceKind?.value === 's3 (workspace storage)') ||
|
|
108
108
|
config.source.value.startsWith('s3://'))) {
|
|
109
109
|
return {
|
|
110
110
|
s3_path: config.source.value.replace('s3://', ''),
|
|
@@ -34,12 +34,55 @@ function deleteBackgroundScript(index) {
|
|
|
34
34
|
$runnableComponents = $runnableComponents;
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
37
|
+
let prefixOrId = $derived.by(() => {
|
|
38
|
+
const sel = $selectedComponentInEditor;
|
|
39
|
+
if (!sel)
|
|
40
|
+
return undefined;
|
|
41
|
+
if (sel.startsWith(BG_PREFIX))
|
|
42
|
+
return 'bg';
|
|
43
|
+
return sel.endsWith('_transformer') ? sel.slice(0, -'_transformer'.length) : sel;
|
|
44
|
+
});
|
|
45
|
+
let id = $derived.by(() => {
|
|
46
|
+
const sel = $selectedComponentInEditor;
|
|
47
|
+
if (!sel || !sel.startsWith(BG_PREFIX))
|
|
48
|
+
return undefined;
|
|
49
|
+
const rest = sel.slice(BG_PREFIX.length);
|
|
50
|
+
return rest.endsWith('_transformer') ? rest.slice(0, -'_transformer'.length) : rest;
|
|
51
|
+
});
|
|
52
|
+
function containsAction(gridItem, actionId) {
|
|
53
|
+
if (!gridItem?.data)
|
|
54
|
+
return false;
|
|
55
|
+
const data = gridItem.data;
|
|
56
|
+
if (data.type === 'tablecomponent') {
|
|
57
|
+
return data.actionButtons?.some((a) => a.id === actionId) ?? false;
|
|
58
|
+
}
|
|
59
|
+
if (data.type === 'aggridcomponent' ||
|
|
60
|
+
data.type === 'aggridcomponentee' ||
|
|
61
|
+
data.type === 'dbexplorercomponent' ||
|
|
62
|
+
data.type === 'aggridinfinitecomponent' ||
|
|
63
|
+
data.type === 'aggridinfinitecomponentee') {
|
|
64
|
+
return data.actions?.some((a) => a.id === actionId) ?? false;
|
|
65
|
+
}
|
|
66
|
+
if (data.type === 'menucomponent') {
|
|
67
|
+
return data.menuItems?.some((a) => a.id === actionId) ?? false;
|
|
68
|
+
}
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
// Resolve which grid item ID to render — computed once per selection change
|
|
72
|
+
let matchedGridItemId = $derived.by(() => {
|
|
73
|
+
if (!prefixOrId || prefixOrId === 'bg' || prefixOrId.startsWith('unused-'))
|
|
74
|
+
return undefined;
|
|
75
|
+
const allItems = [
|
|
76
|
+
...($app?.grid ?? []),
|
|
77
|
+
...Object.values($app?.subgrids ?? {}).flat()
|
|
78
|
+
];
|
|
79
|
+
// Fast path: direct ID match (most common)
|
|
80
|
+
if (allItems.some((item) => item?.id === prefixOrId))
|
|
81
|
+
return prefixOrId;
|
|
82
|
+
// Slow path: check nested actions
|
|
83
|
+
const parent = allItems.find((item) => containsAction(item, prefixOrId));
|
|
84
|
+
return parent?.id;
|
|
85
|
+
});
|
|
43
86
|
let { width = undefined } = $props();
|
|
44
87
|
</script>
|
|
45
88
|
|
|
@@ -55,9 +98,9 @@ let { width = undefined } = $props();
|
|
|
55
98
|
<div class="text-sm text-secondary text-center py-8 px-2">
|
|
56
99
|
Select a runnable on the left panel
|
|
57
100
|
</div>
|
|
58
|
-
{:else if prefixOrId != 'bg' && !prefixOrId
|
|
101
|
+
{:else if prefixOrId != 'bg' && !prefixOrId?.startsWith('unused-')}
|
|
59
102
|
{#each $app.grid as gridItem, index (gridItem?.id)}
|
|
60
|
-
{#if gridItem?.id ==
|
|
103
|
+
{#if gridItem?.id == matchedGridItemId}
|
|
61
104
|
<InlineScriptsPanelWithTable
|
|
62
105
|
on:createScriptFromInlineScript={(e) => {
|
|
63
106
|
createScriptFromInlineScript(
|
|
@@ -73,7 +116,7 @@ let { width = undefined } = $props();
|
|
|
73
116
|
{/each}
|
|
74
117
|
{#each Object.keys($app.subgrids ?? {}) as subgrid (subgrid)}
|
|
75
118
|
{#each $app.subgrids?.[subgrid] ?? [] as subgridItem, index (subgridItem?.id)}
|
|
76
|
-
{#if subgridItem?.id ==
|
|
119
|
+
{#if subgridItem?.id == matchedGridItemId && $app.subgrids?.[subgrid]}
|
|
77
120
|
<InlineScriptsPanelWithTable
|
|
78
121
|
on:createScriptFromInlineScript={(e) => {
|
|
79
122
|
createScriptFromInlineScript(
|
|
@@ -88,7 +131,7 @@ let { width = undefined } = $props();
|
|
|
88
131
|
{/if}
|
|
89
132
|
{/each}
|
|
90
133
|
{/each}
|
|
91
|
-
{:else if prefixOrId != 'bg' && prefixOrId
|
|
134
|
+
{:else if prefixOrId != 'bg' && prefixOrId?.startsWith('unused-')}
|
|
92
135
|
{#each $app.unusedInlineScripts as unusedInlineScript, index}
|
|
93
136
|
{#if `unused-${index}` == prefixOrId}
|
|
94
137
|
<InlineScriptEditor
|
|
@@ -4,7 +4,7 @@ import { createEventDispatcher } from 'svelte';
|
|
|
4
4
|
import { fade } from 'svelte/transition';
|
|
5
5
|
import { X } from 'lucide-svelte';
|
|
6
6
|
import { createDispatcherIfMounted } from '../../../createDispatcherIfMounted';
|
|
7
|
-
let { value = $bindable(
|
|
7
|
+
let { value = $bindable(), placeholder = '', type = 'text', inputClass = '', wrapperClass = '', buttonClass = '', children, ...rest } = $props();
|
|
8
8
|
const dispatch = createEventDispatcher();
|
|
9
9
|
const dispatchIfMounted = createDispatcherIfMounted(dispatch);
|
|
10
10
|
let isHovered = $state(false);
|
|
@@ -18,10 +18,6 @@ function handleInput(e) {
|
|
|
18
18
|
function clear() {
|
|
19
19
|
value = '';
|
|
20
20
|
}
|
|
21
|
-
run(() => {
|
|
22
|
-
if (value === undefined)
|
|
23
|
-
value = '';
|
|
24
|
-
});
|
|
25
21
|
</script>
|
|
26
22
|
|
|
27
23
|
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
@@ -32,7 +28,7 @@ run(() => {
|
|
|
32
28
|
>
|
|
33
29
|
{#if type === 'textarea'}
|
|
34
30
|
<textarea
|
|
35
|
-
{value}
|
|
31
|
+
value={value ?? ''}
|
|
36
32
|
{placeholder}
|
|
37
33
|
rows="1"
|
|
38
34
|
class="resize-y {inputClass}"
|
|
@@ -45,7 +41,7 @@ run(() => {
|
|
|
45
41
|
{:else}
|
|
46
42
|
<input
|
|
47
43
|
{type}
|
|
48
|
-
{value}
|
|
44
|
+
value={value ?? ''}
|
|
49
45
|
{placeholder}
|
|
50
46
|
class=" {(value ? '!pr-[26px] ' : '') + inputClass}"
|
|
51
47
|
{...rest}
|
|
@@ -4,7 +4,7 @@ import { fade } from 'svelte/transition';
|
|
|
4
4
|
import Button from '../button/Button.svelte';
|
|
5
5
|
import { AlertTriangle, CornerDownLeft, Loader2, RefreshCcw } from 'lucide-svelte';
|
|
6
6
|
import { twMerge } from 'tailwind-merge';
|
|
7
|
-
const { title, confirmationText, keyListen = true, loading = false, open = false, type: _type, showIcon = true, id, children, onConfirmed, onCanceled } = $props();
|
|
7
|
+
const { title, confirmationText, keyListen = true, loading = false, open = false, type: _type, showIcon = true, id, trashbin = false, children, onConfirmed, onCanceled } = $props();
|
|
8
8
|
const type = $derived(_type ?? 'danger');
|
|
9
9
|
const dispatch = createEventDispatcher();
|
|
10
10
|
function onKeyDown(event) {
|
|
@@ -88,6 +88,12 @@ const Icon = $derived(theme[type].Icon ?? AlertTriangle);
|
|
|
88
88
|
<div class="mt-2 text-sm text-secondary">
|
|
89
89
|
{@render children?.()}
|
|
90
90
|
</div>
|
|
91
|
+
{#if trashbin}
|
|
92
|
+
<p class="mt-3 text-xs text-tertiary"
|
|
93
|
+
>This item will be moved to the trashbin and can be restored by a workspace admin
|
|
94
|
+
within 3 days.</p
|
|
95
|
+
>
|
|
96
|
+
{/if}
|
|
91
97
|
</div>
|
|
92
98
|
</div>
|
|
93
99
|
<div class="flex items-center space-x-2 flex-row-reverse space-x-reverse mt-4">
|