@burdenoff/fluidgrids-fe-sdk 2026.1105.3 → 2026.1106.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 (60) hide show
  1. package/README.md +16 -3
  2. package/dist/{ExecutionDetailPage-JXGPSLS3.js → ExecutionDetailPage-OOHJQR2L.js} +14 -14
  3. package/dist/{ExecutionsListPage-U3TC5JUI.js → ExecutionsListPage-6HS5VQOV.js} +10 -10
  4. package/dist/{WorkflowBuilder-6DOD6WWH.js → WorkflowBuilder-PICIS7FI.js} +16 -16
  5. package/dist/{WorkflowsList-XOWRQNST.js → WorkflowsList-SD5XQC4Q.js} +10 -10
  6. package/dist/{agentTools-YQBN33WG.js → agentTools-UH4LU6LA.js} +7 -7
  7. package/dist/{chunk-MY7SEUXM.js → chunk-43GSC5Y6.js} +1 -1
  8. package/dist/{chunk-EKDUYCTS.js → chunk-4XAXF5VP.js} +4 -4
  9. package/dist/{chunk-G774FI2E.js → chunk-5GG2FEKW.js} +2 -2
  10. package/dist/{chunk-TJAG2DQT.js → chunk-5Z4F24QT.js} +3 -3
  11. package/dist/{chunk-JYYN3CLL.js → chunk-6VIG44VF.js} +1 -1
  12. package/dist/{chunk-2WUVF4EQ.js → chunk-ASYYYJG2.js} +4 -4
  13. package/dist/{chunk-OXXXUAWM.js → chunk-CTKWMPQQ.js} +1 -1
  14. package/dist/{chunk-YGOGJDN4.js → chunk-EIMTOK6E.js} +3 -3
  15. package/dist/{chunk-AMXJLVZN.js → chunk-EXJW7EKR.js} +2 -2
  16. package/dist/{chunk-MP44TAOO.js → chunk-GBJWPSLJ.js} +70 -5
  17. package/dist/{chunk-LDWBMCX4.js → chunk-GBQC5WDH.js} +16 -9
  18. package/dist/{chunk-3ZYRLGDF.js → chunk-GPABUQTD.js} +650 -636
  19. package/dist/{chunk-ZBPRNWKY.js → chunk-HSTP2RX3.js} +35 -6
  20. package/dist/{chunk-US5QSLPV.js → chunk-JKLZ6YZ3.js} +22 -11
  21. package/dist/{chunk-KAWRHIJZ.js → chunk-JRLBPR5U.js} +3 -3
  22. package/dist/{chunk-IL343FKX.js → chunk-KHS2DZHH.js} +1 -1
  23. package/dist/{chunk-4NNF7DIB.js → chunk-KJT5TAOE.js} +3 -3
  24. package/dist/{chunk-TLHX4DK4.js → chunk-LLCVVRCE.js} +9 -9
  25. package/dist/{chunk-IJ7UIDCW.js → chunk-M72SMQOS.js} +8 -8
  26. package/dist/{chunk-TCIBTMJI.js → chunk-NZMUKAXG.js} +3 -69
  27. package/dist/{chunk-G33OMSW6.js → chunk-OLRIWGYM.js} +6 -6
  28. package/dist/{chunk-NMQENSPW.js → chunk-OTOQFZFO.js} +38 -38
  29. package/dist/{chunk-EYQ7GJRW.js → chunk-PASKZCII.js} +3 -3
  30. package/dist/{chunk-3IXU7WUC.js → chunk-PDODDDHY.js} +1 -1
  31. package/dist/{chunk-5DVP2UYH.js → chunk-TGWDFLEX.js} +11 -3
  32. package/dist/{chunk-AU7LACOY.js → chunk-TYI2XOSI.js} +1 -1
  33. package/dist/{chunk-L2N6DDOI.js → chunk-U7UNWR3D.js} +2 -2
  34. package/dist/{chunk-NZFPCTIS.js → chunk-UIS7KGHW.js} +4 -4
  35. package/dist/{chunk-KN37RIFC.js → chunk-UWCD7JUU.js} +8 -8
  36. package/dist/{chunk-MA6I4KY5.js → chunk-UYTPURFW.js} +16 -50
  37. package/dist/{chunk-ZLBTUCC2.js → chunk-WBRW67HX.js} +3 -3
  38. package/dist/{chunk-VESQH55Q.js → chunk-WC526MLS.js} +3 -3
  39. package/dist/{chunk-22U3TUKZ.js → chunk-XNARCHMT.js} +2 -2
  40. package/dist/{chunk-3MZOYJ5I.js → chunk-XWINH6CR.js} +1 -1
  41. package/dist/{chunk-FVWRGL7S.js → chunk-Y4UCHFGK.js} +1 -1
  42. package/dist/{client-YVZMLEQX.js → client-62VHXHKN.js} +2 -2
  43. package/dist/executions.js +15 -15
  44. package/dist/{global-client-N5EIFW6T.js → global-client-PJ5LANJA.js} +2 -2
  45. package/dist/history.js +9 -9
  46. package/dist/index.d.ts +10 -4
  47. package/dist/index.js +67 -53
  48. package/dist/{node-detail-view-U5HOP2WX.js → node-detail-view-P5NV5CMO.js} +11 -11
  49. package/dist/nodes.js +3 -3
  50. package/dist/observability.js +8 -8
  51. package/dist/{quick-config-panel-XAISBW6Y.js → quick-config-panel-ZNSBVF4G.js} +8 -8
  52. package/dist/settings.js +9 -9
  53. package/dist/templates.js +15 -15
  54. package/dist/{workflow-builder-7vv9dCdp.d.ts → workflow-builder-C-ekFbwR.d.ts} +37 -4
  55. package/dist/workflow-builder.d.ts +1 -1
  56. package/dist/workflow-builder.js +17 -17
  57. package/dist/workflow-preview.d.ts +10 -3
  58. package/dist/workflow-preview.js +78 -43
  59. package/dist/workflows-list.js +10 -10
  60. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
