@burdenoff/fluidgrids-fe-sdk 2026.1112.5 → 2026.1112.6
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/{AiStudioPage-BNmXx6LB.js → AiStudioPage-BSLdKT0H.js} +1 -1
- package/dist/{TemplatePreview-CBwvi0ga.js → TemplatePreview-BFMsDQif.js} +1 -1
- package/dist/{WorkflowBuilder-DmYS5JEY.js → WorkflowBuilder-B8PtcT0Q.js} +1 -1
- package/dist/{WorkflowBuilder-DDgWgnwH.js → WorkflowBuilder-D9W8hQTO.js} +1 -1
- package/dist/{agentTools-B4Gjf8R7.js → agentTools-DlPHMfhA.js} +1 -1
- package/dist/{canvasNoteTools-Bve4Fo7R.js → canvasNoteTools-CkAsMSvt.js} +1 -1
- package/dist/{flow-builder-BPe5YNF6.js → flow-builder-DUkCKl-S.js} +142 -24
- package/dist/index.js +6 -6
- package/dist/{node-detail-view-oAotM2EI.js → node-detail-view-ApMQwQRQ.js} +1 -1
- package/dist/templates.js +1 -1
- package/dist/workflow-builder.js +2 -2
- package/dist/workflow-pages.js +3 -3
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
|
|
3
3
|
import { t as ThemeProvider } from "./theme-provider-B3mIuz2d.js";
|
|
4
|
-
import { a as useAiWorkflowTemplates, i as enrichDraftNodes, n as AI_DRAFT_MAX_PROMPT_LENGTH, r as draftToCanvas, t as FlowBuilderPage } from "./flow-builder-
|
|
4
|
+
import { a as useAiWorkflowTemplates, i as enrichDraftNodes, n as AI_DRAFT_MAX_PROMPT_LENGTH, r as draftToCanvas, t as FlowBuilderPage } from "./flow-builder-DUkCKl-S.js";
|
|
5
5
|
import { Ot as builderPathOf, kt as classifyCreateRefusal, u as ensureNodeTypesLoaded, z as buildOperationSeed } from "./FluidGridsProvider-B1hgCbxG.js";
|
|
6
6
|
import { _ as throwIfResultError, n as getFluidGridsClient } from "./client-C9XSzSXr.js";
|
|
7
7
|
import { a as notifyFluidGridsAiCreditsUpdated, t as AiCreditBalanceSlot } from "./aiCreditsBridge-BuE92tKo.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
|
|
3
3
|
import { t as ThemeProvider } from "./theme-provider-B3mIuz2d.js";
|
|
4
|
-
import { t as FlowBuilderPage } from "./flow-builder-
|
|
4
|
+
import { t as FlowBuilderPage } from "./flow-builder-DUkCKl-S.js";
|
|
5
5
|
import { a as useTemplateImportFlow, l as useImportWorkflowTemplate } from "./TemplateCard-DanOe65C.js";
|
|
6
6
|
import { t as QuotaExhaustedDialog } from "./QuotaExhaustedDialog-Bj7AG_0y.js";
|
|
7
7
|
import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
|
|
3
|
-
import { d as releaseLeaseKeptForReload, f as useWorkflowReloadStore, t as FlowBuilderPage } from "./flow-builder-
|
|
3
|
+
import { d as releaseLeaseKeptForReload, f as useWorkflowReloadStore, t as FlowBuilderPage } from "./flow-builder-DUkCKl-S.js";
|
|
4
4
|
import { n as registerLiveCanvasHandler } from "./liveCanvas-D5ytXDp8.js";
|
|
5
5
|
import { _ as throwIfResultError, n as getFluidGridsClient, x as getFluidGridsConfig } from "./client-C9XSzSXr.js";
|
|
6
6
|
import { Or as WorkflowDefinitionDocument } from "./graphql-operation-types-z2oXfQvM.js";
|
|
@@ -6,7 +6,7 @@ import { d as Input } from "./dialog-Cjb4lB4D.js";
|
|
|
6
6
|
import { b as Card } from "./TemplateCard-DanOe65C.js";
|
|
7
7
|
import { t as cn } from "./cn-QqidFIgr.js";
|
|
8
8
|
import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
|
|
9
|
-
import { _ as useNodeSelectedEvent, v as FluidGridsMark } from "./flow-builder-
|
|
9
|
+
import { _ as useNodeSelectedEvent, v as FluidGridsMark } from "./flow-builder-DUkCKl-S.js";
|
|
10
10
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
11
11
|
import { Background, Controls, Handle, MarkerType, MiniMap, Position, ReactFlow, ReactFlowProvider, useReactFlow } from "@xyflow/react";
|
|
12
12
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { B as createConfiguredNode, Nt as useSaveStatusStore, Q as selectedOperationOf, R as SENSITIVE_PARAM, Y as nodeTitle, Z as paramsFromOperation, _ as registryNodeData, f as isNodeConfigsInitialized, gt as autosaveAllowedFor, o as NODE_CONFIGS, q as fixedParameterState, wt as isFlowComplete } from "./FluidGridsProvider-B1hgCbxG.js";
|
|
3
3
|
import { E as resolveOutputHandles, H as useFlowStore, T as resolveInputHandles } from "./node-operation-selection-DAbS6jSY.js";
|
|
4
4
|
import { j as isNodeTypeHiddenFromPalette } from "./TemplateCard-DanOe65C.js";
|
|
5
|
-
import { g as computeAttachPosition } from "./flow-builder-
|
|
5
|
+
import { g as computeAttachPosition } from "./flow-builder-DUkCKl-S.js";
|
|
6
6
|
import { AgentToolError, defineAgentTool } from "@burdenoff/fe-libs/shared/agent-tools";
|
|
7
7
|
import { z } from "zod";
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { n as useAgentMarksStore, r as toPlainText } from "./marksStore-DGCXjTmZ.js";
|
|
3
3
|
import { Q as selectedOperationOf, Y as nodeTitle, Z as paramsFromOperation } from "./FluidGridsProvider-B1hgCbxG.js";
|
|
4
4
|
import { H as useFlowStore } from "./node-operation-selection-DAbS6jSY.js";
|
|
5
|
-
import { p as notesKeyOf } from "./flow-builder-
|
|
5
|
+
import { p as notesKeyOf } from "./flow-builder-DUkCKl-S.js";
|
|
6
6
|
import { AgentToolError, defineAgentTool } from "@burdenoff/fe-libs/shared/agent-tools";
|
|
7
7
|
import { z } from "zod";
|
|
8
8
|
|
|
@@ -27,7 +27,7 @@ import { a as TEST_STATUS_TONE_CLASS, c as draftToInput, d as isTestRunOpen, f a
|
|
|
27
27
|
import { n as useRequestedProposal } from "./useRequestedProposal-B7uPXfZB.js";
|
|
28
28
|
import { t as AiCreditBalanceSlot } from "./aiCreditsBridge-BuE92tKo.js";
|
|
29
29
|
import * as React$1 from "react";
|
|
30
|
-
import { Suspense, createContext, lazy, memo, useCallback, useContext, useDeferredValue, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
30
|
+
import { Suspense, createContext, lazy, memo, useCallback, useContext, useDeferredValue, useEffect, useLayoutEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
|
|
31
31
|
import { Link, useNavigate, useParams } from "react-router";
|
|
32
32
|
import { useMutation, useQuery } from "@apollo/client/react";
|
|
33
33
|
import { create } from "zustand";
|
|
@@ -260,7 +260,7 @@ function IntroductionPropertyPanel() {
|
|
|
260
260
|
* waiting for its chunk and React's Suspense throttle (about 0.5 s on first
|
|
261
261
|
* open even with the chunk cached).
|
|
262
262
|
*/
|
|
263
|
-
const NodeDetailViewOverlay = preloadableLazy(() => import("./node-detail-view-
|
|
263
|
+
const NodeDetailViewOverlay = preloadableLazy(() => import("./node-detail-view-ApMQwQRQ.js").then((m) => m.NodeDetailView), "NodeDetailView");
|
|
264
264
|
const QuickConfigPanelOverlay = preloadableLazy(() => import("./quick-config-panel-Pm5nkZVr.js").then((m) => m.QuickConfigPanel), "QuickConfigPanel");
|
|
265
265
|
const SidebarNodeEditorOverlay = preloadableLazy(() => import("./sidebar-node-editor-BNub2vUq.js").then((m) => m.SidebarNodeEditor), "SidebarNodeEditor");
|
|
266
266
|
const WorkflowShareDialogOverlay = preloadableLazy(() => import("./WorkflowShareDialog-DB-qJLB2.js").then((n) => n.n).then((m) => m.WorkflowShareDialog), "WorkflowShareDialog");
|
|
@@ -468,8 +468,111 @@ function nextStoreOffset(products) {
|
|
|
468
468
|
return new Set(products.map((product) => product.id)).size;
|
|
469
469
|
}
|
|
470
470
|
|
|
471
|
+
// src/hooks/store/store-pages-cache.ts
|
|
472
|
+
/**
|
|
473
|
+
* The "Load more" pages of the builder's store node lists, kept apart from
|
|
474
|
+
* the first page.
|
|
475
|
+
*
|
|
476
|
+
* The first page is an Apollo query with `cache-and-network`, so it is
|
|
477
|
+
* fetched again every time a list mounts: after opening a node and going
|
|
478
|
+
* back, after closing and reopening the Node Store, after switching
|
|
479
|
+
* categories. The later pages used to be merged into that same cache entry
|
|
480
|
+
* (`fetchMore` + `updateQuery`), so each new first page replaced the merged
|
|
481
|
+
* list: the extra nodes showed for a moment and then disappeared. The later
|
|
482
|
+
* pages now live here, keyed by the list's filter, and are always appended
|
|
483
|
+
* after whatever the first page holds, so refreshing page 1 never drops them.
|
|
484
|
+
*/
|
|
485
|
+
/** How many filters keep their loaded pages; the oldest is dropped first. */
|
|
486
|
+
const STORE_PAGES_CACHE_LIMIT = 50;
|
|
487
|
+
var StorePagesCache = class {
|
|
488
|
+
limit;
|
|
489
|
+
entries = /* @__PURE__ */ new Map();
|
|
490
|
+
listeners = /* @__PURE__ */ new Set();
|
|
491
|
+
constructor(limit = 50) {
|
|
492
|
+
this.limit = limit;
|
|
493
|
+
}
|
|
494
|
+
/** The pages loaded after the first one for `key`, if any. */
|
|
495
|
+
get(key) {
|
|
496
|
+
return this.entries.get(key);
|
|
497
|
+
}
|
|
498
|
+
/**
|
|
499
|
+
* Adds one more page for `key`. Nodes already listed are not added twice,
|
|
500
|
+
* and `hasMore` / `totalCount` come from the newest page.
|
|
501
|
+
*/
|
|
502
|
+
append(key, page) {
|
|
503
|
+
const previous = this.entries.get(key);
|
|
504
|
+
this.entries.delete(key);
|
|
505
|
+
this.entries.set(key, {
|
|
506
|
+
products: appendUniqueById(previous?.products ?? [], page.products),
|
|
507
|
+
hasMore: page.hasMore,
|
|
508
|
+
totalCount: page.totalCount
|
|
509
|
+
});
|
|
510
|
+
for (const oldest of this.entries.keys()) {
|
|
511
|
+
if (this.entries.size <= this.limit) break;
|
|
512
|
+
this.entries.delete(oldest);
|
|
513
|
+
}
|
|
514
|
+
this.emit();
|
|
515
|
+
}
|
|
516
|
+
/** Forgets the later pages for `key`, e.g. on an explicit refresh. */
|
|
517
|
+
clear(key) {
|
|
518
|
+
if (this.entries.delete(key)) this.emit();
|
|
519
|
+
}
|
|
520
|
+
/** Forgets every list's later pages. */
|
|
521
|
+
clearAll() {
|
|
522
|
+
if (this.entries.size === 0) return;
|
|
523
|
+
this.entries.clear();
|
|
524
|
+
this.emit();
|
|
525
|
+
}
|
|
526
|
+
/** For `useSyncExternalStore`. */
|
|
527
|
+
subscribe = (listener) => {
|
|
528
|
+
this.listeners.add(listener);
|
|
529
|
+
return () => {
|
|
530
|
+
this.listeners.delete(listener);
|
|
531
|
+
};
|
|
532
|
+
};
|
|
533
|
+
emit() {
|
|
534
|
+
for (const listener of this.listeners) listener();
|
|
535
|
+
}
|
|
536
|
+
};
|
|
537
|
+
/**
|
|
538
|
+
* The list a store page belongs to: the filter, sort and page size, plus the
|
|
539
|
+
* workspace, organization and user the store answers for (`isPurchased`
|
|
540
|
+
* differs per user). The offset is left out on purpose: every page of one
|
|
541
|
+
* list shares the key.
|
|
542
|
+
*/
|
|
543
|
+
function storeListKey(input, scope) {
|
|
544
|
+
return JSON.stringify([
|
|
545
|
+
input.filter ?? null,
|
|
546
|
+
input.sortBy ?? null,
|
|
547
|
+
input.pagination?.limit ?? null,
|
|
548
|
+
scope.workspaceId ?? null,
|
|
549
|
+
scope.organizationId ?? null,
|
|
550
|
+
scope.userId ?? null
|
|
551
|
+
]);
|
|
552
|
+
}
|
|
553
|
+
/**
|
|
554
|
+
* The list to show: the first page as it is now, then every later page
|
|
555
|
+
* without the nodes the first page already has. With no first page yet
|
|
556
|
+
* there is nothing to show, because the later pages' offsets assume it.
|
|
557
|
+
*/
|
|
558
|
+
function mergeStorePages(first, later) {
|
|
559
|
+
if (!first) return void 0;
|
|
560
|
+
if (!later) return first;
|
|
561
|
+
return {
|
|
562
|
+
products: appendUniqueById(first.products, later.products),
|
|
563
|
+
hasMore: later.hasMore,
|
|
564
|
+
totalCount: later.totalCount
|
|
565
|
+
};
|
|
566
|
+
}
|
|
567
|
+
|
|
471
568
|
// src/hooks/store/useStoreNodes.ts
|
|
472
569
|
/**
|
|
570
|
+
* Later pages of every store node list in this page, keyed by filter,
|
|
571
|
+
* workspace, organization and user. Module-level rather than per Apollo
|
|
572
|
+
* client so a client rebuilt by the host (a new token) keeps them too.
|
|
573
|
+
*/
|
|
574
|
+
const laterPagesCache = new StorePagesCache();
|
|
575
|
+
/**
|
|
473
576
|
* Hook to browse and search workflow nodes from the global store
|
|
474
577
|
*/
|
|
475
578
|
function useStoreNodes(options = {}) {
|
|
@@ -477,6 +580,7 @@ function useStoreNodes(options = {}) {
|
|
|
477
580
|
const context = useContext(FluidGridsContext);
|
|
478
581
|
const workspaceId = context?.workspaceId ?? getFluidGridsConfig().workspaceId;
|
|
479
582
|
const organizationId = context?.organizationId;
|
|
583
|
+
const userId = context?.userId;
|
|
480
584
|
const input = {
|
|
481
585
|
filter: {
|
|
482
586
|
search: options.filter?.search,
|
|
@@ -496,52 +600,66 @@ function useStoreNodes(options = {}) {
|
|
|
496
600
|
workspaceId,
|
|
497
601
|
workspaceToken: getFluidGridsConfig().workspaceToken
|
|
498
602
|
});
|
|
499
|
-
const
|
|
603
|
+
const requestContext = Object.keys(contextHeaders).length > 0 ? { headers: contextHeaders } : void 0;
|
|
604
|
+
const { data, loading, error, refetch } = useQuery(BrowseWorkflowNodesDocument, {
|
|
500
605
|
client,
|
|
501
606
|
variables: { input },
|
|
502
607
|
fetchPolicy: "cache-and-network",
|
|
503
|
-
context:
|
|
608
|
+
context: requestContext
|
|
504
609
|
});
|
|
610
|
+
const listKey = storeListKey(input, {
|
|
611
|
+
workspaceId,
|
|
612
|
+
organizationId,
|
|
613
|
+
userId
|
|
614
|
+
});
|
|
615
|
+
const laterPages = useSyncExternalStore(laterPagesCache.subscribe, () => laterPagesCache.get(listKey));
|
|
616
|
+
const firstPage = data?.browseStore;
|
|
617
|
+
const list = useMemo(() => mergeStorePages(firstPage, laterPages), [firstPage, laterPages]);
|
|
505
618
|
const loadingMoreRef = useRef(false);
|
|
506
619
|
const [loadingMore, setLoadingMore] = useState(false);
|
|
620
|
+
const [loadMoreError, setLoadMoreError] = useState();
|
|
507
621
|
const handleFetchMore = () => {
|
|
508
|
-
if (!
|
|
622
|
+
if (!list?.hasMore || loadingMoreRef.current) return;
|
|
509
623
|
loadingMoreRef.current = true;
|
|
510
624
|
setLoadingMore(true);
|
|
511
|
-
|
|
625
|
+
setLoadMoreError(void 0);
|
|
626
|
+
const key = listKey;
|
|
627
|
+
client.query({
|
|
628
|
+
query: BrowseWorkflowNodesDocument,
|
|
512
629
|
variables: { input: {
|
|
513
630
|
...input,
|
|
514
631
|
pagination: {
|
|
515
632
|
...input.pagination,
|
|
516
|
-
offset: nextStoreOffset(
|
|
633
|
+
offset: nextStoreOffset(list.products)
|
|
517
634
|
}
|
|
518
635
|
} },
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
...fetchMoreResult.browseStore,
|
|
526
|
-
products: appendUniqueById(prev.browseStore?.products || [], fetchMoreResult.browseStore?.products || [])
|
|
527
|
-
}
|
|
528
|
-
};
|
|
529
|
-
}
|
|
636
|
+
fetchPolicy: "no-cache",
|
|
637
|
+
context: requestContext
|
|
638
|
+
}).then(({ data: page }) => {
|
|
639
|
+
if (page?.browseStore) laterPagesCache.append(key, page.browseStore);
|
|
640
|
+
}).catch((cause) => {
|
|
641
|
+
setLoadMoreError(cause instanceof Error ? cause : new Error(String(cause)));
|
|
530
642
|
}).finally(() => {
|
|
531
643
|
loadingMoreRef.current = false;
|
|
532
644
|
setLoadingMore(false);
|
|
533
645
|
});
|
|
534
646
|
};
|
|
647
|
+
const handleRefetch = useCallback(() => {
|
|
648
|
+
laterPagesCache.clear(listKey);
|
|
649
|
+
return refetch();
|
|
650
|
+
}, [listKey, refetch]);
|
|
535
651
|
return {
|
|
536
|
-
products:
|
|
537
|
-
totalCount:
|
|
538
|
-
hasMore:
|
|
652
|
+
products: list?.products ?? [],
|
|
653
|
+
totalCount: list?.totalCount ?? 0,
|
|
654
|
+
hasMore: list?.hasMore ?? false,
|
|
539
655
|
loading,
|
|
540
656
|
/** True while a "Load more" page is being fetched. */
|
|
541
657
|
loadingMore,
|
|
542
658
|
error,
|
|
659
|
+
/** The last "Load more" failure; the button stays usable to retry. */
|
|
660
|
+
loadMoreError,
|
|
543
661
|
fetchMore: handleFetchMore,
|
|
544
|
-
refetch
|
|
662
|
+
refetch: handleRefetch
|
|
545
663
|
};
|
|
546
664
|
}
|
|
547
665
|
|
|
@@ -17618,7 +17736,7 @@ const FlowBuilder = ({ readOnly = false }) => {
|
|
|
17618
17736
|
paletteGatesRef.current = paletteGates;
|
|
17619
17737
|
}, [paletteGates]);
|
|
17620
17738
|
useWarmBuilderOverlays();
|
|
17621
|
-
useLazyAgentTools(() => import("./agentTools-
|
|
17739
|
+
useLazyAgentTools(() => import("./agentTools-DlPHMfhA.js").then(({ createBuilderAgentTools }) => createBuilderAgentTools({ durableFunctionsEnabled: () => paletteGatesRef.current })), !editingBlocked, "Agent tools");
|
|
17622
17740
|
const [nodes, edges, onNodesChange, onEdgesChange, onConnect] = useFlowStore(useShallow((s) => {
|
|
17623
17741
|
return [
|
|
17624
17742
|
s.workflow.nodes,
|
|
@@ -17660,7 +17778,7 @@ const FlowBuilder = ({ readOnly = false }) => {
|
|
|
17660
17778
|
useEffect(() => {
|
|
17661
17779
|
fitViewRef.current = fitView;
|
|
17662
17780
|
}, [fitView]);
|
|
17663
|
-
useLazyAgentTools(() => import("./canvasNoteTools-
|
|
17781
|
+
useLazyAgentTools(() => import("./canvasNoteTools-CkAsMSvt.js").then(({ createCanvasNoteTools }) => createCanvasNoteTools({ focusNode: (nodeId) => fitViewRef.current({
|
|
17664
17782
|
nodes: [{ id: nodeId }],
|
|
17665
17783
|
duration: 400,
|
|
17666
17784
|
padding: .6,
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { At as createThenOpen, Dt as blankWorkflowCreateInput, cn as useNodeExecution, et as resolveUiSpec, kt as classifyCreateRefusal, m as refetchStoreNodes, n as FluidGridsProvider, r as useFluidGridsContext, tt as stripSubmitActions, vn as useFluidGridsAnalytics, yn as openRunQuotaUpgradePrompt } from "./FluidGridsProvider-B1hgCbxG.js";
|
|
3
|
-
import { n as WorkflowBuilderCore, r as EnsureThemeProvider, t as WorkflowBuilder } from "./WorkflowBuilder-
|
|
3
|
+
import { n as WorkflowBuilderCore, r as EnsureThemeProvider, t as WorkflowBuilder } from "./WorkflowBuilder-D9W8hQTO.js";
|
|
4
4
|
import { a as useCreateWorkflowFirst, i as FirstWorkflowChecklistView, r as FirstWorkflowChecklist, t as WorkflowsList } from "./WorkflowsList-rOxlI49U.js";
|
|
5
|
-
import { a as START_NAME_PARAM, c as readStartNodeRequest, i as START_FIELD_PREFIX, l as startNodeLink, o as START_NODE_PARAM, r as GuidedTourStarter, s as START_OPERATION_PARAM, t as WorkflowBuilder$1 } from "./WorkflowBuilder-
|
|
5
|
+
import { a as START_NAME_PARAM, c as readStartNodeRequest, i as START_FIELD_PREFIX, l as startNodeLink, o as START_NODE_PARAM, r as GuidedTourStarter, s as START_OPERATION_PARAM, t as WorkflowBuilder$1 } from "./WorkflowBuilder-B8PtcT0Q.js";
|
|
6
6
|
import { t as WorkflowSearchRedirect } from "./WorkflowSearchRedirect-iPQBL6WO.js";
|
|
7
7
|
import { A as isDurableFunctionNodeType, C as CardFooter, D as RUN_CONTROL_NODE_TYPES, E as DURABLE_FUNCTION_NODE_TYPES, M as isRunControlNodeType, O as WORKFLOW_TEST_NODE_TYPES, S as CardDescription, T as CardTitle, b as Card, i as badgeVariants, j as isNodeTypeHiddenFromPalette, k as filterPaletteNodes, r as Badge, w as CardHeader, x as CardContent } from "./TemplateCard-DanOe65C.js";
|
|
8
|
-
import { r as extractTemplateGraph, t as TemplatePreview } from "./TemplatePreview-
|
|
8
|
+
import { r as extractTemplateGraph, t as TemplatePreview } from "./TemplatePreview-BFMsDQif.js";
|
|
9
9
|
import { $ as DismissOptimisationSuggestionDocument, $n as UnpauseWorkflowScheduleDocument, $r as WorkflowRunHistoryDocument, $t as RemoveNodeFromWorkflowsDocument, A as CreateTaskQueueDocument, An as SetRunFailureTriageEnabledDocument, Ar as WorkflowDefinitionsDocument, At as NodeManifestDocument, B as DashboardSummaryDocument, Bn as StopWebhookTestListenerDocument, Br as WorkflowGitPushesDocument, Bt as PauseWorkflowScheduleDocument, C as CancelWorkflowProposalDocument, Ci as WorkflowVersioningDocument, Cn as RunLogsDocument, Cr as WorkflowBatchOperationUpdatedDocument, Ct as ImportWorkflowTemplateDocument, D as ContinuousOptimisationSettingsFieldsFragmentDoc, Di as WorkspaceRunsQuotaDocument, Dn as SaveWorkflowDraftDocument, Dr as WorkflowCodeSourceDocument, Dt as MoveWorkflowFolderDocument, E as ContinuousOptimisationSettingsDocument, Ei as WorkspaceAiUsageDocument, En as SandboxWorkflowWorkerFieldsFragmentDoc, Er as WorkflowCodeBundleSdkDocument, Et as ManagedAiWorkspacePolicyDocument, F as CreateWorkflowSearchAttributeDocument, Fn as SignalWorkflowRunDocument, Fr as WorkflowFoldersDocument, Ft as NodeUsageStatusDocument, G as DeleteWorkerTokenDocument, Gn as TaskQueueStatsDocument, Gr as WorkflowPromotionRequestsDocument, Gt as ProposeRunFixDocument, H as DeactivateWorkflowDefinitionDocument, Hn as TakeOverWorkflowEditLeaseDocument, Hr as WorkflowNotificationSettingsDocument, Ht as PreviewN8nImportDocument, I as CreateWorkflowSignalTokenDocument, In as SnoozeOptimisationSuggestionDocument, Ir as WorkflowGenerationDocument, It as OptimisationSuggestionFieldsFragmentDoc, J as DeleteWorkflowProjectDocument, Jn as TerminateWorkflowRunDocument, Jr as WorkflowRunDeterminismStatusDocument, Jt as QueryWorkflowRunDocument, K as DeleteWorkflowDefinitionDocument, Kn as TaskQueuesDocument, Kr as WorkflowProposalDocument, Kt as ProposeWorkflowChangeDocument, L as CreateWorkflowTestCaseDocument, Ln as StartBatchExportDocument, Lr as WorkflowGenerationTemplatesDocument, Lt as OptimisationSuggestionsDocument, M as CreateWorkflowDefinitionDocument, Mn as SetWorkflowRolloutDocument, Mr as WorkflowEditLeaseDocument, Mt as NodePaletteEntriesDocument, N as CreateWorkflowFolderDocument, Nn as SetWorkflowRunVersioningOverrideDocument, Nr as WorkflowEditLeaseStatusDocument, Nt as NodeSchemaIntrospectionDocument, O as CreateActivityPauseRuleDocument, On as SearchFluidgridsTagsDocument, Or as WorkflowDefinitionDocument, Ot as NodeEndpointConfigDocument, P as CreateWorkflowProjectDocument, Pn as ShareWorkflowDocument, Pr as WorkflowEnvironmentsDocument, Pt as NodeStatesDocument, Q as DeployWorkflowVersionToDevDocument, Qn as UnpauseActivityDocument, Qr as WorkflowRunHistoryArchiveDocument, Qt as ReleaseWorkflowEditLeaseDocument, R as CreateWorkflowTestCaseFromRunDocument, Rn as StartBatchOperationDocument, Rr as WorkflowGitCommitsDocument, Rt as PauseActivityDocument, S as CancelWorkflowPromotionDocument, Si as WorkflowVersionDrainageDocument, Sn as RunLogLineFieldsFragmentDoc, Sr as WorkflowBatchOperationDocument, St as ImportWorkflowDocument, T as CompleteActivityByIdDocument, Ti as WorkflowWorkersDocument, Tn as SandboxWorkerTokenFieldsFragmentDoc, Tr as WorkflowCallInputsDocument, Tt as ListenForWebhookTestEventDocument, U as DeleteActivityPauseRuleDocument, Un as TaskQueueFieldsFragmentDoc, Ur as WorkflowPinnedDataDocument, Ut as PreviewScheduleDocument, V as DataTablesTagsDocument, Vn as TagFluidgridsEntityDocument, Vr as WorkflowGitRepositoryDocument, Vt as PinNodeDataDocument, W as DeleteTaskQueueDocument, Wn as TaskQueueKindStatsFieldsFragmentDoc, Wr as WorkflowProjectsDocument, Wt as ProposeOptimisationDocument, X as DeleteWorkflowSearchAttributeDocument, Xn as TriggerWorkflowScheduleDocument, Xr as WorkflowRunEventFieldsFragmentDoc, Xt as RejectWorkflowPromotionDocument, Y as DeleteWorkflowRolloutDocument, Yn as TriggerWorkflowDocument, Yr as WorkflowRunDocument, Yt as RegisterNodeDocument, Z as DeleteWorkflowTestCaseDocument, Zn as UnlinkWorkflowGitRepositoryDocument, Zr as WorkflowRunHierarchyDocument, Zt as RejectWorkflowProposalDocument, _ as BulkDeleteWorkflowsDocument, _i as WorkflowTestRunDocument, _n as RunFailureClustersDocument, _r as WorkflowActivityPauseRuleFieldsFragmentDoc, _t as FileDownloadUrlDocument, a as AgentStepFieldsFragmentDoc, ai as WorkflowRunsDocument, an as ResetWorkflowRunDocument, ar as UpdateDurableHistoryCapsDocument, at as ErrorAnalyticsDocument, b as CancelExecutionDocument, bi as WorkflowUpdateResultFieldsFragmentDoc, bn as RunFromNodeEligibilityDocument, br as WorkflowAuthoringDocument, bt as FluidgridsTagAssignmentFieldsFragmentDoc, c as ApplyWorkflowProposalDocument, ci as WorkflowScheduleTickFieldsFragmentDoc, cn as RestoreWorkflowVersionDocument, cr as UpdateWorkflowDefinitionDocument, ct as ExecutionDetailDocument, d as AvailableFluidgridsTagsDocument, di as WorkflowSharingDocument, dn as RevokeWorkflowSignalTokenDocument, dr as UpdateWorkflowRunDocument, dt as ExecutionsListDocument, ei as WorkflowRunMetadataDocument, en as RenameWorkflowFolderDocument, er as UnpinNodeDataDocument, et as DismissRunFailureClusterDocument, f as BackfillWorkflowScheduleDocument, fi as WorkflowSignalTokenFieldsFragmentDoc, fn as RotateWorkerTokenDocument, fr as UpdateWorkflowTestCaseDocument, ft as ExplainRunDocument, g as BulkAssignWorkflowsToProjectDocument, gi as WorkflowTestCasesDocument, gn as RunEventAppendedDocument, gr as WorkerTokensDocument, gt as FgTriageFailedRunsDocument, h as BuilderRunStatusDocument, hi as WorkflowTestCaseResultFieldsFragmentDoc, hn as RunControlFieldsDocument, hr as WebhookTestListenerDocument, ht as FgRunOptimisationScanDocument, i as ActiveExecutionsDocument, ii as WorkflowRunsCountDocument, in as ResetActivityDocument, ir as UpdateCodecServerSettingsDocument, it as DurableRunFieldsDocument, j as CreateWorkerTokenDocument, jn as SetWorkerTokenConnectionAllowlistDocument, jr as WorkflowDefinitionsTagsDocument, jt as NodeManifestsDocument, k as CreateFluidgridsTagDocument, kn as SetContinuousOptimisationEnabledDocument, kr as WorkflowDefinitionForBuilderDocument, kt as NodeEndpointConfigsDocument, l as ApproveWorkflowPromotionDocument, li as WorkflowSearchAttributeFieldsFragmentDoc, ln as ResumeExecutionDocument, lr as UpdateWorkflowEnvironmentPolicyDocument, lt as ExecutionLogsDocument, m as BuilderRunNodeDetailsDocument, mi as WorkflowTestCaseFieldsFragmentDoc, mn as RunCodeReplaceFieldsFragmentDoc, mr as UsageTimeSeriesDocument, mt as FailActivityByIdDocument, n as ActivateWorkflowDefinitionDocument, ni as WorkflowRunStackTraceDocument, nn as ReplaceFluidgridsEntityTagsDocument, nr as UpdateActivityOptionsDocument, nt as DurableHistoryCapsDocument, o as AgentStepUpdatedDocument, oi as WorkflowScheduleDescribeDocument, on as ResetWorkflowRunToLastCleanTaskDocument, or as UpdateManagedAiWorkspacePolicyDocument, ot as EventRegistrationsDocument, p as BuildWorkflowCodeDocument, pi as WorkflowSignalTokensDocument, pn as RunAiUsageDocument, pr as UpsertWorkflowRunSearchAttributesDocument, pt as ExportWorkflowCodeDocument, q as DeleteWorkflowFolderDocument, qn as TerminateExecutionDocument, qr as WorkflowRolloutFieldsFragmentDoc, qt as PushWorkflowToGitDocument, r as ActivateWorkflowVersionCheckedDocument, ri as WorkflowRunUpdateDocument, rn as RequestWorkflowPromotionDocument, rr as UpdateArchiveSettingsDocument, rt as DurableParityRunFieldsDocument, s as AgentTraceDocument, si as WorkflowScheduleDescriptionFieldsFragmentDoc, sn as RestoreWorkflowFromGitDocument, sr as UpdateTaskQueueDocument, st as ExecuteStepDocument, t as AcquireWorkflowEditLeaseDocument, ti as WorkflowRunPendingDocument, tn as RenameWorkflowProjectDocument, tr as UntagFluidgridsEntityDocument, tt as DuplicateWorkflowDocument, u as ArchiveSettingsDocument, ui as WorkflowSearchAttributesDocument, un as RetryNodeDocument, ur as UpdateWorkflowNotificationSettingsDocument, ut as ExecutionStatsDocument, v as BulkMoveWorkflowsToFolderDocument, vi as WorkflowTestRunFieldsFragmentDoc, vn as RunFailureTriageSettingsDocument, vr as WorkflowActivityPauseRulesDocument, vt as FluidgridsAvailableTagFieldsFragmentDoc, w as CodecServerSettingsDocument, wi as WorkflowVersionsDocument, wn as RunWorkflowTestsDocument, wr as WorkflowBatchOperationsDocument, wt as LinkWorkflowGitRepositoryDocument, x as CancelWorkflowGenerationDocument, xi as WorkflowVersionDiffDocument, xn as RunLogAppendedDocument, xr as WorkflowBatchJobFieldsFragmentDoc, xt as GenerateWorkflowFromPromptDocument, y as CancelBatchOperationDocument, yi as WorkflowTestRunsDocument, yn as RunFromNodeDocument, yr as WorkflowArchiveSettingsFieldsFragmentDoc, yt as FluidgridsEntityTagsDocument, z as CreateWorkflowVersionDocument, zn as StartBatchTerminateDocument, zr as WorkflowGitDiffDocument, zt as PauseExecutionDocument } from "./graphql-operation-types-z2oXfQvM.js";
|
|
10
|
-
import { t as AiStudioPage } from "./AiStudioPage-
|
|
10
|
+
import { t as AiStudioPage } from "./AiStudioPage-BSLdKT0H.js";
|
|
11
11
|
import { t as ThemeProvider } from "./theme-provider-B3mIuz2d.js";
|
|
12
|
-
import { c as RunsUsageMeter, l as RunsUsageMeterView, o as BUILDER_FULLSCREEN_ATTRIBUTE, s as BUILDER_FULLSCREEN_EVENT, t as FlowBuilderPage, u as useRunsQuota, v as FluidGridsMark } from "./flow-builder-
|
|
12
|
+
import { c as RunsUsageMeter, l as RunsUsageMeterView, o as BUILDER_FULLSCREEN_ATTRIBUTE, s as BUILDER_FULLSCREEN_EVENT, t as FlowBuilderPage, u as useRunsQuota, v as FluidGridsMark } from "./flow-builder-DUkCKl-S.js";
|
|
13
13
|
import { A as themeKey, C as resetFluidGridsConfig, D as FLUIDGRIDS_THEME_TOKEN_MAP, O as applyFluidGridsTheme, S as getGraphQLEndpoint, T as setFluidGridsConfig, _ as throwIfResultError, a as resetFluidGridsClient, c as createFluidGridsTokenRefreshLink, g as isUnauthenticatedError, h as isForbiddenError, i as isFluidGridsClientReady, j as themeToCssVariables, k as sanitizeThemeValue, l as FLUIDGRIDS_EVENTS_VERSION, m as describeOperationError, n as getFluidGridsClient, o as setFluidGridsClient, r as getFluidGridsClientSafe, s as waitForFluidGridsClient, t as createFluidGridsClient, u as FLUIDGRIDS_EVENT_NAMES, w as resetFluidGridsExecutionState, x as getFluidGridsConfig, y as config } from "./client-C9XSzSXr.js";
|
|
14
14
|
import { t as ExecutionsListPage } from "./ExecutionsListPage-DuuPSVEj.js";
|
|
15
15
|
import { n as buttonVariants, t as Button } from "./button-DG7y_FVJ.js";
|
|
@@ -82,7 +82,7 @@ import * as SwitchPrimitives from "@radix-ui/react-switch";
|
|
|
82
82
|
|
|
83
83
|
// src/components/FluidGridsRoot.tsx
|
|
84
84
|
const WorkflowsList$1 = lazy(() => import("./WorkflowsList-rOxlI49U.js").then((n) => n.n).then((m) => ({ default: m.WorkflowsList })));
|
|
85
|
-
const WorkflowBuilder$2 = lazy(() => import("./WorkflowBuilder-
|
|
85
|
+
const WorkflowBuilder$2 = lazy(() => import("./WorkflowBuilder-B8PtcT0Q.js").then((n) => n.n).then((m) => ({ default: m.WorkflowBuilder })));
|
|
86
86
|
const ExecutionsListPage$1 = lazy(() => import("./ExecutionsListPage-DuuPSVEj.js").then((n) => n.n).then((m) => ({ default: m.ExecutionsListPage })));
|
|
87
87
|
const ExecutionDetailPage$1 = lazy(() => import("./ExecutionDetailPage-B9eEep77.js").then((n) => n.n).then((m) => ({ default: m.ExecutionDetailPage })));
|
|
88
88
|
const PageLoader = () => /* @__PURE__ */ jsx("div", {
|
|
@@ -5,7 +5,7 @@ import { $ as useNodeConfig, En as declaredSignals, J as nodeSubtitle, Ln as get
|
|
|
5
5
|
import { a as TabButton, c as NDV_Z_INDEX, i as ReadOnlyFieldset, n as SchedulePanel, o as NodeSettingsPanel, r as NodeExecutionActions, s as NodeParamsForm, t as SCHEDULE_NODE_TYPE } from "./schedule-panel-Dizqz9eA.js";
|
|
6
6
|
import { _ as throwIfResultError, m as describeOperationError, n as getFluidGridsClient, r as getFluidGridsClientSafe } from "./client-C9XSzSXr.js";
|
|
7
7
|
import { Dr as WorkflowCodeSourceDocument, Nr as WorkflowEditLeaseStatusDocument, Pt as NodeStatesDocument, _t as FileDownloadUrlDocument, p as BuildWorkflowCodeDocument } from "./graphql-operation-types-z2oXfQvM.js";
|
|
8
|
-
import { h as TableView, m as JsonView } from "./flow-builder-
|
|
8
|
+
import { h as TableView, m as JsonView } from "./flow-builder-DUkCKl-S.js";
|
|
9
9
|
import { jt as useUnpinNodeDataMutation, qt as useWorkflowPinnedDataQuery, st as usePinNodeDataMutation } from "./useAgentDefinitions-Uy6nhpKN.js";
|
|
10
10
|
import { f as usePhaseCFlags, s as useDurableFunctionNodesEnabled } from "./feature-flags-DM5myWaD.js";
|
|
11
11
|
import { s as useFluidGridsPermission, t as FLUIDGRIDS_PERMISSIONS } from "./constants-dcxg6zG6.js";
|
package/dist/templates.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { t as TemplatesPage } from "./TemplatesPage-C7f2xq12.js";
|
|
3
|
-
import { t as TemplatePreview } from "./TemplatePreview-
|
|
3
|
+
import { t as TemplatePreview } from "./TemplatePreview-BFMsDQif.js";
|
|
4
4
|
|
|
5
5
|
export { TemplatePreview, TemplatesPage };
|
package/dist/workflow-builder.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { n as WorkflowBuilderCore, t as WorkflowBuilder } from "./WorkflowBuilder-
|
|
3
|
-
import { t as WorkflowBuilder$1 } from "./WorkflowBuilder-
|
|
2
|
+
import { n as WorkflowBuilderCore, t as WorkflowBuilder } from "./WorkflowBuilder-D9W8hQTO.js";
|
|
3
|
+
import { t as WorkflowBuilder$1 } from "./WorkflowBuilder-B8PtcT0Q.js";
|
|
4
4
|
import { H as useFlowStore } from "./node-operation-selection-DAbS6jSY.js";
|
|
5
5
|
import { m as refetchStoreNodes } from "./FluidGridsProvider-B1hgCbxG.js";
|
|
6
6
|
import { t as WorkflowSearchRedirect } from "./WorkflowSearchRedirect-iPQBL6WO.js";
|
package/dist/workflow-pages.js
CHANGED
|
@@ -55,10 +55,10 @@ function createWorkflowPages(importers) {
|
|
|
55
55
|
*/
|
|
56
56
|
const pages = createWorkflowPages({
|
|
57
57
|
WorkflowsList: () => import("./WorkflowsList-rOxlI49U.js").then((n) => n.n),
|
|
58
|
-
WorkflowBuilderPage: () => import("./WorkflowBuilder-
|
|
58
|
+
WorkflowBuilderPage: () => import("./WorkflowBuilder-B8PtcT0Q.js").then((n) => n.n).then((m) => ({ WorkflowBuilderPage: m.WorkflowBuilder })),
|
|
59
59
|
WorkflowSearchRedirect: () => import("./WorkflowSearchRedirect-iPQBL6WO.js").then((n) => n.n),
|
|
60
|
-
TemplatePreview: () => import("./TemplatePreview-
|
|
61
|
-
AiStudioPage: () => import("./AiStudioPage-
|
|
60
|
+
TemplatePreview: () => import("./TemplatePreview-BFMsDQif.js").then((n) => n.n),
|
|
61
|
+
AiStudioPage: () => import("./AiStudioPage-BSLdKT0H.js").then((n) => n.n),
|
|
62
62
|
ExecutionsListPage: () => import("./ExecutionsListPage-DuuPSVEj.js").then((n) => n.n),
|
|
63
63
|
ExecutionDetailPage: () => import("./ExecutionDetailPage-B9eEep77.js").then((n) => n.n),
|
|
64
64
|
HistoryPage: () => import("./HistoryPage-C7NwkVNC.js").then((n) => n.n),
|