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
|
@@ -29,6 +29,7 @@ interface Props {
|
|
|
29
29
|
[name: string]: SchemaProperty;
|
|
30
30
|
};
|
|
31
31
|
} | undefined;
|
|
32
|
+
lightHeaderFont?: boolean;
|
|
32
33
|
displayHeader?: boolean;
|
|
33
34
|
properties?: {
|
|
34
35
|
[name: string]: SchemaProperty;
|
|
@@ -79,6 +80,8 @@ interface Props {
|
|
|
79
80
|
} | undefined) | undefined;
|
|
80
81
|
workspace?: string | undefined;
|
|
81
82
|
actions?: import('svelte').Snippet;
|
|
83
|
+
innerBottomSnippet?: import('svelte').Snippet;
|
|
84
|
+
fieldHeaderActions?: import('svelte').Snippet;
|
|
82
85
|
}
|
|
83
86
|
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> {
|
|
84
87
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
@@ -105,6 +108,6 @@ declare const ArgInput: $$__sveltets_2_IsomorphicComponent<Props, {
|
|
|
105
108
|
[evt: string]: CustomEvent<any>;
|
|
106
109
|
}, {}, {
|
|
107
110
|
focus: () => void;
|
|
108
|
-
}, "value" | "description" | "title" | "
|
|
111
|
+
}, "value" | "description" | "title" | "pattern" | "properties" | "placeholder" | "valid" | "oneOf" | "format" | "defaultValue" | "order" | "editor" | "enum_" | "itemsType" | "pickForField">;
|
|
109
112
|
type ArgInput = InstanceType<typeof ArgInput>;
|
|
110
113
|
export default ArgInput;
|
|
@@ -8,6 +8,7 @@ import Alert from './common/alert/Alert.svelte';
|
|
|
8
8
|
import EditableSchemaDrawer from './schema/EditableSchemaDrawer.svelte';
|
|
9
9
|
import Toggle from './Toggle.svelte';
|
|
10
10
|
import { tick } from 'svelte';
|
|
11
|
+
import Select from './select/Select.svelte';
|
|
11
12
|
let { canEditResourceType = false, originalType = undefined, itemsType = $bindable() } = $props();
|
|
12
13
|
let selected = $state(itemsType?.type != 'string'
|
|
13
14
|
? itemsType?.type == 'object' && itemsType?.resourceType == 's3object'
|
|
@@ -22,39 +23,44 @@ let selected = $state(itemsType?.type != 'string'
|
|
|
22
23
|
|
|
23
24
|
{#if canEditResourceType || originalType == 'string[]' || originalType == 'object[]'}
|
|
24
25
|
<Label label="Items type">
|
|
25
|
-
<
|
|
26
|
-
bind:value={
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
26
|
+
<Select
|
|
27
|
+
bind:value={
|
|
28
|
+
() => selected,
|
|
29
|
+
(v) => {
|
|
30
|
+
selected = v
|
|
31
|
+
if (selected == 'enum') {
|
|
32
|
+
itemsType = { type: 'string', enum: [] }
|
|
33
|
+
} else if (selected == 'string') {
|
|
34
|
+
itemsType = { type: 'string' }
|
|
35
|
+
} else if (selected == 'number') {
|
|
36
|
+
itemsType = { type: 'number' }
|
|
37
|
+
} else if (selected == 'object') {
|
|
38
|
+
itemsType = { ...itemsType, type: 'object' }
|
|
39
|
+
} else if (selected == 'bytes') {
|
|
40
|
+
itemsType = { type: 'string', contentEncoding: 'base64' }
|
|
41
|
+
} else if (selected == 'resource') {
|
|
42
|
+
itemsType = { type: 'resource', resourceType: itemsType?.resourceType }
|
|
43
|
+
} else if (selected == 's3object') {
|
|
44
|
+
itemsType = { type: 'object', resourceType: 's3object' }
|
|
45
|
+
} else {
|
|
46
|
+
itemsType = undefined
|
|
47
|
+
}
|
|
44
48
|
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
49
|
+
}
|
|
50
|
+
items={[
|
|
51
|
+
{ value: 'string', label: "Items are strings or objects with a 'label/value' field" },
|
|
52
|
+
{ value: 'enum', label: 'Items are strings from an enum' },
|
|
53
|
+
...(originalType != 'string[]'
|
|
54
|
+
? [
|
|
55
|
+
{ value: 's3object', label: 'Items are S3 objects' },
|
|
56
|
+
{ value: 'object', label: 'Items are objects (JSON)' },
|
|
57
|
+
{ value: 'resource', label: 'Items are resources' },
|
|
58
|
+
{ value: 'number', label: 'Items are numbers' },
|
|
59
|
+
{ value: 'bytes', label: 'Items are bytes' }
|
|
60
|
+
]
|
|
61
|
+
: [])
|
|
62
|
+
] as { value: string; label: string }[]}
|
|
63
|
+
/>
|
|
58
64
|
</Label>
|
|
59
65
|
{:else if itemsType?.resourceType}
|
|
60
66
|
<Label label="Resource type">
|
|
@@ -4,14 +4,18 @@ import { Button, Skeleton } from './common';
|
|
|
4
4
|
import { twMerge } from 'tailwind-merge';
|
|
5
5
|
import TimeAgo from './TimeAgo.svelte';
|
|
6
6
|
import { enterpriseLicense } from '../stores';
|
|
7
|
-
|
|
8
|
-
let
|
|
9
|
-
let
|
|
10
|
-
|
|
7
|
+
import { untrack } from 'svelte';
|
|
8
|
+
let { worker_group } = $props();
|
|
9
|
+
let loading = $state(true);
|
|
10
|
+
let events = $state(undefined);
|
|
11
|
+
let limit = $state(5);
|
|
11
12
|
async function loadEvents() {
|
|
12
13
|
loading = true;
|
|
13
14
|
try {
|
|
14
|
-
events = await ConfigService.listAutoscalingEvents({
|
|
15
|
+
events = await ConfigService.listAutoscalingEvents({
|
|
16
|
+
workerGroup: worker_group,
|
|
17
|
+
perPage: limit
|
|
18
|
+
});
|
|
15
19
|
}
|
|
16
20
|
catch (e) {
|
|
17
21
|
events = [];
|
|
@@ -21,6 +25,10 @@ async function loadEvents() {
|
|
|
21
25
|
loading = false;
|
|
22
26
|
}
|
|
23
27
|
}
|
|
28
|
+
$effect(() => {
|
|
29
|
+
limit;
|
|
30
|
+
worker_group && untrack(() => loadEvents());
|
|
31
|
+
});
|
|
24
32
|
</script>
|
|
25
33
|
|
|
26
34
|
<div>
|
|
@@ -66,5 +74,13 @@ async function loadEvents() {
|
|
|
66
74
|
{/each}
|
|
67
75
|
</div>
|
|
68
76
|
{/if}
|
|
77
|
+
<div class="mt-4 flex">
|
|
78
|
+
<Button color="light" size="xs2" on:click={() => (limit = limit + 25)}>Show more</Button>
|
|
79
|
+
</div>
|
|
80
|
+
{#if limit > 50}
|
|
81
|
+
<div class="mt-4 flex text-xs text-tertiary">
|
|
82
|
+
Note that autoscaling events are only stored for the last 30 days.
|
|
83
|
+
</div>
|
|
84
|
+
{/if}
|
|
69
85
|
{/if}
|
|
70
86
|
</div>
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
interface
|
|
2
|
-
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
3
|
-
$$bindings?: Bindings;
|
|
4
|
-
} & Exports;
|
|
5
|
-
(internal: unknown, props: Props & {
|
|
6
|
-
$$events?: Events;
|
|
7
|
-
$$slots?: Slots;
|
|
8
|
-
}): Exports & {
|
|
9
|
-
$set?: any;
|
|
10
|
-
$on?: any;
|
|
11
|
-
};
|
|
12
|
-
z_$$bindings?: Bindings;
|
|
13
|
-
}
|
|
14
|
-
declare const AutoscalingEvents: $$__sveltets_2_IsomorphicComponent<{
|
|
1
|
+
interface Props {
|
|
15
2
|
worker_group: string;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
type AutoscalingEvents = InstanceType<typeof AutoscalingEvents>;
|
|
3
|
+
}
|
|
4
|
+
declare const AutoscalingEvents: import("svelte").Component<Props, {}, "">;
|
|
5
|
+
type AutoscalingEvents = ReturnType<typeof AutoscalingEvents>;
|
|
20
6
|
export default AutoscalingEvents;
|
|
@@ -1,28 +1,102 @@
|
|
|
1
1
|
<script lang="ts">import Select from './select/Select.svelte';
|
|
2
|
-
|
|
2
|
+
import { WorkspaceService } from '../gen';
|
|
3
|
+
import { workspaceStore } from '../stores';
|
|
4
|
+
import { debounce } from '../utils';
|
|
5
|
+
let { disabled = false, placeholder = 'Select channel', selectedChannel = $bindable(undefined), containerClass = 'w-64', minWidth = '160px', channels = undefined, teamId, onError } = $props();
|
|
6
|
+
let isFetching = $state(false);
|
|
7
|
+
let searchResults = $state([]);
|
|
8
|
+
// Only enable search mode if no channels are provided AND teamId is provided
|
|
9
|
+
const searchMode = !channels && !!teamId;
|
|
10
|
+
// Determine which channels to show: provided channels or search results
|
|
11
|
+
// In search mode, include the selected channel if it exists
|
|
12
|
+
let displayChannels = $derived(() => {
|
|
13
|
+
const baseChannels = channels || searchResults;
|
|
14
|
+
if (searchMode && selectedChannel && !baseChannels.find(c => c.channel_id === selectedChannel?.channel_id)) {
|
|
15
|
+
return [selectedChannel, ...baseChannels];
|
|
16
|
+
}
|
|
17
|
+
return baseChannels;
|
|
18
|
+
});
|
|
19
|
+
// Create separate filter text for search mode
|
|
20
|
+
let searchFilterText = $state('');
|
|
21
|
+
// Debounced search function
|
|
22
|
+
const debouncedSearch = debounce(async (query) => {
|
|
23
|
+
await searchChannels(query);
|
|
24
|
+
}, 500);
|
|
25
|
+
// Watch for search filter text changes (only in search mode)
|
|
26
|
+
$effect(() => {
|
|
27
|
+
if (searchMode) {
|
|
28
|
+
if (searchFilterText.length >= 1) {
|
|
29
|
+
debouncedSearch.debounced(searchFilterText);
|
|
30
|
+
}
|
|
31
|
+
else if (searchFilterText.length === 0) {
|
|
32
|
+
searchResults = [];
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
async function searchChannels(query) {
|
|
37
|
+
if (!query || !teamId)
|
|
38
|
+
return;
|
|
39
|
+
isFetching = true;
|
|
40
|
+
try {
|
|
41
|
+
const response = await WorkspaceService.listAvailableTeamsChannels({
|
|
42
|
+
workspace: $workspaceStore,
|
|
43
|
+
teamId: teamId,
|
|
44
|
+
search: query
|
|
45
|
+
});
|
|
46
|
+
searchResults = response || [];
|
|
47
|
+
isFetching = false;
|
|
48
|
+
return searchResults;
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
isFetching = false;
|
|
52
|
+
onError?.(error);
|
|
53
|
+
console.error('Error searching channels:', error);
|
|
54
|
+
searchResults = [];
|
|
55
|
+
return [];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
3
58
|
</script>
|
|
4
59
|
|
|
5
60
|
<div class={containerClass}>
|
|
6
61
|
<div class="flex items-center gap-2">
|
|
7
62
|
<div class="flex-grow" style="min-width: {minWidth};">
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
63
|
+
{#if searchMode}
|
|
64
|
+
<Select
|
|
65
|
+
containerStyle={'min-width: ' + minWidth}
|
|
66
|
+
items={searchFilterText.length >= 1 || (searchFilterText.length === 0 && selectedChannel) ? displayChannels().filter(channel => channel.channel_id && channel.channel_name).map((channel) => ({
|
|
67
|
+
label: channel.channel_name ?? 'Unknown Channel',
|
|
68
|
+
value: channel.channel_id ?? ''
|
|
69
|
+
})) : []}
|
|
70
|
+
placeholder={isFetching ? "Searching..." : (teamId ? "Search channels..." : "Select a team first")}
|
|
71
|
+
clearable
|
|
72
|
+
disabled={disabled || isFetching || !teamId}
|
|
73
|
+
bind:filterText={searchFilterText}
|
|
74
|
+
bind:value={
|
|
75
|
+
() => selectedChannel?.channel_id,
|
|
76
|
+
(value) => {
|
|
77
|
+
selectedChannel = value ? displayChannels().find((channel) => channel.channel_id === value) : undefined
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/>
|
|
81
|
+
{:else}
|
|
82
|
+
<Select
|
|
83
|
+
containerStyle={'min-width: ' + minWidth}
|
|
84
|
+
items={displayChannels().filter(channel => channel.channel_id && channel.channel_name).map((channel) => ({
|
|
85
|
+
label: channel.channel_name ?? 'Unknown Channel',
|
|
86
|
+
value: channel.channel_id ?? ''
|
|
87
|
+
}))}
|
|
88
|
+
{placeholder}
|
|
89
|
+
clearable
|
|
90
|
+
disabled={disabled || displayChannels().length === 0}
|
|
91
|
+
bind:value={
|
|
92
|
+
() => selectedChannel?.channel_id,
|
|
93
|
+
(value) => {
|
|
94
|
+
selectedChannel = value ? displayChannels().find((channel) => channel.channel_id === value) : undefined
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/>
|
|
98
|
+
{/if}
|
|
22
99
|
</div>
|
|
23
100
|
</div>
|
|
24
101
|
|
|
25
|
-
{#if channels.length === 0 && !disabled}
|
|
26
|
-
<div class="text-xs text-tertiary mt-1">No channels available</div>
|
|
27
|
-
{/if}
|
|
28
102
|
</div>
|
|
@@ -9,6 +9,8 @@ interface Props {
|
|
|
9
9
|
containerClass?: string;
|
|
10
10
|
minWidth?: string;
|
|
11
11
|
channels?: ChannelItem[];
|
|
12
|
+
teamId?: string;
|
|
13
|
+
onError?: (error: Error) => void;
|
|
12
14
|
}
|
|
13
15
|
declare const ChannelSelector: import("svelte").Component<Props, {}, "selectedChannel">;
|
|
14
16
|
type ChannelSelector = ReturnType<typeof ChannelSelector>;
|
|
@@ -37,7 +37,18 @@ async function connectTeams() {
|
|
|
37
37
|
onLoadSettings();
|
|
38
38
|
}
|
|
39
39
|
catch (error) {
|
|
40
|
-
|
|
40
|
+
// Extract the actual error message from the API response
|
|
41
|
+
let errorMessage = 'Failed to connect to Teams';
|
|
42
|
+
if (typeof error?.body === 'string') {
|
|
43
|
+
errorMessage = error.body;
|
|
44
|
+
}
|
|
45
|
+
else if (error?.body?.message) {
|
|
46
|
+
errorMessage = error.body.message;
|
|
47
|
+
}
|
|
48
|
+
else if (error?.message && error.message !== 'Bad Request') {
|
|
49
|
+
errorMessage = error.message;
|
|
50
|
+
}
|
|
51
|
+
sendUserToast(errorMessage, true);
|
|
41
52
|
console.error('Error connecting to Teams:', error);
|
|
42
53
|
}
|
|
43
54
|
}
|
|
@@ -5,6 +5,7 @@ import { Button } from './common';
|
|
|
5
5
|
import { Clock, X } from 'lucide-svelte';
|
|
6
6
|
import { twMerge } from 'tailwind-merge';
|
|
7
7
|
import { createDispatcherIfMounted } from '../createDispatcherIfMounted';
|
|
8
|
+
import { inputBaseClass, inputBorderClass } from './text_input/TextInput.svelte';
|
|
8
9
|
let { value = $bindable(undefined), clearable = false, autofocus = false, useDropdown = false, minDate = undefined, maxDate = undefined, disabled = undefined, inputClass = undefined } = $props();
|
|
9
10
|
let date = $state(undefined);
|
|
10
11
|
let time = $state(undefined);
|
|
@@ -36,7 +37,7 @@ function parseDateAndTime(date, time) {
|
|
|
36
37
|
let newDate = new Date(`${date}T${time}`);
|
|
37
38
|
if (newDate.toString() === 'Invalid Date')
|
|
38
39
|
return;
|
|
39
|
-
if (newDate.getFullYear() <
|
|
40
|
+
if (newDate.getFullYear() < 1900)
|
|
40
41
|
return;
|
|
41
42
|
value = newDate.toISOString();
|
|
42
43
|
dispatchIfMounted('change', value);
|
|
@@ -75,20 +76,21 @@ let randomId = 'datetarget-' + Math.random().toString(36).substring(7);
|
|
|
75
76
|
bind:value={date}
|
|
76
77
|
{autofocus}
|
|
77
78
|
{disabled}
|
|
78
|
-
class={twMerge('
|
|
79
|
+
class={twMerge(inputBaseClass, inputBorderClass(), 'text-sm !w-3/4 ', inputClass)}
|
|
79
80
|
min={minDate}
|
|
80
81
|
max={maxDate}
|
|
81
82
|
/>
|
|
82
83
|
<input
|
|
83
84
|
type="time"
|
|
84
85
|
bind:value={time}
|
|
85
|
-
class={twMerge('
|
|
86
|
+
class={twMerge(inputBaseClass, inputBorderClass(), 'text-sm !w-1/4 min-w-[100px] ', inputClass)}
|
|
86
87
|
{disabled}
|
|
87
88
|
/>
|
|
88
89
|
<Button
|
|
89
|
-
variant="
|
|
90
|
+
variant="contained"
|
|
90
91
|
color="light"
|
|
91
|
-
wrapperClasses="h-
|
|
92
|
+
wrapperClasses="h-full"
|
|
93
|
+
btnClasses="bg-surface-secondary"
|
|
92
94
|
startIcon={{
|
|
93
95
|
icon: Clock
|
|
94
96
|
}}
|
|
@@ -133,7 +135,7 @@ let randomId = 'datetarget-' + Math.random().toString(36).substring(7);
|
|
|
133
135
|
<Button
|
|
134
136
|
variant="border"
|
|
135
137
|
color="light"
|
|
136
|
-
wrapperClasses="h-
|
|
138
|
+
wrapperClasses="h-full"
|
|
137
139
|
{disabled}
|
|
138
140
|
on:click={() => {
|
|
139
141
|
value = undefined
|
|
@@ -5,7 +5,7 @@ import { WindmillIcon } from './icons';
|
|
|
5
5
|
import LogPanel from './scriptEditor/LogPanel.svelte';
|
|
6
6
|
import { JobService, OpenAPI, WorkspaceService } from '../gen';
|
|
7
7
|
import { inferArgs } from '../infer';
|
|
8
|
-
import {
|
|
8
|
+
import { userStore, workspaceStore } from '../stores';
|
|
9
9
|
import { emptySchema, readFieldsRecursively, sendUserToast } from '../utils';
|
|
10
10
|
import { Pane, Splitpanes } from 'svelte-splitpanes';
|
|
11
11
|
import { onDestroy, onMount, setContext, untrack } from 'svelte';
|
|
@@ -29,6 +29,8 @@ import { workspaceAIClients } from './copilot/lib';
|
|
|
29
29
|
import { Triggers } from './triggers/triggers.svelte';
|
|
30
30
|
import { StepsInputArgs } from './flows/stepsInputArgs.svelte';
|
|
31
31
|
import { ModulesTestStates } from './modulesTest.svelte';
|
|
32
|
+
import { setCopilotInfo } from '../aiStore';
|
|
33
|
+
let { initial = undefined } = $props();
|
|
32
34
|
let flowCopilotContext = {
|
|
33
35
|
shouldUpdatePropertyType: writable({}),
|
|
34
36
|
exprsToSet: writable({}),
|
|
@@ -81,10 +83,13 @@ const flowPreviewContent = $derived(flowPreviewButtons?.getFlowPreviewContent())
|
|
|
81
83
|
const job = $derived(flowPreviewContent?.getJob());
|
|
82
84
|
let showJobStatus = $state(false);
|
|
83
85
|
let currentScript = $state(undefined);
|
|
86
|
+
let mode = $state('script');
|
|
87
|
+
let lastPath = undefined;
|
|
84
88
|
let schema = $state(emptySchema());
|
|
85
89
|
const href = window.location.href;
|
|
86
90
|
const indexQ = href.indexOf('?');
|
|
87
91
|
const searchParams = indexQ > -1 ? new URLSearchParams(href.substring(indexQ)) : undefined;
|
|
92
|
+
let relativePaths = $state([]);
|
|
88
93
|
if (searchParams?.has('local')) {
|
|
89
94
|
connectWs();
|
|
90
95
|
}
|
|
@@ -93,6 +98,15 @@ let lockChanges = false;
|
|
|
93
98
|
let timeout = undefined;
|
|
94
99
|
let loadingCodebaseButton = $state(false);
|
|
95
100
|
let lastCommandId = '';
|
|
101
|
+
if (initial) {
|
|
102
|
+
if (initial.type == 'script') {
|
|
103
|
+
replaceScript(initial.script);
|
|
104
|
+
}
|
|
105
|
+
else if (initial.type == 'flow') {
|
|
106
|
+
replaceFlow(initial.flow);
|
|
107
|
+
}
|
|
108
|
+
modeInitialized = true;
|
|
109
|
+
}
|
|
96
110
|
const el = (event) => {
|
|
97
111
|
// sendUserToast(`Received message from parent ${event.data.type}`, true)
|
|
98
112
|
if (event.data.type == 'runTest') {
|
|
@@ -104,7 +118,7 @@ const el = (event) => {
|
|
|
104
118
|
}
|
|
105
119
|
else if (event.data.type == 'testBundle') {
|
|
106
120
|
if (event.data.id == lastCommandId) {
|
|
107
|
-
testBundle(event.data.file, event.data.isTar);
|
|
121
|
+
testBundle(event.data.file, event.data.isTar, event.data.format);
|
|
108
122
|
}
|
|
109
123
|
else {
|
|
110
124
|
sendUserToast(`Bundle received ${lastCommandId} was obsolete, ignoring`, true);
|
|
@@ -166,7 +180,7 @@ onMount(() => {
|
|
|
166
180
|
});
|
|
167
181
|
window.parent?.postMessage({ type: 'refresh' }, '*');
|
|
168
182
|
});
|
|
169
|
-
async function testBundle(file, isTar) {
|
|
183
|
+
async function testBundle(file, isTar, format) {
|
|
170
184
|
jobLoader?.abstractRun(async () => {
|
|
171
185
|
try {
|
|
172
186
|
const form = new FormData();
|
|
@@ -176,7 +190,8 @@ async function testBundle(file, isTar) {
|
|
|
176
190
|
path: currentScript?.path,
|
|
177
191
|
args,
|
|
178
192
|
language: currentScript?.language,
|
|
179
|
-
tag: currentScript?.tag
|
|
193
|
+
tag: currentScript?.tag,
|
|
194
|
+
format
|
|
180
195
|
}));
|
|
181
196
|
// sendUserToast(JSON.stringify(file))
|
|
182
197
|
if (isTar) {
|
|
@@ -312,8 +327,6 @@ async function onKeyDown(event) {
|
|
|
312
327
|
document.execCommand('paste');
|
|
313
328
|
}
|
|
314
329
|
}
|
|
315
|
-
let relativePaths = $state([]);
|
|
316
|
-
let lastPath = undefined;
|
|
317
330
|
async function replaceScript(lastEdit) {
|
|
318
331
|
mode = 'script';
|
|
319
332
|
currentScript = lastEdit;
|
|
@@ -338,7 +351,6 @@ async function replaceScript(lastEdit) {
|
|
|
338
351
|
validCode = false;
|
|
339
352
|
}
|
|
340
353
|
}
|
|
341
|
-
let mode = $state('script');
|
|
342
354
|
const flowStore = $state({
|
|
343
355
|
val: {
|
|
344
356
|
summary: '',
|
|
@@ -461,6 +473,9 @@ let token = $derived($page.url.searchParams.get('wm_token') ?? undefined);
|
|
|
461
473
|
let workspace = $derived($page.url.searchParams.get('workspace') ?? undefined);
|
|
462
474
|
let themeDarkRaw = $derived($page.url.searchParams.get('activeColorTheme'));
|
|
463
475
|
let themeDark = $derived(themeDarkRaw == '2' || themeDarkRaw == '4');
|
|
476
|
+
$effect.pre(() => {
|
|
477
|
+
setContext('AuthToken', { token });
|
|
478
|
+
});
|
|
464
479
|
$effect.pre(() => {
|
|
465
480
|
if (token) {
|
|
466
481
|
OpenAPI.WITH_CREDENTIALS = true;
|
|
@@ -536,7 +551,7 @@ const flowHasChanged = $derived(flowPreviewContent?.flowHasChanged());
|
|
|
536
551
|
|
|
537
552
|
<main class="h-screen w-full">
|
|
538
553
|
{#if mode == 'script'}
|
|
539
|
-
<div class="flex flex-col min-h-full overflow-auto">
|
|
554
|
+
<div class="flex flex-col min-h-full min-h-screen overflow-auto">
|
|
540
555
|
<div class="absolute top-0 left-2">
|
|
541
556
|
<DarkModeToggle bind:darkMode bind:this={darkModeToggle} forcedDarkMode={false} />
|
|
542
557
|
</div>
|
|
@@ -628,7 +643,7 @@ const flowHasChanged = $derived(flowPreviewContent?.flowHasChanged());
|
|
|
628
643
|
</Button>
|
|
629
644
|
{/if}
|
|
630
645
|
</div>
|
|
631
|
-
<Splitpanes horizontal
|
|
646
|
+
<Splitpanes horizontal style="height: 1000px;">
|
|
632
647
|
<Pane size={33}>
|
|
633
648
|
<div class="px-2">
|
|
634
649
|
<div class="break-words relative font-sans">
|
|
@@ -1,3 +1,25 @@
|
|
|
1
|
-
|
|
1
|
+
import { type Preview, type OpenFlow } from '../gen';
|
|
2
|
+
type LastEditScript = {
|
|
3
|
+
content: string;
|
|
4
|
+
path: string;
|
|
5
|
+
language: Preview['language'];
|
|
6
|
+
lock?: string;
|
|
7
|
+
isCodebase?: boolean;
|
|
8
|
+
tag?: string;
|
|
9
|
+
};
|
|
10
|
+
type LastEditFlow = {
|
|
11
|
+
flow: OpenFlow;
|
|
12
|
+
uriPath: string;
|
|
13
|
+
};
|
|
14
|
+
type $$ComponentProps = {
|
|
15
|
+
initial?: {
|
|
16
|
+
type: 'script';
|
|
17
|
+
script: LastEditScript;
|
|
18
|
+
} | {
|
|
19
|
+
type: 'flow';
|
|
20
|
+
flow: LastEditFlow;
|
|
21
|
+
} | undefined;
|
|
22
|
+
};
|
|
23
|
+
declare const Dev: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
2
24
|
type Dev = ReturnType<typeof Dev>;
|
|
3
25
|
export default Dev;
|
|
@@ -22,7 +22,7 @@ import DownloadCsv from './table/DownloadCsv.svelte';
|
|
|
22
22
|
import { convertJsonToCsv } from './table/tableUtils';
|
|
23
23
|
import Tooltip from './Tooltip.svelte';
|
|
24
24
|
import HighlightTheme from './HighlightTheme.svelte';
|
|
25
|
-
import { getContext, hasContext, createEventDispatcher, onDestroy } from 'svelte';
|
|
25
|
+
import { getContext, hasContext, createEventDispatcher, onDestroy, untrack } from 'svelte';
|
|
26
26
|
import { toJsonStr } from '../utils';
|
|
27
27
|
import { userStore } from '../stores';
|
|
28
28
|
import ResultStreamDisplay from './ResultStreamDisplay.svelte';
|
|
@@ -45,17 +45,29 @@ function isTableCol(result, keys) {
|
|
|
45
45
|
}
|
|
46
46
|
function isTableRowObject(json) {
|
|
47
47
|
// check array of objects (with possible a first row of headers)
|
|
48
|
+
const hasHeaders = Array.isArray(json[0]) &&
|
|
49
|
+
json[0].length > 0 &&
|
|
50
|
+
json[0].length <= 50 &&
|
|
51
|
+
json[0].every((item) => typeof item === 'string');
|
|
52
|
+
return isTableRowObjectInner(json, hasHeaders);
|
|
53
|
+
}
|
|
54
|
+
function isTableRowObjectInner(json, hasHeaders) {
|
|
48
55
|
return (Array.isArray(json) &&
|
|
49
|
-
json.length > 0 &&
|
|
50
|
-
|
|
51
|
-
(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
json.length > (hasHeaders ? 1 : 0) &&
|
|
57
|
+
json.every((item, index) => {
|
|
58
|
+
if (hasHeaders && index === 0) {
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
if (item && typeof item === 'object') {
|
|
62
|
+
let keys = Object.keys(item);
|
|
63
|
+
if (keys.length > 0 && !Array.isArray(item)) {
|
|
64
|
+
if (hasHeaders || keys.length <= 50) {
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return false;
|
|
70
|
+
}));
|
|
59
71
|
}
|
|
60
72
|
let largeObject = $state(undefined);
|
|
61
73
|
function checkIfS3(result, keys) {
|
|
@@ -92,6 +104,7 @@ function inferResultKind(result) {
|
|
|
92
104
|
return keys[0];
|
|
93
105
|
}
|
|
94
106
|
let size = roughSizeOfObject(result);
|
|
107
|
+
console.debug('size of object', size);
|
|
95
108
|
// Otherwise, check if the result is too large (10kb) for json
|
|
96
109
|
if (size > TABLE_MAX_SIZE) {
|
|
97
110
|
largeObject = true;
|
|
@@ -252,20 +265,18 @@ function handleArrayOfObjectsHeaders(json) {
|
|
|
252
265
|
json.length > 0 &&
|
|
253
266
|
Array.isArray(json[0]) &&
|
|
254
267
|
json[0].length > 0 &&
|
|
255
|
-
json[0].every((item) => typeof item === 'string')
|
|
256
|
-
json
|
|
257
|
-
.slice(1)
|
|
258
|
-
.every((item) => item && typeof item === 'object' && Object.keys(item).length > 0 && !Array.isArray(item))) {
|
|
268
|
+
json[0].every((item) => typeof item === 'string')) {
|
|
259
269
|
const headers = json[0];
|
|
260
|
-
const rows = json.
|
|
261
|
-
|
|
270
|
+
const rows = new Array(json.length - 1);
|
|
271
|
+
for (let i = 1; i < json.length; i++) {
|
|
262
272
|
const obj = {};
|
|
263
|
-
|
|
264
|
-
|
|
273
|
+
const row = json[i];
|
|
274
|
+
for (let j = 0; j < headers.length; j++) {
|
|
275
|
+
obj[headers[j]] = row[headers[j]];
|
|
265
276
|
}
|
|
266
|
-
|
|
267
|
-
}
|
|
268
|
-
return
|
|
277
|
+
rows[i - 1] = obj;
|
|
278
|
+
}
|
|
279
|
+
return rows;
|
|
269
280
|
}
|
|
270
281
|
return json;
|
|
271
282
|
}
|
|
@@ -340,7 +351,9 @@ onDestroy(() => {
|
|
|
340
351
|
$effect(() => {
|
|
341
352
|
;
|
|
342
353
|
[result];
|
|
343
|
-
|
|
354
|
+
untrack(() => {
|
|
355
|
+
resultKind = inferResultKind(result);
|
|
356
|
+
});
|
|
344
357
|
});
|
|
345
358
|
$effect(() => {
|
|
346
359
|
chooseToolbarLocation(!is_render_all &&
|