@burdenoff/fluidgrids-fe-sdk 2026.1105.4 → 2026.1107.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +4 -0
  2. package/dist/{ExecutionDetailPage-OOHJQR2L.js → ExecutionDetailPage-TQST7JKC.js} +7 -7
  3. package/dist/{ExecutionsListPage-6HS5VQOV.js → ExecutionsListPage-QQKEGXSC.js} +6 -6
  4. package/dist/{WorkflowBuilder-PICIS7FI.js → WorkflowBuilder-R7VIOVRO.js} +11 -11
  5. package/dist/{WorkflowsList-SD5XQC4Q.js → WorkflowsList-2WX7N526.js} +7 -7
  6. package/dist/{agentTools-UH4LU6LA.js → agentTools-MEEGOAE2.js} +4 -4
  7. package/dist/assistant.d.ts +1 -61
  8. package/dist/{chunk-OTOQFZFO.js → chunk-4F54UT62.js} +10 -10
  9. package/dist/{chunk-XNARCHMT.js → chunk-5KK3ALQ4.js} +1 -1
  10. package/dist/{chunk-Y4UCHFGK.js → chunk-752BT4WM.js} +1 -1
  11. package/dist/{chunk-KJT5TAOE.js → chunk-BLLBUHVF.js} +1 -1
  12. package/dist/{chunk-GBQC5WDH.js → chunk-E3PNEIBJ.js} +4 -4
  13. package/dist/{chunk-UYTPURFW.js → chunk-GA3V3X7Q.js} +2 -2
  14. package/dist/{chunk-HSTP2RX3.js → chunk-HUCRE45R.js} +1 -1
  15. package/dist/{chunk-LLCVVRCE.js → chunk-HY3XCZLB.js} +6 -6
  16. package/dist/{chunk-UWCD7JUU.js → chunk-JOOGRWYY.js} +4 -4
  17. package/dist/{chunk-43GSC5Y6.js → chunk-JRSCUUBT.js} +1 -1
  18. package/dist/{chunk-6VIG44VF.js → chunk-KE677WYY.js} +1 -1
  19. package/dist/{chunk-5GG2FEKW.js → chunk-KXCJPWYE.js} +2 -2
  20. package/dist/{chunk-OLRIWGYM.js → chunk-MESGVHUU.js} +4 -4
  21. package/dist/{chunk-WBRW67HX.js → chunk-MYAFMXFI.js} +2 -2
  22. package/dist/{chunk-XWINH6CR.js → chunk-NMYENCP2.js} +1 -1
  23. package/dist/{chunk-GBJWPSLJ.js → chunk-NSDBXKIC.js} +2 -2
  24. package/dist/{chunk-5Z4F24QT.js → chunk-OHKSDHNC.js} +1 -1
  25. package/dist/{chunk-4XAXF5VP.js → chunk-PYSEOWLW.js} +4 -4
  26. package/dist/{chunk-M72SMQOS.js → chunk-RI4NFNDX.js} +6 -6
  27. package/dist/{chunk-JRLBPR5U.js → chunk-TDFC5U66.js} +1 -1
  28. package/dist/{chunk-TGWDFLEX.js → chunk-UZJKX5FN.js} +5 -4
  29. package/dist/{chunk-EIMTOK6E.js → chunk-V2K4HJY4.js} +1 -1
  30. package/dist/{chunk-UIS7KGHW.js → chunk-VKC3ICRA.js} +4 -4
  31. package/dist/{chunk-GPABUQTD.js → chunk-WBVBRXDI.js} +5 -5
  32. package/dist/{chunk-ASYYYJG2.js → chunk-ZTZNQ5GF.js} +1 -1
  33. package/dist/{chunk-WC526MLS.js → chunk-ZWDKN6PU.js} +1 -1
  34. package/dist/executions.js +8 -8
  35. package/dist/history.js +6 -6
  36. package/dist/index.d.ts +6 -25757
  37. package/dist/index.js +35 -35
  38. package/dist/{node-detail-view-P5NV5CMO.js → node-detail-view-AQCGO4XQ.js} +7 -7
  39. package/dist/observability.js +4 -4
  40. package/dist/pageControlsBridge-kfcowd-2.d.ts +37 -0
  41. package/dist/{quick-config-panel-ZNSBVF4G.js → quick-config-panel-G3T4JCF6.js} +5 -5
  42. package/dist/settings.d.ts +0 -8
  43. package/dist/settings.js +5 -5
  44. package/dist/templates.d.ts +0 -10
  45. package/dist/templates.js +10 -10
  46. package/dist/workflow-builder-C261exmL.d.ts +688 -0
  47. package/dist/workflow-builder.d.ts +1 -1
  48. package/dist/workflow-builder.js +12 -12
  49. package/dist/workflow-preview.d.ts +0 -88
  50. package/dist/workflow-preview.js +78 -43
  51. package/dist/workflows-list.js +7 -7
  52. package/package.json +1 -1
  53. package/dist/pageControlsBridge-D6y36qi5.d.ts +0 -87
  54. package/dist/workflow-builder-C-ekFbwR.d.ts +0 -1210
package/README.md CHANGED
@@ -256,6 +256,10 @@ import { WorkflowPreviewCanvas, previewCanvasFromDefinition, previewRevealOrder
256
256
  - `resolveNodeMeta(nodeType)` (optional, keep it stable) supplies registry names
257
257
  and icons; without it a card uses the node's saved manifest, then a name and
258
258
  icon derived from its type.
259
+ - Edges follow the builder's rule: an edge whose source or target handle the
260
+ builder's card for that node does not have (read from the node's stored data,
261
+ as the builder reads it) is not drawn, so the preview never shows a
262
+ connection the builder drops.
259
263
  - Nodes cannot be dragged, connected, selected or deleted; pan and zoom work.
260
264
  - `prefers-reduced-motion: reduce` turns every animation off.
261
265
 
@@ -1,7 +1,7 @@
1
- export { ExecutionDetailPage } from './chunk-GPABUQTD.js';
2
- import './chunk-ASYYYJG2.js';
3
- import './chunk-UYTPURFW.js';
4
- import './chunk-WC526MLS.js';
1
+ export { ExecutionDetailPage } from './chunk-WBVBRXDI.js';
2
+ import './chunk-ZTZNQ5GF.js';
3
+ import './chunk-GA3V3X7Q.js';
4
+ import './chunk-ZWDKN6PU.js';
5
5
  import './chunk-NZMUKAXG.js';
6
6
  import './chunk-NZAYYUQ4.js';
7
7
  import './chunk-EXJW7EKR.js';
@@ -12,14 +12,14 @@ import './chunk-JDLQ6QIB.js';
12
12
  import './chunk-KHS2DZHH.js';
13
13
  import './chunk-Y53CVZVV.js';
14
14
  import './chunk-FNZZ5JJL.js';
15
- import './chunk-EIMTOK6E.js';
15
+ import './chunk-V2K4HJY4.js';
16
16
  import './chunk-PJAWNFJV.js';
17
17
  import './chunk-H4ERTSMX.js';
18
- import './chunk-HSTP2RX3.js';
18
+ import './chunk-HUCRE45R.js';
19
19
  import './chunk-5375NUIO.js';
20
20
  import './chunk-JL7CASN5.js';
21
21
  import './chunk-SDZEAIIE.js';
22
- import './chunk-TGWDFLEX.js';
22
+ import './chunk-UZJKX5FN.js';
23
23
  import './chunk-Y7FKJJMF.js';
24
24
  import './chunk-TYI2XOSI.js';
25
25
  import './chunk-G77IGC3Y.js';
