windmill-components 1.596.1 → 1.612.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/dist/appPolicy/myFunction.es.js +1337 -0
- package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +2 -0
- package/dist/sharedUtils/base.d.ts +1 -0
- package/dist/sharedUtils/cloud.d.ts +1 -0
- package/dist/sharedUtils/common.d.ts +108 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +5 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +5 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +5 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +11 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +11 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +84 -0
- package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +6 -0
- package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +7 -0
- package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +22 -0
- package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +10 -0
- package/dist/sharedUtils/components/apps/editor/component/components.d.ts +5305 -0
- package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +3 -0
- package/dist/sharedUtils/components/apps/editor/component/index.d.ts +3 -0
- package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +7 -0
- package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +3 -0
- package/dist/sharedUtils/components/apps/gridUtils.d.ts +14 -0
- package/dist/sharedUtils/components/apps/inputType.d.ts +176 -0
- package/dist/sharedUtils/components/apps/rx.d.ts +29 -0
- package/dist/sharedUtils/components/apps/sharedTypes.d.ts +19 -0
- package/dist/sharedUtils/components/apps/types.d.ts +274 -0
- package/dist/sharedUtils/components/common/alert/model.d.ts +2 -0
- package/dist/sharedUtils/components/common/badge/model.d.ts +8 -0
- package/dist/sharedUtils/components/common/button/model.d.ts +45 -0
- package/dist/sharedUtils/components/common/fileInput/model.d.ts +1 -0
- package/dist/sharedUtils/components/common/index.d.ts +24 -0
- package/dist/sharedUtils/components/common/skeleton/model.d.ts +21 -0
- package/dist/sharedUtils/components/dbTypes.d.ts +11 -0
- package/dist/sharedUtils/components/diff_drawer.d.ts +26 -0
- package/dist/sharedUtils/components/ducklake.d.ts +1 -0
- package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +7 -0
- package/dist/sharedUtils/components/random_positive_adjetive.d.ts +1 -0
- package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +10 -0
- package/dist/sharedUtils/components/raw_apps/utils.d.ts +15 -0
- package/dist/sharedUtils/components/triggers/email/utils.d.ts +4 -0
- package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers/http/utils.d.ts +11 -0
- package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers/nats/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +8 -0
- package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +32 -0
- package/dist/sharedUtils/components/triggers/utils.d.ts +81 -0
- package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers.d.ts +20 -0
- package/dist/sharedUtils/gen/core/ApiError.d.ts +10 -0
- package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +13 -0
- package/dist/sharedUtils/gen/core/ApiResult.d.ts +7 -0
- package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +26 -0
- package/dist/sharedUtils/gen/core/OpenAPI.d.ts +27 -0
- package/dist/sharedUtils/gen/core/request.d.ts +29 -0
- package/dist/sharedUtils/gen/index.d.ts +6 -0
- package/dist/sharedUtils/gen/schemas.gen.d.ts +6192 -0
- package/dist/sharedUtils/gen/services.gen.d.ts +5741 -0
- package/dist/sharedUtils/gen/types.gen.d.ts +20152 -0
- package/dist/sharedUtils/history.svelte.d.ts +9 -0
- package/dist/sharedUtils/hub.d.ts +48 -0
- package/dist/sharedUtils/jsr.json +6 -0
- package/dist/sharedUtils/lib.d.ts +5 -0
- package/dist/sharedUtils/lib.es.js +1426 -0
- package/dist/sharedUtils/package.json +12 -0
- package/dist/sharedUtils/schema.d.ts +3 -0
- package/dist/sharedUtils/stores.d.ts +96 -0
- package/dist/sharedUtils/svelte5Utils.svelte.d.ts +49 -0
- package/dist/sharedUtils/toast.d.ts +8 -0
- package/dist/sharedUtils/utils.d.ts +250 -0
- package/package/assets/tokens/tokens.json +11 -1
- package/package/ata/apis.js +78 -5
- package/package/components/AddUser.svelte +1 -1
- package/package/components/CenteredModal.svelte +32 -24
- package/package/components/CenteredModal.svelte.d.ts +7 -27
- package/package/components/CenteredPage.svelte +5 -2
- package/package/components/CenteredPage.svelte.d.ts +2 -0
- 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 +105 -17
- package/package/components/DBManager.svelte.d.ts +2 -1
- package/package/components/DBManagerContent.svelte +4 -3
- package/package/components/DBManagerContent.svelte.d.ts +1 -1
- package/package/components/DBTableEditor.svelte +210 -171
- package/package/components/DBTableEditor.svelte.d.ts +22 -3
- 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/Editor.svelte +70 -16
- 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/FlowPreviewContent.svelte +3 -2
- package/package/components/FlowPreviewResult.svelte +0 -4
- package/package/components/FlowStatusViewerInner.svelte +50 -33
- 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 +16 -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/InstanceSetting.svelte +38 -0
- package/package/components/InviteUser.svelte +16 -42
- package/package/components/InviteUser.svelte.d.ts +4 -18
- 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 +21 -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/Path.svelte +2 -2
- package/package/components/Path.svelte.d.ts +1 -1
- package/package/components/ResourcePicker.svelte +3 -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/RunFormAdvancedPopup.svelte +1 -1
- package/package/components/RunsPage.svelte +169 -539
- 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/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 +3 -1
- package/package/components/ServiceLogsInner.svelte +4 -4
- package/package/components/SimpleEditor.svelte +46 -2
- 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/UserSettings.svelte +1 -1
- 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/dbtable/AppDbExplorer.svelte +0 -4
- package/package/components/apps/components/display/dbtable/metadata.js +69 -30
- package/package/components/apps/components/display/dbtable/queries/alterTable.d.ts +46 -0
- package/package/components/apps/components/display/dbtable/queries/alterTable.js +314 -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 +11 -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 +47 -0
- package/package/components/apps/components/display/dbtable/queries/relationalKeys.js +402 -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 +49 -0
- package/package/components/apps/components/display/dbtable/utils.d.ts +10 -1
- package/package/components/apps/components/display/dbtable/utils.js +52 -20
- 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/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/auditLogs/AuditLogsFilters.svelte +9 -17
- package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +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/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/copilot/autocomplete/Autocompletor.js +3 -2
- 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 +38 -2
- 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/custom_ui.d.ts +1 -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/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/header/FlowImportExportMenu.svelte +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/home/ItemsList.svelte +5 -5
- package/package/components/home/TutorialBanner.svelte +34 -18
- 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/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/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 +32 -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/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/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/scriptEditor/LogPanel.svelte +17 -2
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
- package/package/components/select/SelectDropdown.svelte +2 -2
- 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 +14 -10
- package/package/components/settings/ChangeWorkspaceName.svelte +7 -6
- package/package/components/settings/UserAIPromptsSettings.svelte +56 -15
- package/package/components/settings/WorkspaceOperatorSettings.svelte +68 -85
- package/package/components/settings/WorkspaceUserSettings.svelte +531 -406
- package/package/components/sidebar/MenuButton.svelte +46 -24
- package/package/components/sidebar/MenuButton.svelte.d.ts +2 -0
- package/package/components/sidebar/MultiplayerMenu.svelte +3 -3
- package/package/components/sidebar/OperatorMenu.svelte +62 -87
- package/package/components/sidebar/SidebarContent.svelte +7 -2
- package/package/components/sidebar/WorkspaceMenu.svelte +35 -85
- package/package/components/sqlTypeService.js +4 -3
- package/package/components/table/DataTable.svelte +3 -2
- package/package/components/table/DataTable.svelte.d.ts +1 -0
- package/package/components/text_input/TextInput.svelte +3 -0
- package/package/components/text_input/TextInput.svelte.d.ts +2 -0
- 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 +146 -108
- package/package/components/workspaceSettings/CreateWorkspace.svelte +25 -11
- package/package/components/workspaceSettings/DucklakeSettings.svelte +46 -23
- package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +2 -1
- package/package/components/workspaceSettings/ModelTokenLimits.svelte +14 -18
- package/package/components/workspaceSettings/StorageSettings.svelte +280 -241
- package/package/components/workspaceSettings/StorageSettings.svelte.d.ts +1 -0
- package/package/consts.js +4 -1
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +126 -0
- package/package/gen/schemas.gen.js +126 -0
- package/package/gen/services.gen.d.ts +160 -2
- package/package/gen/services.gen.js +319 -4
- package/package/gen/types.gen.d.ts +607 -2
- package/package/hubPaths.json +3 -2
- package/package/infer.js +2 -0
- package/package/monaco_workers/graphql.worker.bundle.js +121 -121
- package/package/rawAppWmillTs.d.ts +11 -0
- package/package/rawAppWmillTs.js +38 -1
- package/package/svelte5Utils.svelte.d.ts +9 -0
- package/package/svelte5Utils.svelte.js +51 -1
- 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 +159 -1
- package/package.json +16 -17
- 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
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script module lang="ts">export const sidebarClasses = {
|
|
2
2
|
text: 'text-primary-inverse dark:text-primary data-[light-mode=true]:text-primary text-xs font-normal',
|
|
3
3
|
selectedText: 'text-emphasis-inverse dark:text-emphasis text-xs font-normal',
|
|
4
|
+
sublabelText: 'text-secondary-inverse dark:text-secondary text-2xs font-normal',
|
|
4
5
|
hoverBg: 'transition-colors hover:bg-surface-hover-inverse dark:hover:bg-surface-hover data-[light-mode=true]:hover:bg-surface-hover'
|
|
5
6
|
};
|
|
6
7
|
</script>
|
|
@@ -11,7 +12,7 @@ import { createEventDispatcher } from 'svelte';
|
|
|
11
12
|
import SideBarNotification from './SideBarNotification.svelte';
|
|
12
13
|
import { conditionalMelt } from '../../utils';
|
|
13
14
|
import { triggerableByAI } from '../../actions/triggerableByAI.svelte';
|
|
14
|
-
let { aiId = undefined, aiDescription = undefined, label = undefined, icon = undefined, iconClasses = null, iconProps = null, isCollapsed, disabled = false, lightMode = false, stopPropagationOnClick = false, shortcut = '', notificationsCount = 0, color = null, trigger = undefined, href = undefined, class: classNames = undefined } = $props();
|
|
15
|
+
let { aiId = undefined, aiDescription = undefined, label = undefined, sublabel = undefined, icon = undefined, iconClasses = null, iconProps = null, isCollapsed, disabled = false, lightMode = false, stopPropagationOnClick = false, shortcut = '', notificationsCount = 0, color = null, trigger = undefined, href = undefined, class: classNames = undefined } = $props();
|
|
15
16
|
let buttonRef = $state(undefined);
|
|
16
17
|
let dispatch = createEventDispatcher();
|
|
17
18
|
// Dynamic component based on whether href is provided
|
|
@@ -47,42 +48,63 @@ const Element = href ? 'a' : 'button';
|
|
|
47
48
|
{href}
|
|
48
49
|
data-light-mode={lightMode}
|
|
49
50
|
class={twMerge(
|
|
50
|
-
'group flex items-center px-2 py-2 font-light rounded-md
|
|
51
|
+
'group flex items-center px-2 py-2 font-light rounded-md gap-2 w-full',
|
|
51
52
|
sidebarClasses.hoverBg,
|
|
52
|
-
color ? 'border-4' : '',
|
|
53
53
|
'transition-all relative',
|
|
54
|
+
sublabel ? 'h-10' : 'h-8',
|
|
54
55
|
classNames
|
|
55
56
|
)}
|
|
56
|
-
style={color ? `border-color: ${color}; padding: 0 calc(0.5rem - 4px);` : ''}
|
|
57
57
|
use:conditionalMelt={trigger}
|
|
58
58
|
title={isCollapsed ? undefined : label}
|
|
59
59
|
{...$trigger}
|
|
60
60
|
>
|
|
61
61
|
{#if icon}
|
|
62
62
|
{@const SvelteComponent = icon}
|
|
63
|
-
<
|
|
64
|
-
|
|
65
|
-
class={twMerge('
|
|
66
|
-
{...iconProps}
|
|
67
|
-
/>
|
|
68
|
-
{/if}
|
|
69
|
-
|
|
70
|
-
{#if !isCollapsed && label}
|
|
71
|
-
<span
|
|
72
|
-
class={twMerge(
|
|
73
|
-
'whitespace-pre truncate',
|
|
74
|
-
sidebarClasses.text,
|
|
75
|
-
'transition-all',
|
|
76
|
-
classNames
|
|
77
|
-
)}
|
|
63
|
+
<div
|
|
64
|
+
style="background-color: {color}"
|
|
65
|
+
class={twMerge('rounded-full center-center', color ? 'p-1 -ml-1' : '')}
|
|
78
66
|
>
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
{
|
|
82
|
-
|
|
83
|
-
|
|
67
|
+
<SvelteComponent
|
|
68
|
+
size={16}
|
|
69
|
+
class={twMerge('flex-shrink-0', sidebarClasses.text, 'transition-colors', iconClasses)}
|
|
70
|
+
{...iconProps}
|
|
71
|
+
/>
|
|
72
|
+
</div>
|
|
84
73
|
{/if}
|
|
85
74
|
|
|
75
|
+
<div class="flex flex-col text-left grow min-w-0">
|
|
76
|
+
{#if !isCollapsed && label}
|
|
77
|
+
<div
|
|
78
|
+
class={twMerge(
|
|
79
|
+
'whitespace-pre truncate w-full',
|
|
80
|
+
sidebarClasses.text,
|
|
81
|
+
'transition-all',
|
|
82
|
+
classNames
|
|
83
|
+
)}
|
|
84
|
+
title={label}
|
|
85
|
+
>
|
|
86
|
+
{label}
|
|
87
|
+
<span
|
|
88
|
+
class="pl-2 text-xs dark:text-secondary light:text-secondary-inverse font-semibold"
|
|
89
|
+
>
|
|
90
|
+
{shortcut}
|
|
91
|
+
</span>
|
|
92
|
+
</div>
|
|
93
|
+
{/if}
|
|
94
|
+
|
|
95
|
+
{#if sublabel}
|
|
96
|
+
<div
|
|
97
|
+
class={twMerge(
|
|
98
|
+
'whitespace-pre truncate w-full',
|
|
99
|
+
sidebarClasses.sublabelText,
|
|
100
|
+
'transition-all',
|
|
101
|
+
classNames
|
|
102
|
+
)}
|
|
103
|
+
title={sublabel}>{sublabel}</div
|
|
104
|
+
>
|
|
105
|
+
{/if}
|
|
106
|
+
</div>
|
|
107
|
+
|
|
86
108
|
{#if isCollapsed && notificationsCount > 0}
|
|
87
109
|
<div class="absolute translate-x-1/2 translate-y-1/2 -top-2 right-1 flex h-fit w-fit">
|
|
88
110
|
<SideBarNotification notificationCount={notificationsCount} small={true} />
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare const sidebarClasses: {
|
|
2
2
|
text: string;
|
|
3
3
|
selectedText: string;
|
|
4
|
+
sublabelText: string;
|
|
4
5
|
hoverBg: string;
|
|
5
6
|
};
|
|
6
7
|
import type { MenubarMenuElements } from '@melt-ui/svelte';
|
|
@@ -8,6 +9,7 @@ interface Props {
|
|
|
8
9
|
aiId?: string | undefined;
|
|
9
10
|
aiDescription?: string | undefined;
|
|
10
11
|
label?: string | undefined;
|
|
12
|
+
sublabel?: string | undefined;
|
|
11
13
|
icon?: any | undefined;
|
|
12
14
|
iconClasses?: string | null;
|
|
13
15
|
iconProps?: any | null;
|
|
@@ -80,7 +80,7 @@ function showActivity(url) {
|
|
|
80
80
|
|
|
81
81
|
{#if connected}
|
|
82
82
|
<div class="divide-gray-100 border-t" role="none">
|
|
83
|
-
<div class="px-2
|
|
83
|
+
<div class="px-2 text-xs text-secondary font-normal mt-1">Live activity</div>
|
|
84
84
|
<div class="py-1 flex flex-col gap-y-1 max-h-48 overflow-auto" transition:slide>
|
|
85
85
|
{#each Object.entries($awarenessStore ?? {}) as [user, url]}
|
|
86
86
|
<div class="inline-flex gap-2 px-2 items-center">
|
|
@@ -93,8 +93,8 @@ function showActivity(url) {
|
|
|
93
93
|
>
|
|
94
94
|
</span>
|
|
95
95
|
<div class="flex flex-col">
|
|
96
|
-
<span class="text-
|
|
97
|
-
<span class="text-
|
|
96
|
+
<span class="text-xs text-primary truncate">{user}</span>
|
|
97
|
+
<span class="text-2xs text-secondary truncate">{showActivity(url)}</span>
|
|
98
98
|
</div>
|
|
99
99
|
</div>
|
|
100
100
|
{/each}
|
|
@@ -10,7 +10,7 @@ import BarsStaggered from '../icons/BarsStaggered.svelte';
|
|
|
10
10
|
import { Menu, Menubar, MenuItem } from '../meltComponents';
|
|
11
11
|
import MenuButton, { sidebarClasses } from './MenuButton.svelte';
|
|
12
12
|
import MenuLink from './MenuLink.svelte';
|
|
13
|
-
import
|
|
13
|
+
import ResizeTransitionWrapper from '../common/ResizeTransitionWrapper.svelte';
|
|
14
14
|
let darkMode = $state(false);
|
|
15
15
|
let { isCollapsed = false, favoriteLinks = [] } = $props();
|
|
16
16
|
let mainMenuLinks = $derived([
|
|
@@ -34,6 +34,12 @@ let mainMenuLinks = $derived([
|
|
|
34
34
|
$workspaceStore &&
|
|
35
35
|
$userWorkspaces.find((_) => _.id === $workspaceStore)?.operator_settings?.[link.id] ===
|
|
36
36
|
true)));
|
|
37
|
+
function filterLink(link) {
|
|
38
|
+
if (!$userWorkspaces || !$workspaceStore)
|
|
39
|
+
return false;
|
|
40
|
+
let userWorkspace = $userWorkspaces.find((_) => _.id === $workspaceStore);
|
|
41
|
+
return userWorkspace?.operator_settings?.[link.id] === true;
|
|
42
|
+
}
|
|
37
43
|
let secondMenuLinks = $derived([
|
|
38
44
|
{
|
|
39
45
|
label: 'Resources',
|
|
@@ -50,6 +56,23 @@ let secondMenuLinks = $derived([
|
|
|
50
56
|
id: 'assets',
|
|
51
57
|
href: `${base}/assets`
|
|
52
58
|
},
|
|
59
|
+
{
|
|
60
|
+
label: 'Groups',
|
|
61
|
+
id: 'groups',
|
|
62
|
+
href: `${base}/groups`
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
label: 'Folders',
|
|
66
|
+
id: 'folders',
|
|
67
|
+
href: `${base}/folders`
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
label: 'Workers',
|
|
71
|
+
id: 'workers',
|
|
72
|
+
href: `${base}/workers`
|
|
73
|
+
}
|
|
74
|
+
].filter(filterLink));
|
|
75
|
+
let secondMenuTriggerLinks = $derived([
|
|
53
76
|
{
|
|
54
77
|
label: 'Custom HTTP routes',
|
|
55
78
|
id: 'triggers',
|
|
@@ -99,47 +122,14 @@ let secondMenuLinks = $derived([
|
|
|
99
122
|
label: 'Audit logs',
|
|
100
123
|
id: 'audit_logs',
|
|
101
124
|
href: `${base}/audit_logs`
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
label: 'Groups',
|
|
105
|
-
id: 'groups',
|
|
106
|
-
href: `${base}/groups`
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
label: 'Folders',
|
|
110
|
-
id: 'folders',
|
|
111
|
-
href: `${base}/folders`
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
label: 'Workers',
|
|
115
|
-
id: 'workers',
|
|
116
|
-
href: `${base}/workers`
|
|
117
125
|
}
|
|
118
|
-
].filter(
|
|
119
|
-
|
|
120
|
-
return false;
|
|
121
|
-
return ($userWorkspaces.find((_) => _.id === $workspaceStore)?.operator_settings?.[link.id] === true);
|
|
122
|
-
}));
|
|
123
|
-
let moreOpen = $state(false);
|
|
124
|
-
let moreOpenTimeout = $state();
|
|
125
|
-
function debouncedSetMoreOpen(value) {
|
|
126
|
-
if (moreOpenTimeout) {
|
|
127
|
-
clearTimeout(moreOpenTimeout);
|
|
128
|
-
}
|
|
129
|
-
moreOpenTimeout = setTimeout(() => {
|
|
130
|
-
moreOpen = value;
|
|
131
|
-
}, 150); // 150ms debounce
|
|
132
|
-
}
|
|
133
|
-
onDestroy(() => {
|
|
134
|
-
if (moreOpenTimeout) {
|
|
135
|
-
clearTimeout(moreOpenTimeout);
|
|
136
|
-
}
|
|
137
|
-
});
|
|
126
|
+
].filter(filterLink));
|
|
127
|
+
let showMore = $state(false);
|
|
138
128
|
</script>
|
|
139
129
|
|
|
140
130
|
<Menubar>
|
|
141
131
|
{#snippet children({ createMenu })}
|
|
142
|
-
<Menu {createMenu} usePointerDownOutside>
|
|
132
|
+
<Menu {createMenu} usePointerDownOutside on:close={() => (showMore = false)}>
|
|
143
133
|
{#snippet triggr({ trigger })}
|
|
144
134
|
<MenuButton
|
|
145
135
|
class="!text-xs"
|
|
@@ -255,8 +245,8 @@ onDestroy(() => {
|
|
|
255
245
|
onClick={() => logout()}
|
|
256
246
|
class={twMerge(
|
|
257
247
|
'flex flex-row gap-3.5 items-center px-2 py-2 w-full',
|
|
258
|
-
'text-
|
|
259
|
-
'hover:bg-surface-hover
|
|
248
|
+
'text-primary text-xs',
|
|
249
|
+
'hover:bg-surface-hover cursor-pointer',
|
|
260
250
|
'data-[highlighted]:bg-surface-hover data-[highlighted]:text-primary'
|
|
261
251
|
)}
|
|
262
252
|
{item}
|
|
@@ -265,57 +255,42 @@ onDestroy(() => {
|
|
|
265
255
|
Sign out
|
|
266
256
|
</MenuItem>
|
|
267
257
|
</div>
|
|
268
|
-
<div
|
|
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
|
-
|
|
258
|
+
<div onmouseleave={() => (showMore = false)} role="none">
|
|
259
|
+
{#if secondMenuLinks.length}
|
|
260
|
+
<ResizeTransitionWrapper vertical innerClass="w-full">
|
|
261
|
+
{#if !showMore}
|
|
262
|
+
<div onmouseenter={() => (showMore = true)} role="none">
|
|
263
|
+
<MenuItem {item}>
|
|
264
|
+
<div class="px-2 py-2 text-primary text-2xs">More...</div>
|
|
265
|
+
</MenuItem>
|
|
266
|
+
</div>
|
|
267
|
+
{:else}
|
|
268
|
+
{#snippet renderSecondMenuLinks(menuLinks: SecondMenuLink[])}
|
|
269
|
+
{#each menuLinks as menuLink (menuLink.href ?? menuLink.label)}
|
|
270
|
+
<MenuItem
|
|
271
|
+
href={menuLink.href}
|
|
272
|
+
class={twMerge(
|
|
273
|
+
'flex flex-row gap-3.5 items-center px-2 py-2 text-secondary text-2xs hover:bg-surface-hover hover:text-primary cursor-pointer',
|
|
274
|
+
'data-[highlighted]:bg-surface-hover data-[highlighted]:text-primary'
|
|
275
|
+
)}
|
|
276
|
+
{item}
|
|
277
|
+
>
|
|
278
|
+
{menuLink.label}
|
|
279
|
+
</MenuItem>
|
|
280
|
+
{/each}
|
|
281
|
+
{/snippet}
|
|
282
|
+
<div class="divide-y">
|
|
283
|
+
<div>{@render renderSecondMenuLinks(secondMenuLinks)}</div>
|
|
284
|
+
<div>{@render renderSecondMenuLinks(secondMenuTriggerLinks)}</div>
|
|
285
|
+
</div>
|
|
286
|
+
{/if}
|
|
287
|
+
</ResizeTransitionWrapper>
|
|
288
|
+
{/if}
|
|
289
|
+
{#if $enterpriseLicense}
|
|
290
|
+
<MultiplayerMenu />
|
|
299
291
|
{/if}
|
|
300
292
|
</div>
|
|
301
293
|
</div>
|
|
302
|
-
{#if $enterpriseLicense}
|
|
303
|
-
<div
|
|
304
|
-
onmouseenter={() => {
|
|
305
|
-
if (moreOpenTimeout) {
|
|
306
|
-
setTimeout(() => {
|
|
307
|
-
clearTimeout(moreOpenTimeout)
|
|
308
|
-
}, 15)
|
|
309
|
-
}
|
|
310
|
-
}}
|
|
311
|
-
onmouseleave={() => {
|
|
312
|
-
debouncedSetMoreOpen(false)
|
|
313
|
-
}}
|
|
314
|
-
role="none"
|
|
315
|
-
>
|
|
316
|
-
<MultiplayerMenu />
|
|
317
|
-
</div>
|
|
318
|
-
{/if}
|
|
319
294
|
{/snippet}
|
|
320
295
|
</Menu>
|
|
321
296
|
{/snippet}
|
|
@@ -582,7 +582,12 @@ let secondaryMenuLinks = $derived([
|
|
|
582
582
|
{/snippet}
|
|
583
583
|
{#snippet children({ item })}
|
|
584
584
|
{#each menuLink.subItems as subItem (subItem.href ?? subItem.label)}
|
|
585
|
-
<MenuItem
|
|
585
|
+
<MenuItem
|
|
586
|
+
href={subItem.href}
|
|
587
|
+
class={itemClass}
|
|
588
|
+
target={subItem.external !== false ? '_blank' : undefined}
|
|
589
|
+
{item}
|
|
590
|
+
>
|
|
586
591
|
<div class="flex flex-row items-center gap-2">
|
|
587
592
|
{#if subItem.icon}
|
|
588
593
|
<subItem.icon size={16} />
|
|
@@ -615,7 +620,7 @@ let secondaryMenuLinks = $derived([
|
|
|
615
620
|
<ConfirmationModal
|
|
616
621
|
open={leaveWorkspaceModal}
|
|
617
622
|
title="Leave workspace"
|
|
618
|
-
confirmationText="
|
|
623
|
+
confirmationText="Leave workspace"
|
|
619
624
|
on:canceled={() => {
|
|
620
625
|
leaveWorkspaceModal = false
|
|
621
626
|
}}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { Building, Plus, Settings, GitFork } from 'lucide-svelte';
|
|
3
3
|
import MenuButton from './MenuButton.svelte';
|
|
4
4
|
import { Menu, MenuItem } from '../meltComponents';
|
|
5
|
+
import WorkspaceIcon from '../workspace/WorkspaceIcon.svelte';
|
|
5
6
|
import { goto } from '../../navigation';
|
|
6
7
|
import { base } from '../../base';
|
|
7
8
|
import { page } from '$app/stores';
|
|
@@ -12,6 +13,7 @@ import { isCloudHosted } from '../../cloud';
|
|
|
12
13
|
import { workspaceAIClients } from '../copilot/lib';
|
|
13
14
|
import { twMerge } from 'tailwind-merge';
|
|
14
15
|
import { buildWorkspaceHierarchy } from '../../utils/workspaceHierarchy';
|
|
16
|
+
import { getContrastTextColor } from '../../utils';
|
|
15
17
|
function removePrefix(str, prefix) {
|
|
16
18
|
if (str.startsWith(prefix)) {
|
|
17
19
|
return str.substring(prefix.length);
|
|
@@ -44,12 +46,6 @@ async function toggleSwitchWorkspace(id) {
|
|
|
44
46
|
await goto('/');
|
|
45
47
|
}
|
|
46
48
|
}
|
|
47
|
-
// Helper function to check if a workspace is forked
|
|
48
|
-
function isForkedWorkspace(workspaceId) {
|
|
49
|
-
if (!$userWorkspaces)
|
|
50
|
-
return false;
|
|
51
|
-
return $userWorkspaces.some((w) => w.id === workspaceId && w.parent_workspace_id != null);
|
|
52
|
-
}
|
|
53
49
|
function getForkedWorkspace(workspaceId) {
|
|
54
50
|
if (!$userWorkspaces)
|
|
55
51
|
return undefined;
|
|
@@ -61,48 +57,37 @@ function getParentWorkspace(parentId) {
|
|
|
61
57
|
return $userWorkspaces.find((w) => w.id === parentId);
|
|
62
58
|
}
|
|
63
59
|
// Group workspaces into parent-child hierarchy using Svelte 5 derived and the new utility
|
|
64
|
-
const groupedWorkspaces = $derived(() => {
|
|
60
|
+
const groupedWorkspaces = $derived.by(() => {
|
|
65
61
|
if (!$userWorkspaces)
|
|
66
62
|
return [];
|
|
67
63
|
return buildWorkspaceHierarchy($userWorkspaces);
|
|
68
64
|
});
|
|
65
|
+
const itemClass = 'text-primary flex flex-row gap-2 px-4 py-2 text-xs hover:bg-surface-hover hover:text-primary data-[highlighted]:bg-surface-hover data-[highlighted]:text-primary';
|
|
69
66
|
</script>
|
|
70
67
|
|
|
71
|
-
{#if isForkedWorkspace($workspaceStore ?? '') && !isCollapsed}
|
|
72
|
-
{@const forkedWorkspace = getForkedWorkspace($workspaceStore ?? '')}
|
|
73
|
-
{@const parentWorkspace = forkedWorkspace
|
|
74
|
-
? getParentWorkspace(forkedWorkspace.parent_workspace_id!)
|
|
75
|
-
: null}
|
|
76
|
-
<Menu {createMenu} usePointerDownOutside>
|
|
77
|
-
{#snippet triggr({ trigger })}
|
|
78
|
-
<div class="group flex items-center px-2 py-2 font-light rounded-md h-8 gap-3 w-full text-xs">
|
|
79
|
-
<Building size={12} class="text-primary" />
|
|
80
|
-
<span class="text-xs text-primary"> {parentWorkspace?.name ?? ''} </span>
|
|
81
|
-
</div>
|
|
82
|
-
{/snippet}
|
|
83
|
-
</Menu>
|
|
84
|
-
{/if}
|
|
85
68
|
<Menu {createMenu} usePointerDownOutside>
|
|
86
69
|
{#snippet triggr({ trigger })}
|
|
87
70
|
{@const forkedWorkspace = getForkedWorkspace($workspaceStore ?? '')}
|
|
88
71
|
{@const parentWorkspace = forkedWorkspace
|
|
89
72
|
? getParentWorkspace(forkedWorkspace.parent_workspace_id!)
|
|
90
73
|
: null}
|
|
74
|
+
{@const iconColor = getContrastTextColor($workspaceColor)}
|
|
91
75
|
{#if forkedWorkspace && parentWorkspace}
|
|
92
|
-
<
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
76
|
+
<MenuButton
|
|
77
|
+
class="!text-xs"
|
|
78
|
+
icon={GitFork}
|
|
79
|
+
iconProps={iconColor ? { style: `color: ${iconColor}` } : undefined}
|
|
80
|
+
label={removePrefix($workspaceStore ?? '', 'wm-fork-')}
|
|
81
|
+
sublabel={parentWorkspace?.name ? `Fork of ${parentWorkspace.name}` : undefined}
|
|
82
|
+
{isCollapsed}
|
|
83
|
+
color={$workspaceColor}
|
|
84
|
+
{trigger}
|
|
85
|
+
/>
|
|
102
86
|
{:else}
|
|
103
87
|
<MenuButton
|
|
104
88
|
class="!text-xs"
|
|
105
89
|
icon={Building}
|
|
90
|
+
iconProps={iconColor ? { style: `color: ${iconColor}` } : undefined}
|
|
106
91
|
label={$workspaceStore ?? ''}
|
|
107
92
|
{isCollapsed}
|
|
108
93
|
color={$workspaceColor}
|
|
@@ -114,13 +99,14 @@ const groupedWorkspaces = $derived(() => {
|
|
|
114
99
|
{#snippet children({ item })}
|
|
115
100
|
<div class="divide-y" role="none">
|
|
116
101
|
<div class="py-1">
|
|
117
|
-
{#each groupedWorkspaces
|
|
102
|
+
{#each groupedWorkspaces as { workspace, depth, isForked, parentName }}
|
|
103
|
+
{@const isSelected = $workspaceStore === workspace.id}
|
|
118
104
|
<MenuItem
|
|
119
105
|
class={twMerge(
|
|
120
|
-
'text-xs min-w-0 w-full overflow-hidden flex flex-col py-
|
|
106
|
+
'text-xs min-w-0 w-full overflow-hidden flex flex-col py-2 px-3',
|
|
121
107
|
workspace.disabled && 'opacity-50 cursor-not-allowed',
|
|
122
|
-
|
|
123
|
-
? 'cursor-default bg-surface-selected'
|
|
108
|
+
isSelected
|
|
109
|
+
? 'cursor-default bg-surface-accent-selected'
|
|
124
110
|
: workspace.disabled
|
|
125
111
|
? ''
|
|
126
112
|
: 'cursor-pointer hover:bg-surface-hover data-[highlighted]:bg-surface-hover'
|
|
@@ -133,73 +119,47 @@ const groupedWorkspaces = $derived(() => {
|
|
|
133
119
|
{item}
|
|
134
120
|
>
|
|
135
121
|
<div class="flex items-center justify-between min-w-0 w-full">
|
|
136
|
-
<div
|
|
137
|
-
|
|
138
|
-
style:padding-left={`${4 + depth * 12}px`}
|
|
139
|
-
>
|
|
140
|
-
{#if isForked}
|
|
141
|
-
<GitFork size={12} class="text-primary flex-shrink-0" />
|
|
142
|
-
{:else}
|
|
143
|
-
<Building size={12} />
|
|
144
|
-
{/if}
|
|
122
|
+
<div class="flex items-center gap-2 min-w-0" style:padding-left={`${depth * 16}px`}>
|
|
123
|
+
<WorkspaceIcon workspaceColor={workspace.color} {isForked} {parentName} />
|
|
145
124
|
<div class="min-w-0 flex-1">
|
|
146
125
|
<div
|
|
147
126
|
class={twMerge(
|
|
148
|
-
'truncate text-left text-
|
|
149
|
-
|
|
127
|
+
'truncate text-left text-xs font-normal',
|
|
128
|
+
isSelected ? 'text-accent' : 'text-primary'
|
|
150
129
|
)}
|
|
130
|
+
title={workspace.name}
|
|
151
131
|
>
|
|
152
132
|
{workspace.name}{workspace.disabled ? ' (user disabled)' : ''}
|
|
153
133
|
</div>
|
|
154
134
|
<div
|
|
155
135
|
class={twMerge(
|
|
156
|
-
'font-mono text-2xs whitespace-nowrap truncate text-left',
|
|
157
|
-
|
|
136
|
+
'font-mono text-2xs whitespace-nowrap truncate text-left font-normal',
|
|
137
|
+
isSelected ? 'text-accent/80' : 'text-hint'
|
|
158
138
|
)}
|
|
139
|
+
title={workspace.id}
|
|
159
140
|
>
|
|
160
141
|
{workspace.id}
|
|
161
142
|
</div>
|
|
162
|
-
{#if isForked && parentName}
|
|
163
|
-
<div class="text-primary text-2xs truncate text-left pl-2 min-h-[1rem]">
|
|
164
|
-
Fork of {parentName}
|
|
165
|
-
</div>
|
|
166
|
-
{/if}
|
|
167
143
|
</div>
|
|
168
144
|
</div>
|
|
169
|
-
{#if workspace.color}
|
|
170
|
-
<div
|
|
171
|
-
class="w-5 h-5 mr-2 rounded border border-gray-300 dark:border-gray-600"
|
|
172
|
-
style="background-color: {workspace.color}"
|
|
173
|
-
></div>
|
|
174
|
-
{/if}
|
|
175
145
|
</div>
|
|
176
146
|
</MenuItem>
|
|
177
147
|
{/each}
|
|
178
148
|
</div>
|
|
179
149
|
{#if (isCloudHosted() || $superadmin) && !strictWorkspaceSelect}
|
|
180
150
|
<div class="py-1" role="none">
|
|
181
|
-
<
|
|
182
|
-
href="{base}/user/create_workspace"
|
|
183
|
-
class="text-primary px-4 py-2 text-xs hover:bg-surface-hover hover:text-primary flex flex-flow gap-2"
|
|
184
|
-
role="menuitem"
|
|
185
|
-
tabindex="-1"
|
|
186
|
-
>
|
|
151
|
+
<MenuItem href="{base}/user/create_workspace" class={itemClass} {item}>
|
|
187
152
|
<Plus size={16} />
|
|
188
153
|
Workspace
|
|
189
|
-
</
|
|
154
|
+
</MenuItem>
|
|
190
155
|
</div>
|
|
191
156
|
{/if}
|
|
192
157
|
{#if !strictWorkspaceSelect && !isCloudHosted()}
|
|
193
158
|
<div class="py-1" role="none">
|
|
194
|
-
<
|
|
195
|
-
href="{base}/user/fork_workspace"
|
|
196
|
-
class="text-primary px-4 py-2 text-xs hover:bg-surface-hover hover:text-primary flex flex-flow gap-2"
|
|
197
|
-
role="menuitem"
|
|
198
|
-
tabindex="-1"
|
|
199
|
-
>
|
|
159
|
+
<MenuItem href="{base}/user/fork_workspace" class={itemClass} {item}>
|
|
200
160
|
<GitFork size={16} />
|
|
201
161
|
Fork current workspace
|
|
202
|
-
</
|
|
162
|
+
</MenuItem>
|
|
203
163
|
</div>
|
|
204
164
|
{/if}
|
|
205
165
|
{#if !strictWorkspaceSelect}
|
|
@@ -207,10 +167,7 @@ const groupedWorkspaces = $derived(() => {
|
|
|
207
167
|
<MenuItem
|
|
208
168
|
href="{base}/user/workspaces"
|
|
209
169
|
onClick={() => clearWorkspaceFromStorage()}
|
|
210
|
-
class={
|
|
211
|
-
'text-primary block px-4 py-2 text-xs hover:bg-surface-hover hover:text-primary',
|
|
212
|
-
'data-[highlighted]:bg-surface-hover data-[highlighted]:text-primary'
|
|
213
|
-
)}
|
|
170
|
+
class={itemClass}
|
|
214
171
|
{item}
|
|
215
172
|
>
|
|
216
173
|
All workspaces
|
|
@@ -219,14 +176,7 @@ const groupedWorkspaces = $derived(() => {
|
|
|
219
176
|
{/if}
|
|
220
177
|
{#if ($userStore?.is_admin || $superadmin) && !strictWorkspaceSelect}
|
|
221
178
|
<div class="py-1" role="none">
|
|
222
|
-
<MenuItem
|
|
223
|
-
href="{base}/workspace_settings"
|
|
224
|
-
class={twMerge(
|
|
225
|
-
'text-secondary px-4 py-2 text-xs hover:bg-surface-hover hover:text-primary flex flex-flow gap-2',
|
|
226
|
-
'data-[highlighted]:bg-surface-hover data-[highlighted]:text-primary'
|
|
227
|
-
)}
|
|
228
|
-
{item}
|
|
229
|
-
>
|
|
179
|
+
<MenuItem href="{base}/workspace_settings" class={itemClass} {item}>
|
|
230
180
|
<Settings size={16} />
|
|
231
181
|
Workspace settings
|
|
232
182
|
</MenuItem>
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* This module handles the communication between the Monaco editor and the
|
|
5
5
|
* custom TypeScript worker that injects SQL type annotations.
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
7
|
+
import { getTypeScriptWorker } from '@codingame/monaco-vscode-standalone-typescript-language-features';
|
|
8
|
+
import { Uri, editor, MarkerSeverity } from 'monaco-editor';
|
|
8
9
|
/**
|
|
9
10
|
* Cached promise for the TypeScript worker client
|
|
10
11
|
* We lazily initialize this when first needed
|
|
@@ -14,7 +15,7 @@ async function getWorkerClient() {
|
|
|
14
15
|
try {
|
|
15
16
|
// Get or create the worker client
|
|
16
17
|
if (!_workerClient) {
|
|
17
|
-
_workerClient = (await
|
|
18
|
+
_workerClient = (await getTypeScriptWorker());
|
|
18
19
|
}
|
|
19
20
|
return _workerClient;
|
|
20
21
|
}
|
|
@@ -97,7 +98,7 @@ export async function updateSqlQueriesInWorker(fileUri, queries) {
|
|
|
97
98
|
async function revalidateModel(model) {
|
|
98
99
|
if (!model || model.isDisposed())
|
|
99
100
|
return;
|
|
100
|
-
const getWorker = await
|
|
101
|
+
const getWorker = await getTypeScriptWorker();
|
|
101
102
|
const worker = await getWorker(model.uri);
|
|
102
103
|
const diagnostics = (await Promise.all([
|
|
103
104
|
worker.getSyntacticDiagnostics(model.uri.toString()),
|
|
@@ -10,7 +10,7 @@ let footerHeight = $state(0);
|
|
|
10
10
|
let tableHeight = $state(0);
|
|
11
11
|
const dispatch = createEventDispatcher();
|
|
12
12
|
let tableContainer = $state();
|
|
13
|
-
let { paginated = false, currentPage = $bindable(1), showNext = true, showPrev = true, loadMore = 0, shouldLoadMore = false, rounded = true, size = 'md', perPage = $bindable(undefined), shouldHidePagination = false, noBorder = false, rowCount = undefined, hasMore = true, contentHeight = $bindable(0), tableFixed = false, infiniteScroll = undefined, neverShowLoader = false, loading = false, loadingMore = false, children, emptyMessage } = $props();
|
|
13
|
+
let { paginated = false, currentPage = $bindable(1), showNext = true, showPrev = true, loadMore = 0, shouldLoadMore = false, rounded = true, size = 'md', perPage = $bindable(undefined), shouldHidePagination = false, noBorder = false, rowCount = undefined, hasMore = true, contentHeight = $bindable(0), tableFixed = false, infiniteScroll = undefined, neverShowLoader = false, loading = false, loadingMore = false, containerClass = '', children, emptyMessage } = $props();
|
|
14
14
|
setContext('datatable', {
|
|
15
15
|
size
|
|
16
16
|
});
|
|
@@ -63,7 +63,8 @@ $effect(() => {
|
|
|
63
63
|
class={twMerge(
|
|
64
64
|
'h-full',
|
|
65
65
|
rounded ? 'rounded-md overflow-hidden' : '',
|
|
66
|
-
noBorder ? 'border-0' : 'border'
|
|
66
|
+
noBorder ? 'border-0' : 'border',
|
|
67
|
+
containerClass
|
|
67
68
|
)}
|
|
68
69
|
bind:clientHeight={tableHeight}
|
|
69
70
|
>
|
|
@@ -20,6 +20,9 @@ export const inputSizeClasses = {
|
|
|
20
20
|
export function focus() {
|
|
21
21
|
inputEl?.focus();
|
|
22
22
|
}
|
|
23
|
+
export function select() {
|
|
24
|
+
inputEl?.select();
|
|
25
|
+
}
|
|
23
26
|
let inputEl = $state();
|
|
24
27
|
let { inputProps: _inputProps, value = $bindable(), class: className = '', error, size = 'md', unifiedHeight = true, underlyingInputEl: _underlyingInputEl } = $props();
|
|
25
28
|
let underlyingInputEl = $derived(_underlyingInputEl ?? 'input');
|
|
@@ -24,6 +24,7 @@ declare function $$render<UnderlyingInputElT extends 'input' | 'textarea' = 'inp
|
|
|
24
24
|
props: Props<UnderlyingInputElT>;
|
|
25
25
|
exports: {
|
|
26
26
|
focus: () => void;
|
|
27
|
+
select: () => void;
|
|
27
28
|
};
|
|
28
29
|
bindings: "value";
|
|
29
30
|
slots: {};
|
|
@@ -36,6 +37,7 @@ declare class __sveltets_Render<UnderlyingInputElT extends 'input' | 'textarea'
|
|
|
36
37
|
bindings(): "value";
|
|
37
38
|
exports(): {
|
|
38
39
|
focus: () => void;
|
|
40
|
+
select: () => void;
|
|
39
41
|
};
|
|
40
42
|
}
|
|
41
43
|
interface $$IsomorphicComponent {
|