@burdenoff/fluidgrids-fe-sdk 2026.1111.16 → 2026.1111.18

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 (119) hide show
  1. package/README.md +41 -0
  2. package/dist/AiStudioPage-BHVEU4Wp.js +774 -0
  3. package/dist/ApprovalInboxPage-dbBDSJ-f.js +558 -0
  4. package/dist/DataSinkDashboardPage-1h2QsMzH.js +270 -0
  5. package/dist/DataTablesPage-BZy2z0LB.js +1690 -0
  6. package/dist/EntityTagPicker-BqRNsLCQ.js +135 -0
  7. package/dist/{ExecutionDetailPage-D-0_POAf.js → ExecutionDetailPage-BdcZmLT4.js} +799 -4420
  8. package/dist/ExecutionDetailPage-DvQ667OE.d.ts +10 -0
  9. package/dist/ExecutionsListPage-BCUJoAIE.js +2742 -0
  10. package/dist/{FailureTriagePanel-BHiduL7A.js → FailureTriagePanel-B9hDQymi.js} +4 -97
  11. package/dist/{FluidGridsProvider-DmvFADFa.js → FluidGridsProvider-dvZSNtSW.js} +10 -350
  12. package/dist/HistoryPage-BLoRpJ1R.d.ts +6 -0
  13. package/dist/{HistoryPage-BbUgxx1I.js → HistoryPage-U0tqupBN.js} +6 -4
  14. package/dist/HumanRequestCard-D-ooVPDn.js +439 -0
  15. package/dist/{InsightsPage-s6f5bU-8.js → InsightsPage-CALo16eB.js} +17 -328
  16. package/dist/ManagedAiPolicyAuthority-BxwJ3ptd.js +40 -0
  17. package/dist/{ManagedAiPolicyAuthority-CGux_DaV.d.ts → ManagedAiPolicyAuthority-DM3t3wNr.d.ts} +1 -5
  18. package/dist/ManagedAiPolicyAuthorityContext-CNkxIOZ1.js +10 -0
  19. package/dist/{MissingNodesInstallModal-B-9gHy2K.js → MissingNodesInstallModal-CMybsI8h.js} +3 -2
  20. package/dist/{NodesPage-ClvhUfbh.js → NodesPage-Bf5PhfBK.js} +7 -3
  21. package/dist/NodesPage-DEbnz9iU.d.ts +6 -0
  22. package/dist/{PublishCustomNodeAction-D2F7oN0S.js → PublishCustomNodeAction-5XXnSA3H.js} +3 -45
  23. package/dist/QuotaExhaustedDialog-7IFSaLyi.js +54 -0
  24. package/dist/RunnerStatusPill-Ctg4TJcP.js +187 -0
  25. package/dist/RunnersPage-CLCOCclc.js +467 -0
  26. package/dist/{ManagedAiPolicyAuthority-DsSaz-vg.js → SettingsPage-CJLZvv4J.js} +743 -773
  27. package/dist/SettingsPage-DMHQFj5-.d.ts +9 -0
  28. package/dist/TagFilterSelect-DCBOH6Ou.js +41 -0
  29. package/dist/TaskQueuesPage-9VgSnLdL.js +951 -0
  30. package/dist/TemplateCard-DsC0KNH1.js +1416 -0
  31. package/dist/{TemplateConfigurationModal-D_Mvgxqa.js → TemplateConfigurationModal-BhGWIzpm.js} +3 -2
  32. package/dist/{TemplateDetailPanel-DfFfUcOe.js → TemplateDetailPanel-D4cUVr-m.js} +3 -3
  33. package/dist/TemplatePreview-FayF6jxh.js +231 -0
  34. package/dist/TemplatesPage-BG3H-6v6.d.ts +10 -0
  35. package/dist/{TemplatesPage-Cku13bav.js → TemplatesPage-CsDNT54N.js} +11 -228
  36. package/dist/VariablesPage-67WR_lVE.js +949 -0
  37. package/dist/{VersionDiffDialog-Dq2xlPFI.js → VersionDiffDialog-DSN0mU0f.js} +2 -1
  38. package/dist/WorkflowBuilder-CPnXEL5J.js +555 -0
  39. package/dist/{WorkflowSearchRedirect-CaoOOpEl.js → WorkflowBuilder-YXRysvZc.js} +19 -585
  40. package/dist/{WorkflowProposalCard-8Vr56kQa.js → WorkflowProposalCard-qrEeNyYG.js} +4 -405
  41. package/dist/WorkflowSearchRedirect-DwDNZ_q5.js +36 -0
  42. package/dist/WorkflowShareDialog-mbIwRQUY.js +168 -0
  43. package/dist/WorkflowsList-CcNDQge5.d.ts +6 -0
  44. package/dist/{WorkflowsList-B2j1Pehb.js → WorkflowsList-DiiGyZkT.js} +12 -6
  45. package/dist/agent-form-Bfvm32j1.js +83 -0
  46. package/dist/{agentTools-DJ5o2ekg.js → agentTools-8s_25Q_F.js} +3 -2
  47. package/dist/{ai-usage-D5p7ZeRR.js → ai-usage-glCwHyQz.js} +1 -1
  48. package/dist/api-BrCHB5oA.js +224 -0
  49. package/dist/api-C8e0iV-Q.js +55 -0
  50. package/dist/button-DG7y_FVJ.js +48 -0
  51. package/dist/{canvasNoteTools-D3zUdEeg.js → canvasNoteTools-B6pYARgU.js} +2 -2
  52. package/dist/client-C9XSzSXr.js +1147 -0
  53. package/dist/code-editor-field-9-GdVE_8.js +111 -0
  54. package/dist/{codec-client-DstqyzTN.js → codec-client-CJ95Rmqo.js} +1 -1
  55. package/dist/constants-B2lhWNoN.js +202 -0
  56. package/dist/constants-XdvUxeWK.d.ts +162 -0
  57. package/dist/dialog-Cjb4lB4D.js +105 -0
  58. package/dist/executions.d.ts +1 -1
  59. package/dist/executions.js +2 -1
  60. package/dist/feature-flags-DM5myWaD.js +296 -0
  61. package/dist/flags.d.ts +3 -0
  62. package/dist/flags.js +4 -0
  63. package/dist/{flow-builder-DEzT8TQu.js → flow-builder-CZDKRc6f.js} +662 -10716
  64. package/dist/{node-endpoint-configs-DHFGA5MQ.js → graphql-operation-types-kX-MMjgW.js} +1 -1194
  65. package/dist/{graphql-types-XcDLtFwU.js → graphql-types-CDKVWH2R.js} +2 -202
  66. package/dist/history.d.ts +1 -1
  67. package/dist/history.js +1 -1
  68. package/dist/{index-DRf25-D3.d.ts → index-6JR2vD9J.d.ts} +33 -215
  69. package/dist/index-72XFgvbn.d.ts +132 -0
  70. package/dist/index-BcdtKBM-.d.ts +56 -0
  71. package/dist/{index-B3BWqafN.d.ts → index-DjiFgEQl.d.ts} +5 -131
  72. package/dist/index.d.ts +13 -9
  73. package/dist/index.js +52 -5300
  74. package/dist/{node-detail-view-LNqeIqN-.js → node-detail-view-CV4ZRwqh.js} +13 -8
  75. package/dist/node-editor-tab-body-DU-dh35X.js +174 -0
  76. package/dist/node-endpoint-configs-B5bjNMDW.js +37 -0
  77. package/dist/node-registry-refresh-Dy0uRg9f.js +84 -0
  78. package/dist/nodes.d.ts +1 -1
  79. package/dist/nodes.js +1 -1
  80. package/dist/observability.d.ts +1 -1
  81. package/dist/observability.js +2 -1
  82. package/dist/popover-BJHvrFGR.js +472 -0
  83. package/dist/{quick-config-panel-D3ogsaFL.js → quick-config-panel-ws3pLvbt.js} +3 -2
  84. package/dist/rolldown-runtime-hDbaFkMy.js +18 -0
  85. package/dist/run-display-BycKYSU0.js +46 -0
  86. package/dist/run-list-links-ByYC0OlV.js +98 -0
  87. package/dist/schedule-panel-C0mfGQSD.js +7542 -0
  88. package/dist/settings.d.ts +2 -1
  89. package/dist/settings.js +2 -1
  90. package/dist/shared-CMfn30xT.js +196 -0
  91. package/dist/sidebar-node-editor-CR1PiZO-.js +177 -0
  92. package/dist/templates.d.ts +1 -1
  93. package/dist/templates.js +2 -1
  94. package/dist/theme-provider-B3mIuz2d.js +11 -0
  95. package/dist/{useAgentDefinitions-NFtLytDR.js → useAgentDefinitions-B0dam3_o.js} +3 -397
  96. package/dist/useConnections-Cs7LCWEM.js +401 -0
  97. package/dist/useDurableParity-CzUQMFJ3.js +415 -0
  98. package/dist/useEntityTags-DhnsZcTl.js +236 -0
  99. package/dist/{useExecutions-DAzeWHS6.js → useExecutions-9aLuOt1c.js} +4 -3
  100. package/dist/{useObservability-COCZ0hUS.js → useObservability-CfEw3ZFD.js} +2 -2
  101. package/dist/{useRunHistory-CsYUbouO.js → useRunHistory-B1xJDwl1.js} +4 -3
  102. package/dist/{WorkflowShareDialog-6RRDe-_v.js → useWorkflowCodeExport-Bu2QYJzA.js} +7 -210
  103. package/dist/{useWorkflows-w4Dx2fF2.js → useWorkflows-BlVVu8NM.js} +3 -2
  104. package/dist/utils-uaL5UVxb.js +65 -0
  105. package/dist/workflow-builder.d.ts +1 -1
  106. package/dist/workflow-builder.js +4 -2
  107. package/dist/workflow-host.d.ts +6 -0
  108. package/dist/workflow-host.js +9 -0
  109. package/dist/workflow-pages.d.ts +55 -0
  110. package/dist/workflow-pages.js +113 -0
  111. package/dist/workflows-list.d.ts +1 -1
  112. package/dist/workflows-list.js +1 -1
  113. package/package.json +13 -1
  114. package/dist/ExecutionDetailPage-MvsnOnE1.d.ts +0 -4
  115. package/dist/HistoryPage-BqUizaFv.d.ts +0 -3
  116. package/dist/NodesPage-C97-9K2Y.d.ts +0 -3
  117. package/dist/TemplatesPage-D0qnXzHh.d.ts +0 -4
  118. package/dist/WorkflowsList-0d5GSKdh.d.ts +0 -3
  119. package/dist/agent-form-BvMWhQ42.js +0 -496
