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
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
<script lang="ts">import { Button, Skeleton } from '../common';
|
|
2
|
+
import ConfirmationModal from '../common/confirmationModal/ConfirmationModal.svelte';
|
|
3
|
+
import DataTable from '../table/DataTable.svelte';
|
|
4
|
+
import Head from '../table/Head.svelte';
|
|
5
|
+
import Cell from '../table/Cell.svelte';
|
|
6
|
+
import Row from '../table/Row.svelte';
|
|
7
|
+
import { workspaceStore } from '../../stores';
|
|
8
|
+
import { sendUserToast } from '../../toast';
|
|
9
|
+
import { TrashService } from '../../services/trashService';
|
|
10
|
+
import { Trash2, RotateCcw, FileCode2, GitFork, AppWindow, Clock, Variable, Database, Zap, RefreshCw } from 'lucide-svelte';
|
|
11
|
+
import { untrack } from 'svelte';
|
|
12
|
+
let items = $state(undefined);
|
|
13
|
+
let deleteConfirmedCallback = $state(undefined);
|
|
14
|
+
let deleteOpen = $derived(Boolean(deleteConfirmedCallback));
|
|
15
|
+
let emptyConfirmOpen = $state(false);
|
|
16
|
+
function getKindIcon(kind) {
|
|
17
|
+
if (kind === 'script')
|
|
18
|
+
return FileCode2;
|
|
19
|
+
if (kind === 'flow')
|
|
20
|
+
return GitFork;
|
|
21
|
+
if (kind === 'app')
|
|
22
|
+
return AppWindow;
|
|
23
|
+
if (kind === 'schedule')
|
|
24
|
+
return Clock;
|
|
25
|
+
if (kind === 'variable')
|
|
26
|
+
return Variable;
|
|
27
|
+
if (kind === 'resource')
|
|
28
|
+
return Database;
|
|
29
|
+
if (kind.endsWith('_trigger'))
|
|
30
|
+
return Zap;
|
|
31
|
+
return Trash2;
|
|
32
|
+
}
|
|
33
|
+
function getKindLabel(kind) {
|
|
34
|
+
if (kind === 'script')
|
|
35
|
+
return 'Script';
|
|
36
|
+
if (kind === 'flow')
|
|
37
|
+
return 'Flow';
|
|
38
|
+
if (kind === 'app')
|
|
39
|
+
return 'App';
|
|
40
|
+
if (kind === 'schedule')
|
|
41
|
+
return 'Schedule';
|
|
42
|
+
if (kind === 'variable')
|
|
43
|
+
return 'Variable';
|
|
44
|
+
if (kind === 'resource')
|
|
45
|
+
return 'Resource';
|
|
46
|
+
if (kind.endsWith('_trigger')) {
|
|
47
|
+
return (kind
|
|
48
|
+
.replace('_trigger', '')
|
|
49
|
+
.replace(/_/g, ' ')
|
|
50
|
+
.replace(/\b\w/g, (c) => c.toUpperCase()) + ' Trigger');
|
|
51
|
+
}
|
|
52
|
+
return kind;
|
|
53
|
+
}
|
|
54
|
+
function timeAgo(dateStr) {
|
|
55
|
+
const now = new Date();
|
|
56
|
+
const date = new Date(dateStr);
|
|
57
|
+
const diffMs = now.getTime() - date.getTime();
|
|
58
|
+
const diffMins = Math.floor(diffMs / 60000);
|
|
59
|
+
if (diffMins < 1)
|
|
60
|
+
return 'just now';
|
|
61
|
+
if (diffMins < 60)
|
|
62
|
+
return `${diffMins}m ago`;
|
|
63
|
+
const diffHours = Math.floor(diffMins / 60);
|
|
64
|
+
if (diffHours < 24)
|
|
65
|
+
return `${diffHours}h ago`;
|
|
66
|
+
const diffDays = Math.floor(diffHours / 24);
|
|
67
|
+
return `${diffDays}d ago`;
|
|
68
|
+
}
|
|
69
|
+
function timeRemaining(dateStr) {
|
|
70
|
+
const now = new Date();
|
|
71
|
+
const expires = new Date(dateStr);
|
|
72
|
+
const diffMs = expires.getTime() - now.getTime();
|
|
73
|
+
if (diffMs <= 0)
|
|
74
|
+
return 'expired';
|
|
75
|
+
const diffHours = Math.floor(diffMs / 3600000);
|
|
76
|
+
if (diffHours < 1)
|
|
77
|
+
return '< 1h remaining';
|
|
78
|
+
if (diffHours < 24)
|
|
79
|
+
return `${diffHours}h remaining`;
|
|
80
|
+
const diffDays = Math.floor(diffHours / 24);
|
|
81
|
+
const remainingHours = diffHours % 24;
|
|
82
|
+
if (remainingHours === 0)
|
|
83
|
+
return `${diffDays}d remaining`;
|
|
84
|
+
return `${diffDays}d ${remainingHours}h remaining`;
|
|
85
|
+
}
|
|
86
|
+
async function loadItems() {
|
|
87
|
+
items = await TrashService.listTrash({
|
|
88
|
+
workspace: $workspaceStore
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
async function restoreItem(item) {
|
|
92
|
+
try {
|
|
93
|
+
await TrashService.restoreTrashItem({
|
|
94
|
+
workspace: $workspaceStore,
|
|
95
|
+
id: item.id
|
|
96
|
+
});
|
|
97
|
+
sendUserToast(`Restored ${getKindLabel(item.item_kind)} '${item.item_path}'`);
|
|
98
|
+
loadItems();
|
|
99
|
+
}
|
|
100
|
+
catch (e) {
|
|
101
|
+
sendUserToast(`Failed to restore: ${e}`, true);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
async function permanentlyDelete(item) {
|
|
105
|
+
try {
|
|
106
|
+
await TrashService.permanentlyDeleteTrashItem({
|
|
107
|
+
workspace: $workspaceStore,
|
|
108
|
+
id: item.id
|
|
109
|
+
});
|
|
110
|
+
sendUserToast(`Permanently deleted '${item.item_path}'`);
|
|
111
|
+
loadItems();
|
|
112
|
+
}
|
|
113
|
+
catch (e) {
|
|
114
|
+
sendUserToast(`Failed to delete: ${e}`, true);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
async function emptyAll() {
|
|
118
|
+
try {
|
|
119
|
+
const result = await TrashService.emptyTrash({ workspace: $workspaceStore });
|
|
120
|
+
sendUserToast(result);
|
|
121
|
+
loadItems();
|
|
122
|
+
}
|
|
123
|
+
catch (e) {
|
|
124
|
+
sendUserToast(`Failed to empty trash: ${e}`, true);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
$effect(() => {
|
|
128
|
+
$workspaceStore;
|
|
129
|
+
untrack(() => loadItems());
|
|
130
|
+
});
|
|
131
|
+
</script>
|
|
132
|
+
|
|
133
|
+
<div class="flex justify-end mb-4 gap-2">
|
|
134
|
+
<Button startIcon={{ icon: RefreshCw }} variant="default" size="xs" onclick={loadItems}>
|
|
135
|
+
Refresh
|
|
136
|
+
</Button>
|
|
137
|
+
<Button
|
|
138
|
+
startIcon={{ icon: Trash2 }}
|
|
139
|
+
variant="default"
|
|
140
|
+
size="xs"
|
|
141
|
+
onclick={() => {
|
|
142
|
+
emptyConfirmOpen = true
|
|
143
|
+
}}
|
|
144
|
+
disabled={!items || items.length === 0}
|
|
145
|
+
>
|
|
146
|
+
Empty Trashbin
|
|
147
|
+
</Button>
|
|
148
|
+
</div>
|
|
149
|
+
|
|
150
|
+
{#if items === undefined}
|
|
151
|
+
<Skeleton layout={[20, 8, 8, 8]} />
|
|
152
|
+
{:else if items.length === 0}
|
|
153
|
+
<div class="flex flex-col items-center justify-center py-12 text-tertiary">
|
|
154
|
+
<Trash2 size={40} class="mb-3 opacity-50" />
|
|
155
|
+
<p class="text-base">Trashbin is empty</p>
|
|
156
|
+
<p class="text-sm mt-1">No recently deleted items.</p>
|
|
157
|
+
</div>
|
|
158
|
+
{:else}
|
|
159
|
+
<DataTable size="sm">
|
|
160
|
+
<Head>
|
|
161
|
+
<tr>
|
|
162
|
+
<Cell head first>Type</Cell>
|
|
163
|
+
<Cell head>Path</Cell>
|
|
164
|
+
<Cell head>Deleted by</Cell>
|
|
165
|
+
<Cell head>Deleted</Cell>
|
|
166
|
+
<Cell head>Expires</Cell>
|
|
167
|
+
<Cell head last>Actions</Cell>
|
|
168
|
+
</tr>
|
|
169
|
+
</Head>
|
|
170
|
+
{#each items as item (item.id)}
|
|
171
|
+
{@const Icon = getKindIcon(item.item_kind)}
|
|
172
|
+
<Row>
|
|
173
|
+
<Cell first>
|
|
174
|
+
<div class="flex items-center gap-2">
|
|
175
|
+
<Icon size={14} />
|
|
176
|
+
<span class="text-xs">{getKindLabel(item.item_kind)}</span>
|
|
177
|
+
</div>
|
|
178
|
+
</Cell>
|
|
179
|
+
<Cell>
|
|
180
|
+
<span class="font-mono text-xs">{item.item_path}</span>
|
|
181
|
+
</Cell>
|
|
182
|
+
<Cell>
|
|
183
|
+
<span class="text-xs">{item.deleted_by}</span>
|
|
184
|
+
</Cell>
|
|
185
|
+
<Cell>
|
|
186
|
+
<span class="text-xs text-tertiary">{timeAgo(item.deleted_at)}</span>
|
|
187
|
+
</Cell>
|
|
188
|
+
<Cell>
|
|
189
|
+
<span class="text-xs text-tertiary">{timeRemaining(item.expires_at)}</span>
|
|
190
|
+
</Cell>
|
|
191
|
+
<Cell last>
|
|
192
|
+
<div class="flex gap-1">
|
|
193
|
+
<Button
|
|
194
|
+
startIcon={{ icon: RotateCcw }}
|
|
195
|
+
variant="default"
|
|
196
|
+
size="xs2"
|
|
197
|
+
onclick={() => restoreItem(item)}
|
|
198
|
+
>
|
|
199
|
+
Restore
|
|
200
|
+
</Button>
|
|
201
|
+
<Button
|
|
202
|
+
startIcon={{ icon: Trash2 }}
|
|
203
|
+
variant="default"
|
|
204
|
+
size="xs2"
|
|
205
|
+
onclick={() => {
|
|
206
|
+
deleteConfirmedCallback = () => permanentlyDelete(item)
|
|
207
|
+
}}
|
|
208
|
+
>
|
|
209
|
+
Delete
|
|
210
|
+
</Button>
|
|
211
|
+
</div>
|
|
212
|
+
</Cell>
|
|
213
|
+
</Row>
|
|
214
|
+
{/each}
|
|
215
|
+
</DataTable>
|
|
216
|
+
{/if}
|
|
217
|
+
|
|
218
|
+
<ConfirmationModal
|
|
219
|
+
open={deleteOpen}
|
|
220
|
+
title="Permanently delete"
|
|
221
|
+
confirmationText="Delete forever"
|
|
222
|
+
onCanceled={() => {
|
|
223
|
+
deleteConfirmedCallback = undefined
|
|
224
|
+
}}
|
|
225
|
+
onConfirmed={() => {
|
|
226
|
+
if (deleteConfirmedCallback) {
|
|
227
|
+
deleteConfirmedCallback()
|
|
228
|
+
}
|
|
229
|
+
deleteConfirmedCallback = undefined
|
|
230
|
+
}}
|
|
231
|
+
>
|
|
232
|
+
<p>This item will be permanently deleted. This action cannot be undone.</p>
|
|
233
|
+
</ConfirmationModal>
|
|
234
|
+
|
|
235
|
+
<ConfirmationModal
|
|
236
|
+
open={emptyConfirmOpen}
|
|
237
|
+
title="Empty trashbin"
|
|
238
|
+
confirmationText="Empty trashbin"
|
|
239
|
+
onCanceled={() => {
|
|
240
|
+
emptyConfirmOpen = false
|
|
241
|
+
}}
|
|
242
|
+
onConfirmed={() => {
|
|
243
|
+
emptyAll()
|
|
244
|
+
emptyConfirmOpen = false
|
|
245
|
+
}}
|
|
246
|
+
>
|
|
247
|
+
<p>All items in the trashbin will be permanently deleted. This action cannot be undone.</p>
|
|
248
|
+
</ConfirmationModal>
|
|
@@ -1,17 +1,27 @@
|
|
|
1
1
|
<script lang="ts">import { run } from 'svelte/legacy';
|
|
2
2
|
import { enterpriseLicense, userStore, workspaceStore, awarenessStore } from '../../stores';
|
|
3
|
-
import { BROWSER } from 'esm-env';
|
|
4
3
|
import { WebsocketProvider } from 'y-websocket';
|
|
5
4
|
import * as Y from 'yjs';
|
|
6
5
|
import { page } from '$app/stores';
|
|
7
6
|
import { slide } from 'svelte/transition';
|
|
8
|
-
|
|
7
|
+
import { buildWsUrl } from '../../wsUrl';
|
|
8
|
+
import { signMultiplayerRequest } from '../debug';
|
|
9
9
|
let awareness = $state(undefined);
|
|
10
10
|
let wsProvider = undefined;
|
|
11
11
|
let connected = $state(false);
|
|
12
|
-
function connectWorkspace(workspace) {
|
|
12
|
+
async function connectWorkspace(workspace) {
|
|
13
|
+
let token;
|
|
14
|
+
try {
|
|
15
|
+
token = await signMultiplayerRequest(workspace);
|
|
16
|
+
}
|
|
17
|
+
catch (e) {
|
|
18
|
+
console.error('Failed to sign multiplayer request:', e);
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
13
21
|
const ydoc = new Y.Doc();
|
|
14
|
-
wsProvider = new WebsocketProvider(
|
|
22
|
+
wsProvider = new WebsocketProvider(buildWsUrl('/ws_mp/'), workspace, ydoc, {
|
|
23
|
+
params: { token }
|
|
24
|
+
});
|
|
15
25
|
wsProvider.on('sync', (isSynced) => {
|
|
16
26
|
connected = true;
|
|
17
27
|
});
|
|
@@ -12,6 +12,7 @@ let confirmationModalOpen = $state(false);
|
|
|
12
12
|
title={`Are you sure you want to delete this ${trigger?.isDraft ? 'draft' : 'deployed'} trigger ?`}
|
|
13
13
|
confirmationText="Delete"
|
|
14
14
|
open={confirmationModalOpen}
|
|
15
|
+
trashbin
|
|
15
16
|
on:canceled={() => {
|
|
16
17
|
confirmationModalOpen = false
|
|
17
18
|
}}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<script lang="ts">import OnBehalfOfSelector, {} from '../OnBehalfOfSelector.svelte';
|
|
2
|
+
import { userStore, workspaceStore } from '../../stores';
|
|
3
|
+
import { AlertTriangle } from 'lucide-svelte';
|
|
4
|
+
let { permissionedAs, onPermissionedAsChange } = $props();
|
|
5
|
+
const canPreserve = $derived($userStore?.is_admin || ($userStore?.groups ?? []).includes('wm_deployers'));
|
|
6
|
+
const myPermissionedAs = $derived($userStore?.username ? `u/${$userStore.username}` : undefined);
|
|
7
|
+
let onBehalfOfChoice = $state(undefined);
|
|
8
|
+
let customPermissionedAs = $state(undefined);
|
|
9
|
+
const effectivePermissionedAs = $derived.by(() => {
|
|
10
|
+
if (onBehalfOfChoice === 'target')
|
|
11
|
+
return permissionedAs;
|
|
12
|
+
if (onBehalfOfChoice === 'custom' && customPermissionedAs)
|
|
13
|
+
return customPermissionedAs;
|
|
14
|
+
return myPermissionedAs;
|
|
15
|
+
});
|
|
16
|
+
const willChange = $derived(permissionedAs !== undefined &&
|
|
17
|
+
effectivePermissionedAs !== undefined &&
|
|
18
|
+
permissionedAs !== effectivePermissionedAs);
|
|
19
|
+
function handleSelect(choice, details) {
|
|
20
|
+
onBehalfOfChoice = choice;
|
|
21
|
+
if (choice === 'target') {
|
|
22
|
+
customPermissionedAs = undefined;
|
|
23
|
+
onPermissionedAsChange(permissionedAs, true);
|
|
24
|
+
}
|
|
25
|
+
else if (choice === 'custom' && details) {
|
|
26
|
+
customPermissionedAs = details.permissionedAs;
|
|
27
|
+
onPermissionedAsChange(details.permissionedAs, true);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
customPermissionedAs = undefined;
|
|
31
|
+
onPermissionedAsChange(undefined, false);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
</script>
|
|
35
|
+
|
|
36
|
+
{#if permissionedAs && $workspaceStore}
|
|
37
|
+
<div class="flex items-center gap-1.5 text-2xs text-tertiary mb-4">
|
|
38
|
+
<span>Permissioned as</span>
|
|
39
|
+
{#if canPreserve}
|
|
40
|
+
<OnBehalfOfSelector
|
|
41
|
+
targetWorkspace={$workspaceStore}
|
|
42
|
+
targetValue={permissionedAs}
|
|
43
|
+
selected={onBehalfOfChoice}
|
|
44
|
+
onSelect={handleSelect}
|
|
45
|
+
kind="trigger"
|
|
46
|
+
{canPreserve}
|
|
47
|
+
customValue={customPermissionedAs}
|
|
48
|
+
isDeployment={false}
|
|
49
|
+
/>
|
|
50
|
+
{#if willChange}
|
|
51
|
+
<AlertTriangle class="w-3.5 h-3.5 text-yellow-500" />
|
|
52
|
+
<span class="text-yellow-600 dark:text-yellow-400"
|
|
53
|
+
>will change from <strong>{permissionedAs}</strong> on save</span
|
|
54
|
+
>
|
|
55
|
+
{/if}
|
|
56
|
+
{:else}
|
|
57
|
+
<strong class="text-secondary">{permissionedAs}</strong>
|
|
58
|
+
{#if willChange}
|
|
59
|
+
<AlertTriangle class="w-3.5 h-3.5 text-yellow-500" />
|
|
60
|
+
<span class="text-yellow-600 dark:text-yellow-400"
|
|
61
|
+
>will change to <strong>{effectivePermissionedAs}</strong> on save</span
|
|
62
|
+
>
|
|
63
|
+
{/if}
|
|
64
|
+
{/if}
|
|
65
|
+
</div>
|
|
66
|
+
{/if}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
/** Current permissioned_as value from the trigger (e.g., 'u/admin') */
|
|
3
|
+
permissionedAs: string | undefined;
|
|
4
|
+
/** Callback when user changes the permissioned_as selection */
|
|
5
|
+
onPermissionedAsChange: (permissionedAs: string | undefined, preserve: boolean) => void;
|
|
6
|
+
}
|
|
7
|
+
declare const PermissionedAsLine: import("svelte").Component<Props, {}, "">;
|
|
8
|
+
type PermissionedAsLine = ReturnType<typeof PermissionedAsLine>;
|
|
9
|
+
export default PermissionedAsLine;
|
|
@@ -77,7 +77,7 @@ const canSave = $derived((permissions === 'write' && edit) || permissions === 'c
|
|
|
77
77
|
{trigger?.isDraft ? 'Deploy' : 'Update'}
|
|
78
78
|
</Button>
|
|
79
79
|
{#snippet text()}
|
|
80
|
-
|
|
80
|
+
<span>
|
|
81
81
|
{#if !isDeployed}
|
|
82
82
|
Deploy the runnable to enable trigger creation
|
|
83
83
|
{:else if cloudDisabled}
|
|
@@ -86,7 +86,7 @@ const canSave = $derived((permissions === 'write' && edit) || permissions === 'c
|
|
|
86
86
|
Enter a valid config to {trigger?.isDraft ? 'deploy' : 'update'} the trigger
|
|
87
87
|
{/if}
|
|
88
88
|
</span>
|
|
89
|
-
|
|
89
|
+
{/snippet}
|
|
90
90
|
</Tooltip>
|
|
91
91
|
{/if}
|
|
92
92
|
</div>
|
|
@@ -9,9 +9,9 @@ let { isFlow, path, labelPrefix } = $props();
|
|
|
9
9
|
const { triggersCount } = getContext('TriggerContext');
|
|
10
10
|
let tokens = $state(undefined);
|
|
11
11
|
export async function listTokens() {
|
|
12
|
-
tokens =
|
|
12
|
+
tokens = isFlow
|
|
13
13
|
? await FlowService.listTokensOfFlow({ workspace: $workspaceStore, path })
|
|
14
|
-
: await ScriptService.listTokensOfScript({ workspace: $workspaceStore, path })
|
|
14
|
+
: await ScriptService.listTokensOfScript({ workspace: $workspaceStore, path });
|
|
15
15
|
if (labelPrefix == 'email') {
|
|
16
16
|
$triggersCount = { ...($triggersCount ?? {}), default_email_count: tokens?.length };
|
|
17
17
|
}
|
|
@@ -34,7 +34,7 @@ run(() => {
|
|
|
34
34
|
<Label label="Existing {capitalize(labelPrefix)} Tokens">
|
|
35
35
|
{#if tokens}
|
|
36
36
|
{#if tokens.length == 0}
|
|
37
|
-
<div class="text-xs text-secondary">No
|
|
37
|
+
<div class="text-xs text-secondary">No tokens with matching scopes found</div>
|
|
38
38
|
{:else}
|
|
39
39
|
<div class="flex flex-col divide-y pt-2">
|
|
40
40
|
<div class="grid grid-cols-6 text-2xs items-center py-2">
|
|
@@ -12,6 +12,7 @@ import { Loader2 } from 'lucide-svelte';
|
|
|
12
12
|
import Label from '../../Label.svelte';
|
|
13
13
|
import EmailTriggerEditorConfigSection from './EmailTriggerEditorConfigSection.svelte';
|
|
14
14
|
import TriggerEditorToolbar from '../TriggerEditorToolbar.svelte';
|
|
15
|
+
import PermissionedAsLine from '../PermissionedAsLine.svelte';
|
|
15
16
|
import { getHandlerType, handleConfigChange } from '../utils';
|
|
16
17
|
import { untrack } from 'svelte';
|
|
17
18
|
import Tabs from '../../common/tabs/Tabs.svelte';
|
|
@@ -50,6 +51,9 @@ let mode = $state('enabled');
|
|
|
50
51
|
let drawer = $state(undefined);
|
|
51
52
|
let initialConfig = undefined;
|
|
52
53
|
let deploymentLoading = $state(false);
|
|
54
|
+
let permissionedAs = $state(undefined);
|
|
55
|
+
let selectedPermissionedAs = $state(undefined);
|
|
56
|
+
let preservePermissionedAs = $state(false);
|
|
53
57
|
let optionTabSelected = $state('error_handler');
|
|
54
58
|
let errorHandlerSelected = $state('slack');
|
|
55
59
|
let suspendedJobsModal = $state(null);
|
|
@@ -142,6 +146,9 @@ function loadTriggerConfig(cfg) {
|
|
|
142
146
|
retry = cfg?.retry;
|
|
143
147
|
errorHandlerSelected = getHandlerType(error_handler_path ?? '');
|
|
144
148
|
mode = cfg?.mode ?? 'enabled';
|
|
149
|
+
permissionedAs = cfg?.permissioned_as;
|
|
150
|
+
selectedPermissionedAs = undefined;
|
|
151
|
+
preservePermissionedAs = false;
|
|
145
152
|
}
|
|
146
153
|
async function loadTrigger(defaultConfig) {
|
|
147
154
|
if (defaultConfig) {
|
|
@@ -188,7 +195,9 @@ function getEmailTriggerConfig() {
|
|
|
188
195
|
error_handler_path,
|
|
189
196
|
error_handler_args,
|
|
190
197
|
retry,
|
|
191
|
-
mode
|
|
198
|
+
mode,
|
|
199
|
+
permissioned_as: selectedPermissionedAs,
|
|
200
|
+
preserve_permissioned_as: preservePermissionedAs || undefined
|
|
192
201
|
};
|
|
193
202
|
return nCfg;
|
|
194
203
|
}
|
|
@@ -250,6 +259,15 @@ $effect(() => {
|
|
|
250
259
|
<Loader2 class="animate-spin" />
|
|
251
260
|
{/if}
|
|
252
261
|
{:else}
|
|
262
|
+
{#if edit}
|
|
263
|
+
<PermissionedAsLine
|
|
264
|
+
{permissionedAs}
|
|
265
|
+
onPermissionedAsChange={(pa, preserve) => {
|
|
266
|
+
selectedPermissionedAs = pa
|
|
267
|
+
preservePermissionedAs = preserve
|
|
268
|
+
}}
|
|
269
|
+
/>
|
|
270
|
+
{/if}
|
|
253
271
|
<div class="flex flex-col gap-12">
|
|
254
272
|
{#if mode === 'suspended'}
|
|
255
273
|
<TriggerSuspendedJobsAlert {suspendedJobsModal} />
|
|
@@ -15,7 +15,9 @@ export async function saveEmailTriggerFromCfg(initialPath, emailCfg, edit, works
|
|
|
15
15
|
error_handler_path: emailCfg.error_handler_path,
|
|
16
16
|
error_handler_args: emailCfg.error_handler_path ? emailCfg.error_handler_args : undefined,
|
|
17
17
|
mode: emailCfg.mode,
|
|
18
|
-
retry: emailCfg.retry
|
|
18
|
+
retry: emailCfg.retry,
|
|
19
|
+
permissioned_as: emailCfg.permissioned_as,
|
|
20
|
+
preserve_permissioned_as: emailCfg.preserve_permissioned_as
|
|
19
21
|
};
|
|
20
22
|
try {
|
|
21
23
|
if (edit) {
|
|
@@ -13,6 +13,7 @@ import Required from '../../Required.svelte';
|
|
|
13
13
|
import GcpTriggerEditorConfigSection from './GcpTriggerEditorConfigSection.svelte';
|
|
14
14
|
import { untrack } from 'svelte';
|
|
15
15
|
import TriggerEditorToolbar from '../TriggerEditorToolbar.svelte';
|
|
16
|
+
import PermissionedAsLine from '../PermissionedAsLine.svelte';
|
|
16
17
|
import { saveGcpTriggerFromCfg } from './utils';
|
|
17
18
|
import { getHandlerType, handleConfigChange } from '../utils';
|
|
18
19
|
import { deepEqual } from 'fast-equals';
|
|
@@ -47,6 +48,9 @@ let delivery_config = $state(undefined);
|
|
|
47
48
|
let subscription_mode = $state('create_update');
|
|
48
49
|
let initialConfig = undefined;
|
|
49
50
|
let deploymentLoading = $state(false);
|
|
51
|
+
let permissionedAs = $state(undefined);
|
|
52
|
+
let selectedPermissionedAs = $state(undefined);
|
|
53
|
+
let preservePermissionedAs = $state(false);
|
|
50
54
|
let base_endpoint = $derived(`${window.location.origin}${base}`);
|
|
51
55
|
let auto_acknowledge_msg = $state(true);
|
|
52
56
|
let ack_deadline = $state();
|
|
@@ -150,6 +154,9 @@ async function loadTriggerConfig(cfg) {
|
|
|
150
154
|
auto_acknowledge_msg = cfg?.auto_acknowledge_msg ?? true;
|
|
151
155
|
ack_deadline = cfg?.ack_deadline;
|
|
152
156
|
errorHandlerSelected = getHandlerType(error_handler_path ?? '');
|
|
157
|
+
permissionedAs = cfg?.permissioned_as;
|
|
158
|
+
selectedPermissionedAs = undefined;
|
|
159
|
+
preservePermissionedAs = false;
|
|
153
160
|
}
|
|
154
161
|
async function updateTrigger() {
|
|
155
162
|
deploymentLoading = true;
|
|
@@ -186,7 +193,9 @@ function getGcpConfig() {
|
|
|
186
193
|
error_handler_args,
|
|
187
194
|
retry,
|
|
188
195
|
auto_acknowledge_msg,
|
|
189
|
-
ack_deadline
|
|
196
|
+
ack_deadline,
|
|
197
|
+
permissioned_as: selectedPermissionedAs,
|
|
198
|
+
preserve_permissioned_as: preservePermissionedAs || undefined
|
|
190
199
|
};
|
|
191
200
|
}
|
|
192
201
|
function getGcpCaptureConfig() {
|
|
@@ -304,6 +313,15 @@ $effect(() => {
|
|
|
304
313
|
<p>Loading...</p>
|
|
305
314
|
</div>
|
|
306
315
|
{:else}
|
|
316
|
+
{#if edit}
|
|
317
|
+
<PermissionedAsLine
|
|
318
|
+
{permissionedAs}
|
|
319
|
+
onPermissionedAsChange={(pa, preserve) => {
|
|
320
|
+
selectedPermissionedAs = pa
|
|
321
|
+
preservePermissionedAs = preserve
|
|
322
|
+
}}
|
|
323
|
+
/>
|
|
324
|
+
{/if}
|
|
307
325
|
<div class="flex flex-col gap-5">
|
|
308
326
|
{#if mode === 'suspended'}
|
|
309
327
|
<TriggerSuspendedJobsAlert {suspendedJobsModal} />
|
|
@@ -389,9 +407,11 @@ $effect(() => {
|
|
|
389
407
|
|
|
390
408
|
<Section label="Advanced" collapsable>
|
|
391
409
|
{#snippet header()}
|
|
392
|
-
<TriggerAdvancedBadges
|
|
393
|
-
{
|
|
394
|
-
|
|
410
|
+
<TriggerAdvancedBadges
|
|
411
|
+
{error_handler_path}
|
|
412
|
+
{retry}
|
|
413
|
+
extraBadges={[{ name: 'Manual Ack', active: !auto_acknowledge_msg }]}
|
|
414
|
+
/>
|
|
395
415
|
{/snippet}
|
|
396
416
|
<div class="flex flex-col gap-6">
|
|
397
417
|
<div class="min-h-96">
|
|
@@ -24,6 +24,8 @@ export async function saveGcpTriggerFromCfg(initialPath, cfg, edit, workspace, u
|
|
|
24
24
|
is_flow: cfg.is_flow,
|
|
25
25
|
auto_acknowledge_msg: cfg.auto_acknowledge_msg,
|
|
26
26
|
ack_deadline: cfg.ack_deadline,
|
|
27
|
+
permissioned_as: cfg.permissioned_as,
|
|
28
|
+
preserve_permissioned_as: cfg.preserve_permissioned_as,
|
|
27
29
|
...errorHandlerAndRetries
|
|
28
30
|
};
|
|
29
31
|
if (edit) {
|
|
@@ -4,7 +4,7 @@ import Section from '../../Section.svelte';
|
|
|
4
4
|
import ToggleButton from '../../common/toggleButton-v2/ToggleButton.svelte';
|
|
5
5
|
import ToggleButtonGroup from '../../common/toggleButton-v2/ToggleButtonGroup.svelte';
|
|
6
6
|
import { userStore, workspaceStore } from '../../../stores';
|
|
7
|
-
import { HttpTriggerService } from '../../../gen';
|
|
7
|
+
import { HttpTriggerService, SettingService } from '../../../gen';
|
|
8
8
|
// import { page } from '$app/state'
|
|
9
9
|
import { getHttpRoute } from './utils';
|
|
10
10
|
import { isCloudHosted } from '../../../cloud';
|
|
@@ -64,6 +64,23 @@ $effect.pre(() => {
|
|
|
64
64
|
});
|
|
65
65
|
let userIsAdmin = $derived($userStore?.is_admin || $userStore?.is_super_admin);
|
|
66
66
|
let userCanEditConfig = $derived(userIsAdmin || isDraftOnly); // User can edit config if they are admin or if the trigger is a draft which will not be saved
|
|
67
|
+
let globalHttpWorkspacedRoute = $state(false);
|
|
68
|
+
async function loadGlobalHttpWorkspacedRouteSetting() {
|
|
69
|
+
try {
|
|
70
|
+
const setting = await SettingService.getGlobal({ key: 'http_route_workspaced_route' });
|
|
71
|
+
globalHttpWorkspacedRoute = setting ?? false;
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
globalHttpWorkspacedRoute = false;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
loadGlobalHttpWorkspacedRouteSetting();
|
|
78
|
+
$effect.pre(() => {
|
|
79
|
+
if (globalHttpWorkspacedRoute && !workspaced_route) {
|
|
80
|
+
workspaced_route = true;
|
|
81
|
+
dirtyRoutePath = true;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
67
84
|
</script>
|
|
68
85
|
|
|
69
86
|
<div>
|
|
@@ -130,13 +147,15 @@ let userCanEditConfig = $derived(userIsAdmin || isDraftOnly); // User can edit c
|
|
|
130
147
|
<Toggle
|
|
131
148
|
size="sm"
|
|
132
149
|
checked={workspaced_route}
|
|
133
|
-
disabled={!can_write || !userCanEditConfig}
|
|
150
|
+
disabled={!can_write || !userCanEditConfig || globalHttpWorkspacedRoute}
|
|
134
151
|
on:change={() => {
|
|
135
152
|
workspaced_route = !workspaced_route
|
|
136
153
|
dirtyRoutePath = true
|
|
137
154
|
}}
|
|
138
155
|
options={{
|
|
139
|
-
right:
|
|
156
|
+
right: globalHttpWorkspacedRoute
|
|
157
|
+
? 'Prefix with workspace (enforced by instance setting)'
|
|
158
|
+
: 'Prefix with workspace',
|
|
140
159
|
rightTooltip:
|
|
141
160
|
'Prefixes the route with the workspace ID (e.g., {base_url}/api/r/{workspace_id}/{route}). Note: deploying the HTTP trigger to another workspace updates the route workspace prefix accordingly.',
|
|
142
161
|
rightDocumentationLink:
|
|
@@ -30,6 +30,7 @@ import { HubFlow } from '../../../hub';
|
|
|
30
30
|
import RouteBodyTransformerOption from './RouteBodyTransformerOption.svelte';
|
|
31
31
|
import TestingBadge from '../testingBadge.svelte';
|
|
32
32
|
import TriggerEditorToolbar from '../TriggerEditorToolbar.svelte';
|
|
33
|
+
import PermissionedAsLine from '../PermissionedAsLine.svelte';
|
|
33
34
|
import { getHandlerType, handleConfigChange } from '../utils';
|
|
34
35
|
import autosize from '../../../autosize';
|
|
35
36
|
import { untrack } from 'svelte';
|
|
@@ -87,6 +88,9 @@ let variableEditor = $state(undefined);
|
|
|
87
88
|
let drawer = $state(undefined);
|
|
88
89
|
let initialConfig = undefined;
|
|
89
90
|
let deploymentLoading = $state(false);
|
|
91
|
+
let permissionedAs = $state(undefined);
|
|
92
|
+
let selectedPermissionedAs = $state(undefined);
|
|
93
|
+
let preservePermissionedAs = $state(false);
|
|
90
94
|
let optionTabSelected = $state('request_options');
|
|
91
95
|
let errorHandlerSelected = $state('slack');
|
|
92
96
|
let suspendedJobsModal = $state(null);
|
|
@@ -251,6 +255,9 @@ function loadTriggerConfig(cfg) {
|
|
|
251
255
|
error_handler_args = cfg?.error_handler_args ?? {};
|
|
252
256
|
retry = cfg?.retry;
|
|
253
257
|
errorHandlerSelected = getHandlerType(error_handler_path ?? '');
|
|
258
|
+
permissionedAs = cfg?.permissioned_as;
|
|
259
|
+
selectedPermissionedAs = undefined;
|
|
260
|
+
preservePermissionedAs = false;
|
|
254
261
|
}
|
|
255
262
|
async function loadTrigger(defaultConfig) {
|
|
256
263
|
if (defaultConfig) {
|
|
@@ -313,7 +320,9 @@ function getRouteConfig() {
|
|
|
313
320
|
description: routeDescription,
|
|
314
321
|
error_handler_path,
|
|
315
322
|
error_handler_args,
|
|
316
|
-
retry
|
|
323
|
+
retry,
|
|
324
|
+
permissioned_as: selectedPermissionedAs,
|
|
325
|
+
preserve_permissioned_as: preservePermissionedAs || undefined
|
|
317
326
|
};
|
|
318
327
|
return nCfg;
|
|
319
328
|
}
|
|
@@ -400,6 +409,15 @@ $effect(() => {
|
|
|
400
409
|
<Loader2 class="animate-spin" />
|
|
401
410
|
{/if}
|
|
402
411
|
{:else}
|
|
412
|
+
{#if edit}
|
|
413
|
+
<PermissionedAsLine
|
|
414
|
+
{permissionedAs}
|
|
415
|
+
onPermissionedAsChange={(pa, preserve) => {
|
|
416
|
+
selectedPermissionedAs = pa
|
|
417
|
+
preservePermissionedAs = preserve
|
|
418
|
+
}}
|
|
419
|
+
/>
|
|
420
|
+
{/if}
|
|
403
421
|
<div class="flex flex-col gap-8">
|
|
404
422
|
{#if mode === 'suspended'}
|
|
405
423
|
<TriggerSuspendedJobsAlert {suspendedJobsModal} />
|
|
@@ -616,11 +634,15 @@ $effect(() => {
|
|
|
616
634
|
{#if !is_static_website}
|
|
617
635
|
<Section label="Advanced" collapsable>
|
|
618
636
|
{#snippet header()}
|
|
619
|
-
<TriggerAdvancedBadges
|
|
620
|
-
{
|
|
621
|
-
{
|
|
622
|
-
{
|
|
623
|
-
|
|
637
|
+
<TriggerAdvancedBadges
|
|
638
|
+
{error_handler_path}
|
|
639
|
+
{retry}
|
|
640
|
+
extraBadges={[
|
|
641
|
+
{ name: 'Async', active: request_type === 'async' },
|
|
642
|
+
{ name: 'SSE', active: request_type === 'sync_sse' },
|
|
643
|
+
{ name: 'Authentication', active: authentication_method !== 'none' }
|
|
644
|
+
]}
|
|
645
|
+
/>
|
|
624
646
|
{/snippet}
|
|
625
647
|
<div class="min-h-96">
|
|
626
648
|
<Tabs bind:selected={optionTabSelected}>
|