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
|
@@ -15,7 +15,8 @@ import GitHubAppIntegration from './GitHubAppIntegration.svelte';
|
|
|
15
15
|
import BedrockCredentialsCheck from './BedrockCredentialsCheck.svelte';
|
|
16
16
|
import { isCloudHosted } from '../cloud';
|
|
17
17
|
import ResourceGen from './copilot/ResourceGen.svelte';
|
|
18
|
-
|
|
18
|
+
import SyncResourceTypes from './SyncResourceTypes.svelte';
|
|
19
|
+
let { resourceType, resourceTypeInfo, args = $bindable({}), linkedSecrets = $bindable([]), isValid = $bindable(true), linkedSecretCandidates = undefined, description = $bindable(undefined), onSynced = undefined } = $props();
|
|
19
20
|
let schema = $state(emptySchema());
|
|
20
21
|
let notFound = $state(false);
|
|
21
22
|
let supabaseWizard = $state(false);
|
|
@@ -125,7 +126,7 @@ $effect(() => {
|
|
|
125
126
|
/>
|
|
126
127
|
<ResourceGen
|
|
127
128
|
bind:args
|
|
128
|
-
|
|
129
|
+
{resourceType}
|
|
129
130
|
resourceSchema={notFound ? undefined : schema}
|
|
130
131
|
isFileset={resourceTypeInfo?.is_fileset ?? false}
|
|
131
132
|
/>
|
|
@@ -200,6 +201,7 @@ $effect(() => {
|
|
|
200
201
|
>No corresponding resource type found in your workspace for {resourceType}. Define the value in
|
|
201
202
|
JSON directly</p
|
|
202
203
|
>
|
|
204
|
+
<SyncResourceTypes {onSynced} />
|
|
203
205
|
{/if}
|
|
204
206
|
{#if notFound || viewJsonSchema}
|
|
205
207
|
{#if !emptyString(error)}<span class="text-red-400 text-xs mb-1 flex flex-row-reverse"
|
|
@@ -219,9 +221,7 @@ $effect(() => {
|
|
|
219
221
|
{/await}
|
|
220
222
|
</div>
|
|
221
223
|
{:else if resourceTypeInfo?.is_fileset}
|
|
222
|
-
<h5 class="mt-1 inline-flex items-center gap-4">
|
|
223
|
-
Fileset
|
|
224
|
-
</h5>
|
|
224
|
+
<h5 class="mt-1 inline-flex items-center gap-4"> Fileset </h5>
|
|
225
225
|
<FilesetEditor bind:args />
|
|
226
226
|
{:else if resourceTypeInfo?.format_extension}
|
|
227
227
|
<h5 class="mt-4 inline-flex items-center gap-4">
|
|
@@ -246,7 +246,7 @@ $effect(() => {
|
|
|
246
246
|
onlyMaskPassword
|
|
247
247
|
noDelete
|
|
248
248
|
{linkedSecretCandidates}
|
|
249
|
-
bind:
|
|
249
|
+
bind:linkedSecrets
|
|
250
250
|
isValid
|
|
251
251
|
{schema}
|
|
252
252
|
bind:args
|
|
@@ -3,11 +3,12 @@ interface Props {
|
|
|
3
3
|
resourceType: string;
|
|
4
4
|
resourceTypeInfo: ResourceType | undefined;
|
|
5
5
|
args?: Record<string, any> | any;
|
|
6
|
-
|
|
6
|
+
linkedSecrets?: string[];
|
|
7
7
|
isValid?: boolean;
|
|
8
8
|
linkedSecretCandidates?: string[] | undefined;
|
|
9
9
|
description?: string | undefined;
|
|
10
|
+
onSynced?: () => void;
|
|
10
11
|
}
|
|
11
|
-
declare const ApiConnectForm: import("svelte").Component<Props, {}, "description" | "args" | "
|
|
12
|
+
declare const ApiConnectForm: import("svelte").Component<Props, {}, "description" | "args" | "linkedSecrets" | "isValid">;
|
|
12
13
|
type ApiConnectForm = ReturnType<typeof ApiConnectForm>;
|
|
13
14
|
export default ApiConnectForm;
|
|
@@ -4,7 +4,7 @@ import { Button, Drawer } from './common';
|
|
|
4
4
|
import DrawerContent from './common/drawer/DrawerContent.svelte';
|
|
5
5
|
import AppConnectInner from './AppConnectInner.svelte';
|
|
6
6
|
import DarkModeObserver from './DarkModeObserver.svelte';
|
|
7
|
-
let { expressOAuthSetup = false } = $props();
|
|
7
|
+
let { expressOAuthSetup = false, workspace = undefined, disableChatOffset = false } = $props();
|
|
8
8
|
let drawer = $state();
|
|
9
9
|
let resourceType = $state('');
|
|
10
10
|
let step = $state(1);
|
|
@@ -36,6 +36,7 @@ run(() => {
|
|
|
36
36
|
dispatch('close')
|
|
37
37
|
}}
|
|
38
38
|
size="800px"
|
|
39
|
+
{disableChatOffset}
|
|
39
40
|
>
|
|
40
41
|
<DrawerContent
|
|
41
42
|
title="Add a resource"
|
|
@@ -54,6 +55,7 @@ run(() => {
|
|
|
54
55
|
on:close={drawer?.closeDrawer}
|
|
55
56
|
on:refresh
|
|
56
57
|
express={expressOAuthSetup}
|
|
58
|
+
{workspace}
|
|
57
59
|
/>
|
|
58
60
|
{#snippet actions()}
|
|
59
61
|
<div class="flex gap-1">
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
interface Props {
|
|
2
2
|
expressOAuthSetup?: boolean;
|
|
3
|
+
workspace?: string;
|
|
4
|
+
disableChatOffset?: boolean;
|
|
3
5
|
}
|
|
4
6
|
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> {
|
|
5
7
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">import { run } from 'svelte/legacy';
|
|
2
|
-
import {
|
|
2
|
+
import { userStore, workspaceStore } from '../stores';
|
|
3
3
|
import IconedResourceType from './IconedResourceType.svelte';
|
|
4
|
-
import { OauthService, ResourceService, VariableService
|
|
4
|
+
import { OauthService, ResourceService, VariableService } from '../gen';
|
|
5
5
|
import { emptyString, truncateRev, urlize } from '../utils';
|
|
6
6
|
import { createEventDispatcher, onDestroy } from 'svelte';
|
|
7
7
|
import Path from './Path.svelte';
|
|
@@ -21,10 +21,10 @@ import GfmMarkdown from './GfmMarkdown.svelte';
|
|
|
21
21
|
import { apiTokenApps, forceSecretValue, linkedSecretValue } from './app_connect';
|
|
22
22
|
import Tooltip from './Tooltip.svelte';
|
|
23
23
|
import TextInput from './text_input/TextInput.svelte';
|
|
24
|
-
import { usePromise } from '../svelte5Utils.svelte';
|
|
25
|
-
import { pollJobResult } from './jobs/utils';
|
|
26
24
|
import { sameTopDomainOrigin } from '../cookies';
|
|
27
|
-
|
|
25
|
+
import SyncResourceTypes from './SyncResourceTypes.svelte';
|
|
26
|
+
let { step = $bindable(1), resourceType = $bindable(''), isGoogleSignin = $bindable(false), disabled = $bindable(false), manual = $bindable(true), express = false, workspace = undefined } = $props();
|
|
27
|
+
let effectiveWorkspace = $derived(workspace ?? $workspaceStore);
|
|
28
28
|
let isValid = $state(true);
|
|
29
29
|
const nativeLanguagesCategory = [
|
|
30
30
|
'postgresql',
|
|
@@ -48,12 +48,16 @@ function computeCandidates(resourceType, argsKeys, passwords) {
|
|
|
48
48
|
: argsKeys.filter((x) => passwords.includes(x) ||
|
|
49
49
|
['token', 'secret', 'key', 'pass', 'private'].some((y) => x.toLowerCase().includes(y)));
|
|
50
50
|
}
|
|
51
|
-
let
|
|
51
|
+
let linkedSecrets = $state([]);
|
|
52
52
|
let linkedSecretCandidates = $state(undefined);
|
|
53
|
-
function
|
|
53
|
+
function computeDefaultLinkedSecrets(resourceType, argsKeys, passwords) {
|
|
54
54
|
linkedSecretCandidates = computeCandidates(resourceType, argsKeys, passwords);
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
const forced = forceSecretValue(resourceType);
|
|
56
|
+
if (forced) {
|
|
57
|
+
return [forced];
|
|
58
|
+
}
|
|
59
|
+
const best = linkedSecretCandidates?.sort((ua, ub) => linkedSecretValue(ub) - linkedSecretValue(ua))?.[0];
|
|
60
|
+
return best ? [best] : [];
|
|
57
61
|
}
|
|
58
62
|
let scopes = $state([]);
|
|
59
63
|
let extra_params = [];
|
|
@@ -80,6 +84,7 @@ let clientId = $state('');
|
|
|
80
84
|
let clientSecret = $state('');
|
|
81
85
|
let tokenUrl = $state('');
|
|
82
86
|
let resourceTypeInfo = $state(undefined);
|
|
87
|
+
let resourceTypeNotFound = $state(false);
|
|
83
88
|
let pathError = $state('');
|
|
84
89
|
export async function open(rt) {
|
|
85
90
|
if (!rt) {
|
|
@@ -144,7 +149,7 @@ run(() => {
|
|
|
144
149
|
args['password'] == '' &&
|
|
145
150
|
args['api_key'] == '' &&
|
|
146
151
|
args['key'] == '' &&
|
|
147
|
-
|
|
152
|
+
linkedSecrets.length > 0
|
|
148
153
|
: false)) ||
|
|
149
154
|
step == 3 ||
|
|
150
155
|
(step == 4 && pathError != '') ||
|
|
@@ -155,7 +160,7 @@ export async function loadResourceTypes() {
|
|
|
155
160
|
return;
|
|
156
161
|
}
|
|
157
162
|
const availableRts = await ResourceService.listResourceTypeNames({
|
|
158
|
-
workspace:
|
|
163
|
+
workspace: effectiveWorkspace
|
|
159
164
|
});
|
|
160
165
|
connectsManual = availableRts
|
|
161
166
|
.filter((x) => connectAndManual.includes(x) || !Object.keys(connects ?? {}).includes(x))
|
|
@@ -239,22 +244,29 @@ async function getScopesAndParams() {
|
|
|
239
244
|
supportsClientCredentials = connect.grant_types?.includes('client_credentials') ?? false;
|
|
240
245
|
}
|
|
241
246
|
async function getResourceTypeInfo() {
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
247
|
+
try {
|
|
248
|
+
resourceTypeNotFound = false;
|
|
249
|
+
resourceTypeInfo = await ResourceService.getResourceType({
|
|
250
|
+
workspace: effectiveWorkspace,
|
|
251
|
+
path: resourceType
|
|
252
|
+
});
|
|
253
|
+
const props = resourceTypeInfo?.schema?.['properties'] ?? {};
|
|
254
|
+
const newArgsKeys = Object.keys(props).filter((x) => props?.[x]?.type == 'string') ?? [];
|
|
255
|
+
const passwords = newArgsKeys.filter((x) => {
|
|
256
|
+
return props?.[x]?.password;
|
|
257
|
+
});
|
|
258
|
+
if (linkedSecrets.length === 0) {
|
|
259
|
+
linkedSecrets = computeDefaultLinkedSecrets(resourceType, newArgsKeys, passwords);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
catch (err) {
|
|
263
|
+
resourceTypeInfo = undefined;
|
|
264
|
+
resourceTypeNotFound = true;
|
|
253
265
|
}
|
|
254
266
|
}
|
|
255
267
|
export async function next() {
|
|
256
268
|
if (step == 1) {
|
|
257
|
-
|
|
269
|
+
linkedSecrets = [];
|
|
258
270
|
if (manual) {
|
|
259
271
|
getResourceTypeInfo();
|
|
260
272
|
args = {};
|
|
@@ -334,15 +346,30 @@ export async function next() {
|
|
|
334
346
|
return;
|
|
335
347
|
throw Error('Path is not set');
|
|
336
348
|
}
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
349
|
+
// Check if variable paths already exist
|
|
350
|
+
if (!manual || linkedSecrets.length <= 1) {
|
|
351
|
+
const exists = await VariableService.existsVariable({
|
|
352
|
+
workspace: effectiveWorkspace,
|
|
353
|
+
path
|
|
354
|
+
});
|
|
355
|
+
if (exists) {
|
|
356
|
+
throw Error(`Variable at path ${path} already exists. Delete it or pick another path`);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
else {
|
|
360
|
+
for (const secretField of linkedSecrets) {
|
|
361
|
+
const varPath = `${path}_${secretField}`;
|
|
362
|
+
const exists = await VariableService.existsVariable({
|
|
363
|
+
workspace: effectiveWorkspace,
|
|
364
|
+
path: varPath
|
|
365
|
+
});
|
|
366
|
+
if (exists) {
|
|
367
|
+
throw Error(`Variable at path ${varPath} already exists. Delete it or pick another path`);
|
|
368
|
+
}
|
|
369
|
+
}
|
|
343
370
|
}
|
|
344
|
-
exists = await ResourceService.existsResource({
|
|
345
|
-
workspace:
|
|
371
|
+
let exists = await ResourceService.existsResource({
|
|
372
|
+
workspace: effectiveWorkspace,
|
|
346
373
|
path
|
|
347
374
|
});
|
|
348
375
|
if (exists) {
|
|
@@ -365,6 +392,10 @@ export async function next() {
|
|
|
365
392
|
client: resourceType,
|
|
366
393
|
grant_type: valueToken.grant_type || 'authorization_code'
|
|
367
394
|
};
|
|
395
|
+
// Store scopes so token refresh uses the same scopes
|
|
396
|
+
if (scopes.length > 0) {
|
|
397
|
+
accountData.scopes = scopes;
|
|
398
|
+
}
|
|
368
399
|
// Add client credentials if using client_credentials flow
|
|
369
400
|
if (useClientCredentials) {
|
|
370
401
|
accountData.cc_client_id = clientId.trim();
|
|
@@ -375,34 +406,76 @@ export async function next() {
|
|
|
375
406
|
}
|
|
376
407
|
}
|
|
377
408
|
account = Number(await OauthService.createAccount({
|
|
378
|
-
workspace:
|
|
409
|
+
workspace: effectiveWorkspace,
|
|
379
410
|
requestBody: accountData
|
|
380
411
|
}));
|
|
381
412
|
}
|
|
382
413
|
const resourceValue = args;
|
|
383
|
-
let
|
|
384
|
-
if (!manual
|
|
385
|
-
|
|
386
|
-
if (typeof
|
|
387
|
-
|
|
414
|
+
let savedVariableCount = 0;
|
|
415
|
+
if (!manual) {
|
|
416
|
+
// OAuth flow: single secret variable for the token
|
|
417
|
+
if (typeof value == 'string' && value != '' && !value.startsWith('$var:')) {
|
|
418
|
+
savedVariableCount++;
|
|
388
419
|
await VariableService.createVariable({
|
|
389
|
-
workspace:
|
|
420
|
+
workspace: effectiveWorkspace,
|
|
390
421
|
requestBody: {
|
|
391
422
|
path,
|
|
392
|
-
value:
|
|
423
|
+
value: value,
|
|
393
424
|
is_secret: true,
|
|
394
425
|
description: emptyString(description)
|
|
395
|
-
?
|
|
426
|
+
? `OAuth token for ${resourceType}`
|
|
396
427
|
: description,
|
|
397
|
-
is_oauth:
|
|
428
|
+
is_oauth: true,
|
|
398
429
|
account: account
|
|
399
430
|
}
|
|
400
431
|
});
|
|
401
|
-
resourceValue[
|
|
432
|
+
resourceValue['token'] = `$var:${path}`;
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
else if (linkedSecrets.length === 1) {
|
|
436
|
+
// Single secret: use the resource path as variable name (original behavior)
|
|
437
|
+
const secretField = linkedSecrets[0];
|
|
438
|
+
const v = args[secretField];
|
|
439
|
+
if (typeof v == 'string' && v != '' && !v.startsWith('$var:')) {
|
|
440
|
+
savedVariableCount++;
|
|
441
|
+
await VariableService.createVariable({
|
|
442
|
+
workspace: effectiveWorkspace,
|
|
443
|
+
requestBody: {
|
|
444
|
+
path,
|
|
445
|
+
value: v,
|
|
446
|
+
is_secret: true,
|
|
447
|
+
description: emptyString(description) ? `Token for ${resourceType}` : description,
|
|
448
|
+
is_oauth: false
|
|
449
|
+
}
|
|
450
|
+
});
|
|
451
|
+
resourceValue[secretField] = `$var:${path}`;
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
else if (linkedSecrets.length > 1) {
|
|
455
|
+
// Multiple secrets: append _field_name to each variable path
|
|
456
|
+
for (const secretField of linkedSecrets) {
|
|
457
|
+
const v = args[secretField];
|
|
458
|
+
if (typeof v == 'string' && v != '' && !v.startsWith('$var:')) {
|
|
459
|
+
const varPath = `${path}_${secretField}`;
|
|
460
|
+
savedVariableCount++;
|
|
461
|
+
await VariableService.createVariable({
|
|
462
|
+
workspace: effectiveWorkspace,
|
|
463
|
+
requestBody: {
|
|
464
|
+
path: varPath,
|
|
465
|
+
value: v,
|
|
466
|
+
is_secret: true,
|
|
467
|
+
description: emptyString(description)
|
|
468
|
+
? `${secretField} for ${resourceType}`
|
|
469
|
+
: description,
|
|
470
|
+
is_oauth: false
|
|
471
|
+
}
|
|
472
|
+
});
|
|
473
|
+
resourceValue[secretField] = `$var:${varPath}`;
|
|
474
|
+
}
|
|
402
475
|
}
|
|
403
476
|
}
|
|
404
477
|
await ResourceService.createResource({
|
|
405
|
-
workspace:
|
|
478
|
+
workspace: effectiveWorkspace,
|
|
406
479
|
requestBody: {
|
|
407
480
|
resource_type: resourceType,
|
|
408
481
|
path,
|
|
@@ -412,7 +485,7 @@ export async function next() {
|
|
|
412
485
|
});
|
|
413
486
|
dispatch('refresh', path);
|
|
414
487
|
dispatch('close');
|
|
415
|
-
sendUserToast(`Saved resource${
|
|
488
|
+
sendUserToast(`Saved resource${savedVariableCount > 0 ? ` and ${savedVariableCount} variable${savedVariableCount > 1 ? 's' : ''}` : ''} path: ${path}`);
|
|
416
489
|
step = 1;
|
|
417
490
|
resourceType = '';
|
|
418
491
|
}
|
|
@@ -433,19 +506,6 @@ const dispatch = createEventDispatcher();
|
|
|
433
506
|
let filteredConnects = $state([]);
|
|
434
507
|
let filteredConnectsManual = $state([]);
|
|
435
508
|
let editScopes = $state(false);
|
|
436
|
-
let hubRtSync = usePromise(async () => {
|
|
437
|
-
let jobUuid = await JobService.runScriptByPath({
|
|
438
|
-
workspace: 'admins',
|
|
439
|
-
path: 'u/admin/hub_sync',
|
|
440
|
-
requestBody: {}
|
|
441
|
-
});
|
|
442
|
-
await pollJobResult(jobUuid, 'admins');
|
|
443
|
-
connectsManual = undefined;
|
|
444
|
-
await loadResourceTypes();
|
|
445
|
-
connects = undefined;
|
|
446
|
-
await loadConnects();
|
|
447
|
-
sendUserToast('Hub resource types sync completed');
|
|
448
|
-
}, { loadInit: false });
|
|
449
509
|
</script>
|
|
450
510
|
|
|
451
511
|
{#if !express}
|
|
@@ -562,20 +622,16 @@ let hubRtSync = usePromise(async () => {
|
|
|
562
622
|
{/each}
|
|
563
623
|
{/if}
|
|
564
624
|
</div>
|
|
565
|
-
|
|
566
|
-
<
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
Error syncing resource types : {JSON.stringify(hubRtSync.error)}
|
|
576
|
-
</span>
|
|
577
|
-
{/if}
|
|
578
|
-
{/if}
|
|
625
|
+
<div class="mt-6">
|
|
626
|
+
<SyncResourceTypes
|
|
627
|
+
onSynced={async () => {
|
|
628
|
+
connectsManual = undefined
|
|
629
|
+
await loadResourceTypes()
|
|
630
|
+
connects = undefined
|
|
631
|
+
await loadConnects()
|
|
632
|
+
}}
|
|
633
|
+
/>
|
|
634
|
+
</div>
|
|
579
635
|
{:else if step == 2 && manual}
|
|
580
636
|
<div class="flex flex-col gap-8">
|
|
581
637
|
<Path
|
|
@@ -646,15 +702,24 @@ let hubRtSync = usePromise(async () => {
|
|
|
646
702
|
{/if}
|
|
647
703
|
</div>
|
|
648
704
|
|
|
705
|
+
{#if resourceTypeNotFound}
|
|
706
|
+
<div class="flex flex-col gap-2 mb-4">
|
|
707
|
+
<p class="text-red-500 dark:text-red-400 text-xs">
|
|
708
|
+
Resource type '{resourceType}' not found in your workspace
|
|
709
|
+
</p>
|
|
710
|
+
<SyncResourceTypes onSynced={getResourceTypeInfo} />
|
|
711
|
+
</div>
|
|
712
|
+
{/if}
|
|
649
713
|
{#key resourceTypeInfo}
|
|
650
714
|
<ApiConnectForm
|
|
651
|
-
bind:
|
|
715
|
+
bind:linkedSecrets
|
|
652
716
|
bind:description
|
|
653
717
|
{linkedSecretCandidates}
|
|
654
718
|
{resourceType}
|
|
655
719
|
{resourceTypeInfo}
|
|
656
720
|
bind:args
|
|
657
721
|
bind:isValid
|
|
722
|
+
onSynced={getResourceTypeInfo}
|
|
658
723
|
/>
|
|
659
724
|
{/key}
|
|
660
725
|
</div>
|
|
@@ -5,6 +5,7 @@ interface Props {
|
|
|
5
5
|
disabled?: boolean;
|
|
6
6
|
manual?: boolean;
|
|
7
7
|
express?: boolean;
|
|
8
|
+
workspace?: string;
|
|
8
9
|
}
|
|
9
10
|
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> {
|
|
10
11
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<script lang="ts">import { AlertTriangle, ArrowDown, ArrowDownRight, ArrowRight, ArrowUp, ArrowUpRight, Building, DiffIcon, GitFork, Loader2, Trash2, Upload } from 'lucide-svelte';
|
|
1
|
+
<script lang="ts">import { AlertTriangle, ArrowDown, ArrowDownRight, ArrowRight, ArrowUp, ArrowUpRight, Building, DiffIcon, FileJson, GitFork, Loader2, Trash2, Upload } from 'lucide-svelte';
|
|
2
2
|
import { Alert, Badge } from './common';
|
|
3
3
|
import { AppService, EmailTriggerService, FlowService, FolderService, GcpTriggerService, HttpTriggerService, KafkaTriggerService, MqttTriggerService, NatsTriggerService, PostgresTriggerService, ScheduleService, ScriptService, SqsTriggerService, UserService, WebsocketTriggerService, WorkspaceService } from '../gen';
|
|
4
4
|
import Button from './common/button/Button.svelte';
|
|
@@ -8,7 +8,7 @@ import DiffDrawer from './DiffDrawer.svelte';
|
|
|
8
8
|
import DeployWorkspaceDrawer from './DeployWorkspaceDrawer.svelte';
|
|
9
9
|
import ParentWorkspaceProtectionAlert from './ParentWorkspaceProtectionAlert.svelte';
|
|
10
10
|
import { userWorkspaces, workspaceStore } from '../stores';
|
|
11
|
-
import { deployItem, getItemValue,
|
|
11
|
+
import { deployItem, getItemValue, getOnBehalfOf } from '../utils_workspace_deploy';
|
|
12
12
|
import Tooltip from './Tooltip.svelte';
|
|
13
13
|
import OnBehalfOfSelector, { needsOnBehalfOfSelection } from './OnBehalfOfSelector.svelte';
|
|
14
14
|
import { sendUserToast } from '../toast';
|
|
@@ -54,7 +54,7 @@ let summaryCache = $state({});
|
|
|
54
54
|
// Source workspace on_behalf_of emails (keyed by workspace/kind:path)
|
|
55
55
|
let onBehalfOfInfo = $state({});
|
|
56
56
|
let onBehalfOfChoice = $state({});
|
|
57
|
-
let
|
|
57
|
+
let customOnBehalfOf = $state({});
|
|
58
58
|
let deployTargetWorkspace = $derived(mergeIntoParent ? parentWorkspaceId : currentWorkspaceId);
|
|
59
59
|
function getItemKey(diff) {
|
|
60
60
|
return `${diff.kind}:${diff.path}`;
|
|
@@ -69,7 +69,7 @@ async function fetchSummary(kind, path, workspace) {
|
|
|
69
69
|
const flow = await FlowService.getFlowByPath({ workspace, path });
|
|
70
70
|
return flow.summary;
|
|
71
71
|
}
|
|
72
|
-
else if (kind === 'app') {
|
|
72
|
+
else if (kind === 'app' || kind === 'raw_app') {
|
|
73
73
|
const app = await AppService.getAppByPath({ workspace, path });
|
|
74
74
|
return app.summary;
|
|
75
75
|
}
|
|
@@ -85,7 +85,7 @@ async function fetchSummary(kind, path, workspace) {
|
|
|
85
85
|
}
|
|
86
86
|
async function fetchSummaries(diffs) {
|
|
87
87
|
// Only fetch summaries for scripts, flows, and apps
|
|
88
|
-
const itemsToFetch = diffs.filter((diff) => ['script', 'flow', 'app', 'folder'].includes(diff.kind));
|
|
88
|
+
const itemsToFetch = diffs.filter((diff) => ['script', 'flow', 'app', 'raw_app', 'folder'].includes(diff.kind));
|
|
89
89
|
for (const diff of itemsToFetch) {
|
|
90
90
|
const key = getItemKey(diff);
|
|
91
91
|
// Skip if already cached or loading
|
|
@@ -106,14 +106,14 @@ async function fetchSummaries(diffs) {
|
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
async function fetchOnBehalfOfInfo(diffs) {
|
|
109
|
-
const flowsAndScripts = diffs.filter((d) => ['flow', 'script', 'app'].includes(d.kind));
|
|
109
|
+
const flowsAndScripts = diffs.filter((d) => ['flow', 'script', 'app', 'raw_app'].includes(d.kind));
|
|
110
110
|
for (const diff of flowsAndScripts) {
|
|
111
111
|
for (const workspace of [currentWorkspaceId, parentWorkspaceId]) {
|
|
112
112
|
const workspacedKey = getWorkspacedKey(workspace, getItemKey(diff));
|
|
113
113
|
if (onBehalfOfInfo[workspacedKey] !== undefined)
|
|
114
114
|
continue;
|
|
115
115
|
try {
|
|
116
|
-
onBehalfOfInfo[workspacedKey] = await
|
|
116
|
+
onBehalfOfInfo[workspacedKey] = await getOnBehalfOf(diff.kind, diff.path, workspace);
|
|
117
117
|
}
|
|
118
118
|
catch {
|
|
119
119
|
onBehalfOfInfo[workspacedKey] = undefined;
|
|
@@ -121,19 +121,19 @@ async function fetchOnBehalfOfInfo(diffs) {
|
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
|
-
// Get source workspace
|
|
125
|
-
function
|
|
124
|
+
// Get source workspace on_behalf_of value for an item (email for runnables, permissioned_as for triggers)
|
|
125
|
+
function getSourceOnBehalfOf(itemKey) {
|
|
126
126
|
const sourceWorkspace = mergeIntoParent ? currentWorkspaceId : parentWorkspaceId;
|
|
127
127
|
return onBehalfOfInfo[getWorkspacedKey(sourceWorkspace, itemKey)];
|
|
128
128
|
}
|
|
129
|
-
// Get target workspace
|
|
130
|
-
function
|
|
129
|
+
// Get target workspace on_behalf_of value for an item (existing item in destination)
|
|
130
|
+
function getTargetOnBehalfOf(itemKey) {
|
|
131
131
|
const targetWorkspace = mergeIntoParent ? parentWorkspaceId : currentWorkspaceId;
|
|
132
132
|
return onBehalfOfInfo[getWorkspacedKey(targetWorkspace, itemKey)];
|
|
133
133
|
}
|
|
134
134
|
// Check if an item needs on_behalf_of selection
|
|
135
135
|
function itemNeedsOnBehalfOfSelection(itemKey, kind) {
|
|
136
|
-
return needsOnBehalfOfSelection(kind,
|
|
136
|
+
return needsOnBehalfOfSelection(kind, getSourceOnBehalfOf(itemKey));
|
|
137
137
|
}
|
|
138
138
|
// Check if all required on_behalf_of selections are made
|
|
139
139
|
let hasUnselectedOnBehalfOf = $derived(selectedItems.some((itemKey) => {
|
|
@@ -142,14 +142,19 @@ let hasUnselectedOnBehalfOf = $derived(selectedItems.some((itemKey) => {
|
|
|
142
142
|
return false;
|
|
143
143
|
return (itemNeedsOnBehalfOfSelection(itemKey, diff.kind) && onBehalfOfChoice[itemKey] === undefined);
|
|
144
144
|
}));
|
|
145
|
-
|
|
146
|
-
|
|
145
|
+
/**
|
|
146
|
+
* Get the on_behalf_of value for deployment based on user's choice.
|
|
147
|
+
* Returns an email for flows/scripts/apps, or permissioned_as (u/username, g/group) for triggers/schedules.
|
|
148
|
+
*/
|
|
149
|
+
function getOnBehalfOfForDeploy(itemKey, kind) {
|
|
147
150
|
const choice = onBehalfOfChoice[itemKey];
|
|
148
151
|
if (choice === 'target')
|
|
149
|
-
return
|
|
150
|
-
if (choice === 'custom')
|
|
151
|
-
|
|
152
|
-
|
|
152
|
+
return getTargetOnBehalfOf(itemKey);
|
|
153
|
+
if (choice === 'custom') {
|
|
154
|
+
const details = customOnBehalfOf[itemKey];
|
|
155
|
+
return kind === 'trigger' ? details?.permissionedAs : details?.email;
|
|
156
|
+
}
|
|
157
|
+
// 'me' or undefined = don't pass, backend will use deploying user's identity
|
|
153
158
|
return undefined;
|
|
154
159
|
}
|
|
155
160
|
let diffDrawer = $state(undefined);
|
|
@@ -198,7 +203,7 @@ async function deploy(kind, path, workspaceToDeployTo, workspaceFrom, statusPath
|
|
|
198
203
|
path,
|
|
199
204
|
workspaceFrom,
|
|
200
205
|
workspaceTo: workspaceToDeployTo,
|
|
201
|
-
|
|
206
|
+
onBehalfOf: getOnBehalfOfForDeploy(statusPath, kind)
|
|
202
207
|
});
|
|
203
208
|
if (result.success) {
|
|
204
209
|
deploymentStatus[statusPath] = { status: 'deployed' };
|
|
@@ -713,7 +718,7 @@ $effect(() => {
|
|
|
713
718
|
{#snippet itemActions(item)}
|
|
714
719
|
{@const diff = item.diff as WorkspaceItemDiff}
|
|
715
720
|
{@const key = item.key}
|
|
716
|
-
{@const
|
|
721
|
+
{@const targetOnBehalfOf = getTargetOnBehalfOf(key)}
|
|
717
722
|
{@const isConflict = diff.ahead > 0 && diff.behind > 0}
|
|
718
723
|
{@const existsInBothWorkspaces = !(
|
|
719
724
|
(diff.exists_in_fork && !diff.exists_in_source) ||
|
|
@@ -723,17 +728,20 @@ $effect(() => {
|
|
|
723
728
|
{#if itemNeedsOnBehalfOfSelection(key, diff.kind)}
|
|
724
729
|
<OnBehalfOfSelector
|
|
725
730
|
targetWorkspace={deployTargetWorkspace}
|
|
726
|
-
{
|
|
731
|
+
targetValue={targetOnBehalfOf}
|
|
727
732
|
selected={onBehalfOfChoice[key]}
|
|
728
|
-
onSelect={(choice,
|
|
733
|
+
onSelect={(choice, details) => {
|
|
729
734
|
onBehalfOfChoice[key] = choice
|
|
730
|
-
if (
|
|
735
|
+
if (details) customOnBehalfOf[key] = details
|
|
731
736
|
}}
|
|
732
737
|
kind={diff.kind}
|
|
733
738
|
canPreserve={canPreserveOnBehalfOf}
|
|
734
|
-
|
|
739
|
+
customValue={customOnBehalfOf[key]?.permissionedAs}
|
|
735
740
|
/>
|
|
736
741
|
{/if}
|
|
742
|
+
{#if diff.kind === 'raw_app'}
|
|
743
|
+
<Badge small icon={{ icon: FileJson }}>Raw</Badge>
|
|
744
|
+
{/if}
|
|
737
745
|
<!-- Status badges -->
|
|
738
746
|
{#if !diff.exists_in_fork && diff.exists_in_source && diff.ahead == 0 && diff.behind > 0}
|
|
739
747
|
<Badge
|
|
@@ -487,36 +487,30 @@ export const dbTable = () => _dbTable;
|
|
|
487
487
|
dbTableEditorState = { open: false }
|
|
488
488
|
}}
|
|
489
489
|
{dbType}
|
|
490
|
-
computePreview={({ values }) => {
|
|
490
|
+
computePreview={async ({ values }) => {
|
|
491
491
|
if (dbTableEditorState.alterTableKey && dbTableEditorAlterTableData.current) {
|
|
492
492
|
let diff = diffTableEditorValues(dbTableEditorAlterTableData.current, values)
|
|
493
|
-
let
|
|
494
|
-
values: diff,
|
|
495
|
-
schema: selected.schemaKey
|
|
496
|
-
})
|
|
493
|
+
let sql = await dbSchemaOps.previewAlterSql({ values: diff, schema: selected.schemaKey })
|
|
497
494
|
let alert = !dbSupportsTransactionalDdl(dbType)
|
|
498
495
|
? {
|
|
499
496
|
title: capitalize(dbType) + ' does not support transactional DDL',
|
|
500
497
|
body: 'Any of these statements failing may leave your database in an intermediate state.'
|
|
501
498
|
}
|
|
502
499
|
: undefined
|
|
503
|
-
return { sql
|
|
500
|
+
return { sql, ...(alert ? { alert } : {}) }
|
|
504
501
|
} else {
|
|
505
|
-
|
|
502
|
+
let sql = await dbSchemaOps.previewCreateSql({ values, schema: selected.schemaKey })
|
|
503
|
+
return { sql }
|
|
506
504
|
}
|
|
507
505
|
}}
|
|
508
506
|
computeBtnProps={({ values }) => {
|
|
509
507
|
if (dbTableEditorState.alterTableKey && dbTableEditorAlterTableData.current) {
|
|
510
508
|
let diff = diffTableEditorValues(dbTableEditorAlterTableData.current, values)
|
|
511
|
-
|
|
512
|
-
values: diff,
|
|
513
|
-
schema: selected.schemaKey
|
|
514
|
-
})
|
|
515
|
-
if (!queries.length) {
|
|
509
|
+
if (!diff.operations.length) {
|
|
516
510
|
return { text: 'No changes detected', disabled: true }
|
|
517
511
|
}
|
|
518
512
|
return {
|
|
519
|
-
text: `Alter table (${pluralize(
|
|
513
|
+
text: `Alter table (${pluralize(diff.operations.length, 'change')} detected)`
|
|
520
514
|
}
|
|
521
515
|
} else {
|
|
522
516
|
return { text: 'Create table' }
|
|
@@ -104,8 +104,8 @@ function updateGrid() {
|
|
|
104
104
|
refresh?.();
|
|
105
105
|
sendUserToast('Row deleted');
|
|
106
106
|
})
|
|
107
|
-
.catch(() => {
|
|
108
|
-
sendUserToast(
|
|
107
|
+
.catch((e) => {
|
|
108
|
+
sendUserToast(`Error deleting row: ${e?.message ?? e}`, true);
|
|
109
109
|
});
|
|
110
110
|
}
|
|
111
111
|
})
|