windmill-components 1.309.7 → 1.339.2
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/assets/app.css +22 -1
- package/package/autosize.js +1 -1
- package/package/common.d.ts +8 -0
- package/package/common.js +5 -1
- package/package/components/AllFlowLogs.svelte +30 -0
- package/package/components/AllFlowLogs.svelte.d.ts +18 -0
- package/package/components/ApiConnectForm.svelte +10 -4
- package/package/components/AppConnectDrawer.svelte +74 -0
- package/package/components/AppConnectDrawer.svelte.d.ts +20 -0
- package/package/components/AppConnectInner.svelte +513 -0
- package/package/components/AppConnectInner.svelte.d.ts +28 -0
- package/package/components/ArgInfo.svelte +19 -3
- package/package/components/ArgInput.svelte +73 -16
- package/package/components/ArgInput.svelte.d.ts +4 -0
- package/package/components/ConcurrentJobsChart.svelte +212 -0
- package/package/components/ConcurrentJobsChart.svelte.d.ts +23 -0
- package/package/components/CustomOauth.svelte +2 -2
- package/package/components/DateInput.svelte +47 -0
- package/package/components/DateInput.svelte.d.ts +24 -0
- package/package/components/DateTimeInput.svelte +25 -3
- package/package/components/DefaultScripts.svelte +5 -8
- package/package/components/DefaultTags.svelte +3 -2
- package/package/components/DefaultTags.svelte.d.ts +3 -1
- package/package/components/DefaultTagsInner.svelte +1 -10
- package/package/components/DefaultTagsInner.svelte.d.ts +3 -1
- package/package/components/Dev.svelte +70 -9
- package/package/components/DiffEditor.svelte +3 -0
- package/package/components/DisplayResult.svelte +186 -123
- package/package/components/DisplayResult.svelte.d.ts +1 -0
- package/package/components/DropdownV2.svelte.d.ts +2 -2
- package/package/components/EditableSchemaForm.svelte +3 -0
- package/package/components/Editor.svelte +110 -93
- package/package/components/Editor.svelte.d.ts +4 -2
- package/package/components/EditorBar.svelte +99 -8
- package/package/components/EditorBar.svelte.d.ts +0 -1
- package/package/components/ErrorOrRecoveryHandler.svelte +0 -1
- package/package/components/FlowGraphViewer.svelte +1 -0
- package/package/components/FlowGraphViewerStep.svelte +19 -1
- package/package/components/FlowJobResult.svelte +13 -0
- package/package/components/FlowJobResult.svelte.d.ts +3 -0
- package/package/components/FlowMetadata.svelte +40 -35
- package/package/components/FlowMetadata.svelte.d.ts +3 -1
- package/package/components/FlowPreviewContent.svelte +13 -6
- package/package/components/FlowStatusViewerInner.svelte +46 -2
- package/package/components/HighlightCode.svelte +3 -0
- package/package/components/InputTransformForm.svelte +3 -0
- package/package/components/InstanceSettings.svelte +163 -16
- package/package/components/InstanceSettings.svelte.d.ts +2 -0
- package/package/components/JobLogs.svelte +12 -0
- package/package/components/JobLogs.svelte.d.ts +16 -0
- package/package/components/JobStatus.svelte +1 -1
- package/package/components/Label.svelte +1 -1
- package/package/components/Label.svelte.d.ts +1 -0
- package/package/components/LightweightArgInput.svelte +294 -268
- package/package/components/LightweightArgInput.svelte.d.ts +3 -0
- package/package/components/LightweightResourcePicker.svelte +74 -26
- package/package/components/LightweightSchemaForm.svelte +25 -24
- package/package/components/LogViewer.svelte +52 -15
- package/package/components/LogViewer.svelte.d.ts +1 -0
- package/package/components/Login.svelte +288 -0
- package/package/components/Login.svelte.d.ts +19 -0
- package/package/components/ModulePreviewForm.svelte +3 -0
- package/package/components/NoMainFuncBadge.svelte +8 -0
- package/package/components/NoMainFuncBadge.svelte.d.ts +14 -0
- package/package/components/OauthExtraParams.svelte +1 -1
- package/package/components/OauthScopes.svelte +1 -1
- package/package/components/ObjectStoreConfigSettings.svelte +12 -1
- package/package/components/ObjectStoreConfigSettings.svelte.d.ts +1 -0
- package/package/components/ParqetTableRenderer.svelte +12 -16
- package/package/components/Password.svelte +1 -0
- package/package/components/Password.svelte.d.ts +2 -0
- package/package/components/PasswordArgInput.svelte +49 -0
- package/package/components/PasswordArgInput.svelte.d.ts +17 -0
- package/package/components/PropertyRow.svelte +10 -2
- package/package/components/QueueMetricsDrawer.svelte +225 -0
- package/package/components/QueueMetricsDrawer.svelte.d.ts +18 -0
- package/package/components/ResourceEditor.svelte +1 -0
- package/package/components/ResourcePicker.svelte +3 -7
- package/package/components/ResultJobLoader.svelte +2 -2
- package/package/components/ResultJobLoader.svelte.d.ts +9 -9
- package/package/components/S3FilePicker.svelte +1 -1
- package/package/components/SavedInputs.svelte +49 -13
- package/package/components/ScheduleEditorInner.svelte +255 -228
- package/package/components/SchemaEditor.svelte +5 -3
- package/package/components/SchemaEditor.svelte.d.ts +2 -0
- package/package/components/SchemaForm.svelte +5 -0
- package/package/components/SchemaForm.svelte.d.ts +1 -0
- package/package/components/SchemaModal.svelte +101 -8
- package/package/components/SchemaModal.svelte.d.ts +2 -0
- package/package/components/ScriptBuilder.svelte +10 -6
- package/package/components/ScriptEditor.svelte +1 -2
- package/package/components/ScriptEditor.svelte.d.ts +1 -1
- package/package/components/SimpleEditor.svelte +4 -1
- package/package/components/StringTypeNarrowing.svelte +43 -24
- package/package/components/StringTypeNarrowing.svelte.d.ts +1 -0
- package/package/components/TemplateEditor.svelte +1 -0
- package/package/components/TestJobLoader.svelte +14 -5
- package/package/components/TestJobLoader.svelte.d.ts +1 -1
- package/package/components/Toggle.svelte +1 -1
- package/package/components/Tooltip.svelte +8 -2
- package/package/components/Tooltip.svelte.d.ts +1 -0
- package/package/components/WorkspaceGroup.svelte +74 -9
- package/package/components/WorkspaceGroup.svelte.d.ts +1 -0
- package/package/components/app_connect.d.ts +7 -0
- package/package/components/app_connect.js +78 -0
- package/package/components/apps/components/buttons/AppButton.svelte +0 -1
- package/package/components/apps/components/display/AppAlert.svelte +1 -1
- package/package/components/apps/components/display/AppCustomComponent.svelte +1 -1
- package/package/components/apps/components/display/AppDisplayComponent.svelte +2 -2
- package/package/components/apps/components/display/AppDownload.svelte +1 -1
- package/package/components/apps/components/display/AppIcon.svelte +1 -1
- package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +2 -2
- package/package/components/apps/components/display/AppJobIdLogComponent.svelte +3 -3
- package/package/components/apps/components/display/AppMap.svelte +3 -2
- package/package/components/apps/components/display/AppMenu.svelte +1 -1
- package/package/components/apps/components/display/AppPdf.svelte +3 -11
- package/package/components/apps/components/display/AppText.svelte +7 -2
- package/package/components/apps/components/display/charts/AppAgCharts.svelte +6 -3
- package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +32 -30
- package/package/components/apps/components/display/dbtable/InsertRow.svelte +3 -6
- package/package/components/apps/components/display/dbtable/queries/delete.js +1 -1
- package/package/components/apps/components/display/dbtable/queries/insert.js +1 -12
- package/package/components/apps/components/display/dbtable/queries/select.js +1 -1
- package/package/components/apps/components/display/dbtable/queries/update.js +2 -2
- package/package/components/apps/components/display/dbtable/utils.d.ts +0 -1
- package/package/components/apps/components/display/dbtable/utils.js +0 -83
- package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +75 -44
- package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte.d.ts +5 -1
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +172 -0
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte.d.ts +27 -0
- package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte +38 -0
- package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte.d.ts +28 -0
- package/package/components/apps/components/display/table/AppAggridTable.svelte +189 -56
- package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -1
- package/package/components/apps/components/display/table/AppAggridTableActions.svelte +11 -2
- package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +1 -0
- package/package/components/apps/components/display/table/AppCell.svelte +1 -3
- package/package/components/apps/components/display/table/AppTable.svelte +320 -281
- package/package/components/apps/components/display/table/AppTableFooter.svelte +42 -23
- package/package/components/apps/components/display/table/AppTableFooter.svelte.d.ts +2 -2
- package/package/components/apps/components/display/table/SyncColumnDefs.svelte +119 -0
- package/package/components/apps/components/display/table/SyncColumnDefs.svelte.d.ts +21 -0
- package/package/components/apps/components/display/table/theme/windmill-theme.css +656 -0
- package/package/components/apps/components/display/table/utils.js +22 -0
- package/package/components/apps/components/helpers/DebouncedInput.svelte +3 -2
- package/package/components/apps/components/helpers/NonRunnableComponent.svelte +35 -0
- package/package/components/apps/components/helpers/RefreshButton.svelte +30 -12
- package/package/components/apps/components/helpers/RefreshButton.svelte.d.ts +1 -3
- package/package/components/apps/components/helpers/RefreshIndicator.svelte +19 -0
- package/package/components/apps/components/helpers/RefreshIndicator.svelte.d.ts +16 -0
- package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte +86 -35
- package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +8 -5
- package/package/components/apps/components/helpers/RunnableWrapper.svelte +7 -1
- package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +5 -0
- package/package/components/apps/components/inputs/AppDateInput.svelte +5 -1
- package/package/components/apps/components/inputs/AppFileInput.svelte +11 -2
- package/package/components/apps/components/inputs/AppMultiSelect.svelte +56 -50
- package/package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +1 -0
- package/package/components/apps/components/inputs/AppMultiSelectV2.svelte +178 -0
- package/package/components/apps/components/inputs/AppMultiSelectV2.svelte.d.ts +24 -0
- package/package/components/apps/components/inputs/AppNumberInput.svelte +1 -1
- package/package/components/apps/components/inputs/AppQuillEditor.svelte +26 -0
- package/package/components/apps/components/inputs/AppRangeInput.svelte +38 -37
- package/package/components/apps/components/inputs/AppSelect.svelte +21 -10
- package/package/components/apps/components/inputs/AppSliderInputs.svelte +26 -31
- package/package/components/apps/components/inputs/AppTextInput.svelte +1 -1
- package/package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +1 -1
- package/package/components/apps/components/layout/AppConditionalWrapper.svelte +7 -2
- package/package/components/apps/components/layout/AppContainer.svelte +1 -1
- package/package/components/apps/components/layout/AppDecisionTree.svelte +1 -1
- package/package/components/apps/components/layout/AppDrawer.svelte +16 -3
- package/package/components/apps/components/layout/AppDrawer.svelte.d.ts +2 -0
- package/package/components/apps/components/layout/AppModal.svelte +85 -79
- package/package/components/apps/components/layout/AppModal.svelte.d.ts +2 -0
- package/package/components/apps/components/layout/AppStepper.svelte +2 -1
- package/package/components/apps/components/layout/AppTabs.svelte +1 -1
- package/package/components/apps/editor/AppEditor.svelte +3 -2
- package/package/components/apps/editor/AppEditorHeader.svelte +62 -31
- package/package/components/apps/editor/AppInputs.svelte +1 -1
- package/package/components/apps/editor/AppPreview.svelte +18 -7
- package/package/components/apps/editor/ComponentHeader.svelte +37 -1
- package/package/components/apps/editor/ComponentHeader.svelte.d.ts +2 -0
- package/package/components/apps/editor/GridEditor.svelte +15 -6
- package/package/components/apps/editor/GridEditorMenu.svelte +120 -49
- package/package/components/apps/editor/GridViewer.svelte +14 -5
- package/package/components/apps/editor/GridViewer.svelte.d.ts +5 -1
- package/package/components/apps/editor/RecomputeAllComponents.svelte +17 -3
- package/package/components/apps/editor/RunnableJobPanel.svelte +9 -5
- package/package/components/apps/editor/SettingsPanel.svelte +6 -2
- package/package/components/apps/editor/SubGridEditor.svelte +44 -27
- package/package/components/apps/editor/appUtils.d.ts +6 -1
- package/package/components/apps/editor/appUtils.js +85 -7
- package/package/components/apps/editor/component/Component.svelte +78 -2
- package/package/components/apps/editor/component/Component.svelte.d.ts +3 -0
- package/package/components/apps/editor/component/components.d.ts +274 -21
- package/package/components/apps/editor/component/components.js +176 -12
- package/package/components/apps/editor/component/default-codes.d.ts +1 -1
- package/package/components/apps/editor/component/default-codes.js +241 -9
- package/package/components/apps/editor/component/sets.d.ts +3 -0
- package/package/components/apps/editor/component/sets.js +12 -2
- package/package/components/apps/editor/componentsPanel/ComponentList.svelte +15 -2
- package/package/components/apps/editor/componentsPanel/componentControlUtils.js +4 -2
- package/package/components/apps/editor/componentsPanel/cssUtils.js +1 -1
- package/package/components/apps/editor/componentsPanel/quickStyleProperties.js +5 -0
- package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +9 -5
- package/package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +46 -6
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelWithTable.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/utils.js +3 -1
- package/package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/ComponentControl.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +8 -5
- package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +54 -4
- package/package/components/apps/editor/settingsPanel/ContextVariables.svelte +61 -0
- package/package/components/apps/editor/settingsPanel/ContextVariables.svelte.d.ts +16 -0
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +12 -10
- package/package/components/apps/editor/settingsPanel/DeleteComponent.svelte +29 -32
- package/package/components/apps/editor/settingsPanel/DeleteComponent.svelte.d.ts +0 -5
- package/package/components/apps/editor/settingsPanel/GridCondition.svelte +27 -25
- package/package/components/apps/editor/settingsPanel/GridTab.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/GridTabDisabled.svelte +2 -1
- package/package/components/apps/editor/settingsPanel/GridTabDisabled.svelte.d.ts +1 -0
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +24 -3
- package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +27 -1
- package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +1 -0
- package/package/components/apps/editor/settingsPanel/Recompute.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/StylePanel.svelte +4 -3
- package/package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +3 -2
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +1 -0
- package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +4 -4
- package/package/components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte +6 -3
- package/package/components/apps/inputType.d.ts +4 -0
- package/package/components/apps/rx.d.ts +1 -1
- package/package/components/apps/rx.js +7 -0
- package/package/components/apps/svelte-grid/Grid.svelte +13 -4
- package/package/components/apps/svelte-grid/Grid.svelte.d.ts +2 -1
- package/package/components/apps/svelte-grid/types.d.ts +1 -0
- package/package/components/apps/svelte-grid/utils/helper.js +1 -0
- package/package/components/apps/svelte-grid/utils/overlap.d.ts +3 -0
- package/package/components/apps/svelte-grid/utils/overlap.js +21 -0
- package/package/components/apps/svelte-select/lib/Select.svelte.d.ts +2 -2
- package/package/components/apps/svelte-select/lib/tailwind.css +1 -1
- package/package/components/apps/types.d.ts +1 -0
- package/package/components/apps/utils.js +13 -3
- package/package/components/auditLogs/AuditLogsTable.svelte +5 -2
- package/package/components/build_workers.js +1 -0
- package/package/components/common/alert/Alert.svelte +17 -17
- package/package/components/common/badge/Badge.svelte +6 -3
- package/package/components/common/badge/model.d.ts +1 -1
- package/package/components/common/button/Button.svelte +22 -14
- package/package/components/common/calendarPicker/CalendarPicker.svelte +2 -0
- package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -0
- package/package/components/common/drawer/ConditionalPortal.svelte +9 -0
- package/package/components/common/drawer/ConditionalPortal.svelte.d.ts +18 -0
- package/package/components/common/drawer/Disposable.svelte +66 -0
- package/package/components/common/drawer/Disposable.svelte.d.ts +36 -0
- package/package/components/common/drawer/Drawer.svelte +29 -55
- package/package/components/common/drawer/Drawer.svelte.d.ts +1 -1
- package/package/components/common/fileInput/FileInput.svelte +3 -3
- package/package/components/common/fileInput/FileInput.svelte.d.ts +1 -0
- package/package/components/common/fileUpload/FileUpload.svelte +1 -1
- package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
- package/package/components/common/table/RowIcon.svelte +4 -4
- package/package/components/common/table/ScriptRow.svelte +12 -1
- package/package/components/common/table/ScriptRow.svelte.d.ts +1 -0
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +45 -0
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +24 -0
- package/package/components/copilot/CronGen.svelte +2 -2
- package/package/components/copilot/FlowCopilotStatus.svelte +1 -1
- package/package/components/copilot/RegexGen.svelte +17 -39
- package/package/components/copilot/ScriptGen.svelte +14 -5
- package/package/components/copilot/StepInputGen.svelte +2 -1
- package/package/components/copilot/StepInputsGen.svelte +2 -1
- package/package/components/copilot/completion.js +60 -9
- package/package/components/copilot/lib.js +5 -3
- package/package/components/copilot/prompts/edit.yaml +24 -0
- package/package/components/copilot/prompts/editPrompt.d.ts +3 -0
- package/package/components/copilot/prompts/editPrompt.js +3 -0
- package/package/components/copilot/prompts/fix.yaml +25 -0
- package/package/components/copilot/prompts/fixPrompt.d.ts +3 -0
- package/package/components/copilot/prompts/fixPrompt.js +3 -0
- package/package/components/copilot/prompts/gen.yaml +20 -0
- package/package/components/copilot/prompts/genPrompt.d.ts +3 -0
- package/package/components/copilot/prompts/genPrompt.js +3 -0
- package/package/components/copilot/utils.d.ts +2 -1
- package/package/components/copilot/utils.js +38 -0
- package/package/components/details/createAppFromScript.d.ts +26 -0
- package/package/components/details/createAppFromScript.js +50 -24
- package/package/components/flows/CreateActionsApp.svelte +1 -0
- package/package/components/flows/CreateActionsFlow.svelte +1 -0
- package/package/components/flows/content/FlowInputs.svelte +2 -2
- package/package/components/flows/content/FlowModuleComponent.svelte +15 -6
- package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -2
- package/package/components/flows/flowExplorer.js +4 -1
- package/package/components/flows/map/FlowConstantsItem.svelte +1 -1
- package/package/components/flows/map/FlowErrorHandlerItem.svelte +1 -1
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +3 -0
- package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowSettingsItem.svelte +1 -1
- package/package/components/flows/map/MapItem.svelte +2 -0
- package/package/components/flows/map/MapItem.svelte.d.ts +1 -0
- package/package/components/graph/FlowGraph.svelte +1 -0
- package/package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +41 -16
- package/package/components/home/ItemsList.svelte +44 -9
- package/package/components/home/TreeView.svelte +2 -0
- package/package/components/icons/AzureIcon.svelte +25 -1
- package/package/components/icons/PHPIcon.svelte +117 -0
- package/package/components/icons/PHPIcon.svelte.d.ts +17 -0
- package/package/components/instanceSettings.d.ts +1 -1
- package/package/components/instanceSettings.js +18 -2
- package/package/components/jobs/JobPreview.svelte +5 -0
- package/package/components/multiselect/MultiSelect.svelte +782 -0
- package/package/components/multiselect/MultiSelect.svelte.d.ts +97 -0
- package/package/components/multiselect/types.d.ts +56 -0
- package/package/components/multiselect/types.js +1 -0
- package/package/components/multiselect/utils.d.ts +7 -0
- package/package/components/multiselect/utils.js +54 -0
- package/package/components/propertyPicker/ObjectViewer.svelte +14 -1
- package/package/components/runs/JobLoader.svelte +135 -17
- package/package/components/runs/JobLoader.svelte.d.ts +7 -2
- package/package/components/runs/JobPreview.svelte +39 -3
- package/package/components/runs/JobPreview.svelte.d.ts +2 -0
- package/package/components/runs/RunRow.svelte +78 -31
- package/package/components/runs/RunRow.svelte.d.ts +3 -0
- package/package/components/runs/RunsFilter.svelte +125 -9
- package/package/components/runs/RunsFilter.svelte.d.ts +4 -2
- package/package/components/runs/RunsTable.svelte +53 -5
- package/package/components/runs/RunsTable.svelte.d.ts +6 -0
- package/package/components/scriptEditor/LogPanel.svelte +46 -33
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +1 -0
- package/package/components/scripts/CreateActionsScript.svelte +1 -1
- package/package/components/settings/WorkspaceUserSettings.svelte +246 -226
- package/package/components/sidebar/MenuButton.svelte +1 -1
- package/package/components/sidebar/MenuLink.svelte +1 -1
- package/package/components/sidebar/changelogs.js +40 -0
- package/package/components/table/AutoDataTable.svelte +77 -102
- package/package/components/table/DataTable.svelte +13 -5
- package/package/components/table/DataTable.svelte.d.ts +1 -0
- package/package/components/vscode.js +1 -1
- package/package/components/wizards/AgGridWizard.svelte +27 -2
- package/package/components/wizards/AgGridWizard.svelte.d.ts +1 -0
- package/package/consts.js +5 -1
- package/package/defaults.d.ts +2 -2
- package/package/defaults.js +2 -2
- package/package/deno_fetch.d.ts.txt +30 -0
- package/package/editorUtils.js +2 -0
- package/package/gen/core/OpenAPI.js +5 -6
- package/package/gen/core/request.js +4 -1
- package/package/gen/index.d.ts +0 -1
- package/package/gen/index.js +0 -1
- package/package/gen/schemas.gen.d.ts +97 -428
- package/package/gen/schemas.gen.js +97 -433
- package/package/gen/services.gen.d.ts +3087 -1840
- package/package/gen/services.gen.js +3442 -2358
- package/package/gen/types.gen.d.ts +5048 -1505
- package/package/infer.d.ts +1 -1
- package/package/infer.js +6 -2
- package/package/inferArgSig.js +5 -2
- package/package/init_scripts/python_init_code.d.ts +1 -1
- package/package/init_scripts/python_init_code.js +1 -1
- package/package/process.d.ts.txt +1770 -0
- package/package/script_helpers.d.ts +3 -2
- package/package/script_helpers.js +28 -3
- package/package/scripts.d.ts +1 -1
- package/package/scripts.js +4 -0
- package/package/utils.d.ts +3 -0
- package/package/utils.js +46 -3
- package/package/windmill_fetch.d.ts.txt +16966 -0
- package/package/zIndexes.d.ts +12 -0
- package/package/zIndexes.js +12 -0
- package/package.json +5 -5
- package/package/components/AppConnect.svelte +0 -566
- package/package/components/AppConnect.svelte.d.ts +0 -23
- package/package/components/ContextMenu.svelte +0 -89
- package/package/components/ContextMenu.svelte.d.ts +0 -28
- package/package/components/apps/components/display/index.d.ts +0 -17
- package/package/components/apps/components/display/index.js +0 -17
- package/package/components/apps/components/helpers/index.d.ts +0 -10
- package/package/components/apps/components/helpers/index.js +0 -10
- package/package/components/apps/components/index.d.ts +0 -5
- package/package/components/apps/components/index.js +0 -5
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
<script>import
|
|
2
|
-
import
|
|
1
|
+
<script>import {} from '../gen';
|
|
2
|
+
import JobStatus from './JobStatus.svelte';
|
|
3
|
+
import { displayDate, truncateRev } from '../utils';
|
|
3
4
|
import ScheduleEditor from './ScheduleEditor.svelte';
|
|
4
5
|
import TimeAgo from './TimeAgo.svelte';
|
|
5
6
|
import { workspaceStore } from '../stores';
|
|
@@ -8,48 +9,46 @@ import { Clock, MemoryStick, Calendar, Bot, User, Code2 } from 'lucide-svelte';
|
|
|
8
9
|
import BarsStaggered from './icons/BarsStaggered.svelte';
|
|
9
10
|
export let job;
|
|
10
11
|
const SMALL_ICON_SIZE = 14;
|
|
11
|
-
let scheduleEditor;
|
|
12
|
+
export let scheduleEditor;
|
|
12
13
|
</script>
|
|
13
14
|
|
|
14
|
-
<ScheduleEditor bind:this={scheduleEditor} />
|
|
15
|
-
|
|
16
15
|
<div
|
|
17
|
-
class="rounded-md p-3 bg-surface-secondary shadow-sm sm:text-sm md:text-base"
|
|
16
|
+
class="rounded-md p-3 bg-surface-secondary shadow-sm sm:text-sm md:text-base overflow-x-auto"
|
|
18
17
|
style="min-height: 150px;"
|
|
19
18
|
>
|
|
20
19
|
<JobStatus {job} />
|
|
21
20
|
<div class="flex flex-row gap-2 items-center">
|
|
22
|
-
<Clock size={SMALL_ICON_SIZE} class="text-secondary" />
|
|
23
|
-
<span class="text-2xs text-secondary">
|
|
21
|
+
<Clock size={SMALL_ICON_SIZE} class="text-secondary min-w-3.5" />
|
|
22
|
+
<span class="text-2xs text-secondary whitespace-nowrap">
|
|
24
23
|
{#if job['success'] != undefined}
|
|
25
24
|
Received job: {displayDate(job.created_at ?? '')}
|
|
26
25
|
{:else}
|
|
27
26
|
Received job <TimeAgo date={job.created_at ?? ''} />
|
|
28
27
|
{/if}
|
|
29
|
-
<Tooltip>{job?.created_at}</Tooltip>
|
|
28
|
+
<Tooltip small>{job?.created_at}</Tooltip>
|
|
30
29
|
</span>
|
|
31
30
|
</div>
|
|
32
31
|
{#if job && 'started_at' in job && job.started_at}
|
|
33
|
-
<div class="flex flex-row gap-2 items-center">
|
|
34
|
-
<Clock size={SMALL_ICON_SIZE} class="text-secondary" />
|
|
35
|
-
<span>
|
|
32
|
+
<div class="flex flex-row gap-2 items-center text-sm">
|
|
33
|
+
<Clock size={SMALL_ICON_SIZE} class="text-secondary min-w-3.5" />
|
|
34
|
+
<span class="whitespace-nowrap">
|
|
36
35
|
Started <TimeAgo withDate agoOnlyIfRecent date={job.started_at ?? ''} />
|
|
37
|
-
<Tooltip>{job?.started_at}</Tooltip>
|
|
36
|
+
<Tooltip small>{job?.started_at}</Tooltip>
|
|
38
37
|
</span>
|
|
39
38
|
</div>
|
|
40
39
|
{/if}
|
|
41
40
|
{#if job && job['mem_peak']}
|
|
42
|
-
<div class="flex flex-row gap-2 items-center">
|
|
43
|
-
<MemoryStick size={SMALL_ICON_SIZE} class="text-secondary" />
|
|
41
|
+
<div class="flex flex-row gap-2 items-center text-sm">
|
|
42
|
+
<MemoryStick size={SMALL_ICON_SIZE} class="text-secondary min-w-3.5" />
|
|
44
43
|
<span> Mem peak: {(job['mem_peak'] / 1024).toPrecision(5)}MB</span>
|
|
45
44
|
</div>
|
|
46
45
|
{/if}
|
|
47
46
|
<div>
|
|
48
47
|
{#if job && job.parent_job}
|
|
49
48
|
{#if job.is_flow_step}
|
|
50
|
-
<div class="flex flex-row gap-2 items-center">
|
|
51
|
-
<BarsStaggered size={SMALL_ICON_SIZE} class="text-secondary" />
|
|
52
|
-
<span>
|
|
49
|
+
<div class="flex flex-row gap-2 items-center text-sm">
|
|
50
|
+
<BarsStaggered size={SMALL_ICON_SIZE} class="text-secondary min-w-3.5" />
|
|
51
|
+
<span class="whitespace-nowrap">
|
|
53
52
|
Step of flow
|
|
54
53
|
<a href={`/run/${job.parent_job}?workspace=${$workspaceStore}`}>
|
|
55
54
|
{job.parent_job}
|
|
@@ -57,26 +56,27 @@ let scheduleEditor;
|
|
|
57
56
|
</span>
|
|
58
57
|
</div>
|
|
59
58
|
{:else}
|
|
60
|
-
<div class="flex flex-row gap-2 items-center">
|
|
61
|
-
<Bot size={SMALL_ICON_SIZE} class="text-secondary" />
|
|
62
|
-
<span>
|
|
59
|
+
<div class="flex flex-row gap-2 items-center text-sm">
|
|
60
|
+
<Bot size={SMALL_ICON_SIZE} class="text-secondary min-w-3.5" />
|
|
61
|
+
<span class="whitespace-nowrap">
|
|
63
62
|
Triggered by parent
|
|
64
63
|
<a href={`/run/${job.parent_job}?workspace=${$workspaceStore}`}> {job.parent_job}</a>
|
|
65
64
|
</span>
|
|
66
65
|
</div>
|
|
67
66
|
{/if}
|
|
68
67
|
{:else if job && job.schedule_path}
|
|
69
|
-
<div class="flex flex-row gap-2 items-center">
|
|
70
|
-
<Calendar size={SMALL_ICON_SIZE} class="text-secondary" />
|
|
71
|
-
<span>
|
|
72
|
-
|
|
73
|
-
<
|
|
74
|
-
|
|
68
|
+
<div class="flex flex-row gap-2 w-full items-center text-sm">
|
|
69
|
+
<Calendar size={SMALL_ICON_SIZE} class="text-secondary min-w-3.5" />
|
|
70
|
+
<span class="whitespace-nowrap">
|
|
71
|
+
Schedule:
|
|
72
|
+
<a
|
|
73
|
+
href="#"
|
|
74
|
+
class="break-words text-blue-600 font-normal"
|
|
75
75
|
on:click={() =>
|
|
76
76
|
scheduleEditor?.openEdit(job.schedule_path ?? '', job.job_kind == 'flow')}
|
|
77
77
|
>
|
|
78
|
-
{job.schedule_path}
|
|
79
|
-
</
|
|
78
|
+
{truncateRev(job.schedule_path, 40)}
|
|
79
|
+
</a>
|
|
80
80
|
</span>
|
|
81
81
|
</div>
|
|
82
82
|
{/if}
|
|
@@ -87,28 +87,33 @@ let scheduleEditor;
|
|
|
87
87
|
{@const viewHref = `${stem}/get/${isScript ? job?.script_hash : job?.script_path}`}
|
|
88
88
|
<div class="flex flex-row gap-2 items-center">
|
|
89
89
|
{#if isScript}
|
|
90
|
-
<Code2 size={SMALL_ICON_SIZE} class="text-secondary" />
|
|
90
|
+
<Code2 size={SMALL_ICON_SIZE} class="text-secondary min-w-3.5" />
|
|
91
91
|
{:else}
|
|
92
92
|
<BarsStaggered size={SMALL_ICON_SIZE} class="text-secondary" />
|
|
93
93
|
{/if}
|
|
94
|
-
<span>
|
|
94
|
+
<span class="truncate text-sm">
|
|
95
95
|
<a href={viewHref}>{isScript ? job?.script_hash : job?.script_path}</a>
|
|
96
96
|
</span>
|
|
97
97
|
</div>
|
|
98
98
|
{/if}
|
|
99
99
|
|
|
100
|
-
<div class="flex
|
|
101
|
-
<User size={SMALL_ICON_SIZE} class="text-secondary" />
|
|
100
|
+
<div class="flex items-center gap-2 text-sm">
|
|
101
|
+
<User size={SMALL_ICON_SIZE} class="text-secondary min-w-3.5" />
|
|
102
102
|
|
|
103
103
|
<span>
|
|
104
|
-
By {
|
|
104
|
+
By {truncateRev(
|
|
105
|
+
job.created_by ?? 'unknown',
|
|
106
|
+
40
|
|
107
|
+
)}{#if (job?.created_by?.length ?? 0) > 40}<Tooltip small
|
|
108
|
+
><div class="break-all">{job.created_by}</div></Tooltip
|
|
109
|
+
>{/if}
|
|
105
110
|
{#if job.permissioned_as !== `u/${job.created_by}` && job.permissioned_as != job.created_by}
|
|
106
111
|
but permissioned as {job.permissioned_as}
|
|
107
112
|
{/if}
|
|
108
113
|
</span>
|
|
109
114
|
</div>
|
|
110
115
|
</div>
|
|
111
|
-
<div class="text-secondary text-2xs pt-2">
|
|
116
|
+
<div class="text-secondary text-2xs pt-2 whitespace-nowrap">
|
|
112
117
|
run id:
|
|
113
118
|
<a href={`/run/${job.id}?workspace=${job.workspace_id}`}> {job.id} </a>
|
|
114
119
|
</div>
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
|
-
import type
|
|
2
|
+
import { type Job } from '../gen';
|
|
3
|
+
import ScheduleEditor from './ScheduleEditor.svelte';
|
|
3
4
|
declare const __propDef: {
|
|
4
5
|
props: {
|
|
5
6
|
job: Job;
|
|
7
|
+
scheduleEditor: ScheduleEditor;
|
|
6
8
|
};
|
|
7
9
|
events: {
|
|
8
10
|
[evt: string]: CustomEvent<any>;
|
|
@@ -8,7 +8,7 @@ import FlowStatusViewer from '../components/FlowStatusViewer.svelte';
|
|
|
8
8
|
import FlowProgressBar from './flows/FlowProgressBar.svelte';
|
|
9
9
|
import CapturePayload from './flows/content/CapturePayload.svelte';
|
|
10
10
|
import { AlertTriangle, ArrowRight, CornerDownLeft, Play, RefreshCw, X } from 'lucide-svelte';
|
|
11
|
-
import { emptyString } from '../utils';
|
|
11
|
+
import { emptyString, sendUserToast } from '../utils';
|
|
12
12
|
import DrawerContent from './common/drawer/DrawerContent.svelte';
|
|
13
13
|
import SavedInputs from './SavedInputs.svelte';
|
|
14
14
|
import { dfs } from './flows/dfs';
|
|
@@ -46,11 +46,18 @@ function extractFlow(previewMode) {
|
|
|
46
46
|
}
|
|
47
47
|
let lastPreviewFlow = undefined;
|
|
48
48
|
export async function runPreview(args, restartedFrom) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
try {
|
|
50
|
+
lastPreviewFlow = JSON.stringify($flowStore);
|
|
51
|
+
jobProgressReset();
|
|
52
|
+
const newFlow = extractFlow(previewMode);
|
|
53
|
+
jobId = await runFlowPreview(args, newFlow, $pathStore, restartedFrom);
|
|
54
|
+
isRunning = true;
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
sendUserToast('Could not run preview', true, undefined, e.toString());
|
|
58
|
+
isRunning = false;
|
|
59
|
+
jobId = undefined;
|
|
60
|
+
}
|
|
54
61
|
}
|
|
55
62
|
function onKeyDown(event) {
|
|
56
63
|
if (open) {
|
|
@@ -35,6 +35,7 @@ export let reducedPolling = false;
|
|
|
35
35
|
let jobResults = [];
|
|
36
36
|
let jobFailures = [];
|
|
37
37
|
let forloop_selected = '';
|
|
38
|
+
let retry_selected = '';
|
|
38
39
|
let timeout;
|
|
39
40
|
let localModuleStates = writable({});
|
|
40
41
|
let localDurationStatuses = writable({});
|
|
@@ -157,10 +158,11 @@ async function loadJobInProgress() {
|
|
|
157
158
|
console.error(e);
|
|
158
159
|
}
|
|
159
160
|
}
|
|
160
|
-
if (job?.type !== 'CompletedJob' && errorCount < 4) {
|
|
161
|
+
if (job?.type !== 'CompletedJob' && errorCount < 4 && !destroyed) {
|
|
161
162
|
timeout = setTimeout(() => loadJobInProgress(), reducedPolling ? 5000 : 1000);
|
|
162
163
|
}
|
|
163
164
|
}
|
|
165
|
+
let destroyed = false;
|
|
164
166
|
async function updateJobId() {
|
|
165
167
|
if (jobId !== job?.id) {
|
|
166
168
|
$localModuleStates = {};
|
|
@@ -192,6 +194,7 @@ async function updateJobId() {
|
|
|
192
194
|
$: jobId && updateJobId();
|
|
193
195
|
$: isListJob = flowJobIds != undefined && Array.isArray(flowJobIds?.flowJobs);
|
|
194
196
|
onDestroy(() => {
|
|
197
|
+
destroyed = true;
|
|
195
198
|
timeout && clearTimeout(timeout);
|
|
196
199
|
});
|
|
197
200
|
$: selected = isListJob ? 'sequence' : 'graph';
|
|
@@ -241,7 +244,8 @@ function onJobsLoaded(mod, job) {
|
|
|
241
244
|
duration_ms: job['duration_ms'],
|
|
242
245
|
started_at: started_at,
|
|
243
246
|
iteration: mod.iterator?.itered?.length,
|
|
244
|
-
iteration_total: mod.iterator?.itered?.length
|
|
247
|
+
iteration_total: mod.iterator?.itered?.length,
|
|
248
|
+
retries: mod?.failed_retries?.length
|
|
245
249
|
// retries: $flowStateStore?.raw_flow
|
|
246
250
|
});
|
|
247
251
|
setDurationStatusByJob(mod.id, job.id, {
|
|
@@ -413,6 +417,7 @@ function loadPreviousIters(lenToAdd) {
|
|
|
413
417
|
loading={job['running'] == true}
|
|
414
418
|
result={job.result}
|
|
415
419
|
logs={job.logs}
|
|
420
|
+
durationStates={localDurationStatuses}
|
|
416
421
|
/>
|
|
417
422
|
</div>
|
|
418
423
|
{:else if job.flow_status?.modules?.[job?.flow_status?.step]?.type === 'WaitingForEvents'}
|
|
@@ -574,6 +579,43 @@ function loadPreviousIters(lenToAdd) {
|
|
|
574
579
|
<div class="line w-8 h-10" />
|
|
575
580
|
{/if}
|
|
576
581
|
<li class="w-full border p-6 space-y-2 bg-blue-50/50 dark:bg-frost-900/50">
|
|
582
|
+
{#if render && Array.isArray(mod.failed_retries)}
|
|
583
|
+
{#each mod.failed_retries as failedRetry, j}
|
|
584
|
+
<Button
|
|
585
|
+
variant={retry_selected === failedRetry ? 'contained' : 'border'}
|
|
586
|
+
color="red"
|
|
587
|
+
btnClasses="w-full flex justify-start"
|
|
588
|
+
on:click={() => {
|
|
589
|
+
if (retry_selected == failedRetry) {
|
|
590
|
+
retry_selected = ''
|
|
591
|
+
} else {
|
|
592
|
+
retry_selected = failedRetry
|
|
593
|
+
}
|
|
594
|
+
}}
|
|
595
|
+
endIcon={{
|
|
596
|
+
icon: ChevronDown,
|
|
597
|
+
classes: retry_selected == failedRetry ? '!rotate-180' : ''
|
|
598
|
+
}}
|
|
599
|
+
>
|
|
600
|
+
<span class="truncate font-mono">
|
|
601
|
+
# Attempt {j + 1}: {failedRetry}
|
|
602
|
+
</span>
|
|
603
|
+
</Button>
|
|
604
|
+
|
|
605
|
+
<!-- <LogId id={loopJobId} /> -->
|
|
606
|
+
<div class="border p-6" class:hidden={retry_selected != failedRetry}>
|
|
607
|
+
<svelte:self
|
|
608
|
+
{childFlow}
|
|
609
|
+
globalModuleStates={[localModuleStates, ...globalModuleStates]}
|
|
610
|
+
globalDurationStatuses={[localDurationStatuses, ...globalDurationStatuses]}
|
|
611
|
+
render={failedRetry == retry_selected}
|
|
612
|
+
reducedPolling={false}
|
|
613
|
+
{workspaceId}
|
|
614
|
+
jobId={failedRetry}
|
|
615
|
+
/>
|
|
616
|
+
</div>
|
|
617
|
+
{/each}
|
|
618
|
+
{/if}
|
|
577
619
|
{#if ['InProgress', 'Success', 'Failure'].includes(mod.type)}
|
|
578
620
|
{#if job.raw_flow?.modules[i]?.value.type == 'flow'}
|
|
579
621
|
<svelte:self
|
|
@@ -694,6 +736,7 @@ function loadPreviousIters(lenToAdd) {
|
|
|
694
736
|
col
|
|
695
737
|
result={job['result']}
|
|
696
738
|
logs={job.logs ?? ''}
|
|
739
|
+
durationStates={localDurationStatuses}
|
|
697
740
|
/>
|
|
698
741
|
{:else if selectedNode == 'start'}
|
|
699
742
|
{#if job.args}
|
|
@@ -739,6 +782,7 @@ function loadPreviousIters(lenToAdd) {
|
|
|
739
782
|
col
|
|
740
783
|
result={node.result}
|
|
741
784
|
logs={node.logs}
|
|
785
|
+
durationStates={localDurationStatuses}
|
|
742
786
|
/>
|
|
743
787
|
{:else}
|
|
744
788
|
<p class="p-2 text-tertiary italic"
|
|
@@ -7,6 +7,7 @@ import graphql from 'svelte-highlight/languages/graphql';
|
|
|
7
7
|
import javascript from 'svelte-highlight/languages/javascript';
|
|
8
8
|
import sql from 'svelte-highlight/languages/sql';
|
|
9
9
|
import powershell from 'svelte-highlight/languages/powershell';
|
|
10
|
+
import php from 'svelte-highlight/languages/php';
|
|
10
11
|
import { Button } from './common';
|
|
11
12
|
import { copyToClipboard } from '../utils';
|
|
12
13
|
import { ClipboardCopy } from 'lucide-svelte';
|
|
@@ -41,6 +42,8 @@ function getLang(lang) {
|
|
|
41
42
|
return sql;
|
|
42
43
|
case 'powershell':
|
|
43
44
|
return powershell;
|
|
45
|
+
case 'php':
|
|
46
|
+
return php;
|
|
44
47
|
default:
|
|
45
48
|
return typescript;
|
|
46
49
|
}
|
|
@@ -359,6 +359,9 @@ loadResourceTypes();
|
|
|
359
359
|
{itemPicker}
|
|
360
360
|
bind:pickForField
|
|
361
361
|
showSchemaExplorer
|
|
362
|
+
nullable={schema.properties[argName].nullable}
|
|
363
|
+
bind:title={schema.properties[argName].title}
|
|
364
|
+
bind:placeholder={schema.properties[argName].placeholder}
|
|
362
365
|
/>
|
|
363
366
|
{:else if arg.expr != undefined}
|
|
364
367
|
<div class="border mt-2">
|
|
@@ -12,10 +12,10 @@ import CloseButton from './common/CloseButton.svelte';
|
|
|
12
12
|
import KeycloakSetting from './KeycloakSetting.svelte';
|
|
13
13
|
import Alert from './common/alert/Alert.svelte';
|
|
14
14
|
import { isCloudHosted } from '../cloud';
|
|
15
|
-
import { capitalize } from '../utils';
|
|
15
|
+
import { capitalize, classNames } from '../utils';
|
|
16
16
|
import { enterpriseLicense } from '../stores';
|
|
17
17
|
import CustomOauth from './CustomOauth.svelte';
|
|
18
|
-
import { AlertTriangle, Plus } from 'lucide-svelte';
|
|
18
|
+
import { AlertCircle, AlertTriangle, BadgeCheck, Info, Plus, X, BadgeX } from 'lucide-svelte';
|
|
19
19
|
import CustomSso from './CustomSso.svelte';
|
|
20
20
|
import AuthentikSetting from './AuthentikSetting.svelte';
|
|
21
21
|
import AutheliaSetting from './AutheliaSetting.svelte';
|
|
@@ -23,6 +23,8 @@ import KanidmSetting from './KanidmSetting.svelte';
|
|
|
23
23
|
import ZitadelSetting from './ZitadelSetting.svelte';
|
|
24
24
|
import Password from './Password.svelte';
|
|
25
25
|
import ObjectStoreConfigSettings from './ObjectStoreConfigSettings.svelte';
|
|
26
|
+
import { fade } from 'svelte/transition';
|
|
27
|
+
import Popover from './Popover.svelte';
|
|
26
28
|
export let tab = 'Core';
|
|
27
29
|
export let hideTabs = false;
|
|
28
30
|
export let hideSave = false;
|
|
@@ -31,6 +33,7 @@ let initialOauths = {};
|
|
|
31
33
|
let initialRequirePreexistingUserForOauth = false;
|
|
32
34
|
let requirePreexistingUserForOauth = false;
|
|
33
35
|
let ssoOrOauth = 'sso';
|
|
36
|
+
let latestKeyRenewalAttempt = null;
|
|
34
37
|
let serverConfig = {};
|
|
35
38
|
let initialValues = {};
|
|
36
39
|
loadSettings();
|
|
@@ -66,6 +69,7 @@ async function loadSettings() {
|
|
|
66
69
|
if (values['base_url'] == undefined) {
|
|
67
70
|
values['base_url'] = 'http://localhost';
|
|
68
71
|
}
|
|
72
|
+
latestKeyRenewalAttempt = await SettingService.getLatestKeyRenewalAttempt();
|
|
69
73
|
}
|
|
70
74
|
export async function saveSettings() {
|
|
71
75
|
if (values) {
|
|
@@ -121,7 +125,7 @@ function parseDate(license_key) {
|
|
|
121
125
|
try {
|
|
122
126
|
let i = parseInt(splitted[1]);
|
|
123
127
|
let date = new Date(i * 1000);
|
|
124
|
-
return date.
|
|
128
|
+
return date.toLocaleDateString();
|
|
125
129
|
}
|
|
126
130
|
catch { }
|
|
127
131
|
}
|
|
@@ -152,6 +156,17 @@ async function sendStats() {
|
|
|
152
156
|
}
|
|
153
157
|
let clientName = '';
|
|
154
158
|
let licenseKeyChanged = false;
|
|
159
|
+
export async function renewLicenseKey() {
|
|
160
|
+
try {
|
|
161
|
+
await SettingService.renewLicenseKey();
|
|
162
|
+
sendUserToast('Key renewal successful');
|
|
163
|
+
loadSettings();
|
|
164
|
+
}
|
|
165
|
+
catch (err) {
|
|
166
|
+
latestKeyRenewalAttempt = await SettingService.getLatestKeyRenewalAttempt();
|
|
167
|
+
throw err;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
155
170
|
</script>
|
|
156
171
|
|
|
157
172
|
<div class="pb-8">
|
|
@@ -449,30 +464,162 @@ let licenseKeyChanged = false;
|
|
|
449
464
|
requestBody: { license_key: values[setting.key] }
|
|
450
465
|
})
|
|
451
466
|
sendUserToast('Valid key')
|
|
452
|
-
}}
|
|
467
|
+
}}
|
|
453
468
|
>
|
|
469
|
+
Test Key
|
|
470
|
+
</Button>
|
|
471
|
+
{#if $enterpriseLicense}
|
|
472
|
+
<Button on:click={renewLicenseKey} size="xs">Renew key</Button>
|
|
473
|
+
{/if}
|
|
454
474
|
</div>
|
|
455
|
-
|
|
456
|
-
{#if
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
475
|
+
<div class="mt-1 flex flex-col gap-1 items-start">
|
|
476
|
+
{#if values[setting.key]?.length > 0}
|
|
477
|
+
{#if parseDate(values[setting.key])}
|
|
478
|
+
<div class="flex flex-row gap-1 items-center">
|
|
479
|
+
<Info size={12} class="text-tertiary" />
|
|
480
|
+
<span class="text-tertiary text-xs"
|
|
481
|
+
>License key expires on {parseDate(values[setting.key])}</span
|
|
482
|
+
>
|
|
483
|
+
</div>
|
|
484
|
+
{/if}
|
|
460
485
|
{/if}
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
486
|
+
{#if latestKeyRenewalAttempt}
|
|
487
|
+
{@const attemptedAt = new Date(
|
|
488
|
+
latestKeyRenewalAttempt.attempted_at
|
|
489
|
+
).toLocaleString()}
|
|
490
|
+
<div class="relative">
|
|
491
|
+
<Popover notClickable>
|
|
492
|
+
<div class="flex flex-row items-center gap-1">
|
|
493
|
+
{#if latestKeyRenewalAttempt.result === 'success'}
|
|
494
|
+
<BadgeCheck class="text-green-600" size={12} />
|
|
495
|
+
{:else}
|
|
496
|
+
<BadgeX class="text-red-600" size={12} />
|
|
497
|
+
{/if}
|
|
498
|
+
<span
|
|
499
|
+
class={classNames(
|
|
500
|
+
'text-xs',
|
|
501
|
+
latestKeyRenewalAttempt.result === 'success'
|
|
502
|
+
? 'text-green-600'
|
|
503
|
+
: 'text-red-600'
|
|
504
|
+
)}
|
|
505
|
+
>
|
|
506
|
+
{latestKeyRenewalAttempt.result === 'success'
|
|
507
|
+
? 'Latest key renewal succeeded'
|
|
508
|
+
: 'Latest key renewal failed'}
|
|
509
|
+
on {attemptedAt}
|
|
510
|
+
</span>
|
|
511
|
+
</div>
|
|
512
|
+
<div slot="text">
|
|
513
|
+
{#if latestKeyRenewalAttempt.result === 'success'}
|
|
514
|
+
<span class="text-green-300">
|
|
515
|
+
Latest key renewal succeeded on {attemptedAt}
|
|
516
|
+
</span>
|
|
517
|
+
{:else}
|
|
518
|
+
<span class="text-red-300">
|
|
519
|
+
Latest key renewal failed on {attemptedAt}: {latestKeyRenewalAttempt.result.replace(
|
|
520
|
+
'error: ',
|
|
521
|
+
''
|
|
522
|
+
)}
|
|
523
|
+
</span>
|
|
524
|
+
{/if}
|
|
525
|
+
<br />
|
|
526
|
+
As long as invoices are paid and usage corresponds to the subscription,
|
|
527
|
+
the key is renewed daily with a validity of 35 days (grace period).
|
|
528
|
+
</div>
|
|
529
|
+
</Popover>
|
|
530
|
+
</div>
|
|
531
|
+
{/if}
|
|
532
|
+
{#if licenseKeyChanged && !$enterpriseLicense}
|
|
533
|
+
<div class="flex flex-row items-center gap-1">
|
|
534
|
+
<AlertCircle size={12} class="text-yellow-600" />
|
|
535
|
+
<span class="text-xs text-yellow-600">
|
|
536
|
+
Refresh page after setting and saving license key to unlock all
|
|
537
|
+
features
|
|
538
|
+
</span>
|
|
539
|
+
</div>
|
|
540
|
+
{/if}
|
|
541
|
+
</div>
|
|
468
542
|
{:else if setting.fieldType == 'email'}
|
|
469
543
|
<input
|
|
470
544
|
type="email"
|
|
471
545
|
placeholder={setting.placeholder}
|
|
472
546
|
bind:value={values[setting.key]}
|
|
473
547
|
/>
|
|
548
|
+
{:else if setting.fieldType == 'critical_error_channels'}
|
|
549
|
+
<div class="w-full">
|
|
550
|
+
<div class="flex max-w-md mt-1 gap-2 w-full items-center">
|
|
551
|
+
<select disabled>
|
|
552
|
+
<option>Tracing</option>
|
|
553
|
+
</select>
|
|
554
|
+
<input disabled />
|
|
555
|
+
<button
|
|
556
|
+
transition:fade|local={{ duration: 100 }}
|
|
557
|
+
class="rounded-full p-1 bg-surface-secondary duration-200 hover:bg-surface-hover"
|
|
558
|
+
aria-label="Clear"
|
|
559
|
+
disabled
|
|
560
|
+
>
|
|
561
|
+
<X size={14} />
|
|
562
|
+
</button>
|
|
563
|
+
</div>
|
|
564
|
+
{#if $enterpriseLicense && Array.isArray(values[setting.key])}
|
|
565
|
+
{#each values[setting.key] ?? [] as v, i}
|
|
566
|
+
<div class="flex max-w-md mt-1 gap-2 w-full items-center">
|
|
567
|
+
<select>
|
|
568
|
+
<option value="email">Email</option>
|
|
569
|
+
</select>
|
|
570
|
+
<input
|
|
571
|
+
type="email"
|
|
572
|
+
placeholder="Email address"
|
|
573
|
+
on:input={(e) => {
|
|
574
|
+
if (e.target?.['value']) {
|
|
575
|
+
values[setting.key][i] = {
|
|
576
|
+
email: e.target['value']
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
}}
|
|
580
|
+
value={v?.email ?? ''}
|
|
581
|
+
/>
|
|
582
|
+
<button
|
|
583
|
+
transition:fade|local={{ duration: 100 }}
|
|
584
|
+
class="rounded-full p-1 bg-surface-secondary duration-200 hover:bg-surface-hover"
|
|
585
|
+
aria-label="Clear"
|
|
586
|
+
on:click={() => {
|
|
587
|
+
values[setting.key] = values[setting.key].filter(
|
|
588
|
+
(_, index) => index !== i
|
|
589
|
+
)
|
|
590
|
+
}}
|
|
591
|
+
>
|
|
592
|
+
<X size={14} />
|
|
593
|
+
</button>
|
|
594
|
+
</div>
|
|
595
|
+
{/each}
|
|
596
|
+
{/if}
|
|
597
|
+
</div>
|
|
598
|
+
<div class="flex mt-2 gap-20 items-baseline">
|
|
599
|
+
<Button
|
|
600
|
+
variant="border"
|
|
601
|
+
color="light"
|
|
602
|
+
size="xs"
|
|
603
|
+
btnClasses="mt-1"
|
|
604
|
+
on:click={() => {
|
|
605
|
+
if (
|
|
606
|
+
values[setting.key] == undefined ||
|
|
607
|
+
!Array.isArray(values[setting.key])
|
|
608
|
+
) {
|
|
609
|
+
values[setting.key] = []
|
|
610
|
+
}
|
|
611
|
+
values[setting.key] = values[setting.key].concat('')
|
|
612
|
+
}}
|
|
613
|
+
id="arg-input-add-item"
|
|
614
|
+
startIcon={{ icon: Plus }}
|
|
615
|
+
disabled={!$enterpriseLicense}
|
|
616
|
+
>
|
|
617
|
+
Add item
|
|
618
|
+
</Button>
|
|
619
|
+
</div>
|
|
474
620
|
{:else if setting.fieldType == 'object_store_config'}
|
|
475
621
|
<ObjectStoreConfigSettings bind:bucket_config={values[setting.key]} />
|
|
622
|
+
<div class="mb-6" />
|
|
476
623
|
{:else if setting.fieldType == 'number'}
|
|
477
624
|
<input
|
|
478
625
|
type="number"
|
|
@@ -5,6 +5,7 @@ declare const __propDef: {
|
|
|
5
5
|
hideTabs?: boolean | undefined;
|
|
6
6
|
hideSave?: boolean | undefined;
|
|
7
7
|
saveSettings?: (() => Promise<void>) | undefined;
|
|
8
|
+
renewLicenseKey?: (() => Promise<void>) | undefined;
|
|
8
9
|
};
|
|
9
10
|
events: {
|
|
10
11
|
[evt: string]: CustomEvent<any>;
|
|
@@ -16,5 +17,6 @@ export type InstanceSettingsEvents = typeof __propDef.events;
|
|
|
16
17
|
export type InstanceSettingsSlots = typeof __propDef.slots;
|
|
17
18
|
export default class InstanceSettings extends SvelteComponent<InstanceSettingsProps, InstanceSettingsEvents, InstanceSettingsSlots> {
|
|
18
19
|
get saveSettings(): () => Promise<void>;
|
|
20
|
+
get renewLicenseKey(): () => Promise<void>;
|
|
19
21
|
}
|
|
20
22
|
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<script>import { JobService } from '../gen';
|
|
2
|
+
import { workspaceStore } from '../stores';
|
|
3
|
+
import LogViewer from './LogViewer.svelte';
|
|
4
|
+
export let jobId;
|
|
5
|
+
let logs = undefined;
|
|
6
|
+
$: jobId && loadLogs();
|
|
7
|
+
async function loadLogs() {
|
|
8
|
+
logs = await JobService.getJobLogs({ workspace: $workspaceStore, id: jobId });
|
|
9
|
+
}
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<LogViewer content={logs} isLoading={false} tag={undefined} {jobId} />
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
jobId: string;
|
|
5
|
+
};
|
|
6
|
+
events: {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
};
|
|
9
|
+
slots: {};
|
|
10
|
+
};
|
|
11
|
+
export type JobLogsProps = typeof __propDef.props;
|
|
12
|
+
export type JobLogsEvents = typeof __propDef.events;
|
|
13
|
+
export type JobLogsSlots = typeof __propDef.slots;
|
|
14
|
+
export default class JobLogs extends SvelteComponent<JobLogsProps, JobLogsEvents, JobLogsSlots> {
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -37,7 +37,7 @@ export let job;
|
|
|
37
37
|
</div>
|
|
38
38
|
{:else if job && 'running' in job}
|
|
39
39
|
<div class="flex flex-row gap-1 items-center">
|
|
40
|
-
<Badge icon={{ icon: Clock, position: 'left' }}>Queued</Badge>
|
|
40
|
+
<Badge color="orange" icon={{ icon: Clock, position: 'left' }}>Queued</Badge>
|
|
41
41
|
<NoWorkerWithTagWarning tag={job.tag} />
|
|
42
42
|
</div>
|
|
43
43
|
{:else}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script>export let label = undefined;
|
|
2
2
|
</script>
|
|
3
3
|
|
|
4
|
-
<div>
|
|
4
|
+
<div class={$$props.class}>
|
|
5
5
|
<div class="flex flex-row justify-between items-center w-full">
|
|
6
6
|
<div class="flex flex-row items-center gap-1">
|
|
7
7
|
<span class="text-secondary text-sm leading-6">{label}</span>
|