windmill-components 1.542.5 → 1.555.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/aiStore.d.ts +13 -0
- package/package/aiStore.js +70 -0
- package/package/common.d.ts +6 -2
- package/package/components/AIAgentLogViewer.svelte +1 -1
- package/package/components/AIProviderPicker.svelte +25 -8
- package/package/components/ArgEnum.svelte +17 -7
- package/package/components/ArgEnum.svelte.d.ts +1 -0
- package/package/components/ArgInput.svelte +257 -188
- package/package/components/ArgInput.svelte.d.ts +4 -1
- package/package/components/ArrayTypeNarrowing.svelte +38 -32
- package/package/components/AutoscalingEvents.svelte +21 -5
- package/package/components/AutoscalingEvents.svelte.d.ts +4 -18
- package/package/components/ChannelSelector.svelte +92 -18
- package/package/components/ChannelSelector.svelte.d.ts +2 -0
- package/package/components/ConnectionSection.svelte +12 -1
- package/package/components/DateTimeInput.svelte +8 -6
- package/package/components/DeployButton.svelte +1 -1
- package/package/components/Dev.svelte +24 -9
- package/package/components/Dev.svelte.d.ts +23 -1
- package/package/components/DisplayResult.svelte +36 -23
- package/package/components/DropdownV2.svelte +8 -2
- package/package/components/DropdownV2.svelte.d.ts +1 -0
- package/package/components/DynamicInput.svelte +10 -10
- package/package/components/EditableSchemaForm.svelte +28 -13
- package/package/components/Editor.svelte +2 -1
- package/package/components/EditorSettings.svelte +5 -5
- package/package/components/EditorSettings.svelte.d.ts +4 -18
- package/package/components/ErrorOrRecoveryHandler.svelte +14 -20
- package/package/components/FakeMonacoPlaceHolder.svelte +4 -2
- package/package/components/FakeMonacoPlaceHolder.svelte.d.ts +1 -0
- package/package/components/FieldHeader.svelte +5 -7
- package/package/components/FirstStepInputs.svelte +1 -1
- package/package/components/FlowHistoryJobPicker.svelte +3 -0
- package/package/components/FlowHistoryJobPicker.svelte.d.ts +1 -0
- package/package/components/FlowJobResult.svelte +5 -5
- package/package/components/FlowLogRow.svelte +2 -2
- package/package/components/FlowLogViewer.svelte +228 -57
- package/package/components/FlowLogViewer.svelte.d.ts +16 -5
- package/package/components/FlowLogViewerWrapper.svelte +56 -3
- package/package/components/FlowLogViewerWrapper.svelte.d.ts +4 -3
- package/package/components/FlowLoopIterationPreview.svelte +4 -4
- package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
- package/package/components/FlowMetadata.svelte +3 -4
- package/package/components/FlowMetadata.svelte.d.ts +4 -18
- package/package/components/FlowPlugConnect.svelte +8 -2
- package/package/components/FlowPlugConnect.svelte.d.ts +1 -0
- package/package/components/FlowPreviewContent.svelte +121 -94
- package/package/components/FlowPreviewContent.svelte.d.ts +3 -3
- package/package/components/FlowStatusViewer.svelte +63 -59
- package/package/components/FlowStatusViewer.svelte.d.ts +2 -2
- package/package/components/FlowStatusViewerInner.svelte +186 -94
- package/package/components/FlowStatusViewerInner.svelte.d.ts +10 -3
- package/package/components/FlowTimeline.svelte +110 -131
- package/package/components/FlowTimeline.svelte.d.ts +13 -4
- package/package/components/FlowTimelineBar.svelte +227 -0
- package/package/components/FlowTimelineBar.svelte.d.ts +24 -0
- package/package/components/FolderEditor.svelte +6 -7
- package/package/components/GroupEditor.svelte +148 -141
- package/package/components/GroupEditor.svelte.d.ts +5 -4
- package/package/components/InputTransformForm.svelte +193 -71
- package/package/components/InputTransformForm.svelte.d.ts +3 -0
- package/package/components/InputTransformSchemaForm.svelte +10 -5
- package/package/components/InputTransformSchemaForm.svelte.d.ts +2 -0
- package/package/components/InstanceSetting.svelte +34 -51
- package/package/components/InstanceSettings.svelte +12 -21
- package/package/components/JobArgs.svelte +15 -16
- package/package/components/JobArgs.svelte.d.ts +4 -18
- package/package/components/JobLoader.svelte +23 -42
- package/package/components/JobLoader.svelte.d.ts +2 -0
- package/package/components/JobStatus.svelte +1 -1
- package/package/components/JobStatus.svelte.d.ts +4 -18
- package/package/components/JsonEditor.svelte +18 -9
- package/package/components/JsonEditor.svelte.d.ts +1 -1
- package/package/components/JsonInputs.svelte +1 -1
- package/package/components/ModulePreviewForm.svelte +23 -19
- package/package/components/ModulePreviewResultViewer.svelte +1 -7
- package/package/components/NextcloudSetting.svelte +6 -1
- package/package/components/NumberTypeNarrowing.svelte +32 -16
- package/package/components/ObjectStoreConfigSettings.svelte +27 -19
- package/package/components/Password.svelte +7 -11
- package/package/components/Password.svelte.d.ts +5 -20
- package/package/components/PasswordArgInput.svelte +35 -15
- package/package/components/PasswordArgInput.svelte.d.ts +4 -18
- package/package/components/Path.svelte +2 -8
- package/package/components/Path.svelte.d.ts +1 -1
- package/package/components/QueuePosition.svelte +6 -2
- package/package/components/ResourceEditor.svelte +3 -10
- package/package/components/ResourcePicker.svelte +85 -72
- package/package/components/ResourcePicker.svelte.d.ts +2 -0
- package/package/components/RunChart.svelte +1 -1
- package/package/components/RunForm.svelte +16 -21
- package/package/components/S3ArrayHelperButton.svelte +18 -0
- package/package/components/S3ArrayHelperButton.svelte.d.ts +9 -0
- package/package/components/S3FilePicker.svelte +1 -1
- package/package/components/SchemaForm.svelte +18 -10
- package/package/components/SchemaForm.svelte.d.ts +7 -1
- package/package/components/SchemaFormWithArgPicker.svelte +1 -1
- package/package/components/ScriptBuilder.svelte +2 -2
- package/package/components/ScriptEditor.svelte +9 -9
- package/package/components/ScriptEditor.svelte.d.ts +1 -1
- package/package/components/ShareModal.svelte +4 -4
- package/package/components/SimpleEditor.svelte +6 -2
- package/package/components/SimpleEditor.svelte.d.ts +3 -0
- package/package/components/StringTypeNarrowing.svelte +44 -25
- package/package/components/StringTypeNarrowing.svelte.d.ts +1 -1
- package/package/components/SuperadminSettingsInner.svelte +3 -3
- package/package/components/TeamSelector.svelte +83 -37
- package/package/components/TeamSelector.svelte.d.ts +0 -1
- package/package/components/TemplateEditor.svelte +18 -9
- package/package/components/Toast.svelte +2 -7
- package/package/components/Toast.svelte.d.ts +4 -18
- package/package/components/Toggle.svelte +17 -7
- package/package/components/ToggleHubWorkspaceQuick.svelte +3 -3
- package/package/components/WorkerGroup.svelte +2 -14
- package/package/components/apps/components/buttons/AppButton.svelte +66 -38
- package/package/components/apps/components/display/dbtable/InsertRow.svelte +32 -2
- package/package/components/apps/components/display/dbtable/queries/insert.js +2 -1
- package/package/components/apps/components/display/dbtable/utils.d.ts +8 -8
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +13 -4
- package/package/components/apps/components/display/table/SyncColumnDefs.svelte +2 -2
- package/package/components/apps/components/display/table/utils.js +14 -4
- package/package/components/apps/components/helpers/RefreshButton.svelte +5 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte +3 -5
- package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -0
- package/package/components/apps/components/inputs/currency/CurrencyInput.svelte +2 -1
- package/package/components/apps/components/layout/AppTabs.svelte +116 -71
- package/package/components/apps/components/layout/AppTabs.svelte.d.ts +1 -0
- package/package/components/apps/editor/AppEditorHeader.svelte +33 -271
- package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +233 -0
- package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +18 -0
- package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +47 -0
- package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +8 -0
- package/package/components/apps/editor/GridEditor.svelte +7 -2
- package/package/components/apps/editor/appDeploy.svelte.d.ts +1 -0
- package/package/components/apps/editor/appDeploy.svelte.js +6 -0
- package/package/components/apps/editor/appUtils.d.ts +1 -0
- package/package/components/apps/editor/appUtils.js +30 -1
- package/package/components/apps/editor/component/ComponentInner.svelte +1 -0
- package/package/components/apps/editor/component/ComponentNavigation.svelte +3 -1
- package/package/components/apps/editor/component/components.d.ts +19 -4
- package/package/components/apps/editor/component/components.js +23 -3
- package/package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +6 -4
- 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/ComponentPanel.svelte +2 -0
- package/package/components/apps/editor/settingsPanel/GridTab.svelte +19 -1
- package/package/components/apps/editor/settingsPanel/GridTab.svelte.d.ts +3 -1
- package/package/components/apps/editor/settingsPanel/GridTabHidden.svelte +52 -0
- package/package/components/apps/editor/settingsPanel/GridTabHidden.svelte.d.ts +9 -0
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +58 -8
- package/package/components/auditLogs/AuditLogsFilters.svelte +7 -1
- package/package/components/auditLogs/AuditLogsTable.svelte +17 -7
- package/package/components/auditLogs/AuditLogsTable.svelte.d.ts +1 -0
- package/package/components/common/CloseButton.svelte +2 -2
- package/package/components/common/CloseButton.svelte.d.ts +1 -0
- package/package/components/common/ResizeTransitionWrapper.svelte +39 -0
- package/package/components/common/ResizeTransitionWrapper.svelte.d.ts +12 -0
- package/package/components/common/badge/CountBadge.svelte +29 -0
- package/package/components/common/badge/CountBadge.svelte.d.ts +8 -0
- package/package/components/common/button/Button.svelte +1 -0
- package/package/components/common/button/ConnectionButton.svelte +6 -1
- package/package/components/common/button/ConnectionButton.svelte.d.ts +2 -0
- package/package/components/common/button/RefreshButton.svelte +8 -4
- package/package/components/common/button/RefreshButton.svelte.d.ts +3 -0
- package/package/components/common/calendarPicker/CalendarPicker.svelte +1 -1
- package/package/components/common/fileInput/FileInput.svelte +7 -6
- package/package/components/common/fileUpload/S3ArgInput.svelte +11 -9
- package/package/components/common/fileUpload/S3ArgInput.svelte.d.ts +1 -0
- package/package/components/common/layout/List.svelte +3 -7
- package/package/components/common/layout/List.svelte.d.ts +7 -29
- package/package/components/common/popup/PopupV2.svelte +14 -25
- package/package/components/common/popup/PopupV2.svelte.d.ts +4 -2
- package/package/components/common/table/ScriptRow.svelte +22 -2
- package/package/components/common/toggleButton-v2/ToggleButton.svelte +17 -26
- package/package/components/common/toggleButton-v2/ToggleButton.svelte.d.ts +16 -30
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +1 -1
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +3 -3
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +1 -0
- package/package/components/copilot/CodeCompletionStatus.svelte +2 -1
- package/package/components/copilot/CronGen.svelte +1 -1
- package/package/components/copilot/FlowCopilotInputsModal.svelte +26 -23
- package/package/components/copilot/FlowInlineScriptAIButton.svelte +2 -2
- package/package/components/copilot/IteratorGen.svelte +30 -25
- package/package/components/copilot/IteratorGen.svelte.d.ts +8 -7
- package/package/components/copilot/MetadataGen.svelte +4 -3
- package/package/components/copilot/PredicateGen.svelte +15 -12
- package/package/components/copilot/PredicateGen.svelte.d.ts +5 -4
- package/package/components/copilot/RegexGen.svelte +1 -1
- package/package/components/copilot/ScriptFix.svelte +1 -1
- package/package/components/copilot/ScriptGen.svelte +2 -1
- package/package/components/copilot/StepGenQuick.svelte +15 -16
- package/package/components/copilot/StepGenQuick.svelte.d.ts +14 -13
- package/package/components/copilot/StepInputGen.svelte +50 -36
- package/package/components/copilot/StepInputGen.svelte.d.ts +13 -10
- package/package/components/copilot/StepInputsGen.svelte +18 -19
- package/package/components/copilot/StepInputsGen.svelte.d.ts +4 -18
- package/package/components/copilot/autocomplete/Autocompletor.js +1 -1
- package/package/components/copilot/autocomplete/request.js +1 -1
- package/package/components/copilot/chat/AIChat.svelte +2 -1
- package/package/components/copilot/chat/AIChatManager.svelte.js +5 -3
- package/package/components/copilot/chat/AiChatLayout.svelte +2 -1
- package/package/components/copilot/chat/ProviderModelSelector.svelte +11 -10
- package/package/components/copilot/chat/ProviderModelSelector.svelte.d.ts +2 -17
- package/package/components/copilot/chat/flow/FlowAIButton.svelte +1 -1
- package/package/components/copilot/chat/flow/FlowAIChat.svelte +4 -2
- package/package/components/copilot/chat/script/core.d.ts +4 -4
- package/package/components/copilot/chat/script/core.js +95 -35
- package/package/components/copilot/chat/shared.js +2 -1
- package/package/components/copilot/lib.d.ts +1 -0
- package/package/components/copilot/lib.js +7 -3
- package/package/components/custom_ui.d.ts +1 -0
- package/package/components/details/DetailPageLayout.svelte +3 -2
- package/package/components/details/DetailPageLayout.svelte.d.ts +1 -0
- package/package/components/flows/CreateActionsFlow.svelte +1 -1
- package/package/components/flows/FlowChatInterface.svelte +404 -0
- package/package/components/flows/FlowChatInterface.svelte.d.ts +19 -0
- package/package/components/flows/FlowChatMessage.svelte +41 -0
- package/package/components/flows/FlowChatMessage.svelte.d.ts +9 -0
- package/package/components/flows/FlowConversationsSidebar.svelte +213 -0
- package/package/components/flows/FlowConversationsSidebar.svelte.d.ts +15 -0
- package/package/components/flows/FlowEditor.svelte.d.ts +1 -1
- package/package/components/flows/FlowModuleIcon.svelte +10 -10
- package/package/components/flows/FlowProgressBar.svelte +16 -16
- package/package/components/flows/FlowProgressBar.svelte.d.ts +7 -22
- package/package/components/flows/common/FlowCard.svelte +10 -2
- package/package/components/flows/common/FlowCard.svelte.d.ts +1 -0
- package/package/components/flows/common/FlowCardHeader.svelte +2 -1
- package/package/components/flows/common/FlowCardHeader.svelte.d.ts +1 -0
- package/package/components/flows/content/DynamicInputHelpBox.svelte +4 -4
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -1
- package/package/components/flows/content/FlowInput.svelte +381 -259
- package/package/components/flows/content/FlowInput.svelte.d.ts +1 -1
- package/package/components/flows/content/FlowInputsQuick.svelte +56 -34
- package/package/components/flows/content/FlowInputsQuick.svelte.d.ts +3 -2
- package/package/components/flows/content/FlowModuleComponent.svelte +29 -11
- package/package/components/flows/flowInfers.d.ts +60 -0
- package/package/components/flows/flowInfers.js +72 -40
- package/package/components/flows/{flowStore.d.ts → flowStore.svelte.d.ts} +5 -1
- package/package/components/flows/header/FlowPreviewButtons.svelte +1 -1
- package/package/components/flows/map/FlowErrorHandlerItem.svelte +4 -2
- package/package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowJobsMenu.svelte +3 -3
- package/package/components/flows/map/FlowJobsMenu.svelte.d.ts +1 -1
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +1 -1
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +5 -2
- package/package/components/flows/map/FlowStickyNode.svelte +2 -2
- package/package/components/flows/map/FlowStickyNode.svelte.d.ts +1 -0
- package/package/components/flows/map/InsertModuleButton.svelte +8 -15
- package/package/components/flows/map/InsertModuleButton.svelte.d.ts +4 -4
- package/package/components/flows/map/InsertModuleInner.svelte +19 -20
- package/package/components/flows/map/InsertModuleInner.svelte.d.ts +2 -2
- package/package/components/flows/map/MapItem.svelte +1 -1
- package/package/components/flows/map/VirtualItem.svelte +1 -2
- package/package/components/flows/pickers/PickHubScriptQuick.svelte +43 -52
- package/package/components/flows/pickers/PickHubScriptQuick.svelte.d.ts +2 -1
- package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte +41 -26
- package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte.d.ts +1 -0
- package/package/components/flows/propPicker/OutputPicker.svelte +2 -0
- package/package/components/flows/propPicker/PropPickerWrapper.svelte +1 -15
- package/package/components/git_sync/DetectionFlow.svelte +33 -44
- package/package/components/git_sync/DetectionFlow.svelte.d.ts +1 -0
- package/package/components/git_sync/GitSyncContext.svelte.d.ts +22 -0
- package/package/components/git_sync/GitSyncContext.svelte.js +145 -5
- package/package/components/git_sync/GitSyncModeDisplay.svelte +14 -0
- package/package/components/git_sync/GitSyncModeDisplay.svelte.d.ts +9 -0
- package/package/components/git_sync/GitSyncRepositoryCard.svelte +365 -253
- package/package/components/git_sync/GitSyncRepositoryCard.svelte.d.ts +10 -1
- package/package/components/git_sync/GitSyncSection.svelte +134 -14
- package/package/components/git_sync/PullWorkspaceModal.svelte +24 -32
- package/package/components/git_sync/PushWorkspaceModal.svelte +24 -32
- package/package/components/graph/FlowGraphV2.svelte +2 -1
- package/package/components/graph/FlowGraphV2.svelte.d.ts +1 -0
- package/package/components/graph/graphBuilder.svelte.d.ts +2 -0
- package/package/components/graph/graphBuilder.svelte.js +1 -0
- package/package/components/graph/model.d.ts +5 -5
- package/package/components/graph/renderers/edges/BaseEdge.svelte +1 -0
- package/package/components/graph/renderers/edges/EmptyEdge.svelte +3 -10
- package/package/components/graph/renderers/edges/EmptyEdge.svelte.d.ts +4 -18
- package/package/components/graph/renderers/nodes/AIToolNode.svelte +2 -2
- package/package/components/graph/renderers/nodes/InputNode.svelte +13 -2
- package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +5 -10
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte +2 -27
- package/package/components/home/ItemsList.svelte +1 -1
- package/package/components/instanceSettings.js +17 -0
- package/package/components/jobs/JobProgressBar.svelte +27 -21
- package/package/components/jobs/JobProgressBar.svelte.d.ts +9 -24
- package/package/components/meltComponents/MenuSingleItem.svelte +3 -8
- package/package/components/meltComponents/MenuSingleItem.svelte.d.ts +0 -3
- package/package/components/meltComponents/Popover.svelte +3 -2
- package/package/components/meltComponents/Popover.svelte.d.ts +1 -0
- package/package/components/meltComponents/Tooltip.svelte +1 -1
- package/package/components/progressBar/ProgressBar.svelte +39 -53
- package/package/components/progressBar/ProgressBar.svelte.d.ts +11 -26
- package/package/components/raw_apps/FileEditorIcon.svelte +1 -1
- package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +4 -18
- package/package/components/raw_apps/RawAppBackgroundRunner.svelte +2 -8
- package/package/components/raw_apps/RawAppBackgroundRunner.svelte.d.ts +4 -18
- package/package/components/raw_apps/RawAppEditor.svelte +6 -7
- package/package/components/raw_apps/RawAppEditorHeader.svelte +48 -301
- package/package/components/raw_apps/RawAppEditorHeader.svelte.d.ts +18 -19
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +10 -16
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +13 -13
- package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +8 -11
- package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +1 -2
- package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +0 -1
- package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +7 -13
- package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +8 -8
- package/package/components/raw_apps/RawAppPreview.svelte +3 -7
- package/package/components/raw_apps/RawAppPreview.svelte.d.ts +5 -19
- package/package/components/raw_apps/utils.d.ts +1 -1
- package/package/components/raw_apps/utils.js +3 -3
- package/package/components/runs/JobsLoader.svelte +1 -1
- package/package/components/runs/NoWorkerWithTagWarning.svelte +3 -3
- package/package/components/runs/NoWorkerWithTagWarning.svelte.d.ts +1 -1
- package/package/components/runs/RunOption.svelte +2 -2
- package/package/components/runs/RunsFilter.svelte +15 -12
- package/package/components/runs/RunsFilter.svelte.d.ts +1 -1
- package/package/components/schema/AddPropertyV2.svelte +7 -4
- package/package/components/schema/EditableSchemaDrawer.svelte +19 -18
- package/package/components/schema/FlowPropertyEditor.svelte +9 -2
- package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
- package/package/components/schema/PropertyEditor.svelte +22 -26
- package/package/components/schema/PropertyEditor.svelte.d.ts +1 -1
- package/package/components/schema/SchemaFormDND.svelte +3 -2
- package/package/components/schema/SchemaFormDND.svelte.d.ts +1 -0
- package/package/components/select/DraggableTags.svelte +2 -2
- package/package/components/select/MultiSelect.svelte +15 -9
- package/package/components/select/MultiSelect.svelte.d.ts +1 -0
- package/package/components/select/Select.svelte +12 -5
- package/package/components/select/Select.svelte.d.ts +11 -0
- package/package/components/select/SelectDropdown.svelte +98 -46
- package/package/components/select/SelectDropdown.svelte.d.ts +10 -0
- package/package/components/select/utils.svelte.js +2 -0
- package/package/components/settings/CreateToken.svelte +76 -49
- package/package/components/settings/WorkspaceUserSettings.svelte +111 -17
- package/package/components/sidebar/CriticalAlertTable.svelte +2 -1
- package/package/components/sidebar/Linkify.svelte +14 -0
- package/package/components/sidebar/Linkify.svelte.d.ts +5 -0
- package/package/components/sidebar/MenuLink.svelte +2 -1
- package/package/components/sidebar/MenuLink.svelte.d.ts +1 -0
- package/package/components/sidebar/SidebarContent.svelte +27 -27
- package/package/components/sidebar/WorkspaceMenu.svelte +8 -3
- package/package/components/table/Cell.svelte +7 -14
- package/package/components/table/Cell.svelte.d.ts +13 -35
- package/package/components/table/tableUtils.js +1 -1
- package/package/components/text_input/TextInput.svelte +30 -0
- package/package/components/text_input/TextInput.svelte.d.ts +17 -0
- package/package/components/triggers/AddTriggersButton.svelte +1 -0
- package/package/components/triggers/TriggersEditor.svelte +11 -1
- 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 +28 -5
- package/package/components/triggers/gcp/utils.js +1 -0
- package/package/components/triggers/schedules/ScheduleEditorInner.svelte +1 -0
- package/package/components/triggers/triggers.svelte.d.ts +1 -1
- package/package/components/triggers/triggers.svelte.js +8 -4
- package/package/components/triggers/webhook/WebhooksConfigSection.svelte +143 -63
- package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +22 -0
- package/package/components/triggers/websocket/utils.js +1 -0
- package/package/components/tutorials/FlowBuilderTutorialErrorHandler.svelte +2 -2
- package/package/components/tutorials/FlowBuilderTutorialForLoop.svelte +3 -0
- package/package/components/tutorials/FlowBuilderTutorialSimpleFlow.svelte +49 -17
- package/package/components/tutorials/Tutorial.svelte +9 -0
- package/package/components/tutorials/Tutorial.svelte.d.ts +1 -0
- package/package/components/tutorials/app/AppTutorial.svelte +41 -57
- package/package/components/tutorials/app/BackgroundRunnablesTutorial.svelte +3 -5
- package/package/components/tutorials/app/ConnectionTutorial.svelte +2 -2
- package/package/components/tutorials/utils.js +2 -154
- package/package/components/vscode.js +16 -8
- package/package/components/workspaceSettings/AISettings.svelte +12 -5
- package/package/components/workspaceSettings/AISettings.svelte.d.ts +2 -1
- package/package/components/workspaceSettings/CreateWorkspace.svelte +2 -2
- package/package/components/workspaceSettings/DucklakeSettings.svelte +64 -7
- package/package/components/workspaceSettings/ModelTokenLimits.svelte +165 -0
- package/package/components/workspaceSettings/ModelTokenLimits.svelte.d.ts +8 -0
- package/package/components/workspaceSettings/StorageSettings.svelte +147 -77
- package/package/editorUtils.d.ts +1 -1
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +223 -17
- package/package/gen/schemas.gen.js +226 -17
- package/package/gen/services.gen.d.ts +221 -27
- package/package/gen/services.gen.js +440 -48
- package/package/gen/types.gen.d.ts +1067 -218
- package/package/hubPaths.json +2 -1
- package/package/script_helpers.js +5 -5
- package/package/services/JobManager.js +14 -9
- package/package/stores.d.ts +4 -12
- package/package/stores.js +5 -65
- package/package/timelineCompute.svelte.d.ts +21 -0
- package/package/timelineCompute.svelte.js +113 -0
- package/package/toast.js +2 -1
- package/package/utils.d.ts +16 -8
- package/package/utils.js +65 -12
- package/package/workspace_settings.d.ts +13 -8
- package/package/workspace_settings.js +46 -11
- package/package.json +4 -4
- /package/package/components/flows/{flowStore.js → flowStore.svelte.js} +0 -0
package/package/hubPaths.json
CHANGED
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
"gitSync_12": "hub/19798/sync-script-to-git-repo-windmill",
|
|
15
15
|
"gitSync_13": "hub/19801/sync-script-to-git-repo-windmill",
|
|
16
16
|
"gitSync_14": "hub/19803/sync-script-to-git-repo-windmill",
|
|
17
|
-
"
|
|
17
|
+
"gitSync_15": "hub/19816/sync-script-to-git-repo-windmill",
|
|
18
|
+
"gitSync": "hub/19818/sync-script-to-git-repo-windmill",
|
|
18
19
|
"gitSyncTest_0": "hub/9073/git-repo-test-read-write-windmill",
|
|
19
20
|
"gitSyncTest_1": "hub/11499/git-repo-test-read-write-windmill",
|
|
20
21
|
"gitSyncTest_2": "hub/11667/git-repo-test-read-write-windmill",
|
|
@@ -488,7 +488,7 @@ const FETCH_INIT_CODE = `export async function main(
|
|
|
488
488
|
return await fetch(url, requestOptions)
|
|
489
489
|
.then((res) => res.json())
|
|
490
490
|
.catch(() => {
|
|
491
|
-
throw new Error('An error
|
|
491
|
+
throw new Error('An error occurred')
|
|
492
492
|
})
|
|
493
493
|
}`;
|
|
494
494
|
const BASH_INIT_CODE = `# shellcheck shell=bash
|
|
@@ -938,7 +938,7 @@ docker pull $IMAGE
|
|
|
938
938
|
# if using the 'docker' mode, name it with $WM_JOB_ID for windmill to monitor it
|
|
939
939
|
docker run --name $WM_JOB_ID -it -d $IMAGE $COMMAND
|
|
940
940
|
`;
|
|
941
|
-
const POWERSHELL_INIT_CODE = `param($Msg, $Dflt = "default value", [int]$Nb = 3)
|
|
941
|
+
const POWERSHELL_INIT_CODE = `param($Msg, [string[]]$Names, [PSCustomObject]$Obj, $Dflt = "default value", [int]$Nb = 3)
|
|
942
942
|
|
|
943
943
|
# Import-Module MyModule
|
|
944
944
|
|
|
@@ -1201,8 +1201,8 @@ export const INITIAL_CODE = {
|
|
|
1201
1201
|
},
|
|
1202
1202
|
ruby: {
|
|
1203
1203
|
script: RUBY_INIT_CODE
|
|
1204
|
-
}
|
|
1205
|
-
// for related places search: ADD_NEW_LANG
|
|
1204
|
+
}
|
|
1205
|
+
// for related places search: ADD_NEW_LANG
|
|
1206
1206
|
};
|
|
1207
1207
|
export function isInitialCode(content) {
|
|
1208
1208
|
for (const lang of Object.values(INITIAL_CODE)) {
|
|
@@ -1330,7 +1330,7 @@ export function initialCode(language, kind, subkind, templateScript) {
|
|
|
1330
1330
|
}
|
|
1331
1331
|
else if (language == 'ruby') {
|
|
1332
1332
|
return INITIAL_CODE.ruby.script;
|
|
1333
|
-
// for related places search: ADD_NEW_LANG
|
|
1333
|
+
// for related places search: ADD_NEW_LANG
|
|
1334
1334
|
}
|
|
1335
1335
|
else if (language == 'bun' || language == 'bunnative') {
|
|
1336
1336
|
if (kind == 'trigger') {
|
|
@@ -41,15 +41,22 @@ export class JobManager {
|
|
|
41
41
|
});
|
|
42
42
|
try {
|
|
43
43
|
onProgress?.({ status: 'running' });
|
|
44
|
-
|
|
44
|
+
let finalResult = undefined;
|
|
45
|
+
await tryEvery({
|
|
45
46
|
tryCode: async () => {
|
|
46
47
|
if (controller.signal.aborted) {
|
|
47
48
|
throw new Error('Job was cancelled');
|
|
48
49
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
let jobResult;
|
|
51
|
+
try {
|
|
52
|
+
jobResult = await JobService.getCompletedJob({
|
|
53
|
+
workspace,
|
|
54
|
+
id: jobId
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
throw error;
|
|
59
|
+
}
|
|
53
60
|
const success = !!jobResult.success;
|
|
54
61
|
const status = {
|
|
55
62
|
status: success ? 'success' : 'failure',
|
|
@@ -57,9 +64,7 @@ export class JobManager {
|
|
|
57
64
|
error: success ? undefined : jobResult.result?.error?.message || 'Job failed'
|
|
58
65
|
};
|
|
59
66
|
onProgress?.(status);
|
|
60
|
-
|
|
61
|
-
throw new Error(status.error);
|
|
62
|
-
}
|
|
67
|
+
finalResult = jobResult.result;
|
|
63
68
|
return jobResult.result;
|
|
64
69
|
},
|
|
65
70
|
timeoutCode: async () => {
|
|
@@ -79,7 +84,7 @@ export class JobManager {
|
|
|
79
84
|
interval,
|
|
80
85
|
timeout
|
|
81
86
|
});
|
|
82
|
-
return
|
|
87
|
+
return finalResult;
|
|
83
88
|
}
|
|
84
89
|
finally {
|
|
85
90
|
this.activeJobs.delete(jobId);
|
package/package/stores.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type Readable } from 'svelte/store';
|
|
2
2
|
import type { IntrospectionQuery } from 'graphql';
|
|
3
|
-
import { type
|
|
3
|
+
import { type OperatorSettings, type TokenResponse, type UserWorkspaceList, type WorkspaceDefaultScripts } from './gen';
|
|
4
|
+
import { type StateStore } from './utils';
|
|
4
5
|
export interface UserExt {
|
|
5
6
|
email: string;
|
|
6
7
|
name?: string;
|
|
@@ -21,6 +22,7 @@ export interface UserWorkspace {
|
|
|
21
22
|
color?: string;
|
|
22
23
|
operator_settings?: OperatorSettings;
|
|
23
24
|
parent_workspace_id?: string | null;
|
|
25
|
+
disabled: boolean;
|
|
24
26
|
}
|
|
25
27
|
export declare const tutorialsToDo: import("svelte/store").Writable<number[]>;
|
|
26
28
|
export declare const globalEmailInvite: import("svelte/store").Writable<string>;
|
|
@@ -44,16 +46,6 @@ export declare const devopsRole: import("svelte/store").Writable<string | false
|
|
|
44
46
|
export declare const lspTokenStore: import("svelte/store").Writable<string | undefined>;
|
|
45
47
|
export declare const hubBaseUrlStore: import("svelte/store").Writable<string>;
|
|
46
48
|
export declare const userWorkspaces: Readable<Array<UserWorkspace>>;
|
|
47
|
-
export declare const copilotInfo: import("svelte/store").Writable<{
|
|
48
|
-
enabled: boolean;
|
|
49
|
-
codeCompletionModel?: AIProviderModel;
|
|
50
|
-
defaultModel?: AIProviderModel;
|
|
51
|
-
aiModels: AIProviderModel[];
|
|
52
|
-
customPrompts?: Record<string, string>;
|
|
53
|
-
}>;
|
|
54
|
-
export declare function loadCopilot(workspace: string): Promise<void>;
|
|
55
|
-
export declare function setCopilotInfo(aiConfig: AIConfig): void;
|
|
56
|
-
export declare function getCurrentModel(): AIProviderModel;
|
|
57
49
|
export declare const codeCompletionLoading: import("svelte/store").Writable<boolean>;
|
|
58
50
|
export declare const metadataCompletionEnabled: import("svelte/store").Writable<boolean>;
|
|
59
51
|
export declare const stepInputCompletionEnabled: import("svelte/store").Writable<boolean>;
|
|
@@ -67,7 +59,6 @@ export declare const formatOnSave: import("svelte/store").Writable<boolean>;
|
|
|
67
59
|
export declare const vimMode: import("svelte/store").Writable<boolean>;
|
|
68
60
|
export declare const relativeLineNumbers: import("svelte/store").Writable<boolean>;
|
|
69
61
|
export declare const codeCompletionSessionEnabled: import("svelte/store").Writable<boolean>;
|
|
70
|
-
export declare const copilotSessionModel: import("svelte/store").Writable<AIProviderModel | undefined>;
|
|
71
62
|
export declare const usedTriggerKinds: import("svelte/store").Writable<string[]>;
|
|
72
63
|
type SQLBaseSchema = {
|
|
73
64
|
[schemaKey: string]: {
|
|
@@ -98,5 +89,6 @@ export declare const dbSchemas: import("svelte/store").Writable<Partial<Record<s
|
|
|
98
89
|
export declare const instanceSettingsSelectedTab: import("svelte/store").Writable<string>;
|
|
99
90
|
export declare const isCriticalAlertsUIOpen: import("svelte/store").Writable<boolean>;
|
|
100
91
|
export declare const workspaceColor: Readable<string | null | undefined>;
|
|
92
|
+
export declare const isCurrentlyInTutorial: StateStore<boolean>;
|
|
101
93
|
export declare function getFlatTableNamesFromSchema(dbSchema: DBSchema | undefined): string[];
|
|
102
94
|
export {};
|
package/package/stores.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { BROWSER } from 'esm-env';
|
|
2
|
-
import { derived,
|
|
2
|
+
import { derived, writable } from 'svelte/store';
|
|
3
3
|
import { WorkspaceService } from './gen';
|
|
4
4
|
import { getLocalSetting } from './utils';
|
|
5
|
-
import {
|
|
5
|
+
import { createState } from './svelte5Utils.svelte';
|
|
6
6
|
const persistedWorkspace = BROWSER && getWorkspace();
|
|
7
7
|
function getWorkspace() {
|
|
8
8
|
try {
|
|
@@ -49,7 +49,8 @@ export const userWorkspaces = derived([usersWorkspaceStore, superadmin], ([store
|
|
|
49
49
|
name: 'Admins',
|
|
50
50
|
username: 'superadmin',
|
|
51
51
|
color: undefined,
|
|
52
|
-
operator_settings: undefined
|
|
52
|
+
operator_settings: undefined,
|
|
53
|
+
disabled: false
|
|
53
54
|
}
|
|
54
55
|
];
|
|
55
56
|
}
|
|
@@ -57,60 +58,6 @@ export const userWorkspaces = derived([usersWorkspaceStore, superadmin], ([store
|
|
|
57
58
|
return originalWorkspaces;
|
|
58
59
|
}
|
|
59
60
|
});
|
|
60
|
-
export const copilotInfo = writable({
|
|
61
|
-
enabled: false,
|
|
62
|
-
codeCompletionModel: undefined,
|
|
63
|
-
defaultModel: undefined,
|
|
64
|
-
aiModels: [],
|
|
65
|
-
customPrompts: {}
|
|
66
|
-
});
|
|
67
|
-
export async function loadCopilot(workspace) {
|
|
68
|
-
workspaceAIClients.init(workspace);
|
|
69
|
-
try {
|
|
70
|
-
const info = await WorkspaceService.getCopilotInfo({ workspace });
|
|
71
|
-
setCopilotInfo(info);
|
|
72
|
-
}
|
|
73
|
-
catch (err) {
|
|
74
|
-
setCopilotInfo({});
|
|
75
|
-
console.error('Could not get copilot info', err);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
export function setCopilotInfo(aiConfig) {
|
|
79
|
-
if (Object.keys(aiConfig.providers ?? {}).length > 0) {
|
|
80
|
-
const aiModels = Object.entries(aiConfig.providers ?? {}).flatMap(([provider, providerConfig]) => providerConfig.models.map((m) => ({ model: m, provider: provider })));
|
|
81
|
-
copilotSessionModel.update((model) => {
|
|
82
|
-
if (model &&
|
|
83
|
-
!aiModels.some((m) => m.model === model.model && m.provider === model.provider)) {
|
|
84
|
-
return undefined;
|
|
85
|
-
}
|
|
86
|
-
return model;
|
|
87
|
-
});
|
|
88
|
-
copilotInfo.set({
|
|
89
|
-
enabled: true,
|
|
90
|
-
codeCompletionModel: aiConfig.code_completion_model,
|
|
91
|
-
defaultModel: aiConfig.default_model,
|
|
92
|
-
aiModels: aiModels,
|
|
93
|
-
customPrompts: aiConfig.custom_prompts ?? {}
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
copilotSessionModel.set(undefined);
|
|
98
|
-
copilotInfo.set({
|
|
99
|
-
enabled: false,
|
|
100
|
-
codeCompletionModel: undefined,
|
|
101
|
-
defaultModel: undefined,
|
|
102
|
-
aiModels: [],
|
|
103
|
-
customPrompts: {}
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
export function getCurrentModel() {
|
|
108
|
-
const model = get(copilotSessionModel) ?? get(copilotInfo).defaultModel ?? get(copilotInfo).aiModels[0];
|
|
109
|
-
if (!model) {
|
|
110
|
-
throw new Error('No model selected');
|
|
111
|
-
}
|
|
112
|
-
return model;
|
|
113
|
-
}
|
|
114
61
|
export const codeCompletionLoading = writable(false);
|
|
115
62
|
export const metadataCompletionEnabled = writable(true);
|
|
116
63
|
export const stepInputCompletionEnabled = writable(true);
|
|
@@ -124,14 +71,6 @@ export const formatOnSave = writable(getLocalSetting(FORMAT_ON_SAVE_SETTING_NAME
|
|
|
124
71
|
export const vimMode = writable(getLocalSetting(VIM_MODE_SETTING_NAME) == 'true');
|
|
125
72
|
export const relativeLineNumbers = writable(getLocalSetting(RELATIVE_LINE_NUMBERS_SETTING_NAME) == 'true');
|
|
126
73
|
export const codeCompletionSessionEnabled = writable(getLocalSetting(CODE_COMPLETION_SETTING_NAME) != 'false');
|
|
127
|
-
const sessionModel = getLocalSetting(COPILOT_SESSION_MODEL_SETTING_NAME);
|
|
128
|
-
const sessionProvider = getLocalSetting(COPILOT_SESSION_PROVIDER_SETTING_NAME);
|
|
129
|
-
export const copilotSessionModel = writable(sessionModel && sessionProvider
|
|
130
|
-
? {
|
|
131
|
-
model: sessionModel,
|
|
132
|
-
provider: sessionProvider
|
|
133
|
-
}
|
|
134
|
-
: undefined);
|
|
135
74
|
export const usedTriggerKinds = writable([]);
|
|
136
75
|
export const SQLSchemaLanguages = [
|
|
137
76
|
'mysql',
|
|
@@ -165,6 +104,7 @@ export const workspaceColor = derived([workspaceStore, usersWorkspaceStore, supe
|
|
|
165
104
|
set(superadminColor);
|
|
166
105
|
});
|
|
167
106
|
});
|
|
107
|
+
export const isCurrentlyInTutorial = createState({ val: false });
|
|
168
108
|
export function getFlatTableNamesFromSchema(dbSchema) {
|
|
169
109
|
const schema = dbSchema?.schema ?? {};
|
|
170
110
|
const tableNames = [];
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { DurationStatus } from './components/graph/model';
|
|
2
|
+
export type TimelineItems = Record<string, Array<{
|
|
3
|
+
created_at?: number;
|
|
4
|
+
started_at?: number;
|
|
5
|
+
duration_ms?: number;
|
|
6
|
+
id: string;
|
|
7
|
+
}>>;
|
|
8
|
+
export declare class TimelineCompute {
|
|
9
|
+
#private;
|
|
10
|
+
min: number | undefined;
|
|
11
|
+
max: number | undefined;
|
|
12
|
+
total: number | undefined;
|
|
13
|
+
items: TimelineItems | undefined;
|
|
14
|
+
now: number;
|
|
15
|
+
constructor(flowModules: string[], durationStatuses: Record<string, DurationStatus>, flowDone?: boolean);
|
|
16
|
+
reset(): void;
|
|
17
|
+
updateInputs(flowModules: string[], durationStatuses: Record<string, DurationStatus>, flowDone?: boolean): void;
|
|
18
|
+
setFlowDone(flowDone: boolean): void;
|
|
19
|
+
destroy(): void;
|
|
20
|
+
private computeItems;
|
|
21
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { debounce, readFieldsRecursively } from './utils';
|
|
2
|
+
import { untrack } from 'svelte';
|
|
3
|
+
import { getDbClockNow } from './forLater';
|
|
4
|
+
export class TimelineCompute {
|
|
5
|
+
#flowModules = $state([]);
|
|
6
|
+
#durationStatuses = $state({});
|
|
7
|
+
#flowDone = $state(false);
|
|
8
|
+
#interval = undefined;
|
|
9
|
+
#debounceInstance;
|
|
10
|
+
min = $state(undefined);
|
|
11
|
+
max = $state(undefined);
|
|
12
|
+
total = $state(undefined);
|
|
13
|
+
items = $state(undefined);
|
|
14
|
+
now = $state(getDbClockNow().getTime());
|
|
15
|
+
constructor(flowModules, durationStatuses, flowDone = false) {
|
|
16
|
+
this.#flowModules = flowModules;
|
|
17
|
+
this.#durationStatuses = durationStatuses;
|
|
18
|
+
this.#flowDone = flowDone;
|
|
19
|
+
this.#debounceInstance = debounce(() => this.computeItems(this.#durationStatuses), 30);
|
|
20
|
+
// Set up reactivity using $effect
|
|
21
|
+
$effect(() => {
|
|
22
|
+
readFieldsRecursively(this.#durationStatuses);
|
|
23
|
+
this.#flowDone != undefined &&
|
|
24
|
+
this.#durationStatuses &&
|
|
25
|
+
untrack(() => this.#debounceInstance.debounced());
|
|
26
|
+
});
|
|
27
|
+
// Set up interval for updating now and total for running jobs
|
|
28
|
+
this.#interval = setInterval(() => {
|
|
29
|
+
if (!this.max) {
|
|
30
|
+
this.now = getDbClockNow().getTime();
|
|
31
|
+
}
|
|
32
|
+
if (this.min && (!this.max || this.total == undefined)) {
|
|
33
|
+
this.total = this.max ? this.max - this.min : Math.max(this.now - this.min, 2000);
|
|
34
|
+
}
|
|
35
|
+
}, 30);
|
|
36
|
+
}
|
|
37
|
+
reset() {
|
|
38
|
+
this.min = undefined;
|
|
39
|
+
this.max = undefined;
|
|
40
|
+
this.#flowDone = false;
|
|
41
|
+
this.items = this.computeItems(this.#durationStatuses);
|
|
42
|
+
}
|
|
43
|
+
updateInputs(flowModules, durationStatuses, flowDone = false) {
|
|
44
|
+
this.#flowModules = flowModules;
|
|
45
|
+
this.#durationStatuses = durationStatuses;
|
|
46
|
+
this.#flowDone = flowDone;
|
|
47
|
+
}
|
|
48
|
+
setFlowDone(flowDone) {
|
|
49
|
+
this.#flowDone = flowDone;
|
|
50
|
+
}
|
|
51
|
+
destroy() {
|
|
52
|
+
if (this.#interval) {
|
|
53
|
+
clearInterval(this.#interval);
|
|
54
|
+
}
|
|
55
|
+
this.#debounceInstance.clearDebounce();
|
|
56
|
+
}
|
|
57
|
+
computeItems(durationStatuses) {
|
|
58
|
+
let nmin = undefined;
|
|
59
|
+
let nmax = undefined;
|
|
60
|
+
let isStillRunning = false;
|
|
61
|
+
let cnt = 0;
|
|
62
|
+
let nitems = {};
|
|
63
|
+
Object.entries(durationStatuses).forEach(([k, o]) => {
|
|
64
|
+
Object.values(o.byJob).forEach((v) => {
|
|
65
|
+
cnt++;
|
|
66
|
+
if (v.started_at) {
|
|
67
|
+
if (!nmin) {
|
|
68
|
+
nmin = v.started_at;
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
nmin = Math.min(nmin, v.started_at);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
if (!this.#flowDone && v.duration_ms == undefined) {
|
|
75
|
+
isStillRunning = true;
|
|
76
|
+
}
|
|
77
|
+
if (!isStillRunning) {
|
|
78
|
+
if (v.started_at && v.duration_ms != undefined) {
|
|
79
|
+
let lmax = v.started_at + v.duration_ms;
|
|
80
|
+
if (!nmax) {
|
|
81
|
+
nmax = lmax;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
nmax = Math.max(nmax, lmax);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
let arr = Object.entries(o.byJob).map(([k, v]) => ({ ...v, id: k }));
|
|
90
|
+
arr.sort((x, y) => {
|
|
91
|
+
if (!x.started_at) {
|
|
92
|
+
return -1;
|
|
93
|
+
}
|
|
94
|
+
else if (!y.started_at) {
|
|
95
|
+
return 1;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
return x.started_at - y.started_at;
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
nitems[k] = arr;
|
|
102
|
+
});
|
|
103
|
+
this.items = nitems;
|
|
104
|
+
this.min = nmin;
|
|
105
|
+
this.max =
|
|
106
|
+
isStillRunning || (cnt < this.#flowModules.length && !this.#flowDone) ? undefined : nmax;
|
|
107
|
+
if (this.max && this.min) {
|
|
108
|
+
this.total = this.max - this.min;
|
|
109
|
+
this.total = Math.max(this.total, 2000);
|
|
110
|
+
}
|
|
111
|
+
return nitems;
|
|
112
|
+
}
|
|
113
|
+
}
|
package/package/toast.js
CHANGED
package/package/utils.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type UserExt } from './stores';
|
|
2
2
|
import { sendUserToast } from './toast';
|
|
3
|
-
import type { Job, Script, ScriptLang } from './gen';
|
|
3
|
+
import type { Job, RunnableKind, Script, ScriptLang } from './gen';
|
|
4
4
|
import type { EnumType, SchemaProperty } from './common';
|
|
5
5
|
import type { Schema } from './common';
|
|
6
6
|
export { sendUserToast };
|
|
@@ -45,6 +45,7 @@ export declare function displaySize(sizeInBytes: number | undefined): string | u
|
|
|
45
45
|
export declare function msToSec(ms: number | undefined, maximumFractionDigits?: number): string;
|
|
46
46
|
export declare function removeTriggerKindIfUnused(length: number, triggerKind: TriggerKind, usedTriggerKinds: string[]): string[];
|
|
47
47
|
export declare function msToReadableTime(ms: number | undefined, maximumFractionDigits?: number): string;
|
|
48
|
+
export declare function msToReadableTimeShort(ms: number | undefined, maximumFractionDigits?: number): string;
|
|
48
49
|
export declare function getToday(): Date;
|
|
49
50
|
export declare function truncateHash(hash: string): string;
|
|
50
51
|
export declare function sleep(ms: number): Promise<void>;
|
|
@@ -55,6 +56,7 @@ interface ClickOutsideOptions {
|
|
|
55
56
|
exclude?: (() => Promise<HTMLElement[]>) | HTMLElement[] | undefined;
|
|
56
57
|
stopPropagation?: boolean;
|
|
57
58
|
customEventName?: string;
|
|
59
|
+
eventToListenName?: 'click' | 'pointerdown';
|
|
58
60
|
onClickOutside?: (event: MouseEvent) => void;
|
|
59
61
|
}
|
|
60
62
|
export declare function clickOutside(node: Node, options?: ClickOutsideOptions | boolean): {
|
|
@@ -100,13 +102,13 @@ export declare function isString(value: any): value is string | String;
|
|
|
100
102
|
export type InputCat = 'string' | 'email' | 'number' | 'boolean' | 'list' | 'resource-object' | 'enum' | 'date' | 'base64' | 'resource-string' | 'object' | 'sql' | 'yaml' | 'currency' | 'oneOf' | 'dynamic' | 'json-schema' | 'ai-provider';
|
|
101
103
|
export declare namespace DynamicInput {
|
|
102
104
|
type HelperScript = {
|
|
103
|
-
|
|
104
|
-
path
|
|
105
|
-
|
|
106
|
-
code: string;
|
|
105
|
+
source: 'deployed';
|
|
106
|
+
path: string;
|
|
107
|
+
runnable_kind: RunnableKind;
|
|
107
108
|
} | {
|
|
108
|
-
|
|
109
|
-
|
|
109
|
+
source: 'inline';
|
|
110
|
+
code: string;
|
|
111
|
+
lang: ScriptLang;
|
|
110
112
|
};
|
|
111
113
|
const generatePythonFnTemplate: (functionName: string) => string;
|
|
112
114
|
const generateJsFnTemplate: (functionName: string) => string;
|
|
@@ -153,7 +155,7 @@ export declare function tryEvery({ tryCode, timeoutCode, interval, timeout }: {
|
|
|
153
155
|
interval: number;
|
|
154
156
|
timeout: number;
|
|
155
157
|
}): Promise<void>;
|
|
156
|
-
export declare function roughSizeOfObject(object: object | string): number;
|
|
158
|
+
export declare function roughSizeOfObject(object: object | string | any): number;
|
|
157
159
|
export type Value = {
|
|
158
160
|
language?: Script['language'];
|
|
159
161
|
content?: string;
|
|
@@ -230,3 +232,9 @@ export declare function isS3Uri(uri: string): uri is S3Uri;
|
|
|
230
232
|
export declare function uniqueBy<T>(array: T[], key: (t: T) => any): T[];
|
|
231
233
|
export declare function pruneNullishArray<T>(array: (T | null | undefined)[]): T[];
|
|
232
234
|
export declare function assert(msg: string, condition: boolean, value?: any): void;
|
|
235
|
+
export declare function createCache<Keys extends Record<string, any>, T, InitialKeys extends Keys = Keys>(compute: (keys: Keys) => T, params?: {
|
|
236
|
+
maxSize?: number;
|
|
237
|
+
initial?: InitialKeys;
|
|
238
|
+
invalidateMs?: number;
|
|
239
|
+
}): (keys: Keys) => T;
|
|
240
|
+
export declare function wait(ms: number): Promise<unknown>;
|
package/package/utils.js
CHANGED
|
@@ -220,6 +220,26 @@ export function msToReadableTime(ms, maximumFractionDigits) {
|
|
|
220
220
|
return `${msToSec(ms, maximumFractionDigits)}s`;
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
|
+
export function msToReadableTimeShort(ms, maximumFractionDigits) {
|
|
224
|
+
if (ms === undefined)
|
|
225
|
+
return '?';
|
|
226
|
+
const seconds = Math.floor(ms / 1000);
|
|
227
|
+
const minutes = Math.floor(seconds / 60);
|
|
228
|
+
const hours = Math.floor(minutes / 60);
|
|
229
|
+
const days = Math.floor(hours / 24);
|
|
230
|
+
if (days > 0) {
|
|
231
|
+
return `${days}d`;
|
|
232
|
+
}
|
|
233
|
+
else if (hours > 0) {
|
|
234
|
+
return `${hours}h`;
|
|
235
|
+
}
|
|
236
|
+
else if (minutes > 0) {
|
|
237
|
+
return `${minutes}m`;
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
return `${msToSec(ms, maximumFractionDigits)}s`;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
223
243
|
export function getToday() {
|
|
224
244
|
var today = new Date();
|
|
225
245
|
return today;
|
|
@@ -286,13 +306,14 @@ export function clickOutside(node, options) {
|
|
|
286
306
|
}
|
|
287
307
|
};
|
|
288
308
|
const capture = typeof options === 'boolean' ? options : (options?.capture ?? true);
|
|
289
|
-
|
|
309
|
+
const eventToListenName = (typeof options === 'object' && options.eventToListenName) || 'click';
|
|
310
|
+
document.addEventListener(eventToListenName, handleClick, capture ?? true);
|
|
290
311
|
return {
|
|
291
312
|
update(newOptions) {
|
|
292
313
|
options = newOptions;
|
|
293
314
|
},
|
|
294
315
|
destroy() {
|
|
295
|
-
document.removeEventListener(
|
|
316
|
+
document.removeEventListener(eventToListenName, handleClick, capture ?? true);
|
|
296
317
|
}
|
|
297
318
|
};
|
|
298
319
|
}
|
|
@@ -890,14 +911,14 @@ export async function tryEvery({ tryCode, timeoutCode, interval, timeout }) {
|
|
|
890
911
|
}
|
|
891
912
|
}
|
|
892
913
|
export function roughSizeOfObject(object) {
|
|
893
|
-
if (typeof object
|
|
914
|
+
if (typeof object === 'string') {
|
|
894
915
|
return object.length * 2;
|
|
895
916
|
}
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
917
|
+
const visited = new Set();
|
|
918
|
+
const stack = [object];
|
|
919
|
+
let bytes = 0;
|
|
899
920
|
while (stack.length) {
|
|
900
|
-
|
|
921
|
+
const value = stack.pop();
|
|
901
922
|
if (typeof value === 'boolean') {
|
|
902
923
|
bytes += 4;
|
|
903
924
|
}
|
|
@@ -907,11 +928,11 @@ export function roughSizeOfObject(object) {
|
|
|
907
928
|
else if (typeof value === 'number') {
|
|
908
929
|
bytes += 8;
|
|
909
930
|
}
|
|
910
|
-
else if (typeof value === 'object' &&
|
|
911
|
-
|
|
912
|
-
for (
|
|
913
|
-
bytes += 2 *
|
|
914
|
-
stack.push(value[
|
|
931
|
+
else if (typeof value === 'object' && value !== null && !visited.has(value)) {
|
|
932
|
+
visited.add(value);
|
|
933
|
+
for (const key in value) {
|
|
934
|
+
bytes += 2 * key.length;
|
|
935
|
+
stack.push(value[key]);
|
|
915
936
|
}
|
|
916
937
|
}
|
|
917
938
|
}
|
|
@@ -1307,3 +1328,35 @@ export function assert(msg, condition, value) {
|
|
|
1307
1328
|
console.error(m);
|
|
1308
1329
|
}
|
|
1309
1330
|
}
|
|
1331
|
+
export function createCache(compute, params) {
|
|
1332
|
+
let cache = new Map();
|
|
1333
|
+
const maxSize = params?.maxSize ?? 15;
|
|
1334
|
+
if (params?.initial) {
|
|
1335
|
+
let key = JSON.stringify(params.initial, Object.keys(params.initial).sort());
|
|
1336
|
+
let value = compute(params.initial);
|
|
1337
|
+
cache.set(key, { value, timestamp: Date.now() });
|
|
1338
|
+
}
|
|
1339
|
+
return (keys) => {
|
|
1340
|
+
if (typeof params?.invalidateMs === 'number') {
|
|
1341
|
+
for (const [key, entry] of cache.entries()) {
|
|
1342
|
+
if (Date.now() - entry.timestamp > params.invalidateMs) {
|
|
1343
|
+
cache.delete(key);
|
|
1344
|
+
}
|
|
1345
|
+
}
|
|
1346
|
+
}
|
|
1347
|
+
let key = JSON.stringify(keys, Object.keys(keys).sort());
|
|
1348
|
+
if (!cache.get(key)) {
|
|
1349
|
+
let value = compute(keys);
|
|
1350
|
+
cache.set(key, { value, timestamp: Date.now() });
|
|
1351
|
+
if (cache.size > maxSize) {
|
|
1352
|
+
// remove the oldest entry (first inserted)
|
|
1353
|
+
const oldestKey = cache.keys().next().value;
|
|
1354
|
+
cache.delete(oldestKey);
|
|
1355
|
+
}
|
|
1356
|
+
}
|
|
1357
|
+
return cache.get(key).value;
|
|
1358
|
+
};
|
|
1359
|
+
}
|
|
1360
|
+
export async function wait(ms) {
|
|
1361
|
+
return new Promise((resolve) => setTimeout(() => resolve(undefined), ms));
|
|
1362
|
+
}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import type { GetSettingsResponse, LargeFileStorage } from './gen';
|
|
2
|
-
type
|
|
3
|
-
type
|
|
4
|
-
resourceType:
|
|
2
|
+
type S3type = 's3' | 'azure_blob' | 's3_aws_oidc' | 'azure_workload_identity' | 'gcloud_storage';
|
|
3
|
+
export type S3ResourceSettingsItem = {
|
|
4
|
+
resourceType: S3type;
|
|
5
5
|
resourcePath: string | undefined;
|
|
6
6
|
publicResource: boolean | undefined;
|
|
7
|
+
advancedPermissions?: {
|
|
8
|
+
pattern: string;
|
|
9
|
+
allow: ('read' | 'write' | 'delete' | 'list')[];
|
|
10
|
+
}[];
|
|
7
11
|
};
|
|
8
|
-
export type S3ResourceSettings =
|
|
9
|
-
secondaryStorage: [string,
|
|
12
|
+
export type S3ResourceSettings = S3ResourceSettingsItem & {
|
|
13
|
+
secondaryStorage: [string, S3ResourceSettingsItem][] | undefined;
|
|
10
14
|
};
|
|
11
|
-
export declare function convertBackendSettingsToFrontendSettings(large_file_storage: GetSettingsResponse['large_file_storage']): S3ResourceSettings;
|
|
12
|
-
export declare function convertBackendSettingsToFrontendSettingsItem(large_file_storage: GetSettingsResponse['large_file_storage']):
|
|
15
|
+
export declare function convertBackendSettingsToFrontendSettings(large_file_storage: GetSettingsResponse['large_file_storage'], isEnterprise: boolean): S3ResourceSettings;
|
|
16
|
+
export declare function convertBackendSettingsToFrontendSettingsItem(large_file_storage: GetSettingsResponse['large_file_storage'], isEnterprise: boolean): S3ResourceSettingsItem;
|
|
13
17
|
export declare function convertFrontendToBackendSetting(s3ResourceSettings: S3ResourceSettings): LargeFileStorage | undefined;
|
|
14
|
-
export declare function convertFrontendToBackendettingsItem(s3ResourceSettings:
|
|
18
|
+
export declare function convertFrontendToBackendettingsItem(s3ResourceSettings: S3ResourceSettingsItem): LargeFileStorage | undefined;
|
|
19
|
+
export declare function defaultS3AdvancedPermissions(isEnterprise: boolean): S3ResourceSettingsItem['advancedPermissions'];
|
|
15
20
|
export {};
|