@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.
- package/README.md +41 -0
- package/dist/AiStudioPage-BHVEU4Wp.js +774 -0
- package/dist/ApprovalInboxPage-dbBDSJ-f.js +558 -0
- package/dist/DataSinkDashboardPage-1h2QsMzH.js +270 -0
- package/dist/DataTablesPage-BZy2z0LB.js +1690 -0
- package/dist/EntityTagPicker-BqRNsLCQ.js +135 -0
- package/dist/{ExecutionDetailPage-D-0_POAf.js → ExecutionDetailPage-BdcZmLT4.js} +799 -4420
- package/dist/ExecutionDetailPage-DvQ667OE.d.ts +10 -0
- package/dist/ExecutionsListPage-BCUJoAIE.js +2742 -0
- package/dist/{FailureTriagePanel-BHiduL7A.js → FailureTriagePanel-B9hDQymi.js} +4 -97
- package/dist/{FluidGridsProvider-DmvFADFa.js → FluidGridsProvider-dvZSNtSW.js} +10 -350
- package/dist/HistoryPage-BLoRpJ1R.d.ts +6 -0
- package/dist/{HistoryPage-BbUgxx1I.js → HistoryPage-U0tqupBN.js} +6 -4
- package/dist/HumanRequestCard-D-ooVPDn.js +439 -0
- package/dist/{InsightsPage-s6f5bU-8.js → InsightsPage-CALo16eB.js} +17 -328
- package/dist/ManagedAiPolicyAuthority-BxwJ3ptd.js +40 -0
- package/dist/{ManagedAiPolicyAuthority-CGux_DaV.d.ts → ManagedAiPolicyAuthority-DM3t3wNr.d.ts} +1 -5
- package/dist/ManagedAiPolicyAuthorityContext-CNkxIOZ1.js +10 -0
- package/dist/{MissingNodesInstallModal-B-9gHy2K.js → MissingNodesInstallModal-CMybsI8h.js} +3 -2
- package/dist/{NodesPage-ClvhUfbh.js → NodesPage-Bf5PhfBK.js} +7 -3
- package/dist/NodesPage-DEbnz9iU.d.ts +6 -0
- package/dist/{PublishCustomNodeAction-D2F7oN0S.js → PublishCustomNodeAction-5XXnSA3H.js} +3 -45
- package/dist/QuotaExhaustedDialog-7IFSaLyi.js +54 -0
- package/dist/RunnerStatusPill-Ctg4TJcP.js +187 -0
- package/dist/RunnersPage-CLCOCclc.js +467 -0
- package/dist/{ManagedAiPolicyAuthority-DsSaz-vg.js → SettingsPage-CJLZvv4J.js} +743 -773
- package/dist/SettingsPage-DMHQFj5-.d.ts +9 -0
- package/dist/TagFilterSelect-DCBOH6Ou.js +41 -0
- package/dist/TaskQueuesPage-9VgSnLdL.js +951 -0
- package/dist/TemplateCard-DsC0KNH1.js +1416 -0
- package/dist/{TemplateConfigurationModal-D_Mvgxqa.js → TemplateConfigurationModal-BhGWIzpm.js} +3 -2
- package/dist/{TemplateDetailPanel-DfFfUcOe.js → TemplateDetailPanel-D4cUVr-m.js} +3 -3
- package/dist/TemplatePreview-FayF6jxh.js +231 -0
- package/dist/TemplatesPage-BG3H-6v6.d.ts +10 -0
- package/dist/{TemplatesPage-Cku13bav.js → TemplatesPage-CsDNT54N.js} +11 -228
- package/dist/VariablesPage-67WR_lVE.js +949 -0
- package/dist/{VersionDiffDialog-Dq2xlPFI.js → VersionDiffDialog-DSN0mU0f.js} +2 -1
- package/dist/WorkflowBuilder-CPnXEL5J.js +555 -0
- package/dist/{WorkflowSearchRedirect-CaoOOpEl.js → WorkflowBuilder-YXRysvZc.js} +19 -585
- package/dist/{WorkflowProposalCard-8Vr56kQa.js → WorkflowProposalCard-qrEeNyYG.js} +4 -405
- package/dist/WorkflowSearchRedirect-DwDNZ_q5.js +36 -0
- package/dist/WorkflowShareDialog-mbIwRQUY.js +168 -0
- package/dist/WorkflowsList-CcNDQge5.d.ts +6 -0
- package/dist/{WorkflowsList-B2j1Pehb.js → WorkflowsList-DiiGyZkT.js} +12 -6
- package/dist/agent-form-Bfvm32j1.js +83 -0
- package/dist/{agentTools-DJ5o2ekg.js → agentTools-8s_25Q_F.js} +3 -2
- package/dist/{ai-usage-D5p7ZeRR.js → ai-usage-glCwHyQz.js} +1 -1
- package/dist/api-BrCHB5oA.js +224 -0
- package/dist/api-C8e0iV-Q.js +55 -0
- package/dist/button-DG7y_FVJ.js +48 -0
- package/dist/{canvasNoteTools-D3zUdEeg.js → canvasNoteTools-B6pYARgU.js} +2 -2
- package/dist/client-C9XSzSXr.js +1147 -0
- package/dist/code-editor-field-9-GdVE_8.js +111 -0
- package/dist/{codec-client-DstqyzTN.js → codec-client-CJ95Rmqo.js} +1 -1
- package/dist/constants-B2lhWNoN.js +202 -0
- package/dist/constants-XdvUxeWK.d.ts +162 -0
- package/dist/dialog-Cjb4lB4D.js +105 -0
- package/dist/executions.d.ts +1 -1
- package/dist/executions.js +2 -1
- package/dist/feature-flags-DM5myWaD.js +296 -0
- package/dist/flags.d.ts +3 -0
- package/dist/flags.js +4 -0
- package/dist/{flow-builder-DEzT8TQu.js → flow-builder-CZDKRc6f.js} +662 -10716
- package/dist/{node-endpoint-configs-DHFGA5MQ.js → graphql-operation-types-kX-MMjgW.js} +1 -1194
- package/dist/{graphql-types-XcDLtFwU.js → graphql-types-CDKVWH2R.js} +2 -202
- package/dist/history.d.ts +1 -1
- package/dist/history.js +1 -1
- package/dist/{index-DRf25-D3.d.ts → index-6JR2vD9J.d.ts} +33 -215
- package/dist/index-72XFgvbn.d.ts +132 -0
- package/dist/index-BcdtKBM-.d.ts +56 -0
- package/dist/{index-B3BWqafN.d.ts → index-DjiFgEQl.d.ts} +5 -131
- package/dist/index.d.ts +13 -9
- package/dist/index.js +52 -5300
- package/dist/{node-detail-view-LNqeIqN-.js → node-detail-view-CV4ZRwqh.js} +13 -8
- package/dist/node-editor-tab-body-DU-dh35X.js +174 -0
- package/dist/node-endpoint-configs-B5bjNMDW.js +37 -0
- package/dist/node-registry-refresh-Dy0uRg9f.js +84 -0
- package/dist/nodes.d.ts +1 -1
- package/dist/nodes.js +1 -1
- package/dist/observability.d.ts +1 -1
- package/dist/observability.js +2 -1
- package/dist/popover-BJHvrFGR.js +472 -0
- package/dist/{quick-config-panel-D3ogsaFL.js → quick-config-panel-ws3pLvbt.js} +3 -2
- package/dist/rolldown-runtime-hDbaFkMy.js +18 -0
- package/dist/run-display-BycKYSU0.js +46 -0
- package/dist/run-list-links-ByYC0OlV.js +98 -0
- package/dist/schedule-panel-C0mfGQSD.js +7542 -0
- package/dist/settings.d.ts +2 -1
- package/dist/settings.js +2 -1
- package/dist/shared-CMfn30xT.js +196 -0
- package/dist/sidebar-node-editor-CR1PiZO-.js +177 -0
- package/dist/templates.d.ts +1 -1
- package/dist/templates.js +2 -1
- package/dist/theme-provider-B3mIuz2d.js +11 -0
- package/dist/{useAgentDefinitions-NFtLytDR.js → useAgentDefinitions-B0dam3_o.js} +3 -397
- package/dist/useConnections-Cs7LCWEM.js +401 -0
- package/dist/useDurableParity-CzUQMFJ3.js +415 -0
- package/dist/useEntityTags-DhnsZcTl.js +236 -0
- package/dist/{useExecutions-DAzeWHS6.js → useExecutions-9aLuOt1c.js} +4 -3
- package/dist/{useObservability-COCZ0hUS.js → useObservability-CfEw3ZFD.js} +2 -2
- package/dist/{useRunHistory-CsYUbouO.js → useRunHistory-B1xJDwl1.js} +4 -3
- package/dist/{WorkflowShareDialog-6RRDe-_v.js → useWorkflowCodeExport-Bu2QYJzA.js} +7 -210
- package/dist/{useWorkflows-w4Dx2fF2.js → useWorkflows-BlVVu8NM.js} +3 -2
- package/dist/utils-uaL5UVxb.js +65 -0
- package/dist/workflow-builder.d.ts +1 -1
- package/dist/workflow-builder.js +4 -2
- package/dist/workflow-host.d.ts +6 -0
- package/dist/workflow-host.js +9 -0
- package/dist/workflow-pages.d.ts +55 -0
- package/dist/workflow-pages.js +113 -0
- package/dist/workflows-list.d.ts +1 -1
- package/dist/workflows-list.js +1 -1
- package/package.json +13 -1
- package/dist/ExecutionDetailPage-MvsnOnE1.d.ts +0 -4
- package/dist/HistoryPage-BqUizaFv.d.ts +0 -3
- package/dist/NodesPage-C97-9K2Y.d.ts +0 -3
- package/dist/TemplatesPage-D0qnXzHh.d.ts +0 -4
- package/dist/WorkflowsList-0d5GSKdh.d.ts +0 -3
- 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 {
|
|
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,
|
|
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 {
|
|
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
|
|
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
|
|
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 $,
|
|
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 };
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
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 {
|
|
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 };
|