@@ -1,19 +1,19 @@
1
- export { ExecutionsListPage } from './chunk-UIS7KGHW.js';
2
- import './chunk-UYTPURFW.js';
3
- import './chunk-WC526MLS.js';
1
+ export { ExecutionsListPage } from './chunk-VKC3ICRA.js';
2
+ import './chunk-GA3V3X7Q.js';
3
+ import './chunk-ZWDKN6PU.js';
4
4
  import './chunk-WZ3EJVS6.js';
5
5
  import './chunk-5ERAJC2I.js';
6
6
  import './chunk-KHS2DZHH.js';
7
7
  import './chunk-FNZZ5JJL.js';
8
- import './chunk-EIMTOK6E.js';
8
+ import './chunk-V2K4HJY4.js';
9
9
  import './chunk-PJAWNFJV.js';
10
10
  import './chunk-H4ERTSMX.js';
11
11
  import './chunk-4VJ3MDOV.js';
12
- import './chunk-HSTP2RX3.js';
12
+ import './chunk-HUCRE45R.js';
13
13
  import './chunk-5375NUIO.js';
14
14
  import './chunk-JL7CASN5.js';
15
15
  import './chunk-SDZEAIIE.js';
16
- import './chunk-TGWDFLEX.js';
16
+ import './chunk-UZJKX5FN.js';
17
17
  import './chunk-Y7FKJJMF.js';
18
18
  import './chunk-TYI2XOSI.js';
19
19
  import './chunk-G77IGC3Y.js';
@@ -1,30 +1,30 @@
1
- export { WorkflowBuilder } from './chunk-LLCVVRCE.js';
2
- import './chunk-Y4UCHFGK.js';
1
+ export { WorkflowBuilder } from './chunk-HY3XCZLB.js';
2
+ import './chunk-752BT4WM.js';
3
3
  import './chunk-PIKYQE7P.js';
4
- import './chunk-OTOQFZFO.js';
5
- import './chunk-XWINH6CR.js';
4
+ import './chunk-4F54UT62.js';
5
+ import './chunk-NMYENCP2.js';
6
6
  import './chunk-GEMNVFPK.js';
7
7
  import './chunk-B6CCE2RW.js';
8
8
  import './chunk-IEVSFCFS.js';
9
9
  import './chunk-YXMFRQYV.js';
10
10
  import './chunk-BQXVT32O.js';
11
- import './chunk-43GSC5Y6.js';
12
- import './chunk-JRLBPR5U.js';
11
+ import './chunk-JRSCUUBT.js';
12
+ import './chunk-TDFC5U66.js';
13
13
  import './chunk-PASKZCII.js';
14
14
  import './chunk-JDLQ6QIB.js';
15
15
  import './chunk-KHS2DZHH.js';
16
16
  import './chunk-Y53CVZVV.js';
17
- import './chunk-5Z4F24QT.js';
18
- import './chunk-6VIG44VF.js';
19
- import './chunk-EIMTOK6E.js';
17
+ import './chunk-OHKSDHNC.js';
18
+ import './chunk-KE677WYY.js';
19
+ import './chunk-V2K4HJY4.js';
20
20
  import './chunk-GLYINMOR.js';
21
21
  import './chunk-H4ERTSMX.js';
22
22
  import './chunk-4VJ3MDOV.js';
23
- import './chunk-HSTP2RX3.js';
23
+ import './chunk-HUCRE45R.js';
24
24
  import './chunk-5375NUIO.js';
25
25
  import './chunk-JL7CASN5.js';
26
26
  import './chunk-SDZEAIIE.js';
27
- import './chunk-TGWDFLEX.js';
27
+ import './chunk-UZJKX5FN.js';
28
28
  import './chunk-Y7FKJJMF.js';
29
29
  import './chunk-TYI2XOSI.js';
30
30
  import './chunk-G77IGC3Y.js';
@@ -1,18 +1,18 @@
1
- export { WorkflowsList } from './chunk-M72SMQOS.js';
2
- import './chunk-Y4UCHFGK.js';
3
- import './chunk-WC526MLS.js';
1
+ export { WorkflowsList } from './chunk-RI4NFNDX.js';
2
+ import './chunk-752BT4WM.js';
3
+ import './chunk-ZWDKN6PU.js';
4
4
  import './chunk-5ERAJC2I.js';
5
- import './chunk-JRLBPR5U.js';
5
+ import './chunk-TDFC5U66.js';
6
6
  import './chunk-FNZZ5JJL.js';
7
- import './chunk-EIMTOK6E.js';
7
+ import './chunk-V2K4HJY4.js';
8
8
  import './chunk-PJAWNFJV.js';
9
9
  import './chunk-H4ERTSMX.js';
10
10
  import './chunk-4VJ3MDOV.js';
11
- import './chunk-HSTP2RX3.js';
11
+ import './chunk-HUCRE45R.js';
12
12
  import './chunk-5375NUIO.js';
13
13
  import './chunk-JL7CASN5.js';
14
14
  import './chunk-SDZEAIIE.js';
15
- import './chunk-TGWDFLEX.js';
15
+ import './chunk-UZJKX5FN.js';
16
16
  import './chunk-Y7FKJJMF.js';
17
17
  import './chunk-TYI2XOSI.js';
18
18
  import './chunk-G77IGC3Y.js';
@@ -1,10 +1,10 @@
1
- import { nodeTitle, selectedOperationOf, paramsFromOperation, fixedParameterState } from './chunk-WBRW67HX.js';
2
- import { computeAttachPosition } from './chunk-XWINH6CR.js';
3
- import { NODE_CONFIGS, createConfiguredNode, isNodeConfigsInitialized, useSaveStatusStore, autosaveAllowedFor, isFlowComplete, isNodeTypeHiddenFromPalette } from './chunk-HSTP2RX3.js';
1
+ import { nodeTitle, selectedOperationOf, paramsFromOperation, fixedParameterState } from './chunk-MYAFMXFI.js';
2
+ import { computeAttachPosition } from './chunk-NMYENCP2.js';
3
+ import { NODE_CONFIGS, createConfiguredNode, isNodeConfigsInitialized, useSaveStatusStore, autosaveAllowedFor, isFlowComplete, isNodeTypeHiddenFromPalette } from './chunk-HUCRE45R.js';
4
4
  import './chunk-5375NUIO.js';
5
5
  import './chunk-JL7CASN5.js';
6
6
  import './chunk-SDZEAIIE.js';
7
- import { resolveOutputHandles, resolveInputHandles, useFlowStore } from './chunk-TGWDFLEX.js';
7
+ import { resolveOutputHandles, resolveInputHandles, useFlowStore } from './chunk-UZJKX5FN.js';
8
8
  import './chunk-Y7FKJJMF.js';
9
9
  import './chunk-TYI2XOSI.js';
10
10
  import './chunk-G77IGC3Y.js';
@@ -1,63 +1,27 @@
1
- export { F as FgEnumFilterSpec, a as FgFilterOption, b as FgPageControlsSpec, c as FgRegisterPageControls, d as FgTabsSpec, e as FluidGridsAssistantBridge, f as FluidGridsAssistantBridgeProps, u as useFluidGridsPageControls } from './pageControlsBridge-D6y36qi5.js';
1
+ export { F as FgEnumFilterSpec, a as FgFilterOption, b as FgPageControlsSpec, c as FgRegisterPageControls, d as FgTabsSpec, e as FluidGridsAssistantBridge, f as FluidGridsAssistantBridgeProps, u as useFluidGridsPageControls } from './pageControlsBridge-kfcowd-2.js';
2
2
  import { FC, ComponentType, ReactNode } from 'react';
3
3
 
