@burdenoff/fluidgrids-fe-sdk 2026.1110.11 → 2026.1110.13

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 (43) hide show
  1. package/dist/{ExecutionDetailPage-Q623SZO2.js → ExecutionDetailPage-3YFDDGKR.js} +7 -7
  2. package/dist/{ExecutionsListPage-WKEE4OCC.js → ExecutionsListPage-LQSTH2ZI.js} +6 -6
  3. package/dist/{WorkflowBuilder-Z4OKGKFL.js → WorkflowBuilder-IZR6F7N5.js} +13 -14
  4. package/dist/{WorkflowsList-4SG22AV7.js → WorkflowsList-FA724ZVU.js} +6 -6
  5. package/dist/{agentTools-JYM6657K.js → agentTools-ISAX2OP5.js} +3 -4
  6. package/dist/{chunk-KNHMQ4N7.js → chunk-2SZX5K7F.js} +1 -1
  7. package/dist/{chunk-TGICOVAZ.js → chunk-3DSR3JJL.js} +1 -1
  8. package/dist/{chunk-KHTCFZKZ.js → chunk-3MIYNJAX.js} +2 -2
  9. package/dist/{chunk-XWPLRDVU.js → chunk-45WET2TV.js} +6 -7
  10. package/dist/{chunk-GZ7HYDCJ.js → chunk-AE5EH6QC.js} +4 -4
  11. package/dist/{chunk-JT6NAHAX.js → chunk-ATTUQMTG.js} +52 -3
  12. package/dist/{chunk-7IX4SWSA.js → chunk-BPLXNOOW.js} +1 -1
  13. package/dist/{chunk-YMMC2E2B.js → chunk-CA7YZ2JN.js} +4 -4
  14. package/dist/{chunk-GCERTCA3.js → chunk-CPUE7IAT.js} +57 -17
  15. package/dist/{chunk-X7M4I64U.js → chunk-D3V64LEJ.js} +1 -1
  16. package/dist/{chunk-IKPIGK7I.js → chunk-DJ6VN3MP.js} +1 -1
  17. package/dist/{chunk-MWBP47JS.js → chunk-EM7LYTJI.js} +5 -5
  18. package/dist/{chunk-QHHQQ5LG.js → chunk-EZGWG3YM.js} +2 -2
  19. package/dist/{chunk-Y3UBTWR7.js → chunk-FVT3K4GZ.js} +1 -1
  20. package/dist/{chunk-GGENPDMT.js → chunk-GJN36FH3.js} +1 -1
  21. package/dist/{chunk-URM73DCA.js → chunk-GNIJYZNL.js} +1693 -25
  22. package/dist/{chunk-KKZXCHHW.js → chunk-HNH44BKA.js} +4 -4
  23. package/dist/{chunk-ZTLMPJP4.js → chunk-KGZITAPA.js} +5 -5
  24. package/dist/{chunk-XZSC2OFT.js → chunk-KUSH7NRH.js} +1 -1
  25. package/dist/{chunk-46E4OVBE.js → chunk-N76SCK7E.js} +3 -4
  26. package/dist/{chunk-JYIXZGA3.js → chunk-NXM2E7IB.js} +4 -4
  27. package/dist/{chunk-Z36WXUNF.js → chunk-UIOHTUZ7.js} +2 -2
  28. package/dist/{chunk-23HJEX7Z.js → chunk-WX2WZWI5.js} +28 -7
  29. package/dist/{chunk-CDNBJUC5.js → chunk-Y5V7HQSA.js} +1 -1
  30. package/dist/{chunk-5Z5ZOATZ.js → chunk-ZH7OMUYF.js} +1 -1
  31. package/dist/executions.js +8 -8
  32. package/dist/history.js +6 -6
  33. package/dist/index.js +37 -38
  34. package/dist/{node-detail-view-NFTDDSKP.js → node-detail-view-7NY2H7RT.js} +6 -7
  35. package/dist/observability.js +4 -4
  36. package/dist/{quick-config-panel-CTFCPOSG.js → quick-config-panel-JSQ2QSTJ.js} +5 -6
  37. package/dist/settings.js +5 -5
  38. package/dist/templates.js +13 -14
  39. package/dist/workflow-builder.js +14 -15
  40. package/dist/workflow-preview.js +2 -2
  41. package/dist/workflows-list.js +6 -6
  42. package/package.json +1 -1
  43. package/dist/chunk-KQHFJFCT.js +0 -1538
@@ -1,7 +1,7 @@
1
- export { ExecutionDetailPage } from './chunk-MWBP47JS.js';
2
- import './chunk-CDNBJUC5.js';
3
- import './chunk-QHHQQ5LG.js';
4
- import './chunk-X7M4I64U.js';
1
+ export { ExecutionDetailPage } from './chunk-EM7LYTJI.js';
2
+ import './chunk-Y5V7HQSA.js';
3
+ import './chunk-EZGWG3YM.js';
4
+ import './chunk-D3V64LEJ.js';
5
5
  import './chunk-UX5AWA4A.js';
6
6
  import './chunk-NZAYYUQ4.js';
7
7
  import './chunk-5NZANNKX.js';
@@ -11,14 +11,14 @@ import './chunk-JDLQ6QIB.js';
11
11
  import './chunk-HLBO6PI4.js';
12
12
  import './chunk-Y53CVZVV.js';
13
13
  import './chunk-FNZZ5JJL.js';
14
- import './chunk-TGICOVAZ.js';
14
+ import './chunk-3DSR3JJL.js';
15
15
  import './chunk-PJAWNFJV.js';
16
16
  import './chunk-BVIGBIYD.js';
17
17
  import './chunk-6CPQVLHT.js';
18
18
  import './chunk-ERT444RG.js';
19
- import './chunk-URM73DCA.js';
19
+ import './chunk-GNIJYZNL.js';
20
20
  import './chunk-SDZEAIIE.js';
21
- import './chunk-JT6NAHAX.js';
21
+ import './chunk-ATTUQMTG.js';
22
22
  import './chunk-Y7FKJJMF.js';
23
23
  import './chunk-TYI2XOSI.js';
24
24
  import './chunk-4FPY66GH.js';
