windmill-components 1.655.2 → 1.665.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package/components/ApiConnectForm.svelte +6 -6
- package/package/components/ApiConnectForm.svelte.d.ts +3 -2
- package/package/components/AppConnectDrawer.svelte +3 -1
- package/package/components/AppConnectDrawer.svelte.d.ts +2 -0
- package/package/components/AppConnectInner.svelte +137 -72
- package/package/components/AppConnectInner.svelte.d.ts +1 -0
- package/package/components/CompareWorkspaces.svelte +32 -24
- package/package/components/DBManager.svelte +7 -13
- package/package/components/DBTable.svelte +2 -2
- package/package/components/DBTableEditor.svelte +39 -31
- package/package/components/DBTableEditor.svelte.d.ts +2 -2
- package/package/components/DedicatedWorkersSelector.svelte +292 -85
- package/package/components/DeployWorkspace.svelte +30 -26
- package/package/components/Dev.svelte +7 -2
- package/package/components/Dev.svelte.d.ts +3 -0
- package/package/components/Editor.svelte +17 -13
- package/package/components/EditorBar.svelte.d.ts +1 -1
- package/package/components/FilterSearchbar.svelte +1 -1
- package/package/components/FirstStepInputs.svelte +0 -1
- package/package/components/FlowBuilder.svelte +5 -0
- package/package/components/FlowGraphDiffViewer.svelte +3 -0
- package/package/components/FlowGraphViewer.svelte +7 -4
- package/package/components/FlowGraphViewer.svelte.d.ts +1 -0
- package/package/components/FlowGraphViewerStep.svelte +3 -3
- package/package/components/FlowGraphViewerStep.svelte.d.ts +1 -0
- package/package/components/FlowPreviewContent.svelte +11 -1
- package/package/components/FlowStatusViewer.svelte +4 -1
- package/package/components/FlowStatusViewer.svelte.d.ts +3 -1
- package/package/components/FlowStatusViewerInner.svelte +46 -11
- package/package/components/FlowStatusViewerInner.svelte.d.ts +4 -1
- package/package/components/FlowStatusWaitingForEvents.svelte +48 -103
- package/package/components/FlowTimeline.svelte +76 -84
- package/package/components/FlowViewer.svelte +40 -22
- package/package/components/FlowViewer.svelte.d.ts +8 -2
- package/package/components/GroupEditor.svelte +7 -9
- package/package/components/HistoricList.svelte +12 -4
- package/package/components/InstanceGroupEditor.svelte +92 -19
- package/package/components/InstanceSetting.svelte +16 -6
- package/package/components/InstanceSettings.svelte +51 -7
- package/package/components/InstanceSettings.svelte.d.ts +2 -1
- package/package/components/JobLoader.svelte +5 -4
- package/package/components/JobLoader.svelte.d.ts +1 -1
- package/package/components/Login.svelte +9 -1
- package/package/components/NoMainFuncBadge.svelte +2 -2
- package/package/components/OnBehalfOfSelector.svelte +49 -37
- package/package/components/OnBehalfOfSelector.svelte.d.ts +16 -6
- package/package/components/ResourceEditor.svelte +16 -11
- package/package/components/ResourceEditor.svelte.d.ts +1 -0
- package/package/components/ResourceEditorDrawer.svelte +3 -1
- package/package/components/ResourceEditorDrawer.svelte.d.ts +6 -2
- package/package/components/ResourcePicker.svelte +10 -5
- package/package/components/ResourcePicker.svelte.d.ts +2 -0
- package/package/components/S3FilePickerInner.svelte +12 -4
- package/package/components/SchemaForm.svelte +20 -14
- package/package/components/SchemaForm.svelte.d.ts +2 -2
- package/package/components/ScriptBuilder.svelte +158 -18
- package/package/components/ScriptEditor.svelte +674 -150
- package/package/components/ScriptEditor.svelte.d.ts +7 -3
- package/package/components/SuperadminSettings.svelte +4 -1
- package/package/components/SuperadminSettingsInner.svelte +176 -67
- package/package/components/SuperadminSettingsInner.svelte.d.ts +3 -1
- package/package/components/SyncResourceTypes.svelte +31 -0
- package/package/components/SyncResourceTypes.svelte.d.ts +6 -0
- package/package/components/TimelineBar.svelte +14 -8
- package/package/components/TimelineBar.svelte.d.ts +1 -0
- package/package/components/WorkerGroup.svelte +11 -4
- package/package/components/WorkflowTimeline.svelte +386 -58
- package/package/components/WorkflowTimeline.svelte.d.ts +6 -1
- package/package/components/WorkspaceDependenciesEditor.svelte +32 -2
- package/package/components/apps/components/display/dbtable/DeleteRow.svelte +2 -2
- package/package/components/apps/components/display/dbtable/InsertRowRunnable.svelte +2 -2
- package/package/components/apps/components/display/dbtable/UpdateCell.svelte +2 -2
- package/package/components/apps/components/display/dbtable/metadata.js +44 -222
- package/package/components/apps/components/display/dbtable/queries/count.d.ts +9 -0
- package/package/components/apps/components/display/dbtable/queries/delete.d.ts +9 -0
- package/package/components/apps/components/display/dbtable/queries/insert.d.ts +9 -0
- package/package/components/apps/components/display/dbtable/queries/relationalKeys.d.ts +7 -0
- package/package/components/apps/components/display/dbtable/queries/relationalKeys.js +1 -1
- package/package/components/apps/components/display/dbtable/queries/select.d.ts +9 -0
- package/package/components/apps/components/display/dbtable/queries/update.d.ts +9 -0
- package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +11 -9
- package/package/components/apps/editor/appUtilsS3.js +2 -2
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +53 -10
- package/package/components/common/clearableInput/ClearableInput.svelte +3 -7
- package/package/components/common/confirmationModal/ConfirmationModal.svelte +7 -1
- package/package/components/common/confirmationModal/ConfirmationModal.svelte.d.ts +1 -0
- package/package/components/common/drawer/Disposable.svelte +24 -2
- package/package/components/common/drawer/Disposable.svelte.d.ts +5 -0
- package/package/components/common/modal/Modal.svelte +84 -58
- package/package/components/common/table/AppRow.svelte.d.ts +1 -1
- package/package/components/common/table/FlowRow.svelte.d.ts +1 -1
- package/package/components/common/table/ScriptRow.svelte +31 -3
- package/package/components/common/table/ScriptRow.svelte.d.ts +1 -1
- package/package/components/copilot/MetadataGen.svelte +8 -5
- package/package/components/copilot/MetadataGen.svelte.d.ts +1 -0
- package/package/components/copilot/TestAIKey.svelte +2 -1
- package/package/components/copilot/TestAIKey.svelte.d.ts +1 -0
- package/package/components/copilot/chat/AIChatManager.svelte.js +62 -80
- package/package/components/copilot/chat/HistoryManager.svelte.d.ts +1 -0
- package/package/components/copilot/chat/HistoryManager.svelte.js +3 -0
- package/package/components/copilot/chat/__tests__/app/appChat.eval.test.js +47 -31
- package/package/components/copilot/chat/__tests__/app/appEvalComparison.d.ts +1 -6
- package/package/components/copilot/chat/__tests__/app/appEvalComparison.js +18 -13
- package/package/components/copilot/chat/__tests__/app/appEvalRunner.d.ts +14 -5
- package/package/components/copilot/chat/__tests__/app/appEvalRunner.js +13 -12
- package/package/components/copilot/chat/__tests__/flow/flowChat.eval.test.js +46 -29
- package/package/components/copilot/chat/__tests__/flow/flowEvalComparison.js +1 -4
- package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.d.ts +14 -5
- package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.js +13 -12
- package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.d.ts +5 -8
- package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.js +82 -108
- package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.d.ts +4 -7
- package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.js +19 -11
- package/package/components/copilot/chat/__tests__/shared/types.d.ts +3 -0
- package/package/components/copilot/chat/anthropic.d.ts +9 -2
- package/package/components/copilot/chat/anthropic.js +12 -6
- package/package/components/copilot/chat/app/core.js +5 -12
- package/package/components/copilot/chat/chatLoop.d.ts +40 -0
- package/package/components/copilot/chat/chatLoop.js +97 -0
- package/package/components/copilot/chat/openai-responses.d.ts +8 -2
- package/package/components/copilot/chat/openai-responses.js +17 -17
- package/package/components/copilot/chat/shared.d.ts +2 -1
- package/package/components/copilot/chat/shared.js +2 -2
- package/package/components/copilot/lib.d.ts +14 -5
- package/package/components/copilot/lib.js +68 -48
- package/package/components/dbOps.d.ts +2 -2
- package/package/components/dbOps.js +129 -53
- package/package/components/debug/debugUtils.d.ts +5 -0
- package/package/components/debug/debugUtils.js +20 -0
- package/package/components/debug/index.d.ts +1 -1
- package/package/components/debug/index.js +3 -7
- package/package/components/flows/CreateActionsFlow.svelte +221 -43
- package/package/components/flows/DebounceLimit.svelte +42 -9
- package/package/components/flows/common/FlowCard.svelte +2 -1
- package/package/components/flows/common/FlowCard.svelte.d.ts +1 -0
- package/package/components/flows/common/FlowCardHeader.svelte +14 -10
- package/package/components/flows/common/FlowCardHeader.svelte.d.ts +1 -0
- package/package/components/flows/content/AgentToolWrapper.svelte +2 -1
- package/package/components/flows/content/AgentToolWrapper.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowEditorPanel.svelte +1 -0
- package/package/components/flows/content/FlowModuleComponent.svelte +32 -18
- package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowModuleDebounce.svelte +46 -0
- package/package/components/flows/content/FlowModuleDebounce.svelte.d.ts +8 -0
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +26 -5
- package/package/components/flows/content/FlowModuleWrapper.svelte +1 -0
- package/package/components/flows/content/FlowRetries.svelte +57 -57
- package/package/components/flows/content/FlowSelectionPanel.svelte +9 -14
- package/package/components/flows/content/FlowSelectionPanel.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowSettings.svelte +6 -6
- package/package/components/flows/content/ScriptEditorDrawer.svelte +1 -1
- package/package/components/flows/content/SuspendDrawer.svelte +0 -18
- package/package/components/flows/header/FlowYamlEditor.svelte +20 -4
- package/package/components/flows/map/FlowErrorHandlerItem.svelte +32 -14
- package/package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +7 -10
- package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte +1 -8
- package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte.d.ts +0 -2
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +343 -137
- package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowStickyNode.svelte +24 -16
- package/package/components/flows/map/FlowStickyNode.svelte.d.ts +1 -0
- package/package/components/flows/map/VirtualItemWrapper.svelte +1 -1
- package/package/components/flows/pickers/PickHubScriptQuick.svelte.d.ts +1 -1
- package/package/components/flows/propPicker/OutputPickerInner.svelte +5 -1
- package/package/components/flows/scheduleUtils.js +3 -1
- package/package/components/flows/utils.svelte.js +6 -1
- package/package/components/git_sync/GitSyncContext.svelte.js +13 -2
- package/package/components/git_sync/GitSyncSection.svelte +135 -99
- package/package/components/graph/DragGhost.svelte +11 -2
- package/package/components/graph/FlowGraphV2.svelte +138 -42
- package/package/components/graph/FlowGraphV2.svelte.d.ts +15 -1
- package/package/components/graph/GroupActionBar.svelte +124 -0
- package/package/components/graph/GroupActionBar.svelte.d.ts +20 -0
- package/package/components/graph/GroupHeader.svelte +98 -0
- package/package/components/graph/GroupHeader.svelte.d.ts +11 -0
- package/package/components/graph/GroupHeaderBlock.svelte +58 -0
- package/package/components/graph/GroupHeaderBlock.svelte.d.ts +13 -0
- package/package/components/graph/GroupModuleIcons.svelte +163 -0
- package/package/components/graph/GroupModuleIcons.svelte.d.ts +11 -0
- package/package/components/graph/GroupNodeCard.svelte +127 -0
- package/package/components/graph/GroupNodeCard.svelte.d.ts +18 -0
- package/package/components/graph/GroupNoteArea.svelte +132 -0
- package/package/components/graph/GroupNoteArea.svelte.d.ts +11 -0
- package/package/components/graph/GroupOverlay.svelte +71 -0
- package/package/components/graph/GroupOverlay.svelte.d.ts +12 -0
- package/package/components/graph/MiniFlowGraph.svelte +17 -2
- package/package/components/graph/SelectionBoundingBox.svelte +14 -14
- package/package/components/graph/compoundLayout.d.ts +17 -1
- package/package/components/graph/compoundLayout.js +129 -14
- package/package/components/graph/flowStructure.d.ts +63 -0
- package/package/components/graph/flowStructure.js +422 -0
- package/package/components/graph/flowStructure.test.d.ts +1 -0
- package/package/components/graph/flowStructure.test.js +205 -0
- package/package/components/graph/graphBuilder.svelte.d.ts +52 -3
- package/package/components/graph/graphBuilder.svelte.js +170 -67
- package/package/components/graph/graphContext.d.ts +7 -0
- package/package/components/graph/groupDetectionUtils.d.ts +24 -1
- package/package/components/graph/groupDetectionUtils.js +101 -1
- package/package/components/graph/groupEditor.svelte.d.ts +105 -0
- package/package/components/graph/groupEditor.svelte.js +253 -0
- package/package/components/graph/groupedModulesProxy.svelte.d.ts +55 -0
- package/package/components/graph/groupedModulesProxy.svelte.js +130 -0
- package/package/components/graph/model.d.ts +2 -1
- package/package/components/graph/moveManager.svelte.js +0 -3
- package/package/components/graph/nodeExtraSpace.d.ts +32 -0
- package/package/components/graph/nodeExtraSpace.js +113 -0
- package/package/components/graph/noteColors.d.ts +1 -0
- package/package/components/graph/noteColors.js +20 -10
- package/package/components/graph/noteUtils.svelte.d.ts +0 -18
- package/package/components/graph/noteUtils.svelte.js +6 -41
- package/package/components/graph/renderers/edges/BaseEdge.svelte +26 -11
- package/package/components/graph/renderers/nodes/AIToolNode.svelte +24 -49
- package/package/components/graph/renderers/nodes/AIToolNode.svelte.d.ts +1 -4
- package/package/components/graph/renderers/nodes/AssetNode.svelte +1 -27
- package/package/components/graph/renderers/nodes/AssetNode.svelte.d.ts +0 -4
- package/package/components/graph/renderers/nodes/CollapsedGroupNode.svelte +85 -0
- package/package/components/graph/renderers/nodes/CollapsedGroupNode.svelte.d.ts +8 -0
- package/package/components/graph/renderers/nodes/ForLoopStartNode.svelte +3 -2
- package/package/components/graph/renderers/nodes/GroupEndNode.svelte +9 -0
- package/package/components/graph/renderers/nodes/GroupEndNode.svelte.d.ts +6 -0
- package/package/components/graph/renderers/nodes/GroupHeadNode.svelte +20 -0
- package/package/components/graph/renderers/nodes/GroupHeadNode.svelte.d.ts +8 -0
- package/package/components/graph/renderers/nodes/ModuleNode.svelte +8 -5
- package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +1 -1
- package/package/components/graph/util.d.ts +5 -1
- package/package/components/graph/util.js +7 -5
- package/package/components/home/Item.svelte +1 -0
- package/package/components/home/ItemsList.svelte +1 -1
- package/package/components/icons/ActiveCampaignIcon.svelte +10 -0
- package/package/components/icons/ActiveCampaignIcon.svelte.d.ts +7 -0
- package/package/components/icons/AlgoliaIcon.svelte +7 -0
- package/package/components/icons/AlgoliaIcon.svelte.d.ts +7 -0
- package/package/components/icons/ApolloIcon.svelte +7 -0
- package/package/components/icons/ApolloIcon.svelte.d.ts +7 -0
- package/package/components/icons/BambooHrIcon.svelte +7 -0
- package/package/components/icons/BambooHrIcon.svelte.d.ts +7 -0
- package/package/components/icons/BaremetricsIcon.svelte +7 -0
- package/package/components/icons/BaremetricsIcon.svelte.d.ts +7 -0
- package/package/components/icons/BitlyIcon.svelte +7 -0
- package/package/components/icons/BitlyIcon.svelte.d.ts +7 -0
- package/package/components/icons/BloggerIcon.svelte +7 -0
- package/package/components/icons/BloggerIcon.svelte.d.ts +7 -0
- package/package/components/icons/BlueskyIcon.svelte +7 -0
- package/package/components/icons/BlueskyIcon.svelte.d.ts +7 -0
- package/package/components/icons/BoxIcon.svelte +7 -0
- package/package/components/icons/BoxIcon.svelte.d.ts +7 -0
- package/package/components/icons/BrevoIcon.svelte +7 -0
- package/package/components/icons/BrevoIcon.svelte.d.ts +7 -0
- package/package/components/icons/BrexIcon.svelte +7 -0
- package/package/components/icons/BrexIcon.svelte.d.ts +7 -0
- package/package/components/icons/BrowserlessIcon.svelte +7 -0
- package/package/components/icons/BrowserlessIcon.svelte.d.ts +7 -0
- package/package/components/icons/BubbleIcon.svelte +11 -0
- package/package/components/icons/BubbleIcon.svelte.d.ts +7 -0
- package/package/components/icons/BuildkiteIcon.svelte +7 -0
- package/package/components/icons/BuildkiteIcon.svelte.d.ts +7 -0
- package/package/components/icons/CalcomIcon.svelte +1 -1
- package/package/components/icons/CalendlyIcon.svelte +7 -0
- package/package/components/icons/CalendlyIcon.svelte.d.ts +7 -0
- package/package/components/icons/CircleCiIcon.svelte +7 -0
- package/package/components/icons/CircleCiIcon.svelte.d.ts +7 -0
- package/package/components/icons/CiscoIcon.svelte +7 -0
- package/package/components/icons/CiscoIcon.svelte.d.ts +7 -0
- package/package/components/icons/ClearbitIcon.svelte +7 -0
- package/package/components/icons/ClearbitIcon.svelte.d.ts +7 -0
- package/package/components/icons/ClerkIcon.svelte +7 -0
- package/package/components/icons/ClerkIcon.svelte.d.ts +7 -0
- package/package/components/icons/CloseIcon.svelte +37 -0
- package/package/components/icons/CloseIcon.svelte.d.ts +7 -0
- package/package/components/icons/CloudinaryIcon.svelte +7 -0
- package/package/components/icons/CloudinaryIcon.svelte.d.ts +7 -0
- package/package/components/icons/CockroachDbIcon.svelte +7 -0
- package/package/components/icons/CockroachDbIcon.svelte.d.ts +7 -0
- package/package/components/icons/CodaIcon.svelte +7 -0
- package/package/components/icons/CodaIcon.svelte.d.ts +7 -0
- package/package/components/icons/CohereIcon.svelte +16 -0
- package/package/components/icons/CohereIcon.svelte.d.ts +7 -0
- package/package/components/icons/CoinMarketCapIcon.svelte +7 -0
- package/package/components/icons/CoinMarketCapIcon.svelte.d.ts +7 -0
- package/package/components/icons/CoinbaseIcon.svelte +7 -0
- package/package/components/icons/CoinbaseIcon.svelte.d.ts +7 -0
- package/package/components/icons/ConfluenceIcon.svelte +7 -0
- package/package/components/icons/ConfluenceIcon.svelte.d.ts +7 -0
- package/package/components/icons/ContentfulIcon.svelte +7 -0
- package/package/components/icons/ContentfulIcon.svelte.d.ts +7 -0
- package/package/components/icons/ConvertKitIcon.svelte +7 -0
- package/package/components/icons/ConvertKitIcon.svelte.d.ts +7 -0
- package/package/components/icons/DatoCmsIcon.svelte +7 -0
- package/package/components/icons/DatoCmsIcon.svelte.d.ts +7 -0
- package/package/components/icons/DeelIcon.svelte +7 -0
- package/package/components/icons/DeelIcon.svelte.d.ts +7 -0
- package/package/components/icons/DeepLIcon.svelte +7 -0
- package/package/components/icons/DeepLIcon.svelte.d.ts +7 -0
- package/package/components/icons/DigitalOceanIcon.svelte +7 -0
- package/package/components/icons/DigitalOceanIcon.svelte.d.ts +7 -0
- package/package/components/icons/DiscourseIcon.svelte +7 -0
- package/package/components/icons/DiscourseIcon.svelte.d.ts +7 -0
- package/package/components/icons/DocusignIcon.svelte +7 -0
- package/package/components/icons/DocusignIcon.svelte.d.ts +7 -0
- package/package/components/icons/DropboxIcon.svelte +7 -0
- package/package/components/icons/DropboxIcon.svelte.d.ts +7 -0
- package/package/components/icons/EdgeDbIcon.svelte +16 -20
- package/package/components/icons/EventbriteIcon.svelte +10 -0
- package/package/components/icons/EventbriteIcon.svelte.d.ts +7 -0
- package/package/components/icons/FigmaIcon.svelte +7 -0
- package/package/components/icons/FigmaIcon.svelte.d.ts +7 -0
- package/package/components/icons/FlyIcon.svelte +7 -0
- package/package/components/icons/FlyIcon.svelte.d.ts +7 -0
- package/package/components/icons/FreshdeskIcon.svelte +7 -0
- package/package/components/icons/FreshdeskIcon.svelte.d.ts +7 -0
- package/package/components/icons/FrontAppIcon.svelte +7 -0
- package/package/components/icons/FrontAppIcon.svelte.d.ts +7 -0
- package/package/components/icons/GhostCmsIcon.svelte +7 -0
- package/package/components/icons/GhostCmsIcon.svelte.d.ts +7 -0
- package/package/components/icons/GiphyIcon.svelte +7 -0
- package/package/components/icons/GiphyIcon.svelte.d.ts +7 -0
- package/package/components/icons/GitBookIcon.svelte +7 -0
- package/package/components/icons/GitBookIcon.svelte.d.ts +7 -0
- package/package/components/icons/GroqIcon.svelte +7 -0
- package/package/components/icons/GroqIcon.svelte.d.ts +7 -0
- package/package/components/icons/HoneybadgerIcon.svelte +7 -0
- package/package/components/icons/HoneybadgerIcon.svelte.d.ts +7 -0
- package/package/components/icons/HttpIcon.svelte +1 -0
- package/package/components/icons/IftttIcon.svelte +7 -0
- package/package/components/icons/IftttIcon.svelte.d.ts +7 -0
- package/package/components/icons/IntercomIcon.svelte +7 -0
- package/package/components/icons/IntercomIcon.svelte.d.ts +7 -0
- package/package/components/icons/JoomlaIcon.svelte +7 -0
- package/package/components/icons/JoomlaIcon.svelte.d.ts +7 -0
- package/package/components/icons/LineIcon.svelte +7 -0
- package/package/components/icons/LineIcon.svelte.d.ts +7 -0
- package/package/components/icons/LinearIcon.svelte +7 -0
- package/package/components/icons/LinearIcon.svelte.d.ts +7 -0
- package/package/components/icons/LinodeIcon.svelte +7 -0
- package/package/components/icons/LinodeIcon.svelte.d.ts +7 -0
- package/package/components/icons/LumaAiIcon.svelte +39 -0
- package/package/components/icons/LumaAiIcon.svelte.d.ts +7 -0
- package/package/components/icons/MSTeamsIcon.svelte +20 -38
- package/package/components/icons/MSTeamsIcon.svelte.d.ts +2 -0
- package/package/components/icons/MagentoIcon.svelte +7 -0
- package/package/components/icons/MagentoIcon.svelte.d.ts +7 -0
- package/package/components/icons/MailchimpIcon.svelte +25 -13
- package/package/components/icons/MandrillIcon.svelte +7 -0
- package/package/components/icons/MandrillIcon.svelte.d.ts +7 -0
- package/package/components/icons/MauticIcon.svelte +7 -0
- package/package/components/icons/MauticIcon.svelte.d.ts +7 -0
- package/package/components/icons/MediumIcon.svelte +7 -0
- package/package/components/icons/MediumIcon.svelte.d.ts +7 -0
- package/package/components/icons/MiroIcon.svelte +7 -0
- package/package/components/icons/MiroIcon.svelte.d.ts +7 -0
- package/package/components/icons/MistralIcon.svelte +7 -0
- package/package/components/icons/MistralIcon.svelte.d.ts +7 -0
- package/package/components/icons/MixpanelIcon.svelte +7 -0
- package/package/components/icons/MixpanelIcon.svelte.d.ts +7 -0
- package/package/components/icons/MondayIcon.svelte +7 -0
- package/package/components/icons/MondayIcon.svelte.d.ts +7 -0
- package/package/components/icons/NeonDbIcon.svelte +23 -0
- package/package/components/icons/NeonDbIcon.svelte.d.ts +7 -0
- package/package/components/icons/NetlifyIcon.svelte +7 -0
- package/package/components/icons/NetlifyIcon.svelte.d.ts +7 -0
- package/package/components/icons/OneSignalIcon.svelte +9 -0
- package/package/components/icons/OneSignalIcon.svelte.d.ts +7 -0
- package/package/components/icons/OpenWeatherIcon.svelte +7 -0
- package/package/components/icons/OpenWeatherIcon.svelte.d.ts +7 -0
- package/package/components/icons/PagerDutyIcon.svelte +7 -0
- package/package/components/icons/PagerDutyIcon.svelte.d.ts +7 -0
- package/package/components/icons/PandaDocIcon.svelte +7 -0
- package/package/components/icons/PandaDocIcon.svelte.d.ts +7 -0
- package/package/components/icons/PaypalIcon.svelte +7 -0
- package/package/components/icons/PaypalIcon.svelte.d.ts +7 -0
- package/package/components/icons/PersonioIcon.svelte +7 -0
- package/package/components/icons/PersonioIcon.svelte.d.ts +7 -0
- package/package/components/icons/PinterestIcon.svelte +7 -0
- package/package/components/icons/PinterestIcon.svelte.d.ts +7 -0
- package/package/components/icons/PipedriveIcon.svelte +11 -0
- package/package/components/icons/PipedriveIcon.svelte.d.ts +7 -0
- package/package/components/icons/PlanetScaleIcon.svelte +7 -0
- package/package/components/icons/PlanetScaleIcon.svelte.d.ts +7 -0
- package/package/components/icons/PostmarkIcon.svelte +7 -0
- package/package/components/icons/PostmarkIcon.svelte.d.ts +7 -0
- package/package/components/icons/PusherIcon.svelte +7 -0
- package/package/components/icons/PusherIcon.svelte.d.ts +7 -0
- package/package/components/icons/QuickbooksIcon.svelte +13 -1
- package/package/components/icons/RaindropIcon.svelte +27 -0
- package/package/components/icons/RaindropIcon.svelte.d.ts +7 -0
- package/package/components/icons/ReadwiseIcon.svelte +12 -0
- package/package/components/icons/ReadwiseIcon.svelte.d.ts +7 -0
- package/package/components/icons/RenderIcon.svelte +7 -0
- package/package/components/icons/RenderIcon.svelte.d.ts +7 -0
- package/package/components/icons/ReplicateIcon.svelte +7 -0
- package/package/components/icons/ReplicateIcon.svelte.d.ts +7 -0
- package/package/components/icons/ResendIcon.svelte +1 -1
- package/package/components/icons/RestIcon.svelte +1 -0
- package/package/components/icons/RingCentralIcon.svelte +7 -0
- package/package/components/icons/RingCentralIcon.svelte.d.ts +7 -0
- package/package/components/icons/RocketChatIcon.svelte +7 -0
- package/package/components/icons/RocketChatIcon.svelte.d.ts +7 -0
- package/package/components/icons/RunPodIcon.svelte +8 -0
- package/package/components/icons/RunPodIcon.svelte.d.ts +7 -0
- package/package/components/icons/RustIcon.svelte +74 -56
- package/package/components/icons/SalesforceIcon.svelte +7 -0
- package/package/components/icons/SalesforceIcon.svelte.d.ts +7 -0
- package/package/components/icons/SegmentIcon.svelte +7 -0
- package/package/components/icons/SegmentIcon.svelte.d.ts +7 -0
- package/package/components/icons/SentryIcon.svelte +7 -0
- package/package/components/icons/SentryIcon.svelte.d.ts +7 -0
- package/package/components/icons/ServiceNowIcon.svelte +7 -0
- package/package/components/icons/ServiceNowIcon.svelte.d.ts +7 -0
- package/package/components/icons/ShortcutIcon.svelte +7 -0
- package/package/components/icons/ShortcutIcon.svelte.d.ts +7 -0
- package/package/components/icons/SigNozIcon.svelte +8 -0
- package/package/components/icons/SigNozIcon.svelte.d.ts +7 -0
- package/package/components/icons/SmartsheetIcon.svelte +7 -0
- package/package/components/icons/SmartsheetIcon.svelte.d.ts +7 -0
- package/package/components/icons/SpeechifyIcon.svelte +7 -0
- package/package/components/icons/SpeechifyIcon.svelte.d.ts +7 -0
- package/package/components/icons/SplitwiseIcon.svelte +7 -0
- package/package/components/icons/SplitwiseIcon.svelte.d.ts +7 -0
- package/package/components/icons/StravaIcon.svelte +7 -0
- package/package/components/icons/StravaIcon.svelte.d.ts +7 -0
- package/package/components/icons/TallyIcon.svelte +7 -0
- package/package/components/icons/TallyIcon.svelte.d.ts +7 -0
- package/package/components/icons/TelnyxIcon.svelte +19 -0
- package/package/components/icons/TelnyxIcon.svelte.d.ts +7 -0
- package/package/components/icons/ThreadsIcon.svelte +7 -0
- package/package/components/icons/ThreadsIcon.svelte.d.ts +7 -0
- package/package/components/icons/TodoistIcon.svelte +7 -0
- package/package/components/icons/TodoistIcon.svelte.d.ts +7 -0
- package/package/components/icons/TogetherAiIcon.svelte +23 -0
- package/package/components/icons/TogetherAiIcon.svelte.d.ts +7 -0
- package/package/components/icons/TrelloIcon.svelte +22 -1
- package/package/components/icons/TursoIcon.svelte +7 -0
- package/package/components/icons/TursoIcon.svelte.d.ts +7 -0
- package/package/components/icons/TwitchIcon.svelte +7 -0
- package/package/components/icons/TwitchIcon.svelte.d.ts +7 -0
- package/package/components/icons/TwitterIcon.svelte +7 -0
- package/package/components/icons/TwitterIcon.svelte.d.ts +7 -0
- package/package/components/icons/TypeformIcon.svelte +1 -1
- package/package/components/icons/VercelIcon.svelte +7 -0
- package/package/components/icons/VercelIcon.svelte.d.ts +7 -0
- package/package/components/icons/WebflowIcon.svelte +7 -0
- package/package/components/icons/WebflowIcon.svelte.d.ts +7 -0
- package/package/components/icons/WooCommerceIcon.svelte +7 -0
- package/package/components/icons/WooCommerceIcon.svelte.d.ts +7 -0
- package/package/components/icons/WordpressIcon.svelte +7 -0
- package/package/components/icons/WordpressIcon.svelte.d.ts +7 -0
- package/package/components/icons/XataIcon.svelte +13 -0
- package/package/components/icons/XataIcon.svelte.d.ts +7 -0
- package/package/components/icons/YelpIcon.svelte +7 -0
- package/package/components/icons/YelpIcon.svelte.d.ts +7 -0
- package/package/components/icons/YnabIcon.svelte +7 -0
- package/package/components/icons/YnabIcon.svelte.d.ts +7 -0
- package/package/components/icons/YoutubeIcon.svelte +7 -0
- package/package/components/icons/YoutubeIcon.svelte.d.ts +7 -0
- package/package/components/icons/ZendeskIcon.svelte +1 -1
- package/package/components/icons/ZeroTierIcon.svelte +7 -0
- package/package/components/icons/ZeroTierIcon.svelte.d.ts +7 -0
- package/package/components/icons/ZoomIcon.svelte +7 -0
- package/package/components/icons/ZoomIcon.svelte.d.ts +7 -0
- package/package/components/icons/index.d.ts +111 -1
- package/package/components/icons/index.js +225 -2
- package/package/components/instanceSettings/GhesAppSettings.svelte +161 -0
- package/package/components/instanceSettings/GhesAppSettings.svelte.d.ts +8 -0
- package/package/components/instanceSettings/IndexerMemorySettings.svelte +19 -8
- package/package/components/instanceSettings/InstanceAISettings.svelte +132 -0
- package/package/components/instanceSettings/InstanceAISettings.svelte.d.ts +10 -0
- package/package/components/instanceSettings/WorkspaceRegistries.svelte +293 -0
- package/package/components/instanceSettings/WorkspaceRegistries.svelte.d.ts +8 -0
- package/package/components/instanceSettings/WsConnectivityTest.svelte +177 -0
- package/package/components/instanceSettings/WsConnectivityTest.svelte.d.ts +7 -0
- package/package/components/instanceSettings.d.ts +3 -1
- package/package/components/instanceSettings.js +92 -2
- package/package/components/mcp/McpScopeSelector.svelte +408 -0
- package/package/components/mcp/McpScopeSelector.svelte.d.ts +7 -0
- package/package/components/meltComponents/Popover.svelte +0 -1
- package/package/components/raw_apps/RawAppPreview.svelte +6 -2
- package/package/components/recording/FlowRecordingReplay.svelte +94 -52
- package/package/components/recording/FlowRecordingReplay.svelte.d.ts +10 -1
- package/package/components/recording/ScriptRecordingReplay.svelte +139 -76
- package/package/components/recording/ScriptRecordingReplay.svelte.d.ts +10 -1
- package/package/components/runs/JobRunsPreview.svelte +8 -1
- package/package/components/runs/TimeframeSelect.svelte +0 -1
- package/package/components/schema/JobSchemaPicker.svelte +8 -2
- package/package/components/schema/JobSchemaPicker.svelte.d.ts +1 -0
- package/package/components/schema/SchemaFormDND.svelte +15 -3
- package/package/components/scriptEditor/LogPanel.svelte +78 -68
- package/package/components/script_builder.d.ts +1 -1
- package/package/components/scripts/CreateActionsScript.svelte +3 -3
- package/package/components/scripts/WacExportDrawer.svelte +127 -0
- package/package/components/scripts/WacExportDrawer.svelte.d.ts +8 -0
- package/package/components/scripts/scriptStore.svelte.d.ts +2 -0
- package/package/components/scripts/scriptStore.svelte.js +2 -0
- package/package/components/select/SelectDropdown.svelte +1 -1
- package/package/components/settings/AIPromptsModal.svelte +5 -2
- package/package/components/settings/AIPromptsModal.svelte.d.ts +1 -1
- package/package/components/settings/CloudQuotas.svelte +152 -0
- package/package/components/settings/CloudQuotas.svelte.d.ts +3 -0
- package/package/components/settings/CreateToken.svelte +15 -430
- package/package/components/settings/Trashbin.svelte +248 -0
- package/package/components/settings/Trashbin.svelte.d.ts +3 -0
- package/package/components/sidebar/MultiplayerMenu.svelte +14 -4
- package/package/components/triggers/DeleteTriggerButton.svelte +1 -0
- package/package/components/triggers/PermissionedAsLine.svelte +66 -0
- package/package/components/triggers/PermissionedAsLine.svelte.d.ts +9 -0
- package/package/components/triggers/TriggerEditorToolbar.svelte +2 -2
- package/package/components/triggers/TriggerTokens.svelte +3 -3
- package/package/components/triggers/email/EmailTriggerEditorInner.svelte +19 -1
- package/package/components/triggers/email/utils.js +3 -1
- package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +24 -4
- package/package/components/triggers/gcp/utils.js +2 -0
- package/package/components/triggers/http/RouteEditorConfigSection.svelte +22 -3
- package/package/components/triggers/http/RouteEditorInner.svelte +28 -6
- package/package/components/triggers/http/RoutesGenerator.svelte +13 -2
- package/package/components/triggers/http/utils.js +3 -1
- package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +23 -6
- package/package/components/triggers/kafka/utils.js +3 -1
- package/package/components/triggers/mqtt/MqttTriggerEditorInner.svelte +27 -5
- package/package/components/triggers/mqtt/utils.js +2 -0
- package/package/components/triggers/native/NativeTriggerEditor.svelte +23 -1
- package/package/components/triggers/native/NativeTriggerTable.svelte +14 -3
- package/package/components/triggers/native/utils.js +3 -2
- package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +19 -1
- package/package/components/triggers/nats/utils.js +2 -0
- package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte +19 -1
- package/package/components/triggers/postgres/utils.js +2 -0
- package/package/components/triggers/schedules/ScheduleEditorInner.svelte +29 -7
- package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte +19 -1
- package/package/components/triggers/sqs/utils.js +2 -0
- package/package/components/triggers/utils.js +9 -2
- package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +24 -4
- package/package/components/triggers/websocket/utils.js +3 -1
- package/package/components/workspaceSettings/AISettings.svelte +342 -214
- package/package/components/workspaceSettings/AISettings.svelte.d.ts +18 -10
- package/package/components/workspaceSettings/CreateWorkspace.svelte +304 -196
- package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte +1 -2
- package/package/components/workspaceSettings/DucklakeSettings.svelte +1 -1
- package/package/components/workspaceSettings/InstanceFallbackSettings.svelte +75 -0
- package/package/components/workspaceSettings/InstanceFallbackSettings.svelte.d.ts +9 -0
- package/package/components/workspaceSettings/StorageSettings.svelte +4 -35
- package/package/components/workspaceSettings/VolumeStorageSettings.svelte +80 -0
- package/package/components/workspaceSettings/VolumeStorageSettings.svelte.d.ts +10 -0
- package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +4 -1
- package/package/forLater.js +4 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +294 -94
- package/package/gen/schemas.gen.js +294 -94
- package/package/gen/services.gen.d.ts +121 -5
- package/package/gen/services.gen.js +237 -5
- package/package/gen/types.gen.d.ts +715 -91
- package/package/githubApp.js +19 -1
- package/package/hubPaths.json +8 -4
- package/package/infer.d.ts +1 -1
- package/package/infer.js +5 -1
- package/package/logoutRedirect.d.ts +1 -0
- package/package/logoutRedirect.js +24 -0
- package/package/script_helpers.d.ts +8 -2
- package/package/script_helpers.js +15 -1
- package/package/services/trashService.d.ts +28 -0
- package/package/services/trashService.js +47 -0
- package/package/stores.d.ts +1 -0
- package/package/stores.js +1 -0
- package/package/system_prompts/index.d.ts +1 -0
- package/package/system_prompts/index.js +7 -0
- package/package/system_prompts/prompts.d.ts +7 -5
- package/package/system_prompts/prompts.js +182 -11
- package/package/templates/wac_python.py.template +42 -0
- package/package/templates/wac_typescript.ts.template +48 -0
- package/package/utils_deployable.d.ts +22 -21
- package/package/utils_deployable.js +58 -25
- package/package/utils_workspace_deploy.d.ts +15 -4
- package/package/utils_workspace_deploy.js +19 -15
- package/package/wsUrl.d.ts +1 -0
- package/package/wsUrl.js +15 -0
- package/package.json +13 -5
- package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +0 -2
- package/dist/sharedUtils/base.d.ts +0 -1
- package/dist/sharedUtils/cloud.d.ts +0 -1
- package/dist/sharedUtils/common.d.ts +0 -111
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +0 -5
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +0 -5
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +0 -5
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +0 -13
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +0 -11
- package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +0 -95
- package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +0 -6
- package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +0 -7
- package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +0 -33
- package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +0 -10
- package/dist/sharedUtils/components/apps/editor/component/components.d.ts +0 -5371
- package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +0 -3
- package/dist/sharedUtils/components/apps/editor/component/index.d.ts +0 -3
- package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +0 -7
- package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +0 -3
- package/dist/sharedUtils/components/apps/gridUtils.d.ts +0 -14
- package/dist/sharedUtils/components/apps/inputType.d.ts +0 -178
- package/dist/sharedUtils/components/apps/rx.d.ts +0 -29
- package/dist/sharedUtils/components/apps/sharedTypes.d.ts +0 -21
- package/dist/sharedUtils/components/apps/types.d.ts +0 -274
- package/dist/sharedUtils/components/assets/lib.d.ts +0 -25
- package/dist/sharedUtils/components/common/alert/model.d.ts +0 -2
- package/dist/sharedUtils/components/common/badge/model.d.ts +0 -8
- package/dist/sharedUtils/components/common/button/model.d.ts +0 -45
- package/dist/sharedUtils/components/common/fileInput/model.d.ts +0 -1
- package/dist/sharedUtils/components/common/index.d.ts +0 -24
- package/dist/sharedUtils/components/common/skeleton/model.d.ts +0 -21
- package/dist/sharedUtils/components/dbTypes.d.ts +0 -14
- package/dist/sharedUtils/components/diff_drawer.d.ts +0 -26
- package/dist/sharedUtils/components/ducklake.d.ts +0 -1
- package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +0 -7
- package/dist/sharedUtils/components/icons/index.d.ts +0 -101
- package/dist/sharedUtils/components/random_positive_adjetive.d.ts +0 -1
- package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +0 -10
- package/dist/sharedUtils/components/raw_apps/utils.d.ts +0 -15
- package/dist/sharedUtils/components/triggers/email/utils.d.ts +0 -4
- package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +0 -2
- package/dist/sharedUtils/components/triggers/http/utils.d.ts +0 -11
- package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +0 -2
- package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +0 -2
- package/dist/sharedUtils/components/triggers/nats/utils.d.ts +0 -2
- package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +0 -8
- package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +0 -2
- package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +0 -32
- package/dist/sharedUtils/components/triggers/utils.d.ts +0 -80
- package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +0 -2
- package/dist/sharedUtils/components/triggers.d.ts +0 -20
- package/dist/sharedUtils/gen/core/ApiError.d.ts +0 -10
- package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +0 -13
- package/dist/sharedUtils/gen/core/ApiResult.d.ts +0 -7
- package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +0 -26
- package/dist/sharedUtils/gen/core/OpenAPI.d.ts +0 -27
- package/dist/sharedUtils/gen/core/request.d.ts +0 -29
- package/dist/sharedUtils/gen/index.d.ts +0 -6
- package/dist/sharedUtils/gen/schemas.gen.d.ts +0 -7036
- package/dist/sharedUtils/gen/services.gen.d.ts +0 -6047
- package/dist/sharedUtils/gen/types.gen.d.ts +0 -21881
- package/dist/sharedUtils/history.svelte.d.ts +0 -9
- package/dist/sharedUtils/hub.d.ts +0 -49
- package/dist/sharedUtils/jsr.json +0 -6
- package/dist/sharedUtils/lib.d.ts +0 -5
- package/dist/sharedUtils/lib.es.js +0 -1588
- package/dist/sharedUtils/package.json +0 -12
- package/dist/sharedUtils/schema.d.ts +0 -3
- package/dist/sharedUtils/stores.d.ts +0 -97
- package/dist/sharedUtils/svelte5Utils.svelte.d.ts +0 -80
- package/dist/sharedUtils/toast.d.ts +0 -8
- package/dist/sharedUtils/utils.d.ts +0 -265
- package/package/components/graph/NodeContextMenu.svelte +0 -36
- package/package/components/graph/NodeContextMenu.svelte.d.ts +0 -8
- package/package/svelte5Utils.svelte.d.ts +0 -184
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
<script lang="ts">import {
|
|
2
|
-
import { GroupService } from '../gen';
|
|
1
|
+
<script lang="ts">import { GroupService } from '../gen';
|
|
3
2
|
import { createEventDispatcher } from 'svelte';
|
|
4
3
|
import autosize from '../autosize';
|
|
5
4
|
import { Button } from './common';
|
|
@@ -7,6 +6,9 @@ import Skeleton from './common/skeleton/Skeleton.svelte';
|
|
|
7
6
|
import TableCustom from './TableCustom.svelte';
|
|
8
7
|
import { sendUserToast } from '../toast';
|
|
9
8
|
import { Loader2 } from 'lucide-svelte';
|
|
9
|
+
import { superadmin } from '../stores';
|
|
10
|
+
import ToggleButtonGroup from './common/toggleButton-v2/ToggleButtonGroup.svelte';
|
|
11
|
+
import ToggleButton from './common/toggleButton-v2/ToggleButton.svelte';
|
|
10
12
|
let { name } = $props();
|
|
11
13
|
let email = $state('');
|
|
12
14
|
let instance_group = $state();
|
|
@@ -23,7 +25,7 @@ async function loadInstanceGroup() {
|
|
|
23
25
|
})
|
|
24
26
|
: [];
|
|
25
27
|
}
|
|
26
|
-
|
|
28
|
+
$effect(() => {
|
|
27
29
|
load();
|
|
28
30
|
});
|
|
29
31
|
</script>
|
|
@@ -44,7 +46,10 @@ run(() => {
|
|
|
44
46
|
on:click={async () => {
|
|
45
47
|
await GroupService.updateInstanceGroup({
|
|
46
48
|
name,
|
|
47
|
-
requestBody: {
|
|
49
|
+
requestBody: {
|
|
50
|
+
new_summary: instance_group?.summary ?? '',
|
|
51
|
+
instance_role: instance_group?.instance_role ?? 'user'
|
|
52
|
+
}
|
|
48
53
|
})
|
|
49
54
|
dispatch('update')
|
|
50
55
|
sendUserToast('New summary saved')
|
|
@@ -52,6 +57,72 @@ run(() => {
|
|
|
52
57
|
>
|
|
53
58
|
</div>
|
|
54
59
|
</div>
|
|
60
|
+
|
|
61
|
+
{#if $superadmin}
|
|
62
|
+
<div class="flex flex-col gap-2">
|
|
63
|
+
<h2>Instance Role</h2>
|
|
64
|
+
<p class="text-secondary text-xs"
|
|
65
|
+
>Assign an instance-level role to all members of this group. Superadmin grants full admin
|
|
66
|
+
access, devops grants read-only admin visibility.</p
|
|
67
|
+
>
|
|
68
|
+
<ToggleButtonGroup
|
|
69
|
+
selected={instance_group.instance_role ?? 'user'}
|
|
70
|
+
on:selected={async (e) => {
|
|
71
|
+
let role = e.detail
|
|
72
|
+
await GroupService.updateInstanceGroup({
|
|
73
|
+
name,
|
|
74
|
+
requestBody: {
|
|
75
|
+
new_summary: instance_group?.summary ?? '',
|
|
76
|
+
instance_role: role
|
|
77
|
+
}
|
|
78
|
+
})
|
|
79
|
+
if (instance_group) {
|
|
80
|
+
instance_group.instance_role =
|
|
81
|
+
role === 'user' ? undefined : (role as 'superadmin' | 'devops')
|
|
82
|
+
}
|
|
83
|
+
dispatch('update')
|
|
84
|
+
sendUserToast('Instance role updated')
|
|
85
|
+
}}
|
|
86
|
+
>
|
|
87
|
+
{#snippet children({ item })}
|
|
88
|
+
<ToggleButton value="user" small label="User" {item} />
|
|
89
|
+
<ToggleButton
|
|
90
|
+
value="devops"
|
|
91
|
+
small
|
|
92
|
+
label="Devops"
|
|
93
|
+
tooltip="Devops is a role that grants visibility similar to that of a super admin, but without giving all rights."
|
|
94
|
+
{item}
|
|
95
|
+
/>
|
|
96
|
+
<ToggleButton value="superadmin" small label="Superadmin" {item} />
|
|
97
|
+
{/snippet}
|
|
98
|
+
</ToggleButtonGroup>
|
|
99
|
+
</div>
|
|
100
|
+
{/if}
|
|
101
|
+
|
|
102
|
+
{#if instance_group.workspaces && instance_group.workspaces.length > 0}
|
|
103
|
+
<div class="flex flex-col gap-2">
|
|
104
|
+
<h2>Workspace Membership</h2>
|
|
105
|
+
<TableCustom>
|
|
106
|
+
{#snippet headerRow()}
|
|
107
|
+
<tr>
|
|
108
|
+
<th>Workspace</th>
|
|
109
|
+
<th>Role</th>
|
|
110
|
+
</tr>
|
|
111
|
+
{/snippet}
|
|
112
|
+
{#snippet body()}
|
|
113
|
+
<tbody>
|
|
114
|
+
{#each instance_group?.workspaces ?? [] as ws (ws.workspace_id)}
|
|
115
|
+
<tr>
|
|
116
|
+
<td>{ws.workspace_name ?? ws.workspace_id}</td>
|
|
117
|
+
<td>{ws.role}</td>
|
|
118
|
+
</tr>
|
|
119
|
+
{/each}
|
|
120
|
+
</tbody>
|
|
121
|
+
{/snippet}
|
|
122
|
+
</TableCustom>
|
|
123
|
+
</div>
|
|
124
|
+
{/if}
|
|
125
|
+
|
|
55
126
|
<h2
|
|
56
127
|
>Members ({#if members?.length != undefined}{members?.length ?? 0}{:else}<Loader2
|
|
57
128
|
class="animate-spin"
|
|
@@ -80,36 +151,38 @@ run(() => {
|
|
|
80
151
|
{#if members}
|
|
81
152
|
<TableCustom>
|
|
82
153
|
{#snippet headerRow()}
|
|
83
|
-
|
|
154
|
+
<tr>
|
|
84
155
|
<th>user</th>
|
|
85
156
|
<th></th>
|
|
86
157
|
</tr>
|
|
87
|
-
|
|
158
|
+
{/snippet}
|
|
88
159
|
{#snippet body()}
|
|
89
|
-
|
|
90
|
-
{#each members as { member_email }}
|
|
160
|
+
<tbody>
|
|
161
|
+
{#each members as { member_email } (member_email)}
|
|
162
|
+
<tr>
|
|
91
163
|
<td>{member_email}</td>
|
|
92
164
|
<td>
|
|
93
165
|
<button
|
|
94
166
|
class="ml-2 text-red-500"
|
|
95
167
|
onclick={async () => {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
168
|
+
await GroupService.removeUserFromInstanceGroup({
|
|
169
|
+
name,
|
|
170
|
+
requestBody: { email: member_email }
|
|
171
|
+
})
|
|
172
|
+
dispatch('update')
|
|
173
|
+
sendUserToast('User removed')
|
|
174
|
+
loadInstanceGroup()
|
|
175
|
+
}}>remove</button
|
|
104
176
|
>
|
|
105
177
|
</td>
|
|
106
|
-
</tr>
|
|
178
|
+
</tr>
|
|
179
|
+
{/each}
|
|
107
180
|
</tbody>
|
|
108
|
-
|
|
181
|
+
{/snippet}
|
|
109
182
|
</TableCustom>
|
|
110
183
|
{:else}
|
|
111
184
|
<div class="flex flex-col">
|
|
112
|
-
{#each new Array(6) as _}
|
|
185
|
+
{#each new Array(6) as _, i (i)}
|
|
113
186
|
<Skeleton layout={[[2], 0.7]} />
|
|
114
187
|
{/each}
|
|
115
188
|
</div>
|
|
@@ -19,6 +19,8 @@ import SimpleEditor from './SimpleEditor.svelte';
|
|
|
19
19
|
import CriticalAlertChannels from './instanceSettings/CriticalAlertChannels.svelte';
|
|
20
20
|
import SmtpSettings from './instanceSettings/SmtpSettings.svelte';
|
|
21
21
|
import SecretBackendConfig from './instanceSettings/SecretBackendConfig.svelte';
|
|
22
|
+
import GhesAppSettings from './instanceSettings/GhesAppSettings.svelte';
|
|
23
|
+
import WsConnectivityTest from './instanceSettings/WsConnectivityTest.svelte';
|
|
22
24
|
import IndexerMemorySettings from './instanceSettings/IndexerMemorySettings.svelte';
|
|
23
25
|
import IndexerJobIndexSettings from './instanceSettings/IndexerJobIndexSettings.svelte';
|
|
24
26
|
import IndexerLogIndexSettings from './instanceSettings/IndexerLogIndexSettings.svelte';
|
|
@@ -247,12 +249,16 @@ $effect(() => {
|
|
|
247
249
|
{:else}
|
|
248
250
|
<SettingCard
|
|
249
251
|
label={setting.key === 'disable_stats'
|
|
250
|
-
?
|
|
251
|
-
|
|
252
|
+
? $enterpriseLicense
|
|
253
|
+
? 'Minimal telemetry'
|
|
254
|
+
: 'Disable telemetry'
|
|
255
|
+
: setting.fieldType != 'smtp_connect'
|
|
256
|
+
? setting.label
|
|
257
|
+
: undefined}
|
|
252
258
|
description={setting.key === 'disable_stats'
|
|
253
|
-
?
|
|
259
|
+
? $enterpriseLicense
|
|
254
260
|
? 'Reduces telemetry to only what is needed for license compliance (no job usage data).'
|
|
255
|
-
: 'Disables telemetry entirely.'
|
|
261
|
+
: 'Disables telemetry entirely.'
|
|
256
262
|
: setting.description}
|
|
257
263
|
ee_only={setting.ee_only}
|
|
258
264
|
tooltip={setting.tooltip}
|
|
@@ -517,10 +523,10 @@ $effect(() => {
|
|
|
517
523
|
options={{ right: 'Logs' }}
|
|
518
524
|
/>
|
|
519
525
|
<Toggle
|
|
520
|
-
disabled
|
|
526
|
+
disabled={!$enterpriseLicense}
|
|
521
527
|
id="metrics_enabled"
|
|
522
528
|
bind:checked={$values[setting.key].metrics_enabled}
|
|
523
|
-
options={{ right: 'Metrics
|
|
529
|
+
options={{ right: 'Metrics' }}
|
|
524
530
|
/>
|
|
525
531
|
</div>
|
|
526
532
|
|
|
@@ -679,6 +685,10 @@ $effect(() => {
|
|
|
679
685
|
<SmtpSettings {values} disabled={loading} />
|
|
680
686
|
{:else if setting.fieldType == 'secret_backend'}
|
|
681
687
|
<SecretBackendConfig {values} disabled={loading} />
|
|
688
|
+
{:else if setting.fieldType == 'github_enterprise_app'}
|
|
689
|
+
<GhesAppSettings {values} disabled={loading || !$enterpriseLicense} />
|
|
690
|
+
{:else if setting.fieldType == 'ws_connectivity'}
|
|
691
|
+
<WsConnectivityTest {values} />
|
|
682
692
|
{/if}
|
|
683
693
|
{#if hasError}
|
|
684
694
|
<span class="text-red-600 dark:text-red-400 text-xs">
|
|
@@ -15,7 +15,8 @@ import YAML from 'yaml';
|
|
|
15
15
|
import Toggle from './Toggle.svelte';
|
|
16
16
|
import SettingsFooter from './workspaceSettings/SettingsFooter.svelte';
|
|
17
17
|
import SettingsPageHeader from './settings/SettingsPageHeader.svelte';
|
|
18
|
-
|
|
18
|
+
import WorkspaceRegistries from './instanceSettings/WorkspaceRegistries.svelte';
|
|
19
|
+
let { tab = $bindable('Core'), hideTabs = false, closeDrawer = () => { }, authSubTab = $bindable('sso'), onNavigateToTab, quickSetup = false, yamlMode = $bindable(false), hasUnsavedChanges = $bindable(false), hasAnyInvalid = $bindable(false) } = $props();
|
|
19
20
|
let values = writable({});
|
|
20
21
|
let initialOauths = $state({});
|
|
21
22
|
let initialRequirePreexistingUserForOauth = $state(false);
|
|
@@ -43,7 +44,8 @@ const formDefaults = {
|
|
|
43
44
|
smtp_settings: {},
|
|
44
45
|
otel: {},
|
|
45
46
|
indexer_settings: {},
|
|
46
|
-
critical_error_channels: []
|
|
47
|
+
critical_error_channels: [],
|
|
48
|
+
github_enterprise_app: {}
|
|
47
49
|
};
|
|
48
50
|
function applyFormDefaults(vals) {
|
|
49
51
|
for (const [key, defaultVal] of Object.entries(formDefaults)) {
|
|
@@ -205,12 +207,13 @@ let downloadingStats = $state(false);
|
|
|
205
207
|
async function downloadStats() {
|
|
206
208
|
try {
|
|
207
209
|
downloadingStats = true;
|
|
208
|
-
const
|
|
209
|
-
const blob = new Blob([
|
|
210
|
+
const result = await SettingService.getStats();
|
|
211
|
+
const blob = new Blob([result.data ?? ''], { type: 'application/json' });
|
|
210
212
|
const url = URL.createObjectURL(blob);
|
|
211
213
|
const a = document.createElement('a');
|
|
212
214
|
a.href = url;
|
|
213
|
-
|
|
215
|
+
const date = new Date().toISOString().split('T')[0];
|
|
216
|
+
a.download = `windmill-telemetry-${date}-${result.signature}.json`;
|
|
214
217
|
document.body.appendChild(a);
|
|
215
218
|
a.click();
|
|
216
219
|
document.body.removeChild(a);
|
|
@@ -324,6 +327,9 @@ function buildCategoryYaml(category, vals, oauthsObj, reqPreexisting) {
|
|
|
324
327
|
obj['require_preexisting_user_for_oauth'] = reqPreexisting;
|
|
325
328
|
}
|
|
326
329
|
}
|
|
330
|
+
if (category === 'Registries') {
|
|
331
|
+
obj['workspace_registries'] = vals['workspace_registries'] ?? null;
|
|
332
|
+
}
|
|
327
333
|
return YAML.stringify(obj);
|
|
328
334
|
}
|
|
329
335
|
let dirtyCategories = $derived.by(() => {
|
|
@@ -352,6 +358,9 @@ let invalidCategories = $derived.by(() => {
|
|
|
352
358
|
}
|
|
353
359
|
return result;
|
|
354
360
|
});
|
|
361
|
+
$effect(() => {
|
|
362
|
+
hasAnyInvalid = Object.values(invalidCategories).some(Boolean);
|
|
363
|
+
});
|
|
355
364
|
export function isDirty(category) {
|
|
356
365
|
return dirtyCategories[category] ?? false;
|
|
357
366
|
}
|
|
@@ -372,6 +381,11 @@ export function discardCategory(category) {
|
|
|
372
381
|
const v = initialValues[s.key];
|
|
373
382
|
$values[s.key] = v !== undefined ? JSON.parse(JSON.stringify(v)) : undefined;
|
|
374
383
|
}
|
|
384
|
+
if (category === 'Registries') {
|
|
385
|
+
const v = initialValues['workspace_registries'];
|
|
386
|
+
$values['workspace_registries'] =
|
|
387
|
+
v !== undefined ? JSON.parse(JSON.stringify(v)) : undefined;
|
|
388
|
+
}
|
|
375
389
|
}
|
|
376
390
|
}
|
|
377
391
|
export function discardAll() {
|
|
@@ -462,6 +476,18 @@ export async function saveCategorySettings(category) {
|
|
|
462
476
|
initialRequirePreexistingUserForOauth = requirePreexistingUserForOauth;
|
|
463
477
|
}
|
|
464
478
|
}
|
|
479
|
+
// Handle workspace_registries (saved separately like oauths)
|
|
480
|
+
if (category === 'Registries') {
|
|
481
|
+
if (!deepEqual(initialValues['workspace_registries'], $values['workspace_registries'])) {
|
|
482
|
+
await SettingService.setGlobal({
|
|
483
|
+
key: 'workspace_registries',
|
|
484
|
+
requestBody: { value: $values['workspace_registries'] ?? null }
|
|
485
|
+
});
|
|
486
|
+
initialValues['workspace_registries'] = $values['workspace_registries']
|
|
487
|
+
? JSON.parse(JSON.stringify($values['workspace_registries']))
|
|
488
|
+
: undefined;
|
|
489
|
+
}
|
|
490
|
+
}
|
|
465
491
|
if (licenseKeySet)
|
|
466
492
|
setLicense();
|
|
467
493
|
if (shouldReloadPage) {
|
|
@@ -486,7 +512,8 @@ const sensitiveKeys = new Set([
|
|
|
486
512
|
.filter((s) => s.fieldType === 'password' || s.fieldType === 'license_key')
|
|
487
513
|
.map((s) => s.key),
|
|
488
514
|
'ducklake_user_pg_pwd',
|
|
489
|
-
'jwt_secret'
|
|
515
|
+
'jwt_secret',
|
|
516
|
+
'workspace_registries'
|
|
490
517
|
]);
|
|
491
518
|
// Settings that should never appear in YAML export/import
|
|
492
519
|
const excludedKeys = new Set([]);
|
|
@@ -497,7 +524,8 @@ const nestedSensitiveFields = {
|
|
|
497
524
|
secret_backend: ['token'],
|
|
498
525
|
object_store_cache_config: ['secret_key', 'serviceAccountKey'],
|
|
499
526
|
custom_instance_pg_databases: ['user_pwd'],
|
|
500
|
-
rsa_keys: ['private_key']
|
|
527
|
+
rsa_keys: ['private_key'],
|
|
528
|
+
github_enterprise_app: ['private_key']
|
|
501
529
|
};
|
|
502
530
|
/** Returns SENSITIVE_UNCHANGED if the value is non-empty and matches the initial */
|
|
503
531
|
function maskField(current, initial) {
|
|
@@ -818,6 +846,10 @@ $effect(() => {
|
|
|
818
846
|
<br />When minimal telemetry is disabled, the following is also collected:
|
|
819
847
|
<ul class="list-disc list-inside pl-2">
|
|
820
848
|
<li>job usage (language, total duration, count)</li>
|
|
849
|
+
<li>git sync repo count (sync vs promotion mode)</li>
|
|
850
|
+
<li
|
|
851
|
+
>AI chat usage (provider, model, mode, session count, message count — last 30 days)</li
|
|
852
|
+
>
|
|
821
853
|
</ul>
|
|
822
854
|
<br />For air-gapped instances, you can download the telemetry data and send it manually.
|
|
823
855
|
</div>
|
|
@@ -853,6 +885,9 @@ $effect(() => {
|
|
|
853
885
|
<li>worker usage (worker, worker instance, vCPUs, memory)</li>
|
|
854
886
|
<li>user usage (author count, operator count)</li>
|
|
855
887
|
<li>development instance status</li>
|
|
888
|
+
<li
|
|
889
|
+
>AI chat usage (provider, model, mode, session count, message count — last 30 days)</li
|
|
890
|
+
>
|
|
856
891
|
</ul>
|
|
857
892
|
</div>
|
|
858
893
|
{/if}
|
|
@@ -880,6 +915,11 @@ $effect(() => {
|
|
|
880
915
|
description="Configure where secrets (secret variables) are stored."
|
|
881
916
|
link="https://www.windmill.dev/docs/core_concepts/workspace_secret_encryption"
|
|
882
917
|
/>
|
|
918
|
+
{:else if category == 'GitHub Enterprise App'}
|
|
919
|
+
<SettingsPageHeader
|
|
920
|
+
title="GitHub Enterprise App"
|
|
921
|
+
description="Configure a self-managed GitHub App for GitHub Enterprise Server git sync."
|
|
922
|
+
/>
|
|
883
923
|
{:else if category == 'Auth/OAuth/SAML'}
|
|
884
924
|
<AuthSettings
|
|
885
925
|
bind:oauths
|
|
@@ -963,6 +1003,10 @@ $effect(() => {
|
|
|
963
1003
|
{/if}
|
|
964
1004
|
</div>
|
|
965
1005
|
|
|
1006
|
+
{#if category === 'Registries'}
|
|
1007
|
+
<WorkspaceRegistries {values} {loading} />
|
|
1008
|
+
{/if}
|
|
1009
|
+
|
|
966
1010
|
{#if !loading && !quickSetup && !hideTabs}
|
|
967
1011
|
<SettingsFooter
|
|
968
1012
|
hasUnsavedChanges={dirtyCategories[category] ?? false}
|
|
@@ -7,6 +7,7 @@ interface Props {
|
|
|
7
7
|
quickSetup?: boolean;
|
|
8
8
|
yamlMode?: boolean;
|
|
9
9
|
hasUnsavedChanges?: boolean;
|
|
10
|
+
hasAnyInvalid?: boolean;
|
|
10
11
|
}
|
|
11
12
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
12
13
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
@@ -38,6 +39,6 @@ declare const InstanceSettings: $$__sveltets_2_IsomorphicComponent<Props, {
|
|
|
38
39
|
original: string;
|
|
39
40
|
modified: string;
|
|
40
41
|
};
|
|
41
|
-
}, "tab" | "hasUnsavedChanges" | "authSubTab" | "yamlMode">;
|
|
42
|
+
}, "tab" | "hasUnsavedChanges" | "authSubTab" | "yamlMode" | "hasAnyInvalid">;
|
|
42
43
|
type InstanceSettings = InstanceType<typeof InstanceSettings>;
|
|
43
44
|
export default InstanceSettings;
|
|
@@ -36,7 +36,7 @@ const noLogsChangeRestartEvent = 'SSE restart after no logs change';
|
|
|
36
36
|
$effect(() => {
|
|
37
37
|
if (noLogs != lastNoLogs) {
|
|
38
38
|
lastNoLogs = noLogs;
|
|
39
|
-
if (!noLogs) {
|
|
39
|
+
if (!noLogs && !getActiveReplay()) {
|
|
40
40
|
currentEventSource?.onerror?.(new Event(noLogsChangeRestartEvent));
|
|
41
41
|
const lastJobId = lastCompletedJobId;
|
|
42
42
|
if (lastJobId && (job || lastCallbacks?.loadExtraLogs)) {
|
|
@@ -144,7 +144,7 @@ function refreshLogOffset() {
|
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
146
|
export async function getLogs() {
|
|
147
|
-
if (job) {
|
|
147
|
+
if (job && !getActiveReplay()) {
|
|
148
148
|
refreshLogOffset();
|
|
149
149
|
const getUpdate = await JobService.getJobUpdates({
|
|
150
150
|
workspace: workspace,
|
|
@@ -164,7 +164,7 @@ export async function runDynamicInputScript(entrypoint_function, runnable_ref, a
|
|
|
164
164
|
requestBody: { entrypoint_function, args, runnable_ref }
|
|
165
165
|
}), callbacks);
|
|
166
166
|
}
|
|
167
|
-
export async function runPreview(path, code, lang, args, tag, lock, hash, callbacks, flowPath) {
|
|
167
|
+
export async function runPreview(path, code, lang, args, tag, lock, hash, callbacks, flowPath, modules) {
|
|
168
168
|
return abstractRun(() => JobService.runScriptPreview({
|
|
169
169
|
workspace: $workspaceStore,
|
|
170
170
|
requestBody: {
|
|
@@ -175,7 +175,8 @@ export async function runPreview(path, code, lang, args, tag, lock, hash, callba
|
|
|
175
175
|
tag,
|
|
176
176
|
lock,
|
|
177
177
|
script_hash: hash,
|
|
178
|
-
flow_path: flowPath
|
|
178
|
+
flow_path: flowPath,
|
|
179
|
+
modules: modules ?? undefined
|
|
179
180
|
}
|
|
180
181
|
}), callbacks);
|
|
181
182
|
}
|
|
@@ -59,7 +59,7 @@ declare const JobLoader: import("svelte").Component<Props, {
|
|
|
59
59
|
}, callbacks?: Callbacks, path?: string) => Promise<string>;
|
|
60
60
|
getLogs: () => Promise<void>;
|
|
61
61
|
runDynamicInputScript: (entrypoint_function: string, runnable_ref: DynamicInput.HelperScript, args: Record<string, any>, callbacks?: Callbacks) => Promise<string>;
|
|
62
|
-
runPreview: (path: string | undefined, code: string, lang: SupportedLanguage | undefined, args: Record<string, any>, tag: string | undefined, lock?: string, hash?: string, callbacks?: Callbacks, flowPath?: string) => Promise<string>;
|
|
62
|
+
runPreview: (path: string | undefined, code: string, lang: SupportedLanguage | undefined, args: Record<string, any>, tag: string | undefined, lock?: string, hash?: string, callbacks?: Callbacks, flowPath?: string, modules?: Record<string, import("../gen").ScriptModule> | null) => Promise<string>;
|
|
63
63
|
cancelJob: () => Promise<void>;
|
|
64
64
|
clearCurrentJob: () => Promise<void>;
|
|
65
65
|
watchJob: (testId: string, callbacks?: Callbacks) => Promise<void>;
|
|
@@ -127,7 +127,8 @@ async function redirectUser() {
|
|
|
127
127
|
workspace: $workspaceStore
|
|
128
128
|
});
|
|
129
129
|
if (!emptyString(defaultApp.default_app_path)) {
|
|
130
|
-
|
|
130
|
+
const prefix = defaultApp.default_app_raw ? '/apps_raw/get' : '/apps/get';
|
|
131
|
+
goto(`${prefix}/${defaultApp.default_app_path}`);
|
|
131
132
|
}
|
|
132
133
|
else {
|
|
133
134
|
goto(rd ?? '/');
|
|
@@ -300,6 +301,13 @@ $effect(() => {
|
|
|
300
301
|
btnClasses="mt-2 w-full"
|
|
301
302
|
on:click={() => {
|
|
302
303
|
if (saml) {
|
|
304
|
+
if (rd) {
|
|
305
|
+
try {
|
|
306
|
+
localStorage.setItem('rd', rd)
|
|
307
|
+
} catch (e) {
|
|
308
|
+
console.error('Could not persist redirection to local storage', e)
|
|
309
|
+
}
|
|
310
|
+
}
|
|
303
311
|
window.location.href = saml
|
|
304
312
|
} else {
|
|
305
313
|
sendUserToast('No SAML login available', true)
|
|
@@ -4,7 +4,7 @@ import { Badge } from './common';
|
|
|
4
4
|
|
|
5
5
|
<Popover notClickable>
|
|
6
6
|
{#snippet text()}
|
|
7
|
-
|
|
7
|
+
Library script (no exported main function)
|
|
8
8
|
{/snippet}
|
|
9
|
-
<Badge small color="yellow" baseClass="border border-indigo-200">
|
|
9
|
+
<Badge small color="yellow" baseClass="border border-indigo-200">Library</Badge>
|
|
10
10
|
</Popover>
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
<script lang="ts" module>/**
|
|
2
2
|
* Check if an item needs on_behalf_of selection.
|
|
3
|
-
* Shows the selector when the source item has an
|
|
3
|
+
* Shows the selector when the source item has an on_behalf_of value set.
|
|
4
4
|
*/
|
|
5
|
-
export function needsOnBehalfOfSelection(kind,
|
|
6
|
-
if (kind !== 'flow' &&
|
|
5
|
+
export function needsOnBehalfOfSelection(kind, sourceValue) {
|
|
6
|
+
if (kind !== 'flow' &&
|
|
7
|
+
kind !== 'script' &&
|
|
8
|
+
kind !== 'app' &&
|
|
9
|
+
kind !== 'raw_app' &&
|
|
10
|
+
kind !== 'trigger')
|
|
7
11
|
return false;
|
|
8
|
-
return !!
|
|
12
|
+
return !!sourceValue;
|
|
9
13
|
}
|
|
10
14
|
</script>
|
|
11
15
|
|
|
@@ -15,9 +19,10 @@ import Modal from './common/modal/Modal.svelte';
|
|
|
15
19
|
import { userStore } from '../stores';
|
|
16
20
|
import { UserService } from '../gen';
|
|
17
21
|
import TextInput from './text_input/TextInput.svelte';
|
|
18
|
-
let { targetWorkspace,
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
let { targetWorkspace, targetValue, selected, onSelect, kind, canPreserve, customValue, isDeployment = true } = $props();
|
|
23
|
+
const isTrigger = $derived(kind === 'trigger');
|
|
24
|
+
let label = $derived(isTrigger
|
|
25
|
+
? 'Set the user this will be permissioned as:'
|
|
21
26
|
: 'Set the user this will be run on behalf of:');
|
|
22
27
|
let users = $state([]);
|
|
23
28
|
let usersLoaded = $state(false);
|
|
@@ -36,13 +41,18 @@ async function loadUsers() {
|
|
|
36
41
|
}
|
|
37
42
|
// Fetch users eagerly so we can resolve usernames for display
|
|
38
43
|
loadUsers();
|
|
39
|
-
|
|
40
|
-
|
|
44
|
+
/** Resolve a value to a display name, always showing u/username format */
|
|
45
|
+
function resolveDisplayName(value) {
|
|
46
|
+
if (!value)
|
|
41
47
|
return undefined;
|
|
42
|
-
|
|
48
|
+
if (value.startsWith('u/') || value.startsWith('g/'))
|
|
49
|
+
return value;
|
|
50
|
+
const username = users.find((u) => u.email === value)?.username;
|
|
51
|
+
return username ? `u/${username}` : value;
|
|
43
52
|
}
|
|
44
|
-
let
|
|
45
|
-
let
|
|
53
|
+
let targetDisplayName = $derived(resolveDisplayName(targetValue));
|
|
54
|
+
let customDisplayName = $derived(resolveDisplayName(customValue));
|
|
55
|
+
let myDisplayName = $derived($userStore?.username ? `u/${$userStore.username}` : undefined);
|
|
46
56
|
let activeUsers = $derived(users.filter((u) => !u.disabled));
|
|
47
57
|
let filteredUsers = $derived(searchQuery
|
|
48
58
|
? activeUsers.filter((u) => {
|
|
@@ -54,7 +64,7 @@ let filteredUsers = $derived(searchQuery
|
|
|
54
64
|
: activeUsers);
|
|
55
65
|
// Preselect "target" when available and user has permission to preserve
|
|
56
66
|
$effect(() => {
|
|
57
|
-
if (selected === undefined &&
|
|
67
|
+
if (selected === undefined && targetValue && canPreserve) {
|
|
58
68
|
onSelect('target');
|
|
59
69
|
}
|
|
60
70
|
});
|
|
@@ -64,36 +74,34 @@ function openModal() {
|
|
|
64
74
|
modalOpen = true;
|
|
65
75
|
}
|
|
66
76
|
function selectUser(user) {
|
|
67
|
-
onSelect('custom', user.email, user.username);
|
|
77
|
+
onSelect('custom', { email: user.email, permissionedAs: `u/${user.username}` });
|
|
68
78
|
modalOpen = false;
|
|
69
79
|
}
|
|
70
80
|
let selectedDisplayName = $derived.by(() => {
|
|
71
81
|
if (selected === 'target')
|
|
72
|
-
return
|
|
82
|
+
return targetDisplayName;
|
|
73
83
|
if (selected === 'me')
|
|
74
|
-
return
|
|
84
|
+
return myDisplayName;
|
|
75
85
|
if (selected === 'custom')
|
|
76
|
-
return
|
|
86
|
+
return customDisplayName;
|
|
77
87
|
return undefined;
|
|
78
88
|
});
|
|
79
89
|
</script>
|
|
80
90
|
|
|
81
91
|
<MeltPopover placement="bottom" on:openChange={(e) => e.detail && loadUsers()}>
|
|
82
92
|
{#snippet trigger()}
|
|
83
|
-
|
|
84
|
-
<
|
|
85
|
-
|
|
86
|
-
{
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
</span>
|
|
90
|
-
|
|
93
|
+
<span class="inline-flex items-center gap-1">
|
|
94
|
+
<UserCog class="w-4 h-4 {selected ? 'text-green-500' : 'text-yellow-500'}" />
|
|
95
|
+
{#if selectedDisplayName}
|
|
96
|
+
<span class="text-xs truncate max-w-24">{selectedDisplayName}</span>
|
|
97
|
+
{/if}
|
|
98
|
+
</span>
|
|
91
99
|
{/snippet}
|
|
92
100
|
{#snippet content({ close: closePopover })}
|
|
93
|
-
<div
|
|
101
|
+
<div class="p-3 flex flex-col gap-2 min-w-48">
|
|
94
102
|
<div class="text-xs font-medium text-secondary mb-1">{label}</div>
|
|
95
103
|
<!-- Target option -->
|
|
96
|
-
{#if
|
|
104
|
+
{#if targetValue}
|
|
97
105
|
<button
|
|
98
106
|
class="flex items-center gap-2 px-2 py-1.5 rounded text-left text-xs hover:bg-surface-hover {!canPreserve
|
|
99
107
|
? 'opacity-50 cursor-not-allowed'
|
|
@@ -102,7 +110,7 @@ let selectedDisplayName = $derived.by(() => {
|
|
|
102
110
|
onclick={() => onSelect('target')}
|
|
103
111
|
>
|
|
104
112
|
<Check class="w-3 h-3 {selected === 'target' ? 'opacity-100' : 'opacity-0'}" />
|
|
105
|
-
<span class="truncate max-w-40">{
|
|
113
|
+
<span class="truncate max-w-40">{targetDisplayName}</span>
|
|
106
114
|
<span class="text-xs text-tertiary">{isDeployment ? '(target)' : '(current)'}</span>
|
|
107
115
|
</button>
|
|
108
116
|
{/if}
|
|
@@ -112,7 +120,7 @@ let selectedDisplayName = $derived.by(() => {
|
|
|
112
120
|
onclick={() => onSelect('me')}
|
|
113
121
|
>
|
|
114
122
|
<Check class="w-3 h-3 {selected === 'me' ? 'opacity-100' : 'opacity-0'}" />
|
|
115
|
-
<span class="truncate max-w-40">{
|
|
123
|
+
<span class="truncate max-w-40">{myDisplayName}</span>
|
|
116
124
|
<span class="text-xs text-tertiary">(me)</span>
|
|
117
125
|
</button>
|
|
118
126
|
<!-- Custom / Pick from workspace -->
|
|
@@ -126,9 +134,9 @@ let selectedDisplayName = $derived.by(() => {
|
|
|
126
134
|
openModal()
|
|
127
135
|
}}
|
|
128
136
|
>
|
|
129
|
-
{#if selected === 'custom' &&
|
|
137
|
+
{#if selected === 'custom' && customDisplayName}
|
|
130
138
|
<Check class="w-3 h-3 opacity-100" />
|
|
131
|
-
<span class="truncate max-w-40">{
|
|
139
|
+
<span class="truncate max-w-40">{customDisplayName}</span>
|
|
132
140
|
<span class="text-xs text-tertiary">(custom)</span>
|
|
133
141
|
{:else}
|
|
134
142
|
<Check class="w-3 h-3 opacity-0" />
|
|
@@ -144,11 +152,15 @@ let selectedDisplayName = $derived.by(() => {
|
|
|
144
152
|
<Modal title="Select a user" bind:open={modalOpen} kind="X">
|
|
145
153
|
<div class="flex flex-col gap-4">
|
|
146
154
|
<div class="text-xs text-secondary">
|
|
147
|
-
{#if
|
|
148
|
-
Choose the user this trigger will be
|
|
155
|
+
{#if isTrigger}
|
|
156
|
+
Choose the user this trigger will be permissioned as {isDeployment
|
|
157
|
+
? 'in the target workspace'
|
|
158
|
+
: 'in this workspace'}. The selected user's permissions will be used when the trigger
|
|
159
|
+
fires.
|
|
149
160
|
{:else}
|
|
150
|
-
Choose the user this {kind} will run on behalf of {isDeployment
|
|
151
|
-
|
|
161
|
+
Choose the user this {kind} will run on behalf of {isDeployment
|
|
162
|
+
? 'in the target workspace'
|
|
163
|
+
: 'in this workspace'}. The selected user's permissions will be used when executing.
|
|
152
164
|
{/if}
|
|
153
165
|
<a
|
|
154
166
|
href="https://www.windmill.dev/docs/core_concepts/roles_and_permissions"
|
|
@@ -170,10 +182,10 @@ let selectedDisplayName = $derived.by(() => {
|
|
|
170
182
|
onclick={() => selectUser(user)}
|
|
171
183
|
>
|
|
172
184
|
<div class="flex flex-col min-w-0">
|
|
173
|
-
<span class="font-medium truncate">{user.username}</span>
|
|
185
|
+
<span class="font-medium truncate">u/{user.username}</span>
|
|
174
186
|
<span class="text-xs text-tertiary truncate">{user.email}</span>
|
|
175
187
|
</div>
|
|
176
|
-
{#if
|
|
188
|
+
{#if selected === 'custom' && (customValue === `u/${user.username}` || customValue === user.email)}
|
|
177
189
|
<Check class="w-4 h-4 text-green-500 ml-auto flex-shrink-0" />
|
|
178
190
|
{/if}
|
|
179
191
|
</button>
|