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,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">import { Pane, Splitpanes } from 'svelte-splitpanes';
|
|
2
2
|
import RawAppInlineScriptsPanel from './RawAppInlineScriptsPanel.svelte';
|
|
3
3
|
import RawAppEditorHeader from './RawAppEditorHeader.svelte';
|
|
4
|
-
import {} from '../../gen';
|
|
4
|
+
import { WorkspaceService } from '../../gen';
|
|
5
5
|
import DiffDrawer from '../DiffDrawer.svelte';
|
|
6
6
|
import { encodeState } from '../../utils';
|
|
7
7
|
import { deepEqual } from 'fast-equals';
|
|
@@ -16,7 +16,6 @@ import { aiChatManager, AIMode } from '../copilot/chat/AIChatManager.svelte';
|
|
|
16
16
|
import { onMount } from 'svelte';
|
|
17
17
|
import { rawAppLintStore } from './lintStore';
|
|
18
18
|
import { dbSchemas } from '../../stores';
|
|
19
|
-
import { getDbSchemas } from '../apps/components/display/dbtable/metadata';
|
|
20
19
|
import { runScriptAndPollResult } from '../jobs/utils';
|
|
21
20
|
import { RawAppHistoryManager } from './RawAppHistoryManager.svelte';
|
|
22
21
|
import { sendUserToast } from '../../utils';
|
|
@@ -58,7 +57,7 @@ function saveFrontendDraft() {
|
|
|
58
57
|
}, 500);
|
|
59
58
|
}
|
|
60
59
|
let iframe = $state(undefined);
|
|
61
|
-
let sidebarPanelSize = $state(
|
|
60
|
+
let sidebarPanelSize = $state(15);
|
|
62
61
|
let jobs = $state([]);
|
|
63
62
|
let jobsById = $state({});
|
|
64
63
|
// Helper function to convert internal Runnable to BackendRunnable format
|
|
@@ -122,6 +121,14 @@ function setFilesInIframe(newFiles) {
|
|
|
122
121
|
files: files
|
|
123
122
|
}, '*');
|
|
124
123
|
}
|
|
124
|
+
function setFilesAndSelectInIframe(newFiles, pathToSelect) {
|
|
125
|
+
const files = Object.fromEntries(Object.entries(newFiles).filter(([path, _]) => !path.endsWith('/')));
|
|
126
|
+
iframe?.contentWindow?.postMessage({
|
|
127
|
+
type: 'setFilesAndSelect',
|
|
128
|
+
files: files,
|
|
129
|
+
pathToSelect: pathToSelect
|
|
130
|
+
}, '*');
|
|
131
|
+
}
|
|
125
132
|
function populateRunnables() {
|
|
126
133
|
iframe?.contentWindow?.postMessage({
|
|
127
134
|
type: 'setRunnables',
|
|
@@ -205,7 +212,6 @@ $effect(() => {
|
|
|
205
212
|
...$state.snapshot(files ?? {}),
|
|
206
213
|
'/wmill.d.ts': genWmillTs(runnables)
|
|
207
214
|
};
|
|
208
|
-
console.log('result', frontendFiles);
|
|
209
215
|
return frontendFiles;
|
|
210
216
|
},
|
|
211
217
|
setFrontendFile: (path, content) => {
|
|
@@ -214,10 +220,9 @@ $effect(() => {
|
|
|
214
220
|
files = {};
|
|
215
221
|
}
|
|
216
222
|
files[path] = content;
|
|
217
|
-
setFilesInIframe(files);
|
|
218
223
|
selectedDocument = path;
|
|
219
|
-
|
|
220
|
-
|
|
224
|
+
// Use combined setFilesAndSelect to avoid race condition
|
|
225
|
+
setFilesAndSelectInIframe(files, path);
|
|
221
226
|
return lint();
|
|
222
227
|
},
|
|
223
228
|
deleteFrontendFile: (path) => {
|
|
@@ -297,24 +302,37 @@ $effect(() => {
|
|
|
297
302
|
};
|
|
298
303
|
},
|
|
299
304
|
getSelectedContext: () => {
|
|
305
|
+
const baseContext = {
|
|
306
|
+
inspectorElement: inspectorElement,
|
|
307
|
+
selectionExcluded: selectionExcludedFromPrompt,
|
|
308
|
+
toggleSelectionExcluded: toggleSelectionExcluded,
|
|
309
|
+
clearInspector: clearInspectorSelection,
|
|
310
|
+
clearRunnable: handleClearRunnable,
|
|
311
|
+
codeSelection: codeSelection,
|
|
312
|
+
clearCodeSelection: () => {
|
|
313
|
+
codeSelection = undefined;
|
|
314
|
+
}
|
|
315
|
+
};
|
|
300
316
|
if (selectedRunnable) {
|
|
301
|
-
|
|
317
|
+
const runnable = convertToBackendRunnable(selectedRunnable, runnables[selectedRunnable]);
|
|
302
318
|
return {
|
|
303
319
|
type: 'backend',
|
|
304
|
-
|
|
320
|
+
backendKey: selectedRunnable,
|
|
321
|
+
backendRunnable: runnable,
|
|
322
|
+
...baseContext
|
|
305
323
|
};
|
|
306
324
|
}
|
|
307
325
|
if (selectedDocument) {
|
|
308
|
-
console.log('selectedDocument', selectedDocument);
|
|
309
326
|
return {
|
|
310
327
|
type: 'frontend',
|
|
311
|
-
|
|
328
|
+
frontendPath: selectedDocument,
|
|
329
|
+
frontendContent: files?.[selectedDocument],
|
|
330
|
+
...baseContext
|
|
312
331
|
};
|
|
313
332
|
}
|
|
314
|
-
console.log('no selection');
|
|
315
333
|
return {
|
|
316
334
|
type: 'none',
|
|
317
|
-
|
|
335
|
+
...baseContext
|
|
318
336
|
};
|
|
319
337
|
},
|
|
320
338
|
snapshot: () => {
|
|
@@ -327,52 +345,71 @@ $effect(() => {
|
|
|
327
345
|
handleHistorySelect(id);
|
|
328
346
|
},
|
|
329
347
|
getDatatables: async () => {
|
|
348
|
+
if (!$workspaceStore) {
|
|
349
|
+
return [];
|
|
350
|
+
}
|
|
351
|
+
// Get all datatable schemas from the backend
|
|
352
|
+
const allSchemas = await WorkspaceService.listDataTableSchemas({
|
|
353
|
+
workspace: $workspaceStore
|
|
354
|
+
});
|
|
355
|
+
// Get unique datatable names from dataTableRefs (the whitelisted tables)
|
|
356
|
+
const whitelistedDatatables = new Set(dataTableRefsObjects.map((ref) => ref.datatable));
|
|
357
|
+
// If no datatables are configured, return all available datatables
|
|
358
|
+
// This allows users to see all datatables in the @ context menu
|
|
359
|
+
if (whitelistedDatatables.size === 0) {
|
|
360
|
+
return allSchemas;
|
|
361
|
+
}
|
|
362
|
+
// Build a map of whitelisted tables per datatable: datatable -> schema -> Set<table>
|
|
363
|
+
const whitelistedTables = new Map();
|
|
364
|
+
for (const ref of dataTableRefsObjects) {
|
|
365
|
+
if (!ref.table)
|
|
366
|
+
continue;
|
|
367
|
+
if (!whitelistedTables.has(ref.datatable)) {
|
|
368
|
+
whitelistedTables.set(ref.datatable, new Map());
|
|
369
|
+
}
|
|
370
|
+
const schemaKey = ref.schema || 'public';
|
|
371
|
+
const schemaMap = whitelistedTables.get(ref.datatable);
|
|
372
|
+
if (!schemaMap.has(schemaKey)) {
|
|
373
|
+
schemaMap.set(schemaKey, new Set());
|
|
374
|
+
}
|
|
375
|
+
schemaMap.get(schemaKey).add(ref.table);
|
|
376
|
+
}
|
|
377
|
+
// Filter schemas to only include whitelisted datatables and tables
|
|
330
378
|
const results = [];
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
const resourcePath = `datatable://${datatableName}`;
|
|
335
|
-
// Get or load the schema
|
|
336
|
-
let schema = $dbSchemas[resourcePath];
|
|
337
|
-
if (!schema) {
|
|
338
|
-
try {
|
|
339
|
-
await getDbSchemas('postgresql', resourcePath, $workspaceStore, $dbSchemas, (msg) => console.error('Schema error:', msg));
|
|
340
|
-
schema = $dbSchemas[resourcePath];
|
|
341
|
-
}
|
|
342
|
-
catch (e) {
|
|
343
|
-
console.error(`Failed to load schema for ${datatableName}:`, e);
|
|
344
|
-
continue;
|
|
345
|
-
}
|
|
379
|
+
for (const schema of allSchemas) {
|
|
380
|
+
if (!whitelistedDatatables.has(schema.datatable_name)) {
|
|
381
|
+
continue;
|
|
346
382
|
}
|
|
347
|
-
|
|
383
|
+
const allowedTables = whitelistedTables.get(schema.datatable_name);
|
|
384
|
+
if (!allowedTables) {
|
|
385
|
+
// Include the datatable but with empty schemas
|
|
386
|
+
results.push({
|
|
387
|
+
datatable_name: schema.datatable_name,
|
|
388
|
+
schemas: {},
|
|
389
|
+
error: schema.error
|
|
390
|
+
});
|
|
348
391
|
continue;
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
const
|
|
352
|
-
for (const
|
|
353
|
-
const
|
|
354
|
-
|
|
355
|
-
if (!tableKey)
|
|
356
|
-
continue; // Skip if no table specified
|
|
357
|
-
const tableSchema = schema.schema[schemaKey]?.[tableKey];
|
|
358
|
-
if (!tableSchema)
|
|
392
|
+
}
|
|
393
|
+
// Filter schemas to only include whitelisted tables
|
|
394
|
+
const filteredSchemas = {};
|
|
395
|
+
for (const [schemaName, tables] of Object.entries(schema.schemas)) {
|
|
396
|
+
const allowedTablesInSchema = allowedTables.get(schemaName);
|
|
397
|
+
if (!allowedTablesInSchema)
|
|
359
398
|
continue;
|
|
360
|
-
const
|
|
361
|
-
for (const [
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
399
|
+
const filteredTables = {};
|
|
400
|
+
for (const [tableName, columns] of Object.entries(tables)) {
|
|
401
|
+
if (allowedTablesInSchema.has(tableName)) {
|
|
402
|
+
filteredTables[tableName] = columns;
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
if (Object.keys(filteredTables).length > 0) {
|
|
406
|
+
filteredSchemas[schemaName] = filteredTables;
|
|
366
407
|
}
|
|
367
|
-
tables.push({
|
|
368
|
-
schema: schemaKey,
|
|
369
|
-
table: tableKey,
|
|
370
|
-
columns
|
|
371
|
-
});
|
|
372
408
|
}
|
|
373
409
|
results.push({
|
|
374
|
-
|
|
375
|
-
|
|
410
|
+
datatable_name: schema.datatable_name,
|
|
411
|
+
schemas: filteredSchemas,
|
|
412
|
+
error: schema.error
|
|
376
413
|
});
|
|
377
414
|
}
|
|
378
415
|
return results;
|
|
@@ -422,17 +459,44 @@ $effect(() => {
|
|
|
422
459
|
const errorMsg = e instanceof Error ? e.message : String(e);
|
|
423
460
|
return { success: false, error: errorMsg };
|
|
424
461
|
}
|
|
462
|
+
},
|
|
463
|
+
addTableToWhitelist: (datatableName, schemaName, tableName) => {
|
|
464
|
+
// Format the table reference
|
|
465
|
+
const newRef = formatDataTableRef({
|
|
466
|
+
datatable: datatableName,
|
|
467
|
+
schema: schemaName === 'public' ? undefined : schemaName,
|
|
468
|
+
table: tableName
|
|
469
|
+
});
|
|
470
|
+
// Only add if not already present
|
|
471
|
+
if (!data.tables.includes(newRef)) {
|
|
472
|
+
data.tables = [...data.tables, newRef];
|
|
473
|
+
saveFrontendDraft();
|
|
474
|
+
}
|
|
425
475
|
}
|
|
426
476
|
});
|
|
427
477
|
});
|
|
428
478
|
let selectedRunnable = $state(undefined);
|
|
429
479
|
let selectedDocument = $state(undefined);
|
|
480
|
+
let inspectorElement = $state(undefined);
|
|
481
|
+
let selectionExcludedFromPrompt = $state(false);
|
|
482
|
+
let codeSelection = $state(undefined);
|
|
483
|
+
function toggleSelectionExcluded() {
|
|
484
|
+
selectionExcludedFromPrompt = !selectionExcludedFromPrompt;
|
|
485
|
+
}
|
|
430
486
|
let modules = $state({});
|
|
487
|
+
// Normalize Windows-style path separators to Linux-style
|
|
488
|
+
function normalizeFilePaths(filesObj) {
|
|
489
|
+
if (!filesObj)
|
|
490
|
+
return filesObj;
|
|
491
|
+
return Object.fromEntries(Object.entries(filesObj).map(([path, content]) => [path.replace(/\\/g, '/'), content]));
|
|
492
|
+
}
|
|
431
493
|
function listener(e) {
|
|
432
494
|
if (e.data.type === 'setFiles') {
|
|
495
|
+
// Normalize Windows-style path separators to Linux-style
|
|
496
|
+
const normalizedFiles = normalizeFilePaths(e.data.files);
|
|
433
497
|
// Only mark pending changes if files actually changed (ignore echo from setFilesInIframe)
|
|
434
|
-
if (!deepEqual(files,
|
|
435
|
-
files =
|
|
498
|
+
if (!deepEqual(files, normalizedFiles)) {
|
|
499
|
+
files = normalizedFiles;
|
|
436
500
|
historyManager.markPendingChanges();
|
|
437
501
|
}
|
|
438
502
|
}
|
|
@@ -443,7 +507,39 @@ function listener(e) {
|
|
|
443
507
|
modules = e.data.modules;
|
|
444
508
|
}
|
|
445
509
|
else if (e.data.type === 'setActiveDocument') {
|
|
446
|
-
|
|
510
|
+
// Normalize Windows-style path separators to Linux-style
|
|
511
|
+
selectedDocument = e.data.path?.replace(/\\/g, '/');
|
|
512
|
+
}
|
|
513
|
+
else if (e.data.type === 'inspectorSelect') {
|
|
514
|
+
// Handle inspector element selection from the iframe preview
|
|
515
|
+
inspectorElement = e.data.element;
|
|
516
|
+
}
|
|
517
|
+
else if (e.data.type === 'inspectorClear') {
|
|
518
|
+
// Clear the inspector element when user dismisses the selection
|
|
519
|
+
inspectorElement = undefined;
|
|
520
|
+
}
|
|
521
|
+
else if (e.data.type === 'editorSelection') {
|
|
522
|
+
// Handle code selection from the iframe editor
|
|
523
|
+
const selection = e.data.selection;
|
|
524
|
+
if (selection === null) {
|
|
525
|
+
// Selection cleared
|
|
526
|
+
codeSelection = undefined;
|
|
527
|
+
}
|
|
528
|
+
else {
|
|
529
|
+
// Normalize path
|
|
530
|
+
const normalizedPath = selection.path?.replace(/\\/g, '/');
|
|
531
|
+
codeSelection = {
|
|
532
|
+
type: 'app_code_selection',
|
|
533
|
+
source: normalizedPath,
|
|
534
|
+
sourceType: 'frontend',
|
|
535
|
+
title: `${normalizedPath}:L${selection.range.startLine}-L${selection.range.endLine}`,
|
|
536
|
+
content: selection.content,
|
|
537
|
+
startLine: selection.range.startLine,
|
|
538
|
+
endLine: selection.range.endLine,
|
|
539
|
+
startColumn: selection.range.startColumn,
|
|
540
|
+
endColumn: selection.range.endColumn
|
|
541
|
+
};
|
|
542
|
+
}
|
|
447
543
|
}
|
|
448
544
|
}
|
|
449
545
|
let getBundleResolve = undefined;
|
|
@@ -470,14 +566,38 @@ $effect(() => {
|
|
|
470
566
|
$effect(() => {
|
|
471
567
|
iframe && iframeLoaded && runnables && populateRunnables();
|
|
472
568
|
});
|
|
569
|
+
function clearInspectorSelection() {
|
|
570
|
+
inspectorElement = undefined;
|
|
571
|
+
iframe?.contentWindow?.postMessage({ type: 'inspectorClear' }, '*');
|
|
572
|
+
}
|
|
473
573
|
function handleSelectFile(path) {
|
|
474
574
|
console.log('event Select file:', path);
|
|
475
575
|
selectedRunnable = undefined;
|
|
576
|
+
// Inspector is cleared by the $effect watching selection changes
|
|
476
577
|
iframe?.contentWindow?.postMessage({
|
|
477
578
|
type: 'selectFile',
|
|
478
579
|
path: path
|
|
479
580
|
}, '*');
|
|
480
581
|
}
|
|
582
|
+
function handleClearRunnable() {
|
|
583
|
+
selectedRunnable = undefined;
|
|
584
|
+
}
|
|
585
|
+
// Track previous values for change detection
|
|
586
|
+
let prevSelectedRunnable = undefined;
|
|
587
|
+
let prevSelectedDocument = undefined;
|
|
588
|
+
// Clear inspector and reset exclusion when selection changes
|
|
589
|
+
$effect(() => {
|
|
590
|
+
if (selectedRunnable !== prevSelectedRunnable || selectedDocument !== prevSelectedDocument) {
|
|
591
|
+
// Only clear if we're actually switching to something different
|
|
592
|
+
if (prevSelectedRunnable !== undefined || prevSelectedDocument !== undefined) {
|
|
593
|
+
clearInspectorSelection();
|
|
594
|
+
}
|
|
595
|
+
// Reset exclusion when switching files/runnables
|
|
596
|
+
selectionExcludedFromPrompt = false;
|
|
597
|
+
prevSelectedRunnable = selectedRunnable;
|
|
598
|
+
prevSelectedDocument = selectedDocument;
|
|
599
|
+
}
|
|
600
|
+
});
|
|
481
601
|
function handleUndo() {
|
|
482
602
|
// Create a snapshot if we're at the latest position with pending changes
|
|
483
603
|
if (historyManager.needsSnapshotBeforeNav) {
|
|
@@ -495,9 +615,10 @@ function handleRedo() {
|
|
|
495
615
|
}
|
|
496
616
|
}
|
|
497
617
|
function handleHistorySelect(id) {
|
|
498
|
-
//
|
|
499
|
-
if (
|
|
500
|
-
|
|
618
|
+
// Save current state temporarily (not as a snapshot) when navigating to history
|
|
619
|
+
// Only if we're currently at the "current" state (not already viewing history)
|
|
620
|
+
if (historyManager.selectedEntryId === undefined) {
|
|
621
|
+
historyManager.saveTemporaryCurrentState(files ?? {}, runnables, summary, data);
|
|
501
622
|
}
|
|
502
623
|
const entry = historyManager.selectEntry(id);
|
|
503
624
|
if (entry) {
|
|
@@ -510,15 +631,16 @@ function applyEntry(entry) {
|
|
|
510
631
|
runnables = structuredClone($state.snapshot(entry.runnables));
|
|
511
632
|
summary = entry.summary;
|
|
512
633
|
data = structuredClone($state.snapshot(entry.data));
|
|
513
|
-
|
|
514
|
-
populateRunnables();
|
|
515
|
-
// Re-select the current document if it exists in the new files
|
|
634
|
+
// If there's a selected document that exists in the new files, use the combined message
|
|
516
635
|
if (selectedDocument && entry.files[selectedDocument] !== undefined) {
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
path: selectedDocument
|
|
520
|
-
}, '*');
|
|
636
|
+
// Use combined setFilesAndSelect message to avoid race condition
|
|
637
|
+
setFilesAndSelectInIframe(entry.files, selectedDocument);
|
|
521
638
|
}
|
|
639
|
+
else {
|
|
640
|
+
// Otherwise just set files normally
|
|
641
|
+
setFilesInIframe(entry.files);
|
|
642
|
+
}
|
|
643
|
+
populateRunnables();
|
|
522
644
|
}
|
|
523
645
|
catch (error) {
|
|
524
646
|
console.error('Failed to apply entry:', error);
|
|
@@ -569,8 +691,8 @@ function handleKeydown(e) {
|
|
|
569
691
|
onRedo={handleRedo}
|
|
570
692
|
/>
|
|
571
693
|
|
|
572
|
-
<Splitpanes id="o2" class="grow">
|
|
573
|
-
<Pane bind:size={sidebarPanelSize} maxSize={20}>
|
|
694
|
+
<Splitpanes id="o2" class="grow min-h-0">
|
|
695
|
+
<Pane bind:size={sidebarPanelSize} maxSize={20} class="h-full overflow-y-auto">
|
|
574
696
|
<RawAppSidebar
|
|
575
697
|
bind:files={
|
|
576
698
|
() => files,
|
|
@@ -605,6 +727,15 @@ function handleKeydown(e) {
|
|
|
605
727
|
{historyManager}
|
|
606
728
|
historySelectedId={historyManager.selectedEntryId}
|
|
607
729
|
onHistorySelect={handleHistorySelect}
|
|
730
|
+
onHistorySelectCurrent={() => {
|
|
731
|
+
// Restore the temporary current state if it exists
|
|
732
|
+
const tempState = historyManager.getAndClearTemporaryState()
|
|
733
|
+
if (tempState) {
|
|
734
|
+
applyEntry(tempState)
|
|
735
|
+
}
|
|
736
|
+
// Clear selection to indicate we're at current state
|
|
737
|
+
historyManager.clearSelection()
|
|
738
|
+
}}
|
|
608
739
|
onManualSnapshot={() => {
|
|
609
740
|
historyManager.manualSnapshot(files ?? {}, runnables, summary, data, true)
|
|
610
741
|
}}
|
|
@@ -626,7 +757,26 @@ function handleKeydown(e) {
|
|
|
626
757
|
appPath={path}
|
|
627
758
|
{selectedRunnable}
|
|
628
759
|
{initRunnablesContent}
|
|
629
|
-
|
|
760
|
+
bind:runnables
|
|
761
|
+
onSelectionChange={(selection) => {
|
|
762
|
+
console.log('handle selection', selection)
|
|
763
|
+
|
|
764
|
+
if (selection === null) {
|
|
765
|
+
codeSelection = undefined
|
|
766
|
+
} else if (selectedRunnable) {
|
|
767
|
+
codeSelection = {
|
|
768
|
+
type: 'app_code_selection',
|
|
769
|
+
source: selectedRunnable,
|
|
770
|
+
sourceType: 'backend',
|
|
771
|
+
title: `${selectedRunnable}:L${selection.startLine}-L${selection.endLine}`,
|
|
772
|
+
content: selection.content,
|
|
773
|
+
startLine: selection.startLine,
|
|
774
|
+
endLine: selection.endLine,
|
|
775
|
+
startColumn: selection.startColumn,
|
|
776
|
+
endColumn: selection.endColumn
|
|
777
|
+
}
|
|
778
|
+
}
|
|
779
|
+
}}
|
|
630
780
|
/>
|
|
631
781
|
</div>
|
|
632
782
|
{/if}
|
|
@@ -3,7 +3,7 @@ import Button from '../common/button/Button.svelte';
|
|
|
3
3
|
import UndoRedo from '../common/button/UndoRedo.svelte';
|
|
4
4
|
import { AppService, DraftService } from '../../gen';
|
|
5
5
|
import { enterpriseLicense, userStore, workspaceStore } from '../../stores';
|
|
6
|
-
import { Bug, DiffIcon, FileJson, FileUp, History,
|
|
6
|
+
import { Bug, DiffIcon, EllipsisVertical, FileJson, FileUp, History, Pen, Save, WandSparkles } from 'lucide-svelte';
|
|
7
7
|
import { createEventDispatcher } from 'svelte';
|
|
8
8
|
import { cleanValueProperties, orderedJsonStringify, replaceFalseWithUndefined, defaultIfEmptyString } from '../../utils';
|
|
9
9
|
// import { allItems, toStatic } from '../apps/editor/settingsPanel/utils'
|
|
@@ -54,6 +54,9 @@ async function createApp(path) {
|
|
|
54
54
|
sendUserToast(`App hasn't been loaded yet`, true);
|
|
55
55
|
return;
|
|
56
56
|
}
|
|
57
|
+
if (!policy.execution_mode) {
|
|
58
|
+
policy.execution_mode = 'publisher';
|
|
59
|
+
}
|
|
57
60
|
await computeTriggerables();
|
|
58
61
|
try {
|
|
59
62
|
const { js, css } = await getBundle();
|
|
@@ -152,6 +155,9 @@ async function updateApp(npath) {
|
|
|
152
155
|
}
|
|
153
156
|
const { js, css } = await getBundle();
|
|
154
157
|
await computeTriggerables();
|
|
158
|
+
if (!policy.execution_mode) {
|
|
159
|
+
policy.execution_mode = 'publisher';
|
|
160
|
+
}
|
|
155
161
|
await AppService.updateAppRaw({
|
|
156
162
|
workspace: $workspaceStore,
|
|
157
163
|
path: appPath,
|
|
@@ -493,19 +499,26 @@ $effect(() => {
|
|
|
493
499
|
startIcon={{ icon: Save }}
|
|
494
500
|
disabled={pathError != '' || app == undefined}
|
|
495
501
|
on:click={() => saveInitialDraft()}
|
|
502
|
+
unifiedSize="md"
|
|
503
|
+
variant="accent"
|
|
496
504
|
>
|
|
497
505
|
Save initial draft
|
|
498
506
|
</Button>
|
|
499
507
|
</div>
|
|
500
508
|
{/snippet}
|
|
501
|
-
<AppEditorHeaderDeployInitialDraft
|
|
509
|
+
<AppEditorHeaderDeployInitialDraft
|
|
510
|
+
bind:summary
|
|
511
|
+
bind:appPath
|
|
512
|
+
bind:pathError
|
|
513
|
+
bind:newEditedPath
|
|
514
|
+
/>
|
|
502
515
|
</DrawerContent>
|
|
503
516
|
</Drawer>
|
|
504
517
|
{/if}
|
|
505
518
|
<Drawer bind:open={saveDrawerOpen} size="800px">
|
|
506
519
|
<DrawerContent title="Deploy" on:close={() => closeSaveDrawer()}>
|
|
507
520
|
{#snippet actions()}
|
|
508
|
-
<div class="flex flex-row gap-
|
|
521
|
+
<div class="flex flex-row gap-2">
|
|
509
522
|
<Button
|
|
510
523
|
variant="default"
|
|
511
524
|
disabled={!savedApp || savedApp.draft_only}
|
|
@@ -548,6 +561,8 @@ $effect(() => {
|
|
|
548
561
|
</div>
|
|
549
562
|
</Button>
|
|
550
563
|
<Button
|
|
564
|
+
variant="accent"
|
|
565
|
+
unifiedSize="md"
|
|
551
566
|
startIcon={{ icon: Save }}
|
|
552
567
|
disabled={pathError != '' || customPathError != '' || app == undefined}
|
|
553
568
|
on:click={() => {
|
|
@@ -576,7 +591,6 @@ $effect(() => {
|
|
|
576
591
|
bind:customPathError
|
|
577
592
|
bind:pathError
|
|
578
593
|
bind:newEditedPath
|
|
579
|
-
hideSecretUrl={true}
|
|
580
594
|
/>
|
|
581
595
|
</DrawerContent>
|
|
582
596
|
</Drawer>
|
|
@@ -602,7 +616,7 @@ $effect(() => {
|
|
|
602
616
|
/>
|
|
603
617
|
|
|
604
618
|
<div
|
|
605
|
-
class="border-b flex flex-row justify-between py-1 gap-2 gap-y-2 px-2 items-center overflow-y-visible overflow-x-auto min-h-10"
|
|
619
|
+
class="border-b flex flex-row justify-between py-1 gap-2 gap-y-2 px-2 items-center overflow-y-visible overflow-x-auto min-h-10 shrink-0"
|
|
606
620
|
>
|
|
607
621
|
<div class="flex flex-row gap-2 items-center">
|
|
608
622
|
<Summary bind:value={summary} />
|
|
@@ -654,11 +668,13 @@ $effect(() => {
|
|
|
654
668
|
<div class="flex flex-row gap-2 justify-end items-center overflow-visible">
|
|
655
669
|
<DropdownV2 items={moreItems} class="h-auto">
|
|
656
670
|
{#snippet buttonReplacement()}
|
|
657
|
-
<Button
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
671
|
+
<Button
|
|
672
|
+
nonCaptureEvent
|
|
673
|
+
unifiedSize="md"
|
|
674
|
+
variant="subtle"
|
|
675
|
+
startIcon={{ icon: EllipsisVertical }}
|
|
676
|
+
iconOnly
|
|
677
|
+
></Button>
|
|
662
678
|
{/snippet}
|
|
663
679
|
</DropdownV2>
|
|
664
680
|
|
|
@@ -668,8 +684,8 @@ $effect(() => {
|
|
|
668
684
|
jobsDrawerOpen = true
|
|
669
685
|
}}
|
|
670
686
|
color="light"
|
|
671
|
-
|
|
672
|
-
variant="
|
|
687
|
+
unifiedSize="md"
|
|
688
|
+
variant="default"
|
|
673
689
|
btnClasses="relative"
|
|
674
690
|
>
|
|
675
691
|
<div class="flex flex-row gap-1 items-center">
|
|
@@ -684,8 +700,7 @@ $effect(() => {
|
|
|
684
700
|
</div>
|
|
685
701
|
<AppExportButton bind:this={appExport} />
|
|
686
702
|
<Button
|
|
687
|
-
|
|
688
|
-
color="light"
|
|
703
|
+
unifiedSize="md"
|
|
689
704
|
variant="default"
|
|
690
705
|
onClick={() => aiChatManager.toggleOpen()}
|
|
691
706
|
startIcon={{ icon: WandSparkles }}
|
|
@@ -698,7 +713,8 @@ $effect(() => {
|
|
|
698
713
|
loading={loading.save}
|
|
699
714
|
startIcon={{ icon: Save }}
|
|
700
715
|
on:click={() => saveDraft()}
|
|
701
|
-
|
|
716
|
+
unifiedSize="md"
|
|
717
|
+
variant="default"
|
|
702
718
|
disabled={!newApp && !savedApp}
|
|
703
719
|
shortCut={{ key: 'S' }}
|
|
704
720
|
>
|
|
@@ -708,7 +724,8 @@ $effect(() => {
|
|
|
708
724
|
loading={loading.save}
|
|
709
725
|
startIcon={{ icon: Save }}
|
|
710
726
|
on:click={save}
|
|
711
|
-
|
|
727
|
+
unifiedSize="md"
|
|
728
|
+
variant="accent"
|
|
712
729
|
dropdownItems={appPath != ''
|
|
713
730
|
? () => [
|
|
714
731
|
{
|