@@ -1,18 +1,18 @@
1
- export { ExecutionsListPage } from './chunk-GZ7HYDCJ.js';
2
- import './chunk-QHHQQ5LG.js';
3
- import './chunk-X7M4I64U.js';
1
+ export { ExecutionsListPage } from './chunk-AE5EH6QC.js';
2
+ import './chunk-EZGWG3YM.js';
3
+ import './chunk-D3V64LEJ.js';
4
4
  import './chunk-5ERAJC2I.js';
5
5
  import './chunk-HLBO6PI4.js';
6
6
  import './chunk-FNZZ5JJL.js';
7
- import './chunk-TGICOVAZ.js';
7
+ import './chunk-3DSR3JJL.js';
8
8
  import './chunk-PJAWNFJV.js';
9
9
  import './chunk-BVIGBIYD.js';
10
10
  import './chunk-4VJ3MDOV.js';
11
11
  import './chunk-6CPQVLHT.js';
12
12
  import './chunk-ERT444RG.js';
13
- import './chunk-URM73DCA.js';
13
+ import './chunk-GNIJYZNL.js';
14
14
  import './chunk-SDZEAIIE.js';
15
- import './chunk-JT6NAHAX.js';
15
+ import './chunk-ATTUQMTG.js';
16
16
  import './chunk-Y7FKJJMF.js';
17
17
  import './chunk-TYI2XOSI.js';
18
18
  import './chunk-4FPY66GH.js';
@@ -1,37 +1,36 @@
1
- export { WorkflowBuilder } from './chunk-XWPLRDVU.js';
1
+ export { WorkflowBuilder } from './chunk-45WET2TV.js';
2
2
  import './chunk-NRI7AUBH.js';
3
3
  import './chunk-PIKYQE7P.js';
4
- import './chunk-GCERTCA3.js';
5
- import './chunk-GGENPDMT.js';
4
+ import './chunk-CPUE7IAT.js';
5
+ import './chunk-GJN36FH3.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-TFCIZFDM.js';
11
- import './chunk-XZSC2OFT.js';
12
- import './chunk-46E4OVBE.js';
13
- import './chunk-23HJEX7Z.js';
14
- import './chunk-KQHFJFCT.js';
11
+ import './chunk-KUSH7NRH.js';
12
+ import './chunk-N76SCK7E.js';
13
+ import './chunk-WX2WZWI5.js';
15
14
  import './chunk-KZCNJAMK.js';
16
- import './chunk-Y3UBTWR7.js';
15
+ import './chunk-FVT3K4GZ.js';
17
16
  import './chunk-KIEJZVOI.js';
18
17
  import './chunk-JDLQ6QIB.js';
19
18
  import './chunk-HLBO6PI4.js';
20
19
  import './chunk-Y53CVZVV.js';
21
- import './chunk-5Z5ZOATZ.js';
22
- import './chunk-7IX4SWSA.js';
23
- import './chunk-TGICOVAZ.js';
20
+ import './chunk-ZH7OMUYF.js';
21
+ import './chunk-BPLXNOOW.js';
22
+ import './chunk-3DSR3JJL.js';
24
23
  import './chunk-XRGAH6IQ.js';
25
24
  import './chunk-QJAZXCFQ.js';
26
25
  import './chunk-GLYINMOR.js';
27
- import './chunk-KNHMQ4N7.js';
26
+ import './chunk-2SZX5K7F.js';
28
27
  import './chunk-BVIGBIYD.js';
29
28
  import './chunk-4VJ3MDOV.js';
30
29
  import './chunk-6CPQVLHT.js';
31
30
  import './chunk-ERT444RG.js';
32
- import './chunk-URM73DCA.js';
31
+ import './chunk-GNIJYZNL.js';
33
32
  import './chunk-SDZEAIIE.js';
34
- import './chunk-JT6NAHAX.js';
33
+ import './chunk-ATTUQMTG.js';
35
34
  import './chunk-Y7FKJJMF.js';
36
35
  import './chunk-TYI2XOSI.js';
37
36
  import './chunk-4FPY66GH.js';
@@ -1,17 +1,17 @@
1
- export { WorkflowsList } from './chunk-ZTLMPJP4.js';
1
+ export { WorkflowsList } from './chunk-KGZITAPA.js';
2
2
  import './chunk-NRI7AUBH.js';
3
- import './chunk-X7M4I64U.js';
3
+ import './chunk-D3V64LEJ.js';
4
4
  import './chunk-5ERAJC2I.js';
5
- import './chunk-Y3UBTWR7.js';
5
+ import './chunk-FVT3K4GZ.js';
6
6
  import './chunk-FNZZ5JJL.js';
7
- import './chunk-TGICOVAZ.js';
7
+ import './chunk-3DSR3JJL.js';
8
8
  import './chunk-PJAWNFJV.js';
9
9
  import './chunk-4VJ3MDOV.js';
10
10
  import './chunk-6CPQVLHT.js';
11
11
  import './chunk-ERT444RG.js';
12
- import './chunk-URM73DCA.js';
12
+ import './chunk-GNIJYZNL.js';
13
13
  import './chunk-SDZEAIIE.js';
14
- import './chunk-JT6NAHAX.js';
14
+ import './chunk-ATTUQMTG.js';
15
15
  import './chunk-Y7FKJJMF.js';
16
16
  import './chunk-TYI2XOSI.js';
17
17
  import './chunk-4FPY66GH.js';
@@ -1,8 +1,7 @@
1
- import { computeAttachPosition } from './chunk-GGENPDMT.js';
2
- import { nodeTitle, selectedOperationOf, paramsFromOperation, fixedParameterState } from './chunk-KQHFJFCT.js';
3
- import { NODE_CONFIGS, createConfiguredNode, registryNodeData, isNodeConfigsInitialized, useSaveStatusStore, autosaveAllowedFor, isFlowComplete, isNodeTypeHiddenFromPalette } from './chunk-URM73DCA.js';
1
+ import { computeAttachPosition } from './chunk-GJN36FH3.js';
2
+ import { nodeTitle, NODE_CONFIGS, createConfiguredNode, registryNodeData, selectedOperationOf, paramsFromOperation, fixedParameterState, isNodeConfigsInitialized, useSaveStatusStore, autosaveAllowedFor, isFlowComplete, isNodeTypeHiddenFromPalette } from './chunk-GNIJYZNL.js';
4
3
  import './chunk-SDZEAIIE.js';