@@ -1,106 +1,13 @@
1
1
  "use client";
2
- import { $ as DismissRunFailureClusterDocument, Oi as getFluidGridsClient, Ui as throwIfResultError, _n as RunFailureTriageSettingsDocument, gn as RunFailureClustersDocument, ht as FgTriageFailedRunsDocument, kn as SetRunFailureTriageEnabledDocument } from "./node-endpoint-configs-DHFGA5MQ.js";
3
2
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
4
- import { $u as ErrorType, mD as RunFailureClusterStatus } from "./graphql-types-XcDLtFwU.js";
3
+ import { _ as throwIfResultError, n as getFluidGridsClient } from "./client-C9XSzSXr.js";
4
+ import { On as SetRunFailureTriageEnabledDocument, Q as DismissRunFailureClusterDocument, gn as RunFailureTriageSettingsDocument, hn as RunFailureClustersDocument, mt as FgTriageFailedRunsDocument } from "./graphql-operation-types-kX-MMjgW.js";
5
+ import { mD as RunFailureClusterStatus } from "./graphql-types-CDKVWH2R.js";
5
6
  import { useCallback, useEffect, useState } from "react";
6
7
  import { Icon } from "@iconify/react";
7
8
  import { jsx, jsxs } from "react/jsx-runtime";
8
9
  import { Button } from "@burdenoff/fe-libs/ui";
9
10
 
