windmill-components 1.677.1 → 1.695.0
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/AppConnectInner.svelte +6 -0
- package/package/components/ArgInput.svelte +2 -0
- package/package/components/AutoscalingConfigEditor.svelte +18 -4
- package/package/components/CiTestResults.svelte +64 -0
- package/package/components/CiTestResults.svelte.d.ts +7 -0
- package/package/components/CompareWorkspaces.svelte +741 -484
- package/package/components/DBManager.svelte +35 -4
- package/package/components/DBManager.svelte.d.ts +2 -0
- package/package/components/DBManagerContent.svelte +3 -1
- package/package/components/DBManagerContent.svelte.d.ts +3 -0
- package/package/components/DBManagerDrawer.svelte +145 -3
- package/package/components/DBTableEditor.svelte +14 -4
- package/package/components/DatatablePicker.svelte +2 -5
- package/package/components/DatatableSchemaDiff.svelte +531 -0
- package/package/components/DatatableSchemaDiff.svelte.d.ts +29 -0
- package/package/components/DedicatedWorkersSelector.svelte +4 -2
- package/package/components/DefaultTagsInner.svelte +42 -2
- package/package/components/DeployWorkspaceDrawer.svelte +1 -1
- package/package/components/Dev.svelte +407 -74
- package/package/components/EditableSchemaForm.svelte +4 -0
- package/package/components/Editor.svelte +1 -1
- package/package/components/EditorBar.svelte +1 -1
- package/package/components/EditorBar.svelte.d.ts +1 -1
- package/package/components/ErrorOrRecoveryHandler.svelte +2 -2
- package/package/components/FlowPreviewContent.svelte +32 -30
- package/package/components/FlowRestartButton.svelte +143 -61
- package/package/components/FlowRestartButton.svelte.d.ts +37 -0
- package/package/components/FlowStatusViewer.svelte +15 -1
- package/package/components/FlowStatusViewer.svelte.d.ts +10 -2
- package/package/components/FlowStatusViewerInner.svelte +270 -222
- package/package/components/FlowStatusViewerInner.svelte.d.ts +6 -2
- package/package/components/FlowTimeline.svelte +1 -1
- package/package/components/FolderEditor.svelte +189 -4
- package/package/components/ForkConflictModal.svelte +57 -0
- package/package/components/ForkConflictModal.svelte.d.ts +3 -0
- package/package/components/ForkWorkspaceBanner.svelte +82 -11
- package/package/components/GitRepoViewer.svelte +251 -97
- package/package/components/GlobalUserOffboardingModal.svelte +293 -0
- package/package/components/GlobalUserOffboardingModal.svelte.d.ts +10 -0
- package/package/components/InputTransformSchemaForm.svelte +1 -1
- package/package/components/InstanceSettings.svelte +58 -19
- package/package/components/Login.svelte +133 -36
- package/package/components/Login.svelte.d.ts +1 -0
- package/package/components/ModuleTest.svelte +2 -1
- package/package/components/NoMainFuncBadge.svelte +1 -1
- package/package/components/OffboardItemsBox.svelte +56 -0
- package/package/components/OffboardItemsBox.svelte.d.ts +12 -0
- package/package/components/OffboardReassignControls.svelte +47 -0
- package/package/components/OffboardReassignControls.svelte.d.ts +20 -0
- package/package/components/OffboardWorkspaceSection.svelte +110 -0
- package/package/components/OffboardWorkspaceSection.svelte.d.ts +24 -0
- package/package/components/OnBehalfOfSelector.svelte +21 -3
- package/package/components/OnBehalfOfSelector.svelte.d.ts +7 -0
- package/package/components/Path.svelte +7 -1
- package/package/components/Path.svelte.d.ts +1 -1
- package/package/components/QueueAlerts.svelte +10 -10
- package/package/components/ResourcePicker.svelte +2 -2
- package/package/components/RunsPage.svelte +2 -1
- package/package/components/S3FilePickerInner.svelte +89 -89
- package/package/components/ScriptBuilder.svelte +52 -11
- package/package/components/ScriptEditor.svelte +19 -8
- package/package/components/ScriptEditor.svelte.d.ts +1 -1
- package/package/components/ShareModal.svelte +236 -98
- package/package/components/ShareModal.svelte.d.ts +1 -1
- package/package/components/SuperadminSettingsInner.svelte +362 -315
- package/package/components/UserOffboardingModal.svelte +238 -0
- package/package/components/UserOffboardingModal.svelte.d.ts +10 -0
- package/package/components/WorkspaceDeployLayout.svelte +3 -3
- package/package/components/WorkspaceDeployLayout.svelte.d.ts +1 -0
- package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +3 -0
- package/package/components/apps/components/helpers/executeRunnable.js +2 -1
- package/package/components/apps/editor/AppReportsDrawerInner.svelte +1 -1
- package/package/components/apps/editor/appPolicy.js +2 -1
- package/package/components/apps/editor/commonAppUtils.d.ts +3 -0
- package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +7 -0
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +4 -2
- package/package/components/apps/editor/inlineScriptsPanel/TagPopup.svelte +49 -0
- package/package/components/apps/editor/inlineScriptsPanel/TagPopup.svelte.d.ts +9 -0
- package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +12 -0
- package/package/components/apps/inputType.d.ts +1 -0
- package/package/components/apps/sharedTypes.d.ts +1 -0
- package/package/components/assets/AssetsDropdownButton.svelte +1 -1
- package/package/components/auditLogs/AuditLogsFilters.svelte +8 -3
- package/package/components/common/confirmationModal/ConfirmationModal.svelte +1 -1
- package/package/components/common/fileUpload/S3ArgInput.svelte +12 -10
- package/package/components/common/fileUpload/S3ArgInput.svelte.d.ts +2 -0
- package/package/components/common/table/AppRow.svelte +3 -3
- package/package/components/common/table/FlowRow.svelte +3 -3
- package/package/components/common/table/RawAppRow.svelte +4 -4
- package/package/components/common/table/Row.svelte +6 -2
- package/package/components/common/table/ScriptRow.svelte +11 -3
- package/package/components/copilot/chat/AIChatDisplay.svelte +5 -36
- package/package/components/copilot/chat/AIChatInput.svelte +56 -47
- package/package/components/copilot/chat/AIChatManager.svelte.js +50 -48
- package/package/components/copilot/chat/ContextElementBadge.svelte +6 -4
- package/package/components/copilot/chat/anthropic.d.ts +7 -1
- package/package/components/copilot/chat/anthropic.js +5 -2
- package/package/components/copilot/chat/app/core.d.ts +12 -20
- package/package/components/copilot/chat/app/core.js +230 -159
- package/package/components/copilot/chat/app/core.test.js +417 -0
- package/package/components/copilot/chat/chatLoop.d.ts +3 -0
- package/package/components/copilot/chat/chatLoop.js +13 -5
- package/package/components/copilot/chat/context.js +44 -0
- package/package/components/copilot/chat/flow/FlowAIChat.svelte +57 -76
- package/package/components/copilot/chat/flow/core.d.ts +14 -3
- package/package/components/copilot/chat/flow/core.js +494 -116
- package/package/components/copilot/chat/flow/helperUtils.d.ts +22 -0
- package/package/components/copilot/chat/flow/helperUtils.js +100 -0
- package/package/components/copilot/chat/flow/helperUtils.test.js +231 -0
- package/package/components/copilot/chat/flow/inlineScriptsUtils.d.ts +5 -24
- package/package/components/copilot/chat/flow/inlineScriptsUtils.js +30 -55
- package/package/components/copilot/chat/flow/openFlow.json +1 -1
- package/package/components/copilot/chat/flow/openFlowZod.gen.js +24 -0
- package/package/components/copilot/chat/flow/utils.test.js +59 -0
- package/package/components/copilot/chat/openai-responses.d.ts +7 -1
- package/package/components/copilot/chat/openai-responses.js +5 -2
- package/package/components/copilot/chat/script/core.js +3 -0
- package/package/components/copilot/chat/shared.d.ts +7 -2
- package/package/components/copilot/chat/shared.js +116 -53
- package/package/components/copilot/chat/shared.test.d.ts +1 -0
- package/package/components/copilot/chat/shared.test.js +412 -0
- package/package/components/copilot/chat/tokenUsage.d.ts +23 -0
- package/package/components/copilot/chat/tokenUsage.js +42 -0
- package/package/components/copilot/chat/workspaceTools.d.ts +7 -0
- package/package/components/copilot/chat/workspaceTools.js +239 -0
- package/package/components/copilot/chat/workspaceToolsZod.gen.d.ts +1295 -0
- package/package/components/copilot/chat/workspaceToolsZod.gen.js +424 -0
- package/package/components/copilot/lib.d.ts +5 -1
- package/package/components/copilot/lib.js +24 -6
- package/package/components/copilot/lib.test.d.ts +1 -0
- package/package/components/copilot/lib.test.js +19 -0
- package/package/components/copilot/modelConfig.d.ts +3 -0
- package/package/components/copilot/modelConfig.js +10 -0
- package/package/components/deploymentRequest/DeploymentRequestPanel.svelte +337 -0
- package/package/components/deploymentRequest/DeploymentRequestPanel.svelte.d.ts +15 -0
- package/package/components/details/CopyableCodeBlock.svelte +18 -8
- package/package/components/details/CopyableCodeBlock.svelte.d.ts +1 -0
- package/package/components/flows/FlowAssetsHandler.svelte +19 -21
- package/package/components/flows/FlowProgressBar.svelte +5 -2
- package/package/components/flows/agentToolTree.d.ts +17 -0
- package/package/components/flows/agentToolTree.js +114 -0
- package/package/components/flows/agentToolTree.test.d.ts +1 -0
- package/package/components/flows/agentToolTree.test.js +86 -0
- package/package/components/flows/agentToolUtils.d.ts +0 -5
- package/package/components/flows/agentToolUtils.js +0 -49
- package/package/components/flows/content/FlowLoop.svelte +7 -4
- package/package/components/flows/content/FlowModuleComponent.svelte +636 -599
- package/package/components/flows/content/FlowModuleDeleteAfterUse.svelte +15 -7
- package/package/components/flows/content/FlowSettings.svelte +29 -0
- package/package/components/flows/conversations/FlowChatManager.svelte.js +21 -10
- package/package/components/flows/dfs.d.ts +6 -2
- package/package/components/flows/dfs.js +19 -11
- package/package/components/flows/flowDeleteController.d.ts +32 -0
- package/package/components/flows/flowDeleteController.js +54 -0
- package/package/components/flows/flowDeleteController.test.d.ts +1 -0
- package/package/components/flows/flowDeleteController.test.js +121 -0
- package/package/components/flows/flowDeleteUtils.d.ts +48 -0
- package/package/components/flows/flowDeleteUtils.js +150 -0
- package/package/components/flows/flowDeleteUtils.test.d.ts +1 -0
- package/package/components/flows/flowDeleteUtils.test.js +131 -0
- package/package/components/flows/flowDiff.d.ts +2 -47
- package/package/components/flows/flowDiff.js +16 -293
- package/package/components/flows/flowDiff.testUtils.d.ts +8 -0
- package/package/components/flows/flowDiff.testUtils.js +26 -0
- package/package/components/flows/flowDiffManager.svelte.js +20 -75
- package/package/components/flows/flowDiffManager.svelte.test.js +103 -2
- package/package/components/flows/flowExplorer.d.ts +4 -0
- package/package/components/flows/flowExplorer.js +7 -30
- package/package/components/flows/flowState.d.ts +1 -0
- package/package/components/flows/flowStateUtils.svelte.js +11 -2
- package/package/components/flows/flowTree.d.ts +91 -0
- package/package/components/flows/flowTree.js +326 -0
- package/package/components/flows/flowTree.test.d.ts +1 -0
- package/package/components/flows/flowTree.test.js +236 -0
- package/package/components/flows/map/FlowJobsMenu.svelte +36 -30
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +1 -1
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +73 -229
- package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -2
- package/package/components/flows/pickers/PickHubScriptQuick.svelte +2 -2
- package/package/components/flows/previousResults.js +13 -41
- package/package/components/flows/previousResults.test.d.ts +1 -0
- package/package/components/flows/previousResults.test.js +65 -0
- package/package/components/flows/propPicker/OutputPicker.svelte +2 -1
- package/package/components/flows/propPicker/OutputPickerInner.svelte +41 -4
- package/package/components/flows/propPicker/StepHistory.svelte +9 -1
- package/package/components/git_sync/GitSyncContext.svelte.js +11 -7
- package/package/components/git_sync/GitSyncRepositoryCard.svelte +2 -29
- package/package/components/git_sync/PullWorkspaceModal.svelte +6 -7
- package/package/components/graph/FlowGraphV2.svelte +8 -4
- package/package/components/graph/FlowGraphV2.svelte.d.ts +2 -0
- package/package/components/graph/groupedModulesProxy.svelte.d.ts +10 -0
- package/package/components/graph/groupedModulesProxy.svelte.js +17 -1
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte +8 -2
- package/package/components/home/HomeConnectDrawer.svelte +125 -0
- package/package/components/home/HomeConnectDrawer.svelte.d.ts +5 -0
- package/package/components/home/deploy_ui.js +1 -1
- package/package/components/icons/AzureIcon.svelte +12 -25
- package/package/components/icons/AzureIcon.svelte.d.ts +3 -2
- package/package/components/icons/GithubIcon.svelte +4 -4
- package/package/components/icons/GithubIcon.svelte.d.ts +5 -2
- package/package/components/instanceSettings/ExternalJwtTokens.svelte +85 -0
- package/package/components/instanceSettings/ExternalJwtTokens.svelte.d.ts +12 -0
- package/package/components/instanceSettings/GhesAppSettings.svelte +17 -0
- package/package/components/instanceSettings/IndexerMemorySettings.svelte +56 -29
- package/package/components/instanceSettings/SecretBackendConfig.svelte +9 -2
- package/package/components/instanceSettings.d.ts +1 -0
- package/package/components/instanceSettings.js +66 -8
- package/package/components/mcp/McpScopeSelector.svelte +119 -9
- package/package/components/mcp/McpScopeSelector.svelte.d.ts +1 -0
- package/package/components/offboarding-utils.d.ts +11 -0
- package/package/components/offboarding-utils.js +102 -0
- package/package/components/progressBar/ProgressBar.svelte +9 -5
- package/package/components/progressBar/ProgressBar.svelte.d.ts +1 -0
- package/package/components/raw_apps/DeleteAfterUsePopup.svelte +52 -0
- package/package/components/raw_apps/DeleteAfterUsePopup.svelte.d.ts +9 -0
- package/package/components/raw_apps/RawAppBackgroundRunner.svelte +5 -1
- package/package/components/raw_apps/RawAppDataTableDrawer.svelte +1 -1
- package/package/components/raw_apps/RawAppEditor.svelte +186 -102
- package/package/components/raw_apps/RawAppEditorHeader.svelte +6 -1
- package/package/components/raw_apps/RawAppEditorHeader.svelte.d.ts +1 -0
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +9 -3
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +2 -1
- package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +1 -0
- package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte.d.ts +1 -0
- package/package/components/raw_apps/RawAppInputsSpecEditor.svelte +48 -5
- package/package/components/raw_apps/RawAppSharedUiDrawer.svelte +129 -0
- package/package/components/raw_apps/RawAppSharedUiDrawer.svelte.d.ts +5 -0
- package/package/components/raw_apps/RawAppSidebar.svelte +12 -0
- package/package/components/raw_apps/RawAppYamlEditor.svelte +81 -0
- package/package/components/raw_apps/RawAppYamlEditor.svelte.d.ts +20 -0
- package/package/components/raw_apps/dataTableRefUtils.d.ts +7 -0
- package/package/components/raw_apps/dataTableRefUtils.js +34 -0
- package/package/components/raw_apps/dataTableRefUtils.test.d.ts +1 -0
- package/package/components/raw_apps/dataTableRefUtils.test.js +29 -0
- package/package/components/raw_apps/datatableUtils.svelte.js +1 -1
- package/package/components/raw_apps/rawAppPolicy.d.ts +1 -0
- package/package/components/raw_apps/rawAppPolicy.js +17 -2
- package/package/components/resources/resourceTypesFilter.d.ts +19 -0
- package/package/components/resources/resourceTypesFilter.js +21 -0
- package/package/components/restartFromStepPath.d.ts +39 -0
- package/package/components/restartFromStepPath.js +89 -0
- package/package/components/runs/JobDetailFieldConfig.d.ts +1 -0
- package/package/components/runs/JobDetailFieldConfig.js +57 -10
- package/package/components/runs/JobDetailHeader.svelte +24 -3
- package/package/components/runs/runsFilter.d.ts +1 -1
- package/package/components/schema/FlowPropertyEditor.svelte +30 -1
- package/package/components/schema/FlowPropertyEditor.svelte.d.ts +5 -2
- package/package/components/script_builder.d.ts +1 -1
- package/package/components/search/GlobalSearchModal.svelte +8 -1
- package/package/components/select/Select.svelte +3 -2
- package/package/components/select/Select.svelte.d.ts +1 -0
- package/package/components/settings/CreateToken.svelte +91 -71
- package/package/components/settings/CreateToken.svelte.d.ts +3 -0
- package/package/components/settings/EditTokenScopesModal.svelte +57 -0
- package/package/components/settings/EditTokenScopesModal.svelte.d.ts +10 -0
- package/package/components/settings/ScopesPicker.svelte +43 -0
- package/package/components/settings/ScopesPicker.svelte.d.ts +11 -0
- package/package/components/settings/TokensTable.svelte +51 -15
- package/package/components/settings/WorkspaceUserSettings.svelte +34 -28
- package/package/components/sidebar/OperatorMenu.svelte +6 -0
- package/package/components/sidebar/SidebarContent.svelte +68 -2
- package/package/components/sidebar/WorkspaceMenu.svelte +8 -4
- package/package/components/triggers/AddTriggersButton.svelte +17 -0
- package/package/components/triggers/CaptureWrapper.svelte +19 -1
- package/package/components/triggers/PermissionedAsLine.svelte +37 -3
- package/package/components/triggers/PermissionedAsLine.svelte.d.ts +6 -0
- package/package/components/triggers/TriggerEditorToolbar.svelte.d.ts +1 -1
- package/package/components/triggers/TriggerModeToggle.svelte +36 -7
- package/package/components/triggers/TriggerModeToggle.svelte.d.ts +1 -1
- package/package/components/triggers/TriggerSuspendedJobsModal.svelte.d.ts +1 -1
- package/package/components/triggers/TriggersEditor.svelte +10 -2
- package/package/components/triggers/TriggersWrapper.svelte +20 -0
- package/package/components/triggers/azure/AzureCapture.svelte +41 -0
- package/package/components/triggers/azure/AzureCapture.svelte.d.ts +44 -0
- package/package/components/triggers/azure/AzureTriggerEditor.svelte +20 -0
- package/package/components/triggers/azure/AzureTriggerEditor.svelte.d.ts +9 -0
- package/package/components/triggers/azure/AzureTriggerEditorConfigSection.svelte +301 -0
- package/package/components/triggers/azure/AzureTriggerEditorConfigSection.svelte.d.ts +16 -0
- package/package/components/triggers/azure/AzureTriggerEditorInner.svelte +422 -0
- package/package/components/triggers/azure/AzureTriggerEditorInner.svelte.d.ts +25 -0
- package/package/components/triggers/azure/AzureTriggerPanel.svelte +55 -0
- package/package/components/triggers/azure/AzureTriggerPanel.svelte.d.ts +10 -0
- package/{dist/sharedUtils/components/triggers/kafka → package/components/triggers/azure}/utils.d.ts +1 -1
- package/package/components/triggers/azure/utils.js +56 -0
- package/package/components/triggers/email/EmailTriggerEditorInner.svelte +15 -11
- package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +22 -14
- package/package/components/triggers/http/RouteEditorConfigSection.svelte +15 -7
- package/package/components/triggers/http/RouteEditorInner.svelte +16 -14
- package/package/components/triggers/http/RoutesGenerator.svelte +6 -1
- package/package/components/triggers/http/RoutesPanel.svelte +1 -1
- package/package/components/triggers/http/utils.d.ts +1 -1
- package/package/components/triggers/http/utils.js +2 -2
- package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +22 -14
- package/package/components/triggers/mqtt/MqttTriggerEditorInner.svelte +22 -14
- package/package/components/triggers/native/NativeTriggerEditor.svelte +3 -0
- package/package/components/triggers/native/services/github/GitHubTriggerForm.svelte +118 -0
- package/package/components/triggers/native/services/github/GitHubTriggerForm.svelte.d.ts +17 -0
- package/package/components/triggers/native/utils.js +14 -0
- package/package/components/triggers/nats/NatsTriggerEditor.svelte.d.ts +4 -3
- package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +22 -14
- package/package/components/triggers/postgres/PostgresTriggerEditor.svelte.d.ts +4 -3
- package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte +22 -14
- package/package/components/triggers/schedules/ScheduleEditorInner.svelte +22 -14
- package/package/components/triggers/sqs/SqsTriggerEditor.svelte.d.ts +4 -3
- package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte +22 -14
- package/package/components/triggers/triggers.svelte.d.ts +1 -0
- package/package/components/triggers/triggers.svelte.js +24 -1
- package/package/components/triggers/utils.js +47 -6
- package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +22 -14
- package/package/components/triggers.d.ts +1 -1
- package/package/components/useFolderDefaultPermissionedAs.svelte.d.ts +13 -0
- package/package/components/useFolderDefaultPermissionedAs.svelte.js +63 -0
- package/package/components/useNestedRestartState.svelte.d.ts +56 -0
- package/package/components/useNestedRestartState.svelte.js +320 -0
- package/package/components/workspaceSettings/CreateWorkspace.svelte +16 -677
- package/package/components/workspaceSettings/CreateWorkspaceInner.svelte +604 -0
- package/package/components/workspaceSettings/CreateWorkspaceInner.svelte.d.ts +7 -0
- package/package/components/workspaceSettings/CustomInstanceDbSelect.svelte +27 -25
- package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte +46 -8
- package/package/components/workspaceSettings/DataTableSettings.svelte +27 -22
- package/package/components/workspaceSettings/DucklakeSettings.svelte +1 -1
- package/package/components/workspaceSettings/ForkDatatableSection.svelte +228 -0
- package/package/components/workspaceSettings/ForkDatatableSection.svelte.d.ts +28 -0
- package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +8 -2
- package/package/components/workspaceSettings/RulesetEditor.svelte +27 -2
- package/package/components/workspaceSettings/SharedUiSettings.svelte +175 -0
- package/package/components/workspaceSettings/SharedUiSettings.svelte.d.ts +3 -0
- package/package/components/workspaceSettings/VolumeStorageSettings.svelte +1 -1
- package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +17 -1
- package/package/consts.d.ts +3 -0
- package/package/consts.js +10 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +795 -59
- package/package/gen/schemas.gen.js +801 -60
- package/package/gen/services.gen.d.ts +475 -5
- package/package/gen/services.gen.js +976 -23
- package/package/gen/types.gen.d.ts +1865 -75
- package/package/githubApp.js +5 -1
- package/package/hubPaths.json +2 -8
- package/package/infer.d.ts +1 -1
- package/package/infer.js +50 -52
- package/package/infer.svelte.js +10 -1
- package/package/mcpEndpointTools.js +60 -4
- package/package/monaco_workers/sqlTypePlugin.worker.d.ts +10 -0
- package/package/monaco_workers/sqlTypePlugin.worker.js +39 -0
- package/package/script_helpers.d.ts +8 -2
- package/package/script_helpers.js +31 -0
- package/package/stores.d.ts +11 -0
- package/package/stores.js +6 -0
- package/package/system_prompts/index.d.ts +1 -0
- package/package/system_prompts/index.js +8 -0
- package/package/system_prompts/prompts.d.ts +17 -13
- package/package/system_prompts/prompts.js +921 -61
- package/package/templates/ci_test_bun.ts.template +27 -0
- package/package/templates/ci_test_python.py.template +26 -0
- package/package/utils/forkConflict.d.ts +26 -0
- package/package/utils/forkConflict.js +56 -0
- package/package/utils_deployable.d.ts +164 -121
- package/package/utils_deployable.js +61 -11
- package/package/utils_workspace_deploy.d.ts +8 -8
- package/package/utils_workspace_deploy.js +89 -421
- package/package.json +30 -6
- 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/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/copilot/chat/__tests__/app/appChat.eval.test.js +0 -153
- package/package/components/copilot/chat/__tests__/app/appEvalComparison.d.ts +0 -21
- package/package/components/copilot/chat/__tests__/app/appEvalComparison.js +0 -136
- package/package/components/copilot/chat/__tests__/app/appEvalHelpers.d.ts +0 -15
- package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +0 -107
- package/package/components/copilot/chat/__tests__/app/appEvalRunner.d.ts +0 -50
- package/package/components/copilot/chat/__tests__/app/appEvalRunner.js +0 -93
- package/package/components/copilot/chat/__tests__/app/appFixtureLoader.d.ts +0 -29
- package/package/components/copilot/chat/__tests__/app/appFixtureLoader.js +0 -134
- package/package/components/copilot/chat/__tests__/app/appResultsWriter.d.ts +0 -30
- package/package/components/copilot/chat/__tests__/app/appResultsWriter.js +0 -197
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/main.d.ts +0 -10
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/main.js +0 -9
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/main.d.ts +0 -6
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/main.js +0 -5
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/main.d.ts +0 -12
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/main.js +0 -14
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/main.d.ts +0 -8
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/main.js +0 -25
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/main.d.ts +0 -7
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/main.js +0 -5
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/main.d.ts +0 -8
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/main.js +0 -5
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Breadcrumb.d.ts +0 -10
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Breadcrumb.tsx +0 -26
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileItem.d.ts +0 -10
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileItem.tsx +0 -79
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileList.d.ts +0 -10
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileList.tsx +0 -46
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FolderTree.d.ts +0 -10
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FolderTree.tsx +0 -56
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Toolbar.d.ts +0 -6
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Toolbar.tsx +0 -59
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/index.d.ts +0 -16
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/index.tsx +0 -119
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/main.d.ts +0 -15
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/main.js +0 -14
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/main.d.ts +0 -14
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/main.js +0 -5
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/main.d.ts +0 -6
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/main.js +0 -41
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/main.d.ts +0 -15
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/main.js +0 -3
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/Cart.d.ts +0 -9
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/Cart.tsx +0 -51
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductCard.d.ts +0 -8
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductCard.tsx +0 -27
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductList.d.ts +0 -8
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductList.tsx +0 -18
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/index.d.ts +0 -12
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/index.tsx +0 -81
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/main.d.ts +0 -3
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/main.js +0 -3
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/main.d.ts +0 -3
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/main.js +0 -3
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/frontend/index.d.ts +0 -2
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/frontend/index.tsx +0 -38
- package/package/components/copilot/chat/__tests__/app/variants/baseline.d.ts +0 -6
- package/package/components/copilot/chat/__tests__/app/variants/baseline.js +0 -10
- package/package/components/copilot/chat/__tests__/app/variants/index.d.ts +0 -3
- package/package/components/copilot/chat/__tests__/app/variants/index.js +0 -3
- package/package/components/copilot/chat/__tests__/app/variants/streamlined.d.ts +0 -6
- package/package/components/copilot/chat/__tests__/app/variants/streamlined.js +0 -137
- package/package/components/copilot/chat/__tests__/flow/expected/test1.json +0 -134
- package/package/components/copilot/chat/__tests__/flow/expected/test2.json +0 -183
- package/package/components/copilot/chat/__tests__/flow/expected/test3.json +0 -204
- package/package/components/copilot/chat/__tests__/flow/expected/test4.json +0 -175
- package/package/components/copilot/chat/__tests__/flow/expected/test5_modify_simple.json +0 -68
- package/package/components/copilot/chat/__tests__/flow/expected/test6_modify_medium.json +0 -142
- package/package/components/copilot/chat/__tests__/flow/expected/test7_modify_complex.json +0 -136
- package/package/components/copilot/chat/__tests__/flow/flowChat.eval.test.js +0 -294
- package/package/components/copilot/chat/__tests__/flow/flowEvalComparison.d.ts +0 -17
- package/package/components/copilot/chat/__tests__/flow/flowEvalComparison.js +0 -49
- package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.d.ts +0 -12
- package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +0 -79
- package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.d.ts +0 -50
- package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.js +0 -102
- package/package/components/copilot/chat/__tests__/flow/initial/test5_initial.json +0 -53
- package/package/components/copilot/chat/__tests__/flow/initial/test6_initial.json +0 -68
- package/package/components/copilot/chat/__tests__/flow/initial/test7_initial.json +0 -120
- package/package/components/copilot/chat/__tests__/flow/variants/baseline.d.ts +0 -6
- package/package/components/copilot/chat/__tests__/flow/variants/baseline.js +0 -10
- package/package/components/copilot/chat/__tests__/flow/variants/index.d.ts +0 -3
- package/package/components/copilot/chat/__tests__/flow/variants/index.js +0 -3
- package/package/components/copilot/chat/__tests__/flow/variants/minimal-single-tool.d.ts +0 -15
- package/package/components/copilot/chat/__tests__/flow/variants/minimal-single-tool.js +0 -388
- package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.d.ts +0 -45
- package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.js +0 -121
- package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.d.ts +0 -28
- package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.js +0 -96
- package/package/components/copilot/chat/__tests__/shared/baseResultsWriter.d.ts +0 -32
- package/package/components/copilot/chat/__tests__/shared/baseResultsWriter.js +0 -130
- package/package/components/copilot/chat/__tests__/shared/baseVariants.d.ts +0 -45
- package/package/components/copilot/chat/__tests__/shared/baseVariants.js +0 -57
- package/package/components/copilot/chat/__tests__/shared/index.d.ts +0 -10
- package/package/components/copilot/chat/__tests__/shared/index.js +0 -5
- package/package/components/copilot/chat/__tests__/shared/types.d.ts +0 -105
- package/package/components/copilot/chat/__tests__/shared/types.js +0 -9
- package/package/components/copilot/chat/flow/openFlowZod.js +0 -24
- package/package/components/copilot/chat/flow/utils.d.ts +0 -14
- package/package/components/copilot/chat/flow/utils.js +0 -108
- package/package/components/flows/agentToolUtils.test.js +0 -55
- /package/package/components/copilot/chat/{__tests__/app/appChat.eval.test.d.ts → app/core.test.d.ts} +0 -0
- /package/package/components/copilot/chat/{__tests__/flow/flowChat.eval.test.d.ts → flow/helperUtils.test.d.ts} +0 -0
- /package/package/components/copilot/chat/flow/{openFlowZod.d.ts → openFlowZod.gen.d.ts} +0 -0
- /package/package/components/{flows/agentToolUtils.test.d.ts → copilot/chat/flow/utils.test.d.ts} +0 -0
|
@@ -5,10 +5,9 @@
|
|
|
5
5
|
* This decouples diff management from specific UI components (like AI chat) and makes it
|
|
6
6
|
* available for any use case that needs to track and apply flow changes.
|
|
7
7
|
*/
|
|
8
|
-
import { buildFlowTimeline, insertModuleIntoFlow,
|
|
8
|
+
import { buildFlowTimeline, insertModuleIntoFlow, locationsEqual, DUPLICATE_MODULE_PREFIX, NEW_MODULE_PREFIX } from './flowDiff';
|
|
9
|
+
import { findModuleInFlow, findModuleParent, removeFlowModule, replaceFlowModule } from './flowTree';
|
|
9
10
|
import { refreshStateStore } from '../../svelte5Utils.svelte';
|
|
10
|
-
import { getIndexInNestedModules } from '../copilot/chat/flow/utils';
|
|
11
|
-
import { dfs } from './previousResults';
|
|
12
11
|
import { SPECIAL_MODULE_IDS } from '../copilot/chat/shared';
|
|
13
12
|
/**
|
|
14
13
|
* Creates a flow diff manager instance
|
|
@@ -26,7 +25,7 @@ function createSkeletonModule(module) {
|
|
|
26
25
|
clone.value.branches.forEach((b) => (b.modules = []));
|
|
27
26
|
}
|
|
28
27
|
else if (clone.value.type === 'aiagent') {
|
|
29
|
-
clone.value.tools = [];
|
|
28
|
+
clone.value.tools = (clone.value.tools ?? []).filter((t) => t.value?.tool_type && t.value.tool_type !== 'flowmodule');
|
|
30
29
|
}
|
|
31
30
|
return clone;
|
|
32
31
|
}
|
|
@@ -134,47 +133,12 @@ export function createFlowDiffManager({ testMode = false } = {}) {
|
|
|
134
133
|
function setModuleActions(actions) {
|
|
135
134
|
updateModuleActions(actions);
|
|
136
135
|
}
|
|
137
|
-
/**
|
|
138
|
-
* Helper to get a module from a flow by ID
|
|
139
|
-
*/
|
|
140
|
-
function getModuleFromFlow(id, flow) {
|
|
141
|
-
if (flow.value.preprocessor_module?.id === id) {
|
|
142
|
-
return flow.value.preprocessor_module;
|
|
143
|
-
}
|
|
144
|
-
else if (flow.value.failure_module?.id === id) {
|
|
145
|
-
return flow.value.failure_module;
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
return dfs(id, flow, false)[0];
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
136
|
/**
|
|
152
137
|
* Internal helper to delete a module from a flow object
|
|
153
138
|
* Returns true if the module was found and deleted, false otherwise
|
|
154
139
|
*/
|
|
155
140
|
function deleteModuleInternal(id, flow) {
|
|
156
|
-
|
|
157
|
-
flow.value.preprocessor_module = undefined;
|
|
158
|
-
return true;
|
|
159
|
-
}
|
|
160
|
-
else if (flow.value.failure_module?.id === id) {
|
|
161
|
-
flow.value.failure_module = undefined;
|
|
162
|
-
return true;
|
|
163
|
-
}
|
|
164
|
-
else {
|
|
165
|
-
const result = getIndexInNestedModules(flow, id);
|
|
166
|
-
if (!result) {
|
|
167
|
-
// Module not found (may have been deleted along with a parent)
|
|
168
|
-
return false;
|
|
169
|
-
}
|
|
170
|
-
const { modules } = result;
|
|
171
|
-
const index = modules.findIndex((m) => m.id === id);
|
|
172
|
-
if (index >= 0) {
|
|
173
|
-
modules.splice(index, 1);
|
|
174
|
-
return true;
|
|
175
|
-
}
|
|
176
|
-
return false;
|
|
177
|
-
}
|
|
141
|
+
return removeFlowModule(flow.value, id) !== null;
|
|
178
142
|
}
|
|
179
143
|
/**
|
|
180
144
|
* Helper to delete a module from the flow
|
|
@@ -221,7 +185,7 @@ export function createFlowDiffManager({ testMode = false } = {}) {
|
|
|
221
185
|
parentLoc.type !== 'root' &&
|
|
222
186
|
parentLoc.type !== 'failure' &&
|
|
223
187
|
parentLoc.type !== 'preprocessor') {
|
|
224
|
-
const parentInBefore =
|
|
188
|
+
const parentInBefore = findModuleInFlow(beforeFlow.value, parentLoc.parentId) ?? undefined;
|
|
225
189
|
if (!parentInBefore) {
|
|
226
190
|
// Parent is missing in beforeFlow. It must be pending acceptance.
|
|
227
191
|
// Accept as skeleton to avoid auto-accepting all siblings.
|
|
@@ -229,13 +193,10 @@ export function createFlowDiffManager({ testMode = false } = {}) {
|
|
|
229
193
|
}
|
|
230
194
|
}
|
|
231
195
|
// Use insertModuleIntoFlow targeting beforeFlow, sourcing position from currentFlow
|
|
232
|
-
let module =
|
|
233
|
-
value: currentFlow,
|
|
234
|
-
summary: ''
|
|
235
|
-
});
|
|
196
|
+
let module = findModuleInFlow(currentFlow, actualId) ?? undefined;
|
|
236
197
|
if (module) {
|
|
237
198
|
// Check if module already exists in beforeFlow (could be a skeleton from earlier acceptance)
|
|
238
|
-
const existingModule =
|
|
199
|
+
const existingModule = findModuleInFlow(beforeFlow.value, actualId) ?? undefined;
|
|
239
200
|
if (existingModule) {
|
|
240
201
|
// Module exists in beforeFlow - check if it's in the same location
|
|
241
202
|
const beforeLocation = findModuleParent(beforeFlow.value, actualId);
|
|
@@ -245,8 +206,7 @@ export function createFlowDiffManager({ testMode = false } = {}) {
|
|
|
245
206
|
if (sameLocation) {
|
|
246
207
|
// Module is in the same location, update it in-place
|
|
247
208
|
const moduleToApply = asSkeleton ? createSkeletonModule(module) : module;
|
|
248
|
-
|
|
249
|
-
Object.assign(existingModule, $state.snapshot(moduleToApply));
|
|
209
|
+
replaceFlowModule(existingModule, $state.snapshot(moduleToApply));
|
|
250
210
|
}
|
|
251
211
|
else {
|
|
252
212
|
// Module is being moved - insert at new location (the old copy will be removed when old__id is accepted)
|
|
@@ -263,14 +223,10 @@ export function createFlowDiffManager({ testMode = false } = {}) {
|
|
|
263
223
|
}
|
|
264
224
|
else if (info.action === 'modified') {
|
|
265
225
|
// Modified: Apply modifications to beforeFlow module
|
|
266
|
-
const beforeModule =
|
|
267
|
-
const afterModule =
|
|
268
|
-
value: currentFlow,
|
|
269
|
-
summary: ''
|
|
270
|
-
});
|
|
226
|
+
const beforeModule = findModuleInFlow(beforeFlow.value, actualId) ?? undefined;
|
|
227
|
+
const afterModule = findModuleInFlow(currentFlow, actualId) ?? undefined;
|
|
271
228
|
if (beforeModule && afterModule) {
|
|
272
|
-
|
|
273
|
-
Object.assign(beforeModule, $state.snapshot(afterModule));
|
|
229
|
+
replaceFlowModule(beforeModule, $state.snapshot(afterModule));
|
|
274
230
|
}
|
|
275
231
|
}
|
|
276
232
|
}
|
|
@@ -303,11 +259,11 @@ export function createFlowDiffManager({ testMode = false } = {}) {
|
|
|
303
259
|
else if (info.action === 'removed') {
|
|
304
260
|
// Removed in after: Restore to flowStore (currentFlow)
|
|
305
261
|
// Source from beforeFlow
|
|
306
|
-
const oldModule =
|
|
262
|
+
const oldModule = findModuleInFlow(beforeFlow.value, actualId) ?? undefined;
|
|
307
263
|
if (oldModule) {
|
|
308
264
|
// For type changes (old__ prefix), rename the new module to avoid ID conflict
|
|
309
265
|
if (id.startsWith(DUPLICATE_MODULE_PREFIX)) {
|
|
310
|
-
const existingNew =
|
|
266
|
+
const existingNew = findModuleInFlow(flowStore.val.value, actualId) ?? undefined;
|
|
311
267
|
if (existingNew) {
|
|
312
268
|
existingNew.id = `${NEW_MODULE_PREFIX}${actualId}`;
|
|
313
269
|
}
|
|
@@ -318,11 +274,10 @@ export function createFlowDiffManager({ testMode = false } = {}) {
|
|
|
318
274
|
}
|
|
319
275
|
else if (info.action === 'modified') {
|
|
320
276
|
// Modified: Revert modifications in flowStore (currentFlow)
|
|
321
|
-
const oldModule =
|
|
322
|
-
const newModule =
|
|
277
|
+
const oldModule = findModuleInFlow(beforeFlow.value, actualId) ?? undefined;
|
|
278
|
+
const newModule = findModuleInFlow(flowStore.val.value, actualId) ?? undefined;
|
|
323
279
|
if (oldModule && newModule) {
|
|
324
|
-
|
|
325
|
-
Object.assign(newModule, $state.snapshot(oldModule));
|
|
280
|
+
replaceFlowModule(newModule, $state.snapshot(oldModule));
|
|
326
281
|
}
|
|
327
282
|
refreshStateStore(flowStore);
|
|
328
283
|
}
|
|
@@ -391,20 +346,10 @@ export function createFlowDiffManager({ testMode = false } = {}) {
|
|
|
391
346
|
}
|
|
392
347
|
else {
|
|
393
348
|
// Show module diff
|
|
394
|
-
const beforeModule =
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
if (currentFlow.preprocessor_module?.id === moduleId) {
|
|
399
|
-
afterModule = currentFlow.preprocessor_module;
|
|
400
|
-
}
|
|
401
|
-
else if (currentFlow.failure_module?.id === moduleId) {
|
|
402
|
-
afterModule = currentFlow.failure_module;
|
|
403
|
-
}
|
|
404
|
-
else {
|
|
405
|
-
afterModule = dfs(moduleId, { value: currentFlow, summary: '' }, false)[0];
|
|
406
|
-
}
|
|
407
|
-
}
|
|
349
|
+
const beforeModule = findModuleInFlow(beforeFlow.value, moduleId) ?? undefined;
|
|
350
|
+
const afterModule = currentFlow
|
|
351
|
+
? (findModuleInFlow(currentFlow, moduleId) ?? undefined)
|
|
352
|
+
: undefined;
|
|
408
353
|
if (beforeModule && afterModule) {
|
|
409
354
|
diffDrawer.openDrawer();
|
|
410
355
|
diffDrawer.setDiff({
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
1
|
+
import { describe, it, expect, vi } from 'vitest';
|
|
2
2
|
import { flushSync } from 'svelte';
|
|
3
3
|
import { createFlowDiffManager } from './flowDiffManager.svelte';
|
|
4
4
|
import { DUPLICATE_MODULE_PREFIX, NEW_MODULE_PREFIX } from './flowDiff';
|
|
5
5
|
import { SPECIAL_MODULE_IDS } from '../copilot/chat/shared';
|
|
6
|
-
import { createRawScriptModule, createForloopModule, createBranchOneModule, createBranchAllModule, createExtendedOpenFlow, createFlowStore, deepClone, expectModuleOrder, createIdentityModule } from './flowDiff.testUtils';
|
|
6
|
+
import { createRawScriptModule, createForloopModule, createBranchOneModule, createBranchAllModule, createExtendedOpenFlow, createFlowStore, createFlowWithSpecialModules, deepClone, expectModuleOrder, createIdentityModule, createAiAgentModule, createFlowModuleTool } from './flowDiff.testUtils';
|
|
7
|
+
vi.mock('../copilot/chat/shared', () => ({
|
|
8
|
+
SPECIAL_MODULE_IDS: {
|
|
9
|
+
INPUT: 'Input',
|
|
10
|
+
PREPROCESSOR: 'preprocessor',
|
|
11
|
+
FAILURE: 'failure'
|
|
12
|
+
}
|
|
13
|
+
}));
|
|
7
14
|
describe('FlowDiffManager', () => {
|
|
8
15
|
describe('effect auto-computation', () => {
|
|
9
16
|
it('auto-computes moduleActions when flows differ', () => {
|
|
@@ -153,6 +160,30 @@ describe('FlowDiffManager', () => {
|
|
|
153
160
|
});
|
|
154
161
|
cleanup();
|
|
155
162
|
});
|
|
163
|
+
it('accepts added preprocessor module - stores it on beforeFlow', () => {
|
|
164
|
+
const cleanup = $effect.root(() => {
|
|
165
|
+
const manager = createFlowDiffManager({ testMode: true });
|
|
166
|
+
const preprocessor = createRawScriptModule(SPECIAL_MODULE_IDS.PREPROCESSOR, 'prep');
|
|
167
|
+
const beforeFlow = createExtendedOpenFlow({ modules: [] });
|
|
168
|
+
const afterFlow = createFlowWithSpecialModules({
|
|
169
|
+
preprocessor_module: deepClone(preprocessor)
|
|
170
|
+
});
|
|
171
|
+
manager.setEditMode(true);
|
|
172
|
+
manager.setBeforeFlow(beforeFlow);
|
|
173
|
+
manager.setCurrentFlow(afterFlow);
|
|
174
|
+
flushSync();
|
|
175
|
+
expect(manager.moduleActions[SPECIAL_MODULE_IDS.PREPROCESSOR]).toEqual({
|
|
176
|
+
action: 'added',
|
|
177
|
+
pending: true
|
|
178
|
+
});
|
|
179
|
+
manager.acceptModule(SPECIAL_MODULE_IDS.PREPROCESSOR);
|
|
180
|
+
flushSync();
|
|
181
|
+
expect(manager.beforeFlow?.value.preprocessor_module?.id).toBe(SPECIAL_MODULE_IDS.PREPROCESSOR);
|
|
182
|
+
expect(manager.beforeFlow?.value.preprocessor_module?.value
|
|
183
|
+
?.content).toBe('prep');
|
|
184
|
+
});
|
|
185
|
+
cleanup();
|
|
186
|
+
});
|
|
156
187
|
it('handles duplicate ID prefix (old__) for type changes', () => {
|
|
157
188
|
const cleanup = $effect.root(() => {
|
|
158
189
|
const manager = createFlowDiffManager({ testMode: true });
|
|
@@ -274,6 +305,29 @@ describe('FlowDiffManager', () => {
|
|
|
274
305
|
});
|
|
275
306
|
cleanup();
|
|
276
307
|
});
|
|
308
|
+
it('rejects removed failure module - restores it on flowStore', () => {
|
|
309
|
+
const cleanup = $effect.root(() => {
|
|
310
|
+
const manager = createFlowDiffManager({ testMode: true });
|
|
311
|
+
const failure = createRawScriptModule(SPECIAL_MODULE_IDS.FAILURE, 'fail');
|
|
312
|
+
const beforeFlow = createExtendedOpenFlow(createFlowWithSpecialModules({
|
|
313
|
+
failure_module: deepClone(failure)
|
|
314
|
+
}));
|
|
315
|
+
const flowStore = createFlowStore(createExtendedOpenFlow({ modules: [] }));
|
|
316
|
+
manager.setEditMode(true);
|
|
317
|
+
manager.setBeforeFlow(beforeFlow);
|
|
318
|
+
manager.setCurrentFlow(flowStore.val.value);
|
|
319
|
+
flushSync();
|
|
320
|
+
expect(manager.moduleActions[SPECIAL_MODULE_IDS.FAILURE]).toEqual({
|
|
321
|
+
action: 'removed',
|
|
322
|
+
pending: true
|
|
323
|
+
});
|
|
324
|
+
manager.rejectModule(SPECIAL_MODULE_IDS.FAILURE, flowStore);
|
|
325
|
+
flushSync();
|
|
326
|
+
expect(flowStore.val.value.failure_module?.id).toBe(SPECIAL_MODULE_IDS.FAILURE);
|
|
327
|
+
expect(flowStore.val.value.failure_module?.value?.content).toBe('fail');
|
|
328
|
+
});
|
|
329
|
+
cleanup();
|
|
330
|
+
});
|
|
277
331
|
it('does not crash without flowStore', () => {
|
|
278
332
|
const cleanup = $effect.root(() => {
|
|
279
333
|
const manager = createFlowDiffManager({ testMode: true });
|
|
@@ -1251,5 +1305,52 @@ describe('FlowDiffManager', () => {
|
|
|
1251
1305
|
});
|
|
1252
1306
|
cleanup();
|
|
1253
1307
|
});
|
|
1308
|
+
it('accepts an added ai agent tool into beforeFlow', () => {
|
|
1309
|
+
const cleanup = $effect.root(() => {
|
|
1310
|
+
const manager = createFlowDiffManager({ testMode: true });
|
|
1311
|
+
const lookupTool = createFlowModuleTool(createRawScriptModule('lookup_user', 'lookup'));
|
|
1312
|
+
const sumTool = createFlowModuleTool(createRawScriptModule('sum', 'sum'));
|
|
1313
|
+
const beforeFlow = createExtendedOpenFlow({
|
|
1314
|
+
modules: [createAiAgentModule('agent', [deepClone(lookupTool)])]
|
|
1315
|
+
});
|
|
1316
|
+
const currentFlowValue = {
|
|
1317
|
+
modules: [createAiAgentModule('agent', [deepClone(lookupTool), deepClone(sumTool)])]
|
|
1318
|
+
};
|
|
1319
|
+
manager.setEditMode(true);
|
|
1320
|
+
manager.setBeforeFlow(beforeFlow);
|
|
1321
|
+
manager.setCurrentFlow(currentFlowValue);
|
|
1322
|
+
flushSync();
|
|
1323
|
+
expect(manager.moduleActions['sum']).toEqual({ action: 'added', pending: true });
|
|
1324
|
+
manager.acceptModule('sum');
|
|
1325
|
+
flushSync();
|
|
1326
|
+
const tools = (((manager.beforeFlow?.value.modules ?? [])[0]?.value).tools ?? []);
|
|
1327
|
+
expect(tools.map((tool) => tool.id)).toEqual(['lookup_user', 'sum']);
|
|
1328
|
+
});
|
|
1329
|
+
cleanup();
|
|
1330
|
+
});
|
|
1331
|
+
it('rejects a removed ai agent tool back into the live flow', () => {
|
|
1332
|
+
const cleanup = $effect.root(() => {
|
|
1333
|
+
const manager = createFlowDiffManager({ testMode: true });
|
|
1334
|
+
const lookupTool = createFlowModuleTool(createRawScriptModule('lookup_user', 'lookup'));
|
|
1335
|
+
const sumTool = createFlowModuleTool(createRawScriptModule('sum', 'sum'));
|
|
1336
|
+
const beforeFlow = createExtendedOpenFlow({
|
|
1337
|
+
modules: [createAiAgentModule('agent', [deepClone(lookupTool), deepClone(sumTool)])]
|
|
1338
|
+
});
|
|
1339
|
+
const currentFlowValue = {
|
|
1340
|
+
modules: [createAiAgentModule('agent', [deepClone(lookupTool)])]
|
|
1341
|
+
};
|
|
1342
|
+
const flowStore = createFlowStore(createExtendedOpenFlow(currentFlowValue));
|
|
1343
|
+
manager.setEditMode(true);
|
|
1344
|
+
manager.setBeforeFlow(beforeFlow);
|
|
1345
|
+
manager.setCurrentFlow(flowStore.val.value);
|
|
1346
|
+
flushSync();
|
|
1347
|
+
expect(manager.moduleActions['sum']).toEqual({ action: 'removed', pending: true });
|
|
1348
|
+
manager.rejectModule('sum', flowStore);
|
|
1349
|
+
flushSync();
|
|
1350
|
+
const tools = (((flowStore.val.value.modules ?? [])[0]?.value).tools ?? []);
|
|
1351
|
+
expect(tools.map((tool) => tool.id)).toEqual(['lookup_user', 'sum']);
|
|
1352
|
+
});
|
|
1353
|
+
cleanup();
|
|
1354
|
+
});
|
|
1254
1355
|
});
|
|
1255
1356
|
});
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { FlowModule, OpenFlow } from '../../gen';
|
|
2
2
|
type ModuleBranches = FlowModule[][];
|
|
3
|
+
/**
|
|
4
|
+
* Returns read-only child-module branches for explorer/search-style consumers.
|
|
5
|
+
* Structural knowledge lives in `flowTree.ts`; this file is a thin read-only adapter.
|
|
6
|
+
*/
|
|
3
7
|
export declare function getSubModules(flowModule: FlowModule): ModuleBranches;
|
|
4
8
|
export declare function getAllSubmodules(flowModule: FlowModule): ModuleBranches;
|
|
5
9
|
export declare function getAllModules(flow_modules: FlowModule[], failure_module?: FlowModule): FlowModule[];
|
|
@@ -1,37 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { collectDescendantFlowModules, getChildModuleBranches } from './flowTree';
|
|
2
|
+
/**
|
|
3
|
+
* Returns read-only child-module branches for explorer/search-style consumers.
|
|
4
|
+
* Structural knowledge lives in `flowTree.ts`; this file is a thin read-only adapter.
|
|
5
|
+
*/
|
|
2
6
|
export function getSubModules(flowModule) {
|
|
3
|
-
|
|
4
|
-
return [flowModule.value.modules];
|
|
5
|
-
}
|
|
6
|
-
else if (flowModule.value.type === 'branchall') {
|
|
7
|
-
return flowModule.value.branches.map((branch) => branch.modules);
|
|
8
|
-
}
|
|
9
|
-
else if (flowModule.value.type == 'branchone') {
|
|
10
|
-
return [...flowModule.value.branches.map((branch) => branch.modules), flowModule.value.default];
|
|
11
|
-
}
|
|
12
|
-
else if (flowModule.value.type === 'aiagent') {
|
|
13
|
-
// Return AI agent tools as pseudo-FlowModules for searching
|
|
14
|
-
if (flowModule.value.tools) {
|
|
15
|
-
return [
|
|
16
|
-
flowModule.value.tools
|
|
17
|
-
.filter(isFlowModuleTool)
|
|
18
|
-
.map((tool) => ({
|
|
19
|
-
id: tool.id,
|
|
20
|
-
value: tool.value,
|
|
21
|
-
summary: tool.summary
|
|
22
|
-
}))
|
|
23
|
-
];
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return [];
|
|
7
|
+
return getChildModuleBranches(flowModule);
|
|
27
8
|
}
|
|
28
9
|
export function getAllSubmodules(flowModule) {
|
|
29
10
|
return getSubModules(flowModule).map((modules) => {
|
|
30
|
-
return modules
|
|
31
|
-
.map((module) => {
|
|
32
|
-
return [module, ...getAllSubmodules(module).flat()];
|
|
33
|
-
})
|
|
34
|
-
.flat();
|
|
11
|
+
return modules.flatMap((module) => [module, ...collectDescendantFlowModules(module)]);
|
|
35
12
|
});
|
|
36
13
|
}
|
|
37
14
|
export function getAllModules(flow_modules, failure_module) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ScriptService } from '../../gen';
|
|
2
2
|
import { initialCode } from '../../script_helpers';
|
|
3
|
+
import { inferAssets } from '../../infer';
|
|
3
4
|
import { userStore, workspaceStore } from '../../stores';
|
|
4
5
|
import { getScriptByPath } from '../../scripts';
|
|
5
6
|
import { get } from 'svelte/store';
|
|
@@ -26,7 +27,11 @@ export async function loadFlowModuleState(flowModule) {
|
|
|
26
27
|
}
|
|
27
28
|
catch (e) {
|
|
28
29
|
console.debug(e);
|
|
29
|
-
|
|
30
|
+
// Leave schema undefined so onSelectedIdChange in FlowModuleComponent
|
|
31
|
+
// can detect the failed inference and retry when the module is selected.
|
|
32
|
+
return {
|
|
33
|
+
previewResult: NEVER_TESTED_THIS_FAR
|
|
34
|
+
};
|
|
30
35
|
}
|
|
31
36
|
}
|
|
32
37
|
export async function pickScript(path, summary, id, hash, kind) {
|
|
@@ -47,6 +52,9 @@ export async function pickFlow(path, summary, id) {
|
|
|
47
52
|
}
|
|
48
53
|
export async function createInlineScriptModule(language, kind, subkind, id, summary) {
|
|
49
54
|
const code = initialCode(language, kind, subkind);
|
|
55
|
+
// Needed when the predefined code has assets in it
|
|
56
|
+
const inferResult = await inferAssets(language, code);
|
|
57
|
+
const assets = inferResult.status === 'ok' && inferResult.assets.length > 0 ? inferResult.assets : undefined;
|
|
50
58
|
const flowModule = {
|
|
51
59
|
id,
|
|
52
60
|
summary,
|
|
@@ -55,7 +63,8 @@ export async function createInlineScriptModule(language, kind, subkind, id, summ
|
|
|
55
63
|
content: code,
|
|
56
64
|
language,
|
|
57
65
|
input_transforms: {},
|
|
58
|
-
...(kind === 'trigger' ? { is_trigger: true } : {})
|
|
66
|
+
...(kind === 'trigger' ? { is_trigger: true } : {}),
|
|
67
|
+
...(assets ? { assets } : {})
|
|
59
68
|
}
|
|
60
69
|
};
|
|
61
70
|
return [flowModule, await loadFlowModuleState(flowModule)];
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { FlowModule } from '../../gen';
|
|
2
|
+
export type FlowModuleTree = {
|
|
3
|
+
modules?: FlowModule[] | null;
|
|
4
|
+
failure_module?: FlowModule | null;
|
|
5
|
+
preprocessor_module?: FlowModule | null;
|
|
6
|
+
};
|
|
7
|
+
export type ModuleParentLocation = {
|
|
8
|
+
type: 'root';
|
|
9
|
+
index: number;
|
|
10
|
+
} | {
|
|
11
|
+
type: 'forloop' | 'whileloop';
|
|
12
|
+
parentId: string;
|
|
13
|
+
index: number;
|
|
14
|
+
} | {
|
|
15
|
+
type: 'branchone-default';
|
|
16
|
+
parentId: string;
|
|
17
|
+
index: number;
|
|
18
|
+
} | {
|
|
19
|
+
type: 'branchone-branch';
|
|
20
|
+
parentId: string;
|
|
21
|
+
branchIndex: number;
|
|
22
|
+
index: number;
|
|
23
|
+
} | {
|
|
24
|
+
type: 'branchall-branch';
|
|
25
|
+
parentId: string;
|
|
26
|
+
branchIndex: number;
|
|
27
|
+
index: number;
|
|
28
|
+
} | {
|
|
29
|
+
type: 'aiagent';
|
|
30
|
+
parentId: string;
|
|
31
|
+
index: number;
|
|
32
|
+
} | {
|
|
33
|
+
type: 'failure';
|
|
34
|
+
index: -1;
|
|
35
|
+
} | {
|
|
36
|
+
type: 'preprocessor';
|
|
37
|
+
index: -1;
|
|
38
|
+
};
|
|
39
|
+
export type ArrayBackedModuleParentLocation = Exclude<ModuleParentLocation, {
|
|
40
|
+
type: 'failure';
|
|
41
|
+
index: -1;
|
|
42
|
+
} | {
|
|
43
|
+
type: 'preprocessor';
|
|
44
|
+
index: -1;
|
|
45
|
+
}>;
|
|
46
|
+
type ArrayBackedFlowNodeMatch = {
|
|
47
|
+
module: FlowModule;
|
|
48
|
+
location: ArrayBackedModuleParentLocation;
|
|
49
|
+
container: FlowModule[];
|
|
50
|
+
};
|
|
51
|
+
export type FlowNodeMatch = ArrayBackedFlowNodeMatch | {
|
|
52
|
+
module: FlowModule;
|
|
53
|
+
location: Extract<ModuleParentLocation, {
|
|
54
|
+
type: 'failure' | 'preprocessor';
|
|
55
|
+
}>;
|
|
56
|
+
};
|
|
57
|
+
export type FlowNodeLocation = {
|
|
58
|
+
module: FlowModule;
|
|
59
|
+
location: ModuleParentLocation;
|
|
60
|
+
};
|
|
61
|
+
export declare function getChildModuleBranches(module: FlowModule): FlowModule[][];
|
|
62
|
+
export declare function collectDescendantFlowModules(module: FlowModule): FlowModule[];
|
|
63
|
+
/**
|
|
64
|
+
* Collect every module ID in a flow tree, including ALL aiagent tool IDs
|
|
65
|
+
* (both flowmodule and non-flowmodule like MCP). Used for ID uniqueness
|
|
66
|
+
* validation where every tool's ID must be reserved regardless of type.
|
|
67
|
+
*/
|
|
68
|
+
export declare function collectAllFlowModuleIds(flow: FlowModuleTree): string[];
|
|
69
|
+
/**
|
|
70
|
+
* Like collectAllFlowModuleIds but operates on a modules array directly
|
|
71
|
+
* (without failure_module/preprocessor_module).
|
|
72
|
+
*/
|
|
73
|
+
export declare function collectAllFlowModuleIdsFromModules(modules: FlowModule[]): string[];
|
|
74
|
+
export declare function collectFlowNodes(flow: FlowModuleTree): FlowNodeLocation[];
|
|
75
|
+
export declare function findModuleInModules(modules: FlowModule[], moduleId: string): FlowModule | undefined;
|
|
76
|
+
export declare function findFlowNode(flow: FlowModuleTree, moduleId: string): FlowNodeMatch | null;
|
|
77
|
+
/**
|
|
78
|
+
* Returns the live stored module for any module id in the flow tree.
|
|
79
|
+
* This includes nested modules, AI-agent flowmodule tools, and special modules.
|
|
80
|
+
*/
|
|
81
|
+
export declare function findModuleInFlow(flow: FlowModuleTree, moduleId: string): FlowModule | null;
|
|
82
|
+
export declare function findModuleParent(flow: FlowModuleTree, moduleId: string): ModuleParentLocation | null;
|
|
83
|
+
export declare function getModuleArrayByLocation(flow: FlowModuleTree, location: ArrayBackedModuleParentLocation): FlowModule[] | null;
|
|
84
|
+
export declare function ensureModuleArrayByLocation(flow: FlowModuleTree, location: ArrayBackedModuleParentLocation, templateFlow?: FlowModuleTree): FlowModule[] | null;
|
|
85
|
+
export declare function getModuleArrayContainer(flow: FlowModuleTree, moduleId: string): {
|
|
86
|
+
index: number;
|
|
87
|
+
modules: FlowModule[];
|
|
88
|
+
} | null;
|
|
89
|
+
export declare function removeFlowModule(flow: FlowModuleTree, moduleId: string): FlowModule | null;
|
|
90
|
+
export declare function replaceFlowModule(target: FlowModule, next: FlowModule): FlowModule;
|
|
91
|
+
export {};
|