5
- import { resolveOutputHandles, resolveInputHandles, useFlowStore } from './chunk-JT6NAHAX.js';
4
+ import { resolveOutputHandles, resolveInputHandles, useFlowStore } from './chunk-ATTUQMTG.js';
6
5
  import './chunk-Y7FKJJMF.js';
7
6
  import './chunk-TYI2XOSI.js';
8
7
  import './chunk-4FPY66GH.js';
@@ -1,6 +1,6 @@
1
1
  import { emptyAgentForm, agentToForm, describeRule, formToInput, AgentFormError, DEFAULT_GRANT_DAYS, MAX_GRANT_DAYS, grantDays } from './chunk-BVIGBIYD.js';
2
2
  import { SdkPermissionGate, FLUIDGRIDS_PERMISSIONS } from './chunk-ERT444RG.js';
3
- import { replaceAdapterConnections, connectionsForAdapter, matchesAdapterProvider, newConnectionProviderKey, isOptionalAdapter } from './chunk-URM73DCA.js';
3
+ import { replaceAdapterConnections, connectionsForAdapter, matchesAdapterProvider, newConnectionProviderKey, isOptionalAdapter } from './chunk-GNIJYZNL.js';
4
4
  import { useTr } from './chunk-UULVIT25.js';
5
5
  import { getFluidGridsClient } from './chunk-PDODDDHY.js';
6
6
  import { throwIfResultError, describeOperationError } from './chunk-JKLZ6YZ3.js';
@@ -1,4 +1,4 @@
1
- import { useFluidGridsAnalytics, emitWorkflowCreated, emitRunStarted, runTriggerFromMode, openRunQuotaUpgradePrompt, emitWorkflowPublished } from './chunk-URM73DCA.js';
1
+ import { useFluidGridsAnalytics, emitWorkflowCreated, emitRunStarted, runTriggerFromMode, openRunQuotaUpgradePrompt, emitWorkflowPublished } from './chunk-GNIJYZNL.js';
2
2
  import { WorkflowDefinitionsDocument, WorkflowDefinitionDocument, WorkflowVersionsDocument, CreateWorkflowDefinitionDocument, ImportWorkflowDocument, PreviewN8nImportDocument, UpdateWorkflowDefinitionDocument, CreateWorkflowVersionDocument, DeleteWorkflowDefinitionDocument, DuplicateWorkflowDocument, RestoreWorkflowVersionDocument, TriggerWorkflowDocument, WorkflowRunsDocument, WorkflowRunDocument, DashboardSummaryDocument, ActivateWorkflowDefinitionDocument, DeactivateWorkflowDefinitionDocument } from './chunk-AL5QPU3W.js';
3
3
  import { useTr } from './chunk-UULVIT25.js';
4
4
  import { getFluidGridsClient } from './chunk-PDODDDHY.js';
@@ -1,6 +1,6 @@
1
- import { versionsOfWorkflow, VersionDiffDialog } from './chunk-5Z5ZOATZ.js';
1
+ import { versionsOfWorkflow, VersionDiffDialog } from './chunk-ZH7OMUYF.js';
2
2
  import { historyControls } from './chunk-FNZZ5JJL.js';
3
- import { useWorkflowDefinitions, useRestoreWorkflowVersion } from './chunk-TGICOVAZ.js';
3
+ import { useWorkflowDefinitions, useRestoreWorkflowVersion } from './chunk-3DSR3JJL.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,11 @@
1
1
  import { isGuidedTourIntent, pickGuidedTour, withoutGuidedTourIntent, isCreateIntent, decideMissingWorkflow } from './chunk-NRI7AUBH.js';
2
2
  import { registerLiveCanvasHandler } from './chunk-PIKYQE7P.js';
3
- import { useWorkflowReloadStore, releaseLeaseKeptForReload, useInstalledNodes, buildNodeCheck, FlowBuilderPage, buildRequiredNodeTypes } from './chunk-GCERTCA3.js';
4
- import { paramsFromOperation } from './chunk-KQHFJFCT.js';
5
- import { CreateWorkflowRefusalDialog } from './chunk-Y3UBTWR7.js';
6
- import { canvasFromDefinition } from './chunk-7IX4SWSA.js';
7
- import { useLazyWorkflowDefinition, useCreateWorkflow } from './chunk-TGICOVAZ.js';
8
- import { refetchStoreNodes, BILLING_PLANS_PATH, ensureNodeConfigsLoaded, codeBuildIdOf, rememberRevision, blankWorkflowCreateInput, classifyCreateRefusal, NODE_CONFIGS, resolveNodeOperation, createConfiguredNode, useSaveStatusStore, workflowFingerprint, registerWorkflowNodeTypes } from './chunk-URM73DCA.js';
9
- import { useFlowStore, mergeStickyNotes } from './chunk-JT6NAHAX.js';
3
+ import { useWorkflowReloadStore, releaseLeaseKeptForReload, useInstalledNodes, buildNodeCheck, FlowBuilderPage, buildRequiredNodeTypes } from './chunk-CPUE7IAT.js';
4
+ import { CreateWorkflowRefusalDialog } from './chunk-FVT3K4GZ.js';
5
+ import { canvasFromDefinition } from './chunk-BPLXNOOW.js';
6
+ import { useLazyWorkflowDefinition, useCreateWorkflow } from './chunk-3DSR3JJL.js';
7
+ import { refetchStoreNodes, BILLING_PLANS_PATH, ensureNodeConfigsLoaded, codeBuildIdOf, rememberRevision, blankWorkflowCreateInput, classifyCreateRefusal, NODE_CONFIGS, resolveNodeOperation, createConfiguredNode, paramsFromOperation, useSaveStatusStore, workflowFingerprint, registerWorkflowNodeTypes } from './chunk-GNIJYZNL.js';
8
+ import { useFlowStore, mergeStickyNotes } from './chunk-ATTUQMTG.js';
10
9
  import { WorkflowDefinitionDocument } from './chunk-AL5QPU3W.js';