10
- // src/modules/executions/utils/run-list-links.ts
11
- /**
12
- * Links into the Runs list that carry its filters in the query string
13
- * (BOFF-9974), and the reading of them on the list.
14
- *
15
- * Insights' error panel links each failing node, error type, workflow and day
16
- * to "the failed runs behind it". The two halves live together so a link and
17
- * the filter it opens cannot drift apart.
18
- *
19
- * ../runs?status=FAILED&failedNodeType=internal%3Ahttp&from=…&to=…
20
- *
21
- * `from` / `to` are ISO instants (the list's custom date range); `workflowKey`
22
- * is read by the list on its own, as it always was.
23
- */
24
- /** The filters a link may set; `workflowKey` stays with the list's own sync. */
25
- const RUN_LIST_LINK_PARAMS = [
26
- "status",
27
- "errorType",
28
- "failedNodeType",
29
- "from",
30
- "to"
31
- ];
32
- const RUN_STATUSES = [
33
- "PENDING",
34
- "RUNNING",
35
- "COMPLETED",
36
- "FAILED",
37
- "CANCELLED",
38
- "WAITING",
39
- "TERMINATED"
40
- ];
41
- function isRunStatus(value) {
42
- return RUN_STATUSES.some((status) => status === value);
43
- }
44
- /** A classification the service knows (its ErrorType enum). */
45
- function isErrorType(value) {
46
- return Object.values(ErrorType).some((type) => type === value);
47
- }
48
- function validDate(value) {
49
- return value instanceof Date && Number.isFinite(value.getTime());
50
- }
51
- /** The Runs list with `link`'s filters, relative to an SDK page route. */
52
- function runListPath(link) {
53
- const params = new URLSearchParams();
54
- if (link.workflowKey) params.set("workflowKey", link.workflowKey);
55
- if (link.status) params.set("status", link.status);
56
- if (link.errorType) params.set("errorType", link.errorType);
57
- if (link.failedNodeType) params.set("failedNodeType", link.failedNodeType);
58
- if (validDate(link.from)) params.set("from", link.from.toISOString());
59
- if (validDate(link.to)) params.set("to", link.to.toISOString());
60
- const query = params.toString();
61
- return query ? `../runs?${query}` : "../runs";
62
- }
63
- function parseDate(value) {
64
- if (!value) return null;
65
- const date = new Date(value);
66
- return Number.isFinite(date.getTime()) ? date : null;
67
- }
68
- /**
69
- * The list filters a link's query string sets, or null when it carries none.
70
- * Unknown values are ignored rather than trusted (the URL is user input); a
71
- * reversed range is dropped, like the custom range inputs do.
72
- */
73
- function runListFilterFromSearch(params) {
74
- const filter = {};
75
- const status = params.get("status")?.trim().toUpperCase() ?? "";
76
- if (isRunStatus(status)) filter.status = status;
77
- const errorType = params.get("errorType")?.trim().toUpperCase() ?? "";
78
- if (isErrorType(errorType)) filter.errorType = errorType;
79
- const failedNodeType = params.get("failedNodeType")?.trim() ?? "";
80
- if (failedNodeType) filter.failedNodeType = failedNodeType;
81
- const from = parseDate(params.get("from"));
82
- const to = parseDate(params.get("to"));
83
- if ((from || to) && !(from && to && from.getTime() > to.getTime())) filter.dateRange = {
84
- start: from,
85
- end: to,
86
- preset: "custom"
87
- };
88
- return Object.keys(filter).length > 0 ? filter : null;
89
- }
90
- /** A stable key of the link parameters in `params`, to apply each link once. */
91
- function runListLinkKey(params) {
92
- return RUN_LIST_LINK_PARAMS.map((name) => params.get(name) ?? "").join("|");
93
- }
94
- /** The UTC day [00:00, 24:00) of an ISO calendar date such as "2026-11-10". */
95
- function utcDay(date) {
96
- const from = /* @__PURE__ */ new Date(`${date}T00:00:00.000Z`);
97
- if (!Number.isFinite(from.getTime())) return null;
98
- return {
99
- from,
100
- to: /* @__PURE__ */ new Date(from.getTime() + 864e5 - 1)
101
- };
102
- }
103
-
104
11
  // src/modules/observability/hooks/useFailureTriage.ts
105
12
  /**
106
13
  * Failure triage (BOFF-3698): the opt-in, the caller's failure clusters and a
@@ -401,4 +308,4 @@ function FailureTriagePanel({ canManage, canRetry, onOpenRun, onRetry }) {
401
308
  });
402
309
  }
403
310
 
404
- export { fetchRunFailureClusters as a, runListPath as c, dismissRunFailureCluster as i, utcDay as l, FailureTriagePanel as n, runListFilterFromSearch as o, OPEN_STATUSES as r, runListLinkKey as s, BUCKET_LABELS as t };
311
+ export { fetchRunFailureClusters as a, dismissRunFailureCluster as i, FailureTriagePanel as n, OPEN_STATUSES as r, BUCKET_LABELS as t };
@@ -1,13 +1,16 @@
1
1
  "use client";
2
- import { At as NodeManifestsDocument, Bi as describeOperationError, Di as createFluidGridsClient, Dr as WorkflowDefinitionDocument, En as SaveWorkflowDraftDocument, Jn as TriggerWorkflowDocument, Jr as WorkflowRunDocument, Li as emitFluidGridsEvent, Mi as setFluidGridsClient, Ni as waitForFluidGridsClient, Oi as getFluidGridsClient, Pi as createFluidGridsTokenRefreshLink, Qi as validateTrustedOrigin, R as CreateWorkflowVersionDocument, Ri as emitOperationErrorEvent, Ui as throwIfResultError, Wi as createLiveTokenReader, Xi as resetFluidGridsExecutionState, Yi as resetFluidGridsConfig, Zi as setFluidGridsConfig, at as EventRegistrationsDocument, j as CreateWorkflowDefinitionDocument, ji as resetFluidGridsClient, jt as NodePaletteEntriesDocument, ki as getFluidGridsClientSafe, oa as __exportAll, ot as ExecuteStepDocument, qi as getFluidGridsConfig, st as ExecutionDetailDocument, t as fetchAllNodeEndpointConfigs, vn as RunFromNodeDocument, zi as emitRunCompletedOnce } from "./node-endpoint-configs-DHFGA5MQ.js";
2
+ import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
3
+ import { C as resetFluidGridsConfig, E as validateTrustedOrigin, T as setFluidGridsConfig, _ as throwIfResultError, a as resetFluidGridsClient, d as emitFluidGridsEvent, f as emitOperationErrorEvent, m as describeOperationError, n as getFluidGridsClient, o as setFluidGridsClient, p as emitRunCompletedOnce, r as getFluidGridsClientSafe, s as waitForFluidGridsClient, t as createFluidGridsClient, w as resetFluidGridsExecutionState, x as getFluidGridsConfig } from "./client-C9XSzSXr.js";
4
+ import { i as getGlobalStoreClient, o as resetGlobalStoreClient, r as createGlobalStoreClient, s as setGlobalStoreClient, t as provideNodeRegistryRefresh } from "./node-registry-refresh-Dy0uRg9f.js";
3
5
  import { A as nodeAccent, C as nodeAdaptersOf, D as NodeCard, E as resolveOutputHandles, H as useFlowStore, I as partitionStickyNotes, L as resolveStickyColor, N as DEFAULT_STICKY_COLOR, O as NodeCardBody, P as STICKY_COLORS, R as stickySurfaceStyle, T as resolveInputHandles, V as STICKY_NOTE_TYPE, W as isNodeTrigger, _ as LogicNodeCard, b as alignPlainOutputEdges, i as WAIT_FOR_SIGNAL_NODE_TYPE, j as NodeTypeIcon, k as NodeCardHeader, l as interfaceFields, m as readSignalName, n as synchronizeOperationUpdate, p as readCodeWorkflowState, r as CODE_WORKFLOW_NODE_TYPE, t as resolveOperationName, u as interfaceHandlers, v as InputHandles, w as outputHandlesSpacerHeight, x as hasNodeManifest, y as OutputHandles } from "./node-operation-selection--oy-yEq_.js";
4
6
  import { n as FluidGridsTranslationProvider, r as useTr, t as ENGLISH_FALLBACK_TRANSLATOR } from "./TranslationBridge-Da-TPgQm.js";
7
+ import { s as useDurableFunctionNodesEnabled } from "./feature-flags-DM5myWaD.js";
8
+ import { A as CreateWorkflowDefinitionDocument, At as NodePaletteEntriesDocument, Er as WorkflowDefinitionDocument, L as CreateWorkflowVersionDocument, Tn as SaveWorkflowDraftDocument, _n as RunFromNodeDocument, at as ExecuteStepDocument, it as EventRegistrationsDocument, kt as NodeManifestsDocument, ot as ExecutionDetailDocument, qn as TriggerWorkflowDocument, qr as WorkflowRunDocument } from "./graphql-operation-types-kX-MMjgW.js";
5
9
  import { _ as errorCodesOf, g as collectExtensions, i as emitRunStarted, m as RUNS_QUOTA_NAME, n as emitRunFailed, p as QUOTA_EXHAUSTED_CODE, r as emitRunLimitHit, s as emitWorkflowCreated, v as findQuotaRefusal } from "./fluidgridsEvents-CNdcrUNN.js";
10
+ import { t as fetchAllNodeEndpointConfigs } from "./node-endpoint-configs-B5bjNMDW.js";
6
11
  import { createContext, memo, useCallback, useContext, useEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
7
12
  import { useNavigate, useParams } from "react-router";
8
13
  import { ApolloProvider } from "@apollo/client/react";
9
- import { ApolloClient, InMemoryCache, createHttpLink } from "@apollo/client/core";
10
- import { setContext } from "@apollo/client/link/context";
11
14
  import { create } from "zustand";
12
15
  import { Handle, NodeResizer, Position, getConnectedEdges, useReactFlow, useStore } from "@xyflow/react";
13
16
  import { Icon } from "@iconify/react";
@@ -18,8 +21,7 @@ import { nanoid as nanoid$1 } from "nanoid/non-secure";
18
21
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
19
22
  import { toast } from "sonner";
20
23
  import { nodeCategoryColor } from "@burdenoff/fe-libs/shared/utils";
21
- import { gql as gql$1 } from "@apollo/client";
22
- import { useOptionalFeatureFlags } from "@burdenoff/fe-libs/shared/feature-flags";
24
+ import { gql } from "@apollo/client";
23
25
  import { useShallow } from "zustand/shallow";
24
26
  import { AlertDialog, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, Button, Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger } from "@burdenoff/fe-libs/ui";
25
27
  import { InfoCircledIcon } from "@radix-ui/react-icons";
@@ -28,58 +30,6 @@ import { useEventBus } from "@burdenoff/fe-libs/shared/events";
28
30
  import { Button as Button$1 } from "@burdenoff/fe-libs/button";
29
31
  import { v4 } from "uuid";
30
32
 
31
- // src/graphql/global-client.ts
32
- var global_client_exports = /* @__PURE__ */ __exportAll({ getGlobalStoreClient: () => getGlobalStoreClient });
33
- let globalClientInstance = null;
34
- /**
35
- * Set the global Apollo client singleton
36
- */
37
- function setGlobalStoreClient(client) {
38
- globalClientInstance = client;
39
- }
40
- /**
41
- * Get the current global Apollo client
42
- */
43
- function getGlobalStoreClient() {
44
- return globalClientInstance;
45
- }
46
- /**
47
- * Reset/clear the global Apollo client
48
- */
49
- function resetGlobalStoreClient() {
50
- globalClientInstance = null;
51
- }
52
- /**
53
- * Create a new Apollo client for Global Gateway (Store operations)
54
- *
55
- * The auth token is read per request and follows a token refreshed through
56
- * `auth.onTokenExpired`; expired-token responses are refreshed and retried
57
- * once (see `createFluidGridsTokenRefreshLink`).
58
- * @param config - Configuration including globalApiUrl, auth, and context IDs
59
- */
60
- function createGlobalStoreClient(config) {
61
- const httpLink = createHttpLink({ uri: config.globalApiUrl });
62
- const readTokens = createLiveTokenReader({ authToken: config.authToken });
63
- const authLink = setContext((_, { headers }) => {
64
- const { authToken } = readTokens();
65
- return { headers: {
66
- ...headers,
67
- ...authToken && { authorization: `Bearer ${authToken}` },
68
- "x-workspace-id": config.workspaceId,
69
- ...config.tenantId && { "x-tenant-id": config.tenantId },
70
- ...config.organizationId && { "x-organization-id": config.organizationId }
71
- } };
72
- });
73
- return new ApolloClient({
74
- link: createFluidGridsTokenRefreshLink().concat(authLink).concat(httpLink),
75
- cache: new InMemoryCache(),
76
- defaultOptions: {
77
- watchQuery: { fetchPolicy: "cache-and-network" },
78
- query: { fetchPolicy: "network-only" }
79
- }
80
- });
81
- }
82
-
83
33
  // src/builder/hooks/use-delete-node.ts