- import { useRunStatusCounts, ExecutionStats, ExecutionFilters, ExecutionTable, ExecutionCards, ExecutionTimeline, Pagination, runStatusLabels } from './chunk-MA6I4KY5.js';
2
- import { useExecutionsWithStore, useExecutionStats, useExecutionActions, useAutoRefresh, WORKFLOW_ID_MAX_LENGTH } from './chunk-VESQH55Q.js';
3
- import { useWorkflowDefinitions } from './chunk-YGOGJDN4.js';
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';
4
4
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
5
- import { useDurableParityEnabled } from './chunk-ZBPRNWKY.js';
5
+ import { useDurableParityEnabled } from './chunk-HSTP2RX3.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';
@@ -1,15 +1,15 @@
1
- import { AgentsTab } from './chunk-22U3TUKZ.js';
2
- import { ActionPoliciesTab } from './chunk-AMXJLVZN.js';
3
- import { LogStreamingTab } from './chunk-4NNF7DIB.js';
1
+ import { AgentsTab } from './chunk-XNARCHMT.js';
2
+ import { ActionPoliciesTab } from './chunk-EXJW7EKR.js';
3
+ import { LogStreamingTab } from './chunk-KJT5TAOE.js';
4
4
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
5
- import { useFluidGridsFlag, FLUIDGRIDS_FLAGS, useSaveStatusStore, findSaveConflict, useDurableParityEnabled, useConnections } from './chunk-ZBPRNWKY.js';
5
+ import { useFluidGridsFlag, FLUIDGRIDS_FLAGS, useSaveStatusStore, findSaveConflict, useDurableParityEnabled, useConnections } from './chunk-HSTP2RX3.js';
6
6
  import { useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS } from './chunk-5375NUIO.js';
7
- import { useFlowStore } from './chunk-5DVP2UYH.js';
8
- import { getGlobalStoreClient } from './chunk-AU7LACOY.js';
7
+ import { useFlowStore } from './chunk-TGWDFLEX.js';
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';
11
- import { getFluidGridsClient } from './chunk-3IXU7WUC.js';
12
- import { throwIfResultError, describeOperationError } from './chunk-US5QSLPV.js';
11
+ import { getFluidGridsClient } from './chunk-PDODDDHY.js';
12
+ import { throwIfResultError, describeOperationError } from './chunk-JKLZ6YZ3.js';
13
13
  import { getFluidGridsConfig } from './chunk-UEG2WC3G.js';
14
14
  import { useState, useMemo, useEffect, useCallback } from 'react';
15
15
  import { useNavigate, useParams } from 'react-router';
@@ -1,13 +1,13 @@
1
- import { validateDateRange, statusCountFilter, STATUS_COUNT_GROUP_BY, statusCountsOf } from './chunk-VESQH55Q.js';
1
+ import { validateDateRange, statusCountFilter, STATUS_COUNT_GROUP_BY, statusCountsOf } from './chunk-WC526MLS.js';
2
2
  import { isAgentNodeType } from './chunk-WZ3EJVS6.js';