4
- /**
5
- * AI-credit balance bridge (BOFF-3732).
6
- *
7
- * AI Studio surfaces (the builder's "Generate with AI" panel and the run
8
- * detail's AI assistant) show the workspace's remaining FluidGrids AI credits
9
- * before an action, and tell the host when an action may have spent some.
10
- *
11
- * Like the page-controls bridge, the SDK does NOT import
12
- * `@burdenoff/fe-libs/shared/assistant`: many consumers pin an older fe-libs,
13
- * and embedders have no shell to read a balance from. Instead:
14
- * - the host mounts {@link FluidGridsAiCreditsBridge} with a `Balance`
15
- * component (the fluidgrids-app passes the shared fe-libs `AiCreditBalance`
16
- * bound to `fluidgrids`), and the SDK renders it where an AI action starts;
17
- * - after an AI action settles the SDK dispatches the shared
18
- * `fluidgrids:ai-credits-updated` window event (the same name fe-libs'
19
- * `notifyAiCreditsUpdated("fluidgrids")` uses), so every balance on screen,
20
- * the assistant panel's included, reads again.
21
- *
22
- * No provider mounted: the slot renders nothing and the SDK works unchanged.
23
- */
24
-
25
- /** Props the SDK passes to the host's balance component. */
26
4
  interface FgAiCreditBalanceProps {
27
- /** Layout classes from the mount point. */
28
5
  className?: string;
29
- /** Distinguishes the mounts in tests and in Playwright checks. */
30
6
  testId?: string;
31
7
  }
32
- /** The product key FluidGrids AI credits are charged under. */
33
8
  declare const FLUIDGRIDS_AI_PRODUCT_KEY = "fluidgrids";
34
- /** Window event a balance listens to; mirrors fe-libs `aiCreditsUpdatedEventName`. */
35
9
  declare const FLUIDGRIDS_AI_CREDITS_UPDATED_EVENT = "fluidgrids:ai-credits-updated";
36
10
  interface FluidGridsAiCreditsBridgeProps {
37
- /** Renders the remaining balance; renders nothing when it is unknown. */
38
11
  Balance: ComponentType<FgAiCreditBalanceProps>;
39
12
  children: ReactNode;
40
13
  }
41
14
  declare const FluidGridsAiCreditsBridge: FC<FluidGridsAiCreditsBridgeProps>;
42
- /** Where an AI action starts: the host's balance, or nothing without a bridge. */
43
15
  declare const AiCreditBalanceSlot: FC<FgAiCreditBalanceProps>;
44
- /**
45
- * Tell every balance on screen that an AI action settled and may have spent
46
- * credits. Safe outside a browser and without a bridge (nothing listens).
47
- */
48
16
  declare function notifyFluidGridsAiCreditsUpdated(): void;
49
17
 
50
- /** Mirror of fe-libs' `AssistantPreviewRun`. */
51
18
  interface FgAssistantRun {
52
19
  readonly runId: string;
53
20
  readonly conversationId: string;
54
21
  readonly messageId: string;
55
- /** The workspace the run started in. */
56
22
  readonly workspaceId: string | null;
57
- /** The actor the run started as. */
58
23
  readonly actorId: string | null;
59
24
  }
60
- /** Mirror of fe-libs' `action-result` preview event: one approved write's root field. */
61
25
  interface FgAssistantActionResult {
62
26
  kind: "action-result";
63
27
  run: FgAssistantRun;
@@ -65,45 +29,21 @@ interface FgAssistantActionResult {
65
29
  id: string;
66
30
  operation: string;
67
31
  responseKey: string;
68
- /** Approved inputs, with sensitive arguments omitted. */
69
32
  arguments: Readonly<Record<string, unknown>>;
70
- /** The redacted GraphQL response. */
71
33
  result: unknown;
72
34
  };
73
35
  }
74
- /**
75
- * Mirror of fe-libs' `AssistantPreviewEvent`. Only `action-result` is read;
76
- * the other kinds are listed loosely so every fe-libs event is accepted.
77
- */
78
36
  type FgAssistantPreviewEvent = FgAssistantActionResult | {
79
37
  kind: "start" | "snapshot" | "end";
80
38
  run: FgAssistantRun;
81
39
  };
82
- /** Mirror of fe-libs' `AssistantPreviewController`, headless. */
83
40
  interface FgAssistantPreviewController {
84
41
  onEvent: (event: FgAssistantPreviewEvent) => void;
85
42
  }
86
43
  interface FluidGridsAssistantLiveCanvasOptions {
87
- /**
88
- * The signed-in actor now. When given, a write from a run started by another
89
- * actor (a late result after an account switch) is ignored. Read on every
90
- * event, so it may read a token lazily.
91
- */
92
44
  getActorId?: () => string | null;
93
45
  }
94
- /**
95
- * Build the headless controller outside React (one per panel mount).
96
- * `options` is read on every event.
97
- */
98
46
  declare function createFluidGridsAssistantLiveCanvas(options?: FluidGridsAssistantLiveCanvasOptions): FgAssistantPreviewController;
99
- /**
100
- * The headless preview controller for the shared assistant panel, STABLE for
101
- * the life of the calling component (fe-libs requires a stable controller).
102
- * The latest `getActorId` is used on every event without changing identity.
103
- *
104
- * const liveCanvas = useFluidGridsAssistantLiveCanvas({ getActorId });
105
- * const panelProps = useMemo(() => ({ ..., preview: liveCanvas }), [liveCanvas, ...]);
106
- */
107
47
  declare function useFluidGridsAssistantLiveCanvas(options?: FluidGridsAssistantLiveCanvasOptions): FgAssistantPreviewController;
108
48
 
109
49
  export { AiCreditBalanceSlot, FLUIDGRIDS_AI_CREDITS_UPDATED_EVENT, FLUIDGRIDS_AI_PRODUCT_KEY, type FgAiCreditBalanceProps, type FgAssistantActionResult, type FgAssistantPreviewController, type FgAssistantPreviewEvent, type FgAssistantRun, FluidGridsAiCreditsBridge, type FluidGridsAiCreditsBridgeProps, type FluidGridsAssistantLiveCanvasOptions, createFluidGridsAssistantLiveCanvas, notifyFluidGridsAiCreditsUpdated, useFluidGridsAssistantLiveCanvas };
@@ -1,23 +1,23 @@
1
- import { computeAttachPosition, firstInputHandleId } from './chunk-XWINH6CR.js';
1
+ import { computeAttachPosition, firstInputHandleId } from './chunk-NMYENCP2.js';
2
2
  import { deepClone, applyTemplateInputs } from './chunk-GEMNVFPK.js';
3
3
  import { templatePreview } from './chunk-B6CCE2RW.js';
4
4
  import { Input } from './chunk-IEVSFCFS.js';
5
5
  import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter as DialogFooter$1 } from './chunk-YXMFRQYV.js';
6
6
  import { Badge as Badge$1, Button } from './chunk-BQXVT32O.js';
7
- import { LogsPanel } from './chunk-43GSC5Y6.js';
8
- import { QuotaExhaustedDialog, WorkflowShareDialog, useWorkflowCodeExport, orderedExportFiles, fileBaseName, downloadWorkflowCodeExport, isLosslessReport, sortFidelityItems, isLossyFidelityItem, lineOfNode } from './chunk-JRLBPR5U.js';
7
+ import { LogsPanel } from './chunk-JRSCUUBT.js';
8
+ import { QuotaExhaustedDialog, WorkflowShareDialog, useWorkflowCodeExport, orderedExportFiles, fileBaseName, downloadWorkflowCodeExport, isLosslessReport, sortFidelityItems, isLossyFidelityItem, lineOfNode } from './chunk-TDFC5U66.js';
9
9
  import { emptyTestCaseDraft, EntityTagPicker, useWorkflowProposal, WorkflowProposalCard, useWorkflowTests, pinnedOutputsFromCanvas, enabledCaseIds, isTestRunOpen, MAX_TEST_CASES, draftFromTestCase, testRunSummaryText, testStatusLabel, TEST_STATUS_TONE_CLASS, testStatusTone, MAX_CASE_NAME, nextSortOrder, draftToInput } from './chunk-PASKZCII.js';