84
34
  function useDeleteNode() {
85
35
  const { getNode, getEdges, deleteElements } = useReactFlow();
@@ -422,7 +372,7 @@ function missingRequiredAdapters(adapters, selected) {
422
372
  * session — and silently degrades to "no docs link" on any error (including
423
373
  * "Cannot query field docsUrl", if the backend hasn't shipped it yet).
424
374
  */
425
- const NODE_DOCS_URL = gql$1`
375
+ const NODE_DOCS_URL = gql`
426
376
  query NodeDocsUrlLookup($nodeType: String!, $nodeVersion: String!) {
427
377
  nodeEndpointConfig(nodeType: $nodeType, nodeVersion: $nodeVersion) {
428
378
  docsUrl
@@ -473,297 +423,6 @@ function useNodeDocsUrl(nodeType, nodeVersion) {
473
423
  return docsUrl;
474
424
  }
475
425
 
476
- // src/feature-flags/index.ts
477
- /**
478
- * FluidGrids feature flags evaluated in the builder.
479
- *
480
- * Keys are registered in global-tenant-svc (`DEFAULT_PLATFORM_FLAGS`, category
481
- * `fluidgrids`, so tenant-svc scopes them to FluidGrids) and toggled per
482
- * workspace from admin.burdenoff.com. wspace-workflow-svc enforces the same
483
- * keys with `requireFeatureEnabled`, so hiding a control here only mirrors a
484
- * server-side gate; it is never the gate itself.
485
- *
486
- * The SDK runs inside many app shells and only some of them mount
487
- * `FeatureFlagProvider`, so it reads the optional flag context rather than
488
- * `useFeatureFlag`, which throws without one. Each flag falls back to its own
489
- * default (see `FLUIDGRIDS_FLAG_DEFAULTS`).
490
- */
491
- const FLUIDGRIDS_FLAGS = {
492
- /**
493
- * Operational kill switch for log stream destinations (webhook, syslog,
494
- * Sentry). Defaults on; an admin turning it off hides the Log streaming
495
- * settings and the backend rejects destination writes with FEATURE_DISABLED.
496
- */
497
- logStreams: "fluidgrids.log-streams",
498
- /**
499
- * Code-first workflows (BOFF-9902): the builder's Code view, Export as
500
- * TypeScript / Python and TypeScript import. A rollout gate, not a kill
501
- * switch, so it defaults OFF: the controls stay hidden until tenant-svc
502
- * evaluates the flag on for the workspace, including when the shell mounts
503
- * no FeatureFlagProvider or the evaluation is still loading.
504
- */
505
- codeFirst: "fluidgrids.code-first",
506
- /**
507
- * Durable functions (BOFF-9905): the Code Workflow and Wait for Signal
508
- * nodes, run history, signals and the source editor. A rollout gate like
509
- * `codeFirst`, so it defaults OFF and fails closed. The durable nodes are
510
- * shown in the palette only while both this flag and `codeFirst` are on.
511
- */
512
- durableFunctions: "fluidgrids.durable-functions",
513
- /**
514
- * Durable-function parity (BOFF-9905, spec code-first 11): workflow ids and
515
- * run chains, run metadata, what a run is waiting on, run counts,
516
- * completion callbacks, versioning (rollouts, drainage, per-run overrides)
517
- * and the history caps. A rollout gate like `durableFunctions`, so it
518
- * defaults OFF and fails closed; the parity surfaces show only while this
519
- * flag, `durableFunctions` and `codeFirst` are all on.
520
- */
521
- durableParity: "fluidgrids.durable-parity",
522
- /**
523
- * Phase C (BOFF-9906, PLAN-C §2.1): self-hosted task queues, worker tokens,
524
- * the task-queue pages and the codec settings. A rollout gate that also
525
- * needs `codeFirst` and `durableFunctions`, so it defaults OFF and fails
526
- * closed (see {@link resolvePhaseCFlags}).
527
- */
528
- selfHostedWorkers: "fluidgrids.self-hosted-workers",
529
- /**
530
- * Phase C run control: updates and queries, reset, activity pause and
531
- * options, pause rules, signal tokens, batch operations and the Signal Run
532
- * node. Needs `codeFirst`, plus `durableFunctions` for anything acting on a
533
- * durable-function run. Defaults OFF, fails closed.
534
- */
535
- runControl: "fluidgrids.run-control",
536
- /**
537
- * Phase C search attributes: definitions, the runs-list filter, the Set
538
- * Search Attributes node. Needs `codeFirst`. Defaults OFF, fails closed.
539
- */
540
- searchAttributes: "fluidgrids.search-attributes",
541
- /** Phase C run archival: the archive destination settings. Needs `codeFirst`. */
542
- runArchival: "fluidgrids.run-archival",
543
- /**
544
- * Phase C schedule policies: the schedule panel of a Schedule Trigger
545
- * (overlap policy, trigger now, backfill, pause with a note). Needs
546
- * `codeFirst`. Defaults OFF, fails closed.
547
- */
548
- schedulePolicies: "fluidgrids.schedule-policies",
549
- /**
550
- * Phase C Python durable functions: editing Python sources in the browser
551
- * editor. Needs `codeFirst` and `durableFunctions`. Defaults OFF.
552
- */
553
- pythonDurableFunctions: "fluidgrids.python-durable-functions",
554
- /**
555
- * Workflow test suites (BOFF-9960): the builder's Tests panel, saving a run
556
- * as a test case and the Assert node in the palette. A rollout gate, so it
557
- * defaults OFF and fails closed; wspace-workflow-svc answers every test-suite
558
- * field with FEATURE_DISABLED while it is off for the workspace.
559
- */
560
- workflowTests: "fluidgrids.workflow-tests",
561
- /**
562
- * Continuous optimisation (BOFF-9969): the Suggestions panel on Insights
563
- * (the per-workspace opt-in, the nightly suggestions, Apply, Dismiss and
564
- * Snooze). A rollout gate, so it defaults OFF and fails closed;
565
- * wspace-workflow-svc answers every suggestion field with FEATURE_DISABLED
566
- * while it is off for the workspace.
567
- */
568
- continuousOptimisation: "fluidgrids.continuous-optimisation"
569
- };
570
- /**
571
- * The value each flag takes when it cannot be evaluated (no provider, still
572
- * loading, or not returned). Kill switches default on so an outage of the
573
- * flag service never removes a shipped feature; rollout gates default off so
574
- * it never exposes an unreleased one.
575
- */
576
- const FLUIDGRIDS_FLAG_DEFAULTS = {
577
- [FLUIDGRIDS_FLAGS.logStreams]: true,
578
- [FLUIDGRIDS_FLAGS.codeFirst]: false,
579
- [FLUIDGRIDS_FLAGS.durableFunctions]: false,
580
- [FLUIDGRIDS_FLAGS.durableParity]: false,
581
- [FLUIDGRIDS_FLAGS.selfHostedWorkers]: false,
582
- [FLUIDGRIDS_FLAGS.runControl]: false,
583
- [FLUIDGRIDS_FLAGS.searchAttributes]: false,
584
- [FLUIDGRIDS_FLAGS.runArchival]: false,
585
- [FLUIDGRIDS_FLAGS.schedulePolicies]: false,
586
- [FLUIDGRIDS_FLAGS.pythonDurableFunctions]: false,
587
- [FLUIDGRIDS_FLAGS.workflowTests]: false,
588
- [FLUIDGRIDS_FLAGS.continuousOptimisation]: false
589
- };
590
- /**
591
- * Each evaluations map the provider has published as settled (loaded, not
592
- * fetching), with the workspace it was settled for. The provider replaces the
593
- * map on every successful fetch and keeps it while a refetch is in flight, so
594
- * the map itself identifies one completed evaluation.
595
- */
596
- const settledEvaluations = /* @__PURE__ */ new WeakMap();
597
- /**
598
- * Whether the context's evaluations can be read for the active workspace.
599
- *
600
- * Settled: yes, unless the map was settled for another workspace (the
601
- * provider keeps the old map for the first render after a workspace switch).
602
- * Fetching: only when this map was already seen settled for this same
603
- * workspace, i.e. a background refetch (`refreshInterval`, every 5 minutes by
604
- * default) rather than a first load or a workspace switch. The last known
605
- * evaluation then stays in force until the refetch settles, instead of the
606
- * rollout gates blinking off for its duration.
607
- */
608
- function evaluationsUsable(context) {
609
- const { evaluations } = context;
610
- if (!evaluations) return !context.isLoading;
611
- const workspace = context.workspaceId ?? null;
612
- const settledFor = settledEvaluations.get(evaluations);
613
- if (context.isLoading) return settledFor !== void 0 && settledFor === workspace;
614
- if (settledFor === void 0) {
615
- settledEvaluations.set(evaluations, workspace);
616
- return true;
617
- }
618
- return settledFor === workspace;
619
- }
620
- /**
621
- * Resolves one FluidGrids flag from the optional flag context (exported for
622
- * tests).
623
- *
624
- * A kill switch (default on) keeps the resolution it has always had: the
625
- * evaluated value, else on, and on while the flags are loading.
626
- * A rollout gate (default off) fails closed, the way wspace-workflow-svc
627
- * resolves it: it is on only when the flags have loaded without a fetch error
628
- * and tenant-svc returned an evaluation for it that carries no `errorCode` and
629
- * the boolean value `true`. No provider, a first load or workspace switch
630
- * still in flight, a failed fetch, a missing evaluation or an evaluation error
631
- * all leave it off. A background refetch of the same workspace keeps the last
632
- * settled evaluation (see `evaluationsUsable`).
633
- */
634
- function resolveFluidGridsFlag(context, flag) {
635
- const fallback = FLUIDGRIDS_FLAG_DEFAULTS[flag];
636
- if (!context) return fallback;
637
- if (fallback) {
638
- if (context.isLoading) return fallback;
639
- const evaluation = context.getEvaluation(flag);
640
- return evaluation ? Boolean(evaluation.value) : fallback;
641
- }
642
- if (context.error || !evaluationsUsable(context)) return false;
643
- const evaluation = context.getEvaluation(flag);
644
- return !!evaluation && !evaluation.errorCode && evaluation.value === true;
645
- }
646
- /** Whether a FluidGrids flag is on for the active workspace. */
647
- function useFluidGridsFlag(flag) {
648
- const context = useOptionalFeatureFlags();
649
- return useMemo(() => resolveFluidGridsFlag(context, flag), [context, flag]);
650
- }
651
- /**
652
- * Whether the durable-function nodes (`internal:code-workflow`,
653
- * `internal:wait-for-signal`) may appear in the builder palette: only while
654
- * both the code-first and the durable-functions rollout gates are on. Either
655
- * gate off, unevaluated or failing hides them.
656
- */
657
- function useDurableFunctionNodesEnabled() {
658
- const context = useOptionalFeatureFlags();
659
- return useMemo(() => resolveFluidGridsFlag(context, FLUIDGRIDS_FLAGS.codeFirst) && resolveFluidGridsFlag(context, FLUIDGRIDS_FLAGS.durableFunctions), [context]);
660
- }
661
- /**
662
- * Whether the durable-function parity surfaces (BOFF-9905) are shown: only
663
- * while the code-first, durable-functions and durable-parity rollout gates
664
- * are all on, the same three flags wspace-workflow-svc checks before it
665
- * answers a parity field. Any of them off, unevaluated or failing hides them,
666
- * and the pages then send exactly the requests they sent before.
667
- */
668
- function resolveDurableParity(context) {
669
- return resolveFluidGridsFlag(context, FLUIDGRIDS_FLAGS.codeFirst) && resolveFluidGridsFlag(context, FLUIDGRIDS_FLAGS.durableFunctions) && resolveFluidGridsFlag(context, FLUIDGRIDS_FLAGS.durableParity);
670
- }
671
- /** {@link resolveDurableParity} for the active workspace. */
672
- function useDurableParityEnabled() {
673
- const context = useOptionalFeatureFlags();
674
- return useMemo(() => resolveDurableParity(context), [context]);
675
- }
676
- /** Every Phase C gate off: what a shell without the flags sees. */
677
- const PHASE_C_FLAGS_OFF = Object.freeze({
678
- runControl: false,
679
- runControlDurable: false,
680
- selfHostedWorkers: false,
681
- searchAttributes: false,
682
- runArchival: false,
683
- schedulePolicies: false,
684
- pythonDurableFunctions: false
685
- });
686
- /** Resolves the Phase C gates from the optional flag context (exported for tests). */
687
- function resolvePhaseCFlags(context) {
688
- const flag = (key) => resolveFluidGridsFlag(context, key);
689
- if (!flag(FLUIDGRIDS_FLAGS.codeFirst)) return { ...PHASE_C_FLAGS_OFF };
690
- const durable = flag(FLUIDGRIDS_FLAGS.durableFunctions);
691
- const runControl = flag(FLUIDGRIDS_FLAGS.runControl);
692
- return {
693
- runControl,
694
- runControlDurable: runControl && durable,
695
- selfHostedWorkers: durable && flag(FLUIDGRIDS_FLAGS.selfHostedWorkers),
696
- searchAttributes: flag(FLUIDGRIDS_FLAGS.searchAttributes),
697
- runArchival: flag(FLUIDGRIDS_FLAGS.runArchival),
698
- schedulePolicies: flag(FLUIDGRIDS_FLAGS.schedulePolicies),
699
- pythonDurableFunctions: durable && flag(FLUIDGRIDS_FLAGS.pythonDurableFunctions)
700
- };
701
- }
702
- /** {@link resolvePhaseCFlags} for the active workspace. */
703
- function usePhaseCFlags() {
704
- const context = useOptionalFeatureFlags();
705
- return useMemo(() => resolvePhaseCFlags(context), [context]);
706
- }
707
- /**
708
- * Whether the rollout gates have settled for the active workspace, so that an
709
- * off gate means "off" rather than "not evaluated yet" (exported for tests).
710
- *
711
- * Settled: no provider (the gates stay off for good), a failed fetch (they
712
- * fail closed), or evaluations that can be read for this workspace (see
713
- * `evaluationsUsable`, so a background refetch stays settled). Not settled:
714
- * the provider's first load, or the first render after a workspace switch.
715
- * A route that redirects away when its gate is off waits for this, so a deep
716
- * link to a gated page is not bounced during the first load.
717
- */
718
- function resolveFluidGridsFlagsSettled(context) {
719
- if (!context) return true;
720
- if (context.error) return true;
721
- return evaluationsUsable(context);
722
- }
723
- /** {@link resolveFluidGridsFlagsSettled} for the active workspace. */
724
- function useFluidGridsFlagsSettled() {
725
- const context = useOptionalFeatureFlags();
726
- return useMemo(() => resolveFluidGridsFlagsSettled(context), [context]);
727
- }
728
- /** Whether the self-hosted workers surfaces (task queues, worker tokens) show. */
729
- function useSelfHostedWorkersEnabled() {
730
- return usePhaseCFlags().selfHostedWorkers;
731
- }
732
- /**
733
- * Whether the workflow test suites (BOFF-9960) are shown: the Tests panel,
734
- * "Save as test case" on a run and the Assert node. Fails closed.
735
- */
736
- function useWorkflowTestsEnabled() {
737
- return useFluidGridsFlag(FLUIDGRIDS_FLAGS.workflowTests);
738
- }
739
- /**
740
- * Whether the continuous-optimisation Suggestions panel (BOFF-9969) is shown
741
- * on Insights. Fails closed: with the flag off the page sends none of the
742
- * optimisation operations.
743
- */
744
- function useContinuousOptimisationEnabled() {
745
- return useFluidGridsFlag(FLUIDGRIDS_FLAGS.continuousOptimisation);
746
- }
747
- /**
748
- * The gates the builder palettes apply (durable-function nodes, the two
749
- * run-control nodes of Phase C and the Assert node of the workflow test
750
- * suites).
751
- */
752
- function resolvePaletteGates(context) {
753
- const phaseC = resolvePhaseCFlags(context);
754
- return {
755
- durableFunctions: resolveFluidGridsFlag(context, FLUIDGRIDS_FLAGS.codeFirst) && resolveFluidGridsFlag(context, FLUIDGRIDS_FLAGS.durableFunctions),
756
- runControl: phaseC.runControl,
757
- searchAttributes: phaseC.searchAttributes,
758
- workflowTests: resolveFluidGridsFlag(context, FLUIDGRIDS_FLAGS.workflowTests)
759
- };
760
- }
761
- /** {@link resolvePaletteGates} for the active workspace. */
762
- function usePaletteGates() {
763
- const context = useOptionalFeatureFlags();
764
- return useMemo(() => resolvePaletteGates(context), [context]);
765
- }
766
-
767
426
  // src/modules/executions/utils/signal-targets.ts
768
427
  function isRecord$7(value) {
769
428
  return typeof value === "object" && value !== null && !Array.isArray(value);
@@ -10388,6 +10047,7 @@ async function refetchStoreNodes() {
10388
10047
  console.error("[Blocks] Failed to refetch nodes:", error);
10389
10048
  }
10390
10049
  }
10050
+ provideNodeRegistryRefresh(refetchStoreNodes);
10391
10051
  const NODES = [];
10392
10052
  const NODE_TYPES = {};
10393
10053
  const NODES_METADATA = {};
@@ -10757,4 +10417,4 @@ function useFluidGridsContext() {
10757
10417
  return context;
10758
10418
  }
10759
10419
 
10760
- export { isStringOptionList as $, resetGlobalStoreClient as $n, inAppLeaveTarget as $t, StoreNodeProductsByTypeDocument as A, resolveFluidGridsFlagsSettled as An, useSaveStatusStore as At, useRunGuard as B, useWorkflowTestsEnabled as Bn, shouldReleaseForIdle as Bt, GetMyNodeInstallationsDocument as C, parseRawSignalPayload as Cn, useSaveWorkflow as Ct, InstallWorkflowNodeDocument as D, FLUIDGRIDS_FLAGS as Dn, createThenOpen as Dt, InstallPurchasedNodeDocument as E, signalPayloadCard as En, classifyCreateRefusal as Et, getNodeMetadata as F, useFluidGridsFlag as Fn, leaseCallQueue as Ft, nodeSubtitle as G, replaceAdapterConnections as Gn, sessionBeforeReload as Gt, asRecord as H, isOptionalAdapter as Hn, EDIT_SESSION_ID as Ht, buildOperationSeed as I, useFluidGridsFlagsSettled as In, leaseCallSequence as It, paramsFromOperation as J, BuilderReadOnlyProvider as Jn, AUTOSAVE_DEBOUNCE_MS as Jt, nodeTitle as K, getNodeDetail as Kn, rememberOwnStatusChange as Kt, createConfiguredNode as L, usePaletteGates as Ln, phaseAfterAcquire as Lt, UninstallOrganizationPrivateNodeDocument as M, useContinuousOptimisationEnabled as Mn, useEditLeaseStore as Mt, UninstallWorkflowNodeDocument as N, useDurableFunctionNodesEnabled as Nn, bannerOf as Nt, MyWorkflowTemplateSubmissionsDocument as O, FLUIDGRIDS_FLAG_DEFAULTS as On, refusalOfQuota as Ot, WithdrawWorkflowTemplateSubmissionDocument as P, useDurableParityEnabled as Pn, isLocked as Pt, stripSubmitActions as Q, global_client_exports as Qn, findSaveConflict as Qt, useInsertNode as R, usePhaseCFlags as Rn, phaseAfterTakeOver as Rt, CreateStoreOrderDocument as S, durableInterfaceOf as Sn, useFlowValidator as St, InstallOrganizationPrivateNodeDocument as T, runSignalTargets as Tn, builderPathOf as Tt, coerceNumber as U, matchesAdapterProvider as Un, forgetSessionForReload as Ut, workflowParameterIssues as V, connectionsForAdapter as Vn, tickAction as Vt, fixedParameterState as W, newConnectionProviderKey as Wn, rememberSessionForReload as Wt, useNodeConfig as X, createGlobalStoreClient as Xn, canAutosave as Xt, selectedOperationOf as Y, useBuilderReadOnly as Yn, AUTOSAVE_RETRY_DELAYS_MS as Yt, resolveUiSpec as Z, getGlobalStoreClient as Zn, codeBuildIdOf as Zt, registryNodeData as _, clearCodeWorkflowDefinitionCache as _n, leavingLosesChanges as _t, NODES_METADATA as a, nodeStateDurationMs as an, casesFromRules as at, BrowseWorkflowNodesDocument as b, canSignalRun as bn, watchLeavingLosesChanges as bt, ensureInstalledNodeTypesLoaded as c, parseParameterValue as cn, latestNodeLog as ct, ensureRegistryNodeTypesLoaded as d, resolveNodeOperation as dn, useGuardedNavigate as dt, resettledBaseline as en, setGlobalStoreClient as er, optionListText as et, isNodeConfigsInitialized as f, isParamVisible as fn, useManualSave as ft, registerWorkflowNodeTypes as g, useNodeRegistryRevision as gn, editingLeaseLocked as gt, registerNodeManifests as h, useCanvasEdges as hn, editStateFor as ht, AVAILABLE_NODES as i, formatElapsedMs as in, SwitchRulesEditor as it, SubmitWorkflowTemplateDocument as j, resolvePhaseCFlags as jn, useEditLeaseLocked as jt, OrganizationPrivateNodesDocument as k, PHASE_C_FLAGS_OFF as kn, saveIndicatorOf as kt, ensureNodeConfigsLoaded as l, structuredParameterType as ln, boundFieldsOf as lt, refetchStoreNodes as m, openRunQuotaUpgradePrompt as mn, departingSave as mt, FluidGridsProvider as n, workflowFingerprint as nn, resolveLoadOptionsSpec as nt, NODE_CONFIGS as o, runDurationMs as on, FieldTree as ot, onNodeTypesUpdate as p, useFluidGridsAnalytics as pn, autosaveAllowedFor as pt, optionText as q, buildStickyNode as qn, rememberRevision as qt, useFluidGridsContext as r, useNodeExecution as rn, ConditionTreeBuilder as rt, NODE_TYPES as s, formatParameterValue as sn, parseMappingValue as st, FluidGridsContext as t, saveFailureActionOf as tn, optionListValues as tt, ensureNodeTypesLoaded as u, fieldsFromValue as un, missingRequiredParameters as ut, scheduleNodePaletteLoad as v, loadDefinitionJson as vn, savedEverythingBeforeLeaving as vt, GetNodeInstallableVersionsDocument as w, payloadFromCardValues as wn, blankWorkflowCreateInput as wt, BrowseWorkflowTemplatesDocument as x, declaredSignals as xn, isFlowComplete as xt, global_operations_exports as y, useCodeWorkflowInterface as yn, touchesSavedFields as yt, MissingParametersDialog as z, useSelfHostedWorkersEnabled as zn, releasesOnClose as zt };
10420
+ export { isStringOptionList as $, inAppLeaveTarget as $t, StoreNodeProductsByTypeDocument as A, newConnectionProviderKey as An, useSaveStatusStore as At, useRunGuard as B, shouldReleaseForIdle as Bt, GetMyNodeInstallationsDocument as C, parseRawSignalPayload as Cn, useSaveWorkflow as Ct, InstallWorkflowNodeDocument as D, connectionsForAdapter as Dn, createThenOpen as Dt, InstallPurchasedNodeDocument as E, signalPayloadCard as En, classifyCreateRefusal as Et, getNodeMetadata as F, useBuilderReadOnly as Fn, leaseCallQueue as Ft, nodeSubtitle as G, sessionBeforeReload as Gt, asRecord as H, EDIT_SESSION_ID as Ht, buildOperationSeed as I, leaseCallSequence as It, paramsFromOperation as J, AUTOSAVE_DEBOUNCE_MS as Jt, nodeTitle as K, rememberOwnStatusChange as Kt, createConfiguredNode as L, phaseAfterAcquire as Lt, UninstallOrganizationPrivateNodeDocument as M, getNodeDetail as Mn, useEditLeaseStore as Mt, UninstallWorkflowNodeDocument as N, buildStickyNode as Nn, bannerOf as Nt, MyWorkflowTemplateSubmissionsDocument as O, isOptionalAdapter as On, refusalOfQuota as Ot, WithdrawWorkflowTemplateSubmissionDocument as P, BuilderReadOnlyProvider as Pn, isLocked as Pt, stripSubmitActions as Q, findSaveConflict as Qt, useInsertNode as R, phaseAfterTakeOver as Rt, CreateStoreOrderDocument as S, durableInterfaceOf as Sn, useFlowValidator as St, InstallOrganizationPrivateNodeDocument as T, runSignalTargets as Tn, builderPathOf as Tt, coerceNumber as U, forgetSessionForReload as Ut, workflowParameterIssues as V, tickAction as Vt, fixedParameterState as W, rememberSessionForReload as Wt, useNodeConfig as X, canAutosave as Xt, selectedOperationOf as Y, AUTOSAVE_RETRY_DELAYS_MS as Yt, resolveUiSpec as Z, codeBuildIdOf as Zt, registryNodeData as _, clearCodeWorkflowDefinitionCache as _n, leavingLosesChanges as _t, NODES_METADATA as a, nodeStateDurationMs as an, casesFromRules as at, BrowseWorkflowNodesDocument as b, canSignalRun as bn, watchLeavingLosesChanges as bt, ensureInstalledNodeTypesLoaded as c, parseParameterValue as cn, latestNodeLog as ct, ensureRegistryNodeTypesLoaded as d, resolveNodeOperation as dn, useGuardedNavigate as dt, resettledBaseline as en, optionListText as et, isNodeConfigsInitialized as f, isParamVisible as fn, useManualSave as ft, registerWorkflowNodeTypes as g, useNodeRegistryRevision as gn, editingLeaseLocked as gt, registerNodeManifests as h, useCanvasEdges as hn, editStateFor as ht, AVAILABLE_NODES as i, formatElapsedMs as in, SwitchRulesEditor as it, SubmitWorkflowTemplateDocument as j, replaceAdapterConnections as jn, useEditLeaseLocked as jt, OrganizationPrivateNodesDocument as k, matchesAdapterProvider as kn, saveIndicatorOf as kt, ensureNodeConfigsLoaded as l, structuredParameterType as ln, boundFieldsOf as lt, refetchStoreNodes as m, openRunQuotaUpgradePrompt as mn, departingSave as mt, FluidGridsProvider as n, workflowFingerprint as nn, resolveLoadOptionsSpec as nt, NODE_CONFIGS as o, runDurationMs as on, FieldTree as ot, onNodeTypesUpdate as p, useFluidGridsAnalytics as pn, autosaveAllowedFor as pt, optionText as q, rememberRevision as qt, useFluidGridsContext as r, useNodeExecution as rn, ConditionTreeBuilder as rt, NODE_TYPES as s, formatParameterValue as sn, parseMappingValue as st, FluidGridsContext as t, saveFailureActionOf as tn, optionListValues as tt, ensureNodeTypesLoaded as u, fieldsFromValue as un, missingRequiredParameters as ut, scheduleNodePaletteLoad as v, loadDefinitionJson as vn, savedEverythingBeforeLeaving as vt, GetNodeInstallableVersionsDocument as w, payloadFromCardValues as wn, blankWorkflowCreateInput as wt, BrowseWorkflowTemplatesDocument as x, declaredSignals as xn, isFlowComplete as xt, global_operations_exports as y, useCodeWorkflowInterface as yn, touchesSavedFields as yt, MissingParametersDialog as z, releasesOnClose as zt };
@@ -0,0 +1,6 @@
1
+
2
+ declare namespace HistoryPage_d_exports {
3
+ export { HistoryPage };
4
+ }
5
+ declare function HistoryPage(): import("react").JSX.Element;
6
+ export { HistoryPage_d_exports as n, HistoryPage as t };
@@ -1,8 +1,9 @@
1
1
  "use client";
2
- import { d as useRestoreWorkflowVersion, h as useWorkflowDefinitions } from "./useWorkflows-w4Dx2fF2.js";
3
- import { i as versionsOfWorkflow, t as VersionDiffDialog } from "./VersionDiffDialog-Dq2xlPFI.js";
2
+ import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
3
+ import { d as useRestoreWorkflowVersion, h as useWorkflowDefinitions } from "./useWorkflows-BlVVu8NM.js";
4
+ import { i as versionsOfWorkflow, t as VersionDiffDialog } from "./VersionDiffDialog-DSN0mU0f.js";
4
5
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
5
- import { qi as getFluidGridsConfig } from "./node-endpoint-configs-DHFGA5MQ.js";
6
+ import { x as getFluidGridsConfig } from "./client-C9XSzSXr.js";
6
7
  import { n as useFluidGridsPageControls } from "./pageControlsBridge-0pX9s-3k.js";
7
8
  import { n as historyControls } from "./pageControlSpecs-DZJ9K37m.js";
8
9
  import { t as FluidGridsDocsLink } from "./FluidGridsDocsLink-JxkBpOeb.js";
@@ -24,6 +25,7 @@ import { buildActorFallback, useActorProfiles } from "@burdenoff/fe-libs/shared"
24
25
  * version) and resolves "Changed By" ids to human names via the shared
25
26
  * actor-profile lookup.
26
27
  */
28
+ var HistoryPage_exports = /* @__PURE__ */ __exportAll({ HistoryPage: () => HistoryPage });
27
29
  const PAGE_SIZE = 20;
28
30
  /** Upper bound on version rows fetched for the screen (newest first). */
29
31
  const FETCH_LIMIT = 500;
@@ -546,4 +548,4 @@ function HistoryPage() {
546
548
  });
547
549
  }
548
550
 
549
- export { HistoryPage as t };
551
+ export { HistoryPage_exports as n, HistoryPage as t };