windmill-components 1.532.0 → 1.542.4
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/AIProviderPicker.svelte +181 -0
- package/package/components/AIProviderPicker.svelte.d.ts +15 -0
- package/package/components/ArgInfo.svelte +2 -2
- package/package/components/ArgInput.svelte +60 -27
- package/package/components/ArgInput.svelte.d.ts +3 -3
- package/package/components/AssignableTagsInner.svelte +89 -3
- package/package/components/Auth0Setting.svelte +8 -3
- package/package/components/ConcurrentJobsChart.svelte +36 -48
- package/package/components/ConcurrentJobsChart.svelte.d.ts +8 -20
- package/package/components/CustomPopover.svelte.d.ts +1 -1
- package/package/components/Dev.svelte +5 -4
- package/package/components/DiffDrawer.svelte +2 -2
- package/package/components/DiffEditor.svelte +34 -37
- package/package/components/DiffEditor.svelte.d.ts +23 -39
- package/package/components/DropdownSelect.svelte +26 -0
- package/package/components/DropdownSelect.svelte.d.ts +11 -0
- package/package/components/DropdownV2Inner.svelte +1 -1
- package/package/components/{DynSelect.svelte → DynamicInput.svelte} +47 -15
- package/package/components/DynamicInput.svelte.d.ts +11 -0
- package/package/components/EditableSchemaForm.svelte +155 -140
- package/package/components/EditableSchemaForm.svelte.d.ts +6 -7
- package/package/components/Editor.svelte +101 -87
- package/package/components/Editor.svelte.d.ts +7 -1
- package/package/components/EditorBar.svelte +2 -5
- package/package/components/FlowBuilder.svelte +10 -7
- package/package/components/FlowLogRow.svelte +64 -0
- package/package/components/FlowLogRow.svelte.d.ts +15 -0
- package/package/components/FlowLogViewer.svelte +406 -373
- package/package/components/FlowLogViewer.svelte.d.ts +5 -1
- package/package/components/FlowLogViewerWrapper.svelte +44 -1
- package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
- package/package/components/FlowPreviewContent.svelte +3 -3
- package/package/components/FlowPreviewContent.svelte.d.ts +1 -1
- package/package/components/FlowStatusViewer.svelte +28 -0
- package/package/components/FlowStatusViewerInner.svelte +106 -23
- package/package/components/FlowStatusViewerInner.svelte.d.ts +7 -0
- package/package/components/FolderPicker.svelte +1 -1
- package/package/components/InputTransformForm.svelte +20 -10
- package/package/components/JobArgs.svelte +1 -1
- package/package/components/JobLoader.svelte.d.ts +1 -1
- package/package/components/JobStatus.svelte +2 -0
- package/package/components/LogSnippetViewer.svelte +3 -3
- package/package/components/LogSnippetViewer.svelte.d.ts +1 -1
- package/package/components/LogViewer.svelte +87 -71
- package/package/components/LogViewer.svelte.d.ts +1 -0
- package/package/components/ModulePreview.svelte +2 -1
- package/package/components/ModulePreview.svelte.d.ts +1 -0
- package/package/components/ModulePreviewForm.svelte +72 -65
- package/package/components/ModulePreviewResultViewer.svelte +13 -18
- package/package/components/ModuleTest.svelte +6 -5
- package/package/components/ModuleTest.svelte.d.ts +1 -0
- package/package/components/OktaSetting.svelte +8 -3
- package/package/components/Path.svelte +7 -1
- package/package/components/Path.svelte.d.ts +1 -1
- package/package/components/Portal.svelte +11 -7
- package/package/components/Portal.svelte.d.ts +19 -39
- package/package/components/PrefixedInput.svelte +120 -0
- package/package/components/PrefixedInput.svelte.d.ts +8 -0
- package/package/components/QueuePosition.svelte +81 -0
- package/package/components/QueuePosition.svelte.d.ts +8 -0
- package/package/components/ResourceNarrowing.svelte +13 -0
- package/package/components/ResourceNarrowing.svelte.d.ts +6 -0
- package/package/components/ResourceTypePicker.svelte +49 -74
- package/package/components/RunChart.svelte +74 -89
- package/package/components/RunChart.svelte.d.ts +10 -22
- package/package/components/RunForm.svelte +2 -2
- package/package/components/RunForm.svelte.d.ts +1 -1
- package/package/components/RunFormAdvancedPopup.svelte +13 -1
- package/package/components/S3FilePicker.svelte +1 -1
- package/package/components/SchemaForm.svelte +1 -2
- package/package/components/SchemaForm.svelte.d.ts +2 -2
- package/package/components/ScriptBuilder.svelte +3 -2
- package/package/components/ScriptEditor.svelte +25 -10
- package/package/components/ScriptEditor.svelte.d.ts +2 -1
- package/package/components/ServiceLogsInner.svelte +1 -1
- package/package/components/ShareModal.svelte.d.ts +1 -1
- package/package/components/SimpleEditor.svelte +4 -68
- package/package/components/StringTypeNarrowing.svelte +5 -10
- package/package/components/TemplateEditor.svelte +2 -16
- package/package/components/TimeAgo.svelte +1 -1
- package/package/components/TimeAgo.svelte.d.ts +1 -0
- package/package/components/Toggle.svelte +2 -1
- package/package/components/Toggle.svelte.d.ts +2 -1
- package/package/components/WorkerRepl.svelte +1 -1
- package/package/components/apps/components/display/AppNavbarItem.svelte +2 -1
- package/package/components/apps/components/display/table/AppAggridTable.svelte +44 -48
- package/package/components/apps/components/display/table/SyncColumnDefs.svelte +101 -19
- package/package/components/apps/components/display/table/SyncColumnDefs.svelte.d.ts +5 -2
- package/package/components/apps/components/display/table/utils.js +36 -5
- package/package/components/apps/components/inputs/currency/CurrencyInput.svelte +10 -5
- package/package/components/apps/components/layout/AppModal.svelte +2 -2
- package/package/components/apps/editor/AppEditor.svelte +4 -3
- package/package/components/apps/editor/AppEditorHeader.svelte +0 -1
- package/package/components/apps/editor/GridViewer.svelte.d.ts +11 -4
- package/package/components/apps/editor/SettingsPanel.svelte +2 -2
- package/package/components/apps/editor/component/ComponentNavigation.svelte +3 -2
- package/package/components/apps/editor/componentsPanel/ListItem.svelte +2 -2
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +1 -1
- 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 +0 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +1 -1
- package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +29 -4
- package/package/components/apps/editor/settingsPanel/GridCondition.svelte +3 -1
- package/package/components/apps/editor/settingsPanel/GridNavbar.svelte +3 -1
- package/package/components/apps/editor/settingsPanel/GridTab.svelte +3 -1
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +55 -53
- package/package/components/apps/editor/settingsPanel/TableActions.svelte +3 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +13 -5
- package/package/components/apps/svelte-grid/Grid.svelte.d.ts +30 -11
- package/package/components/assets/JobAssetsViewer.svelte +28 -24
- package/package/components/auditLogs/AuditLogsTable.svelte +2 -6
- package/package/components/chartjs-wrappers/Chart.svelte.d.ts +14 -7
- package/package/components/common/OnChange.svelte.d.ts +11 -4
- package/package/components/common/badge/Badge.svelte +9 -2
- package/package/components/common/badge/Badge.svelte.d.ts +2 -1
- package/package/components/common/button/model.d.ts +1 -1
- package/package/components/common/calendarPicker/CalendarPicker.svelte +5 -1
- package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +5 -4
- package/package/components/common/drawer/Disposable.svelte +45 -26
- package/package/components/common/drawer/Disposable.svelte.d.ts +12 -44
- package/package/components/common/drawer/Drawer.svelte +17 -14
- package/package/components/common/drawer/Drawer.svelte.d.ts +1 -0
- package/package/components/common/menu/MenuItem.svelte.d.ts +2 -2
- package/package/components/common/modal/Modal.svelte.d.ts +1 -1
- package/package/components/common/tabs/TabContent.svelte +2 -7
- package/package/components/common/tabs/TabContent.svelte.d.ts +5 -27
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +9 -3
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -0
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +8 -4
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +1 -0
- package/package/components/copilot/MetadataGen.svelte +14 -3
- package/package/components/copilot/chat/AIChatInput.svelte +0 -1
- package/package/components/copilot/chat/AIChatManager.svelte.js +26 -104
- package/package/components/copilot/chat/AssistantMessage.svelte +0 -4
- package/package/components/copilot/chat/AvailableContextList.svelte +192 -66
- package/package/components/copilot/chat/AvailableContextList.svelte.d.ts +2 -2
- package/package/components/copilot/chat/ContextElementBadge.svelte +3 -3
- package/package/components/copilot/chat/ContextManager.svelte.js +36 -13
- package/package/components/copilot/chat/ContextTextarea.svelte +21 -48
- package/package/components/copilot/chat/ToolContentDisplay.svelte +10 -1
- package/package/components/copilot/chat/ToolExecutionDisplay.svelte +3 -3
- package/package/components/copilot/chat/anthropic.d.ts +15 -0
- package/package/components/copilot/chat/anthropic.js +208 -0
- package/package/components/copilot/chat/api/apiTools.d.ts +2 -2
- package/package/components/copilot/chat/api/apiTools.js +10 -7
- package/package/components/copilot/chat/api/core.d.ts +1 -1
- package/package/components/copilot/chat/api/core.js +7 -2
- package/package/components/copilot/chat/ask/core.d.ts +1 -1
- package/package/components/copilot/chat/ask/core.js +7 -2
- package/package/components/copilot/chat/context.d.ts +7 -2
- package/package/components/copilot/chat/flow/FlowAIChat.svelte +110 -8
- package/package/components/copilot/chat/flow/core.d.ts +12 -1
- package/package/components/copilot/chat/flow/core.js +133 -5
- package/package/components/copilot/chat/flow/uiIntents.d.ts +8 -0
- package/package/components/copilot/chat/flow/uiIntents.js +5 -0
- package/package/components/copilot/chat/flow/useUiIntent.d.ts +5 -0
- package/package/components/copilot/chat/flow/useUiIntent.js +12 -0
- package/package/components/copilot/chat/monaco-adapter.d.ts +23 -4
- package/package/components/copilot/chat/monaco-adapter.js +55 -16
- package/package/components/copilot/chat/navigator/core.d.ts +1 -1
- package/package/components/copilot/chat/navigator/core.js +7 -2
- package/package/components/copilot/chat/script/CodeDisplay.svelte +10 -111
- package/package/components/copilot/chat/script/core.d.ts +5 -4
- package/package/components/copilot/chat/script/core.js +134 -21
- package/package/components/copilot/chat/shared.d.ts +10 -9
- package/package/components/copilot/chat/shared.js +24 -12
- package/package/components/copilot/lib.d.ts +29 -8
- package/package/components/copilot/lib.js +211 -31
- package/package/components/copilot/shared.d.ts +1 -1
- package/package/components/copilot/shared.js +16 -10
- package/package/components/flows/FlowEditor.svelte +4 -2
- package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
- package/package/components/flows/FlowModuleIcon.svelte +8 -8
- package/package/components/flows/common/FlowCardHeader.svelte +4 -1
- package/package/components/flows/content/FlowBranchesAllWrapper.svelte +6 -0
- package/package/components/flows/content/FlowBranchesOneWrapper.svelte +6 -0
- package/package/components/flows/content/FlowEditorPanel.svelte +2 -1
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowInput.svelte +36 -39
- package/package/components/flows/content/FlowInput.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowLoop.svelte +7 -0
- package/package/components/flows/content/FlowModuleComponent.svelte +42 -46
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +47 -17
- package/package/components/flows/content/FlowModuleScript.svelte +1 -1
- package/package/components/flows/content/FlowModuleSleep.svelte +4 -1
- package/package/components/flows/content/FlowModuleSuspend.svelte +15 -18
- package/package/components/flows/content/FlowModuleTimeout.svelte +50 -10
- package/package/components/flows/content/FlowModuleTimeout.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowRetries.svelte +108 -3
- package/package/components/flows/content/FlowRetries.svelte.d.ts +3 -2
- package/package/components/flows/content/FlowWhileLoop.svelte +6 -0
- package/package/components/flows/content/ScriptEditorDrawer.svelte +9 -11
- package/package/components/flows/dfs.d.ts +1 -1
- package/package/components/flows/dfs.js +6 -6
- package/package/components/flows/flowInfers.js +15 -42
- package/package/components/flows/flowStateUtils.svelte.js +1 -2
- package/package/components/flows/flowStore.d.ts +45 -1
- package/package/components/flows/flowStore.js +1 -1
- package/package/components/flows/map/FlowJobsMenu.svelte +3 -3
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +73 -80
- package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -1
- package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte +1 -1
- package/package/components/flows/map/InsertModuleButton.svelte +1 -0
- package/package/components/flows/map/InsertModuleInner.svelte +12 -15
- package/package/components/flows/map/InsertModuleInner.svelte.d.ts +10 -9
- package/package/components/flows/map/MapItem.svelte +8 -4
- package/package/components/flows/map/VirtualItem.svelte +1 -1
- package/package/components/flows/pickers/TopLevelNode.svelte +1 -1
- package/package/components/flows/propPicker/InputPickerInner.svelte +5 -5
- package/package/components/flows/propPicker/OutputPickerInner.svelte +143 -118
- package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +7 -16
- package/package/components/flows/{testSteps.svelte.d.ts → stepsInputArgs.svelte.d.ts} +2 -1
- package/package/components/flows/{testSteps.svelte.js → stepsInputArgs.svelte.js} +15 -3
- package/package/components/flows/types.d.ts +16 -3
- package/package/components/flows/utils.js +3 -0
- package/package/components/git_sync/DetectionFlow.svelte +15 -17
- package/package/components/git_sync/GitSyncContext.svelte.js +1 -1
- package/package/components/git_sync/GitSyncRepositoryCard.svelte +0 -1
- package/package/components/graph/FlowGraphV2.svelte +1 -1
- package/package/components/graph/graphBuilder.svelte.d.ts +5 -1
- package/package/components/graph/renderers/edges/BaseEdge.svelte +9 -1
- package/package/components/graph/renderers/edges/BaseEdge.svelte.d.ts +4 -1
- package/package/components/graph/renderers/nodes/AIToolNode.svelte +4 -4
- package/package/components/graph/renderers/nodes/BranchAllStart.svelte +2 -3
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte +2 -3
- package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +71 -54
- package/package/components/graph/renderers/triggers/TriggerButton.svelte.d.ts +1 -1
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte +3 -1
- package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +34 -24
- package/package/components/graph/renderers/triggers/TriggersWrapper.svelte.d.ts +1 -2
- package/package/components/home/ItemsList.svelte +17 -13
- package/package/components/home/TreeView.svelte +21 -27
- package/package/components/home/TreeView.svelte.d.ts +2 -29
- package/package/components/home/TreeViewRoot.svelte +11 -23
- package/package/components/home/TreeViewRoot.svelte.d.ts +15 -13
- package/package/components/icons/GitIcon.svelte +10 -2
- package/package/components/icons/GitIcon.svelte.d.ts +1 -0
- package/package/components/meltComponents/MeltButton.svelte.d.ts +1 -1
- package/package/components/meltComponents/Popover.svelte +23 -3
- package/package/components/meltComponents/Popover.svelte.d.ts +2 -1
- package/package/components/monacoLanguagesOptions.d.ts +3 -0
- package/package/components/monacoLanguagesOptions.js +109 -0
- package/package/components/propertyPicker/ObjectViewer.svelte +18 -5
- package/package/components/propertyPicker/PropPicker.svelte +1 -1
- package/package/components/propertyPicker/utils.js +14 -7
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +1 -1
- package/package/components/runs/JobRunsPreview.svelte +212 -177
- package/package/components/runs/JobsLoader.svelte +2 -2
- package/package/components/runs/JobsLoader.svelte.d.ts +1 -1
- package/package/components/runs/NoWorkerWithTagWarning.svelte +18 -5
- package/package/components/runs/RunBadges.svelte +100 -0
- package/package/components/runs/RunBadges.svelte.d.ts +12 -0
- package/package/components/runs/RunLabels.svelte +86 -0
- package/package/components/runs/RunLabels.svelte.d.ts +10 -0
- package/package/components/runs/RunOption.svelte +20 -0
- package/package/components/runs/RunOption.svelte.d.ts +10 -0
- package/package/components/runs/RunRow.svelte +239 -151
- package/package/components/runs/RunRow.svelte.d.ts +12 -9
- package/package/components/runs/RunsBatchActionsDropdown.svelte +13 -17
- package/package/components/runs/RunsBatchActionsDropdown.svelte.d.ts +5 -18
- package/package/components/runs/RunsFilter.svelte +369 -243
- package/package/components/runs/RunsFilter.svelte.d.ts +2 -0
- package/package/components/runs/RunsQueue.svelte +96 -25
- package/package/components/runs/RunsQueue.svelte.d.ts +7 -21
- package/package/components/runs/RunsTable.svelte +62 -71
- package/package/components/runs/RunsTable.svelte.d.ts +2 -1
- package/package/components/runs/runs-grid.css +95 -0
- package/package/components/schema/AddPropertyV2.svelte +2 -7
- package/package/components/schema/AddPropertyV2.svelte.d.ts +3 -20
- package/package/components/schema/EditableSchemaDrawer.svelte +121 -127
- package/package/components/schema/EditableSchemaDrawer.svelte.d.ts +2 -1
- package/package/components/schema/EditableSchemaSdkWrapper.svelte +16 -3
- package/package/components/schema/EditableSchemaSdkWrapper.svelte.d.ts +4 -1
- package/package/components/schema/EditableSchemaWrapper.svelte +3 -10
- package/package/components/schema/FlowPropertyEditor.svelte +195 -236
- package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
- package/package/components/schema/PropertyEditor.svelte +33 -35
- package/package/components/schema/SchemaFormDND.svelte +11 -10
- package/package/components/schema/SchemaFormDND.svelte.d.ts +4 -3
- package/package/components/schema/editable_schema_wrapper.d.ts +0 -3
- package/package/components/search/GlobalSearchModal.svelte +8 -1
- package/package/components/select/DraggableTags.svelte.d.ts +17 -7
- package/package/components/select/MultiSelect.svelte.d.ts +21 -11
- package/package/components/select/Select.svelte +2 -1
- package/package/components/select/Select.svelte.d.ts +25 -13
- package/package/components/select/SelectDropdown.svelte.d.ts +14 -7
- package/package/components/settings/PremiumInfo.svelte +7 -2
- package/package/components/settings/TokenDisplay.svelte +1 -1
- package/package/components/sidebar/OperatorMenu.svelte +5 -0
- package/package/components/sidebar/SidebarContent.svelte +48 -2
- package/package/components/sidebar/WorkspaceMenu.svelte +116 -17
- package/package/components/toast.js +6 -3
- package/package/components/triggers/AddTriggersButton.svelte +7 -6
- package/package/components/triggers/CaptureWrapper.svelte +21 -16
- package/package/components/triggers/CaptureWrapper.svelte.d.ts +1 -1
- package/package/components/triggers/TriggerLabel.svelte +8 -0
- package/package/components/triggers/TriggerTokens.svelte +1 -1
- package/package/components/triggers/TriggersEditor.svelte +9 -5
- package/package/components/triggers/TriggersTable.svelte +2 -2
- package/package/components/triggers/TriggersWrapper.svelte +17 -5
- package/package/components/triggers/TriggersWrapper.svelte.d.ts +3 -19
- package/package/components/{details/EmailTriggerCaptures.svelte → triggers/email/DefaultEmailCapture.svelte} +5 -5
- package/package/components/{details/EmailTriggerCaptures.svelte.d.ts → triggers/email/DefaultEmailCapture.svelte.d.ts} +4 -4
- package/package/components/{details/EmailTriggerConfigSection.svelte → triggers/email/DefaultEmailConfigSection.svelte} +24 -14
- package/package/components/triggers/email/DefaultEmailConfigSection.svelte.d.ts +13 -0
- package/package/components/triggers/email/DefaultEmailPanel.svelte +71 -0
- package/package/components/triggers/email/DefaultEmailPanel.svelte.d.ts +11 -0
- package/package/components/triggers/email/EmailCapture.svelte +39 -0
- package/package/components/triggers/email/EmailCapture.svelte.d.ts +43 -0
- package/package/components/triggers/email/EmailTriggerEditor.svelte +20 -0
- package/package/components/triggers/email/EmailTriggerEditor.svelte.d.ts +11 -0
- package/package/components/triggers/email/EmailTriggerEditorConfigSection.svelte +133 -0
- package/package/components/triggers/email/EmailTriggerEditorConfigSection.svelte.d.ts +14 -0
- package/package/components/triggers/email/EmailTriggerEditorInner.svelte +335 -0
- package/package/components/triggers/email/EmailTriggerEditorInner.svelte.d.ts +22 -0
- package/package/components/triggers/email/EmailTriggerPanel.svelte +61 -0
- package/package/components/triggers/email/EmailTriggerPanel.svelte.d.ts +14 -0
- package/package/components/triggers/email/utils.d.ts +4 -0
- package/package/components/triggers/email/utils.js +52 -0
- package/package/components/triggers/http/RouteEditorConfigSection.svelte +1 -1
- package/package/components/triggers/http/RouteEditorInner.svelte +1 -1
- package/package/components/triggers/http/utils.js +1 -1
- package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +23 -20
- package/package/components/triggers/nats/NatsTriggersConfigSection.svelte +15 -27
- package/package/components/triggers/nats/NatsTriggersConfigSection.svelte.d.ts +7 -5
- package/package/components/triggers/triggers.svelte.d.ts +1 -0
- package/package/components/triggers/triggers.svelte.js +24 -2
- package/package/components/triggers/utils.js +19 -5
- package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +16 -16
- package/package/components/triggers.d.ts +1 -1
- package/package/components/triggers.js +2 -0
- package/package/components/wizards/AgGridWizard.svelte +85 -80
- package/package/components/workspaceSettings/AISettings.svelte +74 -22
- package/package/components/workspaceSettings/AISettings.svelte.d.ts +2 -1
- package/package/components/workspaceSettings/CreateWorkspace.svelte +395 -0
- package/package/components/workspaceSettings/CreateWorkspace.svelte.d.ts +6 -0
- package/package/components/workspaceSettings/DucklakeSettings.svelte +3 -1
- package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +1 -1
- package/package/components/workspaceSettings/StorageSettings.svelte +69 -48
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +142 -3
- package/package/gen/schemas.gen.js +144 -3
- package/package/gen/services.gen.d.ts +129 -1
- package/package/gen/services.gen.js +267 -1
- package/package/gen/types.gen.d.ts +434 -8
- package/package/hubPaths.json +6 -2
- package/package/infer.js +1 -1
- package/package/keyboardChain.d.ts +5 -0
- package/package/keyboardChain.js +40 -0
- package/package/script_helpers.d.ts +2 -2
- package/package/script_helpers.js +2 -0
- package/package/services/JobManager.js +2 -2
- package/package/stores.d.ts +4 -1
- package/package/stores.js +16 -6
- package/package/utils/workspaceHierarchy.d.ts +27 -0
- package/package/utils/workspaceHierarchy.js +101 -0
- package/package/utils.d.ts +6 -3
- package/package/utils.js +30 -15
- package/package/workspace_settings.js +2 -3
- package/package.json +10 -12
- package/package/components/DynSelect.svelte.d.ts +0 -11
- package/package/components/ModulePreviewResultViewer.svelte.d.ts +0 -28
- package/package/components/ObjectTypeNarrowing.svelte +0 -18
- package/package/components/ObjectTypeNarrowing.svelte.d.ts +0 -22
- package/package/components/details/DetailPageTriggerPanel.svelte +0 -121
- package/package/components/details/DetailPageTriggerPanel.svelte.d.ts +0 -20
- package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +0 -12
- package/package/components/details/EmailTriggerPanel.svelte +0 -76
- package/package/components/details/EmailTriggerPanel.svelte.d.ts +0 -26
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
<script lang="ts">import 'chartjs-adapter-date-fns';
|
|
2
2
|
import zoomPlugin from 'chartjs-plugin-zoom';
|
|
3
3
|
import { Chart as ChartJS, CategoryScale, Legend, LineElement, LinearScale, PointElement, TimeScale, Title, Tooltip } from 'chart.js';
|
|
4
|
-
import { createEventDispatcher } from 'svelte';
|
|
5
4
|
import { getDbClockNow } from '../forLater';
|
|
6
5
|
import { Line } from './chartjs-wrappers/chartJs';
|
|
7
|
-
|
|
8
|
-
export let maxIsNow = false;
|
|
9
|
-
export let minTimeSet = undefined;
|
|
10
|
-
export let maxTimeSet = undefined;
|
|
11
|
-
const dispatch = createEventDispatcher();
|
|
6
|
+
let { extendedJobs = undefined, maxIsNow = false, minTimeSet = undefined, maxTimeSet = undefined, onZoom } = $props();
|
|
12
7
|
function calculateTimeSeries(extendedJobs) {
|
|
13
8
|
const timeline = new Map();
|
|
14
9
|
extendedJobs.jobs.forEach((j) => {
|
|
@@ -40,7 +35,7 @@ function calculateTimeSeries(extendedJobs) {
|
|
|
40
35
|
}
|
|
41
36
|
const s = timeline.get(startTime);
|
|
42
37
|
s.count += 1;
|
|
43
|
-
s.id_started.push('
|
|
38
|
+
s.id_started.push('unknown');
|
|
44
39
|
if (j.duration_ms != undefined) {
|
|
45
40
|
const jc = j;
|
|
46
41
|
const endTime = startTime + jc.duration_ms;
|
|
@@ -79,32 +74,13 @@ function calculateTimeSeries(extendedJobs) {
|
|
|
79
74
|
}
|
|
80
75
|
return result;
|
|
81
76
|
}
|
|
82
|
-
let intervals = undefined;
|
|
83
|
-
$: intervals = extendedJobs ? calculateTimeSeries(extendedJobs) : undefined;
|
|
84
77
|
ChartJS.register(Title, Tooltip, Legend, zoomPlugin, LineElement, CategoryScale, LinearScale, PointElement, TimeScale);
|
|
85
|
-
$: data = {
|
|
86
|
-
datasets: [
|
|
87
|
-
{
|
|
88
|
-
borderColor: '#4ade80',
|
|
89
|
-
backgroundColor: '#f8717100',
|
|
90
|
-
pointRadius: 0,
|
|
91
|
-
label: 'running',
|
|
92
|
-
showLine: true,
|
|
93
|
-
stepped: true,
|
|
94
|
-
data: intervals?.map((job) => ({
|
|
95
|
-
x: job.time,
|
|
96
|
-
y: job.count,
|
|
97
|
-
id: job.msg
|
|
98
|
-
})) ?? []
|
|
99
|
-
}
|
|
100
|
-
]
|
|
101
|
-
};
|
|
102
78
|
const zoomOptions = {
|
|
103
79
|
pan: {
|
|
104
80
|
enabled: true,
|
|
105
81
|
modifierKey: 'ctrl',
|
|
106
82
|
onPanComplete: ({ chart }) => {
|
|
107
|
-
|
|
83
|
+
onZoom({
|
|
108
84
|
min: addSeconds(new Date(chart.scales.x.min), -1),
|
|
109
85
|
max: addSeconds(new Date(chart.scales.x.max), 1)
|
|
110
86
|
});
|
|
@@ -116,16 +92,13 @@ const zoomOptions = {
|
|
|
116
92
|
},
|
|
117
93
|
mode: 'x',
|
|
118
94
|
onZoom: ({ chart }) => {
|
|
119
|
-
|
|
95
|
+
onZoom({
|
|
120
96
|
min: addSeconds(new Date(chart.scales.x.min), -1),
|
|
121
97
|
max: addSeconds(new Date(chart.scales.x.max), 1)
|
|
122
98
|
});
|
|
123
99
|
}
|
|
124
100
|
}
|
|
125
101
|
};
|
|
126
|
-
let minTime = addSeconds(new Date(), -300);
|
|
127
|
-
let maxTime = getDbClockNow();
|
|
128
|
-
$: computeMinMaxTime(intervals, minTimeSet, maxTimeSet);
|
|
129
102
|
function minJobTime(intervals) {
|
|
130
103
|
return intervals[0].time;
|
|
131
104
|
}
|
|
@@ -136,31 +109,46 @@ function computeMinMaxTime(intervals, minTimeSet, maxTimeSet) {
|
|
|
136
109
|
let minTimeSetDate = minTimeSet ? new Date(minTimeSet) : undefined;
|
|
137
110
|
let maxTimeSetDate = maxTimeSet ? new Date(maxTimeSet) : undefined;
|
|
138
111
|
if (minTimeSetDate && maxTimeSetDate) {
|
|
139
|
-
|
|
140
|
-
maxTime = maxTimeSetDate;
|
|
141
|
-
return;
|
|
112
|
+
return { min: minTimeSetDate, max: maxTimeSetDate };
|
|
142
113
|
}
|
|
143
114
|
if (intervals == undefined || intervals?.length == 0) {
|
|
144
|
-
minTime = minTimeSetDate ?? addSeconds(new Date(), -300);
|
|
145
|
-
maxTime = maxTimeSetDate ?? getDbClockNow();
|
|
146
|
-
return;
|
|
115
|
+
const minTime = minTimeSetDate ?? addSeconds(new Date(), -300);
|
|
116
|
+
const maxTime = maxTimeSetDate ?? getDbClockNow();
|
|
117
|
+
return { min: minTime, max: maxTime };
|
|
147
118
|
}
|
|
148
119
|
const maxJob = maxIsNow ? getDbClockNow() : maxJobTime(intervals);
|
|
149
120
|
const minJob = minJobTime(intervals);
|
|
150
121
|
const diff = (maxJob.getTime() - minJob.getTime()) / 20000;
|
|
151
|
-
minTime = minTimeSetDate ?? addSeconds(minJob, -diff);
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
maxTime = maxTimeSetDate ?? addSeconds(maxJob, diff);
|
|
157
|
-
}
|
|
122
|
+
const minTime = minTimeSetDate ?? addSeconds(minJob, -diff);
|
|
123
|
+
const maxTime = maxIsNow
|
|
124
|
+
? (maxTimeSetDate ?? maxJob)
|
|
125
|
+
: (maxTimeSetDate ?? addSeconds(maxJob, diff));
|
|
126
|
+
return { min: minTime, max: maxTime };
|
|
158
127
|
}
|
|
159
128
|
function addSeconds(date, seconds) {
|
|
160
129
|
date.setTime(date.getTime() + seconds * 1000);
|
|
161
130
|
return date;
|
|
162
131
|
}
|
|
163
|
-
|
|
132
|
+
const intervals = $derived(extendedJobs ? calculateTimeSeries(extendedJobs) : undefined);
|
|
133
|
+
let data = $derived({
|
|
134
|
+
datasets: [
|
|
135
|
+
{
|
|
136
|
+
borderColor: '#4ade80',
|
|
137
|
+
backgroundColor: '#f8717100',
|
|
138
|
+
pointRadius: 0,
|
|
139
|
+
label: 'running',
|
|
140
|
+
showLine: true,
|
|
141
|
+
stepped: true,
|
|
142
|
+
data: intervals?.map((job) => ({
|
|
143
|
+
x: job.time,
|
|
144
|
+
y: job.count,
|
|
145
|
+
id: job.msg
|
|
146
|
+
})) ?? []
|
|
147
|
+
}
|
|
148
|
+
]
|
|
149
|
+
});
|
|
150
|
+
const minMaxTimes = $derived(computeMinMaxTime(intervals, minTimeSet, maxTimeSet));
|
|
151
|
+
let options = $derived({
|
|
164
152
|
responsive: true,
|
|
165
153
|
maintainAspectRatio: false,
|
|
166
154
|
plugins: {
|
|
@@ -182,8 +170,8 @@ $: options = {
|
|
|
182
170
|
grid: {
|
|
183
171
|
display: false
|
|
184
172
|
},
|
|
185
|
-
min:
|
|
186
|
-
max:
|
|
173
|
+
min: minMaxTimes.min,
|
|
174
|
+
max: minMaxTimes.max
|
|
187
175
|
},
|
|
188
176
|
y: {
|
|
189
177
|
grid: {
|
|
@@ -204,7 +192,7 @@ $: options = {
|
|
|
204
192
|
intersect: false,
|
|
205
193
|
mode: 'index'
|
|
206
194
|
}
|
|
207
|
-
};
|
|
195
|
+
});
|
|
208
196
|
</script>
|
|
209
197
|
|
|
210
198
|
<div class="relative max-h-40">
|
|
@@ -1,27 +1,15 @@
|
|
|
1
1
|
import 'chartjs-adapter-date-fns';
|
|
2
2
|
import type { ExtendedJobs } from '../gen';
|
|
3
|
-
interface
|
|
4
|
-
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
5
|
-
$$bindings?: Bindings;
|
|
6
|
-
} & Exports;
|
|
7
|
-
(internal: unknown, props: Props & {
|
|
8
|
-
$$events?: Events;
|
|
9
|
-
$$slots?: Slots;
|
|
10
|
-
}): Exports & {
|
|
11
|
-
$set?: any;
|
|
12
|
-
$on?: any;
|
|
13
|
-
};
|
|
14
|
-
z_$$bindings?: Bindings;
|
|
15
|
-
}
|
|
16
|
-
declare const ConcurrentJobsChart: $$__sveltets_2_IsomorphicComponent<{
|
|
3
|
+
interface Props {
|
|
17
4
|
extendedJobs?: ExtendedJobs | undefined;
|
|
18
5
|
maxIsNow?: boolean;
|
|
19
6
|
minTimeSet?: string | undefined;
|
|
20
7
|
maxTimeSet?: string | undefined;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
8
|
+
onZoom: (zoom: {
|
|
9
|
+
min: Date;
|
|
10
|
+
max: Date;
|
|
11
|
+
}) => void;
|
|
12
|
+
}
|
|
13
|
+
declare const ConcurrentJobsChart: import("svelte").Component<Props, {}, "">;
|
|
14
|
+
type ConcurrentJobsChart = ReturnType<typeof ConcurrentJobsChart>;
|
|
27
15
|
export default ConcurrentJobsChart;
|
|
@@ -27,7 +27,7 @@ import { approximateFindPythonRelativePath, isTypescriptRelativePath, parseTypes
|
|
|
27
27
|
import Tooltip from './Tooltip.svelte';
|
|
28
28
|
import { workspaceAIClients } from './copilot/lib';
|
|
29
29
|
import { Triggers } from './triggers/triggers.svelte';
|
|
30
|
-
import {
|
|
30
|
+
import { StepsInputArgs } from './flows/stepsInputArgs.svelte';
|
|
31
31
|
import { ModulesTestStates } from './modulesTest.svelte';
|
|
32
32
|
let flowCopilotContext = {
|
|
33
33
|
shouldUpdatePropertyType: writable({}),
|
|
@@ -374,7 +374,7 @@ const previewArgsStore = $state({ val: {} });
|
|
|
374
374
|
const scriptEditorDrawer = writable(undefined);
|
|
375
375
|
const moving = writable(undefined);
|
|
376
376
|
const history = initHistory(flowStore.val);
|
|
377
|
-
const
|
|
377
|
+
const stepsInputArgs = new StepsInputArgs();
|
|
378
378
|
const selectedIdStore = writable('settings-metadata');
|
|
379
379
|
const triggersCount = writable(undefined);
|
|
380
380
|
const modulesTestStates = new ModulesTestStates((moduleId) => {
|
|
@@ -397,7 +397,7 @@ setContext('FlowEditorContext', {
|
|
|
397
397
|
pathStore: writable(''),
|
|
398
398
|
flowStateStore,
|
|
399
399
|
flowStore,
|
|
400
|
-
|
|
400
|
+
stepsInputArgs,
|
|
401
401
|
saveDraft: () => { },
|
|
402
402
|
initialPathStore: writable(''),
|
|
403
403
|
fakeInitialPath: '',
|
|
@@ -708,7 +708,7 @@ const flowHasChanged = $derived(flowPreviewContent?.flowHasChanged());
|
|
|
708
708
|
noEditor
|
|
709
709
|
on:applyArgs={(ev) => {
|
|
710
710
|
if (ev.detail.kind === 'preprocessor') {
|
|
711
|
-
|
|
711
|
+
stepsInputArgs.setStepArgs('preprocessor', ev.detail.args ?? {})
|
|
712
712
|
$selectedIdStore = 'preprocessor'
|
|
713
713
|
} else {
|
|
714
714
|
previewArgsStore.val = ev.detail.args ?? {}
|
|
@@ -720,6 +720,7 @@ const flowHasChanged = $derived(flowPreviewContent?.flowHasChanged());
|
|
|
720
720
|
isOwner={flowPreviewContent?.getIsOwner()}
|
|
721
721
|
{suspendStatus}
|
|
722
722
|
onOpenDetails={flowPreviewButtons?.openPreview}
|
|
723
|
+
previewOpen={flowPreviewButtons?.getPreviewOpen()}
|
|
723
724
|
/>
|
|
724
725
|
{/key}
|
|
725
726
|
</Pane>
|
|
@@ -155,7 +155,7 @@ export function setDiff(diff) {
|
|
|
155
155
|
<Module.default
|
|
156
156
|
open={true}
|
|
157
157
|
automaticLayout
|
|
158
|
-
|
|
158
|
+
className="h-full"
|
|
159
159
|
defaultLang={lang}
|
|
160
160
|
defaultModifiedLang={data.current.lang}
|
|
161
161
|
defaultOriginal={content}
|
|
@@ -170,7 +170,7 @@ export function setDiff(diff) {
|
|
|
170
170
|
<Module.default
|
|
171
171
|
open={true}
|
|
172
172
|
automaticLayout
|
|
173
|
-
|
|
173
|
+
className="h-full"
|
|
174
174
|
defaultLang="yaml"
|
|
175
175
|
defaultOriginal={metadata}
|
|
176
176
|
defaultModified={data.current.metadata}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script lang="ts">import { BROWSER } from 'esm-env';
|
|
2
|
-
import {
|
|
2
|
+
import { onMount } from 'svelte';
|
|
3
3
|
import '@codingame/monaco-vscode-standalone-languages';
|
|
4
4
|
import '@codingame/monaco-vscode-standalone-json-language-features';
|
|
5
5
|
import '@codingame/monaco-vscode-standalone-typescript-language-features';
|
|
@@ -7,20 +7,12 @@ import { editor as meditor } from 'monaco-editor';
|
|
|
7
7
|
import { initializeVscode } from './vscode';
|
|
8
8
|
import EditorTheme from './EditorTheme.svelte';
|
|
9
9
|
import Button from './common/button/Button.svelte';
|
|
10
|
+
import { twMerge } from 'tailwind-merge';
|
|
10
11
|
const SIDE_BY_SIDE_MIN_WIDTH = 700;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export let defaultOriginal = undefined;
|
|
16
|
-
export let defaultModified = undefined;
|
|
17
|
-
export let readOnly = false;
|
|
18
|
-
export let showButtons = false;
|
|
19
|
-
export let showHistoryButton = true;
|
|
20
|
-
let diffEditor;
|
|
21
|
-
let diffDivEl = null;
|
|
22
|
-
let editorWidth = SIDE_BY_SIDE_MIN_WIDTH;
|
|
23
|
-
export let open = false;
|
|
12
|
+
let { open = false, className = '', automaticLayout = true, fixedOverflowWidgets = true, defaultLang, defaultModifiedLang, defaultOriginal = undefined, defaultModified = undefined, readOnly = false, buttons = [], modifiedModel } = $props();
|
|
13
|
+
let diffEditor = $state(undefined);
|
|
14
|
+
let diffDivEl = $state(null);
|
|
15
|
+
let editorWidth = $state(SIDE_BY_SIDE_MIN_WIDTH);
|
|
24
16
|
async function loadDiffEditor() {
|
|
25
17
|
await initializeVscode();
|
|
26
18
|
if (!diffDivEl) {
|
|
@@ -40,23 +32,17 @@ async function loadDiffEditor() {
|
|
|
40
32
|
lineNumbersMinChars: 2,
|
|
41
33
|
scrollbar: { alwaysConsumeMouseWheel: false }
|
|
42
34
|
});
|
|
43
|
-
if (
|
|
44
|
-
defaultModified !== undefined &&
|
|
45
|
-
defaultLang !== undefined) {
|
|
35
|
+
if (defaultLang !== undefined) {
|
|
46
36
|
setupModel(defaultLang, defaultOriginal, defaultModified, defaultModifiedLang);
|
|
47
37
|
}
|
|
48
38
|
}
|
|
49
39
|
export function setupModel(lang, original, modified, modifiedLang) {
|
|
40
|
+
const o = meditor.createModel(original ?? '', lang);
|
|
41
|
+
const m = modifiedModel ?? meditor.createModel(modified ?? '', modifiedLang ?? lang);
|
|
50
42
|
diffEditor?.setModel({
|
|
51
|
-
original:
|
|
52
|
-
modified:
|
|
43
|
+
original: o,
|
|
44
|
+
modified: m
|
|
53
45
|
});
|
|
54
|
-
if (original) {
|
|
55
|
-
setOriginal(original);
|
|
56
|
-
}
|
|
57
|
-
if (modified) {
|
|
58
|
-
setModified(modified);
|
|
59
|
-
}
|
|
60
46
|
}
|
|
61
47
|
export function setOriginal(code) {
|
|
62
48
|
diffEditor?.getModel()?.original?.setValue(code);
|
|
@@ -69,6 +55,15 @@ export function setModified(code) {
|
|
|
69
55
|
diffEditor?.getModel()?.modified?.setValue(code);
|
|
70
56
|
defaultModified = code;
|
|
71
57
|
}
|
|
58
|
+
export function setModifiedModel(model) {
|
|
59
|
+
const curr = diffEditor?.getModel();
|
|
60
|
+
if (!curr)
|
|
61
|
+
return;
|
|
62
|
+
diffEditor?.setModel({
|
|
63
|
+
original: curr.original,
|
|
64
|
+
modified: model
|
|
65
|
+
});
|
|
66
|
+
}
|
|
72
67
|
export function getModified() {
|
|
73
68
|
return diffEditor?.getModel()?.modified.getValue() ?? '';
|
|
74
69
|
}
|
|
@@ -81,8 +76,14 @@ export function hide() {
|
|
|
81
76
|
function onWidthChange(editorWidth) {
|
|
82
77
|
diffEditor?.updateOptions({ renderSideBySide: editorWidth >= SIDE_BY_SIDE_MIN_WIDTH });
|
|
83
78
|
}
|
|
84
|
-
|
|
85
|
-
|
|
79
|
+
$effect(() => {
|
|
80
|
+
if (open && diffDivEl) {
|
|
81
|
+
loadDiffEditor();
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
$effect(() => {
|
|
85
|
+
onWidthChange(editorWidth);
|
|
86
|
+
});
|
|
86
87
|
onMount(() => {
|
|
87
88
|
if (BROWSER) {
|
|
88
89
|
return () => {
|
|
@@ -90,28 +91,24 @@ onMount(() => {
|
|
|
90
91
|
};
|
|
91
92
|
}
|
|
92
93
|
});
|
|
93
|
-
const dispatch = createEventDispatcher();
|
|
94
94
|
</script>
|
|
95
95
|
|
|
96
96
|
{#if open}
|
|
97
97
|
<EditorTheme />
|
|
98
98
|
<div
|
|
99
99
|
bind:this={diffDivEl}
|
|
100
|
-
class=
|
|
100
|
+
class={twMerge('editor nonmain-editor', className)}
|
|
101
101
|
bind:clientWidth={editorWidth}
|
|
102
102
|
></div>
|
|
103
|
-
{#if
|
|
103
|
+
{#if buttons.length > 0}
|
|
104
104
|
<div
|
|
105
105
|
class="absolute flex flex-row gap-2 bottom-10 left-1/2 z-10 -translate-x-1/2 rounded-md p-1 w-full justify-center"
|
|
106
106
|
>
|
|
107
|
-
{#
|
|
108
|
-
<Button on:click={
|
|
109
|
-
>
|
|
107
|
+
{#each buttons as button}
|
|
108
|
+
<Button on:click={button.onClick} variant="contained" size="sm" color={button.color}
|
|
109
|
+
>{button.text}</Button
|
|
110
110
|
>
|
|
111
|
-
{/
|
|
112
|
-
<Button on:click={() => dispatch('hideDiffMode')} variant="contained" size="sm" color="red"
|
|
113
|
-
>Quit diff mode</Button
|
|
114
|
-
>
|
|
111
|
+
{/each}
|
|
115
112
|
</div>
|
|
116
113
|
{/if}
|
|
117
114
|
{/if}
|
|
@@ -1,51 +1,35 @@
|
|
|
1
1
|
import '@codingame/monaco-vscode-standalone-languages';
|
|
2
2
|
import '@codingame/monaco-vscode-standalone-json-language-features';
|
|
3
3
|
import '@codingame/monaco-vscode-standalone-typescript-language-features';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
$$slots?: Slots;
|
|
11
|
-
}): Exports & {
|
|
12
|
-
$set?: any;
|
|
13
|
-
$on?: any;
|
|
14
|
-
};
|
|
15
|
-
z_$$bindings?: Bindings;
|
|
4
|
+
import { editor as meditor } from 'monaco-editor';
|
|
5
|
+
import type { ButtonType } from './common';
|
|
6
|
+
export interface ButtonProp {
|
|
7
|
+
text: string;
|
|
8
|
+
color?: ButtonType.Color;
|
|
9
|
+
onClick: () => void;
|
|
16
10
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
getOriginal?: (() => string) | undefined;
|
|
32
|
-
setModified?: ((code: string) => void) | undefined;
|
|
33
|
-
getModified?: (() => string) | undefined;
|
|
34
|
-
show?: (() => void) | undefined;
|
|
35
|
-
hide?: (() => void) | undefined;
|
|
36
|
-
}, {
|
|
37
|
-
hideDiffMode: CustomEvent<void>;
|
|
38
|
-
seeHistory: CustomEvent<void>;
|
|
39
|
-
} & {
|
|
40
|
-
[evt: string]: CustomEvent<any>;
|
|
41
|
-
}, {}, {
|
|
11
|
+
interface Props {
|
|
12
|
+
open?: boolean;
|
|
13
|
+
className?: string;
|
|
14
|
+
automaticLayout?: boolean;
|
|
15
|
+
fixedOverflowWidgets?: boolean;
|
|
16
|
+
defaultLang?: string;
|
|
17
|
+
defaultModifiedLang?: string;
|
|
18
|
+
defaultOriginal?: string;
|
|
19
|
+
defaultModified?: string;
|
|
20
|
+
readOnly?: boolean;
|
|
21
|
+
buttons?: ButtonProp[];
|
|
22
|
+
modifiedModel?: meditor.ITextModel;
|
|
23
|
+
}
|
|
24
|
+
declare const DiffEditor: import("svelte").Component<Props, {
|
|
42
25
|
setupModel: (lang: string, original?: string, modified?: string, modifiedLang?: string) => void;
|
|
43
26
|
setOriginal: (code: string) => void;
|
|
44
27
|
getOriginal: () => string;
|
|
45
28
|
setModified: (code: string) => void;
|
|
29
|
+
setModifiedModel: (model: meditor.ITextModel) => void;
|
|
46
30
|
getModified: () => string;
|
|
47
31
|
show: () => void;
|
|
48
32
|
hide: () => void;
|
|
49
|
-
},
|
|
50
|
-
type DiffEditor =
|
|
33
|
+
}, "">;
|
|
34
|
+
type DiffEditor = ReturnType<typeof DiffEditor>;
|
|
51
35
|
export default DiffEditor;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<script lang="ts">import DropdownV2 from './DropdownV2.svelte';
|
|
2
|
+
import { ChevronDown } from 'lucide-svelte';
|
|
3
|
+
import { twMerge } from 'tailwind-merge';
|
|
4
|
+
let { items = [], extraLabel, selected, selectedDisplayName, btnClasses } = $props();
|
|
5
|
+
const filteredItems = $derived(items.filter((item) => item.id !== selected));
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<DropdownV2 items={filteredItems}>
|
|
9
|
+
{#snippet buttonReplacement()}
|
|
10
|
+
<div
|
|
11
|
+
class={twMerge(
|
|
12
|
+
'p-2 h-8 flex flex-row items-center gap-2 border hover:bg-surface-hover cursor-pointer rounded-md',
|
|
13
|
+
btnClasses
|
|
14
|
+
)}
|
|
15
|
+
>
|
|
16
|
+
<div class="flex flex-row items-center gap-1 pr-2 justify-between w-full">
|
|
17
|
+
<span class="text-xs whitespace-nowrap">
|
|
18
|
+
{selectedDisplayName ?? items.find((item) => item.id === selected)?.displayName ?? ''}
|
|
19
|
+
</span>
|
|
20
|
+
|
|
21
|
+
{@render extraLabel?.()}
|
|
22
|
+
</div>
|
|
23
|
+
<ChevronDown size={12} />
|
|
24
|
+
</div>
|
|
25
|
+
{/snippet}
|
|
26
|
+
</DropdownV2>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Item } from '../utils';
|
|
2
|
+
interface Props {
|
|
3
|
+
items?: Item[];
|
|
4
|
+
extraLabel?: import('svelte').Snippet;
|
|
5
|
+
selected: string;
|
|
6
|
+
selectedDisplayName?: string;
|
|
7
|
+
btnClasses?: string;
|
|
8
|
+
}
|
|
9
|
+
declare const DropdownSelect: import("svelte").Component<Props, {}, "">;
|
|
10
|
+
type DropdownSelect = ReturnType<typeof DropdownSelect>;
|
|
11
|
+
export default DropdownSelect;
|
|
@@ -36,7 +36,7 @@ computeItems();
|
|
|
36
36
|
aiDescription={item.displayName}
|
|
37
37
|
>
|
|
38
38
|
{#if item.icon}
|
|
39
|
-
<item.icon size={14} color={item.iconColor} />
|
|
39
|
+
<item.icon size={14} color={item.iconColor} class="shrink-0" />
|
|
40
40
|
{/if}
|
|
41
41
|
<p title={item.displayName} class="truncate grow min-w-0 whitespace-nowrap text-left">
|
|
42
42
|
{item.displayName}
|
|
@@ -17,12 +17,20 @@ function validSelectObject(x) {
|
|
|
17
17
|
<script lang="ts">import { usePromise } from '../svelte5Utils.svelte';
|
|
18
18
|
import JobLoader, {} from './JobLoader.svelte';
|
|
19
19
|
import Select from './select/Select.svelte';
|
|
20
|
+
import MultiSelect from './select/MultiSelect.svelte';
|
|
21
|
+
import { safeSelectItems } from './select/utils.svelte';
|
|
20
22
|
import Tooltip from './Tooltip.svelte';
|
|
21
23
|
import { Loader2 } from 'lucide-svelte';
|
|
22
24
|
import {} from '../utils';
|
|
23
25
|
import { deepEqual } from 'fast-equals';
|
|
24
26
|
import { untrack } from 'svelte';
|
|
25
|
-
let { value = $bindable(), helperScript,
|
|
27
|
+
let { value = $bindable(), helperScript, format, otherArgs: otherArgs } = $props();
|
|
28
|
+
const [inputType, entrypoint] = format.includes('-') ? format.split('-', 2) : [format, ''];
|
|
29
|
+
const isMultiple = inputType === 'dynmultiselect';
|
|
30
|
+
const isSelect = inputType === 'dynselect' || inputType === 'dynmultiselect';
|
|
31
|
+
if (isMultiple && value === undefined) {
|
|
32
|
+
value = [];
|
|
33
|
+
}
|
|
26
34
|
let resultJobLoader = $state();
|
|
27
35
|
let _items = usePromise(getItemsFromOptions, { clearValueOnRefresh: false });
|
|
28
36
|
let items = $derived(_items.value);
|
|
@@ -34,7 +42,7 @@ async function getItemsFromOptions() {
|
|
|
34
42
|
doneResult({ result }) {
|
|
35
43
|
if (!result || !Array.isArray(result)) {
|
|
36
44
|
if (result?.error?.message && result?.error?.name) {
|
|
37
|
-
reject(
|
|
45
|
+
reject(`Error in ${inputType} function execution: ` +
|
|
38
46
|
result?.error?.name +
|
|
39
47
|
' - ' +
|
|
40
48
|
result?.error?.message);
|
|
@@ -67,9 +75,18 @@ async function getItemsFromOptions() {
|
|
|
67
75
|
}
|
|
68
76
|
let neverLoaded = $state(true);
|
|
69
77
|
$effect(() => {
|
|
70
|
-
if (_items.value && value) {
|
|
71
|
-
if (
|
|
72
|
-
|
|
78
|
+
if (_items.value && value !== undefined && isSelect) {
|
|
79
|
+
if (isMultiple && Array.isArray(value)) {
|
|
80
|
+
const availableValues = new Set(_items.value.map((x) => x.value));
|
|
81
|
+
const filteredValue = value.filter((v) => availableValues.has(v));
|
|
82
|
+
if (filteredValue.length !== value.length) {
|
|
83
|
+
value = filteredValue;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else if (!isMultiple && value !== undefined) {
|
|
87
|
+
if (!_items.value.find((x) => x.value == value)) {
|
|
88
|
+
value = undefined;
|
|
89
|
+
}
|
|
73
90
|
}
|
|
74
91
|
}
|
|
75
92
|
});
|
|
@@ -98,15 +115,30 @@ $effect(() => {
|
|
|
98
115
|
<JobLoader onlyResult bind:this={resultJobLoader} />
|
|
99
116
|
|
|
100
117
|
<div class="w-full flex-col flex">
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
118
|
+
{#if inputType === 'dynmultiselect'}
|
|
119
|
+
<MultiSelect
|
|
120
|
+
bind:value
|
|
121
|
+
items={safeSelectItems(items || [])}
|
|
122
|
+
placeholder="Select items"
|
|
123
|
+
noItemsMsg={_items.status === 'loading' ? 'Loading...' : 'No items found'}
|
|
124
|
+
disabled={_items.status === 'loading'}
|
|
125
|
+
/>
|
|
126
|
+
{:else if inputType === 'dynselect'}
|
|
127
|
+
<Select
|
|
128
|
+
bind:value
|
|
129
|
+
bind:open
|
|
130
|
+
{items}
|
|
131
|
+
bind:filterText
|
|
132
|
+
loading={!open && _items.status === 'loading'}
|
|
133
|
+
clearable
|
|
134
|
+
noItemsMsg={_items.status === 'loading' ? 'Loading...' : 'No items found'}
|
|
135
|
+
/>
|
|
136
|
+
{:else}
|
|
137
|
+
<!-- Future dynamic input types can be added here -->
|
|
138
|
+
<div class="text-red-400 text-sm">
|
|
139
|
+
Unsupported dynamic input type: {inputType}
|
|
140
|
+
</div>
|
|
141
|
+
{/if}
|
|
110
142
|
{#if _items.error}
|
|
111
143
|
<div class="text-red-400 text-2xs">
|
|
112
144
|
error: <Tooltip>{_items.error}</Tooltip>
|
|
@@ -116,7 +148,7 @@ $effect(() => {
|
|
|
116
148
|
{:else}
|
|
117
149
|
<div class="flex flex-col gap-1 w-full">
|
|
118
150
|
<div class="text-xs text-tertiary"
|
|
119
|
-
>Dynamic
|
|
151
|
+
>Dynamic input ({inputType}) is not available in this mode, write value directly</div
|
|
120
152
|
>
|
|
121
153
|
{#await import('./JsonEditor.svelte')}
|
|
122
154
|
<Loader2 class="animate-spin" />
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type DynamicInput } from '../utils';
|
|
2
|
+
interface Props {
|
|
3
|
+
value?: any;
|
|
4
|
+
helperScript?: DynamicInput.HelperScript;
|
|
5
|
+
format: string;
|
|
6
|
+
otherArgs?: Record<string, any>;
|
|
7
|
+
name: string;
|
|
8
|
+
}
|
|
9
|
+
declare const DynamicInput: import("svelte").Component<Props, {}, "value">;
|
|
10
|
+
type DynamicInput = ReturnType<typeof DynamicInput>;
|
|
11
|
+
export default DynamicInput;
|