windmill-components 1.623.1 → 1.623.2
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/assets/tokens/tokens.json +11 -1
- package/package/ata/apis.js +78 -5
- package/package/cancelable-promise-utils.js +4 -2
- package/package/components/AddUser.svelte +1 -1
- package/package/components/ApiConnectForm.svelte +6 -0
- package/package/components/AppConnectDrawer.svelte +1 -0
- package/package/components/AppConnectInner.svelte +1 -0
- package/package/components/AuthSettings.svelte +3 -1
- package/package/components/BedrockCredentialsCheck.svelte +241 -0
- package/package/components/BedrockCredentialsCheck.svelte.d.ts +3 -0
- package/package/components/CenteredModal.svelte +32 -24
- package/package/components/CenteredModal.svelte.d.ts +7 -27
- package/package/components/CenteredPage.svelte +6 -2
- package/package/components/CenteredPage.svelte.d.ts +3 -0
- package/package/components/CompareWorkspaces.svelte +74 -16
- package/package/components/ConcurrentJobsChart.svelte +3 -2
- package/package/components/ConcurrentJobsChart.svelte.d.ts +2 -2
- package/package/components/CustomPopover.svelte +20 -23
- package/package/components/CustomPopover.svelte.d.ts +14 -39
- package/package/components/DBManager.svelte +134 -42
- package/package/components/DBManager.svelte.d.ts +13 -2
- package/package/components/DBManagerContent.svelte +25 -63
- package/package/components/DBManagerContent.svelte.d.ts +38 -4
- package/package/components/DBManagerDrawer.svelte +7 -9
- package/package/components/DBTable.svelte +1 -1
- package/package/components/DBTable.svelte.d.ts +3 -1
- package/package/components/DBTableEditor.svelte +234 -178
- package/package/components/DBTableEditor.svelte.d.ts +22 -3
- package/package/components/DateInput.svelte +29 -35
- package/package/components/DateInput.svelte.d.ts +10 -11
- package/package/components/DedicatedWorkersSelector.svelte +569 -0
- package/package/components/DedicatedWorkersSelector.svelte.d.ts +8 -0
- package/package/components/DeployWorkspace.svelte +106 -29
- package/package/components/Description.svelte +3 -2
- package/package/components/Dev.svelte +36 -2
- package/package/components/DiffDrawer.svelte +8 -29
- package/package/components/DiffEditor.svelte +32 -2
- package/package/components/DisplayResult.svelte +32 -24
- package/package/components/DropdownV2.svelte +2 -1
- package/package/components/DropdownV2.svelte.d.ts +1 -0
- package/package/components/Editor.svelte +71 -26
- package/package/components/Editor.svelte.d.ts +3 -0
- package/package/components/EditorBar.svelte +1 -1
- package/package/components/FakeMonacoPlaceHolder.svelte +1 -1
- package/package/components/FlowBuilder.svelte +17 -11
- package/package/components/FlowDiffViewer.svelte +37 -0
- package/package/components/FlowDiffViewer.svelte.d.ts +7 -0
- package/package/components/FlowGraphViewer.svelte +5 -2
- package/package/components/FlowGraphViewer.svelte.d.ts +2 -0
- package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
- package/package/components/FlowPreviewContent.svelte +3 -2
- package/package/components/FlowPreviewContent.svelte.d.ts +1 -1
- package/package/components/FlowPreviewResult.svelte +0 -4
- package/package/components/FlowRestartButton.svelte +2 -3
- package/package/components/FlowRestartButton.svelte.d.ts +3 -0
- package/package/components/FlowStatusViewerInner.svelte +55 -35
- package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -1
- package/package/components/FlowStatusWaitingForEvents.svelte +27 -23
- package/package/components/FlowStatusWaitingForEvents.svelte.d.ts +4 -18
- package/package/components/FlowViewer.svelte +103 -2
- package/package/components/FlowViewer.svelte.d.ts +9 -3
- package/package/components/ForkWorkspaceBanner.svelte +32 -13
- package/package/components/GraphqlSchemaViewer.svelte +8 -1
- package/package/components/HistoricInputs.svelte +25 -27
- package/package/components/HistoricInputs.svelte.d.ts +2 -2
- package/package/components/InfiniteList.svelte +27 -20
- package/package/components/InfiniteList.svelte.d.ts +2 -0
- package/package/components/InstanceSetting.svelte +38 -0
- package/package/components/InviteUser.svelte +16 -42
- package/package/components/InviteUser.svelte.d.ts +4 -18
- package/package/components/JobLoader.svelte.d.ts +1 -1
- package/package/components/JobOtelTraces.svelte +287 -0
- package/package/components/JobOtelTraces.svelte.d.ts +6 -0
- package/package/components/JsonInputs.svelte +6 -8
- package/package/components/JsonInputs.svelte.d.ts +7 -8
- package/package/components/LogViewer.svelte +91 -33
- package/package/components/Login.svelte +27 -0
- package/package/components/ManualPopover.svelte +5 -6
- package/package/components/ManualPopover.svelte.d.ts +9 -35
- package/package/components/MemoryFootprintViewer.svelte +2 -6
- package/package/components/ModulePreview.svelte +23 -21
- package/package/components/ModulePreview.svelte.d.ts +1 -0
- package/package/components/NextcloudSetting.svelte +1 -1
- package/package/components/OAuthSetting.svelte +1 -0
- package/package/components/Path.svelte +2 -2
- package/package/components/Path.svelte.d.ts +1 -1
- package/package/components/PocketIdSetting.svelte +82 -0
- package/package/components/PocketIdSetting.svelte.d.ts +6 -0
- package/package/components/ResourceEditor.svelte +4 -4
- package/package/components/ResourcePicker.svelte +4 -0
- package/package/components/ResourcePicker.svelte.d.ts +1 -0
- package/package/components/RunButton.svelte +5 -15
- package/package/components/RunButton.svelte.d.ts +7 -19
- package/package/components/RunChart.svelte +8 -4
- package/package/components/RunChart.svelte.d.ts +2 -2
- package/package/components/RunForm.svelte +9 -17
- package/package/components/RunForm.svelte.d.ts +0 -1
- package/package/components/RunFormAdvancedPopup.svelte +1 -1
- package/package/components/RunsPage.svelte +202 -537
- package/package/components/RunsPage.svelte.d.ts +5 -5
- package/package/components/S3FilePicker.svelte +7 -11
- package/package/components/S3FilePickerInner.svelte +2 -3
- package/package/components/S3FilePickerInner.svelte.d.ts +2 -2
- package/package/components/SavedInputsPicker.svelte +1 -1
- package/package/components/SavedInputsV2.svelte +35 -36
- package/package/components/SchemaForm.svelte +26 -19
- package/package/components/SchemaFormWithArgPicker.svelte +4 -3
- package/package/components/ScriptBuilder.svelte +1 -1
- package/package/components/ScriptEditor.svelte +575 -101
- package/package/components/Section.svelte +4 -2
- package/package/components/ServiceLogsInner.svelte +4 -4
- package/package/components/ShareModal.svelte.d.ts +1 -1
- package/package/components/SimpleEditor.svelte +46 -2
- package/package/components/Star.svelte +8 -12
- package/package/components/Star.svelte.d.ts +6 -19
- package/package/components/StringTypeNarrowing.svelte.d.ts +1 -1
- package/package/components/SuperadminSettingsInner.svelte +1 -1
- package/package/components/TemplateEditor.svelte +54 -29
- package/package/components/TemplateEditor.svelte.d.ts +13 -102
- package/package/components/TimeAgo.svelte +49 -7
- package/package/components/TimeAgo.svelte.d.ts +1 -0
- package/package/components/Toast.svelte +5 -1
- package/package/components/UserSettings.svelte +1 -1
- package/package/components/WorkerGroup.svelte +35 -20
- package/package/components/WorkerGroup.svelte.d.ts +1 -0
- package/package/components/WorkerTagPicker.svelte +1 -1
- package/package/components/WorkerTagSelect.svelte +5 -2
- package/package/components/WorkspaceTutorials.svelte +5 -0
- package/package/components/apps/components/buttons/AppButton.svelte +21 -6
- package/package/components/apps/components/buttons/AppForm.svelte +2 -1
- package/package/components/apps/components/buttons/AppFormButton.svelte +2 -1
- package/package/components/apps/components/display/InsertRowDrawerButton.svelte +1 -1
- package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +2 -5
- package/package/components/apps/components/display/dbtable/dbFeatures.d.ts +9 -0
- package/package/components/apps/components/display/dbtable/dbFeatures.js +32 -0
- package/package/components/apps/components/display/dbtable/metadata.d.ts +3 -3
- package/package/components/apps/components/display/dbtable/metadata.js +177 -148
- package/package/components/apps/components/display/dbtable/queries/alterTable.d.ts +46 -0
- package/package/components/apps/components/display/dbtable/queries/alterTable.js +322 -0
- package/package/components/apps/components/display/dbtable/queries/alterTable.test.d.ts +1 -0
- package/package/components/apps/components/display/dbtable/queries/alterTable.test.js +867 -0
- package/package/components/apps/components/display/dbtable/queries/createTable.d.ts +2 -24
- package/package/components/apps/components/display/dbtable/queries/createTable.js +13 -25
- package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.d.ts +9 -0
- package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.js +45 -0
- package/package/components/apps/components/display/dbtable/queries/relationalKeys.d.ts +45 -0
- package/package/components/apps/components/display/dbtable/queries/relationalKeys.js +401 -0
- package/package/components/apps/components/display/dbtable/queries/select.d.ts +2 -0
- package/package/components/apps/components/display/dbtable/queries/select.js +37 -6
- package/package/components/apps/components/display/dbtable/tableEditor.d.ts +35 -0
- package/package/components/apps/components/display/dbtable/tableEditor.js +67 -0
- package/package/components/apps/components/display/dbtable/utils.d.ts +2 -0
- package/package/components/apps/components/display/dbtable/utils.js +61 -36
- package/package/components/apps/components/display/table/AppAggridTable.svelte +8 -0
- package/package/components/apps/components/display/table/AppAggridTableActions.svelte +9 -9
- package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +1 -1
- package/package/components/apps/components/helpers/HiddenComponent.svelte +1 -1
- package/package/components/apps/components/helpers/InputValue.svelte +1 -1
- package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte +3 -2
- package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -1
- package/package/components/apps/components/helpers/RunnableWrapper.svelte +2 -2
- package/package/components/apps/components/inputs/AppMultiSelectV2.svelte +2 -4
- package/package/components/apps/editor/AppEditorHeader.svelte +8 -1
- package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +32 -29
- package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +2 -2
- package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +4 -4
- package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +3 -3
- package/package/components/apps/editor/PublicApp.svelte +49 -30
- package/package/components/apps/editor/PublicApp.svelte.d.ts +1 -0
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +77 -7
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +2 -2
- package/package/components/apps/editor/inlineScriptsPanel/utils.d.ts +2 -2
- package/package/components/apps/editor/inlineScriptsPanel/utils.js +10 -1
- package/package/components/apps/inputType.d.ts +6 -1
- package/package/components/assets/AssetsDropdownButton.svelte +1 -1
- package/package/components/assets/AssetsUsageDrawer.svelte +98 -27
- package/package/components/assets/AssetsUsageDrawer.svelte.d.ts +5 -6
- package/package/components/assets/lib.d.ts +3 -2
- package/package/components/assets/lib.js +3 -1
- package/package/components/auditLogs/AuditLogsFilters.svelte +9 -17
- package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
- package/package/components/common/CloseButton.svelte +2 -1
- package/package/components/common/CloseButton.svelte.d.ts +1 -0
- package/package/components/common/badge/CountBadge.svelte +4 -3
- package/package/components/common/badge/CountBadge.svelte.d.ts +1 -0
- package/package/components/common/button/Button.svelte +1 -1
- package/package/components/common/button/model.js +1 -1
- package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -1
- package/package/components/common/confirmationModal/ConfirmationModal.svelte +2 -1
- package/package/components/common/confirmationModal/ConfirmationModal.svelte.d.ts +1 -0
- package/package/components/common/drawer/Drawer.svelte +4 -1
- package/package/components/common/drawer/DrawerContent.svelte +6 -3
- package/package/components/common/drawer/DrawerContent.svelte.d.ts +1 -0
- package/package/components/common/languageIcons/TypeScript.svelte +5 -3
- package/package/components/common/languageIcons/TypeScript.svelte.d.ts +1 -0
- package/package/components/common/modal/Modal.svelte +3 -3
- package/package/components/common/modal/Modal2.svelte +1 -0
- package/package/components/common/table/AppRow.svelte +4 -1
- package/package/components/common/table/FlowRow.svelte +4 -1
- package/package/components/common/table/RawAppRow.svelte +4 -1
- package/package/components/common/table/Row.svelte +11 -21
- package/package/components/common/table/Row.svelte.d.ts +4 -20
- package/package/components/common/table/RowIcon.svelte +6 -2
- package/package/components/common/table/RowIcon.svelte.d.ts +1 -1
- package/package/components/common/table/ScriptRow.svelte +4 -1
- package/package/components/copilot/autocomplete/Autocompletor.d.ts +1 -1
- package/package/components/copilot/autocomplete/Autocompletor.js +7 -6
- package/package/components/copilot/autocomplete/request.js +13 -9
- package/package/components/copilot/chat/AIButtonStyle.d.ts +1 -1
- package/package/components/copilot/chat/AIButtonStyle.js +2 -1
- package/package/components/copilot/chat/AIChat.svelte +3 -1
- package/package/components/copilot/chat/AIChatDisplay.svelte +89 -4
- package/package/components/copilot/chat/AIChatInput.svelte +275 -0
- package/package/components/copilot/chat/AIChatManager.svelte.js +107 -1
- package/package/components/copilot/chat/AiChatLayout.svelte +15 -30
- package/package/components/copilot/chat/AppAvailableContextList.svelte +263 -0
- package/package/components/copilot/chat/AppAvailableContextList.svelte.d.ts +13 -0
- package/package/components/copilot/chat/ContextElementBadge.svelte +44 -0
- package/package/components/copilot/chat/DatatableCreationPolicy.svelte +32 -33
- package/package/components/copilot/chat/ProviderModelSelector.svelte +1 -1
- package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +3 -0
- package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +4 -0
- package/package/components/copilot/chat/app/core.d.ts +56 -15
- package/package/components/copilot/chat/app/core.js +141 -22
- package/package/components/copilot/chat/context.d.ts +59 -2
- package/package/components/copilot/chat/context.js +6 -2
- package/package/components/copilot/chat/flow/FlowAIChat.svelte +22 -0
- package/package/components/copilot/chat/flow/core.d.ts +3 -1
- package/package/components/copilot/chat/flow/core.js +29 -2
- package/package/components/copilot/chat/flow/openFlow.json +1 -1
- package/package/components/copilot/chat/flow/openFlowZod.d.ts +1 -0
- package/package/components/copilot/chat/flow/openFlowZod.js +14 -2
- package/package/components/copilot/chat/script/core.d.ts +4 -1
- package/package/components/copilot/chat/script/core.js +43 -6
- package/package/components/copilot/chat/shared.d.ts +10 -0
- package/package/components/copilot/chat/shared.js +24 -0
- package/package/components/copilot/lib.d.ts +1 -1
- package/package/components/copilot/lib.js +2 -9
- package/package/components/copilot/utils.d.ts +5 -0
- package/package/components/copilot/utils.js +8 -0
- package/package/components/custom_ui.d.ts +2 -0
- package/package/components/dbOps.d.ts +18 -4
- package/package/components/dbOps.js +25 -3
- package/package/components/debug/DebugConsole.svelte +277 -0
- package/package/components/debug/DebugConsole.svelte.d.ts +13 -0
- package/package/components/debug/DebugPanel.svelte +97 -0
- package/package/components/debug/DebugPanel.svelte.d.ts +11 -0
- package/package/components/debug/DebugToolbar.svelte +148 -0
- package/package/components/debug/DebugToolbar.svelte.d.ts +17 -0
- package/package/components/debug/DebugVariableViewer.svelte +115 -0
- package/package/components/debug/DebugVariableViewer.svelte.d.ts +11 -0
- package/package/components/debug/MonacoDebugger.svelte +384 -0
- package/package/components/debug/MonacoDebugger.svelte.d.ts +15 -0
- package/package/components/debug/dapClient.d.ts +192 -0
- package/package/components/debug/dapClient.js +426 -0
- package/package/components/debug/debugUtils.d.ts +30 -0
- package/package/components/debug/debugUtils.js +131 -0
- package/package/components/debug/index.d.ts +75 -0
- package/package/components/debug/index.js +82 -0
- package/package/components/details/DetailPageHeader.svelte +21 -7
- package/package/components/details/DetailPageHeader.svelte.d.ts +2 -1
- package/package/components/details/DetailPageLayout.svelte +10 -1
- package/package/components/details/DetailPageLayout.svelte.d.ts +1 -0
- package/package/components/flows/CreateActionsApp.svelte +6 -4
- package/package/components/flows/DebounceLimit.svelte.d.ts +1 -1
- package/package/components/flows/FlowHistoryInner.svelte +15 -4
- package/package/components/flows/content/AgentToolWrapper.svelte +1 -1
- package/package/components/flows/content/FlowEditorDrawer.svelte +124 -0
- package/package/components/flows/content/FlowEditorDrawer.svelte.d.ts +22 -0
- package/package/components/flows/content/FlowInput.svelte +211 -37
- package/package/components/flows/content/FlowModuleComponent.svelte +553 -67
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +8 -10
- package/package/components/flows/content/FlowModuleHeader.svelte +7 -4
- package/package/components/flows/content/FlowModuleWorkerTagSelect.svelte +1 -1
- package/package/components/flows/content/McpOAuthConnect.svelte +217 -0
- package/package/components/flows/content/McpOAuthConnect.svelte.d.ts +7 -0
- package/package/components/flows/content/McpToolEditor.svelte +50 -37
- package/package/components/flows/content/McpToolEditor.svelte.d.ts +0 -1
- package/package/components/flows/conversations/FlowChat.svelte +16 -2
- package/package/components/flows/conversations/FlowChat.svelte.d.ts +2 -1
- package/package/components/flows/conversations/FlowChatInterface.svelte +103 -6
- package/package/components/flows/conversations/FlowChatInterface.svelte.d.ts +2 -0
- package/package/components/flows/conversations/FlowChatManager.svelte.js +53 -21
- package/package/components/flows/conversations/FlowConversationsSidebar.svelte +79 -77
- package/package/components/flows/header/FlowImportExportMenu.svelte +1 -1
- package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +1 -1
- package/package/components/flows/propPicker/PropPickerWrapper.svelte +3 -1
- package/package/components/flows/types.d.ts +2 -0
- package/package/components/git_sync/GitSyncRepositoryCard.svelte +16 -8
- package/package/components/graph/FlowGraphV2.svelte +7 -1
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte +41 -24
- package/package/components/home/ItemsList.svelte +7 -6
- package/package/components/home/TutorialBanner.svelte +34 -18
- package/package/components/home/treeViewUtils.js +1 -1
- package/package/components/icons/CssIcon.svelte +20 -0
- package/package/components/icons/CssIcon.svelte.d.ts +7 -25
- package/package/components/icons/HtmlIcon.svelte +20 -0
- package/package/components/icons/HtmlIcon.svelte.d.ts +8 -0
- package/package/components/icons/JavaScriptIcon.svelte +10 -2
- package/package/components/icons/JavaScriptIcon.svelte.d.ts +1 -0
- package/package/components/icons/JsonIcon.svelte +8 -2
- package/package/components/icons/JsonIcon.svelte.d.ts +1 -0
- package/package/components/icons/LessIcon.svelte +16 -0
- package/package/components/icons/LessIcon.svelte.d.ts +8 -0
- package/package/components/icons/MarkdownIcon.svelte +20 -0
- package/package/components/icons/MarkdownIcon.svelte.d.ts +8 -0
- package/package/components/icons/NextcloudIcon.svelte +3 -2
- package/package/components/icons/NextcloudIcon.svelte.d.ts +2 -0
- package/package/components/icons/PocketIdIcon.svelte +9 -0
- package/package/components/icons/PocketIdIcon.svelte.d.ts +9 -0
- package/package/components/icons/ReactIcon.svelte +10 -2
- package/package/components/icons/ReactIcon.svelte.d.ts +1 -0
- package/package/components/icons/SassIcon.svelte +28 -0
- package/package/components/icons/SassIcon.svelte.d.ts +8 -0
- package/package/components/icons/SvelteIcon.svelte +10 -2
- package/package/components/icons/SvelteIcon.svelte.d.ts +1 -0
- package/package/components/icons/VueIcon.svelte +10 -2
- package/package/components/icons/VueIcon.svelte.d.ts +1 -0
- package/package/components/icons/YamlIcon.svelte +20 -0
- package/package/components/icons/YamlIcon.svelte.d.ts +8 -0
- package/package/components/icons/index.js +3 -1
- package/package/components/instanceSettings/SecretBackendConfig.svelte +514 -0
- package/package/components/instanceSettings/SecretBackendConfig.svelte.d.ts +8 -0
- package/package/components/instanceSettings.d.ts +2 -1
- package/package/components/instanceSettings.js +33 -1
- package/package/components/jobs/JobPreview.svelte +46 -39
- package/package/components/jobs/JobPreview.svelte.d.ts +1 -0
- package/package/components/monacoLanguagesOptions.js +16 -15
- package/package/components/propertyPicker/PropPicker.svelte +16 -2
- package/package/components/propertyPicker/PropPicker.svelte.d.ts +2 -0
- package/package/components/raw_apps/DefaultDatabaseSelector.svelte +9 -5
- package/package/components/raw_apps/FileEditorIcon.svelte +12 -7
- package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +2 -0
- package/package/components/raw_apps/FileTreeNode.svelte +119 -83
- package/package/components/raw_apps/RawAppBackgroundRunner.svelte +88 -8
- package/package/components/raw_apps/RawAppDataTableDrawer.svelte +1 -3
- package/package/components/raw_apps/RawAppDataTableList.svelte +12 -9
- package/package/components/raw_apps/RawAppEditor.svelte +218 -68
- package/package/components/raw_apps/RawAppEditorHeader.svelte +33 -16
- package/package/components/raw_apps/RawAppHistoryList.svelte +264 -80
- package/package/components/raw_apps/RawAppHistoryList.svelte.d.ts +1 -0
- package/package/components/raw_apps/RawAppHistoryManager.svelte.d.ts +15 -1
- package/package/components/raw_apps/RawAppHistoryManager.svelte.js +46 -12
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +549 -47
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +31 -5
- package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +25 -18
- package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +1 -0
- package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +141 -10
- package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte.d.ts +8 -0
- package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +2 -1
- package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +9 -1
- package/package/components/raw_apps/RawAppInputsSpecEditor.svelte +47 -3
- package/package/components/raw_apps/RawAppInputsSpecEditor.svelte.d.ts +2 -2
- package/package/components/raw_apps/RawAppModules.svelte +13 -7
- package/package/components/raw_apps/RawAppPreview.svelte +48 -6
- package/package/components/raw_apps/RawAppSidebar.svelte +194 -125
- package/package/components/raw_apps/RawAppSidebar.svelte.d.ts +1 -0
- package/package/components/raw_apps/RunnableRow.svelte +41 -0
- package/package/components/raw_apps/RunnableRow.svelte.d.ts +11 -0
- package/package/components/raw_apps/datatableUtils.svelte.js +1 -1
- package/package/components/raw_apps/utils.d.ts +1 -1
- package/package/components/raw_apps/utils.js +76 -18
- package/package/components/runs/ManuelDatePicker.svelte +3 -3
- package/package/components/runs/ManuelDatePicker.svelte.d.ts +3 -3
- package/package/components/runs/NoWorkerWithTagWarning.svelte +5 -1
- package/package/components/runs/RunsFilter.svelte +75 -63
- package/package/components/runs/RunsFilter.svelte.d.ts +35 -4
- package/package/components/runs/RunsQueue.svelte.d.ts +1 -1
- package/package/components/runs/RunsTable.svelte +1 -1
- package/package/components/runs/RunsTable.svelte.d.ts +1 -1
- package/package/components/runs/useJobsLoader.svelte.d.ts +34 -0
- package/package/components/runs/useJobsLoader.svelte.js +507 -0
- package/package/components/schema/EditableSchemaWrapper.svelte +2 -2
- package/package/components/scriptEditor/LogPanel.svelte +17 -2
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
- package/package/components/select/MultiSelect.svelte +1 -1
- package/package/components/select/SelectDropdown.svelte +17 -5
- package/package/components/settings/AIPromptsModal.svelte +88 -0
- package/package/components/settings/AIPromptsModal.svelte.d.ts +11 -0
- package/package/components/settings/ChangeWorkspaceColor.svelte +4 -3
- package/package/components/settings/ChangeWorkspaceId.svelte +16 -11
- package/package/components/settings/ChangeWorkspaceName.svelte +7 -6
- package/package/components/settings/CreateToken.svelte +4 -4
- package/package/components/settings/UserAIPromptsSettings.svelte +56 -15
- package/package/components/settings/WorkspaceOperatorSettings.svelte +68 -85
- package/package/components/settings/WorkspaceUserSettings.svelte +537 -411
- package/package/components/sidebar/MenuButton.svelte +54 -24
- package/package/components/sidebar/MenuButton.svelte.d.ts +2 -0
- package/package/components/sidebar/MultiplayerMenu.svelte +4 -4
- package/package/components/sidebar/OperatorMenu.svelte +63 -88
- package/package/components/sidebar/SidebarContent.svelte +39 -6
- package/package/components/sidebar/UserMenu.svelte +3 -3
- package/package/components/sidebar/WorkspaceMenu.svelte +35 -85
- package/package/components/sqlTypeService.js +4 -3
- package/package/components/table/DataTable.svelte +8 -3
- package/package/components/table/DataTable.svelte.d.ts +2 -0
- package/package/components/text_input/TextInput.svelte +3 -0
- package/package/components/text_input/TextInput.svelte.d.ts +2 -0
- package/package/components/triggers/AddTriggersButton.svelte +17 -4
- package/package/components/triggers/TriggersEditor.svelte +4 -0
- package/package/components/triggers/TriggersWrapper.svelte +14 -0
- package/package/components/triggers/native/NativeTriggerEditor.svelte +379 -0
- package/package/components/triggers/native/NativeTriggerEditor.svelte.d.ts +26 -0
- package/package/components/triggers/native/NativeTriggerTable.svelte +155 -0
- package/package/components/triggers/native/NativeTriggerTable.svelte.d.ts +16 -0
- package/package/components/triggers/native/NativeTriggersPanel.svelte +40 -0
- package/package/components/triggers/native/NativeTriggersPanel.svelte.d.ts +15 -0
- package/package/components/triggers/native/services/nextcloud/NextcloudTriggerForm.svelte +104 -0
- package/package/components/triggers/native/services/nextcloud/NextcloudTriggerForm.svelte.d.ts +18 -0
- package/package/components/triggers/native/utils.d.ts +74 -0
- package/package/components/triggers/native/utils.js +152 -0
- package/package/components/triggers/triggers.svelte.d.ts +2 -1
- package/package/components/triggers/triggers.svelte.js +36 -8
- package/package/components/triggers/utils.js +18 -6
- package/package/components/triggers.d.ts +1 -1
- package/package/components/tutorials/FlowBuilderLiveTutorial.svelte +6 -35
- package/package/components/tutorials/RunsTutorial.svelte +399 -0
- package/package/components/{schema/SchemaPicker.svelte.d.ts → tutorials/RunsTutorial.svelte.d.ts} +11 -12
- package/package/components/tutorials/TroubleshootFlowTutorial.svelte +5 -20
- package/package/components/tutorials/utils.d.ts +16 -0
- package/package/components/tutorials/utils.js +96 -0
- package/package/components/tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte +133 -0
- package/package/components/{SavedInputs.svelte.d.ts → tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte.d.ts} +8 -11
- package/package/components/vscode.js +6 -6
- package/package/components/workspace/WorkspaceCard.svelte +184 -0
- package/package/components/workspace/WorkspaceCard.svelte.d.ts +24 -0
- package/package/components/workspace/WorkspaceIcon.svelte +21 -0
- package/package/components/workspace/WorkspaceIcon.svelte.d.ts +9 -0
- package/package/components/workspace/WorkspaceTreeView.svelte +331 -0
- package/package/components/workspace/WorkspaceTreeView.svelte.d.ts +15 -0
- package/package/components/workspaceSettings/AISettings.svelte +147 -108
- package/package/components/workspaceSettings/CreateWorkspace.svelte +26 -12
- package/package/components/workspaceSettings/CustomInstanceDbSelect.svelte +1 -0
- package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte +3 -1
- package/package/components/workspaceSettings/DataTableSettings.svelte +2 -1
- package/package/components/workspaceSettings/DucklakeSettings.svelte +54 -26
- package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +2 -1
- package/package/components/workspaceSettings/ModelTokenLimits.svelte +14 -18
- package/package/components/workspaceSettings/OAuthClientConfig.svelte +180 -0
- package/package/components/workspaceSettings/OAuthClientConfig.svelte.d.ts +14 -0
- package/package/components/workspaceSettings/StorageSettings.svelte +285 -241
- package/package/components/workspaceSettings/StorageSettings.svelte.d.ts +1 -0
- package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +302 -0
- package/package/components/workspaceSettings/WorkspaceIntegrations.svelte.d.ts +3 -0
- package/package/consts.js +4 -3
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +517 -4
- package/package/gen/schemas.gen.js +523 -4
- package/package/gen/services.gen.d.ts +359 -22
- package/package/gen/services.gen.js +702 -44
- package/package/gen/types.gen.d.ts +1501 -121
- package/package/hub.js +2 -2
- package/package/hubPaths.json +3 -2
- package/package/infer.js +2 -0
- package/package/logout.d.ts +0 -2
- package/package/logout.js +2 -23
- package/package/logoutKit.d.ts +2 -0
- package/package/logoutKit.js +26 -0
- package/package/monaco_workers/graphql.worker.bundle.js +121 -121
- package/package/navigation.d.ts +1 -1
- package/package/rawAppWmillTs.d.ts +11 -0
- package/package/rawAppWmillTs.js +38 -1
- package/package/refreshUser.d.ts +5 -1
- package/package/refreshUser.js +20 -30
- package/package/storeUtils.js +2 -0
- package/package/svelte5Utils.svelte.d.ts +68 -1
- package/package/svelte5Utils.svelte.js +193 -2
- package/package/svelte5UtilsKit.svelte.d.ts +3 -0
- package/package/svelte5UtilsKit.svelte.js +30 -0
- package/package/tutorialUtils.js +0 -4
- package/package/tutorials/config.js +31 -3
- package/package/tutorials/roleUtils.d.ts +1 -1
- package/package/tutorials/roleUtils.js +6 -2
- package/package/utils.js +162 -1
- package/package.json +1 -1
- package/package/components/SavedInputs.svelte +0 -416
- package/package/components/runs/JobsLoader.svelte +0 -468
- package/package/components/runs/JobsLoader.svelte.d.ts +0 -49
- package/package/components/schema/SchemaPicker.svelte +0 -92
|
@@ -2,21 +2,15 @@ import { JobService, ResourceService } from '../../../../../gen';
|
|
|
2
2
|
import { runScriptAndPollResult } from '../../../../jobs/utils';
|
|
3
3
|
import { getLanguageByResourceType, resourceTypeToLang, legacyScripts, scriptsV2 } from './utils';
|
|
4
4
|
import {} from '../../../../../gen';
|
|
5
|
-
import { tryEvery } from '../../../../../utils';
|
|
6
5
|
import { stringifySchema } from '../../../../copilot/lib';
|
|
7
6
|
import { getDatabaseArg } from '../../../../dbOps';
|
|
8
7
|
export async function loadTableMetaData(input, workspace, table) {
|
|
9
8
|
if (!input || !table || !workspace)
|
|
10
9
|
return undefined;
|
|
11
|
-
let language
|
|
12
|
-
let content = await makeLoadTableMetaDataQuery(input, workspace, table);
|
|
10
|
+
let { language, query } = await makeLoadTableMetaDataQuery(input, workspace, table);
|
|
13
11
|
const job = await JobService.runScriptPreview({
|
|
14
12
|
workspace: workspace,
|
|
15
|
-
requestBody: {
|
|
16
|
-
language,
|
|
17
|
-
content,
|
|
18
|
-
args: getDatabaseArg(input)
|
|
19
|
-
}
|
|
13
|
+
requestBody: { language, content: query, args: getDatabaseArg(input) }
|
|
20
14
|
});
|
|
21
15
|
const maxRetries = 8;
|
|
22
16
|
let attempts = 0;
|
|
@@ -29,12 +23,15 @@ export async function loadTableMetaData(input, workspace, table) {
|
|
|
29
23
|
}));
|
|
30
24
|
if (testResult.success) {
|
|
31
25
|
attempts = maxRetries;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
26
|
+
const result = testResult.result.map(lowercaseKeys);
|
|
27
|
+
// For Snowflake, fetch primary keys separately
|
|
28
|
+
if (input.type === 'database' &&
|
|
29
|
+
(input.resourceType === 'snowflake' || input.resourceType === 'snowflake_oauth')) {
|
|
30
|
+
const map = { [table]: result };
|
|
31
|
+
await fetchAndAddSnowflakePrimaryKeysInMap(map, input, workspace, table);
|
|
32
|
+
return map[table];
|
|
37
33
|
}
|
|
34
|
+
return result;
|
|
38
35
|
}
|
|
39
36
|
else {
|
|
40
37
|
attempts++;
|
|
@@ -50,28 +47,20 @@ export async function loadTableMetaData(input, workspace, table) {
|
|
|
50
47
|
export async function loadAllTablesMetaData(workspace, input) {
|
|
51
48
|
if (!input || !workspace)
|
|
52
49
|
return undefined;
|
|
53
|
-
let language = input.type == 'ducklake' ? 'duckdb' : getLanguageByResourceType(input.resourceType);
|
|
54
50
|
try {
|
|
51
|
+
let { language, query } = await makeLoadTableMetaDataQuery(input, workspace, undefined);
|
|
55
52
|
let result = (await runScriptAndPollResult({
|
|
56
53
|
workspace: workspace,
|
|
57
|
-
requestBody: {
|
|
58
|
-
language,
|
|
59
|
-
content: await makeLoadTableMetaDataQuery(input, workspace, undefined),
|
|
60
|
-
args: getDatabaseArg(input)
|
|
61
|
-
}
|
|
54
|
+
requestBody: { language, content: query, args: getDatabaseArg(input) }
|
|
62
55
|
}));
|
|
63
|
-
if (input.type === 'database' && input.resourceType === 'ms_sql_server') {
|
|
64
|
-
result = result[0];
|
|
65
|
-
}
|
|
66
56
|
const map = {};
|
|
67
57
|
for (const _col of result) {
|
|
68
58
|
const col = lowercaseKeys(_col);
|
|
69
59
|
const tableKey = col.schema_name ? `${col.schema_name}.${col.table_name}` : col.table_name;
|
|
70
|
-
|
|
71
|
-
map[tableKey] = [];
|
|
72
|
-
}
|
|
60
|
+
map[tableKey] ??= [];
|
|
73
61
|
map[tableKey].push(col);
|
|
74
62
|
}
|
|
63
|
+
await fetchAndAddSnowflakePrimaryKeysInMap(map, input, workspace);
|
|
75
64
|
return map;
|
|
76
65
|
}
|
|
77
66
|
catch (e) {
|
|
@@ -80,7 +69,7 @@ export async function loadAllTablesMetaData(workspace, input) {
|
|
|
80
69
|
}
|
|
81
70
|
async function makeLoadTableMetaDataQuery(input, workspace, table) {
|
|
82
71
|
if (input.type === 'ducklake') {
|
|
83
|
-
|
|
72
|
+
const query = `ATTACH 'ducklake://${input.ducklake}' AS __ducklake__;
|
|
84
73
|
SELECT
|
|
85
74
|
COLUMN_NAME as field,
|
|
86
75
|
DATA_TYPE as DataType,
|
|
@@ -92,18 +81,19 @@ async function makeLoadTableMetaDataQuery(input, workspace, table) {
|
|
|
92
81
|
TABLE_NAME as table_name
|
|
93
82
|
FROM information_schema.columns c
|
|
94
83
|
WHERE table_catalog = '__ducklake__' AND table_schema = current_schema()`;
|
|
84
|
+
return { query, language: 'duckdb' };
|
|
95
85
|
}
|
|
96
86
|
else if (input.resourceType === 'mysql') {
|
|
97
87
|
const resourceObj = (await ResourceService.getResourceValue({
|
|
98
88
|
workspace,
|
|
99
89
|
path: input.resourcePath
|
|
100
90
|
}));
|
|
101
|
-
|
|
91
|
+
const query = `
|
|
102
92
|
SELECT
|
|
103
93
|
COLUMN_NAME as field,
|
|
104
94
|
COLUMN_TYPE as DataType,
|
|
105
95
|
COLUMN_DEFAULT as DefaultValue,
|
|
106
|
-
CASE WHEN COLUMN_KEY = 'PRI' THEN
|
|
96
|
+
CASE WHEN COLUMN_KEY = 'PRI' THEN 1 ELSE 0 END as IsPrimaryKey,
|
|
107
97
|
CASE WHEN EXTRA like '%auto_increment%' THEN 'YES' ELSE 'NO' END as IsIdentity,
|
|
108
98
|
CASE WHEN IS_NULLABLE = 'YES' THEN 'YES' ELSE 'NO' END as IsNullable,
|
|
109
99
|
CASE WHEN DATA_TYPE = 'enum' THEN true ELSE false END as IsEnum${table
|
|
@@ -122,9 +112,10 @@ async function makeLoadTableMetaDataQuery(input, workspace, table) {
|
|
|
122
112
|
TABLE_NAME,
|
|
123
113
|
ORDINAL_POSITION;
|
|
124
114
|
`;
|
|
115
|
+
return { query, language: 'mysql' };
|
|
125
116
|
}
|
|
126
117
|
else if (input.resourceType === 'postgresql') {
|
|
127
|
-
|
|
118
|
+
const query = `
|
|
128
119
|
SELECT
|
|
129
120
|
a.attname as field,
|
|
130
121
|
pg_catalog.format_type(a.atttypid, a.atttypmod) as DataType,
|
|
@@ -164,38 +155,59 @@ async function makeLoadTableMetaDataQuery(input, workspace, table) {
|
|
|
164
155
|
ORDER BY ${table ? 'a.attnum' : 'ns.nspname, c.relname, a.attnum'};
|
|
165
156
|
|
|
166
157
|
`;
|
|
158
|
+
return { query, language: 'postgresql' };
|
|
167
159
|
}
|
|
168
160
|
else if (input.resourceType === 'ms_sql_server') {
|
|
169
|
-
|
|
170
|
-
SELECT
|
|
171
|
-
COLUMN_NAME as field,
|
|
172
|
-
DATA_TYPE as DataType,
|
|
173
|
-
COLUMN_DEFAULT as DefaultValue,
|
|
174
|
-
CASE WHEN COLUMNPROPERTY(OBJECT_ID(TABLE_NAME), COLUMN_NAME, 'IsIdentity') = 1 THEN 'By Default' ELSE 'No' END as IsIdentity,
|
|
175
|
-
CASE WHEN
|
|
176
|
-
CASE WHEN IS_NULLABLE = 'YES' THEN 'YES' ELSE 'NO' END as IsNullable,
|
|
177
|
-
CASE WHEN DATA_TYPE = 'enum' THEN 1 ELSE 0 END as IsEnum
|
|
161
|
+
const query = `
|
|
162
|
+
SELECT
|
|
163
|
+
c.COLUMN_NAME as field,
|
|
164
|
+
c.DATA_TYPE as DataType,
|
|
165
|
+
c.COLUMN_DEFAULT as DefaultValue,
|
|
166
|
+
CASE WHEN COLUMNPROPERTY(OBJECT_ID(c.TABLE_SCHEMA + '.' + c.TABLE_NAME), c.COLUMN_NAME, 'IsIdentity') = 1 THEN 'By Default' ELSE 'No' END as IsIdentity,
|
|
167
|
+
CASE WHEN pk.COLUMN_NAME IS NOT NULL THEN 1 ELSE 0 END as IsPrimaryKey,
|
|
168
|
+
CASE WHEN c.IS_NULLABLE = 'YES' THEN 'YES' ELSE 'NO' END as IsNullable,
|
|
169
|
+
CASE WHEN c.DATA_TYPE = 'enum' THEN 1 ELSE 0 END as IsEnum,
|
|
170
|
+
dc.name as default_constraint_name${table
|
|
178
171
|
? ''
|
|
179
172
|
: `,
|
|
180
|
-
TABLE_NAME as table_name`}
|
|
181
|
-
FROM
|
|
182
|
-
INFORMATION_SCHEMA.COLUMNS
|
|
173
|
+
c.TABLE_NAME as table_name`}
|
|
174
|
+
FROM
|
|
175
|
+
INFORMATION_SCHEMA.COLUMNS c
|
|
176
|
+
LEFT JOIN (
|
|
177
|
+
SELECT
|
|
178
|
+
ku.TABLE_SCHEMA,
|
|
179
|
+
ku.TABLE_NAME,
|
|
180
|
+
ku.COLUMN_NAME
|
|
181
|
+
FROM
|
|
182
|
+
INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
|
|
183
|
+
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE ku
|
|
184
|
+
ON tc.CONSTRAINT_TYPE = 'PRIMARY KEY'
|
|
185
|
+
AND tc.CONSTRAINT_NAME = ku.CONSTRAINT_NAME
|
|
186
|
+
AND tc.TABLE_SCHEMA = ku.TABLE_SCHEMA
|
|
187
|
+
AND tc.TABLE_NAME = ku.TABLE_NAME
|
|
188
|
+
) pk ON c.TABLE_SCHEMA = pk.TABLE_SCHEMA
|
|
189
|
+
AND c.TABLE_NAME = pk.TABLE_NAME
|
|
190
|
+
AND c.COLUMN_NAME = pk.COLUMN_NAME
|
|
191
|
+
LEFT JOIN sys.default_constraints dc
|
|
192
|
+
ON dc.parent_object_id = OBJECT_ID(c.TABLE_SCHEMA + '.' + c.TABLE_NAME)
|
|
193
|
+
AND dc.parent_column_id = COLUMNPROPERTY(OBJECT_ID(c.TABLE_SCHEMA + '.' + c.TABLE_NAME), c.COLUMN_NAME, 'ColumnId')${table
|
|
183
194
|
? `
|
|
184
|
-
WHERE
|
|
185
|
-
TABLE_NAME = '${table}'`
|
|
195
|
+
WHERE
|
|
196
|
+
c.TABLE_NAME = '${table}'`
|
|
186
197
|
: ''}
|
|
187
198
|
ORDER BY
|
|
188
|
-
ORDINAL_POSITION;
|
|
199
|
+
c.ORDINAL_POSITION;
|
|
189
200
|
`;
|
|
201
|
+
return { query, language: 'mssql' };
|
|
190
202
|
}
|
|
191
203
|
else if (input.resourceType === 'snowflake' ||
|
|
192
204
|
input.resourceType === 'snowflake_oauth') {
|
|
193
|
-
|
|
205
|
+
const query = `
|
|
194
206
|
select COLUMN_NAME as field,
|
|
195
207
|
DATA_TYPE as DataType,
|
|
196
208
|
COLUMN_DEFAULT as DefaultValue,
|
|
197
209
|
CASE WHEN COLUMN_DEFAULT like 'AUTOINCREMENT%' THEN 'By Default' ELSE 'No' END as IsIdentity,
|
|
198
|
-
|
|
210
|
+
0 as IsPrimaryKey, -- a one-query solution is not trivial, we will use SHOW PRIMARY KEYS separately
|
|
199
211
|
CASE WHEN IS_NULLABLE = 'YES' THEN 'YES' ELSE 'NO' END as IsNullable,
|
|
200
212
|
CASE WHEN DATA_TYPE = 'enum' THEN 1 ELSE 0 END as IsEnum${table
|
|
201
213
|
? ''
|
|
@@ -208,12 +220,11 @@ ORDER BY
|
|
|
208
220
|
: "\nwhere table_schema <> 'INFORMATION_SCHEMA'\n"}
|
|
209
221
|
order by ORDINAL_POSITION;
|
|
210
222
|
`;
|
|
223
|
+
return { query, language: 'snowflake' };
|
|
211
224
|
}
|
|
212
225
|
else if (input.resourceType === 'bigquery') {
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
throw new Error('Table name is required for BigQuery');
|
|
216
|
-
return `SELECT
|
|
226
|
+
if (table) {
|
|
227
|
+
const query = `SELECT
|
|
217
228
|
c.COLUMN_NAME as field,
|
|
218
229
|
DATA_TYPE as DataType,
|
|
219
230
|
CASE WHEN COLUMN_DEFAULT = 'NULL' THEN '' ELSE COLUMN_DEFAULT END as DefaultValue,
|
|
@@ -229,11 +240,77 @@ FROM
|
|
|
229
240
|
WHERE
|
|
230
241
|
c.TABLE_NAME = '${table.split('.')[1]}'
|
|
231
242
|
order by c.ORDINAL_POSITION;`;
|
|
243
|
+
return { query, language: 'bigquery' };
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
const query = `import { BigQuery } from '@google-cloud/bigquery@7.5.0';
|
|
247
|
+
export async function main(database: bigquery) {
|
|
248
|
+
const bq = new BigQuery({
|
|
249
|
+
credentials: database
|
|
250
|
+
})
|
|
251
|
+
const [datasets] = await bq.getDatasets();
|
|
252
|
+
if (!datasets) return {}
|
|
253
|
+
const schema = {} as any
|
|
254
|
+
let queries = datasets.map(dataset => \`
|
|
255
|
+
(SELECT
|
|
256
|
+
c.COLUMN_NAME as field,
|
|
257
|
+
'\${dataset.id}' as schema_name,
|
|
258
|
+
c.TABLE_NAME as table_name,
|
|
259
|
+
DATA_TYPE as DataType,
|
|
260
|
+
CASE WHEN COLUMN_DEFAULT = 'NULL' THEN '' ELSE COLUMN_DEFAULT END as DefaultValue,
|
|
261
|
+
CASE WHEN constraint_name is not null THEN true ELSE false END as IsPrimaryKey,
|
|
262
|
+
'No' as IsIdentity,
|
|
263
|
+
IS_NULLABLE as IsNullable,
|
|
264
|
+
false as IsEnum
|
|
265
|
+
FROM
|
|
266
|
+
\\\`\${dataset.id}\\\`.INFORMATION_SCHEMA.COLUMNS c
|
|
267
|
+
LEFT JOIN
|
|
268
|
+
\\\`\${dataset.id}\\\`.INFORMATION_SCHEMA.KEY_COLUMN_USAGE p
|
|
269
|
+
on c.table_name = p.table_name AND c.column_name = p.COLUMN_NAME
|
|
270
|
+
ORDER BY c.ORDINAL_POSITION)\`
|
|
271
|
+
)
|
|
272
|
+
let query = queries.join('\\nUNION ALL \\n')
|
|
273
|
+
const [rows] = await bq.query(query)
|
|
274
|
+
return rows
|
|
275
|
+
}`;
|
|
276
|
+
return { query, language: 'bun' };
|
|
277
|
+
}
|
|
232
278
|
}
|
|
233
279
|
else {
|
|
234
280
|
throw new Error('Unsupported database type:' + input.resourceType);
|
|
235
281
|
}
|
|
236
282
|
}
|
|
283
|
+
// We can't get primary keys in a single query for Snowflake, so we fetch them separately
|
|
284
|
+
async function fetchAndAddSnowflakePrimaryKeysInMap(map, input, workspace, tableKey) {
|
|
285
|
+
if (input.type == 'database' &&
|
|
286
|
+
(input.resourceType === 'snowflake' || input.resourceType === 'snowflake_oauth')) {
|
|
287
|
+
let pkResult = await fetchSnowflakePrimaryKeys(workspace, getDatabaseArg(input), tableKey);
|
|
288
|
+
for (const pk of pkResult) {
|
|
289
|
+
const pkTableKey = `${pk.schema_name}.${pk.table_name}`.toUpperCase();
|
|
290
|
+
// Also check the original casing and the provided tableKey
|
|
291
|
+
const keysToCheck = [pkTableKey, `${pk.schema_name}.${pk.table_name}`, tableKey].filter(Boolean);
|
|
292
|
+
for (const key of keysToCheck) {
|
|
293
|
+
if (key in map) {
|
|
294
|
+
for (const col of map[key]) {
|
|
295
|
+
if (col.field.toLowerCase() === pk.column_name.toLowerCase()) {
|
|
296
|
+
col.isprimarykey = true;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
async function fetchSnowflakePrimaryKeys(workspace, dbArg, tableKey) {
|
|
305
|
+
return (await JobService.runScriptPreviewAndWaitResult({
|
|
306
|
+
workspace,
|
|
307
|
+
requestBody: {
|
|
308
|
+
language: 'snowflake',
|
|
309
|
+
args: dbArg,
|
|
310
|
+
content: tableKey ? `SHOW PRIMARY KEYS IN TABLE ${tableKey}` : 'SHOW PRIMARY KEYS IN ACCOUNT'
|
|
311
|
+
}
|
|
312
|
+
}));
|
|
313
|
+
}
|
|
237
314
|
function lowercaseKeys(obj) {
|
|
238
315
|
const newObj = {};
|
|
239
316
|
Object.keys(obj).forEach((key) => {
|
|
@@ -241,113 +318,65 @@ function lowercaseKeys(obj) {
|
|
|
241
318
|
});
|
|
242
319
|
return newObj;
|
|
243
320
|
}
|
|
244
|
-
export async function getDbSchemas(resourceType, resourcePath, workspace,
|
|
321
|
+
export async function getDbSchemas(resourceType, resourcePath, workspace, errorCallback, options = {}) {
|
|
245
322
|
let scripts = options.useLegacyScripts ? legacyScripts : scriptsV2;
|
|
246
|
-
|
|
323
|
+
let sqlScript = scripts[getLanguageByResourceType(resourceType)];
|
|
324
|
+
if (!resourceType || !resourcePath || !workspace || !sqlScript)
|
|
247
325
|
return;
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
}
|
|
253
|
-
const job = await JobService.runScriptPreview({
|
|
254
|
-
workspace: workspace,
|
|
326
|
+
let result;
|
|
327
|
+
try {
|
|
328
|
+
result = await JobService.runScriptPreviewAndWaitResult({
|
|
329
|
+
workspace,
|
|
255
330
|
requestBody: {
|
|
256
|
-
language:
|
|
257
|
-
content:
|
|
331
|
+
language: sqlScript.lang,
|
|
332
|
+
content: sqlScript.code,
|
|
258
333
|
args: {
|
|
259
|
-
[
|
|
334
|
+
[sqlScript.argName]: resourcePath.startsWith('datatable://')
|
|
260
335
|
? resourcePath
|
|
261
336
|
: '$res:' + resourcePath
|
|
262
337
|
}
|
|
263
338
|
}
|
|
264
339
|
});
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
stringified: stringifySchema(dbSchema)
|
|
306
|
-
};
|
|
307
|
-
}
|
|
308
|
-
else {
|
|
309
|
-
if (typeof testResult.result !== 'object' ||
|
|
310
|
-
!('__schema' in (testResult?.result ?? {}))) {
|
|
311
|
-
console.error('Invalid GraphQL schema');
|
|
312
|
-
errorCallback('Invalid GraphQL schema');
|
|
313
|
-
}
|
|
314
|
-
else {
|
|
315
|
-
const dbSchema = {
|
|
316
|
-
lang: 'graphql',
|
|
317
|
-
schema: testResult.result
|
|
318
|
-
};
|
|
319
|
-
dbSchemas[resourcePath] = {
|
|
320
|
-
...dbSchema,
|
|
321
|
-
stringified: stringifySchema(dbSchema)
|
|
322
|
-
};
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
resolve();
|
|
328
|
-
}
|
|
329
|
-
},
|
|
330
|
-
timeoutCode: async () => {
|
|
331
|
-
console.error('Could not query schema within 5s');
|
|
332
|
-
errorCallback('Could not query schema within 5s');
|
|
333
|
-
try {
|
|
334
|
-
await JobService.cancelQueuedJob({
|
|
335
|
-
workspace,
|
|
336
|
-
id: job,
|
|
337
|
-
requestBody: {
|
|
338
|
-
reason: 'Could not query schema within 5s'
|
|
339
|
-
}
|
|
340
|
-
});
|
|
341
|
-
}
|
|
342
|
-
catch (err) {
|
|
343
|
-
console.error(err);
|
|
344
|
-
}
|
|
345
|
-
reject();
|
|
346
|
-
},
|
|
347
|
-
interval: 500,
|
|
348
|
-
timeout: 5000
|
|
349
|
-
});
|
|
350
|
-
});
|
|
340
|
+
}
|
|
341
|
+
catch (e) {
|
|
342
|
+
console.error(e);
|
|
343
|
+
errorCallback('Error fetching schema: ' + (e?.message || e));
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
346
|
+
if (resourceType !== undefined) {
|
|
347
|
+
if (resourceType !== 'graphql') {
|
|
348
|
+
const { processingFn } = sqlScript;
|
|
349
|
+
let schema;
|
|
350
|
+
try {
|
|
351
|
+
schema = processingFn !== undefined ? processingFn(result) : result;
|
|
352
|
+
}
|
|
353
|
+
catch (e) {
|
|
354
|
+
console.error(e);
|
|
355
|
+
errorCallback('Error processing schema');
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
358
|
+
const dbSchema = {
|
|
359
|
+
lang: resourceTypeToLang(resourceType),
|
|
360
|
+
schema,
|
|
361
|
+
publicOnly: !!schema.public || !!schema.PUBLIC || !!schema.dbo
|
|
362
|
+
};
|
|
363
|
+
return { ...dbSchema, stringified: stringifySchema(dbSchema) };
|
|
364
|
+
}
|
|
365
|
+
else {
|
|
366
|
+
if (typeof result !== 'object' || !('__schema' in (result ?? {}))) {
|
|
367
|
+
console.error('Invalid GraphQL schema');
|
|
368
|
+
errorCallback('Invalid GraphQL schema');
|
|
369
|
+
return;
|
|
370
|
+
}
|
|
371
|
+
else {
|
|
372
|
+
const dbSchema = {
|
|
373
|
+
lang: 'graphql',
|
|
374
|
+
schema: result
|
|
375
|
+
};
|
|
376
|
+
return { ...dbSchema, stringified: stringifySchema(dbSchema) };
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
351
380
|
}
|
|
352
381
|
export async function getTablesByResource(schema, dbType, dbPath, workspace) {
|
|
353
382
|
const s = Object.values(schema)?.[0];
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { DbType } from '../../../../../dbTypes';
|
|
2
|
+
import { type TableEditorForeignKey, type TableEditorValues, type TableEditorValuesColumn } from '../tableEditor';
|
|
3
|
+
export type AlterTableValues = {
|
|
4
|
+
name: string;
|
|
5
|
+
operations: AlterTableOperation[];
|
|
6
|
+
};
|
|
7
|
+
type AddColumnOperation = {
|
|
8
|
+
kind: 'addColumn';
|
|
9
|
+
column: TableEditorValuesColumn;
|
|
10
|
+
};
|
|
11
|
+
type DropColumnOperation = {
|
|
12
|
+
kind: 'dropColumn';
|
|
13
|
+
name: string;
|
|
14
|
+
};
|
|
15
|
+
export type AlterColumnOperation = {
|
|
16
|
+
kind: 'alterColumn';
|
|
17
|
+
original: TableEditorValuesColumn;
|
|
18
|
+
defaultConstraintName?: string;
|
|
19
|
+
changes: Partial<Omit<TableEditorValuesColumn, 'initialName'>>;
|
|
20
|
+
};
|
|
21
|
+
type AddForeignKeyOperation = {
|
|
22
|
+
kind: 'addForeignKey';
|
|
23
|
+
foreignKey: TableEditorForeignKey;
|
|
24
|
+
};
|
|
25
|
+
type DropForeignKeyOperation = {
|
|
26
|
+
kind: 'dropForeignKey';
|
|
27
|
+
fk_constraint_name: string;
|
|
28
|
+
};
|
|
29
|
+
type RenameTableOperation = {
|
|
30
|
+
kind: 'renameTable';
|
|
31
|
+
to: string;
|
|
32
|
+
};
|
|
33
|
+
type AddPrimaryKeyOperation = {
|
|
34
|
+
kind: 'addPrimaryKey';
|
|
35
|
+
columns: string[];
|
|
36
|
+
};
|
|
37
|
+
type DropPrimaryKeyOperation = {
|
|
38
|
+
kind: 'dropPrimaryKey';
|
|
39
|
+
pk_constraint_name?: string;
|
|
40
|
+
};
|
|
41
|
+
export type AlterTableOperation = AddColumnOperation | DropColumnOperation | AlterColumnOperation | AddForeignKeyOperation | DropForeignKeyOperation | RenameTableOperation | AddPrimaryKeyOperation | DropPrimaryKeyOperation;
|
|
42
|
+
export declare function makeAlterTableQuery(values: AlterTableValues, dbType: DbType, schema?: string): string;
|
|
43
|
+
export declare function makeAlterTableQueries(values: AlterTableValues, dbType: DbType, schema?: string): string[];
|
|
44
|
+
export declare function diffTableEditorValues(original: TableEditorValues, updated: TableEditorValues): AlterTableValues;
|
|
45
|
+
export declare function dbSupportsTransactionalDdl(dbType: DbType): boolean;
|
|
46
|
+
export {};
|