11
10
  import { useTr } from './chunk-UULVIT25.js';
12
11
  import { getFluidGridsClient } from './chunk-PDODDDHY.js';
@@ -1,10 +1,10 @@
1
- import { useRunStatusCounts, ExecutionStats, ExecutionFilters, ExecutionTable, ExecutionCards, ExecutionTimeline, Pagination, runStatusLabels } from './chunk-QHHQQ5LG.js';
2
- import { useExecutionsWithStore, useExecutionStats, useExecutionActions, useAutoRefresh, searchFilterConflicts, WORKFLOW_ID_MAX_LENGTH, EMPTY_SEARCH_FILTER, buildSearchAttributeFilter, MAX_SEARCH_CONDITIONS, OPERATORS_BY_TYPE } from './chunk-X7M4I64U.js';
3
- import { useWorkflowDefinitions } from './chunk-TGICOVAZ.js';
1
+ import { useRunStatusCounts, ExecutionStats, ExecutionFilters, ExecutionTable, ExecutionCards, ExecutionTimeline, Pagination, runStatusLabels } from './chunk-EZGWG3YM.js';
2
+ import { useExecutionsWithStore, useExecutionStats, useExecutionActions, useAutoRefresh, searchFilterConflicts, WORKFLOW_ID_MAX_LENGTH, EMPTY_SEARCH_FILTER, buildSearchAttributeFilter, MAX_SEARCH_CONDITIONS, OPERATORS_BY_TYPE } from './chunk-D3V64LEJ.js';
3
+ import { useWorkflowDefinitions } from './chunk-3DSR3JJL.js';
4
4
  import { useResource, fetchSearchAttributes, NativeSelect, FieldError, RUN_CONTROL_DIALOG_STYLE, parseJsonInput, JsonField, fetchBatchOperations, StatusPill, fetchBatchOperation, cancelBatchOperation, startBatchTerminate, startBatchExport, startBatchOperation, jsonArg } from './chunk-BVIGBIYD.js';
5
5
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
6
6
  import { useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS } from './chunk-ERT444RG.js';
7
- import { useDurableParityEnabled, usePhaseCFlags } from './chunk-URM73DCA.js';
7
+ import { useDurableParityEnabled, usePhaseCFlags } from './chunk-GNIJYZNL.js';
8
8
  import { WorkflowBatchOperationUpdatedDocument } from './chunk-AL5QPU3W.js';
9
9
  import { useTr } from './chunk-UULVIT25.js';
10
10
  import { getFluidGridsClient } from './chunk-PDODDDHY.js';
@@ -1256,6 +1256,7 @@ var NodeCardHeader = React.forwardRef(
1256
1256
  appName,
1257
1257
  accentKey,
1258
1258
  missingCredentials = false,
1259
+ missingParameters = [],
1259
1260
  label,
1260
1261
  isRenaming = false,
1261
1262
  onStartRename,
@@ -1304,6 +1305,24 @@ var NodeCardHeader = React.forwardRef(
1304
1305
  ),
1305
1306
  children: /* @__PURE__ */ jsx(Icon, { icon: "lucide:alert-triangle", className: "size-4" })
1306
1307
  }
1308
+ ),
1309
+ missingParameters.length > 0 && /* @__PURE__ */ jsx(
1310
+ "span",
1311
+ {
1312
+ title: tr(
1313
+ "fluidgrids.builder.requiredParameters.cardTooltip",
1314
+ "Required parameters not filled in: {{fields}}",
1315
+ { fields: missingParameters.join(", ") }
1316
+ ),
1317
+ className: "flex items-center text-[var(--color-status-warning-text)]",
1318
+ "aria-label": tr(
1319
+ "fluidgrids.builder.requiredParameters.cardTooltip",
1320
+ "Required parameters not filled in: {{fields}}",
1321
+ { fields: missingParameters.join(", ") }
1322
+ ),
1323
+ "data-testid": "node-card-missing-parameters",
1324
+ children: /* @__PURE__ */ jsx(Icon, { icon: "lucide:list-checks", className: "size-4" })
1325
+ }
1307
1326
  )
1308
1327
  ] });
1309
1328
  }
@@ -1360,6 +1379,27 @@ function nodeAdaptersOf(nodeData, registryNodeData) {
1360
1379
  const adapters = manifest?.nodeAdapters;
1361
1380
  return Array.isArray(adapters) ? adapters : void 0;
1362
1381
  }
1382
+ function ruleHandles(rules) {
1383
+ if (!Array.isArray(rules)) return [];
1384
+ return rules.flatMap((rule, index) => {
1385
+ if (typeof rule !== "object" || rule === null) return [];
1386
+ const { name, handle } = rule;
1387
+ if (typeof handle !== "string" || !handle) return [];
1388
+ const label = typeof name === "string" && name ? name : `Rule ${index + 1}`;
1389
+ return [{ id: handle, label }];
1390
+ });
1391
+ }
1392
+ function fallbackHandleOf(state, data) {
1393
+ for (const value of [
1394
+ state?.fallbackHandle,
1395
+ state?.defaultHandle,
1396
+ data?.fallbackHandle,
1397
+ data?.defaultHandle
1398
+ ]) {
1399
+ if (typeof value === "string" && value) return value;
1400
+ }
1401
+ return void 0;
1402
+ }
1363
1403
  var DEFAULT_HANDLES = [{ id: "source", label: "" }];
