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
|
@@ -25,13 +25,15 @@ import HighlightTheme from './HighlightTheme.svelte';
|
|
|
25
25
|
import { getContext, hasContext, createEventDispatcher, onDestroy } from 'svelte';
|
|
26
26
|
import { toJsonStr } from '../utils';
|
|
27
27
|
import { userStore } from '../stores';
|
|
28
|
+
import ResultStreamDisplay from './ResultStreamDisplay.svelte';
|
|
29
|
+
import { twMerge } from 'tailwind-merge';
|
|
28
30
|
const IMG_MAX_SIZE = 10000000;
|
|
29
31
|
const TABLE_MAX_SIZE = 5000000;
|
|
30
32
|
const DISPLAY_MAX_SIZE = 100000;
|
|
31
33
|
const dispatch = createEventDispatcher();
|
|
32
34
|
let resultKind = $state();
|
|
33
35
|
let hasBigInt = $state(false);
|
|
34
|
-
let { result, requireHtmlApproval = false, filename = undefined, disableExpand = false, jobId = undefined, workspaceId = undefined, hideAsJson = false, noControls = false, drawerOpen = $bindable(false), nodeId = undefined, language = undefined, appPath = undefined, customUi = undefined, isTest = true, externalToolbarAvailable = false, forceJson = $bindable(false), copilot_fix, children } = $props();
|
|
36
|
+
let { result, requireHtmlApproval = false, filename = undefined, disableExpand = false, jobId = undefined, workspaceId = undefined, hideAsJson = false, noControls = false, drawerOpen = $bindable(false), nodeId = undefined, language = undefined, appPath = undefined, customUi = undefined, isTest = true, externalToolbarAvailable = false, forceJson = $bindable(false), result_stream = undefined, fixTableSizingToParent = false, copilot_fix, children, loading = false, growVertical = false } = $props();
|
|
35
37
|
let enableHtml = $state(false);
|
|
36
38
|
let s3FileDisplayRawMode = $state(false);
|
|
37
39
|
function isTableRow(result) {
|
|
@@ -352,7 +354,15 @@ $effect(() => {
|
|
|
352
354
|
</script>
|
|
353
355
|
|
|
354
356
|
<HighlightTheme />
|
|
355
|
-
|
|
357
|
+
|
|
358
|
+
{#if result_stream && result == undefined}
|
|
359
|
+
<div class="flex flex-col w-full gap-2">
|
|
360
|
+
<div class="flex items-center gap-2 text-tertiary">
|
|
361
|
+
<Loader2 class="animate-spin" size={16} /> Streaming result
|
|
362
|
+
</div>
|
|
363
|
+
<ResultStreamDisplay {result_stream} />
|
|
364
|
+
</div>
|
|
365
|
+
{:else if is_render_all}
|
|
356
366
|
<div class="flex flex-col w-full gap-2">
|
|
357
367
|
{#if !noControls}
|
|
358
368
|
<div class="text-tertiary text-sm">
|
|
@@ -392,9 +402,11 @@ $effect(() => {
|
|
|
392
402
|
<div class="text-red-400">Non displayable object</div>
|
|
393
403
|
{:else}
|
|
394
404
|
<div
|
|
395
|
-
class=
|
|
396
|
-
|
|
397
|
-
: 'min-h-[160px]'
|
|
405
|
+
class={twMerge(
|
|
406
|
+
'inline-highlight relative grow flex flex-col',
|
|
407
|
+
['plain', 'markdown'].includes(resultKind ?? '') ? 'min-h-0' : 'min-h-[160px]',
|
|
408
|
+
growVertical ? '' : 'h-full'
|
|
409
|
+
)}
|
|
398
410
|
>
|
|
399
411
|
{#if result != undefined && length != undefined && largeObject != undefined}
|
|
400
412
|
<div class="flex justify-between items-center w-full">
|
|
@@ -447,16 +459,36 @@ $effect(() => {
|
|
|
447
459
|
{/if}
|
|
448
460
|
</div>
|
|
449
461
|
</div>
|
|
450
|
-
<div class="grow">
|
|
462
|
+
<div class="grow relative">
|
|
451
463
|
{#if !forceJson && resultKind === 'table-col'}
|
|
452
|
-
{@const data =
|
|
453
|
-
|
|
464
|
+
{@const data =
|
|
465
|
+
typeof result === 'object' && 'table-col' in result ? result['table-col'] : result}
|
|
466
|
+
<AutoDataTable
|
|
467
|
+
class={fixTableSizingToParent
|
|
468
|
+
? 'absolute inset-0 [&>div]:h-full [&>div]:min-h-[10rem]'
|
|
469
|
+
: ''}
|
|
470
|
+
objects={objectOfArraysToObjects(data)}
|
|
471
|
+
/>
|
|
454
472
|
{:else if !forceJson && resultKind === 'table-row'}
|
|
455
|
-
{@const data =
|
|
456
|
-
|
|
473
|
+
{@const data =
|
|
474
|
+
typeof result === 'object' && 'table-row' in result ? result['table-row'] : result}
|
|
475
|
+
<AutoDataTable
|
|
476
|
+
class={fixTableSizingToParent
|
|
477
|
+
? 'absolute inset-0 [&>div]:h-full [&>div]:min-h-[10rem]'
|
|
478
|
+
: ''}
|
|
479
|
+
objects={arrayOfRowsToObjects(data)}
|
|
480
|
+
/>
|
|
457
481
|
{:else if !forceJson && resultKind === 'table-row-object'}
|
|
458
|
-
{@const data =
|
|
459
|
-
|
|
482
|
+
{@const data =
|
|
483
|
+
typeof result === 'object' && 'table-row-object' in result
|
|
484
|
+
? result['table-row-object']
|
|
485
|
+
: result}
|
|
486
|
+
<AutoDataTable
|
|
487
|
+
class={fixTableSizingToParent
|
|
488
|
+
? 'absolute inset-0 [&>div]:h-full [&>div]:min-h-[10rem]'
|
|
489
|
+
: ''}
|
|
490
|
+
objects={handleArrayOfObjectsHeaders(data)}
|
|
491
|
+
/>
|
|
460
492
|
{:else if !forceJson && resultKind === 'html'}
|
|
461
493
|
<div class="h-full">
|
|
462
494
|
{#if !requireHtmlApproval || enableHtml}
|
|
@@ -538,7 +570,7 @@ $effect(() => {
|
|
|
538
570
|
{:else if !forceJson && resultKind === 'plain'}<div class="h-full text-2xs"
|
|
539
571
|
><pre class="whitespace-pre-wrap"
|
|
540
572
|
>{typeof result === 'string' ? result : result?.['result']}</pre
|
|
541
|
-
>{#if !noControls}
|
|
573
|
+
>{#if !noControls && !loading}
|
|
542
574
|
<div class="flex">
|
|
543
575
|
<Button
|
|
544
576
|
on:click={() =>
|
|
@@ -755,7 +787,7 @@ $effect(() => {
|
|
|
755
787
|
>
|
|
756
788
|
</button>
|
|
757
789
|
{:else if !s3object?.disable_download}
|
|
758
|
-
<FileDownload {s3object} />
|
|
790
|
+
<FileDownload {workspaceId} {s3object} {appPath} />
|
|
759
791
|
{:else}
|
|
760
792
|
<div class="flex text-secondary pt-2">{s3object?.s3} (download disabled)</div>
|
|
761
793
|
{/if}
|
|
@@ -11,14 +11,18 @@ interface Props {
|
|
|
11
11
|
noControls?: boolean;
|
|
12
12
|
drawerOpen?: boolean;
|
|
13
13
|
nodeId?: string | undefined;
|
|
14
|
+
loading?: boolean | undefined;
|
|
14
15
|
language?: string | undefined;
|
|
15
16
|
appPath?: string | undefined;
|
|
16
17
|
customUi?: DisplayResultUi | undefined;
|
|
17
18
|
isTest?: boolean;
|
|
18
19
|
externalToolbarAvailable?: boolean;
|
|
19
20
|
forceJson?: boolean;
|
|
21
|
+
result_stream?: string | undefined;
|
|
22
|
+
fixTableSizingToParent?: boolean;
|
|
20
23
|
copilot_fix?: import('svelte').Snippet;
|
|
21
24
|
children?: import('svelte').Snippet;
|
|
25
|
+
growVertical?: boolean;
|
|
22
26
|
}
|
|
23
27
|
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> {
|
|
24
28
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
@@ -40,6 +44,6 @@ declare const DisplayResult: $$__sveltets_2_IsomorphicComponent<Props, {
|
|
|
40
44
|
}, {}, {
|
|
41
45
|
openDrawer: () => void;
|
|
42
46
|
getToolbarLocation: () => "external" | "self" | undefined;
|
|
43
|
-
}, "
|
|
47
|
+
}, "forceJson" | "drawerOpen">;
|
|
44
48
|
type DisplayResult = InstanceType<typeof DisplayResult>;
|
|
45
49
|
export default DisplayResult;
|
|
@@ -15,63 +15,87 @@ function validSelectObject(x) {
|
|
|
15
15
|
</script>
|
|
16
16
|
|
|
17
17
|
<script lang="ts">import { usePromise } from '../svelte5Utils.svelte';
|
|
18
|
-
import {
|
|
19
|
-
import JobLoader from './JobLoader.svelte';
|
|
18
|
+
import JobLoader, {} from './JobLoader.svelte';
|
|
20
19
|
import Select from './select/Select.svelte';
|
|
21
20
|
import Tooltip from './Tooltip.svelte';
|
|
22
21
|
import { Loader2 } from 'lucide-svelte';
|
|
22
|
+
import {} from '../utils';
|
|
23
|
+
import { deepEqual } from 'fast-equals';
|
|
23
24
|
import { untrack } from 'svelte';
|
|
24
|
-
|
|
25
|
-
let
|
|
26
|
-
let
|
|
27
|
-
$
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
});
|
|
25
|
+
let { value = $bindable(), helperScript, entrypoint, otherArgs: otherArgs } = $props();
|
|
26
|
+
let resultJobLoader = $state();
|
|
27
|
+
let _items = usePromise(getItemsFromOptions, { clearValueOnRefresh: false });
|
|
28
|
+
let items = $derived(_items.value);
|
|
29
|
+
let filterText = $state('');
|
|
30
|
+
let open = $state(false);
|
|
31
31
|
async function getItemsFromOptions() {
|
|
32
32
|
return new Promise((resolve, reject) => {
|
|
33
33
|
let cb = {
|
|
34
|
-
|
|
35
|
-
if (!
|
|
36
|
-
|
|
34
|
+
doneResult({ result }) {
|
|
35
|
+
if (!result || !Array.isArray(result)) {
|
|
36
|
+
if (result?.error?.message && result?.error?.name) {
|
|
37
|
+
reject('Error in DynSelect function execution: ' +
|
|
38
|
+
result?.error?.name +
|
|
39
|
+
' - ' +
|
|
40
|
+
result?.error?.message);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
reject('Result was not an array but ' + JSON.stringify(result, null, 2));
|
|
44
|
+
}
|
|
37
45
|
return;
|
|
38
46
|
}
|
|
39
|
-
if (
|
|
47
|
+
if (result.length == 0)
|
|
40
48
|
resolve([]);
|
|
41
|
-
if (
|
|
42
|
-
|
|
49
|
+
if (result.every((x) => typeof x == 'string')) {
|
|
50
|
+
result = result.map((x) => ({ label: x, value: x }));
|
|
43
51
|
}
|
|
44
|
-
else if (
|
|
45
|
-
reject(validSelectObject(
|
|
46
|
-
|
|
47
|
-
else {
|
|
48
|
-
if (filterText != undefined && filterText != '')
|
|
49
|
-
res = res.filter((x) => x['label'].includes(filterText));
|
|
50
|
-
resolve(res);
|
|
52
|
+
else if (result.find((x) => validSelectObject(x) != undefined)) {
|
|
53
|
+
reject(validSelectObject(result.find((x) => validSelectObject(x) != undefined)));
|
|
54
|
+
return;
|
|
51
55
|
}
|
|
56
|
+
resolve(result);
|
|
52
57
|
},
|
|
53
58
|
cancel: () => reject(),
|
|
54
|
-
error
|
|
59
|
+
doneError({ id, error }) {
|
|
60
|
+
reject(error);
|
|
61
|
+
}
|
|
55
62
|
};
|
|
56
63
|
helperScript?.type == 'inline'
|
|
57
|
-
? resultJobLoader?.runPreview(helperScript?.path ?? 'NO_PATH', helperScript.code, helperScript.lang, { ...
|
|
58
|
-
: resultJobLoader?.runScriptByHash(helperScript?.hash ?? 'NO_HASH', { ...
|
|
64
|
+
? resultJobLoader?.runPreview(helperScript?.path ?? 'NO_PATH', helperScript.code, helperScript.lang, { ...otherArgs, filterText, _ENTRYPOINT_OVERRIDE: entrypoint }, undefined, undefined, undefined, cb)
|
|
65
|
+
: resultJobLoader?.runScriptByHash(helperScript?.hash ?? 'NO_HASH', { ...otherArgs, filterText, _ENTRYPOINT_OVERRIDE: entrypoint }, cb);
|
|
59
66
|
});
|
|
60
67
|
}
|
|
61
|
-
let
|
|
62
|
-
|
|
68
|
+
let neverLoaded = $state(true);
|
|
69
|
+
$effect(() => {
|
|
70
|
+
if (_items.value && value) {
|
|
71
|
+
if (!_items.value.find((x) => x.value == value)) {
|
|
72
|
+
value = undefined;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
let lastArgs = $state.snapshot(otherArgs);
|
|
77
|
+
let timeout = $state();
|
|
78
|
+
let nargs = $state($state.snapshot(otherArgs));
|
|
79
|
+
$effect(() => {
|
|
80
|
+
otherArgs;
|
|
81
|
+
untrack(() => clearTimeout(timeout));
|
|
82
|
+
timeout = setTimeout(() => {
|
|
83
|
+
nargs = $state.snapshot(otherArgs);
|
|
84
|
+
}, 1000);
|
|
85
|
+
});
|
|
63
86
|
$effect(() => {
|
|
64
87
|
;
|
|
65
|
-
[
|
|
66
|
-
|
|
88
|
+
[filterText, entrypoint, helperScript];
|
|
89
|
+
if (resultJobLoader && (open || neverLoaded || !deepEqual(lastArgs, nargs))) {
|
|
90
|
+
neverLoaded = false;
|
|
91
|
+
lastArgs = $state.snapshot(otherArgs);
|
|
92
|
+
_items.refresh();
|
|
93
|
+
}
|
|
67
94
|
});
|
|
68
|
-
let resultJobLoader = $state();
|
|
69
|
-
let filterText = $state('');
|
|
70
|
-
let open = $state(false);
|
|
71
95
|
</script>
|
|
72
96
|
|
|
73
97
|
{#if helperScript}
|
|
74
|
-
<JobLoader bind:this={resultJobLoader} />
|
|
98
|
+
<JobLoader onlyResult bind:this={resultJobLoader} />
|
|
75
99
|
|
|
76
100
|
<div class="w-full flex-col flex">
|
|
77
101
|
<Select
|
|
@@ -85,7 +109,7 @@ let open = $state(false);
|
|
|
85
109
|
/>
|
|
86
110
|
{#if _items.error}
|
|
87
111
|
<div class="text-red-400 text-2xs">
|
|
88
|
-
error: <Tooltip>{
|
|
112
|
+
error: <Tooltip>{_items.error}</Tooltip>
|
|
89
113
|
</div>
|
|
90
114
|
{/if}
|
|
91
115
|
</div>
|
|
@@ -1,17 +1,9 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type DynamicSelect } from '../utils';
|
|
2
2
|
interface Props {
|
|
3
3
|
value?: any;
|
|
4
|
-
helperScript?:
|
|
5
|
-
type: 'inline';
|
|
6
|
-
path?: string;
|
|
7
|
-
lang: Script['language'];
|
|
8
|
-
code: string;
|
|
9
|
-
} | {
|
|
10
|
-
type: 'hash';
|
|
11
|
-
hash: string;
|
|
12
|
-
};
|
|
4
|
+
helperScript?: DynamicSelect.HelperScript;
|
|
13
5
|
entrypoint: string;
|
|
14
|
-
|
|
6
|
+
otherArgs?: Record<string, any>;
|
|
15
7
|
name: string;
|
|
16
8
|
}
|
|
17
9
|
declare const DynSelect: import("svelte").Component<Props, {}, "value">;
|
|
@@ -17,18 +17,38 @@ import ToggleButtonGroup from './common/toggleButton-v2/ToggleButtonGroup.svelte
|
|
|
17
17
|
import Label from './Label.svelte';
|
|
18
18
|
import { sendUserToast } from '../toast';
|
|
19
19
|
import Toggle from './Toggle.svelte';
|
|
20
|
-
import { emptyString } from '../utils';
|
|
20
|
+
import { DynamicSelect, emptyString } from '../utils';
|
|
21
21
|
import Popover from './meltComponents/Popover.svelte';
|
|
22
22
|
import SchemaFormDnd from './schema/SchemaFormDND.svelte';
|
|
23
23
|
import { deepEqual } from 'fast-equals';
|
|
24
24
|
import { tweened } from 'svelte/motion';
|
|
25
|
+
import Section from './Section.svelte';
|
|
26
|
+
import Editor from './Editor.svelte';
|
|
25
27
|
// export let openEditTab: () => void = () => {}
|
|
26
28
|
const dispatch = createEventDispatcher();
|
|
27
|
-
let { schema = $bindable(), hiddenArgs = [], args = $bindable(undefined), shouldHideNoInputs = false, noVariablePicker = false, flexWrap = false, uiOnly = false, isFlowInput = false, noPreview = false, jsonEnabled = true, isAppInput = false, displayWebhookWarning = false, onlyMaskPassword = false, dndType = undefined, editTab, previewSchema = undefined, editPanelInitialSize = undefined, editPanelSize = $bindable(0), diff = {}, disableDnd = false, shouldDispatchChanges = false, isValid = $bindable(true), customUi = undefined, pannelExtraButtonWidth = 0, class: clazz = '', openEditTab, addProperty, runButton, extraTab } = $props();
|
|
29
|
+
let { schema = $bindable(), hiddenArgs = [], args = $bindable(undefined), shouldHideNoInputs = false, noVariablePicker = false, flexWrap = false, uiOnly = false, isFlowInput = false, noPreview = false, jsonEnabled = true, isAppInput = false, displayWebhookWarning = false, onlyMaskPassword = false, dndType = undefined, editTab, previewSchema = undefined, editPanelInitialSize = undefined, editPanelSize = $bindable(0), diff = {}, disableDnd = false, shouldDispatchChanges = false, isValid = $bindable(true), customUi = undefined, pannelExtraButtonWidth = 0, class: clazz = '', dynSelectCode = $bindable(), dynSelectLang = $bindable(), showDynSelectOpt = false, openEditTab, addProperty, runButton, extraTab } = $props();
|
|
28
30
|
$effect.pre(() => {
|
|
29
31
|
if (args == undefined) {
|
|
30
32
|
args = {};
|
|
31
33
|
}
|
|
34
|
+
if (dynSelectLang === undefined) {
|
|
35
|
+
dynSelectLang = schema?.['x-windmill-dyn-select-lang'] || 'bun';
|
|
36
|
+
}
|
|
37
|
+
if (dynSelectCode === undefined) {
|
|
38
|
+
dynSelectCode = schema?.['x-windmill-dyn-select-code'] || '';
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
$effect(() => {
|
|
42
|
+
if (schema && dynSelectCode !== undefined && dynSelectLang !== undefined) {
|
|
43
|
+
if (dynSelectCode && dynSelectCode.trim()) {
|
|
44
|
+
schema['x-windmill-dyn-select-code'] = dynSelectCode.trim();
|
|
45
|
+
schema['x-windmill-dyn-select-lang'] = dynSelectLang;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
delete schema['x-windmill-dyn-select-code'];
|
|
49
|
+
delete schema['x-windmill-dyn-select-lang'];
|
|
50
|
+
}
|
|
51
|
+
}
|
|
32
52
|
});
|
|
33
53
|
export function setDefaults() {
|
|
34
54
|
const nargs = {};
|
|
@@ -73,6 +93,7 @@ function alignOrderWithProperties(schema) {
|
|
|
73
93
|
function onSchemaChange() {
|
|
74
94
|
let editSchema = false;
|
|
75
95
|
if (alignOrderWithProperties(schema)) {
|
|
96
|
+
console.log('alignOrderWithProperties', JSON.stringify(schema, null, 2));
|
|
76
97
|
editSchema = true;
|
|
77
98
|
}
|
|
78
99
|
let lkeys = schema?.order ?? Object.keys(schema?.properties ?? {});
|
|
@@ -95,9 +116,11 @@ function computeSelected(property) {
|
|
|
95
116
|
? property.type
|
|
96
117
|
: property.format === 'resource-s3_object'
|
|
97
118
|
? 'S3'
|
|
98
|
-
: property.
|
|
99
|
-
? '
|
|
100
|
-
:
|
|
119
|
+
: property.format?.startsWith('dynselect-')
|
|
120
|
+
? 'dynselect'
|
|
121
|
+
: property.oneOf && property.oneOf.length >= 2
|
|
122
|
+
? 'oneOf'
|
|
123
|
+
: 'object';
|
|
101
124
|
}
|
|
102
125
|
export function openField(key) {
|
|
103
126
|
opened = key;
|
|
@@ -150,6 +173,7 @@ let jsonView = $state(customUi?.jsonOnly == true);
|
|
|
150
173
|
let schemaString = $state(JSON.stringify(schema, null, '\t'));
|
|
151
174
|
let error = $state(undefined);
|
|
152
175
|
let editor = $state(undefined);
|
|
176
|
+
let dynamicSelectEditor = $state(undefined);
|
|
153
177
|
export function updateJson() {
|
|
154
178
|
schemaString = JSON.stringify(schema, null, '\t');
|
|
155
179
|
editor?.setCode(schemaString);
|
|
@@ -191,6 +215,37 @@ $effect(() => {
|
|
|
191
215
|
$effect(() => {
|
|
192
216
|
!!editTab ? openEditTabFn() : closeEditTab();
|
|
193
217
|
});
|
|
218
|
+
let dynSelectFunctions = $derived(Object.entries(schema?.properties ?? {})
|
|
219
|
+
.filter(([_, property]) => {
|
|
220
|
+
const props = property;
|
|
221
|
+
return (props.type === 'object' &&
|
|
222
|
+
(props.format?.startsWith('dynselect-') || props.format?.startsWith('dynselect_')));
|
|
223
|
+
})
|
|
224
|
+
.map(([fieldName, _]) => fieldName.replace(/\s+/g, '_')));
|
|
225
|
+
let typeOptions = [
|
|
226
|
+
['String', 'string'],
|
|
227
|
+
['Number', 'number'],
|
|
228
|
+
['Integer', 'integer'],
|
|
229
|
+
['Object', 'object'],
|
|
230
|
+
['OneOf', 'oneOf'],
|
|
231
|
+
['Array', 'array'],
|
|
232
|
+
['Boolean', 'boolean'],
|
|
233
|
+
['S3 Object', 'S3']
|
|
234
|
+
];
|
|
235
|
+
if (showDynSelectOpt) {
|
|
236
|
+
typeOptions.push(['DynSelect', 'dynselect']);
|
|
237
|
+
}
|
|
238
|
+
function initDynSelectFn(lang) {
|
|
239
|
+
const generateFn = DynamicSelect.getGenerateTemplateFn(lang);
|
|
240
|
+
return Object.entries(schema?.properties ?? {})
|
|
241
|
+
.map(([functionName]) => generateFn(functionName))
|
|
242
|
+
.join('');
|
|
243
|
+
}
|
|
244
|
+
function updateDynSelectCode(functionName, lang = 'bun') {
|
|
245
|
+
const generateFn = DynamicSelect.getGenerateTemplateFn(lang);
|
|
246
|
+
const code = generateFn(functionName);
|
|
247
|
+
dynSelectCode = dynSelectCode ? dynSelectCode.concat(code) : code;
|
|
248
|
+
}
|
|
194
249
|
</script>
|
|
195
250
|
|
|
196
251
|
<div class="w-full h-full">
|
|
@@ -249,6 +304,11 @@ $effect(() => {
|
|
|
249
304
|
}
|
|
250
305
|
tick().then(() => dispatch('change', schema))
|
|
251
306
|
}}
|
|
307
|
+
helperScript={{
|
|
308
|
+
type: 'inline',
|
|
309
|
+
code: dynSelectCode!,
|
|
310
|
+
lang: dynSelectLang!
|
|
311
|
+
}}
|
|
252
312
|
prettifyHeader={isAppInput}
|
|
253
313
|
disabled={!!previewSchema}
|
|
254
314
|
{diff}
|
|
@@ -263,6 +323,57 @@ $effect(() => {
|
|
|
263
323
|
/>
|
|
264
324
|
|
|
265
325
|
{@render runButton?.()}
|
|
326
|
+
|
|
327
|
+
<div class="h-full">
|
|
328
|
+
{#if dynSelectFunctions.length > 0}
|
|
329
|
+
<Section
|
|
330
|
+
label="Dynamic select functions"
|
|
331
|
+
collapsable={true}
|
|
332
|
+
collapsed={false}
|
|
333
|
+
class="text-sm"
|
|
334
|
+
>
|
|
335
|
+
<div class="flex flex-col gap-2 h-full">
|
|
336
|
+
{#if dynSelectFunctions.length > 0}
|
|
337
|
+
<div class="bg-blue-50 dark:bg-blue-900/20 p-3 rounded-md">
|
|
338
|
+
<div class="text-sm font-medium text-blue-800 dark:text-blue-200 mb-2">
|
|
339
|
+
Expected Functions for Dynamic Select Fields:
|
|
340
|
+
</div>
|
|
341
|
+
<ul class="text-xs text-blue-700 dark:text-blue-300 space-y-1">
|
|
342
|
+
{#each dynSelectFunctions as functionName}
|
|
343
|
+
<li class="font-mono bg-blue-100 dark:bg-blue-800/30 px-2 py-1 rounded">
|
|
344
|
+
{functionName}()
|
|
345
|
+
</li>
|
|
346
|
+
{/each}
|
|
347
|
+
</ul>
|
|
348
|
+
</div>
|
|
349
|
+
{/if}
|
|
350
|
+
<ToggleButtonGroup
|
|
351
|
+
bind:selected={dynSelectLang}
|
|
352
|
+
on:selected={({ detail }) => {
|
|
353
|
+
dynSelectCode = initDynSelectFn(detail)
|
|
354
|
+
}}
|
|
355
|
+
>
|
|
356
|
+
{#snippet children({ item })}
|
|
357
|
+
<ToggleButton value="bun" label="Typescript (Bun)" {item} />
|
|
358
|
+
<ToggleButton value="python3" label="Python" {item} />
|
|
359
|
+
{/snippet}
|
|
360
|
+
</ToggleButtonGroup>
|
|
361
|
+
{#key dynSelectLang}
|
|
362
|
+
<div class="border w-full h-full">
|
|
363
|
+
<Editor
|
|
364
|
+
bind:this={dynamicSelectEditor}
|
|
365
|
+
class="flex flex-1 grow h-80 w-full"
|
|
366
|
+
scriptLang={dynSelectLang}
|
|
367
|
+
useWebsockets={false}
|
|
368
|
+
automaticLayout
|
|
369
|
+
bind:code={dynSelectCode}
|
|
370
|
+
/>
|
|
371
|
+
</div>
|
|
372
|
+
{/key}
|
|
373
|
+
</div>
|
|
374
|
+
</Section>
|
|
375
|
+
{/if}
|
|
376
|
+
</div>
|
|
266
377
|
</div>
|
|
267
378
|
</div>
|
|
268
379
|
</Pane>
|
|
@@ -424,6 +535,7 @@ $effect(() => {
|
|
|
424
535
|
(v) => {
|
|
425
536
|
const isS3 = v == 'S3'
|
|
426
537
|
const isOneOf = v == 'oneOf'
|
|
538
|
+
const isDynSelect = v == 'dynselect'
|
|
427
539
|
|
|
428
540
|
const emptyProperty = {
|
|
429
541
|
contentEncoding: undefined,
|
|
@@ -449,6 +561,15 @@ $effect(() => {
|
|
|
449
561
|
type: 'object',
|
|
450
562
|
format: 'resource-s3_object'
|
|
451
563
|
}
|
|
564
|
+
} else if (isDynSelect) {
|
|
565
|
+
const functionName = argName.replace(/\s+/g, '_')
|
|
566
|
+
schema.properties[argName] = {
|
|
567
|
+
...emptyProperty,
|
|
568
|
+
type: 'object',
|
|
569
|
+
format: 'dynselect-' + functionName
|
|
570
|
+
}
|
|
571
|
+
updateDynSelectCode(argName, dynSelectLang)
|
|
572
|
+
dynamicSelectEditor?.setCode(dynSelectCode || '')
|
|
452
573
|
} else if (isOneOf) {
|
|
453
574
|
schema.properties[argName] = {
|
|
454
575
|
...emptyProperty,
|
|
@@ -465,7 +586,8 @@ $effect(() => {
|
|
|
465
586
|
property_1: {
|
|
466
587
|
type: 'string'
|
|
467
588
|
}
|
|
468
|
-
}
|
|
589
|
+
},
|
|
590
|
+
order: ['property_1']
|
|
469
591
|
},
|
|
470
592
|
{
|
|
471
593
|
title: 'Option 2',
|
|
@@ -478,7 +600,8 @@ $effect(() => {
|
|
|
478
600
|
property_2: {
|
|
479
601
|
type: 'string'
|
|
480
602
|
}
|
|
481
|
-
}
|
|
603
|
+
},
|
|
604
|
+
order: ['property_2']
|
|
482
605
|
}
|
|
483
606
|
]
|
|
484
607
|
}
|
|
@@ -498,7 +621,7 @@ $effect(() => {
|
|
|
498
621
|
}}
|
|
499
622
|
>
|
|
500
623
|
{#snippet children({ item })}
|
|
501
|
-
{#each
|
|
624
|
+
{#each typeOptions as x}
|
|
502
625
|
<ToggleButton value={x[1]} label={x[0]} {item} />
|
|
503
626
|
{/each}
|
|
504
627
|
{/snippet}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Schema } from '../common';
|
|
2
|
+
import { type ScriptLang } from '../gen';
|
|
2
3
|
import type { SchemaDiff } from './schema/schemaUtils.svelte';
|
|
3
4
|
import type { EditableSchemaFormUi } from './custom_ui';
|
|
4
5
|
interface Props {
|
|
@@ -27,6 +28,9 @@ interface Props {
|
|
|
27
28
|
customUi?: EditableSchemaFormUi | undefined;
|
|
28
29
|
pannelExtraButtonWidth?: number;
|
|
29
30
|
class?: string;
|
|
31
|
+
dynSelectCode?: string | undefined;
|
|
32
|
+
dynSelectLang?: ScriptLang | undefined;
|
|
33
|
+
showDynSelectOpt?: boolean;
|
|
30
34
|
openEditTab?: import('svelte').Snippet;
|
|
31
35
|
addProperty?: import('svelte').Snippet;
|
|
32
36
|
runButton?: import('svelte').Snippet;
|
|
@@ -59,6 +63,6 @@ declare const EditableSchemaForm: $$__sveltets_2_IsomorphicComponent<Props, {
|
|
|
59
63
|
openField: (key: string) => void;
|
|
60
64
|
deleteField: (key: string) => void;
|
|
61
65
|
updateJson: () => void;
|
|
62
|
-
}, "args" | "schema" | "isValid" | "editPanelSize">;
|
|
66
|
+
}, "args" | "schema" | "isValid" | "editPanelSize" | "dynSelectCode" | "dynSelectLang">;
|
|
63
67
|
type EditableSchemaForm = InstanceType<typeof EditableSchemaForm>;
|
|
64
68
|
export default EditableSchemaForm;
|
|
@@ -83,7 +83,7 @@ import { MonacoLanguageClient } from 'monaco-languageclient';
|
|
|
83
83
|
import { toSocket, WebSocketMessageReader, WebSocketMessageWriter } from 'vscode-ws-jsonrpc';
|
|
84
84
|
import { CloseAction, ErrorAction, RequestType } from 'vscode-languageclient';
|
|
85
85
|
import { MonacoBinding } from 'y-monaco';
|
|
86
|
-
import { dbSchemas, copilotInfo, codeCompletionSessionEnabled, lspTokenStore, formatOnSave, vimMode } from '../stores';
|
|
86
|
+
import { dbSchemas, copilotInfo, codeCompletionSessionEnabled, lspTokenStore, formatOnSave, vimMode, relativeLineNumbers } from '../stores';
|
|
87
87
|
import { editorConfig, updateOptions } from '../editorUtils';
|
|
88
88
|
import { createHash as randomHash } from '../editorLangUtils';
|
|
89
89
|
import { workspaceStore } from '../stores';
|
|
@@ -107,9 +107,10 @@ import AIChatInlineWidget from './copilot/chat/AIChatInlineWidget.svelte';
|
|
|
107
107
|
import { writable } from 'svelte/store';
|
|
108
108
|
import { formatResourceTypes } from './copilot/chat/script/core';
|
|
109
109
|
import FakeMonacoPlaceHolder from './FakeMonacoPlaceHolder.svelte';
|
|
110
|
-
import { editorPositionMap } from '../utils';
|
|
110
|
+
import { editorPositionMap, readFieldsRecursively } from '../utils';
|
|
111
111
|
import { extToLang, langToExt } from '../editorLangUtils';
|
|
112
112
|
import { aiChatManager } from './copilot/chat/AIChatManager.svelte';
|
|
113
|
+
import { getDbSchemas } from './apps/components/display/dbtable/utils';
|
|
113
114
|
// import EditorTheme from './EditorTheme.svelte'
|
|
114
115
|
let divEl = $state(null);
|
|
115
116
|
let editor = $state(null);
|
|
@@ -138,7 +139,7 @@ const dispatch = createEventDispatcher();
|
|
|
138
139
|
let graphqlService = undefined;
|
|
139
140
|
let dbSchema = $state(undefined);
|
|
140
141
|
let destroyed = false;
|
|
141
|
-
const uri = computeUri(filePath, scriptLang);
|
|
142
|
+
const uri = computeUri(untrack(() => filePath), scriptLang);
|
|
142
143
|
console.log('uri', uri);
|
|
143
144
|
function computeUri(filePath, scriptLang) {
|
|
144
145
|
let file;
|
|
@@ -405,10 +406,17 @@ function addSqlTypeCompletions() {
|
|
|
405
406
|
});
|
|
406
407
|
}
|
|
407
408
|
let sqlSchemaCompletor = undefined;
|
|
408
|
-
function updateSchema() {
|
|
409
|
+
async function updateSchema() {
|
|
409
410
|
const newSchemaRes = lang === 'graphql' ? args?.api : args?.database;
|
|
410
411
|
if (typeof newSchemaRes === 'string') {
|
|
411
|
-
|
|
412
|
+
const resourcePath = newSchemaRes.replace('$res:', '');
|
|
413
|
+
dbSchema = $dbSchemas[resourcePath];
|
|
414
|
+
if (lang === 'graphql' && dbSchema === undefined) {
|
|
415
|
+
await getDbSchemas(lang, resourcePath, $workspaceStore, $dbSchemas, (e) => {
|
|
416
|
+
console.error('error getting graphql db schema', e);
|
|
417
|
+
});
|
|
418
|
+
dbSchema = $dbSchemas[resourcePath];
|
|
419
|
+
}
|
|
412
420
|
}
|
|
413
421
|
else {
|
|
414
422
|
dbSchema = undefined;
|
|
@@ -425,8 +433,10 @@ function addDBSchemaCompletions() {
|
|
|
425
433
|
if (!schemaLang || !schema) {
|
|
426
434
|
return;
|
|
427
435
|
}
|
|
436
|
+
console.log('adding db schema completions', schemaLang);
|
|
428
437
|
if (schemaLang === 'graphql') {
|
|
429
438
|
graphqlService ||= initializeMode();
|
|
439
|
+
console.log('setting schema config', schema);
|
|
430
440
|
graphqlService?.setSchemaConfig([
|
|
431
441
|
{
|
|
432
442
|
uri: 'my-schema.graphql',
|
|
@@ -519,8 +529,8 @@ let aiChatEditorHandler = $state(undefined);
|
|
|
519
529
|
let showInlineAIChat = $state(false);
|
|
520
530
|
let inlineAIChatSelection = $state(null);
|
|
521
531
|
let selectedCode = $state('');
|
|
522
|
-
export function reviewAndApplyCode(code) {
|
|
523
|
-
aiChatEditorHandler?.reviewAndApply(code);
|
|
532
|
+
export function reviewAndApplyCode(code, applyAll = false) {
|
|
533
|
+
aiChatEditorHandler?.reviewAndApply(code, applyAll);
|
|
524
534
|
}
|
|
525
535
|
function addChatHandler(editor) {
|
|
526
536
|
try {
|
|
@@ -990,7 +1000,7 @@ async function loadMonaco() {
|
|
|
990
1000
|
onFileChanges();
|
|
991
1001
|
try {
|
|
992
1002
|
editor = meditor.create(divEl, {
|
|
993
|
-
...editorConfig(code ?? '', lang, automaticLayout, fixedOverflowWidgets),
|
|
1003
|
+
...editorConfig(code ?? '', lang, automaticLayout, fixedOverflowWidgets, $relativeLineNumbers),
|
|
994
1004
|
model,
|
|
995
1005
|
fontSize: !small ? 14 : 12,
|
|
996
1006
|
lineNumbersMinChars,
|
|
@@ -1313,9 +1323,12 @@ $effect(() => {
|
|
|
1313
1323
|
: sqlTypeCompletor?.dispose();
|
|
1314
1324
|
});
|
|
1315
1325
|
$effect(() => {
|
|
1316
|
-
|
|
1326
|
+
console.log('updating schema', lang, $dbSchemas);
|
|
1327
|
+
readFieldsRecursively(args);
|
|
1328
|
+
lang && $dbSchemas && untrack(() => updateSchema());
|
|
1317
1329
|
});
|
|
1318
1330
|
$effect(() => {
|
|
1331
|
+
console.log('updating db schema completions', dbSchema, lang);
|
|
1319
1332
|
initialized &&
|
|
1320
1333
|
dbSchema &&
|
|
1321
1334
|
['sql', 'graphql'].includes(lang) &&
|
|
@@ -1361,6 +1374,11 @@ $effect(() => {
|
|
|
1361
1374
|
$effect(() => {
|
|
1362
1375
|
files && model && untrack(() => onFileChanges());
|
|
1363
1376
|
});
|
|
1377
|
+
$effect(() => {
|
|
1378
|
+
editor?.updateOptions({
|
|
1379
|
+
lineNumbers: $relativeLineNumbers ? 'relative' : 'on'
|
|
1380
|
+
});
|
|
1381
|
+
});
|
|
1364
1382
|
</script>
|
|
1365
1383
|
|
|
1366
1384
|
<svelte:window onkeydown={onKeyDown} />
|
|
@@ -71,7 +71,7 @@ declare const Editor: $$__sveltets_2_IsomorphicComponent<Props, {
|
|
|
71
71
|
append: (code: string) => void;
|
|
72
72
|
format: () => Promise<void>;
|
|
73
73
|
getScriptLang: () => string | undefined;
|
|
74
|
-
reviewAndApplyCode: (code: string) => void;
|
|
74
|
+
reviewAndApplyCode: (code: string, applyAll?: boolean) => void;
|
|
75
75
|
reloadWebsocket: () => Promise<void>;
|
|
76
76
|
fetchPackageDeps: (deps: DepsToGet) => Promise<void>;
|
|
77
77
|
addAction: (id: string, label: string, callback: (editor: meditor.IStandaloneCodeEditor) => void, keybindings?: number[]) => void;
|