3
- import { useAvailableTags, formatRunVersion, nodeDisplayTitle } from './chunk-IL343FKX.js';
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 } from './chunk-ZBPRNWKY.js';
6
+ import { useDurableParityEnabled, formatElapsedMs, runDurationMs, nodeStateDurationMs } from './chunk-HSTP2RX3.js';
7
7
  import { SetWorkflowRunVersioningOverrideDocument, WorkflowRunsCountDocument, DurableParityRunFieldsDocument, WorkflowRunPendingDocument, WorkflowRunMetadataDocument } from './chunk-Z3ABLERJ.js';
8
8
  import { useTr } from './chunk-UULVIT25.js';
9
- import { getFluidGridsClient } from './chunk-3IXU7WUC.js';
10
- import { throwIfResultError, describeOperationError } from './chunk-US5QSLPV.js';
9
+ import { getFluidGridsClient } from './chunk-PDODDDHY.js';
10
+ import { throwIfResultError, describeOperationError } from './chunk-JKLZ6YZ3.js';
11
11
  import { useExecutionsStore } from './chunk-UEG2WC3G.js';
12
12
  import { Icon } from '@iconify/react';
13
13
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
@@ -942,7 +942,7 @@ function ExecutionStats({
942
942
  if (!stats) {
943
943
  return null;
944
944
  }
945
- const formatDuration3 = (seconds) => {
945
+ const formatDuration = (seconds) => {
946
946
  if (seconds < 60) return `${Math.round(seconds)}s`;
947
947
  if (seconds < 3600) return `${Math.round(seconds / 60)}m`;
948
948
  return `${Math.round(seconds / 3600)}h`;
@@ -1013,7 +1013,7 @@ function ExecutionStats({
1013
1013
  "fluidgrids.executions.executionStats.avgDuration",
1014
1014
  "Avg Duration"
1015
1015
  ),
1016
- value: formatDuration3(stats.avgDuration ?? 0),
1016
+ value: formatDuration(stats.avgDuration ?? 0),
1017
1017
  icon: "mdi:timer",
1018
1018
  color: "text-[var(--color-status-warning-text)]"
1019
1019
  }
@@ -1037,14 +1037,6 @@ function ExecutionTable({
1037
1037
  toggleRowExpanded
1038
1038
  } = useExecutionsStore();
1039
1039
  const allRunIds = useMemo(() => executions.map((e) => e.id), [executions]);
1040
- const formatDuration3 = (ms) => {
1041
- if (!ms) return "-";
1042
- if (ms < 1e3) return `${ms}ms`;
1043
- if (ms < 6e4) return `${(ms / 1e3).toFixed(1)}s`;
1044
- if (ms < 36e5)
1045
- return `${Math.round(ms / 6e4)}m ${Math.round(ms % 6e4 / 1e3)}s`;
1046
- return `${Math.round(ms / 36e5)}h ${Math.round(ms % 36e5 / 6e4)}m`;
1047
- };
1048
1040
  const formatDate2 = (dateStr) => {
1049
1041
  if (!dateStr) return "-";
1050
1042
  const date = new Date(dateStr);
@@ -1259,7 +1251,7 @@ function ExecutionTable({
1259
1251
  "..."
1260
1252
  ] }) }),
1261
1253
  /* @__PURE__ */ jsx("td", { className: "px-4 py-3", children: /* @__PURE__ */ jsx("span", { className: "text-sm text-text-secondary", children: formatDate2(execution.startedAt || execution.createdAt) }) }),
1262
- /* @__PURE__ */ jsx("td", { className: "px-4 py-3", children: /* @__PURE__ */ jsx("span", { className: "text-sm text-text-secondary", children: formatDuration3(execution.duration) }) }),
1254
+ /* @__PURE__ */ jsx("td", { className: "px-4 py-3", children: /* @__PURE__ */ jsx("span", { className: "text-sm text-text-secondary", children: formatElapsedMs(runDurationMs(execution)) }) }),
1263
1255
  /* @__PURE__ */ jsx("td", { className: "px-4 py-3", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
1264
1256
  /* @__PURE__ */ jsx("div", { className: "flex-1 h-2 bg-background-tertiary rounded-full overflow-hidden max-w-[100px]", children: /* @__PURE__ */ jsx(
1265
1257
  "div",
@@ -1395,14 +1387,6 @@ function ExecutionTable({
1395
1387
  ) })
1396
1388
  ] });
1397
1389
  }
1398
- function formatDuration(ms) {
1399
- if (!ms) return "--";
1400
- if (ms < 1e3) return `${ms}ms`;
1401
- if (ms < 6e4) return `${(ms / 1e3).toFixed(1)}s`;
1402
- const mins = Math.floor(ms / 6e4);
1403
- const secs = Math.floor(ms % 6e4 / 1e3);
1404
- return `${mins}m ${secs}s`;
1405
- }
1406
1390
  function formatRelativeTime(dateStr) {
1407
1391
  if (!dateStr) return "--";
1408
1392
  const date = new Date(dateStr);
@@ -1562,7 +1546,7 @@ function ExecutionCards({
1562
1546
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between text-xs text-text-tertiary pt-2 border-t border-border-secondary", children: [
1563
1547
  /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1", children: [
1564
1548
  /* @__PURE__ */ jsx(Icon, { icon: "mdi:timer-outline", width: 12 }),
1565
- formatDuration(execution.duration ?? void 0)
1549
+ formatElapsedMs(runDurationMs(execution), "--")
1566
1550
  ] }),
1567
1551
  /* @__PURE__ */ jsx("span", { children: formatRelativeTime(execution.startedAt ?? execution.createdAt) })
1568
1552
  ] }),