1364
1404
  var BUILTIN_OUTPUT_HANDLES = {
1365
1405
  "internal:wait-for-signal": [
@@ -1378,9 +1418,18 @@ function resolveOutputHandles(data, nodeType, registryNodeData) {
1378
1418
  return nodeType && BUILTIN_OUTPUT_HANDLES[nodeType] || DEFAULT_HANDLES;
1379
1419
  if (isDynamicSpec(spec)) {
1380
1420
  const args = data?.args;
1381
- const record = args?.state?.[spec.fromStateRecord] ?? data?.[spec.fromStateRecord] ?? {};
1382
- const dynamic = Object.entries(record).filter(([, handleId]) => typeof handleId === "string" && handleId).map(([label, handleId]) => ({ id: handleId, label }));
1383
- return [...dynamic, ...spec.extra ?? []];
1421
+ const state = args?.state;
1422
+ const record = state?.[spec.fromStateRecord] ?? data?.[spec.fromStateRecord] ?? {};
1423
+ const handles = Object.entries(record).filter(([, handleId]) => typeof handleId === "string" && handleId).map(([label, handleId]) => ({ id: handleId, label }));
1424
+ const add = (handle) => {
1425
+ if (!handles.some((existing) => existing.id === handle.id))
1426
+ handles.push(handle);
1427
+ };
1428
+ for (const handle of ruleHandles(state?.rules)) add(handle);
1429
+ for (const handle of spec.extra ?? []) add(handle);
1430
+ const fallback = fallbackHandleOf(state, data);
1431
+ if (fallback) add({ id: fallback, label: fallback, tone: "neutral" });
1432
+ return handles;
1384
1433
  }
1385
1434
  if (spec.length === 0) return DEFAULT_HANDLES;
1386
1435
  return spec;
@@ -1,4 +1,4 @@
1
- import { mergeStickyNotes } from './chunk-JT6NAHAX.js';
1
+ import { mergeStickyNotes } from './chunk-ATTUQMTG.js';
2
2
 
3
3
  // src/builder/live/definition-canvas.ts
4
4
  function isRecord(value) {
@@ -1,11 +1,11 @@
1
1
  import { ActionPoliciesTab, BUDGET_DIMENSIONS, withBudgetLimit, budgetInputValue, withBudgetMode, checkCodecServerUrl } from './chunk-5NZANNKX.js';
2
- import { LogStreamingTab } from './chunk-IKPIGK7I.js';
3
- import { AgentsTab, useConnections } from './chunk-KNHMQ4N7.js';
2
+ import { LogStreamingTab } from './chunk-DJ6VN3MP.js';
3
+ import { AgentsTab, useConnections } from './chunk-2SZX5K7F.js';
4
4
  import { useResource, fetchPauseRules, FieldError, fetchSearchAttributes, StatusPill, NativeSelect, fetchArchiveSettings, fetchCodecServerSettings, deletePauseRule, createPauseRule, deleteSearchAttribute, createSearchAttribute, saveArchiveSettings, clearArchiveSettings, saveCodecServerSettings } from './chunk-BVIGBIYD.js';
5
5
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
6
6
  import { useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS } from './chunk-ERT444RG.js';
7
- import { useFluidGridsFlag, FLUIDGRIDS_FLAGS, usePhaseCFlags, useSaveStatusStore, findSaveConflict, useDurableParityEnabled } from './chunk-URM73DCA.js';
8
- import { useFlowStore } from './chunk-JT6NAHAX.js';
7
+ import { useFluidGridsFlag, FLUIDGRIDS_FLAGS, usePhaseCFlags, useSaveStatusStore, findSaveConflict, useDurableParityEnabled } from './chunk-GNIJYZNL.js';
8
+ import { useFlowStore } from './chunk-ATTUQMTG.js';
9
9
  import { getGlobalStoreClient } from './chunk-TYI2XOSI.js';
10
10
  import { useWorkflowDefinitionQuery, useUpdateWorkflowDefinitionMutation, useWorkflowDefinitionsQuery, ManagedAiWorkspacePolicyDocument, UpdateManagedAiWorkspacePolicyDocument, DurableHistoryCapsDocument, UpdateDurableHistoryCapsDocument } from './chunk-AL5QPU3W.js';
11
11
  import { useTr } from './chunk-UULVIT25.js';
@@ -1,28 +1,27 @@
1
- import { computeAttachPosition, firstInputHandleId } from './chunk-GGENPDMT.js';
1
+ import { computeAttachPosition, firstInputHandleId } from './chunk-GJN36FH3.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 } from './chunk-TFCIZFDM.js';
7
- import { LogsPanel } from './chunk-XZSC2OFT.js';
8
- import { useNodeEditorTab, NodeEditorTabs, NodeInputFields, NodeEditorTabBody } from './chunk-46E4OVBE.js';
9
- import { useGlobalStoreClient, NodeExecutionActions } from './chunk-23HJEX7Z.js';
10
- import { useNodeConfig, nodeSubtitle, nodeTitle } from './chunk-KQHFJFCT.js';
11
- import { CreateWorkflowRefusalDialog, WorkflowShareDialog, useWorkflowCodeExport, orderedExportFiles, fileBaseName, downloadWorkflowCodeExport, isLosslessReport, sortFidelityItems, isLossyFidelityItem, lineOfNode } from './chunk-Y3UBTWR7.js';
7
+ import { LogsPanel } from './chunk-KUSH7NRH.js';
8
+ import { useNodeEditorTab, NodeEditorTabs, NodeInputFields, NodeEditorTabBody } from './chunk-N76SCK7E.js';
9
+ import { useGlobalStoreClient, NodeExecutionActions } from './chunk-WX2WZWI5.js';
10
+ import { CreateWorkflowRefusalDialog, WorkflowShareDialog, useWorkflowCodeExport, orderedExportFiles, fileBaseName, downloadWorkflowCodeExport, isLosslessReport, sortFidelityItems, isLossyFidelityItem, lineOfNode } from './chunk-FVT3K4GZ.js';
12
11
  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-KIEJZVOI.js';
13
12
  import { buildNodeDisplayMap } from './chunk-HLBO6PI4.js';
14
13
  import { AiCreditBalanceSlot } from './chunk-Y53CVZVV.js';
15
- import { countLifecycle, VersionLifecycleBar, VersionDiffDialog } from './chunk-5Z5ZOATZ.js';
16
- import { useRestoreWorkflowVersion, useWorkflowVersions, useActivateWorkflow, useDeleteWorkflow, useDeactivateWorkflow } from './chunk-TGICOVAZ.js';
14
+ import { countLifecycle, VersionLifecycleBar, VersionDiffDialog } from './chunk-ZH7OMUYF.js';
15
+ import { useRestoreWorkflowVersion, useWorkflowVersions, useActivateWorkflow, useDeleteWorkflow, useDeactivateWorkflow } from './chunk-3DSR3JJL.js';
17
16
  import { PublishCustomNodeAction } from './chunk-XRGAH6IQ.js';
18
17
  import { Button } from './chunk-QJAZXCFQ.js';
19
18
  import { useRequestedProposal } from './chunk-GLYINMOR.js';
20
- import { useConnections, ConnectionFormDialog } from './chunk-KNHMQ4N7.js';
19
+ import { useConnections, ConnectionFormDialog } from './chunk-2SZX5K7F.js';
21
20
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
22
21
  import { SdkPermissionButton, FLUIDGRIDS_PERMISSIONS, useFluidGridsPermission, SdkPermissionGate } from './chunk-ERT444RG.js';
23
- import { leaseCallQueue, leaseCallSequence, RUNS_QUOTA_NAME, BILLING_PLANS_PATH, emitUpgradeClicked, FluidGridsContext, emitWorkflowCreated, emitTemplateUsed, ensureNodeConfigsLoaded, NODE_CONFIGS, useEditLeaseStore, useEditLeaseLocked, registerWorkflowNodeTypes, emitNodeInstalled, useNodeExecution, usePaletteGates, useCanvasEdges, 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, refusalOfQuota, buildStickyNode, NODES_METADATA, shouldReleaseForIdle, tickAction, rememberSessionForReload, leavingLosesChanges, buildOperationSeed, useDurableParityEnabled, useWorkflowTestsEnabled, useFluidGridsFlag, FLUIDGRIDS_FLAGS, useFlowValidator, saveIndicatorOf, departingSave, inAppLeaveTarget, isNodeConfigsInitialized, phaseAfterAcquire, rememberOwnStatusChange, useRunGuard, saveFailureActionOf, getNodeDetail, loadDefinitionJson, canAutosave, isNodeTypeHiddenFromPalette, AUTOSAVE_RETRY_DELAYS_MS, AUTOSAVE_DEBOUNCE_MS, editingLeaseLocked, autosaveAllowedFor, isFlowComplete, rememberRevision, phaseAfterTakeOver } from './chunk-URM73DCA.js';
22
+ import { leaseCallQueue, leaseCallSequence, RUNS_QUOTA_NAME, BILLING_PLANS_PATH, emitUpgradeClicked, FluidGridsContext, emitWorkflowCreated, emitTemplateUsed, ensureNodeConfigsLoaded, NODE_CONFIGS, useEditLeaseStore, useEditLeaseLocked, registerWorkflowNodeTypes, emitNodeInstalled, useNodeExecution, usePaletteGates, useCanvasEdges, 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, refusalOfQuota, buildStickyNode, NODES_METADATA, shouldReleaseForIdle, tickAction, rememberSessionForReload, leavingLosesChanges, buildOperationSeed, useDurableParityEnabled, useWorkflowTestsEnabled, useFluidGridsFlag, FLUIDGRIDS_FLAGS, useFlowValidator, MissingParametersDialog, saveIndicatorOf, departingSave, inAppLeaveTarget, isNodeConfigsInitialized, phaseAfterAcquire, rememberOwnStatusChange, workflowParameterIssues, useRunGuard, saveFailureActionOf, getNodeDetail, loadDefinitionJson, canAutosave, isNodeTypeHiddenFromPalette, useNodeConfig, nodeSubtitle, nodeTitle, AUTOSAVE_RETRY_DELAYS_MS, AUTOSAVE_DEBOUNCE_MS, editingLeaseLocked, autosaveAllowedFor, isFlowComplete, rememberRevision, phaseAfterTakeOver } from './chunk-GNIJYZNL.js';
24
23
  import { BuilderReadOnlyProvider, useBuilderReadOnly } from './chunk-SDZEAIIE.js';
25
- import { useFlowStore, useIsValidConnection, NODE_TYPE_DRAG_DATA_FORMAT, NODE_OPERATION_DRAG_DATA_FORMAT, CODE_WORKFLOW_NODE_TYPE, STICKY_NOTE_TYPE, NodeTypeIcon, isImageIcon, isTriggerOperation, nodeAccent } from './chunk-JT6NAHAX.js';
24
+ import { useFlowStore, useIsValidConnection, NODE_TYPE_DRAG_DATA_FORMAT, NODE_OPERATION_DRAG_DATA_FORMAT, CODE_WORKFLOW_NODE_TYPE, STICKY_NOTE_TYPE, NodeTypeIcon, isImageIcon, isTriggerOperation, nodeAccent } from './chunk-ATTUQMTG.js';
26
25
  import { getGlobalStoreClient } from './chunk-TYI2XOSI.js';
27
26
  import { GetMyNodeInstallationsDocument, BrowseWorkflowTemplatesDocument, InstallWorkflowNodeDocument, SubmitWorkflowTemplateDocument, MyWorkflowTemplateSubmissionsDocument, WithdrawWorkflowTemplateSubmissionDocument, InstallPurchasedNodeDocument, BrowseWorkflowNodesDocument, UninstallWorkflowNodeDocument, CreateStoreOrderDocument, GetNodeInstallableVersionsDocument, OrganizationPrivateNodesDocument, InstallOrganizationPrivateNodeDocument, UninstallOrganizationPrivateNodeDocument } from './chunk-4FPY66GH.js';
28
27
  import { cn } from './chunk-JL7CASN5.js';
@@ -14651,7 +14650,9 @@ var ExecuteWorkflowButton = ({
14651
14650
  var ActivateWorkflowButton = ({
14652
14651
  className
14653
14652
  }) => {
14653
+ const tr = useTr();
14654
14654
  const [isProcessing, setIsProcessing] = useState(false);
14655
+ const [issues, setIssues] = useState([]);
14655
14656
  const [dbId, status, setWorkflow] = useFlowStore(
14656
14657
  useShallow((s) => [
14657
14658
  s.workflow.dbId,
@@ -14667,6 +14668,14 @@ var ActivateWorkflowButton = ({
14667
14668
  toast.error("Please save the workflow first before activating.");
14668
14669
  return;
14669
14670
  }
14671
+ if (isDraft) {
14672
+ const { nodes, edges } = useFlowStore.getState().workflow;
14673
+ const found = workflowParameterIssues(nodes, edges);
14674
+ if (found.length > 0) {
14675
+ setIssues(found);
14676
+ return;
14677
+ }
14678
+ }
14670
14679
  setIsProcessing(true);
14671
14680
  try {
14672
14681
  if (isDraft) {
@@ -14708,13 +14717,44 @@ var ActivateWorkflowButton = ({
14708
14717
  setIsProcessing(false);
14709
14718
  }
14710
14719
  };
14720
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
14721
+ /* @__PURE__ */ jsx(
14722
+ MissingParametersDialog,
14723
+ {
14724
+ issues,
14725
+ onClose: () => setIssues([]),
14726
+ title: tr(
14727
+ "fluidgrids.builder.requiredParameters.activateBlockedTitle",
14728
+ "Fill in the required parameters before activating"
14729
+ )
14730
+ }
14731
+ ),
14732
+ /* @__PURE__ */ jsx(
14733
+ ActivateToggle,
14734
+ {
14735
+ className,
14736
+ isDraft,
14737
+ isProcessing,
14738
+ disabled: isProcessing || !dbId,
14739
+ onToggle: handleToggle
14740
+ }
14741
+ )
14742
+ ] });
14743
+ };
14744
+ function ActivateToggle({
14745
+ className,
14746
+ isDraft,
14747
+ isProcessing,
14748
+ disabled,
14749
+ onToggle
14750
+ }) {
14711
14751
  return /* @__PURE__ */ jsxs(
14712
14752
  Button$1,
14713
14753
  {
14714
14754
  "data-agent": "confirm",
14715
14755
  "data-tour": "fluidgrids-builder-activate",
14716
- onClick: handleToggle,
14717
- disabled: isProcessing || !dbId,
14756
+ onClick: onToggle,
14757
+ disabled,
14718
14758
  variant: isDraft ? "default" : "outline",
14719
14759
  size: "sm",
14720
14760
  className: cn$1(
@@ -14734,7 +14774,7 @@ var ActivateWorkflowButton = ({
14734
14774
  ]
14735
14775
  }
14736
14776
  );
14737
- };
14777
+ }
14738
14778
 
14739
14779
  // src/builder/hooks/refresh-open-revision.ts
14740
14780
  async function refreshOpenRevision() {
@@ -20532,12 +20572,12 @@ function EditLeaseBanner() {
20532
20572
  );
20533
20573
  }
20534
20574
  var LazyNodeDetailView = lazy(
20535
- () => import('./node-detail-view-NFTDDSKP.js').then((m) => ({
20575
+ () => import('./node-detail-view-7NY2H7RT.js').then((m) => ({
20536
20576
  default: m.NodeDetailView
20537
20577
  }))
20538
20578
  );
20539
20579
  var LazyQuickConfigPanel = lazy(
20540
- () => import('./quick-config-panel-CTFCPOSG.js').then((m) => ({
20580
+ () => import('./quick-config-panel-JSQ2QSTJ.js').then((m) => ({
20541
20581
  default: m.QuickConfigPanel
20542
20582
  }))
20543
20583
  );
@@ -20599,7 +20639,7 @@ var FlowBuilder = ({ readOnly = false }) => {
20599
20639
  );
20600
20640
  useEffect(() => {
20601
20641
  let cancelled = false;
20602
- void import('./agentTools-JYM6657K.js').then(({ createBuilderAgentTools }) => {
20642
+ void import('./agentTools-ISAX2OP5.js').then(({ createBuilderAgentTools }) => {
20603
20643
  if (cancelled) return;
20604
20644
  setAgentTools(
20605
20645
  createBuilderAgentTools({
@@ -1,5 +1,5 @@
1
1
  import { REPLAY_WORKFLOW_RUN, RETRY_WORKFLOW_RUNS } from './chunk-5ERAJC2I.js';
2
- import { useFluidGridsAnalytics, emitRunStarted, openRunQuotaUpgradePrompt } from './chunk-URM73DCA.js';
2
+ import { useFluidGridsAnalytics, emitRunStarted, openRunQuotaUpgradePrompt } from './chunk-GNIJYZNL.js';
3
3
  import { ExecutionsListDocument, ExecutionDetailDocument, ExecutionStatsDocument, PauseExecutionDocument, ResumeExecutionDocument, CancelExecutionDocument, RetryNodeDocument, TriggerWorkflowDocument, TerminateExecutionDocument } from './chunk-AL5QPU3W.js';
4
4
  import { useTr } from './chunk-UULVIT25.js';
5
5
  import { getFluidGridsClient } from './chunk-PDODDDHY.js';
@@ -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-URM73DCA.js';
2
+ import { useFluidGridsAnalytics, emitRunStarted, openRunQuotaUpgradePrompt, useFluidGridsFlag, FLUIDGRIDS_FLAGS } from './chunk-GNIJYZNL.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,16 +1,16 @@
1
- import { useDurableRunFields, useRunHistory, useDeterminismStatus, useRunStackTrace, RunHistoryView, SignalRunDialog, terminateDurableRun } from './chunk-CDNBJUC5.js';
2
- import { useDurableParityRunFields, hasAgentNodeState, agentNodeTraces, orderNodesByExecution, useRunPending, useRunMetadata, ExecutionStatusBadge, NodeTimeline, RunLogViewer, NodeStatusBadge, setRunVersioningOverride } from './chunk-QHHQQ5LG.js';
3
- import { useExecution, useExecutionActions, useAutoRefresh, runChainLinks, shortRunId, callbackTone, parseMetadataDefinition, overrideRequestOf } from './chunk-X7M4I64U.js';
1
+ import { useDurableRunFields, useRunHistory, useDeterminismStatus, useRunStackTrace, RunHistoryView, SignalRunDialog, terminateDurableRun } from './chunk-Y5V7HQSA.js';
2
+ import { useDurableParityRunFields, hasAgentNodeState, agentNodeTraces, orderNodesByExecution, useRunPending, useRunMetadata, ExecutionStatusBadge, NodeTimeline, RunLogViewer, NodeStatusBadge, setRunVersioningOverride } from './chunk-EZGWG3YM.js';
3
+ import { useExecution, useExecutionActions, useAutoRefresh, runChainLinks, shortRunId, callbackTone, parseMetadataDefinition, overrideRequestOf } from './chunk-D3V64LEJ.js';
4
4
  import { fetchRunFailureClusters, OPEN_STATUSES, dismissRunFailureCluster, BUCKET_LABELS } from './chunk-UX5AWA4A.js';
5
5
  import { aiCost, formatTokens, modelLabel } from './chunk-NZAYYUQ4.js';
6
6
  import { useRunPolicyDecisions, RunPolicyDecisions, checkCodecServerUrl, containsEncodedPayload, formatBudgetUsd, isEncodedPayload, encodedPayloadBytes, decodePayloads, CodecServerError } from './chunk-5NZANNKX.js';
7
7
  import { EntityTagPicker, canSaveRunAsTestCase, useWorkflowProposal, WorkflowProposalCard, MAX_CASE_NAME, saveRunAsTestCase } from './chunk-KIEJZVOI.js';
8
8
  import { buildNodeDisplayMap, formatRunVersion, nodeDisplayTitle } from './chunk-HLBO6PI4.js';
9
9
  import { AiCreditBalanceSlot } from './chunk-Y53CVZVV.js';
10
- import { useWorkflowVersions } from './chunk-TGICOVAZ.js';
10
+ import { useWorkflowVersions } from './chunk-3DSR3JJL.js';
11
11
  import { readTyped, writeTyped, useResource, fetchCodecServerSettings, fetchRunControlFields, fetchPauseRules, RUN_CONTROL_DIALOG_STYLE, fetchRunHistoryArchive, parseJsonInput, NativeSelect, JsonField, FieldError, StatusPill, JsonBlock, fetchSignalTokens, parseJsonObjectInput, queryRun, revokeSignalToken, upsertRunSearchAttributes, newRunControlId, fetchRunUpdate, createSignalToken, pauseActivities, unpauseActivities, resetActivities, updateActivityOptions, completeActivityById, failActivityById, sendRunUpdate, resetRunToLastCleanTask, resetRun } from './chunk-BVIGBIYD.js';
12
12
  import { useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, SdkPermissionButton } from './chunk-ERT444RG.js';
13
- import { useDurableFunctionNodesEnabled, useDurableParityEnabled, usePhaseCFlags, runSignalTargets, canSignalRun, formatElapsedMs, runDurationMs, useWorkflowTestsEnabled, durableInterfaceOf } from './chunk-URM73DCA.js';
13
+ import { useDurableFunctionNodesEnabled, useDurableParityEnabled, usePhaseCFlags, runSignalTargets, canSignalRun, formatElapsedMs, runDurationMs, useWorkflowTestsEnabled, durableInterfaceOf } from './chunk-GNIJYZNL.js';
14
14
  import { TaskQueuesDocument, TaskQueueStatsDocument, CreateTaskQueueDocument, UpdateTaskQueueDocument, DeleteTaskQueueDocument, WorkflowWorkersDocument, WorkerTokensDocument, CreateWorkerTokenDocument, RotateWorkerTokenDocument, DeleteWorkerTokenDocument, SetWorkerTokenConnectionAllowlistDocument, RunLogsDocument, RunLogAppendedDocument, ExplainRunDocument, RunAiUsageDocument } from './chunk-AL5QPU3W.js';
15
15
  import { useTr } from './chunk-UULVIT25.js';
16
16
  import { getFluidGridsClient, getFluidGridsClientSafe } from './chunk-PDODDDHY.js';
@@ -1,9 +1,9 @@
1
- import { validateDateRange, statusCountFilter, STATUS_COUNT_GROUP_BY, statusCountsOf } from './chunk-X7M4I64U.js';
1
+ import { validateDateRange, statusCountFilter, STATUS_COUNT_GROUP_BY, statusCountsOf } from './chunk-D3V64LEJ.js';
2
2
  import { useAvailableTags, formatRunVersion, nodeDisplayTitle } from './chunk-HLBO6PI4.js';
3
3
  import { executionsControls } from './chunk-FNZZ5JJL.js';
4
4
  import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
5
5
  import { isAgentNodeType } from './chunk-BVIGBIYD.js';
6
- import { useDurableParityEnabled, formatElapsedMs, runDurationMs, nodeStateDurationMs } from './chunk-URM73DCA.js';
6
+ import { useDurableParityEnabled, formatElapsedMs, runDurationMs, nodeStateDurationMs } from './chunk-GNIJYZNL.js';
7
7
  import { SetWorkflowRunVersioningOverrideDocument, WorkflowRunsCountDocument, DurableParityRunFieldsDocument, WorkflowRunPendingDocument, WorkflowRunMetadataDocument } from './chunk-AL5QPU3W.js';
8
8
  import { useTr } from './chunk-UULVIT25.js';
9
9
  import { getFluidGridsClient } from './chunk-PDODDDHY.js';
@@ -1,4 +1,4 @@
1
- import { useFluidGridsAnalytics, emitWorkflowLimitHit, emitUpgradeClicked, WORKFLOWS_QUOTA_NAME } from './chunk-URM73DCA.js';
1
+ import { useFluidGridsAnalytics, emitWorkflowLimitHit, emitUpgradeClicked, WORKFLOWS_QUOTA_NAME } from './chunk-GNIJYZNL.js';
2
2
  import { ExportWorkflowCodeDocument, ShareWorkflowDocument, WorkflowSharingDocument } from './chunk-AL5QPU3W.js';
3
3
  import { useTr } from './chunk-UULVIT25.js';
4
4
  import { getFluidGridsClient } from './chunk-PDODDDHY.js';
@@ -1,4 +1,4 @@
1
- import { resolveInputHandles } from './chunk-JT6NAHAX.js';
1
+ import { resolveInputHandles } from './chunk-ATTUQMTG.js';
2
2
 
3
3
  // src/builder/hooks/attach-node-helpers.ts
4
4
  var ATTACH_GAP_X = 120;