windmill-components 1.511.1 → 1.531.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package/components/AIAgentLogViewer.svelte +123 -0
- package/package/components/AIAgentLogViewer.svelte.d.ts +13 -0
- package/package/components/AppConnectInner.svelte +10 -10
- package/package/components/AppConnectInner.svelte.d.ts +1 -1
- package/package/components/ArgInput.svelte +42 -14
- package/package/components/ArgInput.svelte.d.ts +2 -10
- package/package/components/AssignableTagsInner.svelte +5 -0
- package/package/components/AuthSettings.svelte +4 -2
- package/package/components/AuthSettings.svelte.d.ts +1 -0
- package/package/components/AutoscalingConfigEditor.svelte +76 -2
- package/package/components/DBManagerDrawer.svelte +154 -151
- package/package/components/DBManagerDrawer.svelte.d.ts +2 -2
- package/package/components/DBTable.svelte +3 -3
- package/package/components/DBTable.svelte.d.ts +1 -0
- package/package/components/DBTableEditor.svelte +7 -7
- package/package/components/DBTableEditor.svelte.d.ts +1 -1
- package/package/components/DeployWorkspace.svelte +1 -1
- package/package/components/Dev.svelte +12 -28
- package/package/components/DiffEditor.svelte +6 -3
- package/package/components/DiffEditor.svelte.d.ts +1 -0
- package/package/components/DisplayResult.svelte +46 -14
- package/package/components/DisplayResult.svelte.d.ts +5 -1
- package/package/components/DynSelect.svelte +58 -34
- package/package/components/DynSelect.svelte.d.ts +3 -11
- package/package/components/EditableSchemaForm.svelte +131 -8
- package/package/components/EditableSchemaForm.svelte.d.ts +5 -1
- package/package/components/Editor.svelte +27 -9
- package/package/components/Editor.svelte.d.ts +1 -1
- package/package/components/EditorBar.svelte +105 -7
- package/package/components/EditorSettings.svelte +6 -0
- package/package/components/ErrorOrRecoveryHandler.svelte +76 -8
- package/package/components/ErrorOrRecoveryHandler.svelte.d.ts +2 -1
- package/package/components/ExploreAssetButton.svelte +14 -4
- package/package/components/ExploreAssetButton.svelte.d.ts +1 -0
- package/package/components/FirstStepInputs.svelte +2 -2
- package/package/components/FlowBuilder.svelte +18 -36
- package/package/components/FlowGraphViewerStep.svelte +7 -0
- package/package/components/FlowJobResult.svelte +16 -64
- package/package/components/FlowJobResult.svelte.d.ts +11 -4
- package/package/components/FlowLogViewer.svelte +660 -0
- package/package/components/FlowLogViewer.svelte.d.ts +34 -0
- package/package/components/FlowLogViewerWrapper.svelte +52 -0
- package/package/components/FlowLogViewerWrapper.svelte.d.ts +21 -0
- package/package/components/FlowLoopIterationPreview.svelte +3 -3
- package/package/components/FlowPreviewContent.svelte +13 -6
- package/package/components/FlowPreviewContent.svelte.d.ts +7 -7
- package/package/components/FlowPreviewResult.svelte +7 -5
- package/package/components/FlowPreviewResult.svelte.d.ts +4 -5
- package/package/components/FlowStatusViewer.svelte +28 -16
- package/package/components/FlowStatusViewer.svelte.d.ts +19 -27
- package/package/components/FlowStatusViewerInner.svelte +500 -295
- package/package/components/FlowStatusViewerInner.svelte.d.ts +34 -34
- package/package/components/FlowTimeline.svelte +11 -13
- package/package/components/FlowTimeline.svelte.d.ts +6 -5
- package/package/components/FolderEditor.svelte +1 -1
- package/package/components/GitDiffPreview.svelte +14 -18
- package/package/components/GitDiffPreview.svelte.d.ts +2 -8
- package/package/components/GitHubAppIntegration.svelte +3 -1
- package/package/components/HighlightCode.svelte +4 -1
- package/package/components/IconedResourceType.svelte +9 -5
- package/package/components/IdEditorInput.svelte +25 -22
- package/package/components/IdEditorInput.svelte.d.ts +11 -23
- package/package/components/InstanceSetting.svelte +7 -2
- package/package/components/InstanceSettings.svelte +1 -0
- package/package/components/JobLoader.svelte +108 -12
- package/package/components/JobLoader.svelte.d.ts +16 -3
- package/package/components/LogViewer.svelte +8 -2
- package/package/components/LogViewer.svelte.d.ts +1 -0
- package/package/components/LogViewerHeader.svelte +32 -0
- package/package/components/LogViewerHeader.svelte.d.ts +8 -0
- package/package/components/Login.svelte +8 -2
- package/package/components/MemoryFootprintViewer.svelte +1 -1
- package/package/components/ModulePreviewForm.svelte +10 -6
- package/package/components/ModulePreviewResultViewer.svelte +18 -2
- package/package/components/ModulePreviewResultViewer.svelte.d.ts +1 -1
- package/package/components/ModuleTest.svelte +59 -16
- package/package/components/MoveDrawer.svelte.d.ts +2 -2
- package/package/components/NextcloudSetting.svelte +84 -0
- package/package/components/NextcloudSetting.svelte.d.ts +7 -0
- package/package/components/ObjectResourceInput.svelte +3 -2
- package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
- package/package/components/ParqetCsvTableRenderer.svelte +1 -1
- package/package/components/RelativeLineNumbers.svelte +16 -0
- package/package/components/RelativeLineNumbers.svelte.d.ts +18 -0
- package/package/components/ResourceEditor.svelte +10 -5
- package/package/components/ResourcePicker.svelte +8 -1
- package/package/components/ResourcePicker.svelte.d.ts +1 -0
- package/package/components/ResultStreamDisplay.svelte +5 -0
- package/package/components/ResultStreamDisplay.svelte.d.ts +5 -0
- package/package/components/RunForm.svelte +9 -1
- package/package/components/SchemaForm.svelte +2 -2
- package/package/components/SchemaForm.svelte.d.ts +2 -10
- package/package/components/ScriptBuilder.svelte +26 -19
- package/package/components/ScriptBuilder.svelte.d.ts +1 -1
- package/package/components/ScriptEditor.svelte +2 -2
- package/package/components/ScriptEditor.svelte.d.ts +1 -1
- package/package/components/ScriptWrapper.svelte +1 -1
- package/package/components/ShareModal.svelte.d.ts +1 -1
- package/package/components/SimpleAgTable.svelte +2 -0
- package/package/components/SimpleAgTable.svelte.d.ts +2 -0
- package/package/components/SimpleEditor.svelte +10 -4
- package/package/components/SimpleEditor.svelte.d.ts +1 -0
- package/package/components/SqlRepl.svelte +21 -7
- package/package/components/SqlRepl.svelte.d.ts +2 -2
- package/package/components/StringTypeNarrowing.svelte.d.ts +1 -1
- package/package/components/TemplateEditor.svelte +1 -1
- package/package/components/UserSettings.svelte +4 -4
- package/package/components/WorkerTagSelect.svelte +70 -1
- package/package/components/apps/components/display/AppAccordionList.svelte +1 -1
- package/package/components/apps/components/display/AppCarouselList.svelte +10 -8
- package/package/components/apps/components/display/AppDisplayComponent.svelte +13 -1
- package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +3 -3
- package/package/components/apps/components/display/AppText.svelte +2 -2
- package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +8 -1
- package/package/components/apps/components/display/dbtable/InsertRow.svelte +5 -4
- package/package/components/apps/components/display/dbtable/queries/count.js +11 -1
- package/package/components/apps/components/display/dbtable/queries/createTable.d.ts +1 -1
- package/package/components/apps/components/display/dbtable/queries/createTable.js +3 -3
- package/package/components/apps/components/display/dbtable/queries/delete.js +7 -0
- package/package/components/apps/components/display/dbtable/queries/insert.js +2 -0
- package/package/components/apps/components/display/dbtable/queries/select.js +14 -0
- package/package/components/apps/components/display/dbtable/queries/update.js +7 -0
- package/package/components/apps/components/display/dbtable/utils.d.ts +6 -5
- package/package/components/apps/components/display/dbtable/utils.js +52 -28
- package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +1 -1
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +1 -0
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte.d.ts +1 -0
- package/package/components/apps/components/display/table/AppAggridTable.svelte +7 -6
- package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -0
- package/package/components/apps/components/display/table/utils.js +7 -4
- package/package/components/apps/components/helpers/HiddenComponent.svelte +2 -3
- package/package/components/apps/components/helpers/InputValue.svelte +6 -1
- package/package/components/apps/components/helpers/NonRunnableComponent.svelte +8 -4
- package/package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +1 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte +10 -8
- package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +3 -2
- package/package/components/apps/components/helpers/RunnableWrapper.svelte +12 -3
- package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -1
- package/package/components/apps/components/inputs/AppCodeInputComponent.svelte +0 -5
- package/package/components/apps/components/inputs/AppS3FileInput.svelte +2 -2
- package/package/components/apps/components/layout/AppConditionalWrapper.svelte +1 -1
- package/package/components/apps/components/layout/AppContainer.svelte +1 -1
- package/package/components/apps/components/layout/AppDecisionTree.svelte +32 -21
- package/package/components/apps/components/layout/AppDrawer.svelte +1 -1
- package/package/components/apps/components/layout/AppList.svelte +9 -8
- package/package/components/apps/components/layout/AppModal.svelte +1 -1
- package/package/components/apps/components/layout/AppSplitpanes.svelte +5 -2
- package/package/components/apps/components/layout/AppStepper.svelte +10 -6
- package/package/components/apps/components/layout/AppTabs.svelte +3 -3
- package/package/components/apps/editor/AppEditorHeader.svelte +13 -2
- package/package/components/apps/editor/AppJobsDrawer.svelte +2 -2
- package/package/components/apps/editor/GridEditor.svelte +24 -19
- package/package/components/apps/editor/GridEditor.svelte.d.ts +4 -1
- package/package/components/apps/editor/GridViewer.svelte +1 -0
- package/package/components/apps/editor/RunnableJobPanelInner.svelte +2 -1
- package/package/components/apps/editor/SubGridEditor.svelte +7 -11
- package/package/components/apps/editor/SubGridEditor.svelte.d.ts +3 -19
- package/package/components/apps/editor/appUtils.js +17 -68
- package/package/components/apps/editor/component/ComponentInner.svelte +845 -694
- package/package/components/apps/editor/component/componentCallbacks.svelte.js +8 -1
- package/package/components/apps/editor/contextPanel/components/IdEditor.svelte +7 -7
- package/package/components/apps/editor/contextPanel/components/IdEditor.svelte.d.ts +7 -19
- package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +14 -55
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte.d.ts +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +1 -1
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +31 -45
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +2 -1
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +1 -0
- package/package/components/apps/editor/settingsPanel/decisionTree/DecisionTreePreview.svelte +1 -3
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +2 -2
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte.d.ts +1 -0
- package/package/components/apps/svelte-grid/Grid.svelte +23 -25
- package/package/components/apps/svelte-grid/Grid.svelte.d.ts +21 -9
- package/package/components/apps/svelte-grid/MoveResize.svelte +13 -15
- package/package/components/apps/svelte-grid/MoveResize.svelte.d.ts +17 -24
- package/package/components/apps/utils.d.ts +2 -0
- package/package/components/apps/utils.js +22 -0
- package/package/components/assets/AssetsDropdownButton.svelte +1 -1
- package/package/components/assets/JobAssetsViewer.svelte +2 -2
- package/package/components/assets/lib.js +4 -0
- package/package/components/auditLogs/AuditLogsFilters.svelte +7 -9
- package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
- package/package/components/common/button/Button.svelte +4 -3
- package/package/components/common/button/Button.svelte.d.ts +1 -0
- package/package/components/common/confirmationModal/ConfirmationModal.svelte +6 -5
- package/package/components/common/confirmationModal/ConfirmationModal.svelte.d.ts +6 -11
- package/package/components/common/confirmationModal/asyncConfirmationModal.svelte.d.ts +26 -0
- package/package/components/common/confirmationModal/asyncConfirmationModal.svelte.js +50 -0
- package/package/components/common/fileDownload/FileDownload.svelte +1 -3
- package/package/components/common/fileDownload/FileDownload.svelte.d.ts +4 -18
- package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
- package/package/components/common/modal/Modal.svelte +2 -5
- package/package/components/common/tabs/TabsV2.svelte +2 -1
- package/package/components/common/tabs/TabsV2.svelte.d.ts +1 -0
- package/package/components/copilot/FlowInlineScriptAIButton.svelte +58 -0
- package/package/components/copilot/FlowInlineScriptAIButton.svelte.d.ts +3 -0
- package/package/components/copilot/MetadataGen.svelte +19 -1
- package/package/components/copilot/MetadataGen.svelte.d.ts +1 -1
- package/package/components/copilot/ScriptGen.svelte +23 -31
- package/package/components/copilot/ScriptGen.svelte.d.ts +0 -1
- package/package/components/copilot/autocomplete/Autocompletor.js +2 -0
- package/package/components/copilot/chat/AIChatDisplay.svelte +4 -4
- package/package/components/copilot/chat/AIChatInput.svelte +29 -6
- package/package/components/copilot/chat/AIChatManager.svelte.js +171 -33
- package/package/components/copilot/chat/AIChatMessage.svelte +3 -0
- package/package/components/copilot/chat/ContextTextarea.svelte +1 -1
- package/package/components/copilot/chat/ToolContentDisplay.svelte +84 -0
- package/package/components/copilot/chat/ToolContentDisplay.svelte.d.ts +11 -0
- package/package/components/copilot/chat/ToolExecutionDisplay.svelte +105 -0
- package/package/components/copilot/chat/ToolExecutionDisplay.svelte.d.ts +7 -0
- package/package/components/copilot/chat/api/apiTools.d.ts +7 -0
- package/package/components/copilot/chat/api/apiTools.js +192 -0
- package/package/components/copilot/chat/api/core.d.ts +7 -0
- package/package/components/copilot/chat/api/core.js +61 -0
- package/package/components/copilot/chat/flow/FlowAIChat.svelte +4 -6
- package/package/components/copilot/chat/flow/core.js +213 -42
- package/package/components/copilot/chat/flow/utils.js +3 -0
- package/package/components/copilot/chat/monaco-adapter.d.ts +1 -1
- package/package/components/copilot/chat/monaco-adapter.js +10 -4
- package/package/components/copilot/chat/navigator/core.d.ts +1 -1
- package/package/components/copilot/chat/navigator/core.js +20 -22
- package/package/components/copilot/chat/script/core.d.ts +11 -3
- package/package/components/copilot/chat/script/core.js +120 -44
- package/package/components/copilot/chat/shared.d.ts +31 -4
- package/package/components/copilot/chat/shared.js +235 -10
- package/package/components/copilot/lib.d.ts +1 -1
- package/package/components/copilot/lib.js +15 -6
- package/package/components/custom_ui.d.ts +4 -0
- package/package/components/dbOps.d.ts +20 -8
- package/package/components/dbOps.js +85 -40
- package/package/components/details/DetailPageHeader.svelte +0 -2
- package/package/components/details/DetailPageLayout.svelte +34 -33
- package/package/components/flow_builder.d.ts +1 -2
- package/package/components/flows/FlowEditor.svelte +3 -3
- package/package/components/flows/FlowEditor.svelte.d.ts +7 -6
- package/package/components/flows/common/FlowCard.svelte +2 -2
- package/package/components/flows/common/FlowCard.svelte.d.ts +1 -0
- package/package/components/flows/common/FlowCardHeader.svelte +13 -4
- package/package/components/flows/common/FlowCardHeader.svelte.d.ts +1 -0
- package/package/components/flows/content/BranchPredicateEditor.svelte +4 -7
- package/package/components/flows/content/BranchPredicateEditor.svelte.d.ts +12 -11
- package/package/components/flows/content/FlowConstants.svelte +3 -3
- package/package/components/flows/content/FlowEditorPanel.svelte +3 -3
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +2 -4
- package/package/components/flows/content/FlowInput.svelte +5 -0
- package/package/components/flows/content/FlowInputsQuick.svelte +2 -1
- package/package/components/flows/content/FlowLoop.svelte +2 -2
- package/package/components/flows/content/FlowModuleComponent.svelte +130 -108
- package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +2 -2
- package/package/components/flows/content/FlowModuleScript.svelte +0 -1
- package/package/components/flows/content/FlowModuleSkip.svelte +1 -1
- package/package/components/flows/content/FlowModuleSleep.svelte +1 -1
- package/package/components/flows/content/FlowModuleSuspend.svelte +1 -1
- package/package/components/flows/content/FlowModuleWrapper.svelte +15 -5
- package/package/components/flows/content/FlowModuleWrapper.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowResult.svelte +2 -3
- package/package/components/flows/content/FlowResult.svelte.d.ts +2 -4
- package/package/components/flows/content/FlowWhileLoop.svelte +1 -1
- package/package/components/flows/dfs.d.ts +3 -1
- package/package/components/flows/dfs.js +5 -1
- package/package/components/flows/flowInfers.js +78 -0
- package/package/components/flows/flowState.d.ts +2 -3
- package/package/components/flows/flowState.js +2 -2
- package/package/components/flows/flowStateUtils.svelte.d.ts +4 -4
- package/package/components/flows/flowStateUtils.svelte.js +14 -13
- package/package/components/flows/flowStore.d.ts +3 -4
- package/package/components/flows/header/FlowPreviewButtons.svelte +2 -1
- package/package/components/flows/header/FlowYamlEditor.svelte +10 -1
- package/package/components/flows/idUtils.js +2 -1
- package/package/components/flows/map/FlowGraphPreviewButton.svelte +1 -1
- package/package/components/flows/map/FlowJobsMenu.svelte +7 -3
- package/package/components/flows/map/FlowJobsMenu.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +15 -15
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +27 -15
- package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +6 -4
- package/package/components/flows/map/InsertModuleButton.svelte +4 -1
- package/package/components/flows/map/InsertModuleInner.svelte +9 -1
- package/package/components/flows/map/InsertModuleInner.svelte.d.ts +1 -0
- package/package/components/flows/map/MapItem.svelte +4 -2
- package/package/components/flows/pickers/TopLevelNode.svelte +4 -1
- package/package/components/flows/propPicker/InputPickerInner.svelte +5 -4
- package/package/components/flows/propPicker/OutputBadge.svelte +16 -10
- package/package/components/flows/propPicker/OutputPickerInner.svelte +19 -6
- package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +6 -2
- package/package/components/flows/propPicker/StepHistory.svelte +4 -1
- package/package/components/flows/testSteps.svelte.d.ts +3 -2
- package/package/components/flows/testSteps.svelte.js +26 -23
- package/package/components/flows/types.d.ts +1 -1
- package/package/components/flows/utils.d.ts +3 -5
- package/package/components/flows/utils.js +3 -4
- package/package/components/git_sync/DetectionFlow.svelte +202 -0
- package/package/components/git_sync/DetectionFlow.svelte.d.ts +6 -0
- package/package/components/git_sync/GitSyncContext.svelte.d.ts +82 -0
- package/package/components/git_sync/GitSyncContext.svelte.js +462 -0
- package/package/components/git_sync/GitSyncModalManager.svelte +99 -0
- package/package/components/git_sync/GitSyncModalManager.svelte.d.ts +18 -0
- package/package/components/git_sync/GitSyncRepositoryCard.svelte +339 -0
- package/package/components/git_sync/GitSyncRepositoryCard.svelte.d.ts +6 -0
- package/package/components/git_sync/GitSyncRepositoryList.svelte +17 -0
- package/package/components/git_sync/GitSyncRepositoryList.svelte.d.ts +18 -0
- package/package/components/git_sync/GitSyncSection.svelte +89 -0
- package/package/components/git_sync/GitSyncSection.svelte.d.ts +3 -0
- package/package/components/git_sync/GitSyncSuccessModal.svelte +58 -0
- package/package/components/git_sync/GitSyncSuccessModal.svelte.d.ts +7 -0
- package/package/components/git_sync/PullWorkspaceModal.svelte +575 -0
- package/package/components/git_sync/PullWorkspaceModal.svelte.d.ts +15 -0
- package/package/components/git_sync/PushWorkspaceModal.svelte +320 -0
- package/package/components/git_sync/PushWorkspaceModal.svelte.d.ts +12 -0
- package/package/components/graph/FlowGraphV2.svelte +49 -25
- package/package/components/graph/FlowGraphV2.svelte.d.ts +5 -2
- package/package/components/graph/graphBuilder.svelte.d.ts +49 -17
- package/package/components/graph/graphBuilder.svelte.js +31 -15
- package/package/components/graph/model.d.ts +9 -6
- package/package/components/graph/renderers/edges/BaseEdge.svelte +3 -3
- package/package/components/graph/renderers/edges/BaseEdge.svelte.d.ts +2 -3
- package/package/components/graph/renderers/nodes/AIToolNode.svelte +234 -0
- package/package/components/graph/renderers/nodes/AIToolNode.svelte.d.ts +24 -0
- package/package/components/graph/renderers/nodes/AssetNode.svelte +19 -14
- package/package/components/graph/renderers/nodes/AssetNode.svelte.d.ts +18 -1
- package/package/components/graph/renderers/nodes/BranchAllEndNode.svelte +1 -1
- package/package/components/graph/renderers/nodes/BranchAllStart.svelte +1 -1
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte +1 -1
- package/package/components/graph/renderers/nodes/ForLoopEndNode.svelte +2 -2
- package/package/components/graph/renderers/nodes/ForLoopStartNode.svelte +1 -1
- package/package/components/graph/renderers/nodes/ModuleNode.svelte +21 -21
- package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +64 -0
- package/package/components/graph/renderers/nodes/NewAIToolNode.svelte.d.ts +7 -0
- package/package/components/graph/renderers/nodes/branchOneEndNode.svelte +1 -1
- package/package/components/icons/AssetDucklakeIcon.svelte +28 -0
- package/package/components/icons/AssetDucklakeIcon.svelte.d.ts +9 -0
- package/package/components/icons/AssetGenericIcon.svelte +3 -0
- package/package/components/icons/DucklakeIcon.svelte +18 -0
- package/package/components/icons/DucklakeIcon.svelte.d.ts +6 -0
- package/package/components/icons/RubyIcon.svelte +656 -0
- package/package/components/icons/RubyIcon.svelte.d.ts +7 -0
- package/package/components/instanceSettings.js +20 -3
- package/package/components/modulesTest.svelte.d.ts +6 -3
- package/package/components/modulesTest.svelte.js +32 -0
- package/package/components/preview/FlowPreviewStatus.svelte +3 -1
- package/package/components/raw_apps/RawAppEditor.svelte +27 -26
- package/package/components/raw_apps/RawAppEditor.svelte.d.ts +17 -17
- package/package/components/runs/{JobPreview.svelte → JobRunsPreview.svelte} +2 -5
- package/package/components/runs/{JobPreview.svelte.d.ts → JobRunsPreview.svelte.d.ts} +3 -3
- package/package/components/runs/NoWorkerWithTagWarning.svelte +3 -3
- package/package/components/runs/RunRow.svelte +5 -1
- package/package/components/runs/RunsFilter.svelte.d.ts +1 -1
- package/package/components/schema/AddProperty.svelte +41 -36
- package/package/components/schema/AddProperty.svelte.d.ts +2 -2
- package/package/components/schema/AddPropertyV2.svelte +41 -37
- package/package/components/schema/AddPropertyV2.svelte.d.ts +1 -1
- package/package/components/schema/FlowPropertyEditor.svelte +11 -8
- package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
- package/package/components/schema/PropertyEditor.svelte +0 -2
- package/package/components/schema/PropertyEditor.svelte.d.ts +1 -1
- package/package/components/schema/SchemaFormDND.svelte +2 -1
- package/package/components/schema/SchemaFormDND.svelte.d.ts +2 -0
- package/package/components/scriptEditor/LogPanel.svelte +5 -3
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +5 -1
- package/package/components/search/RunsSearch.svelte +1 -1
- package/package/components/select/Select.svelte +7 -4
- package/package/components/select/Select.svelte.d.ts +5 -0
- package/package/components/select/SelectDropdown.svelte +2 -1
- package/package/components/select/SelectDropdown.svelte.d.ts +3 -0
- package/package/components/settings/CreateToken.svelte +132 -12
- package/package/components/settings/CreateToken.svelte.d.ts +3 -20
- package/package/components/settings/TokenDisplay.svelte +18 -42
- package/package/components/settings/TokenDisplay.svelte.d.ts +0 -1
- package/package/components/settings/TokensTable.svelte +2 -4
- package/package/components/settings/TokensTable.svelte.d.ts +3 -19
- package/package/components/settings/WorkspaceUserSettings.svelte +428 -69
- package/package/components/sidebar/MenuButton.svelte +12 -10
- package/package/components/sidebar/changelogs.js +5 -0
- package/package/components/stepHistoryLoader.svelte.d.ts +2 -2
- package/package/components/stepHistoryLoader.svelte.js +7 -12
- package/package/components/table/AutoDataTable.svelte +6 -4
- package/package/components/table/AutoDataTable.svelte.d.ts +1 -0
- package/package/components/table/DataTable.svelte +12 -10
- package/package/components/table/DataTable.svelte.d.ts +1 -0
- package/package/components/triggers/TriggerRetriesAndErrorHandler.svelte.d.ts +2 -2
- package/package/components/triggers/gcp/GcpTriggerEditorConfigSection.svelte +1 -1
- package/package/components/triggers/gcp/GcpTriggerEditorConfigSection.svelte.d.ts +2 -1
- package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +50 -11
- package/package/components/triggers/gcp/utils.js +1 -0
- package/package/components/triggers/http/OpenAPISpecGenerator.svelte +2 -2
- package/package/components/triggers/http/utils.js +1 -1
- package/package/components/triggers/kafka/utils.js +1 -1
- package/package/components/triggers/mqtt/utils.js +1 -1
- package/package/components/triggers/nats/utils.js +1 -1
- package/package/components/triggers/postgres/utils.js +1 -1
- package/package/components/triggers/sqs/utils.js +1 -1
- package/package/components/triggers/utils.js +2 -1
- package/package/components/triggers/webhook/WebhooksConfigSection.svelte +24 -26
- package/package/components/triggers/webhook/WebhooksPanel.svelte +1 -15
- package/package/components/triggers/websocket/utils.js +1 -1
- package/package/components/tutorials/FlowBuilderTutorialBranchOne.svelte +1 -1
- package/package/components/tutorials/FlowBuilderTutorialForLoop.svelte +4 -4
- package/package/components/tutorials/utils.js +3 -0
- package/package/components/worker_group.d.ts +4 -1
- package/package/components/worker_group.js +3 -2
- package/package/components/workspaceSettings/AISettings.svelte +52 -36
- package/package/components/workspaceSettings/DucklakeSettings.svelte +321 -0
- package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +23 -0
- package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +122 -499
- package/package/components/workspaceSettings/GitSyncFilterSettings.svelte.d.ts +8 -10
- package/package/consts.js +2 -1
- package/package/editorLangUtils.d.ts +1 -1
- package/package/editorLangUtils.js +2 -0
- package/package/editorUtils.d.ts +2 -1
- package/package/editorUtils.js +2 -1
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +303 -14
- package/package/gen/schemas.gen.js +371 -76
- package/package/gen/services.gen.d.ts +136 -16
- package/package/gen/services.gen.js +264 -19
- package/package/gen/types.gen.d.ts +736 -17
- package/package/git-sync.d.ts +36 -0
- package/package/git-sync.js +1 -0
- package/package/hub.d.ts +1 -0
- package/package/hubPaths.json +9 -3
- package/package/infer.js +13 -3
- package/package/monaco_workers/graphql.worker.bundle.js +144 -110
- package/package/script_helpers.d.ts +5 -2
- package/package/script_helpers.js +87 -14
- package/package/scripts.d.ts +1 -1
- package/package/scripts.js +3 -2
- package/package/services/JobManager.d.ts +28 -0
- package/package/services/JobManager.js +114 -0
- package/package/stores.d.ts +3 -1
- package/package/stores.js +2 -0
- package/package/svelte5Utils.svelte.d.ts +16 -0
- package/package/svelte5Utils.svelte.js +26 -0
- package/package/utils.d.ts +19 -2
- package/package/utils.js +55 -2
- package/package.json +24 -22
- package/package/components/AllFlowLogs.svelte +0 -31
- package/package/components/AllFlowLogs.svelte.d.ts +0 -8
- package/package/components/InitGitRepoPopover.svelte +0 -410
- package/package/components/InitGitRepoPopover.svelte.d.ts +0 -13
- package/package/components/PullGitRepoPopover.svelte +0 -355
- package/package/components/PullGitRepoPopover.svelte.d.ts +0 -18
- package/package/components/copilot/chat/navigator/apiTools.d.ts +0 -68
- package/package/components/copilot/chat/navigator/apiTools.js +0 -258
- package/package/inferArgSig.d.ts +0 -42
- package/package/inferArgSig.js +0 -198
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
<script lang="ts">import { Save, Trash, XCircle, CheckCircle2, RotateCw, RotateCcw, Download, Upload } from 'lucide-svelte';
|
|
2
|
+
import { Button, Alert } from '../common';
|
|
3
|
+
import { getGitSyncContext } from './GitSyncContext.svelte';
|
|
4
|
+
import ResourcePicker from '../ResourcePicker.svelte';
|
|
5
|
+
import GitSyncFilterSettings from '../workspaceSettings/GitSyncFilterSettings.svelte';
|
|
6
|
+
import DetectionFlow from './DetectionFlow.svelte';
|
|
7
|
+
import { sendUserToast } from '../../toast';
|
|
8
|
+
import { fade } from 'svelte/transition';
|
|
9
|
+
import { workspaceStore } from '../../stores';
|
|
10
|
+
import hubPaths from '../../hubPaths.json';
|
|
11
|
+
let { idx } = $props();
|
|
12
|
+
const gitSyncContext = getGitSyncContext();
|
|
13
|
+
const repo = $derived(gitSyncContext.getRepository(idx));
|
|
14
|
+
const validation = $derived(gitSyncContext.getValidation(idx));
|
|
15
|
+
const gitSyncTestJob = $derived(gitSyncContext.gitSyncTestJobs?.[idx]);
|
|
16
|
+
let confirmingDelete = $state(false);
|
|
17
|
+
// Compute already-used repository paths to exclude from picker
|
|
18
|
+
const usedRepositoryPaths = $derived(gitSyncContext.repositories
|
|
19
|
+
.map((r, i) => i !== idx ? r.git_repo_resource_path : null)
|
|
20
|
+
.filter((path) => Boolean(path?.trim())));
|
|
21
|
+
async function handleSave() {
|
|
22
|
+
if (!repo)
|
|
23
|
+
return;
|
|
24
|
+
try {
|
|
25
|
+
await gitSyncContext.saveRepository(idx);
|
|
26
|
+
sendUserToast('Repository settings updated');
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
console.error('Failed to save repository:', error);
|
|
30
|
+
sendUserToast('Failed to save repository: ' + error.message, true);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function handleRevert() {
|
|
34
|
+
if (!repo)
|
|
35
|
+
return;
|
|
36
|
+
try {
|
|
37
|
+
gitSyncContext.revertRepository?.(idx);
|
|
38
|
+
sendUserToast('Reverted repository settings');
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
console.error('Failed to revert repository:', error);
|
|
42
|
+
sendUserToast('Failed to revert repository: ' + error.message, true);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function initiateDelete() {
|
|
46
|
+
confirmingDelete = true;
|
|
47
|
+
}
|
|
48
|
+
async function confirmDelete() {
|
|
49
|
+
try {
|
|
50
|
+
await gitSyncContext.removeRepository(idx);
|
|
51
|
+
sendUserToast('Repository connection removed successfully');
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
console.error('Failed to remove repository:', error);
|
|
55
|
+
sendUserToast('Failed to remove repository: ' + error.message, true);
|
|
56
|
+
}
|
|
57
|
+
finally {
|
|
58
|
+
confirmingDelete = false;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
function cancelDelete() {
|
|
62
|
+
confirmingDelete = false;
|
|
63
|
+
}
|
|
64
|
+
function runGitSyncTestJob() {
|
|
65
|
+
if (gitSyncContext.runTestJob) {
|
|
66
|
+
gitSyncContext.runTestJob(idx);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function emptyString(str) {
|
|
70
|
+
return !str || str.trim() === '';
|
|
71
|
+
}
|
|
72
|
+
function handlePullSettings() {
|
|
73
|
+
gitSyncContext.showPullModal(idx, true); // true for settingsOnly
|
|
74
|
+
}
|
|
75
|
+
</script>
|
|
76
|
+
|
|
77
|
+
{#if repo}
|
|
78
|
+
<div class="rounded-lg shadow-sm border p-0 w-full mb-4">
|
|
79
|
+
<!-- Card Header -->
|
|
80
|
+
<div class="flex items-center justify-between min-h-10 px-4 py-1 border-b">
|
|
81
|
+
<div class="flex items-center gap-2">
|
|
82
|
+
<span class="font-semibold">Repository #{idx + 1}</span>
|
|
83
|
+
{#if repo.legacyImported}
|
|
84
|
+
<span class="inline-flex items-center px-2 py-1 rounded-full text-xs font-medium bg-orange-100 text-orange-800 border border-orange-200">
|
|
85
|
+
Legacy Configuration
|
|
86
|
+
</span>
|
|
87
|
+
{/if}
|
|
88
|
+
<span class="text-xs text-tertiary pt-1 pl-8">
|
|
89
|
+
{repo.git_repo_resource_path}
|
|
90
|
+
</span>
|
|
91
|
+
</div>
|
|
92
|
+
<div class="flex items-center gap-2">
|
|
93
|
+
{#if validation.hasChanges && validation.isValid && !repo.isUnsavedConnection}
|
|
94
|
+
<Button
|
|
95
|
+
size="xs"
|
|
96
|
+
onclick={handleSave}
|
|
97
|
+
startIcon={{ icon: Save }}
|
|
98
|
+
>
|
|
99
|
+
{repo.legacyImported ? 'Migrate and save' : 'Save changes'}
|
|
100
|
+
</Button>
|
|
101
|
+
{#if gitSyncContext.initialRepositories[idx] && !repo.legacyImported}
|
|
102
|
+
<Button
|
|
103
|
+
color="light"
|
|
104
|
+
size="xs"
|
|
105
|
+
onclick={handleRevert}
|
|
106
|
+
startIcon={{ icon: RotateCcw }}
|
|
107
|
+
>
|
|
108
|
+
Revert
|
|
109
|
+
</Button>
|
|
110
|
+
{/if}
|
|
111
|
+
{/if}
|
|
112
|
+
<button
|
|
113
|
+
class="text-secondary hover:text-primary focus:outline-none"
|
|
114
|
+
onclick={() => (repo.collapsed = !repo.collapsed)}
|
|
115
|
+
aria-label="Toggle collapse"
|
|
116
|
+
>
|
|
117
|
+
{#if repo.collapsed}
|
|
118
|
+
<svg
|
|
119
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
120
|
+
class="h-5 w-5"
|
|
121
|
+
fill="none"
|
|
122
|
+
viewBox="0 0 24 24"
|
|
123
|
+
stroke="currentColor"
|
|
124
|
+
>
|
|
125
|
+
<path
|
|
126
|
+
stroke-linecap="round"
|
|
127
|
+
stroke-linejoin="round"
|
|
128
|
+
stroke-width="2"
|
|
129
|
+
d="M19 9l-7 7-7-7"
|
|
130
|
+
/>
|
|
131
|
+
</svg>
|
|
132
|
+
{:else}
|
|
133
|
+
<svg
|
|
134
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
135
|
+
class="h-5 w-5"
|
|
136
|
+
fill="none"
|
|
137
|
+
viewBox="0 0 24 24"
|
|
138
|
+
stroke="currentColor"
|
|
139
|
+
>
|
|
140
|
+
<path
|
|
141
|
+
stroke-linecap="round"
|
|
142
|
+
stroke-linejoin="round"
|
|
143
|
+
stroke-width="2"
|
|
144
|
+
d="M5 15l7-7 7 7"
|
|
145
|
+
/>
|
|
146
|
+
</svg>
|
|
147
|
+
{/if}
|
|
148
|
+
</button>
|
|
149
|
+
{#if !confirmingDelete}
|
|
150
|
+
<button
|
|
151
|
+
transition:fade|local={{ duration: 100 }}
|
|
152
|
+
class="rounded-full p-2 bg-surface-secondary duration-200 hover:bg-surface-hover"
|
|
153
|
+
aria-label="Remove repository"
|
|
154
|
+
onclick={initiateDelete}
|
|
155
|
+
>
|
|
156
|
+
<Trash size={14} />
|
|
157
|
+
</button>
|
|
158
|
+
{:else}
|
|
159
|
+
<div class="flex gap-1">
|
|
160
|
+
<button
|
|
161
|
+
transition:fade|local={{ duration: 100 }}
|
|
162
|
+
class="px-3 py-1 text-xs bg-red-500 text-white rounded duration-200 hover:bg-red-600"
|
|
163
|
+
onclick={confirmDelete}
|
|
164
|
+
>
|
|
165
|
+
Confirm delete
|
|
166
|
+
</button>
|
|
167
|
+
<button
|
|
168
|
+
transition:fade|local={{ duration: 100 }}
|
|
169
|
+
class="px-2 py-1 text-xs bg-surface-secondary rounded duration-200 hover:bg-surface-hover"
|
|
170
|
+
onclick={cancelDelete}
|
|
171
|
+
>
|
|
172
|
+
<XCircle size={12} />
|
|
173
|
+
</button>
|
|
174
|
+
</div>
|
|
175
|
+
{/if}
|
|
176
|
+
</div>
|
|
177
|
+
</div>
|
|
178
|
+
{#if !repo.collapsed}
|
|
179
|
+
<div class="px-4 py-2">
|
|
180
|
+
<div class="flex mt-5 mb-1 gap-1">
|
|
181
|
+
{#key repo}
|
|
182
|
+
<div class="pt-1 font-semibold">Resource: </div>
|
|
183
|
+
<ResourcePicker
|
|
184
|
+
bind:value={repo.git_repo_resource_path}
|
|
185
|
+
resourceType={'git_repository'}
|
|
186
|
+
disabled={!repo.isUnsavedConnection}
|
|
187
|
+
excludedValues={usedRepositoryPaths}
|
|
188
|
+
/>
|
|
189
|
+
{#if !emptyString(repo.git_repo_resource_path)}
|
|
190
|
+
<Button
|
|
191
|
+
disabled={emptyString(repo.script_path)}
|
|
192
|
+
color="dark"
|
|
193
|
+
onclick={runGitSyncTestJob}
|
|
194
|
+
size="xs">Test connection</Button
|
|
195
|
+
>
|
|
196
|
+
{/if}
|
|
197
|
+
{/key}
|
|
198
|
+
</div>
|
|
199
|
+
|
|
200
|
+
{#if !emptyString(repo.git_repo_resource_path)}
|
|
201
|
+
<div class="flex text-normal text-2xs gap-1">
|
|
202
|
+
{#if validation.isDuplicate}
|
|
203
|
+
<span class="text-red-600">This resource is already used by another repository.</span>
|
|
204
|
+
{/if}
|
|
205
|
+
{#if gitSyncTestJob && gitSyncTestJob.status !== undefined}
|
|
206
|
+
{#if gitSyncTestJob.status === 'running'}
|
|
207
|
+
<RotateCw size={14} class="animate-spin" />
|
|
208
|
+
{:else if gitSyncTestJob.status === 'success'}
|
|
209
|
+
<CheckCircle2 size={14} class="text-green-600" />
|
|
210
|
+
{:else}
|
|
211
|
+
<XCircle size={14} class="text-red-700" />
|
|
212
|
+
{/if}
|
|
213
|
+
Git sync resource checked via Windmill job
|
|
214
|
+
<a
|
|
215
|
+
target="_blank"
|
|
216
|
+
href={`/run/${gitSyncTestJob.jobId}?workspace=${$workspaceStore}`}
|
|
217
|
+
>
|
|
218
|
+
{gitSyncTestJob.jobId}
|
|
219
|
+
</a>WARNING: Only read permissions are verified.
|
|
220
|
+
{/if}
|
|
221
|
+
</div>
|
|
222
|
+
|
|
223
|
+
{#if repo.legacyImported}
|
|
224
|
+
<Alert type="warning" title="Legacy git sync settings imported">
|
|
225
|
+
This repository was initialized from workspace-level legacy Git-Sync settings. Review the filters and press <b>Save</b> to migrate.
|
|
226
|
+
</Alert>
|
|
227
|
+
{/if}
|
|
228
|
+
<div class="flex flex-col mb-1 gap-4">
|
|
229
|
+
{#if repo}
|
|
230
|
+
{#if repo.script_path != hubPaths.gitSync}
|
|
231
|
+
<Alert type="warning" title="Script version mismatch">
|
|
232
|
+
The git sync version for this repository is not latest. Current: <a
|
|
233
|
+
target="_blank"
|
|
234
|
+
href="https://hub.windmill.dev/scripts/windmill/6943/sync-script-to-git-repo-windmill/9014/versions"
|
|
235
|
+
>{repo.script_path}</a
|
|
236
|
+
>, latest:
|
|
237
|
+
<a
|
|
238
|
+
target="_blank"
|
|
239
|
+
href="https://hub.windmill.dev/scripts/windmill/6943/sync-script-to-git-repo-windmill/9014/versions"
|
|
240
|
+
>{hubPaths.gitSync}</a
|
|
241
|
+
>
|
|
242
|
+
<div class="flex mt-2">
|
|
243
|
+
<Button
|
|
244
|
+
size="xs"
|
|
245
|
+
color="dark"
|
|
246
|
+
onclick={() => {
|
|
247
|
+
if (repo) {
|
|
248
|
+
repo.script_path = hubPaths.gitSync
|
|
249
|
+
}
|
|
250
|
+
}}
|
|
251
|
+
>Update git sync script (require save git settings to be applied)</Button
|
|
252
|
+
>
|
|
253
|
+
</div>
|
|
254
|
+
</Alert>
|
|
255
|
+
{/if}
|
|
256
|
+
{#if repo.isUnsavedConnection && !emptyString(repo.git_repo_resource_path)}
|
|
257
|
+
<!-- Use DetectionFlow component -->
|
|
258
|
+
<div class="mt-4">
|
|
259
|
+
<DetectionFlow {idx} />
|
|
260
|
+
</div>
|
|
261
|
+
{:else}
|
|
262
|
+
<!-- Existing saved connection flow -->
|
|
263
|
+
<GitSyncFilterSettings
|
|
264
|
+
bind:git_repo_resource_path={repo.git_repo_resource_path}
|
|
265
|
+
bind:include_path={repo.settings.include_path}
|
|
266
|
+
bind:include_type={repo.settings.include_type}
|
|
267
|
+
bind:exclude_types_override={repo.exclude_types_override}
|
|
268
|
+
isLegacyRepo={repo.legacyImported}
|
|
269
|
+
bind:excludes={repo.settings.exclude_path}
|
|
270
|
+
bind:extraIncludes={repo.settings.extra_include_path}
|
|
271
|
+
isInitialSetup={false}
|
|
272
|
+
requiresMigration={repo.legacyImported}
|
|
273
|
+
useIndividualBranch={repo.use_individual_branch}
|
|
274
|
+
>
|
|
275
|
+
{#snippet actions()}
|
|
276
|
+
<Button
|
|
277
|
+
size="md"
|
|
278
|
+
onclick={handlePullSettings}
|
|
279
|
+
startIcon={{ icon: Download }}
|
|
280
|
+
>
|
|
281
|
+
Pull settings
|
|
282
|
+
</Button>
|
|
283
|
+
{/snippet}
|
|
284
|
+
</GitSyncFilterSettings>
|
|
285
|
+
{/if}
|
|
286
|
+
|
|
287
|
+
{#if !repo.isUnsavedConnection}
|
|
288
|
+
<div class="flex justify-between items-start">
|
|
289
|
+
<!-- Display mode settings as prominent text -->
|
|
290
|
+
<div class="text-base flex-1 mr-4">
|
|
291
|
+
{#if repo.use_individual_branch}
|
|
292
|
+
<div><span class="font-bold">Promotion:</span> Creating branches whose promotion target is main</div>
|
|
293
|
+
{#if repo.group_by_folder}
|
|
294
|
+
<div class="text-sm text-tertiary mt-1">Grouped by folder</div>
|
|
295
|
+
{/if}
|
|
296
|
+
{:else}
|
|
297
|
+
<div>Sync: <span class="font-bold">Syncing back to branch main</span></div>
|
|
298
|
+
{/if}
|
|
299
|
+
</div>
|
|
300
|
+
|
|
301
|
+
<!-- Manual sync section for existing repos -->
|
|
302
|
+
{#if !emptyString(repo.git_repo_resource_path) && !repo.legacyImported}
|
|
303
|
+
<div class="flex flex-col">
|
|
304
|
+
<div class="text-sm text-secondary mb-2">Manual workspace content sync</div>
|
|
305
|
+
<div class="flex gap-2">
|
|
306
|
+
<Button
|
|
307
|
+
size="xs"
|
|
308
|
+
color="dark"
|
|
309
|
+
variant="border"
|
|
310
|
+
onclick={() => gitSyncContext.showPullModal(idx)}
|
|
311
|
+
startIcon={{ icon: Download }}
|
|
312
|
+
>
|
|
313
|
+
Pull from repo
|
|
314
|
+
</Button>
|
|
315
|
+
<Button
|
|
316
|
+
size="xs"
|
|
317
|
+
color="dark"
|
|
318
|
+
variant="border"
|
|
319
|
+
onclick={() => gitSyncContext.showPushModal(idx)}
|
|
320
|
+
startIcon={{ icon: Upload }}
|
|
321
|
+
>
|
|
322
|
+
Push to repo
|
|
323
|
+
</Button>
|
|
324
|
+
</div>
|
|
325
|
+
</div>
|
|
326
|
+
{/if}
|
|
327
|
+
</div>
|
|
328
|
+
|
|
329
|
+
{/if}
|
|
330
|
+
|
|
331
|
+
{/if}
|
|
332
|
+
</div>
|
|
333
|
+
{:else}
|
|
334
|
+
<div class="text-xs text-tertiary pt-1 pl-8">Please select a Git repository resource.</div>
|
|
335
|
+
{/if}
|
|
336
|
+
</div>
|
|
337
|
+
{/if}
|
|
338
|
+
</div>
|
|
339
|
+
{/if}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<script lang="ts">import { getGitSyncContext } from './GitSyncContext.svelte';
|
|
2
|
+
import GitSyncRepositoryCard from './GitSyncRepositoryCard.svelte';
|
|
3
|
+
import { Alert } from '../common';
|
|
4
|
+
const gitSyncContext = getGitSyncContext();
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<div class="flex flex-col gap-4">
|
|
8
|
+
{#if gitSyncContext.repositories.length === 0}
|
|
9
|
+
<Alert type="info" title="No repositories configured">
|
|
10
|
+
Add your first Git repository to start syncing your workspace.
|
|
11
|
+
</Alert>
|
|
12
|
+
{:else}
|
|
13
|
+
{#each gitSyncContext.repositories as repository, idx (repository.git_repo_resource_path || idx)}
|
|
14
|
+
<GitSyncRepositoryCard {idx} />
|
|
15
|
+
{/each}
|
|
16
|
+
{/if}
|
|
17
|
+
</div>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
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> {
|
|
2
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
3
|
+
$$bindings?: Bindings;
|
|
4
|
+
} & Exports;
|
|
5
|
+
(internal: unknown, props: {
|
|
6
|
+
$$events?: Events;
|
|
7
|
+
$$slots?: Slots;
|
|
8
|
+
}): Exports & {
|
|
9
|
+
$set?: any;
|
|
10
|
+
$on?: any;
|
|
11
|
+
};
|
|
12
|
+
z_$$bindings?: Bindings;
|
|
13
|
+
}
|
|
14
|
+
declare const GitSyncRepositoryList: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
15
|
+
[evt: string]: CustomEvent<any>;
|
|
16
|
+
}, {}, {}, string>;
|
|
17
|
+
type GitSyncRepositoryList = InstanceType<typeof GitSyncRepositoryList>;
|
|
18
|
+
export default GitSyncRepositoryList;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
<script lang="ts">import { Plus, ExternalLink } from 'lucide-svelte';
|
|
2
|
+
import { Button, Alert } from '../common';
|
|
3
|
+
import Description from '../Description.svelte';
|
|
4
|
+
import { setGitSyncContext } from './GitSyncContext.svelte';
|
|
5
|
+
import GitSyncRepositoryList from './GitSyncRepositoryList.svelte';
|
|
6
|
+
import GitSyncModalManager from './GitSyncModalManager.svelte';
|
|
7
|
+
import { enterpriseLicense, workspaceStore } from '../../stores';
|
|
8
|
+
import { sendUserToast } from '../../toast';
|
|
9
|
+
import { untrack } from 'svelte';
|
|
10
|
+
// Create context reactively based on workspaceStore
|
|
11
|
+
const gitSyncContext = $derived($workspaceStore ? setGitSyncContext($workspaceStore) : null);
|
|
12
|
+
// Load settings when workspace context changes
|
|
13
|
+
$effect(() => {
|
|
14
|
+
if (gitSyncContext) {
|
|
15
|
+
untrack(async () => {
|
|
16
|
+
try {
|
|
17
|
+
await gitSyncContext.loadSettings();
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
console.error('Failed to load git sync settings:', error);
|
|
21
|
+
sendUserToast('Failed to load git sync settings', true);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
{#if !gitSyncContext}
|
|
29
|
+
<div class="flex items-center justify-center p-8">
|
|
30
|
+
<div class="text-sm text-secondary">Loading workspace...</div>
|
|
31
|
+
</div>
|
|
32
|
+
{:else if gitSyncContext.loading}
|
|
33
|
+
<div class="flex items-center justify-center p-8">
|
|
34
|
+
<div class="text-sm text-secondary">Loading git sync settings...</div>
|
|
35
|
+
</div>
|
|
36
|
+
{:else}
|
|
37
|
+
<div class="flex flex-col gap-4 my-8">
|
|
38
|
+
<div class="flex flex-col gap-1">
|
|
39
|
+
<div class="text-primary text-lg font-semibold">Git Sync</div>
|
|
40
|
+
<Description link="https://www.windmill.dev/docs/advanced/git_sync">
|
|
41
|
+
Connect the Windmill workspace to a Git repository to automatically commit and push
|
|
42
|
+
scripts, flows, and apps to the repository on each deploy.
|
|
43
|
+
</Description>
|
|
44
|
+
</div>
|
|
45
|
+
<Alert type="info" title="Only new updates trigger git sync">
|
|
46
|
+
Only new changes matching the filters will trigger a git sync. You still need to initialize
|
|
47
|
+
the repo to the desired state first.
|
|
48
|
+
</Alert>
|
|
49
|
+
</div>
|
|
50
|
+
{#if !$enterpriseLicense}
|
|
51
|
+
<div class="mb-2"></div>
|
|
52
|
+
|
|
53
|
+
<Alert type="warning" title="Syncing workspace to Git is an EE feature">
|
|
54
|
+
Automatically saving scripts to a Git repository on each deploy is a Windmill EE feature.
|
|
55
|
+
</Alert>
|
|
56
|
+
<div class="mb-2"></div>
|
|
57
|
+
{/if}
|
|
58
|
+
{#if $enterpriseLicense && gitSyncContext.repositories != undefined}
|
|
59
|
+
<div class="flex mt-5 mb-5 gap-8">
|
|
60
|
+
<Button
|
|
61
|
+
color="dark"
|
|
62
|
+
target="_blank"
|
|
63
|
+
endIcon={{ icon: ExternalLink }}
|
|
64
|
+
href={`/runs?job_kinds=deploymentcallbacks&workspace=${$workspaceStore}`}
|
|
65
|
+
>
|
|
66
|
+
See sync jobs
|
|
67
|
+
</Button>
|
|
68
|
+
</div>
|
|
69
|
+
<div class="pt-2"></div>
|
|
70
|
+
|
|
71
|
+
<!-- Repository list -->
|
|
72
|
+
<GitSyncRepositoryList />
|
|
73
|
+
|
|
74
|
+
<!-- Add repository button -->
|
|
75
|
+
<div class="flex mt-5 mb-5">
|
|
76
|
+
<Button
|
|
77
|
+
startIcon={{ icon: Plus }}
|
|
78
|
+
color="dark"
|
|
79
|
+
variant="border"
|
|
80
|
+
onclick={() => gitSyncContext.addRepository()}
|
|
81
|
+
>
|
|
82
|
+
Add connection
|
|
83
|
+
</Button>
|
|
84
|
+
</div>
|
|
85
|
+
|
|
86
|
+
<!-- Modals -->
|
|
87
|
+
<GitSyncModalManager />
|
|
88
|
+
{/if}
|
|
89
|
+
{/if}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<script lang="ts">import Modal from '../common/modal/Modal.svelte';
|
|
2
|
+
import { CheckCircle2, ExternalLink, ArrowRight } from 'lucide-svelte';
|
|
3
|
+
let { open = $bindable(false), savedWithoutInit = false } = $props();
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<Modal bind:open title="Git Sync Connection Saved" class="sm:max-w-4xl" cancelText="Close">
|
|
7
|
+
<div class="flex flex-col gap-6 p-6">
|
|
8
|
+
<!-- Success header -->
|
|
9
|
+
<div class="flex items-center gap-3">
|
|
10
|
+
<div class="flex-shrink-0">
|
|
11
|
+
<CheckCircle2 class="h-8 w-8 text-green-600" />
|
|
12
|
+
</div>
|
|
13
|
+
<div>
|
|
14
|
+
<h3 class="text-lg font-semibold text-primary">Git sync connection saved successfully!</h3>
|
|
15
|
+
<p class="text-sm text-secondary mt-1">Your repository is now configured to receive changes from Windmill.</p>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
|
|
19
|
+
<!-- Info box for saved without init -->
|
|
20
|
+
{#if savedWithoutInit}
|
|
21
|
+
<div class="bg-blue-50 border border-blue-200 rounded-lg p-4">
|
|
22
|
+
<h4 class="font-medium text-blue-900 mb-2">Repository saved without initialization</h4>
|
|
23
|
+
<p class="text-sm text-blue-800">
|
|
24
|
+
Only new changes will be pushed to this repository. Existing content in Windmill has not been initialized to the repository.
|
|
25
|
+
</p>
|
|
26
|
+
</div>
|
|
27
|
+
{/if}
|
|
28
|
+
|
|
29
|
+
<!-- Optional setup section -->
|
|
30
|
+
<div class="bg-amber-50 border border-amber-200 rounded-lg p-4">
|
|
31
|
+
<h4 class="font-medium text-amber-900 mb-2 flex items-center gap-2">
|
|
32
|
+
<ArrowRight class="h-4 w-4" />
|
|
33
|
+
Optional: Enable automatic deployment from Git to Windmill
|
|
34
|
+
</h4>
|
|
35
|
+
<p class="text-sm text-amber-800 mb-3">
|
|
36
|
+
To automatically deploy changes from your Git repository back to Windmill (when PRs are merged), you can set up GitHub Actions or similar CI/CD workflows.
|
|
37
|
+
</p>
|
|
38
|
+
<div class="flex flex-col gap-2">
|
|
39
|
+
<p class="text-sm text-amber-700">This setup enables:</p>
|
|
40
|
+
<ul class="text-sm text-amber-700 ml-4 list-disc space-y-1">
|
|
41
|
+
<li>Automatic deployment to Windmill when PRs are merged</li>
|
|
42
|
+
<li>Full bidirectional sync between Git and Windmill</li>
|
|
43
|
+
</ul>
|
|
44
|
+
<div class="mt-3">
|
|
45
|
+
<a
|
|
46
|
+
href="https://www.windmill.dev/docs/advanced/deploy_gh_gl#github-actions-setup"
|
|
47
|
+
target="_blank"
|
|
48
|
+
class="text-sm text-amber-700 hover:text-amber-900 underline flex items-center gap-1"
|
|
49
|
+
>
|
|
50
|
+
<ExternalLink class="h-3 w-3" />
|
|
51
|
+
Learn more
|
|
52
|
+
</a>
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
</div>
|
|
58
|
+
</Modal>
|