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,19 +1,26 @@
|
|
|
1
1
|
import type { ScriptLang } from '../../gen';
|
|
2
2
|
import Editor from '../Editor.svelte';
|
|
3
|
-
import type {
|
|
3
|
+
import type { InlineScript, StaticAppInput, UserAppInput, CtxAppInput } from '../apps/inputType';
|
|
4
|
+
import { SvelteSet } from 'svelte/reactivity';
|
|
4
5
|
interface Props {
|
|
5
6
|
inlineScript: (InlineScript & {
|
|
6
7
|
language: ScriptLang;
|
|
7
8
|
}) | undefined;
|
|
8
9
|
name?: string | undefined;
|
|
9
10
|
id: string;
|
|
10
|
-
fields?: Record<string,
|
|
11
|
+
fields?: Record<string, StaticAppInput | UserAppInput | CtxAppInput>;
|
|
11
12
|
path: string;
|
|
12
|
-
isLoading?: boolean;
|
|
13
13
|
onRun: () => Promise<void>;
|
|
14
|
-
onCancel: () => Promise<void>;
|
|
15
14
|
editor?: Editor | undefined;
|
|
16
15
|
lastDeployedCode?: string | undefined;
|
|
16
|
+
/** Called when code is selected in the editor */
|
|
17
|
+
onSelectionChange?: (selection: {
|
|
18
|
+
content: string;
|
|
19
|
+
startLine: number;
|
|
20
|
+
endLine: number;
|
|
21
|
+
startColumn: number;
|
|
22
|
+
endColumn: number;
|
|
23
|
+
} | null) => void;
|
|
17
24
|
}
|
|
18
25
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
19
26
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
@@ -32,6 +39,25 @@ declare const RawAppInlineScriptEditor: $$__sveltets_2_IsomorphicComponent<Props
|
|
|
32
39
|
delete: CustomEvent<any>;
|
|
33
40
|
} & {
|
|
34
41
|
[evt: string]: CustomEvent<any>;
|
|
35
|
-
}, {}, {
|
|
42
|
+
}, {}, {
|
|
43
|
+
getDebugState: () => {
|
|
44
|
+
debugMode: boolean;
|
|
45
|
+
isDebuggableScript: boolean;
|
|
46
|
+
showDebugPanel: boolean;
|
|
47
|
+
hasDebugResult: boolean;
|
|
48
|
+
dapClient: import("../debug").DAPClient | null;
|
|
49
|
+
selectedDebugFrameId: number | null;
|
|
50
|
+
debugSessionJobId: string | null;
|
|
51
|
+
debugBreakpoints: SvelteSet<number>;
|
|
52
|
+
};
|
|
53
|
+
startDebugging: () => Promise<void>;
|
|
54
|
+
stopDebugging: () => Promise<void>;
|
|
55
|
+
continueExecution: () => Promise<void>;
|
|
56
|
+
stepOver: () => Promise<void>;
|
|
57
|
+
stepIn: () => Promise<void>;
|
|
58
|
+
stepOut: () => Promise<void>;
|
|
59
|
+
clearAllBreakpoints: () => void;
|
|
60
|
+
toggleDebugMode: () => void;
|
|
61
|
+
}, "name" | "fields" | "inlineScript" | "editor">;
|
|
36
62
|
type RawAppInlineScriptEditor = InstanceType<typeof RawAppInlineScriptEditor>;
|
|
37
63
|
export default RawAppInlineScriptEditor;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
<script lang="ts">import {
|
|
2
|
-
import { Plus, AlertCircle, AlertTriangle } from 'lucide-svelte';
|
|
1
|
+
<script lang="ts">import { Button } from '../common';
|
|
2
|
+
import { Plus, File, AlertCircle, AlertTriangle } from 'lucide-svelte';
|
|
3
3
|
import PanelSection from '../apps/editor/settingsPanel/common/PanelSection.svelte';
|
|
4
4
|
import Popover from '../Popover.svelte';
|
|
5
5
|
import { getNextId } from '../flows/idUtils';
|
|
6
6
|
import { rawAppLintStore } from './lintStore';
|
|
7
|
-
|
|
7
|
+
import RunnableRow from './RunnableRow.svelte';
|
|
8
|
+
let { selectedRunnable = $bindable(), runnables, onSelect } = $props();
|
|
8
9
|
// Subscribe to lint store for reactive updates
|
|
9
10
|
let lintSnapshot = $state(rawAppLintStore.getSnapshot());
|
|
10
11
|
$effect(() => {
|
|
@@ -24,22 +25,24 @@ function createBackgroundScript() {
|
|
|
24
25
|
type: 'inline'
|
|
25
26
|
};
|
|
26
27
|
selectedRunnable = nid;
|
|
28
|
+
onSelect?.(nid);
|
|
27
29
|
}
|
|
28
30
|
</script>
|
|
29
31
|
|
|
30
|
-
<PanelSection size="
|
|
32
|
+
<PanelSection size="sm" fullHeight={false} title="backend" id="app-editor-runnable-panel">
|
|
31
33
|
{#snippet action()}
|
|
32
34
|
<div class="flex flex-row gap-1">
|
|
33
35
|
<Button
|
|
34
|
-
|
|
35
|
-
variant="
|
|
36
|
-
btnClasses="!rounded-full !p-1"
|
|
36
|
+
unifiedSize="xs"
|
|
37
|
+
variant="subtle"
|
|
37
38
|
title="Create a new background runnable"
|
|
38
39
|
aria-label="Create a new background runnable"
|
|
39
40
|
on:click={createBackgroundScript}
|
|
40
41
|
id="create-background-runnable"
|
|
42
|
+
btnClasses="gap-0.5 px-1"
|
|
41
43
|
>
|
|
42
|
-
<Plus size={
|
|
44
|
+
<Plus size={12} />
|
|
45
|
+
<File size={12} />
|
|
43
46
|
</Button>
|
|
44
47
|
</div>
|
|
45
48
|
{/snippet}
|
|
@@ -49,17 +52,21 @@ function createBackgroundScript() {
|
|
|
49
52
|
{#if Object.keys(runnables ?? {}).length > 0}
|
|
50
53
|
{#each Object.entries(runnables ?? {}) as [id, runnable]}
|
|
51
54
|
{#if runnable}
|
|
52
|
-
<
|
|
55
|
+
<RunnableRow
|
|
53
56
|
{id}
|
|
54
|
-
|
|
55
|
-
{selectedRunnable === id
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
57
|
+
{runnable}
|
|
58
|
+
isSelected={selectedRunnable === id}
|
|
59
|
+
onSelect={() => {
|
|
60
|
+
selectedRunnable = id
|
|
61
|
+
onSelect?.(id)
|
|
62
|
+
}}
|
|
63
|
+
onDelete={() => {
|
|
64
|
+
delete runnables[id]
|
|
65
|
+
if (selectedRunnable === id) {
|
|
66
|
+
selectedRunnable = undefined
|
|
67
|
+
}
|
|
68
|
+
}}
|
|
69
|
+
/>
|
|
63
70
|
{/if}
|
|
64
71
|
{/each}
|
|
65
72
|
{:else}
|
|
@@ -2,6 +2,7 @@ import type { Runnable } from '../apps/inputType';
|
|
|
2
2
|
interface Props {
|
|
3
3
|
selectedRunnable: string | undefined;
|
|
4
4
|
runnables: Record<string, Runnable>;
|
|
5
|
+
onSelect?: (id: string) => void;
|
|
5
6
|
}
|
|
6
7
|
declare const RawAppInlineScriptPanelList: import("svelte").Component<Props, {}, "selectedRunnable">;
|
|
7
8
|
type RawAppInlineScriptPanelList = ReturnType<typeof RawAppInlineScriptPanelList>;
|
|
@@ -11,7 +11,13 @@ import SplitPanesWrapper from '../splitPanes/SplitPanesWrapper.svelte';
|
|
|
11
11
|
import SchemaForm from '../SchemaForm.svelte';
|
|
12
12
|
import RunnableJobPanelInner from '../apps/editor/RunnableJobPanelInner.svelte';
|
|
13
13
|
import JobLoader from '../JobLoader.svelte';
|
|
14
|
-
|
|
14
|
+
import { slide } from 'svelte/transition';
|
|
15
|
+
import { DebugToolbar, DebugPanel, debugState } from '../debug';
|
|
16
|
+
import LogViewer from '../LogViewer.svelte';
|
|
17
|
+
import DisplayResult from '../DisplayResult.svelte';
|
|
18
|
+
import RunButton from '../RunButton.svelte';
|
|
19
|
+
import { userStore, workspaceStore } from '../../stores';
|
|
20
|
+
let { runnable = $bindable(), id, appPath, onSelectionChange } = $props();
|
|
15
21
|
const dispatch = createEventDispatcher();
|
|
16
22
|
async function fork(nrunnable) {
|
|
17
23
|
runnable = nrunnable == undefined ? undefined : { ...runnable, ...nrunnable };
|
|
@@ -26,7 +32,7 @@ function onPick(o) {
|
|
|
26
32
|
fields: o.fields
|
|
27
33
|
};
|
|
28
34
|
}
|
|
29
|
-
let selectedTab = $state('
|
|
35
|
+
let selectedTab = $state('test');
|
|
30
36
|
let args = $state({});
|
|
31
37
|
function getSchema(runnable) {
|
|
32
38
|
if (isRunnableByPath(runnable)) {
|
|
@@ -41,6 +47,49 @@ let jobLoader = $state();
|
|
|
41
47
|
let testJob = $state();
|
|
42
48
|
let testIsLoading = $state(false);
|
|
43
49
|
let scriptProgress = $state(0);
|
|
50
|
+
// Reference to the inline script editor for debug functions
|
|
51
|
+
let inlineScriptEditor = $state();
|
|
52
|
+
// Get debug state from the editor
|
|
53
|
+
const editorDebugState = $derived(inlineScriptEditor?.getDebugState?.() ?? {
|
|
54
|
+
debugMode: false,
|
|
55
|
+
isDebuggableScript: false,
|
|
56
|
+
showDebugPanel: false,
|
|
57
|
+
hasDebugResult: false,
|
|
58
|
+
dapClient: null,
|
|
59
|
+
selectedDebugFrameId: null,
|
|
60
|
+
debugSessionJobId: null,
|
|
61
|
+
debugBreakpoints: new Set()
|
|
62
|
+
});
|
|
63
|
+
// Reactive debug state values
|
|
64
|
+
const debugMode = $derived(editorDebugState.debugMode);
|
|
65
|
+
const isDebuggableScript = $derived(editorDebugState.isDebuggableScript);
|
|
66
|
+
const showDebugPanel = $derived(editorDebugState.showDebugPanel);
|
|
67
|
+
const hasDebugResult = $derived(editorDebugState.hasDebugResult);
|
|
68
|
+
const dapClient = $derived(editorDebugState.dapClient);
|
|
69
|
+
let selectedDebugFrameId = $state(null);
|
|
70
|
+
// Auto-switch to test tab when debug mode is enabled
|
|
71
|
+
$effect(() => {
|
|
72
|
+
if (debugMode) {
|
|
73
|
+
selectedTab = 'test';
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
// Helper to get actual ctx value for testing
|
|
77
|
+
function getCtxValue(expr) {
|
|
78
|
+
switch (expr) {
|
|
79
|
+
case 'username':
|
|
80
|
+
return $userStore?.username ?? '';
|
|
81
|
+
case 'email':
|
|
82
|
+
return $userStore?.email ?? '';
|
|
83
|
+
case 'groups':
|
|
84
|
+
return $userStore?.groups ?? [];
|
|
85
|
+
case 'workspace':
|
|
86
|
+
return $workspaceStore ?? '';
|
|
87
|
+
case 'author':
|
|
88
|
+
return $userStore?.email ?? ''; // In editor, author is the current user
|
|
89
|
+
default:
|
|
90
|
+
return '';
|
|
91
|
+
}
|
|
92
|
+
}
|
|
44
93
|
function onFieldsChange(fields) {
|
|
45
94
|
if (args == undefined) {
|
|
46
95
|
args = {};
|
|
@@ -49,6 +98,10 @@ function onFieldsChange(fields) {
|
|
|
49
98
|
if (v.type == 'static') {
|
|
50
99
|
args[k] = v.value;
|
|
51
100
|
}
|
|
101
|
+
else if (v.type == 'ctx' && v.ctx) {
|
|
102
|
+
// For test preview, use actual user values
|
|
103
|
+
args[k] = getCtxValue(v.ctx);
|
|
104
|
+
}
|
|
52
105
|
});
|
|
53
106
|
}
|
|
54
107
|
async function testPreview() {
|
|
@@ -85,20 +138,16 @@ $effect(() => {
|
|
|
85
138
|
<Pane size={55}>
|
|
86
139
|
{#if isRunnableByName(runnable)}
|
|
87
140
|
<RawAppInlineScriptEditor
|
|
141
|
+
bind:this={inlineScriptEditor}
|
|
88
142
|
on:createScriptFromInlineScript={() => dispatch('createScriptFromInlineScript', runnable)}
|
|
89
143
|
{id}
|
|
90
144
|
bind:inlineScript={runnable.inlineScript}
|
|
91
145
|
bind:name={runnable.name}
|
|
92
146
|
bind:fields={runnable.fields}
|
|
93
|
-
isLoading={testIsLoading}
|
|
94
147
|
onRun={testPreview}
|
|
95
|
-
onCancel={async () => {
|
|
96
|
-
if (jobLoader) {
|
|
97
|
-
await jobLoader.cancelJob()
|
|
98
|
-
}
|
|
99
|
-
}}
|
|
100
148
|
on:delete
|
|
101
149
|
path={appPath}
|
|
150
|
+
{onSelectionChange}
|
|
102
151
|
/>
|
|
103
152
|
{:else if isRunnableByPath(runnable)}
|
|
104
153
|
<InlineScriptRunnableByPath
|
|
@@ -120,8 +169,8 @@ $effect(() => {
|
|
|
120
169
|
</Pane>
|
|
121
170
|
<Pane size={45}>
|
|
122
171
|
<Tabs bind:selected={selectedTab}>
|
|
123
|
-
<Tab value="inputs" label="Inputs" />
|
|
124
172
|
<Tab value="test" label="Test" />
|
|
173
|
+
<Tab value="inputs" label="Inputs" />
|
|
125
174
|
{#snippet content()}
|
|
126
175
|
{#if selectedTab == 'inputs'}
|
|
127
176
|
{#if runnable?.fields}
|
|
@@ -152,10 +201,40 @@ $effect(() => {
|
|
|
152
201
|
<div class="text-primary text-xs">No inputs</div>
|
|
153
202
|
{/if}
|
|
154
203
|
{:else if selectedTab == 'test'}
|
|
204
|
+
{#if debugMode && isDebuggableScript}
|
|
205
|
+
<div transition:slide={{ duration: 200 }}>
|
|
206
|
+
<DebugToolbar
|
|
207
|
+
connected={$debugState.connected}
|
|
208
|
+
running={$debugState.running}
|
|
209
|
+
stopped={$debugState.stopped}
|
|
210
|
+
breakpointCount={editorDebugState.debugBreakpoints?.size ?? 0}
|
|
211
|
+
onStart={() => inlineScriptEditor?.startDebugging() ?? Promise.resolve()}
|
|
212
|
+
onStop={() => inlineScriptEditor?.stopDebugging() ?? Promise.resolve()}
|
|
213
|
+
onContinue={() => inlineScriptEditor?.continueExecution() ?? Promise.resolve()}
|
|
214
|
+
onStepOver={() => inlineScriptEditor?.stepOver() ?? Promise.resolve()}
|
|
215
|
+
onStepIn={() => inlineScriptEditor?.stepIn() ?? Promise.resolve()}
|
|
216
|
+
onStepOut={() => inlineScriptEditor?.stepOut() ?? Promise.resolve()}
|
|
217
|
+
onClearBreakpoints={() => inlineScriptEditor?.clearAllBreakpoints()}
|
|
218
|
+
onExitDebug={() => inlineScriptEditor?.toggleDebugMode()}
|
|
219
|
+
/>
|
|
220
|
+
</div>
|
|
221
|
+
{/if}
|
|
155
222
|
<SplitPanesWrapper>
|
|
156
223
|
<Splitpanes horizontal class="grow">
|
|
157
224
|
<Pane size={50}>
|
|
158
225
|
<div class="px-2 py-3 h-full overflow-auto">
|
|
226
|
+
<div class="mx-auto w-fit">
|
|
227
|
+
<RunButton
|
|
228
|
+
isLoading={testIsLoading}
|
|
229
|
+
onRun={testPreview}
|
|
230
|
+
onCancel={async () => {
|
|
231
|
+
if (jobLoader) {
|
|
232
|
+
await jobLoader.cancelJob()
|
|
233
|
+
}
|
|
234
|
+
}}
|
|
235
|
+
size="md"
|
|
236
|
+
/>
|
|
237
|
+
</div>
|
|
159
238
|
<SchemaForm
|
|
160
239
|
on:keydownCmdEnter={testPreview}
|
|
161
240
|
disabledArgs={Object.entries(runnable?.fields ?? {})
|
|
@@ -167,7 +246,59 @@ $effect(() => {
|
|
|
167
246
|
</div>
|
|
168
247
|
</Pane>
|
|
169
248
|
<Pane size={50}>
|
|
170
|
-
|
|
249
|
+
{#if showDebugPanel || hasDebugResult}
|
|
250
|
+
<Splitpanes horizontal class="h-full">
|
|
251
|
+
<Pane size={50} minSize={15}>
|
|
252
|
+
<Splitpanes horizontal class="h-full">
|
|
253
|
+
<Pane size={50} minSize={10}>
|
|
254
|
+
<LogViewer
|
|
255
|
+
small
|
|
256
|
+
content={$debugState.logs}
|
|
257
|
+
isLoading={$debugState.running && !$debugState.stopped}
|
|
258
|
+
tag={undefined}
|
|
259
|
+
/>
|
|
260
|
+
</Pane>
|
|
261
|
+
<Pane size={50} minSize={10}>
|
|
262
|
+
{#if hasDebugResult}
|
|
263
|
+
<div class="h-full p-2 overflow-auto">
|
|
264
|
+
<DisplayResult
|
|
265
|
+
result={$debugState.result}
|
|
266
|
+
language={runnable?.inlineScript?.language}
|
|
267
|
+
/>
|
|
268
|
+
</div>
|
|
269
|
+
{:else}
|
|
270
|
+
<div
|
|
271
|
+
class="h-full flex items-center justify-center text-sm text-tertiary"
|
|
272
|
+
>
|
|
273
|
+
{#if $debugState.running && !$debugState.stopped}
|
|
274
|
+
Running...
|
|
275
|
+
{:else if $debugState.stopped}
|
|
276
|
+
Paused at breakpoint
|
|
277
|
+
{:else}
|
|
278
|
+
Waiting for debug session
|
|
279
|
+
{/if}
|
|
280
|
+
</div>
|
|
281
|
+
{/if}
|
|
282
|
+
</Pane>
|
|
283
|
+
</Splitpanes>
|
|
284
|
+
</Pane>
|
|
285
|
+
<Pane size={50} minSize={15}>
|
|
286
|
+
<DebugPanel
|
|
287
|
+
stackFrames={$debugState.stackFrames}
|
|
288
|
+
scopes={$debugState.scopes}
|
|
289
|
+
variables={$debugState.variables}
|
|
290
|
+
client={dapClient}
|
|
291
|
+
bind:selectedFrameId={selectedDebugFrameId}
|
|
292
|
+
/>
|
|
293
|
+
</Pane>
|
|
294
|
+
</Splitpanes>
|
|
295
|
+
{:else if debugMode && isDebuggableScript}
|
|
296
|
+
<div class="h-full flex items-center justify-center text-sm text-tertiary">
|
|
297
|
+
Click "Debug" in the toolbar to start debugging
|
|
298
|
+
</div>
|
|
299
|
+
{:else}
|
|
300
|
+
<RunnableJobPanelInner frontendJob={false} {testJob} {testIsLoading} />
|
|
301
|
+
{/if}
|
|
171
302
|
</Pane>
|
|
172
303
|
</Splitpanes>
|
|
173
304
|
</SplitPanesWrapper>
|
|
@@ -11,6 +11,14 @@ interface Props {
|
|
|
11
11
|
id: string;
|
|
12
12
|
appPath: string;
|
|
13
13
|
lastDeployedCode?: string | undefined;
|
|
14
|
+
/** Called when code is selected in the editor */
|
|
15
|
+
onSelectionChange?: (selection: {
|
|
16
|
+
content: string;
|
|
17
|
+
startLine: number;
|
|
18
|
+
endLine: number;
|
|
19
|
+
startColumn: number;
|
|
20
|
+
endColumn: number;
|
|
21
|
+
} | null) => void;
|
|
14
22
|
}
|
|
15
23
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
16
24
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">import { workspaceStore } from '../../stores';
|
|
2
2
|
import RawAppInlineScripRunnable, {} from './RawAppInlineScriptRunnable.svelte';
|
|
3
3
|
import { createScriptFromInlineScript } from '../apps/editor/inlineScriptsPanel/utils';
|
|
4
|
-
let { runnables, selectedRunnable = $bindable(), appPath } = $props();
|
|
4
|
+
let { runnables = $bindable(), selectedRunnable = $bindable(), appPath, onSelectionChange } = $props();
|
|
5
5
|
</script>
|
|
6
6
|
|
|
7
7
|
{#if !selectedRunnable}
|
|
@@ -28,6 +28,7 @@ let { runnables, selectedRunnable = $bindable(), appPath } = $props();
|
|
|
28
28
|
}}
|
|
29
29
|
id={selectedRunnable}
|
|
30
30
|
bind:runnable={runnables[selectedRunnable]}
|
|
31
|
+
{onSelectionChange}
|
|
31
32
|
/>{/key}
|
|
32
33
|
{:else}
|
|
33
34
|
<div class="text-sm text-primary text-center py-8 px-2">
|
|
@@ -4,7 +4,15 @@ interface Props {
|
|
|
4
4
|
selectedRunnable: string | undefined;
|
|
5
5
|
appPath: string;
|
|
6
6
|
initRunnablesContent: Record<string, string>;
|
|
7
|
+
/** Called when code is selected in the editor */
|
|
8
|
+
onSelectionChange?: (selection: {
|
|
9
|
+
content: string;
|
|
10
|
+
startLine: number;
|
|
11
|
+
endLine: number;
|
|
12
|
+
startColumn: number;
|
|
13
|
+
endColumn: number;
|
|
14
|
+
} | null) => void;
|
|
7
15
|
}
|
|
8
|
-
declare const RawAppInlineScriptsPanel: import("svelte").Component<Props, {}, "selectedRunnable">;
|
|
16
|
+
declare const RawAppInlineScriptsPanel: import("svelte").Component<Props, {}, "runnables" | "selectedRunnable">;
|
|
9
17
|
type RawAppInlineScriptsPanel = ReturnType<typeof RawAppInlineScriptsPanel>;
|
|
10
18
|
export default RawAppInlineScriptsPanel;
|
|
@@ -3,18 +3,33 @@ import { addWhitespaceBeforeCapitals, capitalize, classNames } from '../../utils
|
|
|
3
3
|
import Tooltip from '../Tooltip.svelte';
|
|
4
4
|
import ToggleButtonGroup from '../common/toggleButton-v2/ToggleButtonGroup.svelte';
|
|
5
5
|
import ToggleButton from '../common/toggleButton-v2/ToggleButton.svelte';
|
|
6
|
-
import { Loader2, Pen, User } from 'lucide-svelte';
|
|
6
|
+
import { Loader2, Pen, User, Shield } from 'lucide-svelte';
|
|
7
7
|
import Toggle from '../Toggle.svelte';
|
|
8
8
|
import StaticInputEditor from '../apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte';
|
|
9
9
|
import { fieldTypeToTsType } from '../apps/utils';
|
|
10
|
+
import Select from '../select/Select.svelte';
|
|
11
|
+
import { userStore, workspaceStore } from '../../stores';
|
|
12
|
+
// Build ctx properties with current user's actual values
|
|
13
|
+
let ctxProperties = $derived([
|
|
14
|
+
{ value: 'username', label: 'Username', subtitle: `string — "${$userStore?.username ?? 'unknown'}"` },
|
|
15
|
+
{ value: 'email', label: 'Email', subtitle: `string — "${$userStore?.email ?? 'unknown'}"` },
|
|
16
|
+
{ value: 'groups', label: 'Groups', subtitle: `string[] — ${JSON.stringify($userStore?.groups ?? [])}` },
|
|
17
|
+
{ value: 'workspace', label: 'Workspace', subtitle: `string — "${$workspaceStore ?? 'unknown'}"` },
|
|
18
|
+
{ value: 'author', label: 'Author', subtitle: `string — "${$userStore?.email ?? 'unknown'}"` }
|
|
19
|
+
]);
|
|
10
20
|
let { id, componentInput = $bindable(), key, shouldCapitalize = true, resourceOnly = false, tooltip = undefined, fieldType, subFieldType, format, selectOptions, placeholder, customTitle = undefined, displayType = false, allowTypeChange = true, loading = false, documentationLink = undefined, markdownTooltip = undefined } = $props();
|
|
11
21
|
run(() => {
|
|
12
22
|
if (componentInput == undefined) {
|
|
13
23
|
//@ts-ignore
|
|
14
24
|
componentInput = {
|
|
15
|
-
type: 'user'
|
|
25
|
+
type: 'user',
|
|
26
|
+
fieldType
|
|
16
27
|
};
|
|
17
28
|
}
|
|
29
|
+
else if (componentInput.fieldType == undefined && fieldType) {
|
|
30
|
+
// Ensure fieldType is set on existing inputs
|
|
31
|
+
componentInput = { ...componentInput, fieldType };
|
|
32
|
+
}
|
|
18
33
|
});
|
|
19
34
|
</script>
|
|
20
35
|
|
|
@@ -50,10 +65,25 @@ run(() => {
|
|
|
50
65
|
|
|
51
66
|
<div class={classNames('flex gap-x-2 gap-y-1 justify-end items-center')}>
|
|
52
67
|
{#if componentInput?.type && allowTypeChange !== false}
|
|
53
|
-
<ToggleButtonGroup
|
|
68
|
+
<ToggleButtonGroup
|
|
69
|
+
selected={componentInput.type}
|
|
70
|
+
onSelected={(newType) => {
|
|
71
|
+
// Preserve fieldType and other properties when changing type
|
|
72
|
+
componentInput = {
|
|
73
|
+
...componentInput,
|
|
74
|
+
type: newType,
|
|
75
|
+
fieldType: componentInput.fieldType ?? fieldType
|
|
76
|
+
}
|
|
77
|
+
// Clear ctx when switching away from ctx type
|
|
78
|
+
if (newType !== 'ctx') {
|
|
79
|
+
delete componentInput.ctx
|
|
80
|
+
}
|
|
81
|
+
}}
|
|
82
|
+
>
|
|
54
83
|
{#snippet children({ item })}
|
|
55
84
|
<ToggleButton {item} value="user" icon={User} iconOnly tooltip="User Input" />
|
|
56
85
|
<ToggleButton {item} value="static" icon={Pen} iconOnly tooltip="Static" />
|
|
86
|
+
<ToggleButton {item} value="ctx" icon={Shield} iconOnly tooltip="Context (secure backend value)" />
|
|
57
87
|
{/snippet}
|
|
58
88
|
</ToggleButtonGroup>
|
|
59
89
|
{/if}
|
|
@@ -72,6 +102,20 @@ run(() => {
|
|
|
72
102
|
bind:componentInput
|
|
73
103
|
/>
|
|
74
104
|
</div>
|
|
105
|
+
{:else if componentInput?.type === 'ctx'}
|
|
106
|
+
<div class="w-full">
|
|
107
|
+
<Select
|
|
108
|
+
items={ctxProperties}
|
|
109
|
+
bind:value={componentInput.ctx}
|
|
110
|
+
placeholder="Select context property"
|
|
111
|
+
/>
|
|
112
|
+
{#if componentInput.ctx}
|
|
113
|
+
<span class="text-2xs italic text-tertiary mt-1 flex items-center gap-1">
|
|
114
|
+
<Shield size={12} />
|
|
115
|
+
Securely resolved by the backend (cannot be altered by users)
|
|
116
|
+
</span>
|
|
117
|
+
{/if}
|
|
118
|
+
</div>
|
|
75
119
|
{:else if componentInput?.type === 'user' || componentInput?.type == undefined}
|
|
76
120
|
<span class="text-2xs italic text-primary">Field's value is a frontend input</span>
|
|
77
121
|
{/if}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { RichConfiguration } from '../apps/types';
|
|
2
1
|
import type { InputType } from '../apps/inputType';
|
|
2
|
+
type RawAppInput = any;
|
|
3
3
|
interface Props {
|
|
4
4
|
id: string;
|
|
5
|
-
componentInput:
|
|
5
|
+
componentInput: RawAppInput;
|
|
6
6
|
key: string;
|
|
7
7
|
shouldCapitalize?: boolean;
|
|
8
8
|
resourceOnly?: boolean;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script lang="ts">import { Loader2 } from 'lucide-svelte';
|
|
2
2
|
import PanelSection from '../apps/editor/settingsPanel/common/PanelSection.svelte';
|
|
3
|
+
import TextInput from '../text_input/TextInput.svelte';
|
|
3
4
|
let props = $props();
|
|
4
5
|
let search = $state('');
|
|
5
6
|
const filteredModules = $derived({
|
|
@@ -16,30 +17,30 @@ const filteredModules = $derived({
|
|
|
16
17
|
</script>
|
|
17
18
|
|
|
18
19
|
<PanelSection
|
|
19
|
-
size="
|
|
20
|
+
size="xs"
|
|
20
21
|
collapsible
|
|
21
22
|
initiallyCollapsed
|
|
22
|
-
titlePadding="
|
|
23
|
+
titlePadding="!text-tertiary"
|
|
23
24
|
fullHeight={false}
|
|
24
25
|
title="packages ({Object.keys(props.modules?.installed ?? {}).length})"
|
|
25
26
|
id="app-editor-frontend-panel-modules"
|
|
26
27
|
>
|
|
27
|
-
<
|
|
28
|
+
<TextInput inputProps={{ placeholder: 'Search packages' }} size="sm" bind:value={search} />
|
|
28
29
|
<div class="mt-2 flex flex-col gap-4 w-full">
|
|
29
30
|
{#each ['direct', 'indirect', 'dev'] as type}
|
|
30
31
|
{@const typeModules = filteredModules[type]}
|
|
31
32
|
{#if typeModules.length > 0}
|
|
32
33
|
<div class="flex flex-col gap-1">
|
|
33
|
-
<div class="text-
|
|
34
|
+
<div class="text-xs px-2 text-hint text-2xs"
|
|
34
35
|
>{type}
|
|
35
|
-
<span
|
|
36
|
+
<span>({typeModules.length})</span></div
|
|
36
37
|
>
|
|
37
38
|
{#each typeModules as mod (mod)}
|
|
38
|
-
<div class="text-xs px-2 text-
|
|
39
|
+
<div class="text-xs px-2 text-primary font-mono flex justify-between w-full"
|
|
39
40
|
><div class="truncate">{mod}</div>
|
|
40
41
|
<div class="flex items-center gap-1">
|
|
41
42
|
{#if props.modules?.installed?.[mod]}
|
|
42
|
-
<span class="text-2xs px-2 text-
|
|
43
|
+
<span class="text-2xs px-2 text-hint">
|
|
43
44
|
{props.modules?.installed?.[mod]}
|
|
44
45
|
</span>
|
|
45
46
|
{:else}
|
|
@@ -51,5 +52,10 @@ const filteredModules = $derived({
|
|
|
51
52
|
</div>
|
|
52
53
|
{/if}
|
|
53
54
|
{/each}
|
|
55
|
+
{#if filteredModules.direct.length === 0 && filteredModules.indirect.length === 0 && filteredModules.dev.length === 0}
|
|
56
|
+
<span class="text-xs px-2 text-hint text-2xs"
|
|
57
|
+
>No packages found. Edit <b>package.json</b> to add them.</span
|
|
58
|
+
>
|
|
59
|
+
{/if}
|
|
54
60
|
</div>
|
|
55
61
|
</PanelSection>
|
|
@@ -1,15 +1,57 @@
|
|
|
1
1
|
<script lang="ts">import {} from '../../stores';
|
|
2
2
|
import RawAppBackgroundRunner from './RawAppBackgroundRunner.svelte';
|
|
3
3
|
import { htmlContent } from './utils';
|
|
4
|
+
import { onMount } from 'svelte';
|
|
4
5
|
let { workspace, user, secret, path, runnables } = $props();
|
|
5
6
|
let iframe = $state();
|
|
7
|
+
// Get initial hash from parent URL to pass to iframe
|
|
8
|
+
let initialHash = $state('');
|
|
9
|
+
onMount(() => {
|
|
10
|
+
initialHash = window.location.hash || '';
|
|
11
|
+
});
|
|
12
|
+
// Use blob URL instead of srcDoc to give the iframe a proper origin.
|
|
13
|
+
// srcDoc iframes have "null" origin which breaks URL constructor in routers.
|
|
14
|
+
let blobUrl = $derived.by(() => {
|
|
15
|
+
if (!secret)
|
|
16
|
+
return undefined;
|
|
17
|
+
const baseUrl = typeof window !== 'undefined' ? window.location.origin : '';
|
|
18
|
+
const html = htmlContent(workspace, secret, { ctx: user, workspace }, baseUrl, initialHash);
|
|
19
|
+
const blob = new Blob([html], { type: 'text/html' });
|
|
20
|
+
return URL.createObjectURL(blob);
|
|
21
|
+
});
|
|
22
|
+
// Cleanup blob URL when it changes or component unmounts
|
|
23
|
+
$effect(() => {
|
|
24
|
+
const url = blobUrl;
|
|
25
|
+
return () => {
|
|
26
|
+
if (url)
|
|
27
|
+
URL.revokeObjectURL(url);
|
|
28
|
+
};
|
|
29
|
+
});
|
|
30
|
+
// Listen for hash changes from iframe and update parent URL
|
|
31
|
+
$effect(() => {
|
|
32
|
+
function handleMessage(event) {
|
|
33
|
+
console.log('[Parent] Received message:', event.data);
|
|
34
|
+
if (event.data?.type === 'windmill:hashchange') {
|
|
35
|
+
const newHash = event.data.hash || '';
|
|
36
|
+
console.log('[Parent] Updating hash to:', newHash);
|
|
37
|
+
// Update parent URL without triggering navigation
|
|
38
|
+
if (window.location.hash !== newHash) {
|
|
39
|
+
history.replaceState(null, '', newHash || window.location.pathname);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
window.addEventListener('message', handleMessage);
|
|
44
|
+
return () => window.removeEventListener('message', handleMessage);
|
|
45
|
+
});
|
|
6
46
|
</script>
|
|
7
47
|
|
|
8
48
|
<RawAppBackgroundRunner {workspace} editor={false} {iframe} {runnables} {path} />
|
|
9
49
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
50
|
+
{#if blobUrl}
|
|
51
|
+
<iframe
|
|
52
|
+
bind:this={iframe}
|
|
53
|
+
title="raw-app"
|
|
54
|
+
src={blobUrl}
|
|
55
|
+
class="w-full h-full min-h-screen bg-white border-none"
|
|
56
|
+
></iframe>
|
|
57
|
+
{/if}
|