10
10
  import { buildNodeDisplayMap } from './chunk-KHS2DZHH.js';
11
11
  import { AiCreditBalanceSlot } from './chunk-Y53CVZVV.js';
12
- import { countLifecycle, VersionLifecycleBar, VersionDiffDialog } from './chunk-5Z4F24QT.js';
13
- import { useRestoreWorkflowVersion, useWorkflowVersions, useActivateWorkflow, useDeleteWorkflow, useDeactivateWorkflow } from './chunk-EIMTOK6E.js';
12
+ import { countLifecycle, VersionLifecycleBar, VersionDiffDialog } from './chunk-OHKSDHNC.js';
13
+ import { useRestoreWorkflowVersion, useWorkflowVersions, useActivateWorkflow, useDeleteWorkflow, useDeactivateWorkflow } from './chunk-V2K4HJY4.js';
14
14
  import { useRequestedProposal } from './chunk-GLYINMOR.js';
15
15
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
16
- import { leaseCallQueue, RUNS_QUOTA_NAME, BILLING_PLANS_PATH, emitUpgradeClicked, FluidGridsContext, emitWorkflowCreated, emitTemplateUsed, ensureNodeConfigsLoaded, NODE_CONFIGS, useEditLeaseStore, useEditLeaseLocked, registerWorkflowNodeTypes, emitNodeInstalled, useNodeExecution, usePaletteGates, onNodeTypesUpdate, NODE_TYPES, getNodeMetadata, refetchStoreNodes, AVAILABLE_NODES, EDIT_SESSION_ID, useInsertNode, useSaveStatusStore, useManualSave, useDurableFunctionNodesEnabled, bannerOf, editStateFor, useSaveWorkflow, filterPaletteNodes, useFluidGridsAnalytics, useGuardedNavigate, sessionBeforeReload, forgetSessionForReload, releasesOnClose, touchesSavedFields, isLocked, watchLeavingLosesChanges, workflowFingerprint, savedEverythingBeforeLeaving, buildStickyNode, NODES_METADATA, shouldReleaseForIdle, tickAction, rememberSessionForReload, leavingLosesChanges, buildOperationSeed, useDurableParityEnabled, useConnections, ConnectionFormDialog, useWorkflowTestsEnabled, useFluidGridsFlag, FLUIDGRIDS_FLAGS, useFlowValidator, saveIndicatorOf, departingSave, inAppLeaveTarget, isNodeConfigsInitialized, phaseAfterAcquire, rememberOwnStatusChange, useRunGuard, getNodeDetail, NODES, NodePropertyPanel, loadDefinitionJson, canAutosave, isNodeTypeHiddenFromPalette, ConnectionSelector, AUTOSAVE_RETRY_DELAYS_MS, AUTOSAVE_DEBOUNCE_MS, editingLeaseLocked, autosaveAllowedFor, isFlowComplete, rememberRevision, phaseAfterTakeOver } from './chunk-HSTP2RX3.js';
16
+ import { leaseCallQueue, RUNS_QUOTA_NAME, BILLING_PLANS_PATH, emitUpgradeClicked, FluidGridsContext, emitWorkflowCreated, emitTemplateUsed, ensureNodeConfigsLoaded, NODE_CONFIGS, useEditLeaseStore, useEditLeaseLocked, registerWorkflowNodeTypes, emitNodeInstalled, useNodeExecution, usePaletteGates, onNodeTypesUpdate, NODE_TYPES, getNodeMetadata, refetchStoreNodes, AVAILABLE_NODES, EDIT_SESSION_ID, useInsertNode, useSaveStatusStore, useManualSave, useDurableFunctionNodesEnabled, bannerOf, editStateFor, useSaveWorkflow, filterPaletteNodes, useFluidGridsAnalytics, useGuardedNavigate, sessionBeforeReload, forgetSessionForReload, releasesOnClose, touchesSavedFields, isLocked, watchLeavingLosesChanges, workflowFingerprint, savedEverythingBeforeLeaving, buildStickyNode, NODES_METADATA, shouldReleaseForIdle, tickAction, rememberSessionForReload, leavingLosesChanges, buildOperationSeed, useDurableParityEnabled, useConnections, ConnectionFormDialog, useWorkflowTestsEnabled, useFluidGridsFlag, FLUIDGRIDS_FLAGS, useFlowValidator, saveIndicatorOf, departingSave, inAppLeaveTarget, isNodeConfigsInitialized, phaseAfterAcquire, rememberOwnStatusChange, useRunGuard, getNodeDetail, NODES, NodePropertyPanel, loadDefinitionJson, canAutosave, isNodeTypeHiddenFromPalette, ConnectionSelector, AUTOSAVE_RETRY_DELAYS_MS, AUTOSAVE_DEBOUNCE_MS, editingLeaseLocked, autosaveAllowedFor, isFlowComplete, rememberRevision, phaseAfterTakeOver } from './chunk-HUCRE45R.js';
17
17
  import { SdkPermissionButton, FLUIDGRIDS_PERMISSIONS, useFluidGridsPermission, SdkPermissionGate } from './chunk-5375NUIO.js';
18
18
  import { cn } from './chunk-JL7CASN5.js';
19
19
  import { BuilderReadOnlyProvider, useBuilderReadOnly } from './chunk-SDZEAIIE.js';
20
- import { useFlowStore, useIsValidConnection, NODE_TYPE_DRAG_DATA_FORMAT, NODE_OPERATION_DRAG_DATA_FORMAT, CODE_WORKFLOW_NODE_TYPE, STICKY_NOTE_TYPE, NodeTypeIcon, isImageIcon, synchronizeOperationUpdate, isTriggerOperation, canRenderOperationPanel, resolveOperationName } from './chunk-TGWDFLEX.js';
20
+ import { useFlowStore, useIsValidConnection, NODE_TYPE_DRAG_DATA_FORMAT, NODE_OPERATION_DRAG_DATA_FORMAT, CODE_WORKFLOW_NODE_TYPE, STICKY_NOTE_TYPE, NodeTypeIcon, isImageIcon, synchronizeOperationUpdate, isTriggerOperation, canRenderOperationPanel, resolveOperationName } from './chunk-UZJKX5FN.js';
21
21
  import { getGlobalStoreClient } from './chunk-TYI2XOSI.js';
22
22
  import { GetMyNodeInstallationsDocument, BrowseWorkflowTemplatesDocument, InstallWorkflowNodeDocument, SubmitWorkflowTemplateDocument, MyWorkflowTemplateSubmissionsDocument, WithdrawWorkflowTemplateSubmissionDocument, InstallPurchasedNodeDocument, BrowseWorkflowNodesDocument, UninstallWorkflowNodeDocument, CreateStoreOrderDocument, GetNodeInstallableVersionsDocument, OrganizationPrivateNodesDocument, InstallOrganizationPrivateNodeDocument, UninstallOrganizationPrivateNodeDocument } from './chunk-G77IGC3Y.js';
23
23
  import { WorkspaceRunsQuotaDocument, WorkflowGenerationTemplatesDocument, ReleaseWorkflowEditLeaseDocument, NodeSchemaIntrospectionDocument, AcquireWorkflowEditLeaseDocument, WorkflowEnvironmentsDocument, WorkflowPromotionRequestsDocument, DeployWorkflowVersionToDevDocument, RequestWorkflowPromotionDocument, ApproveWorkflowPromotionDocument, RejectWorkflowPromotionDocument, CancelWorkflowPromotionDocument, UpdateWorkflowEnvironmentPolicyDocument, WorkflowGitRepositoryDocument, WorkflowGitPushesDocument, WorkflowGitCommitsDocument, LinkWorkflowGitRepositoryDocument, UnlinkWorkflowGitRepositoryDocument, PushWorkflowToGitDocument, WorkflowGitDiffDocument, RestoreWorkflowFromGitDocument, WorkflowAuthoringDocument, WorkflowEditLeaseDocument, WorkflowVersioningDocument, WorkflowVersionDrainageDocument, ActivateWorkflowVersionCheckedDocument, WorkflowDefinitionDocument, NodeUsageStatusDocument, RemoveNodeFromWorkflowsDocument, SetWorkflowRolloutDocument, DeleteWorkflowRolloutDocument, TakeOverWorkflowEditLeaseDocument } from './chunk-Z3ABLERJ.js';
