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
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
</script>
|
|
9
9
|
|
|
10
10
|
<script lang="ts">import { createEventDispatcher, getContext, untrack } from 'svelte';
|
|
11
|
+
import { computeShow } from '../utils';
|
|
11
12
|
import ArgInput from './ArgInput.svelte';
|
|
12
13
|
import FieldHeader from './FieldHeader.svelte';
|
|
13
14
|
import DynamicInputHelpBox from './flows/content/DynamicInputHelpBox.svelte';
|
|
@@ -17,7 +18,6 @@ import { Button } from './common';
|
|
|
17
18
|
import ToggleButtonGroup from './common/toggleButton-v2/ToggleButtonGroup.svelte';
|
|
18
19
|
import ToggleButton from './common/toggleButton-v2/ToggleButton.svelte';
|
|
19
20
|
import { tick } from 'svelte';
|
|
20
|
-
import { fade } from 'svelte/transition';
|
|
21
21
|
import { buildPrefixRegex } from './flows/previousResults';
|
|
22
22
|
import TemplateEditor from './TemplateEditor.svelte';
|
|
23
23
|
import { setInputCat as computeInputCat, isCodeInjection } from '../utils';
|
|
@@ -27,11 +27,14 @@ import StepInputGen from './copilot/StepInputGen.svelte';
|
|
|
27
27
|
import { twMerge } from 'tailwind-merge';
|
|
28
28
|
import FlowPlugConnect from './FlowPlugConnect.svelte';
|
|
29
29
|
import { deepEqual } from 'fast-equals';
|
|
30
|
-
|
|
30
|
+
import S3ArrayHelperButton from './S3ArrayHelperButton.svelte';
|
|
31
|
+
import { inputBorderClass } from './text_input/TextInput.svelte';
|
|
32
|
+
let { schema = $bindable(), arg = $bindable(), argName = $bindable(), headerTooltip = undefined, headerTooltipIconClass = '', HeaderTooltipIcon = InfoIcon, extraLib = $bindable('missing extraLib'), inputCheck = $bindable(true), previousModuleId, pickForField = $bindable(undefined), variableEditor = undefined, itemPicker = undefined, noDynamicToggle = false, argExtra = {}, pickableProperties = undefined, enableAi = false, hideHelpButton = false, class: className = '', editor = $bindable(undefined), otherArgs = {}, helperScript = undefined } = $props();
|
|
31
33
|
let monaco = $state(undefined);
|
|
32
34
|
let monacoTemplate = $state(undefined);
|
|
33
35
|
let argInput = $state(undefined);
|
|
34
36
|
let focusedPrev = false;
|
|
37
|
+
let hidden = $state(false);
|
|
35
38
|
const variableMatch = (value) => value.match(/^variable\('([^']+)'\)$/);
|
|
36
39
|
const resourceMatch = (value) => value.match(/^resource\('([^']+)'\)$/);
|
|
37
40
|
const dispatch = createEventDispatcher();
|
|
@@ -144,6 +147,46 @@ function handleKeyUp(e) {
|
|
|
144
147
|
function isStaticTemplate(inputCat) {
|
|
145
148
|
return inputCat === 'string' || inputCat === 'sql' || inputCat == 'yaml';
|
|
146
149
|
}
|
|
150
|
+
function appendPathToArrayExpr(currentExpr, path) {
|
|
151
|
+
const trimmedExpr = currentExpr?.trim() || '';
|
|
152
|
+
let newExpr = trimmedExpr;
|
|
153
|
+
if (trimmedExpr.startsWith('[') && trimmedExpr.endsWith(']')) {
|
|
154
|
+
// Parse existing array and append new item
|
|
155
|
+
const innerContent = trimmedExpr.slice(1, -1).trim();
|
|
156
|
+
if (innerContent) {
|
|
157
|
+
newExpr = `[${innerContent}, ${path}]`;
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
newExpr = `[${path}]`;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
// Create new array with single item
|
|
165
|
+
newExpr = `[${path}]`;
|
|
166
|
+
}
|
|
167
|
+
arg.expr = newExpr;
|
|
168
|
+
arg.type = 'javascript';
|
|
169
|
+
// Update Monaco editor after setting the expression
|
|
170
|
+
tick().then(() => {
|
|
171
|
+
monaco?.setCode(newExpr);
|
|
172
|
+
});
|
|
173
|
+
// Dispatch change
|
|
174
|
+
dispatch('change', { argName, arg });
|
|
175
|
+
}
|
|
176
|
+
async function switchToJsAndConnect(onPath) {
|
|
177
|
+
// Switch to JavaScript mode
|
|
178
|
+
propertyType = 'javascript';
|
|
179
|
+
arg.type = 'javascript';
|
|
180
|
+
arg.expr = arg.expr || '[]';
|
|
181
|
+
arg.value = undefined;
|
|
182
|
+
// Wait for the component to re-render and Monaco to be available
|
|
183
|
+
await tick();
|
|
184
|
+
// Activate connect mode
|
|
185
|
+
focusProp?.(argName, 'connect', (path) => {
|
|
186
|
+
onPath(path);
|
|
187
|
+
return true;
|
|
188
|
+
});
|
|
189
|
+
}
|
|
147
190
|
function connectProperty(rawValue) {
|
|
148
191
|
// Extract path from variable('x') or resource('x') format
|
|
149
192
|
const varMatch = variableMatch(rawValue);
|
|
@@ -167,6 +210,41 @@ function connectProperty(rawValue) {
|
|
|
167
210
|
monaco?.setCode(arg.expr);
|
|
168
211
|
}
|
|
169
212
|
}
|
|
213
|
+
function handleFieldVisibility(schema, arg, otherArgs) {
|
|
214
|
+
const schemaProperty = schema?.properties?.[argName];
|
|
215
|
+
if (schemaProperty?.showExpr) {
|
|
216
|
+
// Build args object with current field value and other context
|
|
217
|
+
const currentValue = propertyType === 'static' ? arg?.value : arg?.expr;
|
|
218
|
+
// Convert otherArgs from InputTransform objects to their actual values
|
|
219
|
+
const contextArgs = {
|
|
220
|
+
[argName]: currentValue
|
|
221
|
+
};
|
|
222
|
+
// Extract values from InputTransform objects in otherArgs
|
|
223
|
+
Object.keys(otherArgs ?? {}).forEach((key) => {
|
|
224
|
+
const otherArg = otherArgs[key];
|
|
225
|
+
const otherArgValue = otherArg.type === 'static' ? otherArg.value : otherArg.expr;
|
|
226
|
+
contextArgs[key] = otherArgValue;
|
|
227
|
+
});
|
|
228
|
+
const shouldShow = computeShow(argName, schemaProperty.showExpr, contextArgs);
|
|
229
|
+
if (shouldShow) {
|
|
230
|
+
hidden = false;
|
|
231
|
+
}
|
|
232
|
+
else if (!hidden) {
|
|
233
|
+
hidden = true;
|
|
234
|
+
// Clear the arg value when hidden (following SchemaForm pattern)
|
|
235
|
+
if (arg) {
|
|
236
|
+
arg.value = undefined;
|
|
237
|
+
arg.expr = undefined;
|
|
238
|
+
}
|
|
239
|
+
// Make sure validation passes when hidden
|
|
240
|
+
inputCheck = true;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
// No showExpr, always show
|
|
245
|
+
hidden = false;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
170
248
|
function onFocus() {
|
|
171
249
|
focused = true;
|
|
172
250
|
if (isStaticTemplate(inputCat)) {
|
|
@@ -257,21 +335,22 @@ $effect(() => {
|
|
|
257
335
|
$effect(() => {
|
|
258
336
|
schema?.properties?.[argName]?.default && untrack(() => setDefaultCode());
|
|
259
337
|
});
|
|
338
|
+
$effect.pre(() => {
|
|
339
|
+
// Monitor changes that affect field visibility
|
|
340
|
+
JSON.stringify(schema);
|
|
341
|
+
JSON.stringify(arg);
|
|
342
|
+
JSON.stringify(otherArgs);
|
|
343
|
+
untrack(() => handleFieldVisibility(schema, arg, otherArgs));
|
|
344
|
+
});
|
|
260
345
|
let connecting = $derived($propPickerConfig?.propName == argName && $propPickerConfig?.insertionMode == 'connect');
|
|
346
|
+
let shouldShowS3ArrayHelper = $derived(inputCat === 'list' &&
|
|
347
|
+
['s3object', 's3_object'].includes(schema?.properties?.[argName]?.items?.resourceType));
|
|
261
348
|
</script>
|
|
262
349
|
|
|
263
350
|
{#if arg != undefined}
|
|
264
|
-
<div
|
|
265
|
-
class=
|
|
266
|
-
|
|
267
|
-
$propPickerConfig?.propName == argName
|
|
268
|
-
? 'bg-surface border-l-4 border-blue-500 shadow-md rounded-l-md z-50 '
|
|
269
|
-
: 'hover:rounded-md',
|
|
270
|
-
className
|
|
271
|
-
)}
|
|
272
|
-
>
|
|
273
|
-
<div class="flex flex-row justify-between gap-1 pb-1 px-2">
|
|
274
|
-
<div class="flex flex-wrap grow">
|
|
351
|
+
<div class={twMerge('pt-2 pb-2 relative group', className)}>
|
|
352
|
+
<div class="flex flex-row justify-between gap-1 pb-1">
|
|
353
|
+
<div class="flex flex-wrap grow min-h-7 items-end">
|
|
275
354
|
<FieldHeader
|
|
276
355
|
label={argName}
|
|
277
356
|
simpleTooltip={headerTooltip}
|
|
@@ -286,7 +365,7 @@ let connecting = $derived($propPickerConfig?.propName == argName && $propPickerC
|
|
|
286
365
|
{#if isStaticTemplate(inputCat)}
|
|
287
366
|
<div>
|
|
288
367
|
<span
|
|
289
|
-
class="
|
|
368
|
+
class="border text-gray-400 dark:text-gray-500 text-2xs font-medium mr-2 px-1 !py-[1px] rounded ml-2.5 {propertyType ==
|
|
290
369
|
'static' && arg.type === 'javascript'
|
|
291
370
|
? 'visible'
|
|
292
371
|
: 'invisible'}"
|
|
@@ -297,7 +376,9 @@ let connecting = $derived($propPickerConfig?.propName == argName && $propPickerC
|
|
|
297
376
|
{/if}
|
|
298
377
|
</div>
|
|
299
378
|
{#if !noDynamicToggle}
|
|
300
|
-
<div
|
|
379
|
+
<div
|
|
380
|
+
class="flex flex-row gap-x-2 z-10 absolute right-0 group-hover:bg-surface transition-colors"
|
|
381
|
+
>
|
|
301
382
|
{#if enableAi}
|
|
302
383
|
<StepInputGen
|
|
303
384
|
bind:this={stepInputGen}
|
|
@@ -326,14 +407,47 @@ let connecting = $derived($propPickerConfig?.propName == argName && $propPickerC
|
|
|
326
407
|
}}
|
|
327
408
|
{pickableProperties}
|
|
328
409
|
{argName}
|
|
410
|
+
btnClass={twMerge(
|
|
411
|
+
'h-6 min-w-8 px-2',
|
|
412
|
+
'group-hover:opacity-100 transition-opacity',
|
|
413
|
+
!connecting ? 'opacity-0' : ''
|
|
414
|
+
)}
|
|
415
|
+
/>
|
|
416
|
+
{/if}
|
|
417
|
+
|
|
418
|
+
{#if propPickerWrapperContext}
|
|
419
|
+
<FlowPlugConnect
|
|
420
|
+
wrapperClasses={twMerge(
|
|
421
|
+
connecting ? 'h-5 w-7' : 'h-6 w-8',
|
|
422
|
+
'group-hover:opacity-100 transition-opacity p-0',
|
|
423
|
+
!connecting ? 'opacity-0' : ''
|
|
424
|
+
)}
|
|
425
|
+
id="flow-editor-plug"
|
|
426
|
+
{connecting}
|
|
427
|
+
on:click={() => {
|
|
428
|
+
if (
|
|
429
|
+
$propPickerConfig?.propName == argName &&
|
|
430
|
+
$propPickerConfig?.insertionMode == 'connect'
|
|
431
|
+
) {
|
|
432
|
+
clearFocus()
|
|
433
|
+
} else {
|
|
434
|
+
focusProp?.(argName, 'connect', (path) => {
|
|
435
|
+
connectProperty(path)
|
|
436
|
+
dispatch('change', { argName })
|
|
437
|
+
return true
|
|
438
|
+
})
|
|
439
|
+
}
|
|
440
|
+
}}
|
|
329
441
|
/>
|
|
330
442
|
{/if}
|
|
443
|
+
|
|
331
444
|
<div>
|
|
332
445
|
<ToggleButtonGroup
|
|
333
446
|
selected={propertyType}
|
|
334
447
|
on:selected={(e) => {
|
|
335
448
|
if (e.detail == propertyType) return
|
|
336
449
|
const staticTemplate = isStaticTemplate(inputCat)
|
|
450
|
+
|
|
337
451
|
if (e.detail === 'javascript') {
|
|
338
452
|
if (arg.expr == undefined) {
|
|
339
453
|
arg.expr = getDefaultExpr(
|
|
@@ -382,19 +496,20 @@ let connecting = $derived($propPickerConfig?.propName == argName && $propPickerC
|
|
|
382
496
|
propertyType = 'static'
|
|
383
497
|
}
|
|
384
498
|
}}
|
|
499
|
+
class="h-6"
|
|
385
500
|
>
|
|
386
501
|
{#snippet children({ item })}
|
|
387
502
|
{#if isStaticTemplate(inputCat)}
|
|
388
503
|
<ToggleButton
|
|
389
|
-
tooltip={`Write text or surround javascript with \`\$\{\` and \`\}\`. Use \`results\` to connect to another node\'s output.`}
|
|
390
504
|
light
|
|
505
|
+
small
|
|
506
|
+
tooltip={`Write text or surround javascript with \`\$\{\` and \`\}\`. Use \`results\` to connect to another node\'s output.`}
|
|
391
507
|
value="static"
|
|
392
|
-
size="xs2"
|
|
393
508
|
label={'${}'}
|
|
394
509
|
{item}
|
|
395
510
|
/>
|
|
396
511
|
{:else}
|
|
397
|
-
<ToggleButton small label="
|
|
512
|
+
<ToggleButton light small label="static" value="static" {item} />
|
|
398
513
|
{/if}
|
|
399
514
|
|
|
400
515
|
{#if codeInjectionDetected && propertyType == 'static'}
|
|
@@ -411,6 +526,7 @@ let connecting = $derived($propPickerConfig?.propName == argName && $propPickerC
|
|
|
411
526
|
</Button>
|
|
412
527
|
{:else}
|
|
413
528
|
<ToggleButton
|
|
529
|
+
disabled={inputCat === 'dynamic'}
|
|
414
530
|
small
|
|
415
531
|
light
|
|
416
532
|
tooltip="JavaScript expression ('flow_input' or 'results')."
|
|
@@ -422,27 +538,6 @@ let connecting = $derived($propPickerConfig?.propName == argName && $propPickerC
|
|
|
422
538
|
{/snippet}
|
|
423
539
|
</ToggleButtonGroup>
|
|
424
540
|
</div>
|
|
425
|
-
|
|
426
|
-
{#if propPickerWrapperContext}
|
|
427
|
-
<FlowPlugConnect
|
|
428
|
-
id="flow-editor-plug"
|
|
429
|
-
{connecting}
|
|
430
|
-
on:click={() => {
|
|
431
|
-
if (
|
|
432
|
-
$propPickerConfig?.propName == argName &&
|
|
433
|
-
$propPickerConfig?.insertionMode == 'connect'
|
|
434
|
-
) {
|
|
435
|
-
clearFocus()
|
|
436
|
-
} else {
|
|
437
|
-
focusProp?.(argName, 'connect', (path) => {
|
|
438
|
-
connectProperty(path)
|
|
439
|
-
dispatch('change', { argName })
|
|
440
|
-
return true
|
|
441
|
-
})
|
|
442
|
-
}
|
|
443
|
-
}}
|
|
444
|
-
/>
|
|
445
|
-
{/if}
|
|
446
541
|
</div>
|
|
447
542
|
{/if}
|
|
448
543
|
</div>
|
|
@@ -462,12 +557,7 @@ let connecting = $derived($propPickerConfig?.propName == argName && $propPickerC
|
|
|
462
557
|
<div class="relative flex flex-row items-top gap-2 justify-between">
|
|
463
558
|
<div class="min-w-0 grow">
|
|
464
559
|
{#if isStaticTemplate(inputCat) && propertyType == 'static' && !noDynamicToggle}
|
|
465
|
-
|
|
466
|
-
<div class="text-xs italic pb-1 text-secondary">
|
|
467
|
-
<pre class="font-main">{schema.properties[argName].description}</pre>
|
|
468
|
-
</div>
|
|
469
|
-
{/if}
|
|
470
|
-
<div class="mt-2 min-h-[28px]">
|
|
560
|
+
<div>
|
|
471
561
|
{#if arg}
|
|
472
562
|
<TemplateEditor
|
|
473
563
|
bind:this={monacoTemplate}
|
|
@@ -482,8 +572,16 @@ let connecting = $derived($propPickerConfig?.propName == argName && $propPickerC
|
|
|
482
572
|
dispatch('change', { argName, arg })
|
|
483
573
|
}}
|
|
484
574
|
loadAsync
|
|
575
|
+
class="bg-surface-secondary"
|
|
485
576
|
/>
|
|
486
577
|
{/if}
|
|
578
|
+
{#if argName && schema?.properties?.[argName]?.description}
|
|
579
|
+
<div class="text-xs italic py-1 text-hint">
|
|
580
|
+
<pre class="font-main whitespace-normal"
|
|
581
|
+
>{schema.properties[argName].description}</pre
|
|
582
|
+
>
|
|
583
|
+
</div>
|
|
584
|
+
{/if}
|
|
487
585
|
</div>
|
|
488
586
|
{:else if (propertyType === undefined || propertyType == 'static') && schema?.properties?.[argName]}
|
|
489
587
|
<ArgInput
|
|
@@ -524,15 +622,38 @@ let connecting = $derived($propPickerConfig?.propName == argName && $propPickerC
|
|
|
524
622
|
nullable={schema.properties[argName].nullable}
|
|
525
623
|
bind:title={schema.properties[argName].title}
|
|
526
624
|
bind:placeholder={schema.properties[argName].placeholder}
|
|
527
|
-
|
|
625
|
+
{helperScript}
|
|
626
|
+
otherArgs={Object.fromEntries(
|
|
627
|
+
Object.entries(otherArgs).map(([key, transform]) => [
|
|
628
|
+
key,
|
|
629
|
+
transform?.type === 'static' ? transform.value : transform?.expr
|
|
630
|
+
])
|
|
631
|
+
)}
|
|
632
|
+
>
|
|
633
|
+
{#snippet innerBottomSnippet()}
|
|
634
|
+
{#if shouldShowS3ArrayHelper}
|
|
635
|
+
<S3ArrayHelperButton
|
|
636
|
+
{connecting}
|
|
637
|
+
onClick={() =>
|
|
638
|
+
switchToJsAndConnect((path) => appendPathToArrayExpr(arg.expr, path))}
|
|
639
|
+
/>
|
|
640
|
+
{/if}
|
|
641
|
+
{/snippet}
|
|
642
|
+
</ArgInput>
|
|
528
643
|
{:else if arg.expr != undefined}
|
|
529
|
-
<div
|
|
644
|
+
<div
|
|
645
|
+
class={`bg-surface-secondary rounded-md flex flex-col pl-4 ${inputBorderClass({ forceFocus: focused })}`}
|
|
646
|
+
>
|
|
530
647
|
<SimpleEditor
|
|
531
648
|
bind:this={monaco}
|
|
532
649
|
bind:code={arg.expr}
|
|
650
|
+
yPadding={8}
|
|
533
651
|
{extraLib}
|
|
534
652
|
lang="javascript"
|
|
535
653
|
shouldBindKey={false}
|
|
654
|
+
renderLineHighlight="none"
|
|
655
|
+
hideLineNumbers
|
|
656
|
+
fakeMonacoPlaceholderClass="mt-2"
|
|
536
657
|
on:focus={() => {
|
|
537
658
|
focused = true
|
|
538
659
|
focusProp?.(argName, 'insert', (path) => {
|
|
@@ -551,12 +672,36 @@ let connecting = $derived($propPickerConfig?.propName == argName && $propPickerC
|
|
|
551
672
|
/>
|
|
552
673
|
<!-- <input type="text" bind:value={arg.expr} /> -->
|
|
553
674
|
</div>
|
|
675
|
+
|
|
676
|
+
{#if shouldShowS3ArrayHelper}
|
|
677
|
+
<S3ArrayHelperButton
|
|
678
|
+
class="mt-2"
|
|
679
|
+
{connecting}
|
|
680
|
+
onClick={() =>
|
|
681
|
+
focusProp?.(argName, 'connect', (path) => {
|
|
682
|
+
appendPathToArrayExpr(arg.expr, path)
|
|
683
|
+
return true
|
|
684
|
+
})}
|
|
685
|
+
/>
|
|
686
|
+
{/if}
|
|
687
|
+
|
|
688
|
+
{#if argName && schema?.properties?.[argName]?.description}
|
|
689
|
+
<div class="text-xs italic py-1 text-hint">
|
|
690
|
+
<pre class="font-main whitespace-normal"
|
|
691
|
+
>{schema.properties[argName].description}</pre
|
|
692
|
+
>
|
|
693
|
+
</div>
|
|
694
|
+
{/if}
|
|
695
|
+
|
|
554
696
|
{#if !hideHelpButton}
|
|
555
697
|
<DynamicInputHelpBox />
|
|
556
698
|
{/if}
|
|
699
|
+
|
|
557
700
|
<div class="mb-2"></div>
|
|
558
701
|
{:else}
|
|
559
|
-
|
|
702
|
+
<span class="text-xs text-red-500">
|
|
703
|
+
Not recognized input type {argName} ({arg.expr}, {propertyType})
|
|
704
|
+
</span>
|
|
560
705
|
<div class="flex mt-2">
|
|
561
706
|
<Button
|
|
562
707
|
variant="border"
|
|
@@ -568,29 +713,6 @@ let connecting = $derived($propPickerConfig?.propName == argName && $propPickerC
|
|
|
568
713
|
>
|
|
569
714
|
{/if}
|
|
570
715
|
</div>
|
|
571
|
-
|
|
572
|
-
{#if $propPickerConfig?.propName == argName}
|
|
573
|
-
<div
|
|
574
|
-
class="text-blue-500 absolute top-2 lg:-right-2.5 -right-1"
|
|
575
|
-
in:fade={{ duration: 200 }}
|
|
576
|
-
>
|
|
577
|
-
<svg
|
|
578
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
579
|
-
width="16"
|
|
580
|
-
height="24"
|
|
581
|
-
viewBox="0 0 24 24"
|
|
582
|
-
fill="currentColor"
|
|
583
|
-
stroke="currentColor"
|
|
584
|
-
stroke-width="2"
|
|
585
|
-
stroke-linecap="round"
|
|
586
|
-
stroke-linejoin="round"
|
|
587
|
-
>
|
|
588
|
-
<polyline points="24 24 12 12 24 0" />
|
|
589
|
-
</svg>
|
|
590
|
-
</div>
|
|
591
|
-
{:else}
|
|
592
|
-
<div class="w-0"></div>
|
|
593
|
-
{/if}
|
|
594
716
|
</div>
|
|
595
717
|
</div>
|
|
596
718
|
</div>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Schema } from '../common';
|
|
2
|
+
import type { DynamicInput as DynamicInputTypes } from '../utils';
|
|
2
3
|
import SimpleEditor from './SimpleEditor.svelte';
|
|
3
4
|
import type VariableEditor from './VariableEditor.svelte';
|
|
4
5
|
import type ItemPicker from './ItemPicker.svelte';
|
|
@@ -27,6 +28,8 @@ interface Props {
|
|
|
27
28
|
hideHelpButton?: boolean;
|
|
28
29
|
class?: string;
|
|
29
30
|
editor?: SimpleEditor | undefined;
|
|
31
|
+
otherArgs?: Record<string, InputTransform>;
|
|
32
|
+
helperScript?: DynamicInputTypes.HelperScript | undefined;
|
|
30
33
|
}
|
|
31
34
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
32
35
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
@@ -8,7 +8,8 @@ import InputTransformForm from './InputTransformForm.svelte';
|
|
|
8
8
|
import ItemPicker from './ItemPicker.svelte';
|
|
9
9
|
import VariableEditor from './VariableEditor.svelte';
|
|
10
10
|
import { Plus } from 'lucide-svelte';
|
|
11
|
-
|
|
11
|
+
import ResizeTransitionWrapper from './common/ResizeTransitionWrapper.svelte';
|
|
12
|
+
let { schema = $bindable(), args = $bindable({}), isValid = $bindable(true), extraLib = $bindable('missing extraLib'), previousModuleId = undefined, filter = undefined, noDynamicToggle = false, pickableProperties = undefined, enableAi = false, class: clazz = '', helperScript = undefined } = $props();
|
|
12
13
|
let inputCheck = $state({});
|
|
13
14
|
$effect(() => {
|
|
14
15
|
isValid = allTrue(inputCheck) ?? false;
|
|
@@ -43,9 +44,9 @@ $effect(() => {
|
|
|
43
44
|
});
|
|
44
45
|
</script>
|
|
45
46
|
|
|
46
|
-
<div class="w-full {clazz}">
|
|
47
|
+
<div class="w-full mb-6 {clazz}">
|
|
47
48
|
{#if enableAi}
|
|
48
|
-
<div class="
|
|
49
|
+
<div class="mt-2">
|
|
49
50
|
<StepInputsGen
|
|
50
51
|
{pickableProperties}
|
|
51
52
|
argNames={keys
|
|
@@ -64,7 +65,7 @@ $effect(() => {
|
|
|
64
65
|
{#if keys.length > 0}
|
|
65
66
|
{#each keys as argName, index (argName)}
|
|
66
67
|
{#if (!filter || filter.includes(argName)) && Object.keys(schema.properties ?? {}).includes(argName)}
|
|
67
|
-
<
|
|
68
|
+
<ResizeTransitionWrapper class="mt-2 relative" innerClass="w-full" vertical>
|
|
68
69
|
<InputTransformForm
|
|
69
70
|
{previousModuleId}
|
|
70
71
|
bind:arg={args[argName]}
|
|
@@ -80,8 +81,12 @@ $effect(() => {
|
|
|
80
81
|
{noDynamicToggle}
|
|
81
82
|
{pickableProperties}
|
|
82
83
|
{enableAi}
|
|
84
|
+
{helperScript}
|
|
85
|
+
otherArgs={Object.fromEntries(
|
|
86
|
+
Object.entries(args ?? {}).filter(([key]) => key !== argName)
|
|
87
|
+
)}
|
|
83
88
|
/>
|
|
84
|
-
</
|
|
89
|
+
</ResizeTransitionWrapper>
|
|
85
90
|
{/if}
|
|
86
91
|
{/each}
|
|
87
92
|
{:else}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Schema } from '../common';
|
|
2
2
|
import { type InputTransform } from '../gen';
|
|
3
|
+
import { type DynamicInput as DynamicInputTypes } from '../utils';
|
|
3
4
|
import type { PickableProperties } from './flows/previousResults';
|
|
4
5
|
interface Props {
|
|
5
6
|
schema: Schema | {
|
|
@@ -14,6 +15,7 @@ interface Props {
|
|
|
14
15
|
pickableProperties?: PickableProperties | undefined;
|
|
15
16
|
enableAi?: boolean;
|
|
16
17
|
class?: string;
|
|
18
|
+
helperScript?: DynamicInputTypes.HelperScript;
|
|
17
19
|
}
|
|
18
20
|
declare const InputTransformSchemaForm: import("svelte").Component<Props, {
|
|
19
21
|
setArgs: (nargs: Record<string, InputTransform | any>) => void;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<script lang="ts">import { isCloudHosted } from '../cloud';
|
|
2
2
|
import { enterpriseLicense, isCriticalAlertsUIOpen } from '../stores';
|
|
3
|
-
import { AlertCircle, AlertTriangle, BadgeCheck, BadgeX, Info, Plus,
|
|
3
|
+
import { AlertCircle, AlertTriangle, BadgeCheck, BadgeX, Info, Plus, Slack, X } from 'lucide-svelte';
|
|
4
4
|
import Tooltip from './Tooltip.svelte';
|
|
5
5
|
import ObjectStoreConfigSettings from './ObjectStoreConfigSettings.svelte';
|
|
6
6
|
import { sendUserToast } from '../toast';
|
|
7
7
|
import ConfirmButton from './ConfirmButton.svelte';
|
|
8
|
-
import { ConfigService, IndexSearchService, SettingService
|
|
8
|
+
import { ConfigService, IndexSearchService, SettingService } from '../gen';
|
|
9
9
|
import { Button, SecondsInput, Skeleton } from './common';
|
|
10
10
|
import Password from './Password.svelte';
|
|
11
11
|
import { classNames } from '../utils';
|
|
@@ -28,7 +28,6 @@ if ((setting.fieldType == 'select' || setting.fieldType == 'select_python') &&
|
|
|
28
28
|
$values[setting.key] = 'default';
|
|
29
29
|
}
|
|
30
30
|
let latestKeyRenewalAttempt = $state(null);
|
|
31
|
-
let isFetching = $state(false);
|
|
32
31
|
function showSetting(setting, values) {
|
|
33
32
|
if (setting == 'dev_instance') {
|
|
34
33
|
if (values['license_key'] == undefined) {
|
|
@@ -120,29 +119,16 @@ async function fetch_available_python_versions() {
|
|
|
120
119
|
if (setting.fieldType == 'select_python') {
|
|
121
120
|
fetch_available_python_versions();
|
|
122
121
|
}
|
|
123
|
-
async function fetchTeams() {
|
|
124
|
-
if (isFetching)
|
|
125
|
-
return;
|
|
126
|
-
isFetching = true;
|
|
127
|
-
try {
|
|
128
|
-
$values['teams'] = await TeamsService.syncTeams();
|
|
129
|
-
}
|
|
130
|
-
catch (error) {
|
|
131
|
-
console.error('Error fetching teams:', error);
|
|
132
|
-
}
|
|
133
|
-
finally {
|
|
134
|
-
isFetching = false;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
122
|
function handleTeamChange(teamItem, i) {
|
|
138
|
-
const team = (teamItem && $values['teams'].find((team) => team.team_id === teamItem.team_id)) || null;
|
|
139
123
|
$values['critical_error_channels'][i] = {
|
|
140
|
-
teams_channel:
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
124
|
+
teams_channel: teamItem
|
|
125
|
+
? {
|
|
126
|
+
team_id: teamItem.team_id,
|
|
127
|
+
team_name: teamItem.team_name,
|
|
128
|
+
channel_id: undefined, // Will be set when channel is selected
|
|
129
|
+
channel_name: undefined
|
|
130
|
+
}
|
|
131
|
+
: undefined
|
|
146
132
|
};
|
|
147
133
|
}
|
|
148
134
|
function handleChannelChange(channel, i) {
|
|
@@ -320,20 +306,28 @@ function handleChannelChange(channel, i) {
|
|
|
320
306
|
</div>
|
|
321
307
|
{/if}
|
|
322
308
|
{:else if setting.fieldType == 'codearea'}
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
309
|
+
<!-- svelte-ignore a11y_click_events_have_key_events -->
|
|
310
|
+
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
311
|
+
<div
|
|
312
|
+
onclick={(ev) => {
|
|
313
|
+
ev.stopPropagation() // this is to prevent wrapping label interference
|
|
314
|
+
}}
|
|
315
|
+
>
|
|
316
|
+
<SimpleEditor
|
|
317
|
+
autoHeight
|
|
318
|
+
class="editor"
|
|
319
|
+
lang={setting.codeAreaLang ?? 'txt'}
|
|
320
|
+
bind:code={$values[setting.key]}
|
|
321
|
+
fixedOverflowWidgets={false}
|
|
322
|
+
/></div
|
|
323
|
+
>
|
|
330
324
|
{:else if setting.fieldType == 'license_key'}
|
|
331
325
|
{@const { valid, expiration } = parseLicenseKey($values[setting.key] ?? '')}
|
|
332
326
|
<div class="flex gap-2">
|
|
333
327
|
<Password
|
|
334
328
|
small
|
|
335
329
|
placeholder={setting.placeholder}
|
|
336
|
-
|
|
330
|
+
onKeyDown={() => {
|
|
337
331
|
licenseKeyChanged = true
|
|
338
332
|
}}
|
|
339
333
|
bind:password={$values[setting.key]}
|
|
@@ -501,9 +495,6 @@ function handleChannelChange(channel, i) {
|
|
|
501
495
|
[e.target['value']]: ''
|
|
502
496
|
}
|
|
503
497
|
}
|
|
504
|
-
if (e.target?.['value'] === 'teams_channel') {
|
|
505
|
-
fetchTeams()
|
|
506
|
-
}
|
|
507
498
|
}}
|
|
508
499
|
value={(() => {
|
|
509
500
|
if (!v) return 'email'
|
|
@@ -535,8 +526,6 @@ function handleChannelChange(channel, i) {
|
|
|
535
526
|
containerClass="w-44"
|
|
536
527
|
minWidth="140px"
|
|
537
528
|
showRefreshButton={false}
|
|
538
|
-
placeholder="Select team"
|
|
539
|
-
teams={$values['teams']}
|
|
540
529
|
bind:selectedTeam={
|
|
541
530
|
() =>
|
|
542
531
|
$values['critical_error_channels'][i]?.teams_channel
|
|
@@ -555,12 +544,8 @@ function handleChannelChange(channel, i) {
|
|
|
555
544
|
{#if $values['critical_error_channels'][i]?.teams_channel?.team_id}
|
|
556
545
|
<ChannelSelector
|
|
557
546
|
containerClass=""
|
|
558
|
-
placeholder="
|
|
559
|
-
|
|
560
|
-
(team) =>
|
|
561
|
-
team.team_id ===
|
|
562
|
-
$values['critical_error_channels'][i]?.teams_channel?.team_id
|
|
563
|
-
)?.channels ?? []}
|
|
547
|
+
placeholder="Search channels"
|
|
548
|
+
teamId={$values['critical_error_channels'][i]?.teams_channel?.team_id}
|
|
564
549
|
bind:selectedChannel={
|
|
565
550
|
() =>
|
|
566
551
|
$values['critical_error_channels'][i]?.teams_channel?.channel_id
|
|
@@ -575,13 +560,10 @@ function handleChannelChange(channel, i) {
|
|
|
575
560
|
: undefined,
|
|
576
561
|
(channel) => handleChannelChange(channel, i)
|
|
577
562
|
}
|
|
563
|
+
onError={(e) =>
|
|
564
|
+
sendUserToast('Failed to load channels: ' + e.message, true)}
|
|
578
565
|
/>
|
|
579
566
|
{/if}
|
|
580
|
-
<div>
|
|
581
|
-
<button onclick={fetchTeams} class="flex items-center gap-1 mt-2">
|
|
582
|
-
<RefreshCcw size={16} class={isFetching ? 'animate-spin' : ''} />
|
|
583
|
-
</button>
|
|
584
|
-
</div>
|
|
585
567
|
</div>
|
|
586
568
|
{:else}
|
|
587
569
|
<input
|
|
@@ -624,7 +606,8 @@ function handleChannelChange(channel, i) {
|
|
|
624
606
|
if ($values[setting.key] == undefined || !Array.isArray($values[setting.key])) {
|
|
625
607
|
$values[setting.key] = []
|
|
626
608
|
}
|
|
627
|
-
|
|
609
|
+
// Start with a typed default to avoid invalid primitives in the array
|
|
610
|
+
$values[setting.key] = $values[setting.key].concat({ email: '' })
|
|
628
611
|
}}
|
|
629
612
|
id="arg-input-add-item"
|
|
630
613
|
startIcon={{ icon: Plus }}
|
|
@@ -716,7 +699,7 @@ function handleChannelChange(channel, i) {
|
|
|
716
699
|
The max amount of documents (here jobs) per commit. To optimize indexing
|
|
717
700
|
throughput, it is best to keep this as high as possible. However, especially
|
|
718
701
|
when reindexing the whole instance, it can be useful to have a limit on how many
|
|
719
|
-
jobs can be written without being
|
|
702
|
+
jobs can be written without being committed. A commit will make the jobs
|
|
720
703
|
available for search, constitute a "checkpoint" state in the indexing and will
|
|
721
704
|
be logged.
|
|
722
705
|
</Tooltip>
|
|
@@ -775,7 +758,7 @@ function handleChannelChange(channel, i) {
|
|
|
775
758
|
representing all logs during 1 minute for a specific host. To optimize indexing
|
|
776
759
|
throughput, it is best to keep this as high as possible. However, especially
|
|
777
760
|
when reindexing the whole instance, it can be useful to have a limit on how many
|
|
778
|
-
logs can be written without being
|
|
761
|
+
logs can be written without being committed. A commit will make the logs
|
|
779
762
|
available for search, appear as a log line, and be a "checkpoint" of the
|
|
780
763
|
indexing progress.
|
|
781
764
|
</Tooltip>
|