@@ -1628,14 +1612,6 @@ function formatDate(dateStr) {
1628
1612
  day: "numeric"
1629
1613
  });
1630
1614
  }
1631
- function formatDuration2(ms) {
1632
- if (!ms) return "--";
1633
- if (ms < 1e3) return `${ms}ms`;
1634
- if (ms < 6e4) return `${(ms / 1e3).toFixed(1)}s`;
1635
- const mins = Math.floor(ms / 6e4);
1636
- const secs = Math.floor(ms % 6e4 / 1e3);
1637
- return `${mins}m ${secs}s`;
1638
- }
1639
1615
  function getStatusDotColor(status) {
1640
1616
  switch (status) {
1641
1617
  case "COMPLETED":
@@ -1761,7 +1737,7 @@ function ExecutionTimeline({
1761
1737
  ] }),
1762
1738
  /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1", children: [
1763
1739
  /* @__PURE__ */ jsx(Icon, { icon: "mdi:timer-outline", width: 12 }),
1764
- formatDuration2(execution.duration ?? void 0)
1740
+ formatElapsedMs(runDurationMs(execution), "--")
1765
1741
  ] }),
1766
1742
  (execution.totalNodes ?? 0) > 0 && /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1", children: [
1767
1743
  /* @__PURE__ */ jsx(Icon, { icon: "mdi:puzzle-outline", width: 12 }),
@@ -1940,13 +1916,6 @@ function findAgentPayload(output) {
1940
1916
  }
1941
1917
  return { operation: null, payload: null };
1942
1918
  }