@@ -21241,12 +21241,12 @@ function EditLeaseBanner() {
21241
21241
  );
21242
21242
  }
21243
21243
  var LazyNodeDetailView = lazy(
21244
- () => import('./node-detail-view-P5NV5CMO.js').then((m) => ({
21244
+ () => import('./node-detail-view-AQCGO4XQ.js').then((m) => ({
21245
21245
  default: m.NodeDetailView
21246
21246
  }))
21247
21247
  );
21248
21248
  var LazyQuickConfigPanel = lazy(
21249
- () => import('./quick-config-panel-ZNSBVF4G.js').then((m) => ({
21249
+ () => import('./quick-config-panel-G3T4JCF6.js').then((m) => ({
21250
21250
  default: m.QuickConfigPanel
21251
21251
  }))
21252
21252
  );
@@ -21308,7 +21308,7 @@ var FlowBuilder = ({ readOnly = false }) => {
21308
21308
  );
21309
21309
  useEffect(() => {
21310
21310
  let cancelled = false;
21311
- void import('./agentTools-UH4LU6LA.js').then(({ createBuilderAgentTools }) => {
21311
+ void import('./agentTools-MEEGOAE2.js').then(({ createBuilderAgentTools }) => {
21312
21312
  if (cancelled) return;
21313
21313
  setAgentTools(
21314
21314
  createBuilderAgentTools({
@@ -1,5 +1,5 @@
1
1
  import { emptyAgentForm, agentToForm, describeRule, formToInput, AgentFormError, DEFAULT_GRANT_DAYS, MAX_GRANT_DAYS, grantDays } from './chunk-WZ3EJVS6.js';
2
- import { useAgentDefinitions, useAgentDefinitionList, useConnections } from './chunk-HSTP2RX3.js';
2
+ import { useAgentDefinitions, useAgentDefinitionList, useConnections } from './chunk-HUCRE45R.js';
3
3
  import { useTr } from './chunk-UULVIT25.js';
4
4
  import { describeOperationError } from './chunk-JKLZ6YZ3.js';
5
5
  import { useState, useCallback, useEffect } from 'react';
@@ -1,4 +1,4 @@
1
- import { QuotaExhaustedDialog } from './chunk-JRLBPR5U.js';
1
+ import { QuotaExhaustedDialog } from './chunk-TDFC5U66.js';
2
2
  import { useTr } from './chunk-UULVIT25.js';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
 
@@ -1,5 +1,5 @@
1
1
  import { LOG_STREAM_DESTINATIONS, CREATE_LOG_STREAM_DESTINATION, UPDATE_LOG_STREAM_DESTINATION, DELETE_LOG_STREAM_DESTINATION, TEST_LOG_STREAM_DESTINATION, REPLAY_WORKFLOW_RUN, RETRY_WORKFLOW_RUNS, OBSERVABILITY_DASHBOARD_SUMMARY, OBSERVABILITY_FAILED_RUNS, OBSERVABILITY_DATA_SINKS, OBSERVABILITY_DATA_SINK_DATA } from './chunk-5ERAJC2I.js';
2
- import { useFluidGridsAnalytics, emitRunStarted, openRunQuotaUpgradePrompt, useFluidGridsFlag, FLUIDGRIDS_FLAGS } from './chunk-HSTP2RX3.js';
2
+ import { useFluidGridsAnalytics, emitRunStarted, openRunQuotaUpgradePrompt, useFluidGridsFlag, FLUIDGRIDS_FLAGS } from './chunk-HUCRE45R.js';
3
3
  import { useTr } from './chunk-UULVIT25.js';
4
4
  import { getFluidGridsClient } from './chunk-PDODDDHY.js';
5
5
  import { throwIfResultError, describeOperationError, emitFluidGridsEvent } from './chunk-JKLZ6YZ3.js';
@@ -1,10 +1,10 @@
1
- import { useNodeSelectedEvent, Card, FluidGridsMark } from './chunk-OTOQFZFO.js';
1
+ import { useNodeSelectedEvent, Card, FluidGridsMark } from './chunk-4F54UT62.js';
2
2
  import { Input } from './chunk-IEVSFCFS.js';
3
3
  import { Button } from './chunk-BQXVT32O.js';
4
- import { useWorkflowDefinition } from './chunk-EIMTOK6E.js';
5
- import { FluidGridsProvider } from './chunk-HSTP2RX3.js';
4
+ import { useWorkflowDefinition } from './chunk-V2K4HJY4.js';
5
+ import { FluidGridsProvider } from './chunk-HUCRE45R.js';
6
6
  import { cn } from './chunk-JL7CASN5.js';
7
- import { useFlowStore } from './chunk-TGWDFLEX.js';
7
+ import { useFlowStore } from './chunk-UZJKX5FN.js';
8
8
  import { useTr } from './chunk-UULVIT25.js';
9
9
  import { useState, useRef, useEffect, useCallback } from 'react';
10
10
  import { MarkerType, ReactFlowProvider, useReactFlow, ReactFlow, Background, Controls, MiniMap, Handle, Position } from '@xyflow/react';
@@ -1,9 +1,9 @@
1
- import { validateDateRange, statusCountFilter, STATUS_COUNT_GROUP_BY, statusCountsOf } from './chunk-WC526MLS.js';
1
+ import { validateDateRange, statusCountFilter, STATUS_COUNT_GROUP_BY, statusCountsOf } from './chunk-ZWDKN6PU.js';
2
2
  import { isAgentNodeType } from './chunk-WZ3EJVS6.js';
3
3
  import { useAvailableTags, formatRunVersion, nodeDisplayTitle } from './chunk-KHS2DZHH.js';
4
4
  import { executionsControls } from './chunk-FNZZ5JJL.js';
5
5
  import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
6
- import { useDurableParityEnabled, formatElapsedMs, runDurationMs, nodeStateDurationMs } from './chunk-HSTP2RX3.js';
6
+ import { useDurableParityEnabled, formatElapsedMs, runDurationMs, nodeStateDurationMs } from './chunk-HUCRE45R.js';
7
7
  import { SetWorkflowRunVersioningOverrideDocument, WorkflowRunsCountDocument, DurableParityRunFieldsDocument, WorkflowRunPendingDocument, WorkflowRunMetadataDocument } from './chunk-Z3ABLERJ.js';
8
8
  import { useTr } from './chunk-UULVIT25.js';
9
9
  import { getFluidGridsClient } from './chunk-PDODDDHY.js';
@@ -1,6 +1,6 @@
1
1
  import { SdkPermissionGate, FLUIDGRIDS_PERMISSIONS } from './chunk-5375NUIO.js';
2
2
  import { useBuilderReadOnly } from './chunk-SDZEAIIE.js';
3
- import { STICKY_NOTE_TYPE, useFlowStore, resolveOperationName, synchronizeOperationUpdate, isNodeTrigger, resolveOutputHandles, resolveInputHandles, outputHandlesSpacerHeight, WAIT_FOR_SIGNAL_NODE_TYPE, CODE_WORKFLOW_NODE_TYPE, readSignalName, LogicNodeCard, NodeCard, NodeCardHeader, NodeCardBody, InputHandles, OutputHandles, NodeTypeIcon, nodeAccent, readCodeWorkflowState, partitionStickyNotes, interfaceFields, interfaceHandlers } from './chunk-TGWDFLEX.js';
3
+ import { STICKY_NOTE_TYPE, useFlowStore, resolveOperationName, synchronizeOperationUpdate, isNodeTrigger, resolveOutputHandles, resolveInputHandles, outputHandlesSpacerHeight, WAIT_FOR_SIGNAL_NODE_TYPE, CODE_WORKFLOW_NODE_TYPE, readSignalName, LogicNodeCard, NodeCard, NodeCardHeader, NodeCardBody, InputHandles, OutputHandles, NodeTypeIcon, nodeAccent, readCodeWorkflowState, partitionStickyNotes, interfaceFields, interfaceHandlers } from './chunk-UZJKX5FN.js';
4
4
  import { getGlobalStoreClient, createGlobalStoreClient, setGlobalStoreClient, resetGlobalStoreClient } from './chunk-TYI2XOSI.js';
5
5
  import { GetMyNodeInstallationsDocument } from './chunk-G77IGC3Y.js';
6
6
  import { fetchAllNodeEndpointConfigs, NodeManifestDocument, UpdateWorkflowDefinitionDocument, CreateWorkflowDefinitionDocument, CreateWorkflowVersionDocument, ExecuteStepDocument, TriggerWorkflowDocument, RunFromNodeDocument, ExecutionDetailDocument, WorkflowDefinitionDocument, WorkflowRunDocument } from './chunk-Z3ABLERJ.js';
@@ -1,10 +1,10 @@
1
- import { isGuidedTourIntent, pickGuidedTour, withoutGuidedTourIntent, isCreateIntent, CreateWorkflowRefusalDialog, decideMissingWorkflow } from './chunk-Y4UCHFGK.js';
1
+ import { isGuidedTourIntent, pickGuidedTour, withoutGuidedTourIntent, isCreateIntent, CreateWorkflowRefusalDialog, decideMissingWorkflow } from './chunk-752BT4WM.js';
2
2
  import { registerLiveCanvasHandler } from './chunk-PIKYQE7P.js';
3
- import { useWorkflowReloadStore, releaseLeaseKeptForReload, useInstalledNodes, buildNodeCheck, FlowBuilderPage, buildRequiredNodeTypes } from './chunk-OTOQFZFO.js';
4
- import { canvasFromDefinition } from './chunk-6VIG44VF.js';
5
- import { useLazyWorkflowDefinition, useCreateWorkflow } from './chunk-EIMTOK6E.js';
6
- import { refetchStoreNodes, BILLING_PLANS_PATH, codeBuildIdOf, rememberRevision, blankWorkflowCreateInput, classifyCreateRefusal, useSaveStatusStore, workflowFingerprint, registerWorkflowNodeTypes } from './chunk-HSTP2RX3.js';
7
- import { useFlowStore, mergeStickyNotes } from './chunk-TGWDFLEX.js';
3
+ import { useWorkflowReloadStore, releaseLeaseKeptForReload, useInstalledNodes, buildNodeCheck, FlowBuilderPage, buildRequiredNodeTypes } from './chunk-4F54UT62.js';
4
+ import { canvasFromDefinition } from './chunk-KE677WYY.js';
5
+ import { useLazyWorkflowDefinition, useCreateWorkflow } from './chunk-V2K4HJY4.js';
6
+ import { refetchStoreNodes, BILLING_PLANS_PATH, codeBuildIdOf, rememberRevision, blankWorkflowCreateInput, classifyCreateRefusal, useSaveStatusStore, workflowFingerprint, registerWorkflowNodeTypes } from './chunk-HUCRE45R.js';
7
+ import { useFlowStore, mergeStickyNotes } from './chunk-UZJKX5FN.js';
8
8
  import { WorkflowDefinitionDocument } from './chunk-Z3ABLERJ.js';
9
9
  import { useTr } from './chunk-UULVIT25.js';
10
10
  import { getFluidGridsClient } from './chunk-PDODDDHY.js';
@@ -1,10 +1,10 @@
1
- import { AgentsTab } from './chunk-XNARCHMT.js';
1
+ import { AgentsTab } from './chunk-5KK3ALQ4.js';
2
2
  import { ActionPoliciesTab } from './chunk-EXJW7EKR.js';
3
- import { LogStreamingTab } from './chunk-KJT5TAOE.js';
3
+ import { LogStreamingTab } from './chunk-BLLBUHVF.js';
4
4
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
5
- import { useFluidGridsFlag, FLUIDGRIDS_FLAGS, useSaveStatusStore, findSaveConflict, useDurableParityEnabled, useConnections } from './chunk-HSTP2RX3.js';
5
+ import { useFluidGridsFlag, FLUIDGRIDS_FLAGS, useSaveStatusStore, findSaveConflict, useDurableParityEnabled, useConnections } from './chunk-HUCRE45R.js';
6
6
  import { useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS } from './chunk-5375NUIO.js';
7
- import { useFlowStore } from './chunk-TGWDFLEX.js';
7
+ import { useFlowStore } from './chunk-UZJKX5FN.js';
8
8
  import { getGlobalStoreClient } from './chunk-TYI2XOSI.js';
9
9
  import { useWorkflowDefinitionQuery, useUpdateWorkflowDefinitionMutation, useWorkflowDefinitionsQuery, DurableHistoryCapsDocument, UpdateDurableHistoryCapsDocument } from './chunk-Z3ABLERJ.js';
10
10
  import { useTr } from './chunk-UULVIT25.js';
@@ -1,4 +1,4 @@
1
- import { useFlowStore } from './chunk-TGWDFLEX.js';
1
+ import { useFlowStore } from './chunk-UZJKX5FN.js';
2
2
  import { useTr } from './chunk-UULVIT25.js';
3
3
  import { useState, useRef, useCallback, useEffect } from 'react';
4
4
  import { cn } from '@burdenoff/fe-libs/utils';
@@ -1,4 +1,4 @@
1
- import { mergeStickyNotes } from './chunk-TGWDFLEX.js';
1
+ import { mergeStickyNotes } from './chunk-UZJKX5FN.js';
2
2
 
3
3
  // src/builder/live/definition-canvas.ts
4
4
  function isRecord(value) {
@@ -1,6 +1,6 @@
1
- import { versionsOfWorkflow, VersionDiffDialog } from './chunk-5Z4F24QT.js';
1
+ import { versionsOfWorkflow, VersionDiffDialog } from './chunk-OHKSDHNC.js';
2
2
  import { historyControls } from './chunk-FNZZ5JJL.js';
3
- import { useWorkflowDefinitions, useRestoreWorkflowVersion } from './chunk-EIMTOK6E.js';
3
+ import { useWorkflowDefinitions, useRestoreWorkflowVersion } from './chunk-V2K4HJY4.js';
4
4
  import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
5
5
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
6
6
  import { useTr } from './chunk-UULVIT25.js';
@@ -1,12 +1,12 @@
1
- import { asRecord, ConditionTreeBuilder, SwitchRulesEditor, casesFromRules, isStringOptionList, optionText, coerceNumber, paramsFromOperation, resolveLoadOptionsSpec, optionListValues, parseMappingValue, optionListText } from './chunk-WBRW67HX.js';
1
+ import { asRecord, ConditionTreeBuilder, SwitchRulesEditor, casesFromRules, isStringOptionList, optionText, coerceNumber, paramsFromOperation, resolveLoadOptionsSpec, optionListValues, parseMappingValue, optionListText } from './chunk-MYAFMXFI.js';
2
2
  import { CodeEditorField, normalizeCodeLanguage } from './chunk-KZCNJAMK.js';
3
3
  import { Popover, PopoverTrigger, PopoverContent } from './chunk-GTEBQQ7J.js';
4
- import { AgentDefinitionSelectField } from './chunk-XNARCHMT.js';
4
+ import { AgentDefinitionSelectField } from './chunk-5KK3ALQ4.js';
5
5
  import { isAgentNodeType } from './chunk-WZ3EJVS6.js';
6
6
  import { readAssertRulesSetting, rowsFromRules, normaliseAssertRules, ruleFromRow, describeAssertRuleProblem, operatorSpec, ASSERT_OPERATORS, emptyAssertRuleRow } from './chunk-JDLQ6QIB.js';
7
- import { isParamVisible, ConnectionSelector, structuredParameterType, useRunGuard, FluidGridsContext, ExpressionEditor, formatParameterValue, parseParameterValue, useFluidGridsAnalytics, openRunQuotaUpgradePrompt } from './chunk-HSTP2RX3.js';
7
+ import { isParamVisible, ConnectionSelector, structuredParameterType, useRunGuard, FluidGridsContext, ExpressionEditor, formatParameterValue, parseParameterValue, useFluidGridsAnalytics, openRunQuotaUpgradePrompt } from './chunk-HUCRE45R.js';
8
8
  import { useBuilderReadOnly } from './chunk-SDZEAIIE.js';
9
- import { useFlowStore } from './chunk-TGWDFLEX.js';
9
+ import { useFlowStore } from './chunk-UZJKX5FN.js';
10
10
  import { useRunFromNodeEligibilityQuery, PreviewScheduleDocument, WebhookTestListenerDocument, StopWebhookTestListenerDocument, ListenForWebhookTestEventDocument } from './chunk-Z3ABLERJ.js';
11
11
  import { useTr } from './chunk-UULVIT25.js';
12
12
  import { getFluidGridsClientSafe, getFluidGridsClient } from './chunk-PDODDDHY.js';
@@ -1,6 +1,6 @@
1
- import { structuredParameterType, parseParameterValue, liveInternalOperations, resolveNodeOperation, readDisplayOptions, getNodeDetail, useNodeRegistryRevision, fieldsFromIO, pathToExpression, NODE_CONFIGS, resolveUiSpec, fieldsFromValue, declaredOutputFields, subscribeWorkflowSaved } from './chunk-HSTP2RX3.js';
1
+ import { structuredParameterType, parseParameterValue, liveInternalOperations, resolveNodeOperation, readDisplayOptions, getNodeDetail, useNodeRegistryRevision, fieldsFromIO, pathToExpression, NODE_CONFIGS, resolveUiSpec, fieldsFromValue, declaredOutputFields, subscribeWorkflowSaved } from './chunk-HUCRE45R.js';
2
2
  import { useBuilderReadOnly } from './chunk-SDZEAIIE.js';
3
- import { useFlowStore } from './chunk-TGWDFLEX.js';
3
+ import { useFlowStore } from './chunk-UZJKX5FN.js';
4
4
  import { EventRegistrationsDocument } from './chunk-Z3ABLERJ.js';
5
5
  import { useTr } from './chunk-UULVIT25.js';
6
6
  import { getFluidGridsClientSafe } from './chunk-PDODDDHY.js';
@@ -1,4 +1,4 @@
1
- import { resolveInputHandles } from './chunk-TGWDFLEX.js';
1
+ import { resolveInputHandles } from './chunk-UZJKX5FN.js';
2
2
 
3
3
  // src/builder/hooks/attach-node-helpers.ts
4
4
  var ATTACH_GAP_X = 120;
@@ -1,8 +1,8 @@
1
1
  import { FailureTriagePanel } from './chunk-NZMUKAXG.js';
2
2
  import { aiSpendPeriod, AI_SPEND_RANGE_DAYS, evidenceFacts, monthlySavingLabel, evidenceWindowDays, shortRunId, DISMISS_REASONS, MAX_DISMISS_NOTE_LENGTH, aiCost, formatTokens, runsOfWorkflowPath } from './chunk-NZAYYUQ4.js';
3
- import { useDataSinks, useDataSinkData, useInsightsData, useRunReplayActions } from './chunk-KJT5TAOE.js';
3
+ import { useDataSinks, useDataSinkData, useInsightsData, useRunReplayActions } from './chunk-BLLBUHVF.js';
4
4
  import { proposalCanvasPath } from './chunk-GLYINMOR.js';
5
- import { useContinuousOptimisationEnabled } from './chunk-HSTP2RX3.js';
5
+ import { useContinuousOptimisationEnabled } from './chunk-HUCRE45R.js';
6
6
  import { useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, SdkPermissionButton } from './chunk-5375NUIO.js';
7
7
  import { SetContinuousOptimisationEnabledDocument, FgRunOptimisationScanDocument, ProposeOptimisationDocument, WorkflowProposalDocument, DismissOptimisationSuggestionDocument, SnoozeOptimisationSuggestionDocument, WorkspaceAiUsageDocument, OptimisationSuggestionsDocument, ContinuousOptimisationSettingsDocument } from './chunk-Z3ABLERJ.js';
8
8
  import { useTr } from './chunk-UULVIT25.js';
@@ -1,4 +1,4 @@
1
- import { canvasFromDefinition } from './chunk-6VIG44VF.js';
1
+ import { canvasFromDefinition } from './chunk-KE677WYY.js';
2
2
  import { WorkflowDefinitionDocument, WorkflowVersionDiffDocument } from './chunk-Z3ABLERJ.js';
3
3
  import { useTr } from './chunk-UULVIT25.js';
4
4
  import { getFluidGridsClient } from './chunk-PDODDDHY.js';
@@ -1,10 +1,10 @@
1
- import { useImportWorkflowTemplate, FlowBuilderPage, useWorkflowTemplates, TEMPLATE_STORE_CATEGORIES, TemplateCard, useTemplateSubmissions, usePublishToStore } from './chunk-OTOQFZFO.js';
2
- import { QuotaExhaustedDialog } from './chunk-JRLBPR5U.js';
1
+ import { useImportWorkflowTemplate, FlowBuilderPage, useWorkflowTemplates, TEMPLATE_STORE_CATEGORIES, TemplateCard, useTemplateSubmissions, usePublishToStore } from './chunk-4F54UT62.js';
2
+ import { QuotaExhaustedDialog } from './chunk-TDFC5U66.js';
3
3
  import { templatesControls } from './chunk-FNZZ5JJL.js';
4
- import { useWorkflowDefinitions, useDuplicateWorkflow, useLazyWorkflowDefinition } from './chunk-EIMTOK6E.js';
4
+ import { useWorkflowDefinitions, useDuplicateWorkflow, useLazyWorkflowDefinition } from './chunk-V2K4HJY4.js';
5
5
  import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
6
6
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
7
- import { BILLING_PLANS_PATH, useFluidGridsAnalytics, emitTemplateUsed, isQuotaExhaustedFailure } from './chunk-HSTP2RX3.js';
7
+ import { BILLING_PLANS_PATH, useFluidGridsAnalytics, emitTemplateUsed, isQuotaExhaustedFailure } from './chunk-HUCRE45R.js';
8
8
  import { SdkPermissionButton, FLUIDGRIDS_PERMISSIONS } from './chunk-5375NUIO.js';
9
9
  import { useTr } from './chunk-UULVIT25.js';
10
10
  import { useState, useEffect, useCallback, useMemo } from 'react';
@@ -1,13 +1,13 @@
1
- import { CreateWorkflowRefusalDialog, firstWorkflowProgress, GUIDED_TOUR_STATE, builderPathFor } from './chunk-Y4UCHFGK.js';
2
- import { useExecutions } from './chunk-WC526MLS.js';
3
- import { useExportWorkflowAs, WorkflowShareDialog, downloadWorkflowExport, importAcceptAttribute, canEditWorkflow, canShareWorkflow, QuotaExhaustedDialog, importFileKind, parseWorkflowImport, CODE_EXPORT_FORMATS, ImportSourceError, assertImportByteSize, MAX_IMPORT_ARCHIVE_BYTES, readProjectArchive, checkTypeScriptImport, MAX_IMPORT_SOURCE_BYTES, typeScriptModuleFile, typeScriptImportSource, workflowNameFromFile, primaryImportModule } from './chunk-JRLBPR5U.js';
1
+ import { CreateWorkflowRefusalDialog, firstWorkflowProgress, GUIDED_TOUR_STATE, builderPathFor } from './chunk-752BT4WM.js';
2
+ import { useExecutions } from './chunk-ZWDKN6PU.js';
3
+ import { useExportWorkflowAs, WorkflowShareDialog, downloadWorkflowExport, importAcceptAttribute, canEditWorkflow, canShareWorkflow, QuotaExhaustedDialog, importFileKind, parseWorkflowImport, CODE_EXPORT_FORMATS, ImportSourceError, assertImportByteSize, MAX_IMPORT_ARCHIVE_BYTES, readProjectArchive, checkTypeScriptImport, MAX_IMPORT_SOURCE_BYTES, typeScriptModuleFile, typeScriptImportSource, workflowNameFromFile, primaryImportModule } from './chunk-TDFC5U66.js';
4
4
  import { workflowsListControls } from './chunk-FNZZ5JJL.js';
5
- import { useCreateWorkflow, useWorkflowDefinitions, useLazyWorkflowDefinition, useImportWorkflow, usePreviewN8nImport, useDuplicateWorkflow, useDeleteWorkflow } from './chunk-EIMTOK6E.js';
5
+ import { useCreateWorkflow, useWorkflowDefinitions, useLazyWorkflowDefinition, useImportWorkflow, usePreviewN8nImport, useDuplicateWorkflow, useDeleteWorkflow } from './chunk-V2K4HJY4.js';
6
6
  import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
7
7
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
8
- import { createThenOpen, FluidGridsContext, useFluidGridsFlag, FLUIDGRIDS_FLAGS, BILLING_PLANS_PATH, isQuotaExhaustedFailure } from './chunk-HSTP2RX3.js';
8
+ import { createThenOpen, FluidGridsContext, useFluidGridsFlag, FLUIDGRIDS_FLAGS, BILLING_PLANS_PATH, isQuotaExhaustedFailure } from './chunk-HUCRE45R.js';
9
9
  import { useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, SdkPermissionButton, SdkPermissionGate } from './chunk-5375NUIO.js';
10
- import { useFlowStore } from './chunk-TGWDFLEX.js';
10
+ import { useFlowStore } from './chunk-UZJKX5FN.js';
11
11
  import { WorkflowFoldersDocument, CreateWorkflowFolderDocument, RenameWorkflowFolderDocument, MoveWorkflowFolderDocument, DeleteWorkflowFolderDocument, WorkflowProjectsDocument, CreateWorkflowProjectDocument, RenameWorkflowProjectDocument, DeleteWorkflowProjectDocument, BulkMoveWorkflowsToFolderDocument, BulkAssignWorkflowsToProjectDocument, BulkDeleteWorkflowsDocument } from './chunk-Z3ABLERJ.js';
12
12
  import { useTr } from './chunk-UULVIT25.js';
13
13
  import { getFluidGridsClient } from './chunk-PDODDDHY.js';
@@ -1,4 +1,4 @@
1
- import { useFluidGridsAnalytics, emitWorkflowLimitHit, emitUpgradeClicked, WORKFLOWS_QUOTA_NAME } from './chunk-HSTP2RX3.js';
1
+ import { useFluidGridsAnalytics, emitWorkflowLimitHit, emitUpgradeClicked, WORKFLOWS_QUOTA_NAME } from './chunk-HUCRE45R.js';
2
2
  import { ExportWorkflowCodeDocument, ShareWorkflowDocument, WorkflowSharingDocument } from './chunk-Z3ABLERJ.js';
3
3
  import { useTr } from './chunk-UULVIT25.js';
4
4
  import { getFluidGridsClient } from './chunk-PDODDDHY.js';
@@ -1055,10 +1055,11 @@ var NodeCard = React.forwardRef(
1055
1055
  hovered ? "pointer-events-auto opacity-100" : "pointer-events-none opacity-0"
1056
1056
  ),
1057
1057
  style: {
1058
- // Inline offset (not a `-top-*` class) so it survives the host
1059
- // app's Tailwind scan of fe-sdk source, which drops some spacing
1060
- // utilities. The toolbar is ~30px tall; top:-15px centers it on
1061
- // the card's top edge (half outside, half over the card).
1058
+ // Inline offset instead of a Tailwind negative-top spacing
1059
+ // utility so it survives the host app's Tailwind scan of fe-sdk
1060
+ // source, which drops some spacing utilities. The toolbar is
1061
+ // ~30px tall; top:-15px centers it on the card's top edge (half
1062
+ // outside, half over the card).
1062
1063
  top: -15,
1063
1064
  transform: hovered ? "translateY(0)" : "translateY(4px)"
1064
1065
  },
@@ -1,4 +1,4 @@
1
- import { useFluidGridsAnalytics, emitWorkflowCreated, emitRunStarted, runTriggerFromMode, openRunQuotaUpgradePrompt, emitWorkflowPublished } from './chunk-HSTP2RX3.js';
1
+ import { useFluidGridsAnalytics, emitWorkflowCreated, emitRunStarted, runTriggerFromMode, openRunQuotaUpgradePrompt, emitWorkflowPublished } from './chunk-HUCRE45R.js';
2
2
  import { WorkflowDefinitionsDocument, WorkflowDefinitionDocument, WorkflowVersionsDocument, CreateWorkflowDefinitionDocument, ImportWorkflowDocument, PreviewN8nImportDocument, UpdateWorkflowDefinitionDocument, CreateWorkflowVersionDocument, DeleteWorkflowDefinitionDocument, DuplicateWorkflowDocument, RestoreWorkflowVersionDocument, TriggerWorkflowDocument, WorkflowRunsDocument, WorkflowRunDocument, DashboardSummaryDocument, ActivateWorkflowDefinitionDocument, DeactivateWorkflowDefinitionDocument } from './chunk-Z3ABLERJ.js';
3
3
  import { useTr } from './chunk-UULVIT25.js';
4
4
  import { getFluidGridsClient } from './chunk-PDODDDHY.js';
@@ -1,8 +1,8 @@
1
- import { useRunStatusCounts, ExecutionStats, ExecutionFilters, ExecutionTable, ExecutionCards, ExecutionTimeline, Pagination, runStatusLabels } from './chunk-UYTPURFW.js';
2
- import { useExecutionsWithStore, useExecutionStats, useExecutionActions, useAutoRefresh, WORKFLOW_ID_MAX_LENGTH } from './chunk-WC526MLS.js';
3
- import { useWorkflowDefinitions } from './chunk-EIMTOK6E.js';
1
+ import { useRunStatusCounts, ExecutionStats, ExecutionFilters, ExecutionTable, ExecutionCards, ExecutionTimeline, Pagination, runStatusLabels } from './chunk-GA3V3X7Q.js';
2
+ import { useExecutionsWithStore, useExecutionStats, useExecutionActions, useAutoRefresh, WORKFLOW_ID_MAX_LENGTH } from './chunk-ZWDKN6PU.js';
3
+ import { useWorkflowDefinitions } from './chunk-V2K4HJY4.js';
4
4
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
5
- import { useDurableParityEnabled } from './chunk-HSTP2RX3.js';
5
+ import { useDurableParityEnabled } from './chunk-HUCRE45R.js';
6
6
  import { useTr } from './chunk-UULVIT25.js';
7
7
  import { useExecutionsStore } from './chunk-UEG2WC3G.js';
8
8
  import { useRef, useCallback, useMemo, useState, useEffect } from 'react';