windmill-components 1.677.1 → 1.687.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/AppConnectInner.svelte +6 -0
- package/package/components/CiTestResults.svelte +64 -0
- package/package/components/CiTestResults.svelte.d.ts +7 -0
- package/package/components/CompareWorkspaces.svelte +626 -418
- package/package/components/DBManager.svelte +35 -4
- package/package/components/DBManager.svelte.d.ts +2 -0
- package/package/components/DBManagerContent.svelte +3 -1
- package/package/components/DBManagerContent.svelte.d.ts +3 -0
- package/package/components/DBManagerDrawer.svelte +145 -3
- package/package/components/DBTableEditor.svelte +14 -4
- package/package/components/DatatablePicker.svelte +2 -5
- package/package/components/DatatableSchemaDiff.svelte +531 -0
- package/package/components/DatatableSchemaDiff.svelte.d.ts +29 -0
- package/package/components/DedicatedWorkersSelector.svelte +4 -2
- package/package/components/DefaultTagsInner.svelte +42 -2
- package/package/components/DeployWorkspaceDrawer.svelte +1 -1
- package/package/components/Dev.svelte +20 -3
- package/package/components/Editor.svelte +1 -1
- package/package/components/EditorBar.svelte +1 -1
- package/package/components/EditorBar.svelte.d.ts +1 -1
- package/package/components/FlowStatusViewerInner.svelte +269 -220
- package/package/components/FlowTimeline.svelte +1 -1
- package/package/components/FolderEditor.svelte +189 -4
- package/package/components/ForkWorkspaceBanner.svelte +82 -11
- package/package/components/GlobalUserOffboardingModal.svelte +293 -0
- package/package/components/GlobalUserOffboardingModal.svelte.d.ts +10 -0
- package/package/components/InstanceSettings.svelte +22 -3
- package/package/components/Login.svelte +22 -10
- package/package/components/ModuleTest.svelte +2 -1
- package/package/components/NoMainFuncBadge.svelte +1 -1
- package/package/components/OffboardItemsBox.svelte +56 -0
- package/package/components/OffboardItemsBox.svelte.d.ts +12 -0
- package/package/components/OffboardReassignControls.svelte +47 -0
- package/package/components/OffboardReassignControls.svelte.d.ts +20 -0
- package/package/components/OffboardWorkspaceSection.svelte +110 -0
- package/package/components/OffboardWorkspaceSection.svelte.d.ts +24 -0
- package/package/components/OnBehalfOfSelector.svelte +21 -3
- package/package/components/OnBehalfOfSelector.svelte.d.ts +7 -0
- package/package/components/QueueAlerts.svelte +10 -10
- package/package/components/ResourcePicker.svelte +2 -2
- package/package/components/ScriptBuilder.svelte +52 -11
- package/package/components/ScriptEditor.svelte +1 -3
- package/package/components/ScriptEditor.svelte.d.ts +1 -1
- package/package/components/ShareModal.svelte +236 -98
- package/package/components/SuperadminSettingsInner.svelte +362 -315
- package/package/components/UserOffboardingModal.svelte +238 -0
- package/package/components/UserOffboardingModal.svelte.d.ts +10 -0
- package/package/components/WorkspaceDeployLayout.svelte +3 -3
- package/package/components/WorkspaceDeployLayout.svelte.d.ts +1 -0
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +4 -2
- package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +12 -0
- package/package/components/assets/AssetsDropdownButton.svelte +1 -1
- package/package/components/common/confirmationModal/ConfirmationModal.svelte +1 -1
- package/package/components/common/table/AppRow.svelte +3 -3
- package/package/components/common/table/FlowRow.svelte +3 -3
- package/package/components/common/table/RawAppRow.svelte +4 -4
- package/package/components/common/table/Row.svelte +6 -2
- package/package/components/common/table/ScriptRow.svelte +11 -3
- package/package/components/copilot/chat/AIChatManager.svelte.js +2 -2
- package/package/components/copilot/chat/anthropic.d.ts +7 -1
- package/package/components/copilot/chat/anthropic.js +5 -2
- package/package/components/copilot/chat/app/core.js +129 -1
- package/package/components/copilot/chat/app/core.test.js +192 -0
- package/package/components/copilot/chat/chatLoop.d.ts +3 -0
- package/package/components/copilot/chat/chatLoop.js +13 -5
- package/package/components/copilot/chat/flow/FlowAIChat.svelte +55 -76
- package/package/components/copilot/chat/flow/core.d.ts +13 -3
- package/package/components/copilot/chat/flow/core.js +467 -116
- package/package/components/copilot/chat/flow/helperUtils.d.ts +19 -0
- package/package/components/copilot/chat/flow/helperUtils.js +68 -0
- package/package/components/copilot/chat/flow/helperUtils.test.js +116 -0
- package/package/components/copilot/chat/flow/inlineScriptsUtils.d.ts +5 -24
- package/package/components/copilot/chat/flow/inlineScriptsUtils.js +30 -55
- package/package/components/copilot/chat/flow/utils.test.js +59 -0
- package/package/components/copilot/chat/openai-responses.d.ts +7 -1
- package/package/components/copilot/chat/openai-responses.js +5 -2
- package/package/components/copilot/chat/shared.d.ts +1 -2
- package/package/components/copilot/chat/shared.js +94 -52
- package/package/components/copilot/chat/tokenUsage.d.ts +23 -0
- package/package/components/copilot/chat/tokenUsage.js +42 -0
- package/package/components/copilot/lib.d.ts +5 -1
- package/package/components/copilot/lib.js +21 -5
- package/package/components/deploymentRequest/DeploymentRequestPanel.svelte +337 -0
- package/package/components/deploymentRequest/DeploymentRequestPanel.svelte.d.ts +15 -0
- package/package/components/details/CopyableCodeBlock.svelte +18 -8
- package/package/components/details/CopyableCodeBlock.svelte.d.ts +1 -0
- package/package/components/flows/FlowAssetsHandler.svelte +19 -21
- package/package/components/flows/agentToolTree.d.ts +17 -0
- package/package/components/flows/agentToolTree.js +114 -0
- package/package/components/flows/agentToolTree.test.d.ts +1 -0
- package/package/components/flows/agentToolTree.test.js +86 -0
- package/package/components/flows/agentToolUtils.d.ts +0 -5
- package/package/components/flows/agentToolUtils.js +0 -49
- package/package/components/flows/content/FlowLoop.svelte +7 -4
- package/package/components/flows/content/FlowModuleDeleteAfterUse.svelte +15 -7
- package/package/components/flows/content/FlowSettings.svelte +29 -0
- package/package/components/flows/dfs.d.ts +6 -2
- package/package/components/flows/dfs.js +19 -11
- package/package/components/flows/flowDeleteController.d.ts +32 -0
- package/package/components/flows/flowDeleteController.js +54 -0
- package/package/components/flows/flowDeleteController.test.d.ts +1 -0
- package/package/components/flows/flowDeleteController.test.js +121 -0
- package/package/components/flows/flowDeleteUtils.d.ts +48 -0
- package/package/components/flows/flowDeleteUtils.js +150 -0
- package/package/components/flows/flowDeleteUtils.test.d.ts +1 -0
- package/package/components/flows/flowDeleteUtils.test.js +131 -0
- package/package/components/flows/flowDiff.d.ts +2 -47
- package/package/components/flows/flowDiff.js +16 -293
- package/package/components/flows/flowDiff.testUtils.d.ts +8 -0
- package/package/components/flows/flowDiff.testUtils.js +26 -0
- package/package/components/flows/flowDiffManager.svelte.js +20 -75
- package/package/components/flows/flowDiffManager.svelte.test.js +103 -2
- package/package/components/flows/flowExplorer.d.ts +4 -0
- package/package/components/flows/flowExplorer.js +7 -30
- package/package/components/flows/flowState.d.ts +1 -0
- package/package/components/flows/flowStateUtils.svelte.js +6 -1
- package/package/components/flows/flowTree.d.ts +91 -0
- package/package/components/flows/flowTree.js +326 -0
- package/package/components/flows/flowTree.test.d.ts +1 -0
- package/package/components/flows/flowTree.test.js +236 -0
- package/package/components/flows/map/FlowJobsMenu.svelte +36 -30
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +1 -1
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +70 -227
- package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +0 -2
- package/package/components/flows/pickers/PickHubScriptQuick.svelte +2 -2
- package/package/components/flows/previousResults.js +13 -41
- package/package/components/flows/previousResults.test.d.ts +1 -0
- package/package/components/flows/previousResults.test.js +65 -0
- package/package/components/flows/propPicker/OutputPicker.svelte +2 -1
- package/package/components/flows/propPicker/OutputPickerInner.svelte +41 -4
- package/package/components/flows/propPicker/StepHistory.svelte +9 -1
- package/package/components/git_sync/GitSyncContext.svelte.js +11 -5
- package/package/components/git_sync/GitSyncRepositoryCard.svelte +2 -29
- package/package/components/git_sync/PullWorkspaceModal.svelte +6 -7
- package/package/components/graph/FlowGraphV2.svelte +2 -2
- package/package/components/graph/FlowGraphV2.svelte.d.ts +1 -0
- package/package/components/graph/groupedModulesProxy.svelte.d.ts +10 -0
- package/package/components/graph/groupedModulesProxy.svelte.js +17 -1
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte +5 -2
- package/package/components/home/HomeConnectDrawer.svelte +125 -0
- package/package/components/home/HomeConnectDrawer.svelte.d.ts +5 -0
- package/package/components/icons/GithubIcon.svelte +4 -4
- package/package/components/icons/GithubIcon.svelte.d.ts +5 -2
- package/package/components/instanceSettings/ExternalJwtTokens.svelte +85 -0
- package/package/components/instanceSettings/ExternalJwtTokens.svelte.d.ts +12 -0
- package/package/components/instanceSettings/GhesAppSettings.svelte +17 -0
- package/package/components/instanceSettings/IndexerMemorySettings.svelte +56 -29
- package/package/components/instanceSettings/SecretBackendConfig.svelte +9 -2
- package/package/components/instanceSettings.d.ts +1 -0
- package/package/components/instanceSettings.js +42 -8
- package/package/components/offboarding-utils.d.ts +11 -0
- package/package/components/offboarding-utils.js +100 -0
- package/package/components/raw_apps/RawAppDataTableDrawer.svelte +1 -1
- package/package/components/raw_apps/RawAppEditor.svelte +27 -0
- package/package/components/raw_apps/RawAppEditorHeader.svelte +6 -1
- package/package/components/raw_apps/RawAppEditorHeader.svelte.d.ts +1 -0
- package/package/components/raw_apps/RawAppYamlEditor.svelte +81 -0
- package/package/components/raw_apps/RawAppYamlEditor.svelte.d.ts +20 -0
- package/package/components/raw_apps/datatableUtils.svelte.js +1 -1
- package/package/components/runs/runsFilter.d.ts +1 -1
- package/package/components/script_builder.d.ts +1 -1
- package/package/components/select/Select.svelte +2 -1
- package/package/components/select/Select.svelte.d.ts +1 -0
- package/package/components/settings/CreateToken.svelte +113 -64
- package/package/components/settings/CreateToken.svelte.d.ts +3 -0
- package/package/components/settings/WorkspaceUserSettings.svelte +34 -28
- package/package/components/sidebar/SidebarContent.svelte +58 -2
- package/package/components/sidebar/WorkspaceMenu.svelte +8 -4
- package/package/components/triggers/AddTriggersButton.svelte +11 -0
- package/package/components/triggers/PermissionedAsLine.svelte +37 -3
- package/package/components/triggers/PermissionedAsLine.svelte.d.ts +6 -0
- package/package/components/triggers/TriggersEditor.svelte +5 -1
- package/package/components/triggers/TriggersWrapper.svelte +10 -0
- package/package/components/triggers/email/EmailTriggerEditorInner.svelte +13 -11
- package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +13 -11
- package/package/components/triggers/http/RouteEditorConfigSection.svelte +15 -7
- package/package/components/triggers/http/RouteEditorInner.svelte +14 -14
- package/package/components/triggers/http/RoutesGenerator.svelte +6 -1
- package/package/components/triggers/http/RoutesPanel.svelte +1 -1
- package/package/components/triggers/http/utils.d.ts +1 -1
- package/package/components/triggers/http/utils.js +2 -2
- package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +13 -11
- package/package/components/triggers/mqtt/MqttTriggerEditorInner.svelte +13 -11
- package/package/components/triggers/native/NativeTriggerEditor.svelte +3 -0
- package/package/components/triggers/native/services/github/GitHubTriggerForm.svelte +118 -0
- package/package/components/triggers/native/services/github/GitHubTriggerForm.svelte.d.ts +17 -0
- package/package/components/triggers/native/utils.js +14 -0
- package/package/components/triggers/nats/NatsTriggerEditor.svelte.d.ts +4 -3
- package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +13 -11
- package/package/components/triggers/postgres/PostgresTriggerEditor.svelte.d.ts +4 -3
- package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte +13 -11
- package/package/components/triggers/schedules/ScheduleEditorInner.svelte +13 -11
- package/package/components/triggers/sqs/SqsTriggerEditor.svelte.d.ts +4 -3
- package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte +13 -11
- package/package/components/triggers/triggers.svelte.js +1 -0
- package/package/components/triggers/utils.js +27 -6
- package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +13 -11
- package/package/components/triggers.d.ts +1 -1
- package/package/components/useFolderDefaultPermissionedAs.svelte.d.ts +13 -0
- package/package/components/useFolderDefaultPermissionedAs.svelte.js +63 -0
- package/package/components/workspaceSettings/CreateWorkspace.svelte +16 -677
- package/package/components/workspaceSettings/CreateWorkspaceInner.svelte +604 -0
- package/package/components/workspaceSettings/CreateWorkspaceInner.svelte.d.ts +7 -0
- package/package/components/workspaceSettings/CustomInstanceDbSelect.svelte +27 -25
- package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte +46 -8
- package/package/components/workspaceSettings/DataTableSettings.svelte +27 -22
- package/package/components/workspaceSettings/DucklakeSettings.svelte +1 -1
- package/package/components/workspaceSettings/ForkDatatableSection.svelte +228 -0
- package/package/components/workspaceSettings/ForkDatatableSection.svelte.d.ts +28 -0
- package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +8 -2
- package/package/components/workspaceSettings/RulesetEditor.svelte +27 -2
- package/package/components/workspaceSettings/VolumeStorageSettings.svelte +1 -1
- package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +17 -1
- package/package/consts.d.ts +3 -0
- package/package/consts.js +10 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +485 -19
- package/package/gen/schemas.gen.js +489 -20
- package/package/gen/services.gen.d.ts +229 -2
- package/package/gen/services.gen.js +463 -1
- package/package/gen/types.gen.d.ts +866 -29
- package/package/githubApp.js +5 -1
- package/package/hubPaths.json +1 -4
- package/package/infer.js +13 -1
- package/package/infer.svelte.js +10 -1
- package/package/monaco_workers/sqlTypePlugin.worker.d.ts +10 -0
- package/package/monaco_workers/sqlTypePlugin.worker.js +39 -0
- package/package/script_helpers.d.ts +8 -2
- package/package/script_helpers.js +14 -0
- package/package/stores.d.ts +4 -0
- package/package/stores.js +1 -0
- package/package/system_prompts/prompts.d.ts +4 -3
- package/package/system_prompts/prompts.js +270 -20
- package/package/templates/ci_test_bun.ts.template +19 -0
- package/package/templates/ci_test_python.py.template +18 -0
- package/package/utils_workspace_deploy.d.ts +8 -8
- package/package/utils_workspace_deploy.js +86 -420
- package/package.json +3 -3
- package/package/components/copilot/chat/__tests__/app/appChat.eval.test.js +0 -153
- package/package/components/copilot/chat/__tests__/app/appEvalComparison.d.ts +0 -21
- package/package/components/copilot/chat/__tests__/app/appEvalComparison.js +0 -136
- package/package/components/copilot/chat/__tests__/app/appEvalHelpers.d.ts +0 -15
- package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +0 -107
- package/package/components/copilot/chat/__tests__/app/appEvalRunner.d.ts +0 -50
- package/package/components/copilot/chat/__tests__/app/appEvalRunner.js +0 -93
- package/package/components/copilot/chat/__tests__/app/appFixtureLoader.d.ts +0 -29
- package/package/components/copilot/chat/__tests__/app/appFixtureLoader.js +0 -134
- package/package/components/copilot/chat/__tests__/app/appResultsWriter.d.ts +0 -30
- package/package/components/copilot/chat/__tests__/app/appResultsWriter.js +0 -197
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/main.d.ts +0 -10
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/main.js +0 -9
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/main.d.ts +0 -6
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/main.js +0 -5
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/main.d.ts +0 -12
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/main.js +0 -14
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/main.d.ts +0 -8
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/main.js +0 -25
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/main.d.ts +0 -7
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/main.js +0 -5
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/main.d.ts +0 -8
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/main.js +0 -5
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Breadcrumb.d.ts +0 -10
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Breadcrumb.tsx +0 -26
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileItem.d.ts +0 -10
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileItem.tsx +0 -79
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileList.d.ts +0 -10
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileList.tsx +0 -46
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FolderTree.d.ts +0 -10
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FolderTree.tsx +0 -56
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Toolbar.d.ts +0 -6
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Toolbar.tsx +0 -59
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/index.d.ts +0 -16
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/index.tsx +0 -119
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/main.d.ts +0 -15
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/main.js +0 -14
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/main.d.ts +0 -14
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/main.js +0 -5
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/main.d.ts +0 -6
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/main.js +0 -41
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/main.d.ts +0 -15
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/main.js +0 -3
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/Cart.d.ts +0 -9
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/Cart.tsx +0 -51
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductCard.d.ts +0 -8
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductCard.tsx +0 -27
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductList.d.ts +0 -8
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductList.tsx +0 -18
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/index.d.ts +0 -12
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/index.tsx +0 -81
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/main.d.ts +0 -3
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/main.js +0 -3
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/main.d.ts +0 -3
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/main.js +0 -3
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/frontend/index.d.ts +0 -2
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/frontend/index.tsx +0 -38
- package/package/components/copilot/chat/__tests__/app/variants/baseline.d.ts +0 -6
- package/package/components/copilot/chat/__tests__/app/variants/baseline.js +0 -10
- package/package/components/copilot/chat/__tests__/app/variants/index.d.ts +0 -3
- package/package/components/copilot/chat/__tests__/app/variants/index.js +0 -3
- package/package/components/copilot/chat/__tests__/app/variants/streamlined.d.ts +0 -6
- package/package/components/copilot/chat/__tests__/app/variants/streamlined.js +0 -137
- package/package/components/copilot/chat/__tests__/flow/expected/test1.json +0 -134
- package/package/components/copilot/chat/__tests__/flow/expected/test2.json +0 -183
- package/package/components/copilot/chat/__tests__/flow/expected/test3.json +0 -204
- package/package/components/copilot/chat/__tests__/flow/expected/test4.json +0 -175
- package/package/components/copilot/chat/__tests__/flow/expected/test5_modify_simple.json +0 -68
- package/package/components/copilot/chat/__tests__/flow/expected/test6_modify_medium.json +0 -142
- package/package/components/copilot/chat/__tests__/flow/expected/test7_modify_complex.json +0 -136
- package/package/components/copilot/chat/__tests__/flow/flowChat.eval.test.js +0 -294
- package/package/components/copilot/chat/__tests__/flow/flowEvalComparison.d.ts +0 -17
- package/package/components/copilot/chat/__tests__/flow/flowEvalComparison.js +0 -49
- package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.d.ts +0 -12
- package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +0 -79
- package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.d.ts +0 -50
- package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.js +0 -102
- package/package/components/copilot/chat/__tests__/flow/initial/test5_initial.json +0 -53
- package/package/components/copilot/chat/__tests__/flow/initial/test6_initial.json +0 -68
- package/package/components/copilot/chat/__tests__/flow/initial/test7_initial.json +0 -120
- package/package/components/copilot/chat/__tests__/flow/variants/baseline.d.ts +0 -6
- package/package/components/copilot/chat/__tests__/flow/variants/baseline.js +0 -10
- package/package/components/copilot/chat/__tests__/flow/variants/index.d.ts +0 -3
- package/package/components/copilot/chat/__tests__/flow/variants/index.js +0 -3
- package/package/components/copilot/chat/__tests__/flow/variants/minimal-single-tool.d.ts +0 -15
- package/package/components/copilot/chat/__tests__/flow/variants/minimal-single-tool.js +0 -388
- package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.d.ts +0 -45
- package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.js +0 -121
- package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.d.ts +0 -28
- package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.js +0 -96
- package/package/components/copilot/chat/__tests__/shared/baseResultsWriter.d.ts +0 -32
- package/package/components/copilot/chat/__tests__/shared/baseResultsWriter.js +0 -130
- package/package/components/copilot/chat/__tests__/shared/baseVariants.d.ts +0 -45
- package/package/components/copilot/chat/__tests__/shared/baseVariants.js +0 -57
- package/package/components/copilot/chat/__tests__/shared/index.d.ts +0 -10
- package/package/components/copilot/chat/__tests__/shared/index.js +0 -5
- package/package/components/copilot/chat/__tests__/shared/types.d.ts +0 -105
- package/package/components/copilot/chat/__tests__/shared/types.js +0 -9
- package/package/components/copilot/chat/flow/utils.d.ts +0 -14
- package/package/components/copilot/chat/flow/utils.js +0 -108
- package/package/components/flows/agentToolUtils.test.js +0 -55
- /package/package/components/copilot/chat/{__tests__/app/appChat.eval.test.d.ts → app/core.test.d.ts} +0 -0
- /package/package/components/copilot/chat/{__tests__/flow/flowChat.eval.test.d.ts → flow/helperUtils.test.d.ts} +0 -0
- /package/package/components/{flows/agentToolUtils.test.d.ts → copilot/chat/flow/utils.test.d.ts} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
<script lang="ts">import {} from '../stores';
|
|
2
|
-
import { ChevronDownIcon, EditIcon, Loader2, Plus, Table2, Trash2Icon } from 'lucide-svelte';
|
|
1
|
+
<script lang="ts">import { superadmin, userStore } from '../stores';
|
|
2
|
+
import { ChevronDownIcon, EditIcon, Loader2, Plus, Table2, Trash2Icon, UploadIcon } from 'lucide-svelte';
|
|
3
3
|
import { Pane, Splitpanes } from 'svelte-splitpanes';
|
|
4
4
|
import { ClearableInput, Drawer, DrawerContent } from './common';
|
|
5
5
|
import { sendUserToast } from '../toast';
|
|
@@ -16,7 +16,7 @@ import { dbSupportsTransactionalDdl, diffTableEditorValues } from './apps/compon
|
|
|
16
16
|
import { resource } from 'runed';
|
|
17
17
|
import { capitalize, onlyAlphaNumAndUnderscore, pluralize } from '../utils';
|
|
18
18
|
import Star from './Star.svelte';
|
|
19
|
-
let { dbType, dbSchema, dbTableOpsFactory, dbSchemaOps, dbSupportsSchemas, colDefs, refresh, initialSchemaKey, initialTableKey, selectedSchemaKey = $bindable(undefined), selectedTableKey = $bindable(undefined), dbSelector, multiSelectMode = false, selectedTables = $bindable([]), disabledTables = [], features, asset } = $props();
|
|
19
|
+
let { dbType, dbSchema, dbTableOpsFactory, dbSchemaOps, dbSupportsSchemas, databaseIsEmpty, colDefs, refresh, initialSchemaKey, initialTableKey, selectedSchemaKey = $bindable(undefined), selectedTableKey = $bindable(undefined), dbSelector, multiSelectMode = false, selectedTables = $bindable([]), disabledTables = [], features, asset, onImport } = $props();
|
|
20
20
|
// Helper to check if a table is selected in multi-select mode
|
|
21
21
|
function isTableSelected(schema, table) {
|
|
22
22
|
return selectedTables.some((t) => t.schema === schema && t.table === table);
|
|
@@ -440,6 +440,34 @@ export const dbTable = () => _dbTable;
|
|
|
440
440
|
{#if tableKey && colDefs?.[tableKey]?.length}
|
|
441
441
|
{@const dbTableOps = dbTableOpsFactory({ colDefs: colDefs[tableKey], tableKey })}
|
|
442
442
|
<DBTable {dbTableOps} bind:this={_dbTable} />
|
|
443
|
+
{:else if databaseIsEmpty}
|
|
444
|
+
<div class="h-full w-full center-center flex-col gap-4">
|
|
445
|
+
<span class="text-hint">Database is empty</span>
|
|
446
|
+
{#if onImport}
|
|
447
|
+
<div class="flex gap-4">
|
|
448
|
+
<button
|
|
449
|
+
onclick={() => onImport('schema_only')}
|
|
450
|
+
class="hover:opacity-70 transition-opacity rounded-md border aspect-square w-52 gap-4 p-4 center-center flex-col"
|
|
451
|
+
>
|
|
452
|
+
<UploadIcon size={64} class="text-secondary" />
|
|
453
|
+
<span class="text-center font-normal text-sm text-secondary">
|
|
454
|
+
Import schema from database
|
|
455
|
+
</span>
|
|
456
|
+
</button>
|
|
457
|
+
{#if !!$userStore?.is_admin || !!$superadmin}
|
|
458
|
+
<button
|
|
459
|
+
onclick={() => onImport('schema_and_data')}
|
|
460
|
+
class="hover:opacity-70 transition-opacity rounded-md border aspect-square w-52 gap-4 p-4 center-center flex-col"
|
|
461
|
+
>
|
|
462
|
+
<UploadIcon size={64} class="text-secondary" />
|
|
463
|
+
<span class="text-center font-normal text-sm text-secondary">
|
|
464
|
+
Import schema and data from database
|
|
465
|
+
</span>
|
|
466
|
+
</button>
|
|
467
|
+
{/if}
|
|
468
|
+
</div>
|
|
469
|
+
{/if}
|
|
470
|
+
</div>
|
|
443
471
|
{/if}
|
|
444
472
|
</Pane>
|
|
445
473
|
</Splitpanes>
|
|
@@ -490,7 +518,10 @@ export const dbTable = () => _dbTable;
|
|
|
490
518
|
computePreview={async ({ values }) => {
|
|
491
519
|
if (dbTableEditorState.alterTableKey && dbTableEditorAlterTableData.current) {
|
|
492
520
|
let diff = diffTableEditorValues(dbTableEditorAlterTableData.current, values)
|
|
493
|
-
let sql = await dbSchemaOps.previewAlterSql({
|
|
521
|
+
let sql = await dbSchemaOps.previewAlterSql({
|
|
522
|
+
values: diff,
|
|
523
|
+
schema: selected.schemaKey
|
|
524
|
+
})
|
|
494
525
|
let alert = !dbSupportsTransactionalDdl(dbType)
|
|
495
526
|
? {
|
|
496
527
|
title: capitalize(dbType) + ' does not support transactional DDL',
|
|
@@ -14,6 +14,7 @@ type Props = {
|
|
|
14
14
|
dbType: DbType;
|
|
15
15
|
dbSchema: DBSchema;
|
|
16
16
|
dbSupportsSchemas: boolean;
|
|
17
|
+
databaseIsEmpty?: boolean;
|
|
17
18
|
colDefs: Record<string, ColumnDef[]> | undefined;
|
|
18
19
|
dbTableOpsFactory: (params: {
|
|
19
20
|
colDefs: ColumnDef[];
|
|
@@ -34,6 +35,7 @@ type Props = {
|
|
|
34
35
|
disabledTables?: SelectedTable[];
|
|
35
36
|
features?: DbFeatures;
|
|
36
37
|
asset?: Asset;
|
|
38
|
+
onImport?: (mode: 'schema_and_data' | 'schema_only') => void;
|
|
37
39
|
};
|
|
38
40
|
declare const DBManager: import("svelte").Component<Props, {
|
|
39
41
|
dbTable: () => ({
|
|
@@ -11,7 +11,7 @@ import {} from 'svelte';
|
|
|
11
11
|
import { getDbSchemas, loadAllTablesMetaData } from './apps/components/display/dbtable/metadata';
|
|
12
12
|
import { getDbFeatures } from './apps/components/display/dbtable/dbFeatures';
|
|
13
13
|
import { resource } from 'runed';
|
|
14
|
-
let { input, showRepl = true, hasReplResult = $bindable(false), selectedSchemaKey = $bindable(undefined), selectedTableKey = $bindable(undefined), dbSelector, multiSelectMode = false, selectedTables = $bindable([]), disabledTables = [] } = $props();
|
|
14
|
+
let { input, showRepl = true, hasReplResult = $bindable(false), selectedSchemaKey = $bindable(undefined), selectedTableKey = $bindable(undefined), dbSelector, multiSelectMode = false, selectedTables = $bindable([]), disabledTables = [], onImport } = $props();
|
|
15
15
|
let dbSchema = $derived(input && $dbSchemas[getDbSchemasPath(input)]);
|
|
16
16
|
function getDbSchemasPath(input) {
|
|
17
17
|
switch (input.type) {
|
|
@@ -99,6 +99,7 @@ export const dbManager = () => _dbManager;
|
|
|
99
99
|
</div>
|
|
100
100
|
<DbManager
|
|
101
101
|
dbSupportsSchemas={input?.type == 'database' && dbSupportsSchemas(input.resourceType)}
|
|
102
|
+
databaseIsEmpty={!Object.values(dbSchema.schema).flatMap((s) => Object.values(s)).length}
|
|
102
103
|
{dbSchema}
|
|
103
104
|
colDefs={colDefs.current}
|
|
104
105
|
dbTableOpsFactory={({ colDefs, tableKey }) =>
|
|
@@ -122,6 +123,7 @@ export const dbManager = () => _dbManager;
|
|
|
122
123
|
{dbType}
|
|
123
124
|
refresh={() => refresh()}
|
|
124
125
|
{dbSelector}
|
|
126
|
+
{onImport}
|
|
125
127
|
bind:selectedSchemaKey
|
|
126
128
|
bind:selectedTableKey
|
|
127
129
|
{multiSelectMode}
|
|
@@ -15,6 +15,7 @@ interface Props {
|
|
|
15
15
|
selectedTables?: SelectedTable[];
|
|
16
16
|
/** Tables that are already added and should show as disabled */
|
|
17
17
|
disabledTables?: SelectedTable[];
|
|
18
|
+
onImport?: (mode: 'schema_and_data' | 'schema_only') => void;
|
|
18
19
|
}
|
|
19
20
|
declare const DBManagerContent: import("svelte").Component<Props, {
|
|
20
21
|
refresh: () => void;
|
|
@@ -26,6 +27,7 @@ declare const DBManagerContent: import("svelte").Component<Props, {
|
|
|
26
27
|
dbType: import("./dbTypes").DbType;
|
|
27
28
|
dbSchema: DBSchema;
|
|
28
29
|
dbSupportsSchemas: boolean;
|
|
30
|
+
databaseIsEmpty?: boolean;
|
|
29
31
|
colDefs: Record<string, import("./apps/components/display/dbtable/utils").ColumnDef[]> | undefined;
|
|
30
32
|
dbTableOpsFactory: (params: {
|
|
31
33
|
colDefs: import("./apps/components/display/dbtable/utils").ColumnDef[];
|
|
@@ -43,6 +45,7 @@ declare const DBManagerContent: import("svelte").Component<Props, {
|
|
|
43
45
|
disabledTables?: SelectedTable[];
|
|
44
46
|
features?: import("./apps/components/display/dbtable/dbFeatures").DbFeatures;
|
|
45
47
|
asset?: import("../gen").Asset;
|
|
48
|
+
onImport?: (mode: "schema_and_data" | "schema_only") => void;
|
|
46
49
|
}>): void;
|
|
47
50
|
} & {
|
|
48
51
|
dbTable: () => ({
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
<script lang="ts">import { workspaceStore } from '../stores';
|
|
1
|
+
<script lang="ts">import { superadmin, userStore, workspaceStore } from '../stores';
|
|
2
2
|
import { WorkspaceService } from '../gen';
|
|
3
3
|
import Button from './common/button/Button.svelte';
|
|
4
4
|
import Drawer from './common/drawer/Drawer.svelte';
|
|
5
5
|
import DrawerContent from './common/drawer/DrawerContent.svelte';
|
|
6
6
|
import Select from './select/Select.svelte';
|
|
7
|
-
import { ArrowLeft, Expand, LoaderCircle, Minimize, RefreshCcw } from 'lucide-svelte';
|
|
7
|
+
import { ArrowLeft, Copy, Download, Expand, LoaderCircle, Minimize, RefreshCcw, Upload } from 'lucide-svelte';
|
|
8
8
|
import DBManagerContent from './DBManagerContent.svelte';
|
|
9
9
|
import { resource } from 'runed';
|
|
10
10
|
import { untrack } from 'svelte';
|
|
11
|
+
import ResourcePicker from './ResourcePicker.svelte';
|
|
12
|
+
import Alert from './common/alert/Alert.svelte';
|
|
13
|
+
import { sendUserToast } from '../toast';
|
|
14
|
+
import { isCloudHosted } from '../cloud';
|
|
11
15
|
let { uriState, offset = 0 } = $props();
|
|
12
16
|
let open = $derived(uriState.open);
|
|
13
17
|
// Load available datatables when drawer opens with datatable input
|
|
@@ -15,7 +19,7 @@ const datatables = resource([], async () => {
|
|
|
15
19
|
if (!$workspaceStore)
|
|
16
20
|
return [];
|
|
17
21
|
try {
|
|
18
|
-
return await WorkspaceService.listDataTables({ workspace: $workspaceStore });
|
|
22
|
+
return (await WorkspaceService.listDataTables({ workspace: $workspaceStore })).map((d) => d.name);
|
|
19
23
|
}
|
|
20
24
|
catch (e) {
|
|
21
25
|
console.error('Failed to load datatables:', e);
|
|
@@ -46,6 +50,70 @@ $effect(() => {
|
|
|
46
50
|
});
|
|
47
51
|
let dbManagerContent = $state();
|
|
48
52
|
let hasReplResult = $state(false);
|
|
53
|
+
// Export/Import state
|
|
54
|
+
let exportDrawerOpen = $state(false);
|
|
55
|
+
let exportResult = $state('');
|
|
56
|
+
let importDrawerOpen = $state(false);
|
|
57
|
+
let importLoading = $state(false);
|
|
58
|
+
let importSource = $state(undefined);
|
|
59
|
+
let importBehavior = $state('schema_only');
|
|
60
|
+
let isPostgresqlInput = $derived(uriState.isDatatableInput ||
|
|
61
|
+
(uriState.input?.type === 'database' && uriState.input.resourceType === 'postgresql'));
|
|
62
|
+
let enableImportExport = $derived(isPostgresqlInput);
|
|
63
|
+
function toSourceIdentifier(raw) {
|
|
64
|
+
if (raw.startsWith('datatable://') || raw.startsWith('$res:'))
|
|
65
|
+
return raw;
|
|
66
|
+
return `$res:${raw}`;
|
|
67
|
+
}
|
|
68
|
+
function currentSourceIdentifier() {
|
|
69
|
+
const input = uriState.effectiveInput;
|
|
70
|
+
if (!input || input.type !== 'database')
|
|
71
|
+
return undefined;
|
|
72
|
+
return toSourceIdentifier(input.resourcePath);
|
|
73
|
+
}
|
|
74
|
+
async function handleExportSchema() {
|
|
75
|
+
const source = currentSourceIdentifier();
|
|
76
|
+
if (!source || !$workspaceStore)
|
|
77
|
+
return;
|
|
78
|
+
try {
|
|
79
|
+
exportResult = await WorkspaceService.exportPgSchema({
|
|
80
|
+
workspace: $workspaceStore,
|
|
81
|
+
requestBody: { source }
|
|
82
|
+
});
|
|
83
|
+
exportDrawerOpen = true;
|
|
84
|
+
}
|
|
85
|
+
catch (e) {
|
|
86
|
+
sendUserToast(`Failed to export schema: ${e}`, true);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
async function handleImportDatabase() {
|
|
90
|
+
if (!importSource || !$workspaceStore)
|
|
91
|
+
return;
|
|
92
|
+
const target = currentSourceIdentifier();
|
|
93
|
+
if (!target)
|
|
94
|
+
return;
|
|
95
|
+
importLoading = true;
|
|
96
|
+
try {
|
|
97
|
+
await WorkspaceService.importPgDatabase({
|
|
98
|
+
workspace: $workspaceStore,
|
|
99
|
+
requestBody: {
|
|
100
|
+
source: toSourceIdentifier(importSource),
|
|
101
|
+
target,
|
|
102
|
+
fork_behavior: importBehavior
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
sendUserToast('Database import completed successfully');
|
|
106
|
+
importDrawerOpen = false;
|
|
107
|
+
importSource = undefined;
|
|
108
|
+
dbManagerContent?.refresh();
|
|
109
|
+
}
|
|
110
|
+
catch (e) {
|
|
111
|
+
sendUserToast(`Failed to import database: ${e}`, true);
|
|
112
|
+
}
|
|
113
|
+
finally {
|
|
114
|
+
importLoading = false;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
49
117
|
</script>
|
|
50
118
|
|
|
51
119
|
<svelte:window bind:innerWidth={windowWidth} />
|
|
@@ -78,6 +146,9 @@ let hasReplResult = $state(false);
|
|
|
78
146
|
bind:hasReplResult
|
|
79
147
|
bind:selectedSchemaKey={uriState.selectedSchema}
|
|
80
148
|
bind:selectedTableKey={uriState.selectedTable}
|
|
149
|
+
onImport={enableImportExport
|
|
150
|
+
? (mode) => ((importDrawerOpen = true), (importBehavior = mode))
|
|
151
|
+
: undefined}
|
|
81
152
|
>
|
|
82
153
|
{#snippet dbSelector()}
|
|
83
154
|
{#if uriState.isDatatableInput}
|
|
@@ -101,6 +172,12 @@ let hasReplResult = $state(false);
|
|
|
101
172
|
{/key}
|
|
102
173
|
{/if}
|
|
103
174
|
{#snippet actions()}
|
|
175
|
+
{#if enableImportExport}
|
|
176
|
+
<Button startIcon={{ icon: Download }} onClick={handleExportSchema}>Export</Button>
|
|
177
|
+
<Button startIcon={{ icon: Upload }} onClick={() => (importDrawerOpen = true)}>
|
|
178
|
+
Import
|
|
179
|
+
</Button>
|
|
180
|
+
{/if}
|
|
104
181
|
<Button
|
|
105
182
|
loading={dbManagerContent?.isLoading() ?? false}
|
|
106
183
|
on:click={() => {
|
|
@@ -123,3 +200,68 @@ let hasReplResult = $state(false);
|
|
|
123
200
|
{/snippet}
|
|
124
201
|
</DrawerContent>
|
|
125
202
|
</Drawer>
|
|
203
|
+
|
|
204
|
+
<Drawer bind:open={exportDrawerOpen} size="800px" offset={offset + 1}>
|
|
205
|
+
<DrawerContent title="Export Schemas" on:close={() => (exportDrawerOpen = false)}>
|
|
206
|
+
{#if exportResult}
|
|
207
|
+
<div class="flex flex-col gap-2 h-full relative">
|
|
208
|
+
<pre class="overflow-auto text-xs bg-surface-secondary p-4 rounded flex-1">{exportResult}</pre>
|
|
209
|
+
<Button
|
|
210
|
+
size="xs"
|
|
211
|
+
color="light"
|
|
212
|
+
startIcon={{ icon: Copy }}
|
|
213
|
+
wrapperClasses="absolute top-2 right-2"
|
|
214
|
+
btnClasses="bg-surface-tertiary"
|
|
215
|
+
on:click={() => {
|
|
216
|
+
navigator.clipboard.writeText(exportResult)
|
|
217
|
+
sendUserToast('Copied to clipboard')
|
|
218
|
+
}}
|
|
219
|
+
>
|
|
220
|
+
Copy
|
|
221
|
+
</Button>
|
|
222
|
+
</div>
|
|
223
|
+
{/if}
|
|
224
|
+
</DrawerContent>
|
|
225
|
+
</Drawer>
|
|
226
|
+
|
|
227
|
+
<Drawer bind:open={importDrawerOpen} size="600px" offset={offset + 1}>
|
|
228
|
+
<DrawerContent title="Import Database" on:close={() => (importDrawerOpen = false)}>
|
|
229
|
+
<div class="flex flex-col gap-4">
|
|
230
|
+
<Alert type="warning" title="Warning">
|
|
231
|
+
This will import the schemas from the selected source into the current database. Existing
|
|
232
|
+
tables with the same names may be affected.
|
|
233
|
+
</Alert>
|
|
234
|
+
<div class="flex flex-col gap-2">
|
|
235
|
+
<span class="text-sm font-medium">Source database</span>
|
|
236
|
+
<ResourcePicker datatableAsPgResource bind:value={importSource} resourceType="postgresql" />
|
|
237
|
+
</div>
|
|
238
|
+
<div class="flex flex-col gap-2">
|
|
239
|
+
<span class="text-sm font-medium">Import mode</span>
|
|
240
|
+
<Select
|
|
241
|
+
items={[
|
|
242
|
+
{ value: 'schema_only', label: 'Schema only' },
|
|
243
|
+
...(isCloudHosted() || (!$superadmin && !$userStore?.is_admin)
|
|
244
|
+
? []
|
|
245
|
+
: [{ value: 'schema_and_data', label: 'Schema and data' }])
|
|
246
|
+
]}
|
|
247
|
+
bind:value={importBehavior}
|
|
248
|
+
/>
|
|
249
|
+
</div>
|
|
250
|
+
{#if importBehavior === 'schema_and_data'}
|
|
251
|
+
<Alert type="warning" title="Heavy operation">
|
|
252
|
+
Importing schema and data will copy all rows from every table in the source database. This
|
|
253
|
+
may take a long time and use significant storage space depending on the size of the
|
|
254
|
+
source.
|
|
255
|
+
</Alert>
|
|
256
|
+
{/if}
|
|
257
|
+
<Button
|
|
258
|
+
disabled={!importSource}
|
|
259
|
+
loading={importLoading}
|
|
260
|
+
color="red"
|
|
261
|
+
on:click={handleImportDatabase}
|
|
262
|
+
>
|
|
263
|
+
Import {importBehavior === 'schema_and_data' ? 'schemas and data' : 'schemas'} into current database
|
|
264
|
+
</Button>
|
|
265
|
+
</div>
|
|
266
|
+
</DrawerContent>
|
|
267
|
+
</Drawer>
|
|
@@ -35,7 +35,7 @@ import { Cell } from './table';
|
|
|
35
35
|
import DataTable from './table/DataTable.svelte';
|
|
36
36
|
import Head from './table/Head.svelte';
|
|
37
37
|
import { datatypeHasLength } from './apps/components/display/dbtable/utils';
|
|
38
|
-
import { DB_TYPES } from '../consts';
|
|
38
|
+
import { DB_TYPES, NEW_COLUMN_ONLY_TYPES } from '../consts';
|
|
39
39
|
import Popover from './meltComponents/Popover.svelte';
|
|
40
40
|
import ConfirmationModal from './common/confirmationModal/ConfirmationModal.svelte';
|
|
41
41
|
import { sendUserToast } from '../toast';
|
|
@@ -52,6 +52,12 @@ import Alert from './common/alert/Alert.svelte';
|
|
|
52
52
|
import Label from './Label.svelte';
|
|
53
53
|
const { dbType, dbSchema, currentSchema, initialValues, features, onConfirm, computeBtnProps, computePreview } = $props();
|
|
54
54
|
const columnTypes = DB_TYPES[untrack(() => dbType)];
|
|
55
|
+
function columnTypesFor(column) {
|
|
56
|
+
if (column.initialName) {
|
|
57
|
+
return columnTypes.filter((t) => !NEW_COLUMN_ONLY_TYPES.includes(t));
|
|
58
|
+
}
|
|
59
|
+
return columnTypes;
|
|
60
|
+
}
|
|
55
61
|
const defaultColumnType = {
|
|
56
62
|
postgresql: 'BIGSERIAL',
|
|
57
63
|
snowflake: 'varchar',
|
|
@@ -153,7 +159,7 @@ let btnProps = new Debounced(() => computeBtnProps({ values }), 500);
|
|
|
153
159
|
}
|
|
154
160
|
}
|
|
155
161
|
}
|
|
156
|
-
items={safeSelectItems(
|
|
162
|
+
items={safeSelectItems(columnTypesFor(column))}
|
|
157
163
|
class="w-48"
|
|
158
164
|
/>
|
|
159
165
|
{#if column.initialName && column.name !== column.initialName}
|
|
@@ -431,7 +437,9 @@ let btnProps = new Debounced(() => computeBtnProps({ values }), 500);
|
|
|
431
437
|
</Alert>
|
|
432
438
|
{/if}
|
|
433
439
|
{#if askingForConfirmation?.codeContent}
|
|
434
|
-
<div
|
|
440
|
+
<div
|
|
441
|
+
class="bg-surface-secondary border border-surface-selected rounded-md p-2 relative group"
|
|
442
|
+
>
|
|
435
443
|
<button
|
|
436
444
|
class="absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity p-1 rounded hover:bg-surface-hover"
|
|
437
445
|
onclick={() => copyToClipboard(askingForConfirmation?.codeContent)}
|
|
@@ -439,7 +447,9 @@ let btnProps = new Debounced(() => computeBtnProps({ values }), 500);
|
|
|
439
447
|
>
|
|
440
448
|
<ClipboardCopy size={14} />
|
|
441
449
|
</button>
|
|
442
|
-
<pre class="whitespace-pre-wrap text-sm"
|
|
450
|
+
<pre class="whitespace-pre-wrap text-sm"
|
|
451
|
+
><code>{askingForConfirmation.codeContent}</code></pre
|
|
452
|
+
>
|
|
443
453
|
</div>
|
|
444
454
|
{/if}
|
|
445
455
|
</ConfirmationModal>
|
|
@@ -4,7 +4,7 @@ import Select from './select/Select.svelte';
|
|
|
4
4
|
import ExploreAssetButton, { assetCanBeExplored } from './ExploreAssetButton.svelte';
|
|
5
5
|
import { usePromise } from '../svelte5Utils.svelte';
|
|
6
6
|
let { value = $bindable(undefined), disabled = false, disablePortal = false, showSchemaExplorer = false, placeholder = undefined, selectInputClass = '', class: className = '', onClear = undefined } = $props();
|
|
7
|
-
let datatables = usePromise(() => WorkspaceService.listDataTables({ workspace: $workspaceStore ?? '' }));
|
|
7
|
+
let datatables = usePromise(() => WorkspaceService.listDataTables({ workspace: $workspaceStore ?? '' }).then((d) => d.map((d) => d.name)));
|
|
8
8
|
</script>
|
|
9
9
|
|
|
10
10
|
<div class={className}>
|
|
@@ -19,9 +19,6 @@ let datatables = usePromise(() => WorkspaceService.listDataTables({ workspace: $
|
|
|
19
19
|
{onClear}
|
|
20
20
|
/>
|
|
21
21
|
{#if showSchemaExplorer && value && assetCanBeExplored({ kind: 'datatable', path: value })}
|
|
22
|
-
<ExploreAssetButton
|
|
23
|
-
class="mt-1 w-fit"
|
|
24
|
-
asset={{ kind: 'datatable', path: value }}
|
|
25
|
-
/>
|
|
22
|
+
<ExploreAssetButton class="mt-1 w-fit" asset={{ kind: 'datatable', path: value }} />
|
|
26
23
|
{/if}
|
|
27
24
|
</div>
|