1943
- function durationOf(node) {
1944
- const recorded = finiteOrNull(node.duration);
1945
- if (recorded !== null) return recorded;
1946
- if (!node.startTime || !node.endTime) return null;
1947
- const ms = new Date(node.endTime).getTime() - new Date(node.startTime).getTime();
1948
- return Number.isFinite(ms) && ms >= 0 ? ms : null;
1949
- }
1950
1919
  function parseAgentNodeState(node) {
1951
1920
  const output = asRecord(node.output) ?? {};
1952
1921
  const { operation, payload } = findAgentPayload(output);
@@ -1960,6 +1929,7 @@ function parseAgentNodeState(node) {
1960
1929
  output._pendingApprovals ?? resumeState?.pendingToolCalls
1961
1930
  ) : [];
1962
1931
  const iterationCount = finiteOrNull(payload?.iterationCount) ?? (resumeState && finiteOrNull(resumeState.iteration) !== null ? (finiteOrNull(resumeState.iteration) ?? 0) + 1 : null);
1932
+ const agentError = stringOrNull(payload?.error);
1963
1933
  return {
1964
1934
  nodeStateId: node.id,
1965
1935
  nodeId: node.nodeId,
@@ -1967,7 +1937,8 @@ function parseAgentNodeState(node) {
1967
1937
  status: node.status,
1968
1938
  operation,
1969
1939
  response: prettyValue(payload?.response),
1970
- error: stringOrNull(payload?.error) ?? stringOrNull(node.error),
1940
+ error: agentError ?? stringOrNull(node.error),
1941
+ completedWithError: node.status === "COMPLETED" && agentError !== null,
1971
1942
  tokensUsed: finiteOrNull(payload?.tokensUsed) ?? finiteOrNull(resumeState?.totalTokens),
1972
1943
  iterationCount,
1973
1944
  steps,
@@ -1975,7 +1946,7 @@ function parseAgentNodeState(node) {
1975
1946
  pendingApprovals,
1976
1947
  startTime: node.startTime ?? null,
1977
1948
  endTime: node.endTime ?? null,
1978
- durationMs: durationOf(node),
1949
+ durationMs: nodeStateDurationMs(node),
1979
1950
  attemptCount: finiteOrNull(node.attemptCount)
1980
1951
  };
1981
1952
  }
@@ -2022,11 +1993,6 @@ function NodeTimeline({
2022
1993
  return newSet;
2023
1994
  });
2024
1995
  };
2025
- const formatDuration3 = (ms) => {
2026
- if (!ms) return "-";
2027
- if (ms < 1e3) return `${ms}ms`;
2028
- return `${(ms / 1e3).toFixed(2)}s`;
2029
- };
2030
1996
  const formatTime2 = (dateStr) => {
2031
1997
  if (!dateStr) return "-";
2032
1998
  const date = new Date(dateStr);
@@ -2140,7 +2106,7 @@ function NodeTimeline({
2140
2106
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4 flex-shrink-0", children: [
2141
2107
  /* @__PURE__ */ jsxs("div", { className: "text-right text-xs text-text-secondary hidden sm:block", children: [
2142
2108
  /* @__PURE__ */ jsx("div", { children: formatTime2(node.startTime) }),
2143
- /* @__PURE__ */ jsx("div", { children: formatDuration3(node.duration) })
2109
+ /* @__PURE__ */ jsx("div", { children: formatElapsedMs(nodeStateDurationMs(node)) })
2144
2110
  ] }),
2145
2111
  hasChildRun && /* @__PURE__ */ jsxs("span", { className: "px-2 py-0.5 text-xs bg-chart-12/10 text-chart-12 rounded flex items-center gap-1", children: [
2146
2112
  /* @__PURE__ */ jsx(Icon, { icon: "mdi:sitemap", width: 12 }),
@@ -2590,7 +2556,7 @@ function RunLogViewer({
2590
2556
  "button",
2591
2557
  {
2592
2558
  onClick: onLoadMore,
2593
- className: "text-action-primary-text hover:underline",
2559
+ className: "text-text-link hover:text-text-linkHover hover:underline",
2594
2560
  children: tr(
2595
2561
  "fluidgrids.executions.runLogViewer.loadMoreLines",
2596
2562
  "Load more lines"
@@ -1,9 +1,9 @@
1
- import { structuredParameterType, parseParameterValue, liveInternalOperations, resolveNodeOperation, readDisplayOptions, getNodeDetail, useNodeRegistryRevision, fieldsFromIO, pathToExpression, NODE_CONFIGS, resolveUiSpec, fieldsFromValue, declaredOutputFields, subscribeWorkflowSaved } from './chunk-ZBPRNWKY.js';
1
+ import { structuredParameterType, parseParameterValue, liveInternalOperations, resolveNodeOperation, readDisplayOptions, getNodeDetail, useNodeRegistryRevision, fieldsFromIO, pathToExpression, NODE_CONFIGS, resolveUiSpec, fieldsFromValue, declaredOutputFields, subscribeWorkflowSaved } from './chunk-HSTP2RX3.js';
2
2
  import { useBuilderReadOnly } from './chunk-SDZEAIIE.js';
3
- import { useFlowStore } from './chunk-5DVP2UYH.js';
3
+ import { useFlowStore } from './chunk-TGWDFLEX.js';
4
4
  import { EventRegistrationsDocument } from './chunk-Z3ABLERJ.js';
5
5
  import { useTr } from './chunk-UULVIT25.js';
6
- import { getFluidGridsClientSafe } from './chunk-3IXU7WUC.js';
6
+ import { getFluidGridsClientSafe } from './chunk-PDODDDHY.js';
7
7
  import { useMemo, useState, useEffect, useRef, useCallback } from 'react';
8
8
  import { Icon } from '@iconify/react';
9
9
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -1,9 +1,9 @@
1
1
  import { REPLAY_WORKFLOW_RUN, RETRY_WORKFLOW_RUNS } from './chunk-5ERAJC2I.js';
2
- import { useFluidGridsAnalytics, emitRunStarted, openRunQuotaUpgradePrompt } from './chunk-ZBPRNWKY.js';
2
+ import { useFluidGridsAnalytics, emitRunStarted, openRunQuotaUpgradePrompt } from './chunk-HSTP2RX3.js';
3
3
  import { ExecutionsListDocument, ExecutionDetailDocument, ExecutionStatsDocument, PauseExecutionDocument, ResumeExecutionDocument, CancelExecutionDocument, RetryNodeDocument, TriggerWorkflowDocument, TerminateExecutionDocument } from './chunk-Z3ABLERJ.js';
4
4
  import { useTr } from './chunk-UULVIT25.js';
5
- import { getFluidGridsClient } from './chunk-3IXU7WUC.js';
6
- import { throwIfResultError, emitFluidGridsEvent, emitOperationErrorEvent } from './chunk-US5QSLPV.js';
5
+ import { getFluidGridsClient } from './chunk-PDODDDHY.js';
6
+ import { throwIfResultError, emitFluidGridsEvent, emitOperationErrorEvent } from './chunk-JKLZ6YZ3.js';
7
7
  import { useExecutionsStore } from './chunk-UEG2WC3G.js';
8
8
  import { useState, useRef, useCallback, useEffect, useMemo } from 'react';
9
9
 
@@ -1,7 +1,7 @@
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-ZBPRNWKY.js';
2
+ import { useAgentDefinitions, useAgentDefinitionList, useConnections } from './chunk-HSTP2RX3.js';
3
3
  import { useTr } from './chunk-UULVIT25.js';
4
- import { describeOperationError } from './chunk-US5QSLPV.js';
4
+ import { describeOperationError } from './chunk-JKLZ6YZ3.js';
5
5
  import { useState, useCallback, useEffect } from 'react';
6
6
  import { Icon } from '@iconify/react';
7
7
  import { Button } from '@burdenoff/fe-libs/button';
@@ -1,4 +1,4 @@
1
- import { resolveInputHandles } from './chunk-5DVP2UYH.js';
1
+ import { resolveInputHandles } from './chunk-TGWDFLEX.js';
2
2
 
3
3
  // src/builder/hooks/attach-node-helpers.ts
4
4
  var ATTACH_GAP_X = 120;
@@ -1,4 +1,4 @@
1
- import { QuotaExhaustedDialog } from './chunk-KAWRHIJZ.js';
1
+ import { QuotaExhaustedDialog } from './chunk-JRLBPR5U.js';
2
2
  import { useTr } from './chunk-UULVIT25.js';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
 
@@ -1,3 +1,3 @@
1
- export { createFluidGridsClient, getFluidGridsClient, getFluidGridsClientSafe, isFluidGridsClientReady, resetFluidGridsClient, setFluidGridsClient, waitForFluidGridsClient } from './chunk-3IXU7WUC.js';
2
- import './chunk-US5QSLPV.js';
1
+ export { createFluidGridsClient, getFluidGridsClient, getFluidGridsClientSafe, isFluidGridsClientReady, resetFluidGridsClient, setFluidGridsClient, waitForFluidGridsClient } from './chunk-PDODDDHY.js';
2
+ import './chunk-JKLZ6YZ3.js';
3
3
  import './chunk-UEG2WC3G.js';
@@ -1,33 +1,33 @@
1
1
  import './chunk-AD3BXTJS.js';
2
- export { ExecutionDetailPage } from './chunk-3ZYRLGDF.js';
3
- import './chunk-2WUVF4EQ.js';
4
- export { ExecutionsListPage } from './chunk-NZFPCTIS.js';
5
- import './chunk-MA6I4KY5.js';
6
- import './chunk-VESQH55Q.js';
7
- import './chunk-TCIBTMJI.js';
2
+ export { ExecutionDetailPage } from './chunk-GPABUQTD.js';
3
+ import './chunk-ASYYYJG2.js';
4
+ export { ExecutionsListPage } from './chunk-UIS7KGHW.js';
5
+ import './chunk-UYTPURFW.js';
6
+ import './chunk-WC526MLS.js';
7
+ import './chunk-NZMUKAXG.js';
8
8
  import './chunk-NZAYYUQ4.js';
9
- import './chunk-AMXJLVZN.js';
9
+ import './chunk-EXJW7EKR.js';
10
10
  import './chunk-WZ3EJVS6.js';
11
11
  import './chunk-5ERAJC2I.js';
12
- import './chunk-EYQ7GJRW.js';
12
+ import './chunk-PASKZCII.js';
13
13
  import './chunk-JDLQ6QIB.js';
14
- import './chunk-IL343FKX.js';
14
+ import './chunk-KHS2DZHH.js';
15
15
  import './chunk-Y53CVZVV.js';
16
16
  import './chunk-FNZZ5JJL.js';
17
- import './chunk-YGOGJDN4.js';
17
+ import './chunk-EIMTOK6E.js';
18
18
  import './chunk-PJAWNFJV.js';
19
19
  import './chunk-H4ERTSMX.js';
20
20
  import './chunk-4VJ3MDOV.js';
21
- import './chunk-ZBPRNWKY.js';
21
+ import './chunk-HSTP2RX3.js';
22
22
  import './chunk-5375NUIO.js';
23
23
  import './chunk-JL7CASN5.js';
24
24
  import './chunk-SDZEAIIE.js';
25
- import './chunk-5DVP2UYH.js';
25
+ import './chunk-TGWDFLEX.js';
26
26
  import './chunk-Y7FKJJMF.js';
27
- import './chunk-AU7LACOY.js';
27
+ import './chunk-TYI2XOSI.js';
28
28
  import './chunk-G77IGC3Y.js';
29
29
  import './chunk-Z3ABLERJ.js';
30
30
  import './chunk-UULVIT25.js';
31
- import './chunk-3IXU7WUC.js';
32
- import './chunk-US5QSLPV.js';
31
+ import './chunk-PDODDDHY.js';
32
+ import './chunk-JKLZ6YZ3.js';
33
33
  import './chunk-UEG2WC3G.js';
@@ -1,3 +1,3 @@
1
- export { createGlobalStoreClient, getGlobalStoreClient, resetGlobalStoreClient, setGlobalStoreClient } from './chunk-AU7LACOY.js';
2
- import './chunk-US5QSLPV.js';
1
+ export { createGlobalStoreClient, getGlobalStoreClient, resetGlobalStoreClient, setGlobalStoreClient } from './chunk-TYI2XOSI.js';
2
+ import './chunk-JKLZ6YZ3.js';
3
3
  import './chunk-UEG2WC3G.js';
package/dist/history.js CHANGED
@@ -1,20 +1,20 @@
1
- export { HistoryPage } from './chunk-G774FI2E.js';
2
- import './chunk-TJAG2DQT.js';
3
- import './chunk-JYYN3CLL.js';
1
+ export { HistoryPage } from './chunk-5GG2FEKW.js';
2
+ import './chunk-5Z4F24QT.js';
3
+ import './chunk-6VIG44VF.js';
4
4
  import './chunk-FNZZ5JJL.js';
5
- import './chunk-YGOGJDN4.js';
5
+ import './chunk-EIMTOK6E.js';
6
6
  import './chunk-PJAWNFJV.js';
7
7
  import './chunk-4VJ3MDOV.js';
8
- import './chunk-ZBPRNWKY.js';
8
+ import './chunk-HSTP2RX3.js';
9
9
  import './chunk-5375NUIO.js';
10
10
  import './chunk-JL7CASN5.js';
11
11
  import './chunk-SDZEAIIE.js';
12
- import './chunk-5DVP2UYH.js';
12
+ import './chunk-TGWDFLEX.js';
13
13
  import './chunk-Y7FKJJMF.js';
14
- import './chunk-AU7LACOY.js';
14
+ import './chunk-TYI2XOSI.js';
15
15
  import './chunk-G77IGC3Y.js';
16
16
  import './chunk-Z3ABLERJ.js';
17
17
  import './chunk-UULVIT25.js';
18
- import './chunk-3IXU7WUC.js';
19
- import './chunk-US5QSLPV.js';
18
+ import './chunk-PDODDDHY.js';
19
+ import './chunk-JKLZ6YZ3.js';
20
20
  import './chunk-UEG2WC3G.js';
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { Y as WorkflowData, u as FluidGridsProviderProps, v as FluidGridsRefreshedTokens, w as FluidGridsTheme } from './workflow-builder-7vv9dCdp.js';
3
- export { C as ConditionRule, E as EdgeCondition, a as EdgeMapping, b as ErrorType, c as ExecutionLog, d as ExecutionsFilter, e as ExecutionsPagination, f as ExtendedNodeType, F as FLUIDGRIDS_EVENTS_VERSION, g as FLUIDGRIDS_EVENT_NAMES, h as FLUIDGRIDS_THEME_TOKEN_MAP, i as FlowEdge, j as FlowNode, k as FlowNodeData, l as FluidGridsAuthConfig, m as FluidGridsConfig, n as FluidGridsErrorSource, o as FluidGridsEventArgs, p as FluidGridsEventHandler, q as FluidGridsEventMap, r as FluidGridsEventName, s as FluidGridsEventPayload, t as FluidGridsProvider, x as FluidGridsThemeColors, y as FluidGridsThemeFont, z as FluidGridsThemeMode, A as FluidGridsThemeRadius, B as FluidGridsThemeTokenKey, D as FluidGridsThemeTokenMapping, G as FluidGridsThemeTokens, H as FluidGridsThemeValueKind, I as IFlowState, M as MappingValue, N as NODE_STATUS_CONFIG, J as NodeEndpointConfig, K as NodeManifest, L as NodeState, O as NodeStatus, R as RUN_STATUS_CONFIG, P as RunStatus, S as SidebarState, T as Tag, W as WorkflowBuilder, U as WorkflowBuilderCore, V as WorkflowBuilderCoreProps, Q as WorkflowBuilderPage, X as WorkflowBuilderProps, Z as WorkflowDefinition, _ as WorkflowDefinitionJson, $ as WorkflowError, a0 as WorkflowRun, a1 as WorkflowSavedResult, a2 as WorkflowSearchRedirect, a3 as applyFluidGridsTheme, a4 as config, a5 as getFluidGridsConfig, a6 as getGraphQLEndpoint, a7 as refetchStoreNodes, a8 as resetFluidGridsConfig, a9 as resetFluidGridsExecutionState, aa as setFluidGridsConfig, ab as themeToCssVariables, ac as useFlowStore, ad as useFluidGridsContext } from './workflow-builder-7vv9dCdp.js';
2
+ import { Y as WorkflowData, u as FluidGridsProviderProps, v as FluidGridsRefreshedTokens, w as FluidGridsTheme } from './workflow-builder-C-ekFbwR.js';
3
+ export { C as ConditionRule, E as EdgeCondition, a as EdgeMapping, b as ErrorType, c as ExecutionLog, d as ExecutionsFilter, e as ExecutionsPagination, f as ExtendedNodeType, F as FLUIDGRIDS_EVENTS_VERSION, g as FLUIDGRIDS_EVENT_NAMES, h as FLUIDGRIDS_THEME_TOKEN_MAP, i as FlowEdge, j as FlowNode, k as FlowNodeData, l as FluidGridsAuthConfig, m as FluidGridsConfig, n as FluidGridsErrorSource, o as FluidGridsEventArgs, p as FluidGridsEventHandler, q as FluidGridsEventMap, r as FluidGridsEventName, s as FluidGridsEventPayload, t as FluidGridsProvider, x as FluidGridsThemeColors, y as FluidGridsThemeFont, z as FluidGridsThemeMode, A as FluidGridsThemeRadius, B as FluidGridsThemeTokenKey, D as FluidGridsThemeTokenMapping, G as FluidGridsThemeTokens, H as FluidGridsThemeValueKind, I as IFlowState, M as MappingValue, N as NODE_STATUS_CONFIG, J as NodeEndpointConfig, K as NodeManifest, L as NodeState, O as NodeStatus, R as RUN_STATUS_CONFIG, P as RunStatus, S as SidebarState, T as Tag, W as WorkflowBuilder, U as WorkflowBuilderCore, V as WorkflowBuilderCoreProps, Q as WorkflowBuilderPage, X as WorkflowBuilderProps, Z as WorkflowDefinition, _ as WorkflowDefinitionJson, $ as WorkflowError, a0 as WorkflowRun, a1 as WorkflowSavedResult, a2 as WorkflowSearchRedirect, a3 as applyFluidGridsTheme, a4 as config, a5 as getFluidGridsConfig, a6 as getGraphQLEndpoint, a7 as refetchStoreNodes, a8 as resetFluidGridsConfig, a9 as resetFluidGridsExecutionState, aa as setFluidGridsConfig, ab as themeToCssVariables, ac as useFlowStore, ad as useFluidGridsContext } from './workflow-builder-C-ekFbwR.js';
4
4
  export { WorkflowsList } from './workflows-list.js';
5
5
  export { TemplatePreview, TemplatesPage } from './templates.js';
6
6
  export { ExecutionDetailPage, ExecutionsListPage } from './executions.js';
@@ -192,7 +192,8 @@ interface WorkflowEmbedPageProps {
192
192
  * - `theme=light|dark` — force a theme without touching the visitor's stored
193
193
  * preference (attributes are forced, never persisted).
194
194
  * - `accent=<colour>` — primary colour (`2563eb`, `%232563eb`, `oklch(62% 0.2 250)`).
195
- * - `radius=<length>` — base corner radius (`8px`, `0.75rem`).
195
+ * - `radius=<length>` — corner radius (`8px`, `0.75rem`) for the base, card
196
+ * (node cards, panels), button and input radius tokens at once.
196
197
  * - `font=<font-family>` — body font list (`Inter,sans-serif`).
197
198
  * Token values are validated like a host theme; invalid ones are ignored.
198
199
  * - `cta=false` — hide the "Use this template" button (productId mode only).
@@ -145971,7 +145972,12 @@ declare function isUnauthenticatedError(error: unknown): boolean;
145971
145972
  * - each operation is retried at most once, so a token the gateway keeps
145972
145973
  * refusing can never loop;
145973
145974
  * - when the host cannot refresh (the callback rejects or returns no token),
145974
- * `auth:failed` is emitted and the operation fails with its ORIGINAL error.
145975
+ * `auth:failed` is emitted and the operation fails with its ORIGINAL error;
145976
+ * - an operation sent before a refresh attempt that has since FAILED does
145977
+ * not start a new one: its 401 is the same expired session that attempt
145978
+ * already reported, so it fails with its original error and no second
145979
+ * `auth:failed`. Only an operation sent after the failure (the host may
145980
+ * have recovered, e.g. the user signed in again) may try a fresh refresh.
145975
145981
  *
145976
145982
  * @module graphql/token-refresh-link
145977
145983
  */