windmill-components 1.269.4 → 1.291.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package/ata/apis.d.ts +8 -5
- package/package/ata/apis.js +20 -9
- package/package/ata/edgeCases.js +5 -1
- package/package/ata/index.d.ts +3 -3
- package/package/ata/index.js +51 -28
- package/package/common.d.ts +1 -0
- package/package/components/AddUser.svelte +15 -6
- package/package/components/ApiConnectForm.svelte +1 -1
- package/package/components/ArgEnum.svelte +1 -1
- package/package/components/ArgEnum.svelte.d.ts +1 -1
- package/package/components/ArgInfo.svelte +2 -1
- package/package/components/ArgInput.svelte +7 -6
- package/package/components/ArgInput.svelte.d.ts +1 -1
- package/package/components/ArrayTypeNarrowing.svelte +2 -0
- package/package/components/CenteredModal.svelte +5 -2
- package/package/components/ChangeInstanceUsername.svelte +123 -0
- package/package/components/ChangeInstanceUsername.svelte.d.ts +20 -0
- package/package/components/ContentSearch.svelte +3 -4
- package/package/components/ContentSearch.svelte.d.ts +0 -3
- package/package/components/DateTimeInput.svelte +73 -9
- package/package/components/DateTimeInput.svelte.d.ts +8 -1
- package/package/components/DefaultScripts.svelte +26 -0
- package/package/components/DefaultScripts.svelte.d.ts +14 -0
- package/package/components/DefaultScriptsInner.svelte +75 -0
- package/package/components/DefaultScriptsInner.svelte.d.ts +14 -0
- package/package/components/Dev.svelte +59 -17
- package/package/components/DisplayResult.svelte +73 -67
- package/package/components/DurationMs.svelte +9 -8
- package/package/components/DurationMs.svelte.d.ts +1 -0
- package/package/components/Editor.svelte +23 -7
- package/package/components/FieldHeader.svelte +7 -7
- package/package/components/FlowBuilder.svelte +24 -13
- package/package/components/FlowBuilder.svelte.d.ts +0 -3
- package/package/components/FlowLoopIterationPreview.svelte +6 -5
- package/package/components/FlowMetadata.svelte +6 -2
- package/package/components/FlowPreviewContent.svelte +5 -5
- package/package/components/FolderEditor.svelte +20 -39
- package/package/components/GroupEditor.svelte +1 -1
- package/package/components/HighlightCode.svelte +7 -5
- package/package/components/IconedResourceType.svelte +5 -3
- package/package/components/IconedResourceType.svelte.d.ts +21 -7
- package/package/components/InputTransformForm.svelte +6 -1
- package/package/components/InstanceSettings.svelte +29 -17
- package/package/components/InstanceSettings.svelte.d.ts +3 -0
- package/package/components/InviteGlobalUser.svelte +1 -1
- package/package/components/JobArgs.svelte +20 -7
- package/package/components/JobStatus.svelte +8 -2
- package/package/components/LightweightArgInput.svelte +30 -14
- package/package/components/LightweightSchemaForm.svelte +1 -0
- package/package/components/LogViewer.svelte +21 -6
- package/package/components/ModulePreview.svelte +19 -11
- package/package/components/ModulePreview.svelte.d.ts +3 -2
- package/package/components/ObjectResourceInput.svelte +2 -0
- package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
- package/package/components/Password.svelte +5 -2
- package/package/components/Password.svelte.d.ts +1 -0
- package/package/components/Path.svelte +10 -11
- package/package/components/ResourcePicker.svelte +28 -9
- package/package/components/ResourcePicker.svelte.d.ts +1 -0
- package/package/components/RunChart.svelte +1 -0
- package/package/components/RunForm.svelte +9 -17
- package/package/components/RunFormAdvancedPopup.svelte +11 -12
- package/package/components/S3FilePicker.svelte +1 -0
- package/package/components/ScheduleEditorInner.svelte +10 -9
- package/package/components/ScheduleEditorInner.svelte.d.ts +2 -2
- package/package/components/SchemaEditor.svelte +12 -1
- package/package/components/SchemaForm.svelte +1 -2
- package/package/components/SchemaModal.svelte +2 -2
- package/package/components/ScriptBuilder.svelte +152 -79
- package/package/components/ScriptBuilder.svelte.d.ts +1 -1
- package/package/components/ScriptEditor.svelte +8 -9
- package/package/components/ScriptSchedules.svelte +99 -0
- package/package/components/ScriptSchedules.svelte.d.ts +20 -0
- package/package/components/ShareModal.svelte +1 -0
- package/package/components/StringTypeNarrowing.svelte +9 -3
- package/package/components/SuperadminSettings.svelte +114 -10
- package/package/components/TestJobLoader.svelte +8 -0
- package/package/components/TestJobLoader.svelte.d.ts +1 -0
- package/package/components/TimeAgo.svelte +2 -2
- package/package/components/TimelineBar.svelte +5 -2
- package/package/components/Toggle.svelte +5 -2
- package/package/components/Toggle.svelte.d.ts +1 -0
- package/package/components/Tooltip.svelte +13 -2
- package/package/components/Tooltip.svelte.d.ts +1 -0
- package/package/components/Uptodate.svelte +12 -6
- package/package/components/UserSettings.svelte +87 -73
- package/package/components/WorkerTagPicker.svelte +4 -2
- package/package/components/WorkflowTimeline.svelte +106 -0
- package/package/components/WorkflowTimeline.svelte.d.ts +18 -0
- package/package/components/WorkspaceGroup.svelte +1 -0
- package/package/components/apps/components/buttons/AppButton.svelte +9 -19
- package/package/components/apps/components/display/AppCustomComponent.svelte +2 -4
- package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +246 -94
- package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte.d.ts +0 -3
- package/package/components/apps/components/display/dbtable/DbExplorerCount.svelte +17 -5
- package/package/components/apps/components/display/dbtable/DbExplorerCount.svelte.d.ts +6 -2
- package/package/components/apps/components/display/dbtable/DeleteRow.svelte +6 -4
- package/package/components/apps/components/display/dbtable/DeleteRow.svelte.d.ts +3 -3
- package/package/components/apps/components/display/dbtable/InsertRow.svelte +55 -37
- package/package/components/apps/components/display/dbtable/InsertRow.svelte.d.ts +17 -1
- package/package/components/apps/components/display/dbtable/InsertRowRunnable.svelte +4 -3
- package/package/components/apps/components/display/dbtable/InsertRowRunnable.svelte.d.ts +2 -2
- package/package/components/apps/components/display/dbtable/UpdateCell.svelte +5 -4
- package/package/components/apps/components/display/dbtable/UpdateCell.svelte.d.ts +3 -3
- package/package/components/apps/components/display/dbtable/queries/count.d.ts +4 -0
- package/package/components/apps/components/display/dbtable/queries/count.js +140 -0
- package/package/components/apps/components/display/dbtable/queries/delete.d.ts +3 -0
- package/package/components/apps/components/display/dbtable/queries/delete.js +68 -0
- package/package/components/apps/components/display/dbtable/queries/insert.d.ts +5 -0
- package/package/components/apps/components/display/dbtable/queries/insert.js +121 -0
- package/package/components/apps/components/display/dbtable/queries/select.d.ts +7 -0
- package/package/components/apps/components/display/dbtable/queries/select.js +196 -0
- package/package/components/apps/components/display/dbtable/queries/update.d.ts +3 -0
- package/package/components/apps/components/display/dbtable/queries/update.js +75 -0
- package/package/components/apps/components/display/dbtable/utils.d.ts +79 -0
- package/package/components/apps/components/display/dbtable/utils.js +284 -309
- package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +39 -19
- package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte.d.ts +0 -2
- package/package/components/apps/components/display/table/AppAggridTable.svelte +4 -1
- package/package/components/apps/components/display/table/AppTable.svelte +4 -0
- package/package/components/apps/components/display/table/AppTable.svelte.d.ts +2 -2
- package/package/components/apps/components/display/table/utils.js +42 -0
- package/package/components/apps/components/helpers/InputValue.svelte +10 -8
- package/package/components/apps/components/helpers/InputValue.svelte.d.ts +1 -0
- package/package/components/apps/components/helpers/RefreshButton.svelte +1 -1
- package/package/components/apps/components/helpers/ResolveConfig.svelte +2 -0
- package/package/components/apps/components/helpers/RunnableComponent.svelte +6 -2
- package/package/components/apps/components/helpers/eval.d.ts +2 -2
- package/package/components/apps/components/helpers/eval.js +33 -11
- package/package/components/apps/components/inputs/AppCheckbox.svelte +4 -0
- package/package/components/apps/components/inputs/AppCheckbox.svelte.d.ts +1 -0
- package/package/components/apps/components/inputs/AppDateInput.svelte +2 -2
- package/package/components/apps/components/inputs/AppDateTimeInput.svelte +121 -0
- package/package/components/apps/components/inputs/AppDateTimeInput.svelte.d.ts +22 -0
- package/package/components/apps/components/inputs/AppSelect.svelte +5 -0
- package/package/components/apps/components/inputs/AppSelect.svelte.d.ts +1 -0
- package/package/components/apps/components/inputs/AppTimeInput.svelte +103 -0
- package/package/components/apps/components/inputs/AppTimeInput.svelte.d.ts +21 -0
- package/package/components/apps/components/layout/AppConditionalWrapper.svelte +0 -1
- package/package/components/apps/components/layout/AppDecisionTree.svelte +12 -0
- package/package/components/apps/components/layout/AppStepper.svelte +4 -2
- package/package/components/apps/editor/AppEditor.svelte +19 -4
- package/package/components/apps/editor/AppEditorHeader.svelte +42 -14
- package/package/components/apps/editor/AppEditorHeader.svelte.d.ts +2 -0
- package/package/components/apps/editor/AppTimeline.svelte +4 -4
- package/package/components/apps/editor/DecisionTreeDebug.svelte +1 -1
- package/package/components/apps/editor/DeploymentHistory.svelte +1 -1
- package/package/components/apps/editor/GridEditorMenu.svelte +3 -3
- package/package/components/apps/editor/RecomputeAllComponents.svelte +1 -1
- package/package/components/apps/editor/SettingsPanel.svelte +2 -0
- package/package/components/apps/editor/TabsDebug.svelte +2 -2
- package/package/components/apps/editor/appUtils.js +8 -0
- package/package/components/apps/editor/component/Component.svelte +21 -0
- package/package/components/apps/editor/component/components.d.ts +168 -9
- package/package/components/apps/editor/component/components.js +203 -10
- package/package/components/apps/editor/component/sets.js +2 -0
- package/package/components/apps/editor/componentsPanel/ComponentList.svelte +3 -3
- package/package/components/apps/editor/componentsPanel/ThemeList.svelte +1 -0
- package/package/components/apps/editor/componentsPanel/ThemeList.svelte.d.ts +2 -0
- package/package/components/apps/editor/componentsPanel/ThemeRow.svelte +8 -4
- package/package/components/apps/editor/componentsPanel/componentControlUtils.js +2 -0
- package/package/components/apps/editor/componentsPanel/quickStyleProperties.js +6 -0
- package/package/components/apps/editor/contextPanel/DebugPanel.svelte +178 -0
- package/package/components/apps/editor/contextPanel/DebugPanel.svelte.d.ts +14 -0
- package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +3 -1
- package/package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +9 -18
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +11 -16
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +2 -2
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptHiddenRunnable.svelte +2 -2
- package/package/components/apps/editor/inlineScriptsPanel/RunButton.svelte +4 -12
- package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +27 -4
- package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +3 -1
- package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +68 -28
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/GridCondition.svelte +57 -43
- package/package/components/apps/editor/settingsPanel/GridTab.svelte +15 -12
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +9 -3
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +4 -0
- package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +8 -0
- package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +2 -0
- package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +6 -0
- package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte.d.ts +2 -0
- package/package/components/apps/editor/settingsPanel/Recompute.svelte +4 -5
- package/package/components/apps/editor/settingsPanel/Recompute.svelte.d.ts +3 -0
- package/package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +4 -2
- package/package/components/apps/editor/settingsPanel/inputEditor/DBTableSelect.svelte +42 -0
- package/package/components/apps/editor/settingsPanel/inputEditor/DBTableSelect.svelte.d.ts +19 -0
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +24 -2
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte.d.ts +2 -0
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +25 -15
- package/package/components/apps/editor/settingsPanel/script/BackgroundScriptSettings.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/script/ComponentScriptSettings.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/script/shared/ScriptSettingHeader.svelte +8 -1
- package/package/components/apps/editor/settingsPanel/script/shared/ScriptSettingHeader.svelte.d.ts +1 -0
- package/package/components/apps/editor/settingsPanel/script/shared/ScriptTriggers.svelte +13 -0
- package/package/components/apps/inputType.d.ts +2 -2
- package/package/components/apps/svelte-select/lib/Select.svelte +2 -1
- package/package/components/apps/types.d.ts +5 -3
- package/package/components/build_workers.js +9 -13
- package/package/components/common/button/Button.svelte +78 -36
- package/package/components/common/button/Button.svelte.d.ts +7 -0
- package/package/components/common/button/model.d.ts +0 -1
- package/package/components/common/button/model.js +0 -8
- package/package/components/common/calendarPicker/CalendarPicker.svelte +11 -37
- package/package/components/common/confirmationModal/ConfirmationModal.svelte +11 -10
- package/package/components/common/confirmationModal/UnsavedConfirmationModal.svelte +5 -12
- package/package/components/common/confirmationModal/UnsavedConfirmationModal.svelte.d.ts +0 -3
- package/package/components/common/table/ScriptRow.svelte +28 -1
- package/package/components/common/tabs/Tab.svelte +6 -4
- package/package/components/common/tabs/Tab.svelte.d.ts +1 -0
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +4 -2
- package/package/components/copilot/IteratorGen.svelte +10 -5
- package/package/components/copilot/MetadataGen.svelte +6 -1
- package/package/components/copilot/PredicateGen.svelte +3 -4
- package/package/components/copilot/ScriptFix.svelte +1 -1
- package/package/components/copilot/StepGen.svelte +2 -1
- package/package/components/copilot/StepGen.svelte.d.ts +1 -0
- package/package/components/copilot/StepInputGen.svelte +13 -7
- package/package/components/copilot/StepInputsGen.svelte +12 -7
- package/package/components/copilot/lib.d.ts +1 -1
- package/package/components/copilot/lib.js +2 -2
- package/package/components/details/Menu.svelte +11 -6
- package/package/components/details/Menu.svelte.d.ts +1 -3
- package/package/components/details/WebhooksPanel.svelte +1 -1
- package/package/components/flows/content/FlowBranchesAllWrapper.svelte +11 -10
- package/package/components/flows/content/FlowBranchesOneWrapper.svelte +11 -9
- package/package/components/flows/content/FlowInputs.svelte +84 -238
- package/package/components/flows/content/FlowLoop.svelte +25 -16
- package/package/components/flows/content/FlowModuleComponent.svelte +17 -2
- package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowModuleWrapper.svelte +5 -0
- package/package/components/flows/content/FlowSchedules.svelte +75 -1
- package/package/components/flows/content/FlowSettings.svelte +5 -0
- package/package/components/flows/content/SuspendDrawer.svelte +1 -1
- package/package/components/flows/flowStateUtils.d.ts +1 -1
- package/package/components/flows/flowStateUtils.js +2 -2
- package/package/components/flows/idUtils.js +12 -1
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +2 -2
- package/package/components/flows/map/InsertModuleButton.svelte +1 -3
- package/package/components/flows/map/MapItem.svelte +1 -1
- package/package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
- package/package/components/flows/scheduleUtils.d.ts +2 -1
- package/package/components/flows/scheduleUtils.js +2 -1
- package/package/components/home/ItemsList.svelte +10 -9
- package/package/components/icons/AsanaIcon.svelte +5 -0
- package/package/components/icons/AsanaIcon.svelte.d.ts +17 -0
- package/package/components/icons/BitbucketIcon.svelte +19 -0
- package/package/components/icons/BitbucketIcon.svelte.d.ts +17 -0
- package/package/components/icons/CACertificate.svelte +7 -0
- package/package/components/icons/CACertificate.svelte.d.ts +17 -0
- package/package/components/icons/CurrencyApiIcon.svelte +24 -0
- package/package/components/icons/CurrencyApiIcon.svelte.d.ts +17 -0
- package/package/components/icons/DynatraceIcon.svelte +26 -0
- package/package/components/icons/DynatraceIcon.svelte.d.ts +17 -0
- package/package/components/icons/EdgeDbIcon.svelte +25 -0
- package/package/components/icons/EdgeDbIcon.svelte.d.ts +17 -0
- package/package/components/icons/GitIcon.svelte +7 -0
- package/package/components/icons/GitIcon.svelte.d.ts +17 -0
- package/package/components/icons/GoogleCloudIcon.svelte +20 -0
- package/package/components/icons/GoogleCloudIcon.svelte.d.ts +17 -0
- package/package/components/icons/IpinfoIcon.svelte +8 -0
- package/package/components/icons/IpinfoIcon.svelte.d.ts +17 -0
- package/package/components/icons/MSTeamsIcon.svelte +5 -0
- package/package/components/icons/MSTeamsIcon.svelte.d.ts +17 -0
- package/package/components/icons/MailgunIcon.svelte +11 -0
- package/package/components/icons/MailgunIcon.svelte.d.ts +17 -0
- package/package/components/icons/PushoverIcon.svelte +8 -0
- package/package/components/icons/PushoverIcon.svelte.d.ts +17 -0
- package/package/components/icons/QuickbooksIcon.svelte +5 -0
- package/package/components/icons/QuickbooksIcon.svelte.d.ts +17 -0
- package/package/components/icons/ResendIcon.svelte +7 -0
- package/package/components/icons/ResendIcon.svelte.d.ts +17 -0
- package/package/components/icons/TrelloIcon.svelte +5 -0
- package/package/components/icons/TrelloIcon.svelte.d.ts +17 -0
- package/package/components/icons/TwilioIcon.svelte +11 -0
- package/package/components/icons/TwilioIcon.svelte.d.ts +17 -0
- package/package/components/icons/ZendeskIcon.svelte +11 -0
- package/package/components/icons/ZendeskIcon.svelte.d.ts +17 -0
- package/package/components/icons/index.d.ts +36 -1
- package/package/components/icons/index.js +37 -2
- package/package/components/instanceSettings.js +38 -1
- package/package/components/jobs/JobPreview.svelte +4 -1
- package/package/components/runs/JobLoader.svelte +6 -4
- package/package/components/runs/JobPreview.svelte +15 -1
- package/package/components/runs/ManuelDatePicker.svelte +1 -1
- package/package/components/runs/NoWorkerWithTagWarning.svelte +5 -3
- package/package/components/runs/RunRow.svelte +5 -19
- package/package/components/runs/RunsFilter.svelte +1 -1
- package/package/components/runs/RunsTable.svelte +1 -1
- package/package/components/scriptEditor/LogPanel.svelte +12 -0
- package/package/components/settings/PremiumInfo.svelte +92 -31
- package/package/components/settings/WorkspaceUserSettings.svelte +42 -6
- package/package/components/sidebar/changelogs.js +20 -0
- package/package/components/table/AutoDataTable.svelte +18 -4
- package/package/consts.d.ts +0 -3
- package/package/consts.js +0 -3
- package/package/enterpriseUtils.d.ts +1 -0
- package/package/enterpriseUtils.js +17 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/index.d.ts +5 -2
- package/package/gen/models/LargeFileStorage.d.ts +3 -1
- package/package/gen/models/LargeFileStorage.js +2 -0
- package/package/gen/models/User.d.ts +0 -2
- package/package/gen/models/UserUsage.d.ts +4 -0
- package/package/gen/models/WorkflowStatus.d.ts +6 -0
- package/package/gen/models/WorkflowStatusRecord.d.ts +2 -0
- package/package/gen/models/WorkflowStatusRecord.js +5 -0
- package/package/gen/models/WorkflowTask.d.ts +4 -0
- package/package/gen/models/WorkflowTask.js +5 -0
- package/package/gen/models/WorkspaceDefaultScripts.d.ts +5 -0
- package/package/gen/models/WorkspaceDefaultScripts.js +5 -0
- package/package/gen/services/AdminService.d.ts +6 -9
- package/package/gen/services/AdminService.js +6 -7
- package/package/gen/services/FolderService.d.ts +3 -2
- package/package/gen/services/JobService.d.ts +27 -2
- package/package/gen/services/JobService.js +22 -2
- package/package/gen/services/SettingService.d.ts +11 -0
- package/package/gen/services/SettingService.js +13 -0
- package/package/gen/services/UserService.d.ts +14 -9
- package/package/gen/services/UserService.js +20 -7
- package/package/gen/services/WorkspaceService.d.ts +62 -0
- package/package/gen/services/WorkspaceService.js +76 -0
- package/package/infer.d.ts +20 -1
- package/package/infer.js +39 -19
- package/package/script_helpers.d.ts +7 -6
- package/package/script_helpers.js +24 -7
- package/package/scripts.d.ts +11 -0
- package/package/scripts.js +38 -1
- package/package/stores.d.ts +2 -1
- package/package/stores.js +2 -0
- package/package/utils.d.ts +1 -1
- package/package/utils.js +3 -3
- package/package.json +3 -4
- package/package/components/common/confirmationModal/model.d.ts +0 -9
- package/package/components/common/confirmationModal/model.js +0 -1
- package/package/gen/models/NewUser.d.ts +0 -5
- package/package/gen/models/Usage.d.ts +0 -3
- /package/package/gen/models/{NewUser.js → UserUsage.js} +0 -0
- /package/package/gen/models/{Usage.js → WorkflowStatus.js} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script>import { Alert } from '../../common';
|
|
2
2
|
import ToggleHubWorkspace from '../../ToggleHubWorkspace.svelte';
|
|
3
3
|
import Tooltip from '../../Tooltip.svelte';
|
|
4
|
-
import {
|
|
4
|
+
import { Script } from '../../../gen';
|
|
5
5
|
import { createEventDispatcher } from 'svelte';
|
|
6
6
|
import FlowScriptPicker from '../pickers/FlowScriptPicker.svelte';
|
|
7
7
|
import PickHubScript from '../pickers/PickHubScript.svelte';
|
|
@@ -12,6 +12,9 @@ import ToggleButtonGroup from '../../common/toggleButton-v2/ToggleButtonGroup.sv
|
|
|
12
12
|
import ToggleButton from '../../common/toggleButton-v2/ToggleButton.svelte';
|
|
13
13
|
import { Check, Code, Zap } from 'lucide-svelte';
|
|
14
14
|
import SuspendDrawer from './SuspendDrawer.svelte';
|
|
15
|
+
import { defaultScripts } from '../../../stores';
|
|
16
|
+
import { defaultScriptLanguages } from '../../../scripts';
|
|
17
|
+
import DefaultScripts from '../../DefaultScripts.svelte';
|
|
15
18
|
export let failureModule;
|
|
16
19
|
export let shouldDisableTriggerScripts = false;
|
|
17
20
|
export let noEditor;
|
|
@@ -26,6 +29,23 @@ let kind = failureModule
|
|
|
26
29
|
: 'script';
|
|
27
30
|
let pick_existing = 'hub';
|
|
28
31
|
let filter = '';
|
|
32
|
+
$: langs = ($defaultScripts?.order ?? Object.keys(defaultScriptLanguages))
|
|
33
|
+
.map((l) => [defaultScriptLanguages[l], l])
|
|
34
|
+
.filter((x) => $defaultScripts?.hidden == undefined || !$defaultScripts.hidden.includes(x[1]));
|
|
35
|
+
function displayLang(lang, kind) {
|
|
36
|
+
if (lang == Script.language.BUN ||
|
|
37
|
+
lang == Script.language.PYTHON3 ||
|
|
38
|
+
lang == Script.language.DENO) {
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
if (lang == Script.language.GO) {
|
|
42
|
+
return kind == 'script' || kind == 'trigger' || failureModule;
|
|
43
|
+
}
|
|
44
|
+
if (lang == Script.language.BASH || lang == Script.language.NATIVETS) {
|
|
45
|
+
return kind == 'script';
|
|
46
|
+
}
|
|
47
|
+
return kind == 'script' && !failureModule;
|
|
48
|
+
}
|
|
29
49
|
</script>
|
|
30
50
|
|
|
31
51
|
<div class="p-4 h-full flex flex-col" id="flow-editor-flow-inputs">
|
|
@@ -96,7 +116,7 @@ let filter = '';
|
|
|
96
116
|
</Alert>
|
|
97
117
|
{/if}
|
|
98
118
|
|
|
99
|
-
{#if kind == 'script'}
|
|
119
|
+
{#if kind == 'script' && !noEditor}
|
|
100
120
|
<div class="mt-2" />
|
|
101
121
|
<Alert title="Action Scripts" role="info">
|
|
102
122
|
An action script is simply a script that is neither a trigger nor an approval script. Those
|
|
@@ -105,40 +125,51 @@ let filter = '';
|
|
|
105
125
|
{/if}
|
|
106
126
|
|
|
107
127
|
{#if kind == 'approval'}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
128
|
+
{#if !noEditor}
|
|
129
|
+
<div class="mt-2" />
|
|
130
|
+
<Alert title="Approval/Prompt Step" role="info">
|
|
131
|
+
An approval/prompt step will suspend the execution of a flow until it has been approved
|
|
132
|
+
and/or the prompts have been filled in the UI or through the resume endpoints or the
|
|
133
|
+
approval page by and solely by the recipients of the secret urls. See details in
|
|
134
|
+
'Advanced' -> 'Suspend' settings of the step. A prompt is a specialized approval step with
|
|
135
|
+
payload that can be self-approved by the caller.<br /><br />
|
|
136
|
+
For further details, visit
|
|
137
|
+
<a
|
|
138
|
+
href="https://www.windmill.dev/docs/flows/flow_approval"
|
|
139
|
+
target="_blank"
|
|
140
|
+
class="text-blue-500">Approval/Prompt Steps Documentation</a
|
|
141
|
+
>
|
|
142
|
+
or
|
|
143
|
+
<div class="inline-flex">
|
|
144
|
+
<SuspendDrawer text="Approval/Step prompt helpers" />
|
|
145
|
+
</div>
|
|
146
|
+
</Alert>
|
|
147
|
+
{:else}
|
|
116
148
|
<a
|
|
117
149
|
href="https://www.windmill.dev/docs/flows/flow_approval"
|
|
118
150
|
target="_blank"
|
|
119
151
|
class="text-blue-500">Approval/Prompt Steps Documentation</a
|
|
120
152
|
>
|
|
121
|
-
|
|
122
|
-
<div class="inline-flex">
|
|
123
|
-
<SuspendDrawer text="Approval/Step prompt helpers" />
|
|
124
|
-
</div>
|
|
125
|
-
</Alert>
|
|
153
|
+
{/if}
|
|
126
154
|
{/if}
|
|
127
|
-
<h3 class="pb-2 pt-4">
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
155
|
+
<h3 class="pb-2 pt-4 flex gap-x-8 flex-wrap">
|
|
156
|
+
<div>
|
|
157
|
+
Inline new <span class="text-blue-500">{kind == 'script' ? 'action' : kind}</span> script
|
|
158
|
+
<Tooltip
|
|
159
|
+
documentationLink={kind === 'script'
|
|
160
|
+
? 'https://www.windmill.dev/docs/flows/editor_components#flow-actions'
|
|
161
|
+
: kind === 'trigger'
|
|
162
|
+
? 'https://www.windmill.dev/docs/flows/flow_trigger'
|
|
163
|
+
: kind === 'approval'
|
|
164
|
+
? 'https://www.windmill.dev/docs/flows/flow_approval'
|
|
165
|
+
: 'https://www.windmill.dev/docs/getting_started/flows_quickstart#flow-editor'}
|
|
166
|
+
>
|
|
167
|
+
Embed <span>{kind == 'script' ? 'action' : kind}</span> script directly inside a flow instead
|
|
168
|
+
of saving the script into your workspace for reuse. You can always save an inline script to
|
|
169
|
+
your workspace later.
|
|
170
|
+
</Tooltip>
|
|
171
|
+
</div>
|
|
172
|
+
<DefaultScripts />
|
|
142
173
|
</h3>
|
|
143
174
|
{#if noEditor}
|
|
144
175
|
<div
|
|
@@ -153,226 +184,41 @@ let filter = '';
|
|
|
153
184
|
{/if}
|
|
154
185
|
<div class="flex flex-row">
|
|
155
186
|
<div class="flex flex-row flex-wrap gap-2" id="flow-editor-action-script">
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
label="TypeScript (Deno)"
|
|
159
|
-
lang={Script.language.DENO}
|
|
160
|
-
on:click={() => {
|
|
161
|
-
dispatch('new', {
|
|
162
|
-
language: RawScript.language.DENO,
|
|
163
|
-
kind,
|
|
164
|
-
subkind: 'flow',
|
|
165
|
-
summary
|
|
166
|
-
})
|
|
167
|
-
}}
|
|
168
|
-
/>
|
|
169
|
-
|
|
170
|
-
<FlowScriptPicker
|
|
171
|
-
disabled={noEditor && (summary == undefined || summary == '')}
|
|
172
|
-
label="Python"
|
|
173
|
-
lang={Script.language.PYTHON3}
|
|
174
|
-
on:click={() => {
|
|
175
|
-
dispatch('new', {
|
|
176
|
-
language: RawScript.language.PYTHON3,
|
|
177
|
-
kind,
|
|
178
|
-
subkind: 'flow',
|
|
179
|
-
summary
|
|
180
|
-
})
|
|
181
|
-
}}
|
|
182
|
-
/>
|
|
183
|
-
|
|
184
|
-
<FlowScriptPicker
|
|
185
|
-
disabled={noEditor && (summary == undefined || summary == '')}
|
|
186
|
-
label="TypeScript (Bun)"
|
|
187
|
-
lang={Script.language.BUN}
|
|
188
|
-
on:click={() => {
|
|
189
|
-
dispatch('new', {
|
|
190
|
-
language: RawScript.language.BUN,
|
|
191
|
-
kind,
|
|
192
|
-
subkind: 'flow',
|
|
193
|
-
summary
|
|
194
|
-
})
|
|
195
|
-
}}
|
|
196
|
-
/>
|
|
197
|
-
|
|
198
|
-
{#if kind != 'approval'}
|
|
199
|
-
<FlowScriptPicker
|
|
200
|
-
disabled={noEditor && (summary == undefined || summary == '')}
|
|
201
|
-
label="Go"
|
|
202
|
-
lang={Script.language.GO}
|
|
203
|
-
on:click={() => {
|
|
204
|
-
dispatch('new', {
|
|
205
|
-
language: RawScript.language.GO,
|
|
206
|
-
kind,
|
|
207
|
-
subkind: 'flow',
|
|
208
|
-
summary
|
|
209
|
-
})
|
|
210
|
-
}}
|
|
211
|
-
/>
|
|
212
|
-
{/if}
|
|
213
|
-
|
|
214
|
-
{#if kind == 'script'}
|
|
215
|
-
<FlowScriptPicker
|
|
216
|
-
disabled={noEditor && (summary == undefined || summary == '')}
|
|
217
|
-
label="Bash"
|
|
218
|
-
lang={Script.language.BASH}
|
|
219
|
-
on:click={() => {
|
|
220
|
-
dispatch('new', {
|
|
221
|
-
language: RawScript.language.BASH,
|
|
222
|
-
kind,
|
|
223
|
-
subkind: 'flow',
|
|
224
|
-
summary
|
|
225
|
-
})
|
|
226
|
-
}}
|
|
227
|
-
/>
|
|
228
|
-
|
|
229
|
-
<FlowScriptPicker
|
|
230
|
-
disabled={noEditor && (summary == undefined || summary == '')}
|
|
231
|
-
label="REST"
|
|
232
|
-
lang={Script.language.NATIVETS}
|
|
233
|
-
on:click={() => {
|
|
234
|
-
dispatch('new', {
|
|
235
|
-
language: RawScript.language.NATIVETS,
|
|
236
|
-
kind,
|
|
237
|
-
subkind: 'flow',
|
|
238
|
-
summary
|
|
239
|
-
})
|
|
240
|
-
}}
|
|
241
|
-
/>
|
|
242
|
-
|
|
243
|
-
{#if !failureModule}
|
|
244
|
-
<FlowScriptPicker
|
|
245
|
-
disabled={noEditor && (summary == undefined || summary == '')}
|
|
246
|
-
label="PostgreSQL"
|
|
247
|
-
lang={Script.language.POSTGRESQL}
|
|
248
|
-
on:click={() => {
|
|
249
|
-
dispatch('new', {
|
|
250
|
-
language: RawScript.language.POSTGRESQL,
|
|
251
|
-
kind,
|
|
252
|
-
subkind: 'flow',
|
|
253
|
-
summary
|
|
254
|
-
})
|
|
255
|
-
}}
|
|
256
|
-
/>
|
|
257
|
-
<FlowScriptPicker
|
|
258
|
-
disabled={noEditor && (summary == undefined || summary == '')}
|
|
259
|
-
label="MySQL"
|
|
260
|
-
lang={Script.language.MYSQL}
|
|
261
|
-
on:click={() => {
|
|
262
|
-
dispatch('new', {
|
|
263
|
-
language: RawScript.language.MYSQL,
|
|
264
|
-
kind,
|
|
265
|
-
subkind: 'flow',
|
|
266
|
-
summary
|
|
267
|
-
})
|
|
268
|
-
}}
|
|
269
|
-
/>
|
|
270
|
-
<FlowScriptPicker
|
|
271
|
-
disabled={noEditor && (summary == undefined || summary == '')}
|
|
272
|
-
label="BigQuery"
|
|
273
|
-
lang={Script.language.BIGQUERY}
|
|
274
|
-
on:click={() => {
|
|
275
|
-
dispatch('new', {
|
|
276
|
-
language: RawScript.language.BIGQUERY,
|
|
277
|
-
kind,
|
|
278
|
-
subkind: 'flow',
|
|
279
|
-
summary
|
|
280
|
-
})
|
|
281
|
-
}}
|
|
282
|
-
/>
|
|
283
|
-
<FlowScriptPicker
|
|
284
|
-
disabled={noEditor && (summary == undefined || summary == '')}
|
|
285
|
-
label="Snowflake"
|
|
286
|
-
lang={Script.language.SNOWFLAKE}
|
|
287
|
-
on:click={() => {
|
|
288
|
-
dispatch('new', {
|
|
289
|
-
language: RawScript.language.SNOWFLAKE,
|
|
290
|
-
kind,
|
|
291
|
-
subkind: 'flow',
|
|
292
|
-
summary
|
|
293
|
-
})
|
|
294
|
-
}}
|
|
295
|
-
/>
|
|
296
|
-
|
|
297
|
-
<FlowScriptPicker
|
|
298
|
-
disabled={noEditor && (summary == undefined || summary == '')}
|
|
299
|
-
label="MS SQL Server"
|
|
300
|
-
lang={Script.language.MSSQL}
|
|
301
|
-
on:click={() => {
|
|
302
|
-
dispatch('new', {
|
|
303
|
-
language: RawScript.language.MSSQL,
|
|
304
|
-
kind,
|
|
305
|
-
subkind: 'flow',
|
|
306
|
-
summary
|
|
307
|
-
})
|
|
308
|
-
}}
|
|
309
|
-
/>
|
|
310
|
-
|
|
311
|
-
<FlowScriptPicker
|
|
312
|
-
disabled={noEditor && (summary == undefined || summary == '')}
|
|
313
|
-
label="GraphQL"
|
|
314
|
-
lang={Script.language.GRAPHQL}
|
|
315
|
-
on:click={() => {
|
|
316
|
-
dispatch('new', {
|
|
317
|
-
language: RawScript.language.GRAPHQL,
|
|
318
|
-
kind,
|
|
319
|
-
subkind: 'flow',
|
|
320
|
-
summary
|
|
321
|
-
})
|
|
322
|
-
}}
|
|
323
|
-
/>
|
|
324
|
-
|
|
187
|
+
{#each langs as [label, lang] (lang)}
|
|
188
|
+
{#if displayLang(lang, kind)}
|
|
325
189
|
<FlowScriptPicker
|
|
326
190
|
disabled={noEditor && (summary == undefined || summary == '')}
|
|
327
|
-
label
|
|
328
|
-
lang=
|
|
191
|
+
{label}
|
|
192
|
+
lang={lang == 'docker' ? Script.language.BASH : lang}
|
|
329
193
|
on:click={() => {
|
|
330
|
-
if (
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
194
|
+
if (lang == 'docker') {
|
|
195
|
+
if (isCloudHosted()) {
|
|
196
|
+
sendUserToast(
|
|
197
|
+
'You cannot use Docker scripts on the multi-tenant platform. Use a dedicated instance or self-host windmill instead.',
|
|
198
|
+
true,
|
|
199
|
+
[
|
|
200
|
+
{
|
|
201
|
+
label: 'Learn more',
|
|
202
|
+
callback: () => {
|
|
203
|
+
window.open('https://www.windmill.dev/docs/advanced/docker', '_blank')
|
|
204
|
+
}
|
|
339
205
|
}
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
206
|
+
]
|
|
207
|
+
)
|
|
208
|
+
return
|
|
209
|
+
}
|
|
344
210
|
}
|
|
211
|
+
console.log(lang, kind)
|
|
345
212
|
dispatch('new', {
|
|
346
|
-
language:
|
|
347
|
-
kind,
|
|
348
|
-
subkind: 'docker',
|
|
349
|
-
summary
|
|
350
|
-
})
|
|
351
|
-
}}
|
|
352
|
-
/>
|
|
353
|
-
|
|
354
|
-
<FlowScriptPicker
|
|
355
|
-
disabled={noEditor && (summary == undefined || summary == '')}
|
|
356
|
-
label="PowerShell"
|
|
357
|
-
lang={Script.language.POWERSHELL}
|
|
358
|
-
on:click={() => {
|
|
359
|
-
dispatch('new', {
|
|
360
|
-
language: RawScript.language.POWERSHELL,
|
|
213
|
+
language: lang == 'docker' ? Script.language.BASH : lang,
|
|
361
214
|
kind,
|
|
362
|
-
subkind: 'flow',
|
|
215
|
+
subkind: lang == 'docker' ? 'docker' : 'flow',
|
|
363
216
|
summary
|
|
364
217
|
})
|
|
365
218
|
}}
|
|
366
219
|
/>
|
|
367
|
-
|
|
368
|
-
<!-- <FlowScriptPicker
|
|
369
|
-
label={`MySQL`}
|
|
370
|
-
lang="mysql"
|
|
371
|
-
on:click={() =>
|
|
372
|
-
dispatch('new', { language: RawScript.language.DENO, kind, subkind: 'mysql' })}
|
|
373
|
-
/> -->
|
|
374
220
|
{/if}
|
|
375
|
-
{/
|
|
221
|
+
{/each}
|
|
376
222
|
</div>
|
|
377
223
|
</div>
|
|
378
224
|
|
|
@@ -55,16 +55,20 @@ $: previewIterationArgs = $flowStateStore[mod.id]?.previewArgs ?? {};
|
|
|
55
55
|
|
|
56
56
|
<Splitpanes horizontal class="!max-h-[calc(100%-48px)]">
|
|
57
57
|
<Pane size={60} minSize={20} class="p-4">
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
58
|
+
{#if !noEditor}
|
|
59
|
+
<Alert
|
|
60
|
+
type="info"
|
|
61
|
+
title="For loops"
|
|
62
|
+
tooltip="For loops"
|
|
63
|
+
documentationLink="https://www.windmill.dev/docs/flows/flow_loops"
|
|
64
|
+
class="mb-4"
|
|
65
|
+
size="xs"
|
|
66
|
+
>
|
|
67
|
+
Add steps inside the loop and specify an iterator expression that defines the sequence
|
|
68
|
+
over which your subsequent steps will iterate.
|
|
69
|
+
</Alert>
|
|
70
|
+
{/if}
|
|
71
|
+
|
|
68
72
|
{#if mod.value.type === 'forloopflow'}
|
|
69
73
|
<div class="flex flex-row gap-8 mt-2 mb-6">
|
|
70
74
|
<div>
|
|
@@ -105,8 +109,9 @@ $: previewIterationArgs = $flowStateStore[mod.id]?.previewArgs ?? {};
|
|
|
105
109
|
/>
|
|
106
110
|
</div>
|
|
107
111
|
</div>
|
|
112
|
+
|
|
108
113
|
<div class="my-2 flex flex-row gap-2 items-center">
|
|
109
|
-
<div class="text-sm font-bold">
|
|
114
|
+
<div class="text-sm font-bold whitespace-nowrap">
|
|
110
115
|
Iterator expression
|
|
111
116
|
<Tooltip documentationLink="https://www.windmill.dev/docs/flows/flow_loops">
|
|
112
117
|
List to iterate over.
|
|
@@ -133,7 +138,16 @@ $: previewIterationArgs = $flowStateStore[mod.id]?.previewArgs ?? {};
|
|
|
133
138
|
pickableProperties={stepPropPicker.pickableProperties}
|
|
134
139
|
/>
|
|
135
140
|
{/if}
|
|
141
|
+
<div class="flex w-full justify-end">
|
|
142
|
+
<Button
|
|
143
|
+
on:click={() => (previewOpen = true)}
|
|
144
|
+
startIcon={{ icon: Play }}
|
|
145
|
+
color="dark"
|
|
146
|
+
size="sm">Test an iteration</Button
|
|
147
|
+
>
|
|
148
|
+
</div>
|
|
136
149
|
</div>
|
|
150
|
+
|
|
137
151
|
{#if mod.value.iterator.type == 'javascript'}
|
|
138
152
|
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
139
153
|
<div
|
|
@@ -175,11 +189,6 @@ $: previewIterationArgs = $flowStateStore[mod.id]?.previewArgs ?? {};
|
|
|
175
189
|
/>
|
|
176
190
|
{/if}
|
|
177
191
|
{/if}
|
|
178
|
-
<div class="flex mt-4">
|
|
179
|
-
<Button on:click={() => (previewOpen = true)} startIcon={{ icon: Play }} color="dark"
|
|
180
|
-
>Test an iteration</Button
|
|
181
|
-
>
|
|
182
|
-
</div>
|
|
183
192
|
</Pane>
|
|
184
193
|
<Pane size={40} minSize={20} class="flex flex-col flex-1">
|
|
185
194
|
<Tabs bind:selected>
|
|
@@ -47,6 +47,7 @@ export let previousModule;
|
|
|
47
47
|
export let scriptKind = 'script';
|
|
48
48
|
export let scriptTemplate = 'script';
|
|
49
49
|
export let noEditor;
|
|
50
|
+
export let enableAi;
|
|
50
51
|
let editor;
|
|
51
52
|
let diffEditor;
|
|
52
53
|
let modulePreview;
|
|
@@ -86,7 +87,14 @@ $: stepPropPicker = failureModule
|
|
|
86
87
|
previousId: undefined,
|
|
87
88
|
hasResume: false
|
|
88
89
|
},
|
|
89
|
-
extraLib:
|
|
90
|
+
extraLib: `
|
|
91
|
+
declare const error: {
|
|
92
|
+
message: string
|
|
93
|
+
name: string
|
|
94
|
+
stack: string
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
`
|
|
90
98
|
}
|
|
91
99
|
: getStepPropPicker($flowStateStore, parentModule, previousModule, flowModule.id, $flowStore, $previewArgs, false);
|
|
92
100
|
function onKeyDown(event) {
|
|
@@ -306,7 +314,7 @@ let editorSettingsPanelSize = 100 - editorPanelSize;
|
|
|
306
314
|
previousModuleId={previousModule?.id}
|
|
307
315
|
bind:args={flowModule.value.input_transforms}
|
|
308
316
|
extraLib={stepPropPicker.extraLib}
|
|
309
|
-
enableAi
|
|
317
|
+
{enableAi}
|
|
310
318
|
/>
|
|
311
319
|
</PropPickerWrapper>
|
|
312
320
|
</div>
|
|
@@ -317,6 +325,7 @@ let editorSettingsPanelSize = 100 - editorPanelSize;
|
|
|
317
325
|
mod={flowModule}
|
|
318
326
|
{editor}
|
|
319
327
|
{diffEditor}
|
|
328
|
+
{noEditor}
|
|
320
329
|
lang={flowModule.value['language'] ?? 'deno'}
|
|
321
330
|
schema={$flowStateStore[$selectedId]?.schema ?? {}}
|
|
322
331
|
/>
|
|
@@ -390,6 +399,12 @@ let editorSettingsPanelSize = 100 - editorPanelSize;
|
|
|
390
399
|
bind:seconds={flowModule.value.concurrency_time_window_s}
|
|
391
400
|
/>
|
|
392
401
|
</Label>
|
|
402
|
+
<Label label="Custom concurrency key">
|
|
403
|
+
<div class="text-tertiary text-xs"
|
|
404
|
+
>Custom concurrency keys can only be set as the setting of a workspace
|
|
405
|
+
script</div
|
|
406
|
+
>
|
|
407
|
+
</Label>
|
|
393
408
|
{:else}
|
|
394
409
|
<Alert type="warning" title="Limitation" size="xs">
|
|
395
410
|
The concurrency limit of a workspace script is only settable in the script
|
|
@@ -122,11 +122,13 @@ async function createModuleFromScript(path, summary, kind, hash) {
|
|
|
122
122
|
failureModule={$selectedId === 'failure'}
|
|
123
123
|
{scriptKind}
|
|
124
124
|
{scriptTemplate}
|
|
125
|
+
{enableAi}
|
|
125
126
|
/>
|
|
126
127
|
{/if}
|
|
127
128
|
{:else if flowModule.value.type === 'forloopflow'}
|
|
128
129
|
{#each flowModule.value.modules as submodule, index (index)}
|
|
129
130
|
<svelte:self
|
|
131
|
+
{noEditor}
|
|
130
132
|
bind:flowModule={submodule}
|
|
131
133
|
bind:parentModule={flowModule}
|
|
132
134
|
previousModule={flowModule.value.modules[index - 1]}
|
|
@@ -142,6 +144,7 @@ async function createModuleFromScript(path, summary, kind, hash) {
|
|
|
142
144
|
{:else}
|
|
143
145
|
{#each flowModule.value.default as submodule, index}
|
|
144
146
|
<svelte:self
|
|
147
|
+
{noEditor}
|
|
145
148
|
bind:flowModule={submodule}
|
|
146
149
|
bind:parentModule={flowModule}
|
|
147
150
|
previousModule={flowModule.value.default[index - 1]}
|
|
@@ -161,6 +164,7 @@ async function createModuleFromScript(path, summary, kind, hash) {
|
|
|
161
164
|
{:else}
|
|
162
165
|
{#each branch.modules as submodule, index}
|
|
163
166
|
<svelte:self
|
|
167
|
+
{noEditor}
|
|
164
168
|
bind:flowModule={submodule}
|
|
165
169
|
bind:parentModule={flowModule}
|
|
166
170
|
previousModule={flowModule.value.branches[branchIndex].modules[index - 1]}
|
|
@@ -176,6 +180,7 @@ async function createModuleFromScript(path, summary, kind, hash) {
|
|
|
176
180
|
{:else}
|
|
177
181
|
{#each branch.modules as submodule, index}
|
|
178
182
|
<svelte:self
|
|
183
|
+
{noEditor}
|
|
179
184
|
bind:flowModule={submodule}
|
|
180
185
|
bind:parentModule={flowModule}
|
|
181
186
|
previousModule={flowModule.value.branches[branchIndex].modules[index - 1]}
|
|
@@ -3,9 +3,40 @@ import SchemaForm from '../../SchemaForm.svelte';
|
|
|
3
3
|
import Toggle from '../../Toggle.svelte';
|
|
4
4
|
import { emptyString } from '../../../utils';
|
|
5
5
|
import { getContext } from 'svelte';
|
|
6
|
-
|
|
6
|
+
import { Alert, Button, Skeleton } from '../../common';
|
|
7
|
+
import ScheduleEditor from '../../ScheduleEditor.svelte';
|
|
8
|
+
import { ScheduleService } from '../../../gen';
|
|
9
|
+
import { workspaceStore } from '../../../stores';
|
|
10
|
+
import { Calendar } from 'lucide-svelte';
|
|
11
|
+
const { schedule, flowStore, initialPath } = getContext('FlowEditorContext');
|
|
12
|
+
let schedules = undefined;
|
|
13
|
+
async function loadSchedules() {
|
|
14
|
+
try {
|
|
15
|
+
schedules = (await ScheduleService.listSchedules({
|
|
16
|
+
workspace: $workspaceStore ?? '',
|
|
17
|
+
path: initialPath,
|
|
18
|
+
isFlow: true
|
|
19
|
+
})).filter((s) => s.path != initialPath);
|
|
20
|
+
}
|
|
21
|
+
catch (e) {
|
|
22
|
+
console.error('impossible to load schedules');
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
let scheduleEditor;
|
|
26
|
+
$: initialPath && loadSchedules();
|
|
7
27
|
</script>
|
|
8
28
|
|
|
29
|
+
<div class="w-full py-2">
|
|
30
|
+
<!-- svelte-ignore a11y-autofocus -->
|
|
31
|
+
<input
|
|
32
|
+
autofocus
|
|
33
|
+
type="text"
|
|
34
|
+
placeholder="Schedule summary"
|
|
35
|
+
class="text-sm w-full font-semibold mb-4"
|
|
36
|
+
bind:value={$schedule.summary}
|
|
37
|
+
/>
|
|
38
|
+
</div>
|
|
39
|
+
|
|
9
40
|
<CronInput bind:schedule={$schedule.cron} bind:timezone={$schedule.timezone} />
|
|
10
41
|
<div class="mt-10" />
|
|
11
42
|
<SchemaForm schema={$flowStore.schema} bind:args={$schedule.args} />
|
|
@@ -20,3 +51,46 @@ const { schedule, flowStore } = getContext('FlowEditorContext');
|
|
|
20
51
|
right: 'Schedule enabled'
|
|
21
52
|
}}
|
|
22
53
|
/>
|
|
54
|
+
<Alert bgClass="my-4" type="warning" title="Changes only applied upon deploy">
|
|
55
|
+
Changes to the primary schedule are only applied upon deploy. Other schedules' changes are applied
|
|
56
|
+
immediately.
|
|
57
|
+
</Alert>
|
|
58
|
+
|
|
59
|
+
{#if initialPath != ''}
|
|
60
|
+
<ScheduleEditor
|
|
61
|
+
on:update={() => {
|
|
62
|
+
loadSchedules()
|
|
63
|
+
}}
|
|
64
|
+
bind:this={scheduleEditor}
|
|
65
|
+
/>
|
|
66
|
+
<h2 class="pt-7">Other schedules</h2>
|
|
67
|
+
<div class="py-4 flex">
|
|
68
|
+
<Button
|
|
69
|
+
on:click={() => scheduleEditor?.openNew(true, initialPath)}
|
|
70
|
+
variant="border"
|
|
71
|
+
color="light"
|
|
72
|
+
size="xs"
|
|
73
|
+
startIcon={{ icon: Calendar }}
|
|
74
|
+
>
|
|
75
|
+
New Schedule
|
|
76
|
+
</Button>
|
|
77
|
+
</div>
|
|
78
|
+
|
|
79
|
+
{#if schedules}
|
|
80
|
+
{#if schedules.length == 0}
|
|
81
|
+
<div class="text-xs text-secondary px-2"> No other schedules </div>
|
|
82
|
+
{:else}
|
|
83
|
+
<div class="flex flex-col divide-y px-2 pt-2 max-w-lg">
|
|
84
|
+
{#each schedules as schedule (schedule.path)}
|
|
85
|
+
<div class="grid grid-cols-6 text-2xs items-center py-2"
|
|
86
|
+
><div class="col-span-3 truncate">{schedule.path}</div><div>{schedule.schedule}</div>
|
|
87
|
+
<div>{schedule.enabled ? 'on' : 'off'}</div>
|
|
88
|
+
<button on:click={() => scheduleEditor?.openEdit(schedule.path, true)}>Edit</button>
|
|
89
|
+
</div>
|
|
90
|
+
{/each}
|
|
91
|
+
</div>
|
|
92
|
+
{/if}
|
|
93
|
+
{:else}
|
|
94
|
+
<Skeleton layout={[[8]]} />
|
|
95
|
+
{/if}
|
|
96
|
+
{/if}
|
|
@@ -483,6 +483,11 @@ let dirtyPath = false;
|
|
|
483
483
|
bind:seconds={$flowStore.value.concurrency_time_window_s}
|
|
484
484
|
/>
|
|
485
485
|
</Label>
|
|
486
|
+
<Label label="Custom concurrency key">
|
|
487
|
+
<div class="text-tertiary text-xs"
|
|
488
|
+
>Custom concurrency keys can only be set as the setting of a workspace script</div
|
|
489
|
+
>
|
|
490
|
+
</Label>
|
|
486
491
|
</div>
|
|
487
492
|
</Section>
|
|
488
493
|
</TabContent>
|
|
@@ -32,8 +32,8 @@ export let text = 'Approval Help';
|
|
|
32
32
|
resume url in the returned payload of the step. The UX will automatically adapt and show the
|
|
33
33
|
prompt to the operator when running the flow. e.g:
|
|
34
34
|
<Tabs selected="deno" class="pt-4">
|
|
35
|
-
<Tab value="deno">TypeScript (Deno)</Tab>
|
|
36
35
|
<Tab value="bun">TypeScript (Bun)</Tab>
|
|
36
|
+
<Tab value="deno">TypeScript (Deno)</Tab>
|
|
37
37
|
<Tab value="python">Python</Tab>
|
|
38
38
|
|
|
39
39
|
<svelte:fragment slot="content">
|
|
@@ -11,7 +11,7 @@ export declare function pickFlow(path: string, summary: string, id: string): Pro
|
|
|
11
11
|
value: PathFlow;
|
|
12
12
|
}, FlowModuleState]>;
|
|
13
13
|
export declare function createInlineScriptModule(language: RawScript.language, kind: Script.kind, subkind: 'pgsql' | 'flow', id: string, summary?: string): Promise<[FlowModule, FlowModuleState]>;
|
|
14
|
-
export declare function createLoop(id: string): Promise<[FlowModule, FlowModuleState]>;
|
|
14
|
+
export declare function createLoop(id: string, enabledAi: boolean): Promise<[FlowModule, FlowModuleState]>;
|
|
15
15
|
export declare function createBranches(id: string): Promise<[FlowModule, FlowModuleState]>;
|
|
16
16
|
export declare function createBranchAll(id: string): Promise<[FlowModule, FlowModuleState]>;
|
|
17
17
|
export declare function createFlow(id: string): Promise<[FlowModule, FlowModuleState]>;
|