@burdenoff/fluidgrids-fe-sdk 2026.1111.13 → 2026.1111.14
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/dist/{ExecutionDetailPage-CDkJeeu2.js → ExecutionDetailPage-itor_whl.js} +4 -4
- package/dist/{FluidGridsProvider-CDZjKmfD.js → FluidGridsProvider-B30VcLdX.js} +236 -17
- package/dist/{HistoryPage-DnVGN_72.js → HistoryPage-DueEld8g.js} +1 -1
- package/dist/{InsightsPage-CGRpZtGu.js → InsightsPage-DQ7KCR9h.js} +2 -2
- package/dist/{ManagedAiPolicyAuthority-DbJBledZ.js → ManagedAiPolicyAuthority-C0YPTJMS.js} +2 -2
- package/dist/{MissingNodesInstallModal-Ca4f--lw.js → MissingNodesInstallModal-Cj31oMDX.js} +1 -1
- package/dist/{TemplateConfigurationModal-ChQsXf0-.js → TemplateConfigurationModal-BAPCG8y-.js} +1 -1
- package/dist/{TemplateDetailPanel-C0YiVdub.js → TemplateDetailPanel-CZ1uxEQL.js} +1 -1
- package/dist/{TemplatesPage-QXtq6mI3.js → TemplatesPage-DWdgZnIH.js} +4 -4
- package/dist/{WorkflowSearchRedirect-B4nHALJg.js → WorkflowSearchRedirect-C8vhSZK9.js} +32 -49
- package/dist/{WorkflowShareDialog-ByTSWwwR.js → WorkflowShareDialog-DnBQA3V6.js} +1 -1
- package/dist/{WorkflowsList-B9F2e8M6.js → WorkflowsList-74jjJFsJ.js} +4 -4
- package/dist/{agentTools-C0g2OWvI.js → agentTools-D5AW7zHn.js} +2 -2
- package/dist/{canvasNoteTools-BUWY18XK.js → canvasNoteTools-BqQTTCll.js} +2 -2
- package/dist/executions.js +1 -1
- package/dist/{flow-builder-BvCQAGDR.js → flow-builder-BR8p5tXG.js} +52 -62
- package/dist/history.js +1 -1
- package/dist/index.js +16 -16
- package/dist/{node-detail-view-CPD_NSZc.js → node-detail-view-Dnhqdn8C.js} +3 -3
- package/dist/observability.js +1 -1
- package/dist/{quick-config-panel-DHkYGaCL.js → quick-config-panel-C4tSpCrt.js} +2 -2
- package/dist/settings.js +1 -1
- package/dist/templates.js +1 -1
- package/dist/{useExecutions-BqoD7XWi.js → useExecutions-CNEN1ENQ.js} +1 -1
- package/dist/{useObservability-Cs-5_NHh.js → useObservability-CmFFXmKb.js} +1 -1
- package/dist/{useRunHistory-CEL-CIz-.js → useRunHistory-DhU_mrzF.js} +1 -1
- package/dist/{useWorkflows-Bwpvfdgv.js → useWorkflows-D01LC39Y.js} +1 -1
- package/dist/workflow-builder.js +2 -2
- package/dist/workflows-list.js +1 -1
- package/package.json +1 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { Dr as WorkflowDefinitionDocument, Oi as getFluidGridsClient, Ui as throwIfResultError, oa as __exportAll, qi as getFluidGridsConfig } from "./node-endpoint-configs-DHFGA5MQ.js";
|
|
3
|
-
import {
|
|
3
|
+
import { At as useSaveStatusStore, Et as classifyCreateRefusal, J as paramsFromOperation, L as createConfiguredNode, Tn as BILLING_PLANS_PATH, Zt as codeBuildIdOf, g as registerWorkflowNodeTypes, h as registerNodeManifests, jn as useCanvasEdges, m as refetchStoreNodes, n as FluidGridsProvider, o as NODE_CONFIGS, qt as rememberRevision, tn as workflowFingerprint, u as ensureNodeTypesLoaded, un as resolveNodeOperation, wt as blankWorkflowCreateInput } from "./FluidGridsProvider-B30VcLdX.js";
|
|
4
4
|
import { F as mergeStickyNotes, H as useFlowStore } from "./node-operation-selection--oy-yEq_.js";
|
|
5
5
|
import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
|
|
6
|
-
import {
|
|
6
|
+
import { B as getWorkflowNodeTypes, Ct as Input, R as buildNodeCheck, U as useInstalledNodes, _t as Card, gt as FluidGridsMark, h as useWorkflowReloadStore, ht as useNodeSelectedEvent, m as releaseLeaseKeptForReload, t as FlowBuilderPage, z as buildRequiredNodeTypes } from "./flow-builder-BR8p5tXG.js";
|
|
7
7
|
import { t as cn } from "./cn-QqidFIgr.js";
|
|
8
8
|
import { i as Button } from "./PublishCustomNodeAction-D2F7oN0S.js";
|
|
9
|
-
import { l as useLazyWorkflowDefinition, m as useWorkflowDefinition, n as useCreateWorkflow } from "./useWorkflows-
|
|
10
|
-
import { O as CreateWorkflowRefusalDialog } from "./WorkflowShareDialog-
|
|
9
|
+
import { l as useLazyWorkflowDefinition, m as useWorkflowDefinition, n as useCreateWorkflow } from "./useWorkflows-D01LC39Y.js";
|
|
10
|
+
import { O as CreateWorkflowRefusalDialog } from "./WorkflowShareDialog-DnBQA3V6.js";
|
|
11
11
|
import { c as withoutGuidedTourIntent, l as decideMissingWorkflow, o as isGuidedTourIntent, s as pickGuidedTour, u as isCreateIntent } from "./firstWorkflow-C_h0KMB2.js";
|
|
12
12
|
import { t as canvasFromDefinition } from "./definition-canvas--3MPHoP-.js";
|
|
13
13
|
import { n as registerLiveCanvasHandler } from "./liveCanvas-D5ytXDp8.js";
|
|
@@ -1626,7 +1626,7 @@ function GuidedTourStarter({ ready }) {
|
|
|
1626
1626
|
}
|
|
1627
1627
|
|
|
1628
1628
|
// src/builder/app/workflow/work/page.tsx
|
|
1629
|
-
const LazyMissingNodesInstallModal = lazy(() => import("./MissingNodesInstallModal-
|
|
1629
|
+
const LazyMissingNodesInstallModal = lazy(() => import("./MissingNodesInstallModal-Cj31oMDX.js").then((m) => ({ default: m.MissingNodesInstallModal })));
|
|
1630
1630
|
function WorkflowItem({ readonly = false }) {
|
|
1631
1631
|
if (readonly) {
|
|
1632
1632
|
const queryParams = new URLSearchParams(window.location.search);
|
|
@@ -1673,7 +1673,6 @@ function WorkflowItem({ readonly = false }) {
|
|
|
1673
1673
|
const fetchedWorkflowRef = useRef(null);
|
|
1674
1674
|
const loadSeqRef = useRef(0);
|
|
1675
1675
|
const { installedAppIds } = useInstalledNodes();
|
|
1676
|
-
const [pendingWorkflow, setPendingWorkflow] = useState(null);
|
|
1677
1676
|
const [nodeCheck, setNodeCheck] = useState(null);
|
|
1678
1677
|
const [configModalOpen, setConfigModalOpen] = useState(false);
|
|
1679
1678
|
const [installing, setInstalling] = useState(false);
|
|
@@ -1689,15 +1688,14 @@ function WorkflowItem({ readonly = false }) {
|
|
|
1689
1688
|
trRef.current = tr;
|
|
1690
1689
|
});
|
|
1691
1690
|
const handleInstallConfirm = useCallback(async () => {
|
|
1692
|
-
if (!pendingWorkflow) return;
|
|
1693
1691
|
const nodesToInstall = (nodeCheck?.missing ?? []).filter((n) => !!n.storeProductId);
|
|
1694
1692
|
const failed = [];
|
|
1695
1693
|
if (nodesToInstall.length > 0) {
|
|
1696
1694
|
setInstalling(true);
|
|
1697
1695
|
setInstallErrors([]);
|
|
1698
1696
|
try {
|
|
1699
|
-
const { getGlobalStoreClient } = await import("./FluidGridsProvider-
|
|
1700
|
-
const { InstallWorkflowNodeDocument } = await import("./FluidGridsProvider-
|
|
1697
|
+
const { getGlobalStoreClient } = await import("./FluidGridsProvider-B30VcLdX.js").then((n) => n.mr);
|
|
1698
|
+
const { InstallWorkflowNodeDocument } = await import("./FluidGridsProvider-B30VcLdX.js").then((n) => n.y);
|
|
1701
1699
|
const { getFluidGridsConfig } = await import("./node-endpoint-configs-DHFGA5MQ.js").then((n) => n.Ki);
|
|
1702
1700
|
const storeClient = getGlobalStoreClient();
|
|
1703
1701
|
const cfg = getFluidGridsConfig();
|
|
@@ -1724,6 +1722,7 @@ function WorkflowItem({ readonly = false }) {
|
|
|
1724
1722
|
}
|
|
1725
1723
|
}
|
|
1726
1724
|
await refetchStoreNodes();
|
|
1725
|
+
await ensureNodeTypesLoaded(nodesToInstall.map((n) => n.nodeType));
|
|
1727
1726
|
} finally {
|
|
1728
1727
|
setInstalling(false);
|
|
1729
1728
|
setInstallProgress(null);
|
|
@@ -1735,17 +1734,12 @@ function WorkflowItem({ readonly = false }) {
|
|
|
1735
1734
|
}
|
|
1736
1735
|
setInstallErrors([]);
|
|
1737
1736
|
setConfigModalOpen(false);
|
|
1738
|
-
setWorkflow(pendingWorkflow);
|
|
1739
|
-
setPendingWorkflow(null);
|
|
1740
1737
|
setNodeCheck(null);
|
|
1741
|
-
}, [
|
|
1738
|
+
}, [nodeCheck]);
|
|
1742
1739
|
const handleSkipInstall = useCallback(() => {
|
|
1743
|
-
if (!pendingWorkflow) return;
|
|
1744
1740
|
setConfigModalOpen(false);
|
|
1745
|
-
setWorkflow(pendingWorkflow);
|
|
1746
|
-
setPendingWorkflow(null);
|
|
1747
1741
|
setNodeCheck(null);
|
|
1748
|
-
}, [
|
|
1742
|
+
}, []);
|
|
1749
1743
|
const newWorkflow = useMemo(() => ({
|
|
1750
1744
|
id: id ?? "",
|
|
1751
1745
|
workflowKey: id ?? "",
|
|
@@ -1778,10 +1772,24 @@ function WorkflowItem({ readonly = false }) {
|
|
|
1778
1772
|
if (pendingReloadRef.current === target) pendingReloadRef.current = null;
|
|
1779
1773
|
return true;
|
|
1780
1774
|
};
|
|
1775
|
+
const offerMissingNodes = (nodes) => {
|
|
1776
|
+
buildRequiredNodeTypes(nodes).then((requiredNodeTypes) => {
|
|
1777
|
+
if (!mounted || requiredNodeTypes.length === 0) return;
|
|
1778
|
+
const check = doNodeCheckRef.current(requiredNodeTypes);
|
|
1779
|
+
if (check.missing.length > 0 || check.missingPaid.length > 0) {
|
|
1780
|
+
setNodeCheck(check);
|
|
1781
|
+
setConfigModalOpen(true);
|
|
1782
|
+
}
|
|
1783
|
+
}).catch((error) => {
|
|
1784
|
+
console.warn("[WorkflowItem] Missing-nodes check failed:", error);
|
|
1785
|
+
});
|
|
1786
|
+
};
|
|
1781
1787
|
const loadWorkflow = async () => {
|
|
1782
1788
|
try {
|
|
1783
1789
|
resetWorkflow();
|
|
1784
1790
|
if (mounted) setNotFound(false);
|
|
1791
|
+
if (mounted) setConfigModalOpen(false);
|
|
1792
|
+
if (mounted) setNodeCheck(null);
|
|
1785
1793
|
if (mounted) setLoadError(null);
|
|
1786
1794
|
if (mounted) setReloadFailed(false);
|
|
1787
1795
|
if (version && mounted) setIsLoading(true);
|
|
@@ -1796,26 +1804,12 @@ function WorkflowItem({ readonly = false }) {
|
|
|
1796
1804
|
nodes: manifest.nodes ?? [],
|
|
1797
1805
|
edges: manifest.edges ?? []
|
|
1798
1806
|
};
|
|
1799
|
-
let requiredNodeTypes = [];
|
|
1800
|
-
try {
|
|
1801
|
-
requiredNodeTypes = await buildRequiredNodeTypes(sharedWorkflow.nodes);
|
|
1802
|
-
} catch {}
|
|
1803
1807
|
if (mounted) {
|
|
1804
1808
|
localStorage.removeItem("pendingSharedWorkflow");
|
|
1805
|
-
if (requiredNodeTypes.length > 0) {
|
|
1806
|
-
const check = doNodeCheckRef.current(requiredNodeTypes);
|
|
1807
|
-
if (check.missing.length > 0 || check.missingPaid.length > 0) {
|
|
1808
|
-
setPendingWorkflow(sharedWorkflow);
|
|
1809
|
-
setNodeCheck(check);
|
|
1810
|
-
setConfigModalOpen(true);
|
|
1811
|
-
setIsLoading(false);
|
|
1812
|
-
fromSharedLoadedRef.current = true;
|
|
1813
|
-
return;
|
|
1814
|
-
}
|
|
1815
|
-
}
|
|
1816
1809
|
setWorkflow(sharedWorkflow);
|
|
1817
1810
|
setIsLoading(false);
|
|
1818
1811
|
fromSharedLoadedRef.current = true;
|
|
1812
|
+
offerMissingNodes(sharedWorkflow.nodes);
|
|
1819
1813
|
}
|
|
1820
1814
|
return;
|
|
1821
1815
|
} catch (e) {
|
|
@@ -1857,7 +1851,6 @@ function WorkflowItem({ readonly = false }) {
|
|
|
1857
1851
|
}
|
|
1858
1852
|
const freshCreate = createIntentRef.current && !creatingRef.current && !fetchedCopy() && !loadRunId;
|
|
1859
1853
|
const result = freshCreate ? null : await getWorkflow(id, void 0, version);
|
|
1860
|
-
if (result?.nodeManifests) registerNodeManifests(result.nodeManifests);
|
|
1861
1854
|
const definitionJson = result?.definitionJson;
|
|
1862
1855
|
const defData = definitionJson?.data ?? (definitionJson?.nodes ? definitionJson : void 0);
|
|
1863
1856
|
if (defData) {
|
|
@@ -1874,21 +1867,11 @@ function WorkflowItem({ readonly = false }) {
|
|
|
1874
1867
|
codeBuildId: codeBuildIdOf(result?.definitionJson)
|
|
1875
1868
|
};
|
|
1876
1869
|
if (recordFetched(workflowState)) rememberRevision(result?.id, result?.revision);
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
if (mounted && requiredNodeTypes.length > 0) {
|
|
1882
|
-
const check = doNodeCheckRef.current(requiredNodeTypes);
|
|
1883
|
-
if (check.missing.length > 0 || check.missingPaid.length > 0) {
|
|
1884
|
-
setPendingWorkflow(workflowState);
|
|
1885
|
-
setNodeCheck(check);
|
|
1886
|
-
setConfigModalOpen(true);
|
|
1887
|
-
setIsLoading(false);
|
|
1888
|
-
return;
|
|
1889
|
-
}
|
|
1870
|
+
if (Array.isArray(result?.nodeManifests)) registerNodeManifests(result.nodeManifests, getWorkflowNodeTypes(workflowState.nodes));
|
|
1871
|
+
if (mounted) {
|
|
1872
|
+
setWorkflow(workflowState);
|
|
1873
|
+
offerMissingNodes(workflowState.nodes);
|
|
1890
1874
|
}
|
|
1891
|
-
if (mounted) setWorkflow(workflowState);
|
|
1892
1875
|
return;
|
|
1893
1876
|
}
|
|
1894
1877
|
if (mounted) {
|
|
@@ -2054,14 +2037,14 @@ function WorkflowItem({ readonly = false }) {
|
|
|
2054
2037
|
onBack: () => navigate("../list")
|
|
2055
2038
|
});
|
|
2056
2039
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2057
|
-
configModalOpen &&
|
|
2040
|
+
configModalOpen && workflow && /* @__PURE__ */ jsx(Suspense, {
|
|
2058
2041
|
fallback: null,
|
|
2059
2042
|
children: /* @__PURE__ */ jsx(LazyMissingNodesInstallModal, {
|
|
2060
2043
|
open: configModalOpen,
|
|
2061
2044
|
onOpenChange: (open) => {
|
|
2062
2045
|
if (!open) handleSkipInstall();
|
|
2063
2046
|
},
|
|
2064
|
-
workflowName:
|
|
2047
|
+
workflowName: workflow.name,
|
|
2065
2048
|
nodeCheckResult: nodeCheck,
|
|
2066
2049
|
onConfirm: handleInstallConfirm,
|
|
2067
2050
|
onSkip: handleSkipInstall,
|
|
@@ -2085,7 +2068,7 @@ function WorkflowItem({ readonly = false }) {
|
|
|
2085
2068
|
}),
|
|
2086
2069
|
workflow && !isLoading && /* @__PURE__ */ jsx(FlowBuilderPage, { workflow }),
|
|
2087
2070
|
workflow && !isLoading && /* @__PURE__ */ jsx(AssistantLiveCanvasHost, {}),
|
|
2088
|
-
/* @__PURE__ */ jsx(GuidedTourStarter, { ready: Boolean(workflow && !isLoading) })
|
|
2071
|
+
/* @__PURE__ */ jsx(GuidedTourStarter, { ready: Boolean(workflow && !isLoading && !configModalOpen) })
|
|
2089
2072
|
] });
|
|
2090
2073
|
}
|
|
2091
2074
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { Bi as describeOperationError, Nn as ShareWorkflowDocument, Oi as getFluidGridsClient, Ui as throwIfResultError, ft as ExportWorkflowCodeDocument, ui as WorkflowSharingDocument } from "./node-endpoint-configs-DHFGA5MQ.js";
|
|
3
|
-
import {
|
|
3
|
+
import { Dn as WORKFLOWS_QUOTA_NAME, fn as useFluidGridsAnalytics, xn as emitWorkflowLimitHit, yn as emitUpgradeClicked } from "./FluidGridsProvider-B30VcLdX.js";
|
|
4
4
|
import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
|
|
5
5
|
import { CF as WorkflowExportFormat, Fd as FidelityLevel, JF as WorkflowShareRole, hF as WorkflowAccess, nI as WorkflowVisibility, qF as WorkflowSharePrincipalType } from "./graphql-types-XcDLtFwU.js";
|
|
6
6
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { c as useImportWorkflow, h as useWorkflowDefinitions, l as useLazyWorkflowDefinition, n as useCreateWorkflow, o as useDeleteWorkflow, s as useDuplicateWorkflow, u as usePreviewN8nImport } from "./useWorkflows-
|
|
3
|
-
import {
|
|
4
|
-
import { C as readProjectArchive, D as workflowNameFromFile, E as typeScriptModuleFile, O as CreateWorkflowRefusalDialog, S as primaryImportModule, T as typeScriptImportSource, _ as importFileKind, a as downloadWorkflowExport, c as canShareWorkflow, d as MAX_IMPORT_ARCHIVE_BYTES, f as MAX_IMPORT_SOURCE_BYTES, g as importAcceptAttribute, k as QuotaExhaustedDialog, l as CODE_EXPORT_FORMATS, m as checkTypeScriptImport, o as parseWorkflowImport, p as assertImportByteSize, r as useExportWorkflowAs, s as canEditWorkflow, t as WorkflowShareDialog, u as ImportSourceError } from "./WorkflowShareDialog-
|
|
2
|
+
import { c as useImportWorkflow, h as useWorkflowDefinitions, l as useLazyWorkflowDefinition, n as useCreateWorkflow, o as useDeleteWorkflow, s as useDuplicateWorkflow, u as usePreviewN8nImport } from "./useWorkflows-D01LC39Y.js";
|
|
3
|
+
import { An as isQuotaExhaustedFailure, Dt as createThenOpen, Tn as BILLING_PLANS_PATH, Un as FLUIDGRIDS_FLAGS, Zn as useFluidGridsFlag, t as FluidGridsContext } from "./FluidGridsProvider-B30VcLdX.js";
|
|
4
|
+
import { C as readProjectArchive, D as workflowNameFromFile, E as typeScriptModuleFile, O as CreateWorkflowRefusalDialog, S as primaryImportModule, T as typeScriptImportSource, _ as importFileKind, a as downloadWorkflowExport, c as canShareWorkflow, d as MAX_IMPORT_ARCHIVE_BYTES, f as MAX_IMPORT_SOURCE_BYTES, g as importAcceptAttribute, k as QuotaExhaustedDialog, l as CODE_EXPORT_FORMATS, m as checkTypeScriptImport, o as parseWorkflowImport, p as assertImportByteSize, r as useExportWorkflowAs, s as canEditWorkflow, t as WorkflowShareDialog, u as ImportSourceError } from "./WorkflowShareDialog-DnBQA3V6.js";
|
|
5
5
|
import { H as useFlowStore } from "./node-operation-selection--oy-yEq_.js";
|
|
6
6
|
import { CF as WorkflowExportFormat, gF as WorkflowAccessFilter, hI as FLUIDGRIDS_PERMISSIONS, vI as SdkPermissionButton, xI as useFluidGridsPermission, yI as SdkPermissionGate } from "./graphql-types-XcDLtFwU.js";
|
|
7
7
|
import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
|
|
8
8
|
import { $t as RenameWorkflowFolderDocument, Bi as describeOperationError, Et as MoveWorkflowFolderDocument, K as DeleteWorkflowFolderDocument, M as CreateWorkflowFolderDocument, N as CreateWorkflowProjectDocument, Oi as getFluidGridsClient, Pr as WorkflowFoldersDocument, Ui as throwIfResultError, Ur as WorkflowProjectsDocument, _ as BulkMoveWorkflowsToFolderDocument, en as RenameWorkflowProjectDocument, g as BulkDeleteWorkflowsDocument, h as BulkAssignWorkflowsToProjectDocument, oa as __exportAll, q as DeleteWorkflowProjectDocument } from "./node-endpoint-configs-DHFGA5MQ.js";
|
|
9
|
-
import { a as useExecutions } from "./useExecutions-
|
|
9
|
+
import { a as useExecutions } from "./useExecutions-CNEN1ENQ.js";
|
|
10
10
|
import { a as firstWorkflowProgress, i as builderPathFor, r as GUIDED_TOUR_STATE } from "./firstWorkflow-C_h0KMB2.js";
|
|
11
11
|
import { n as useFluidGridsPageControls } from "./pageControlsBridge-0pX9s-3k.js";
|
|
12
12
|
import { i as workflowsListControls } from "./pageControlSpecs-DZJ9K37m.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { At as useSaveStatusStore, J as paramsFromOperation, K as nodeTitle, L as createConfiguredNode, W as fixedParameterState, Y as selectedOperationOf, _ as registryNodeData, f as isNodeConfigsInitialized, o as NODE_CONFIGS, pt as autosaveAllowedFor, xt as isFlowComplete } from "./FluidGridsProvider-B30VcLdX.js";
|
|
3
3
|
import { E as resolveOutputHandles, H as useFlowStore, T as resolveInputHandles } from "./node-operation-selection--oy-yEq_.js";
|
|
4
|
-
import { I as computeAttachPosition,
|
|
4
|
+
import { I as computeAttachPosition, kt as isNodeTypeHiddenFromPalette } from "./flow-builder-BR8p5tXG.js";
|
|
5
5
|
import { AgentToolError, defineAgentTool } from "@burdenoff/fe-libs/shared/agent-tools";
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { g as notesKeyOf, v as useAgentMarksStore, y as toPlainText } from "./flow-builder-
|
|
3
|
-
import {
|
|
2
|
+
import { g as notesKeyOf, v as useAgentMarksStore, y as toPlainText } from "./flow-builder-BR8p5tXG.js";
|
|
3
|
+
import { J as paramsFromOperation, K as nodeTitle, Y as selectedOperationOf } from "./FluidGridsProvider-B30VcLdX.js";
|
|
4
4
|
import { H as useFlowStore } from "./node-operation-selection--oy-yEq_.js";
|
|
5
5
|
import { AgentToolError, defineAgentTool } from "@burdenoff/fe-libs/shared/agent-tools";
|
|
6
6
|
import { z } from "zod";
|
package/dist/executions.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { t as ExecutionDetailPage, y as ExecutionsListPage } from "./ExecutionDetailPage-
|
|
2
|
+
import { t as ExecutionDetailPage, y as ExecutionsListPage } from "./ExecutionDetailPage-itor_whl.js";
|
|
3
3
|
|
|
4
4
|
export { ExecutionDetailPage, ExecutionsListPage };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { A as nodeAccent, B as NODE_TYPE_DRAG_DATA_FORMAT, G as isTriggerOperation, H as useFlowStore, M as isImageIcon, T as resolveInputHandles, U as useIsValidConnection, V as STICKY_NOTE_TYPE, g as toCodeMirrorDiagnostics, j as NodeTypeIcon, r as CODE_WORKFLOW_NODE_TYPE, z as NODE_OPERATION_DRAG_DATA_FORMAT } from "./node-operation-selection--oy-yEq_.js";
|
|
3
|
-
import { $ as
|
|
3
|
+
import { $ as isStringOptionList, $n as usePaletteGates, $t as inAppLeaveTarget, A as StoreNodeProductsByTypeDocument, An as isQuotaExhaustedFailure, At as useSaveStatusStore, B as useRunGuard, Bt as shouldReleaseForIdle, C as GetMyNodeInstallationsDocument, Ct as useSaveWorkflow, D as InstallWorkflowNodeDocument, E as InstallPurchasedNodeDocument, En as RUNS_QUOTA_NAME, F as getNodeMetadata, Ft as leaseCallQueue, G as nodeSubtitle, Gt as sessionBeforeReload, H as asRecord, Ht as EDIT_SESSION_ID, I as buildOperationSeed, It as leaseCallSequence, J as paramsFromOperation, Jt as AUTOSAVE_DEBOUNCE_MS, K as nodeTitle, Kt as rememberOwnStatusChange, Lt as phaseAfterAcquire, M as UninstallOrganizationPrivateNodeDocument, Mn as useNodeRegistryRevision, Mt as useEditLeaseStore, N as UninstallWorkflowNodeDocument, Nt as bannerOf, On as collectExtensions, Ot as refusalOfQuota, Pn as loadDefinitionJson, Pt as isLocked, R as useInsertNode, Rt as phaseAfterTakeOver, S as CreateStoreOrderDocument, St as useFlowValidator, T as InstallOrganizationPrivateNodeDocument, Tn as BILLING_PLANS_PATH, U as coerceNumber, Un as FLUIDGRIDS_FLAGS, Ut as forgetSessionForReload, V as workflowParameterIssues, Vt as tickAction, Wt as rememberSessionForReload, X as useNodeConfig, Xn as useDurableParityEnabled, Xt as canAutosave, Yn as useDurableFunctionNodesEnabled, Yt as AUTOSAVE_RETRY_DELAYS_MS, Zn as useFluidGridsFlag, _t as leavingLosesChanges, a as NODES_METADATA, ar as matchesAdapterProvider, at as casesFromRules, b as BrowseWorkflowNodesDocument, bn as emitWorkflowCreated, bt as watchLeavingLosesChanges, c as ensureInstalledNodeTypesLoaded, cn as structuredParameterType, cr as getNodeDetail, d as ensureRegistryNodeTypesLoaded, dn as isParamVisible, dr as useBuilderReadOnly, dt as useGuardedNavigate, en as saveFailureActionOf, er as usePhaseCFlags, et as optionListText, f as isNodeConfigsInitialized, fn as useFluidGridsAnalytics, ft as useManualSave, g as registerWorkflowNodeTypes, gt as editingLeaseLocked, ht as editStateFor, i as AVAILABLE_NODES, ir as isOptionalAdapter, it as SwitchRulesEditor, jn as useCanvasEdges, jt as useEditLeaseLocked, k as OrganizationPrivateNodesDocument, kt as saveIndicatorOf, l as ensureNodeConfigsLoaded, lr as buildStickyNode, lt as boundFieldsOf, m as refetchStoreNodes, mn as emitNodeInstalled, mt as departingSave, nn as useNodeExecution, nr as useWorkflowTestsEnabled, nt as resolveLoadOptionsSpec, o as NODE_CONFIGS, on as formatParameterValue, or as newConnectionProviderKey, ot as FieldTree, p as onNodeTypesUpdate, pn as openRunQuotaUpgradePrompt, pr as getGlobalStoreClient, pt as autosaveAllowedFor, q as optionText, qt as rememberRevision, rr as connectionsForAdapter, rt as ConditionTreeBuilder, s as NODE_TYPES, sn as parseParameterValue, sr as replaceAdapterConnections, st as parseMappingValue, t as FluidGridsContext, tn as workflowFingerprint, tt as optionListValues, ur as BuilderReadOnlyProvider, ut as missingRequiredParameters, v as scheduleNodePaletteLoad, vn as emitTemplateUsed, vt as savedEverythingBeforeLeaving, w as GetNodeInstallableVersionsDocument, x as BrowseWorkflowTemplatesDocument, xt as isFlowComplete, yn as emitUpgradeClicked, yt as touchesSavedFields, z as MissingParametersDialog, zt as releasesOnClose } from "./FluidGridsProvider-B30VcLdX.js";
|
|
4
4
|
import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
|
|
5
5
|
import { Bi as describeOperationError, Br as WorkflowGitRepositoryDocument, Ct as LinkWorkflowGitRepositoryDocument, Dr as WorkflowDefinitionDocument, Ei as WorkspaceRunsQuotaDocument, Ht as PreviewScheduleDocument, Ir as WorkflowGenerationTemplatesDocument, J as DeleteWorkflowRolloutDocument, Kt as PushWorkflowToGitDocument, Li as emitFluidGridsEvent, Lr as WorkflowGitCommitsDocument, Mt as NodeSchemaIntrospectionDocument, Ni as waitForFluidGridsClient, Nr as WorkflowEnvironmentsDocument, Oi as getFluidGridsClient, Pt as NodeUsageStatusDocument, Qt as RemoveNodeFromWorkflowsDocument, Rr as WorkflowGitDiffDocument, Si as WorkflowVersioningDocument, Ui as throwIfResultError, Vn as TakeOverWorkflowEditLeaseDocument, Wr as WorkflowPromotionRequestsDocument, Xn as UnlinkWorkflowGitRepositoryDocument, Yt as RejectWorkflowPromotionDocument, Z as DeployWorkflowVersionToDevDocument, Zt as ReleaseWorkflowEditLeaseDocument, cr as UpdateWorkflowEnvironmentPolicyDocument, i as ActivateWorkflowVersionCheckedDocument, jn as SetWorkflowRolloutDocument, jr as WorkflowEditLeaseDocument, ki as getFluidGridsClientSafe, mr as WebhookTestListenerDocument, n as AcquireWorkflowEditLeaseDocument, nn as RequestWorkflowPromotionDocument, oa as __exportAll, on as RestoreWorkflowFromGitDocument, qi as getFluidGridsConfig, u as ApproveWorkflowPromotionDocument, wr as WorkflowCallInputsDocument, wt as ListenForWebhookTestEventDocument, x as CancelWorkflowPromotionDocument, xi as WorkflowVersionDrainageDocument, yr as WorkflowAuthoringDocument, zn as StopWebhookTestListenerDocument, zr as WorkflowGitPushesDocument } from "./node-endpoint-configs-DHFGA5MQ.js";
|
|
6
6
|
import { D as describeSchedule, H as pauseSchedule, _ as useResource, c as FieldError, d as NativeSelect, et as triggerSchedule, nt as unpauseSchedule, p as StatusPill, r as describeRule, s as isAgentNodeType, v as backfillSchedule } from "./agent-form-BvMWhQ42.js";
|
|
@@ -9,9 +9,9 @@ import { a as useConnections, r as useAgentsUsingConnection, t as useAgentDefini
|
|
|
9
9
|
import { F as normaliseAssertRules, I as operatorSpec, L as readAssertRulesSetting, M as ASSERT_OPERATORS, N as describeAssertRuleProblem, P as emptyAssertRuleRow, R as rowsFromRules, _ as buildNodeDisplayMap, a as TEST_STATUS_TONE_CLASS, b as EntityTagPicker, c as draftToInput, d as isTestRunOpen, f as nextSortOrder, g as testStatusTone, h as testStatusLabel, i as useWorkflowTests, l as emptyTestCaseDraft, m as testRunSummaryText, n as useWorkflowProposal, p as pinnedOutputsFromCanvas, s as draftFromTestCase, t as WorkflowProposalCard, u as enabledCaseIds, z as ruleFromRow } from "./WorkflowProposalCard-8Vr56kQa.js";
|
|
10
10
|
import { t as cn$1 } from "./cn-QqidFIgr.js";
|
|
11
11
|
import { i as Button$2, t as PublishCustomNodeAction } from "./PublishCustomNodeAction-D2F7oN0S.js";
|
|
12
|
-
import { O as CreateWorkflowRefusalDialog, b as lineOfNode, h as fileBaseName, i as useWorkflowCodeExport, n as downloadWorkflowCodeExport, t as WorkflowShareDialog, v as isLosslessReport, w as sortFidelityItems, x as orderedExportFiles, y as isLossyFidelityItem } from "./WorkflowShareDialog-
|
|
12
|
+
import { O as CreateWorkflowRefusalDialog, b as lineOfNode, h as fileBaseName, i as useWorkflowCodeExport, n as downloadWorkflowCodeExport, t as WorkflowShareDialog, v as isLosslessReport, w as sortFidelityItems, x as orderedExportFiles, y as isLossyFidelityItem } from "./WorkflowShareDialog-DnBQA3V6.js";
|
|
13
13
|
import { t as FluidGridsDocsLink } from "./FluidGridsDocsLink-JxkBpOeb.js";
|
|
14
|
-
import { a as useDeactivateWorkflow, d as useRestoreWorkflowVersion, o as useDeleteWorkflow, t as useActivateWorkflow, v as useWorkflowVersions } from "./useWorkflows-
|
|
14
|
+
import { a as useDeactivateWorkflow, d as useRestoreWorkflowVersion, o as useDeleteWorkflow, t as useActivateWorkflow, v as useWorkflowVersions } from "./useWorkflows-D01LC39Y.js";
|
|
15
15
|
import { n as VersionLifecycleBar, r as countLifecycle, t as VersionDiffDialog } from "./VersionDiffDialog-Dq2xlPFI.js";
|
|
16
16
|
import { n as useRequestedProposal } from "./useRequestedProposal-B7uPXfZB.js";
|
|
17
17
|
import { t as AiCreditBalanceSlot } from "./aiCreditsBridge-BuE92tKo.js";
|
|
@@ -10395,6 +10395,19 @@ function useImportWorkflowTemplate() {
|
|
|
10395
10395
|
|
|
10396
10396
|
// src/utils/workflow-node-check.ts
|
|
10397
10397
|
/**
|
|
10398
|
+
* Workflow node dependency checking.
|
|
10399
|
+
*
|
|
10400
|
+
* Shared logic for detecting node types used by a workflow that are not
|
|
10401
|
+
* installed in the current workspace, resolving them to store products, and
|
|
10402
|
+
* classifying them as installed / missing (free installable) / missingPaid /
|
|
10403
|
+
* unavailable (not offered by the store, so nothing can install them).
|
|
10404
|
+
*
|
|
10405
|
+
* Used by:
|
|
10406
|
+
* - Template import flow (desktop-sidebar-fragment)
|
|
10407
|
+
* - Shared-workflow copy flow (WorkflowItem)
|
|
10408
|
+
* - AI-assistant-created workflow open flow (WorkflowItem)
|
|
10409
|
+
*/
|
|
10410
|
+
/**
|
|
10398
10411
|
* Canvas-only node types: they live on the React Flow canvas but are never
|
|
10399
10412
|
* executed, never registered in NODE_CONFIGS and never published to the store.
|
|
10400
10413
|
*
|
|
@@ -10418,50 +10431,22 @@ function getWorkflowNodeTypes(nodes) {
|
|
|
10418
10431
|
return [...new Set(nodes.map((n) => n.type).filter((t) => Boolean(t)).filter((t) => !CANVAS_ONLY_NODE_TYPES.has(t)))];
|
|
10419
10432
|
}
|
|
10420
10433
|
/**
|
|
10421
|
-
*
|
|
10422
|
-
*
|
|
10423
|
-
* returns 100 anyway. The old single request for 200 rows silently dropped
|
|
10424
|
-
* every node past the first 100 (BOFF-11402).
|
|
10434
|
+
* Node types per store lookup: global-store-svc answers for at most 100 at a
|
|
10435
|
+
* time. A workflow misses far fewer; more are asked in parallel requests.
|
|
10425
10436
|
*/
|
|
10426
|
-
const
|
|
10437
|
+
const STORE_NODE_LOOKUP_BATCH_SIZE = 100;
|
|
10438
|
+
/** The store context of FluidGrids node products, as the Node Store browses them. */
|
|
10439
|
+
const STORE_NODE_PRODUCT_CONTEXT = "fluidgrids";
|
|
10427
10440
|
/**
|
|
10428
|
-
*
|
|
10429
|
-
*
|
|
10441
|
+
* The store products that offer any of `nodeTypes`, at most
|
|
10442
|
+
* `STORE_NODE_LOOKUP_BATCH_SIZE` types per request, the requests in parallel.
|
|
10443
|
+
* Blank and repeated types are asked once.
|
|
10430
10444
|
*/
|
|
10431
|
-
|
|
10432
|
-
|
|
10433
|
-
|
|
10434
|
-
|
|
10435
|
-
|
|
10436
|
-
type: "NODE",
|
|
10437
|
-
compatibleWith: "fluidgrids"
|
|
10438
|
-
},
|
|
10439
|
-
sortBy: "DOWNLOADS",
|
|
10440
|
-
pagination: {
|
|
10441
|
-
limit: 100,
|
|
10442
|
-
offset
|
|
10443
|
-
}
|
|
10444
|
-
} };
|
|
10445
|
-
}
|
|
10446
|
-
/**
|
|
10447
|
-
* Fetch every FluidGrids-compatible node product from the store.
|
|
10448
|
-
*
|
|
10449
|
-
* `browseStore` pages by `offset`; its `cursor` input is ignored by the
|
|
10450
|
-
* server. The offset advances by the number of rows actually returned so a
|
|
10451
|
-
* lower server cap still walks the whole catalog. Rows are de-duplicated by
|
|
10452
|
-
* product id in case a page boundary moves while the catalog changes.
|
|
10453
|
-
*/
|
|
10454
|
-
async function fetchAllStoreNodes(fetchPage) {
|
|
10455
|
-
const byId = /* @__PURE__ */ new Map();
|
|
10456
|
-
let offset = 0;
|
|
10457
|
-
for (let page = 0; page < 50; page++) {
|
|
10458
|
-
const browse = await fetchPage(storeNodePageVariables(offset));
|
|
10459
|
-
const products = browse?.products ?? [];
|
|
10460
|
-
for (const product of products) if (!byId.has(product.id)) byId.set(product.id, product);
|
|
10461
|
-
if (!browse?.hasMore || products.length === 0) break;
|
|
10462
|
-
offset += products.length;
|
|
10463
|
-
}
|
|
10464
|
-
return [...byId.values()];
|
|
10445
|
+
async function fetchStoreNodeProducts(nodeTypes, fetchProducts) {
|
|
10446
|
+
const wanted = [...new Set(nodeTypes.filter(Boolean))];
|
|
10447
|
+
const batches = [];
|
|
10448
|
+
for (let i = 0; i < wanted.length; i += 100) batches.push(wanted.slice(i, i + 100));
|
|
10449
|
+
return (await Promise.all(batches.map(fetchProducts))).flatMap((products) => [...products ?? []]);
|
|
10465
10450
|
}
|
|
10466
10451
|
function publishedAtMs(product) {
|
|
10467
10452
|
const ms = product.publishedAt ? Date.parse(product.publishedAt) : NaN;
|
|
@@ -10503,18 +10488,22 @@ function buildStoreNodeTypeMap(products) {
|
|
|
10503
10488
|
return nodeTypeToProduct;
|
|
10504
10489
|
}
|
|
10505
10490
|
/**
|
|
10506
|
-
*
|
|
10507
|
-
*
|
|
10491
|
+
* Ask the global store which products offer `nodeTypes` and map each type to the
|
|
10492
|
+
* best one (see compareStoreNodeCandidates). Only the asked types travel: the
|
|
10493
|
+
* check used to page through the whole node catalog for them (BOFF-11754).
|
|
10508
10494
|
*/
|
|
10509
|
-
async function fetchStoreNodeTypeMap() {
|
|
10495
|
+
async function fetchStoreNodeTypeMap(nodeTypes) {
|
|
10510
10496
|
const storeClient = getGlobalStoreClient();
|
|
10511
|
-
if (!storeClient) return /* @__PURE__ */ new Map();
|
|
10512
|
-
return buildStoreNodeTypeMap(await
|
|
10497
|
+
if (!storeClient || nodeTypes.length === 0) return /* @__PURE__ */ new Map();
|
|
10498
|
+
return buildStoreNodeTypeMap(await fetchStoreNodeProducts(nodeTypes, async (batch) => {
|
|
10513
10499
|
return (await storeClient.query({
|
|
10514
|
-
query:
|
|
10515
|
-
variables
|
|
10500
|
+
query: StoreNodeProductsByTypeDocument,
|
|
10501
|
+
variables: {
|
|
10502
|
+
nodeTypes: batch,
|
|
10503
|
+
compatibleWith: STORE_NODE_PRODUCT_CONTEXT
|
|
10504
|
+
},
|
|
10516
10505
|
fetchPolicy: "cache-first"
|
|
10517
|
-
})).data?.
|
|
10506
|
+
})).data?.storeNodeProductsByType;
|
|
10518
10507
|
}));
|
|
10519
10508
|
}
|
|
10520
10509
|
/**
|
|
@@ -10551,10 +10540,11 @@ function requiredNodeEntry(type, registered, product) {
|
|
|
10551
10540
|
async function buildRequiredNodeTypes(nodes) {
|
|
10552
10541
|
const workflowNodeTypes = getWorkflowNodeTypes(nodes);
|
|
10553
10542
|
if (workflowNodeTypes.length === 0) return [];
|
|
10554
|
-
|
|
10555
|
-
|
|
10543
|
+
const isRegistered = (type) => NODE_CONFIGS.some((c) => c.type === type);
|
|
10544
|
+
await ensureRegistryNodeTypesLoaded(workflowNodeTypes);
|
|
10545
|
+
const missingTypes = workflowNodeTypes.filter((type) => !isRegistered(type));
|
|
10556
10546
|
let nodeTypeToProduct = /* @__PURE__ */ new Map();
|
|
10557
|
-
if (missingTypes.length > 0) nodeTypeToProduct = await fetchStoreNodeTypeMap();
|
|
10547
|
+
if (missingTypes.length > 0) [, nodeTypeToProduct] = await Promise.all([ensureInstalledNodeTypesLoaded(missingTypes), fetchStoreNodeTypeMap(missingTypes)]);
|
|
10558
10548
|
return workflowNodeTypes.map((type) => {
|
|
10559
10549
|
const registered = NODE_CONFIGS.find((c) => c.type === type);
|
|
10560
10550
|
return requiredNodeEntry(type, registered ? { version: registered.defaultData.version } : void 0, nodeTypeToProduct.get(type));
|
|
@@ -10582,7 +10572,7 @@ function buildNodeCheck(requiredNodeTypes, installedAppIds) {
|
|
|
10582
10572
|
}
|
|
10583
10573
|
|
|
10584
10574
|
// src/hooks/store/useTemplateImportFlow.tsx
|
|
10585
|
-
const LazyTemplateConfigurationModal = lazy(() => import("./TemplateConfigurationModal-
|
|
10575
|
+
const LazyTemplateConfigurationModal = lazy(() => import("./TemplateConfigurationModal-BAPCG8y-.js").then((m) => ({ default: m.TemplateConfigurationModal })));
|
|
10586
10576
|
/**
|
|
10587
10577
|
* "Use this template", the same everywhere it is offered: the builder's
|
|
10588
10578
|
* template panel, the Templates page and the template preview page
|
|
@@ -12759,7 +12749,7 @@ function TemplatesGrid({ templates, loading, hasMore, onLoadMore, onTemplateClic
|
|
|
12759
12749
|
}
|
|
12760
12750
|
|
|
12761
12751
|
// src/builder/components/flow-builder/components/templates/TemplatesModal.tsx
|
|
12762
|
-
const LazyTemplateDetailPanel = lazy(() => import("./TemplateDetailPanel-
|
|
12752
|
+
const LazyTemplateDetailPanel = lazy(() => import("./TemplateDetailPanel-CZ1uxEQL.js").then((m) => ({ default: m.TemplateDetailPanel })));
|
|
12763
12753
|
/**
|
|
12764
12754
|
* Modal for browsing and selecting workflow templates
|
|
12765
12755
|
* Features:
|
|
@@ -27585,8 +27575,8 @@ function EditLeaseBanner() {
|
|
|
27585
27575
|
}
|
|
27586
27576
|
|
|
27587
27577
|
// src/builder/components/flow-builder/flow-builder.tsx
|
|
27588
|
-
const LazyNodeDetailView = lazy(() => import("./node-detail-view-
|
|
27589
|
-
const LazyQuickConfigPanel = lazy(() => import("./quick-config-panel-
|
|
27578
|
+
const LazyNodeDetailView = lazy(() => import("./node-detail-view-Dnhqdn8C.js").then((m) => ({ default: m.NodeDetailView })));
|
|
27579
|
+
const LazyQuickConfigPanel = lazy(() => import("./quick-config-panel-C4tSpCrt.js").then((m) => ({ default: m.QuickConfigPanel })));
|
|
27590
27580
|
const edgeTypes = { deletable: CustomDeletableEdge };
|
|
27591
27581
|
const edgeOptions = {
|
|
27592
27582
|
type: "deletable",
|
|
@@ -27646,7 +27636,7 @@ const FlowBuilder = ({ readOnly = false }) => {
|
|
|
27646
27636
|
const [agentTools, setAgentTools] = useState([]);
|
|
27647
27637
|
useEffect(() => {
|
|
27648
27638
|
let cancelled = false;
|
|
27649
|
-
import("./agentTools-
|
|
27639
|
+
import("./agentTools-D5AW7zHn.js").then(({ createBuilderAgentTools }) => {
|
|
27650
27640
|
if (cancelled) return;
|
|
27651
27641
|
setAgentTools(createBuilderAgentTools({ durableFunctionsEnabled: () => paletteGatesRef.current }));
|
|
27652
27642
|
}).catch((error) => {
|
|
@@ -27701,7 +27691,7 @@ const FlowBuilder = ({ readOnly = false }) => {
|
|
|
27701
27691
|
const [noteTools, setNoteTools] = useState([]);
|
|
27702
27692
|
useEffect(() => {
|
|
27703
27693
|
let cancelled = false;
|
|
27704
|
-
import("./canvasNoteTools-
|
|
27694
|
+
import("./canvasNoteTools-BqQTTCll.js").then(({ createCanvasNoteTools }) => {
|
|
27705
27695
|
if (cancelled) return;
|
|
27706
27696
|
setNoteTools(createCanvasNoteTools({ focusNode: (nodeId) => fitViewRef.current({
|
|
27707
27697
|
nodes: [{ id: nodeId }],
|
|
@@ -28009,4 +27999,4 @@ const FlowBuilderPage = ({ workflow, readOnly = false }) => {
|
|
|
28009
27999
|
] });
|
|
28010
28000
|
};
|
|
28011
28001
|
|
|
28012
|
-
export {
|
|
28002
|
+
export { NodeParamsForm as $, DialogFooter$1 as A, isRunControlNodeType as At, getWorkflowNodeTypes as B, templatePreview as C, Input$1 as Ct, DialogClose as D, filterPaletteNodes as Dt, Dialog$1 as E, WORKFLOW_TEST_NODE_TYPES as Et, DialogTrigger$1 as F, NodeEditorTabBody as G, useWorkflowTemplates as H, computeAttachPosition as I, RunnerStatusPill as J, NodeSettingsPanel as K, useTemplateImportFlow as L, DialogOverlay as M, DialogPortal as N, DialogContent$1 as O, isDurableFunctionNodeType as Ot, DialogTitle$1 as P, useRunners as Q, buildNodeCheck as R, TemplateCard as S, CardTitle$1 as St, badgeVariants as T, RUN_CONTROL_NODE_TYPES as Tt, useInstalledNodes as U, useImportWorkflowTemplate as V, NodeExecutionActions as W, runnerInstallCommand as X, RUNNER_INSTALL_SCRIPT_URL as Y, useRunnerActions as Z, resetAgentMarks as _, Card$1 as _t, useAiWorkflowTemplates as a, CodeEditorField as at, JsonView as b, CardFooter as bt, RunsUsageMeter as c, ReadOnlyFieldset as ct, readRunsQuota as d, SchedulePanel as dt, useGlobalStoreClient as et, runsQuotaLevel as f, NodeEditorTabs as ft, notesKeyOf as g, FluidGridsMark as gt, useWorkflowReloadStore as h, useNodeSelectedEvent as ht, enrichDraftNodes as i, PopoverTrigger$1 as it, DialogHeader$1 as j, DialogDescription$1 as k, isNodeTypeHiddenFromPalette as kt, RunsUsageMeterView as l, useNodeEditorTab as lt, releaseLeaseKeptForReload as m, NodeInputFields as mt, AI_DRAFT_MAX_PROMPT_LENGTH as n, Popover$1 as nt, BUILDER_FULLSCREEN_ATTRIBUTE as o, ConnectionSelector as ot, summarizeRunsQuota as p, TabButton as pt, RunOnSection as q, draftToCanvas as r, PopoverContent$1 as rt, BUILDER_FULLSCREEN_EVENT as s, ConnectionFormDialog as st, FlowBuilderPage as t, NDV_Z_INDEX as tt, useRunsQuota as u, SCHEDULE_NODE_TYPE as ut, useAgentMarksStore as v, CardContent$1 as vt, Badge$1 as w, DURABLE_FUNCTION_NODE_TYPES as wt, TableView as x, CardHeader$1 as xt, toPlainText as y, CardDescription$1 as yt, buildRequiredNodeTypes as z };
|
package/dist/history.js
CHANGED