@burdenoff/fluidgrids-fe-sdk 2026.1101.4 → 2026.1102.2
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/dist/{ExecutionDetailPage-JQCJR5XD.js → ExecutionDetailPage-XHII23QR.js} +11 -11
- package/dist/{ExecutionsListPage-UDDASCDL.js → ExecutionsListPage-GTCSYSC6.js} +7 -7
- package/dist/{WorkflowBuilder-P52OTD2Y.js → WorkflowBuilder-ZIXEU7DQ.js} +12 -11
- package/dist/{WorkflowsList-QMN25IG4.js → WorkflowsList-NYSQEZWU.js} +7 -7
- package/dist/{agentTools-F2USMIDU.js → agentTools-PA62A53S.js} +4 -4
- package/dist/{chunk-V4TI5JMD.js → chunk-23LYGZ27.js} +1 -1
- package/dist/{chunk-QBYLI3HK.js → chunk-37BKVPO7.js} +12 -40
- package/dist/{chunk-D56WJCK6.js → chunk-3Y4266JL.js} +3 -3
- package/dist/{chunk-7MGYG6DR.js → chunk-4FDMLKLL.js} +2 -2
- package/dist/{chunk-6JJKKWVD.js → chunk-6VODFT2Q.js} +5 -5
- package/dist/{chunk-EZRX2PZT.js → chunk-7JLLH4YE.js} +4 -4
- package/dist/{chunk-LIVFWFT4.js → chunk-7SY2SL5Y.js} +6 -6
- package/dist/{chunk-IQZ3DD7U.js → chunk-A4XNCGWT.js} +2 -2
- package/dist/{chunk-FV77SZWB.js → chunk-A7QPQ6MO.js} +1 -1
- package/dist/{chunk-UN6NUIBV.js → chunk-B2DNUVKW.js} +4 -4
- package/dist/{chunk-ITLNDVAU.js → chunk-BDBSRN2O.js} +4 -4
- package/dist/{chunk-FLYFZJUC.js → chunk-CXNJKM4D.js} +1 -1
- package/dist/{chunk-XGMGCOTR.js → chunk-DLKGWGRN.js} +1 -1
- package/dist/{chunk-BUWFUPN2.js → chunk-EFOJEQDS.js} +2 -2
- package/dist/{chunk-6EE4PRD6.js → chunk-JCHE4V55.js} +1 -1
- package/dist/{chunk-DO554TUK.js → chunk-JTQFBZTV.js} +3 -1
- package/dist/{chunk-KEPQLNP6.js → chunk-MY752OLT.js} +67 -195
- package/dist/{chunk-6XVGLGJ4.js → chunk-OR7KZZ2D.js} +1 -1
- package/dist/{chunk-AVZ4SXUG.js → chunk-OUYEMZT6.js} +1 -1
- package/dist/{chunk-O4RZZXVP.js → chunk-OZCJHPMH.js} +3 -3
- package/dist/{chunk-7FYXSA76.js → chunk-P6IRD5SA.js} +10 -10
- package/dist/chunk-PBCBDSVA.js +1480 -0
- package/dist/{chunk-UWCGAXYV.js → chunk-PC3CICOW.js} +1 -1
- package/dist/{chunk-LFCF5KTH.js → chunk-QAXP5HON.js} +2 -2
- package/dist/{chunk-WKNYQ4M6.js → chunk-TJ2PFY7I.js} +2 -2
- package/dist/{chunk-QUIZ5IP4.js → chunk-UETHT3KG.js} +2 -2
- package/dist/{chunk-K5TN3BKD.js → chunk-VFLHURFM.js} +1 -1
- package/dist/{chunk-LGMSYVMT.js → chunk-W74MXVFX.js} +1 -1
- package/dist/{chunk-PC66C2AA.js → chunk-XNVYPEBO.js} +129 -21
- package/dist/{chunk-QRECENSK.js → chunk-YVOHCC7J.js} +4 -4
- package/dist/{chunk-WN4FBSFD.js → chunk-ZTJX5ONT.js} +4 -4
- package/dist/executions.js +12 -12
- package/dist/history.js +5 -4
- package/dist/index.d.ts +29 -1
- package/dist/index.js +43 -42
- package/dist/{node-detail-view-NTWGYZMB.js → node-detail-view-KET5DNEH.js} +427 -9
- package/dist/nodes.js +2 -2
- package/dist/observability.js +5 -5
- package/dist/{quick-config-panel-ZMCB6VXB.js → quick-config-panel-L6CTZQUG.js} +5 -5
- package/dist/settings.js +6 -6
- package/dist/templates.js +11 -10
- package/dist/workflow-builder.js +13 -12
- package/dist/workflows-list.js +7 -7
- package/package.json +1 -1
|
@@ -3,23 +3,24 @@ import { templatePreview } from './chunk-B6CCE2RW.js';
|
|
|
3
3
|
import { Input } from './chunk-IEVSFCFS.js';
|
|
4
4
|
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter as DialogFooter$1 } from './chunk-YXMFRQYV.js';
|
|
5
5
|
import { Badge as Badge$1, Button } from './chunk-BQXVT32O.js';
|
|
6
|
-
import { LogsPanel } from './chunk-
|
|
7
|
-
import { editStateFor, isFlowComplete, touchesSavedFields, watchLeavingLosesChanges, savedEverythingBeforeLeaving, leavingLosesChanges, useFlowValidator, departingSave, runPreparation, computeAttachPosition, firstInputHandleId, editingLeaseLocked, autosaveAllowedFor } from './chunk-
|
|
8
|
-
import { QuotaExhaustedDialog, useWorkflowCodeExport, orderedExportFiles, fileBaseName, downloadWorkflowCodeExport, isLosslessReport, sortFidelityItems, isLossyFidelityItem, lineOfNode } from './chunk-
|
|
9
|
-
import { emptyTestCaseDraft, EntityTagPicker, useWorkflowProposal, WorkflowProposalCard, useWorkflowTests, pinnedOutputsFromCanvas, enabledCaseIds, isTestRunOpen, MAX_TEST_CASES, draftFromTestCase, testRunSummaryText, testStatusLabel, TEST_STATUS_TONE_CLASS, testStatusTone, MAX_CASE_NAME, nextSortOrder, draftToInput } from './chunk-
|
|
10
|
-
import { buildNodeDisplayMap } from './chunk-
|
|
6
|
+
import { LogsPanel } from './chunk-W74MXVFX.js';
|
|
7
|
+
import { editStateFor, isFlowComplete, touchesSavedFields, watchLeavingLosesChanges, savedEverythingBeforeLeaving, leavingLosesChanges, useFlowValidator, departingSave, runPreparation, computeAttachPosition, firstInputHandleId, editingLeaseLocked, autosaveAllowedFor } from './chunk-OUYEMZT6.js';
|
|
8
|
+
import { QuotaExhaustedDialog, useWorkflowCodeExport, orderedExportFiles, fileBaseName, downloadWorkflowCodeExport, isLosslessReport, sortFidelityItems, isLossyFidelityItem, lineOfNode } from './chunk-4FDMLKLL.js';
|
|
9
|
+
import { emptyTestCaseDraft, EntityTagPicker, useWorkflowProposal, WorkflowProposalCard, useWorkflowTests, pinnedOutputsFromCanvas, enabledCaseIds, isTestRunOpen, MAX_TEST_CASES, draftFromTestCase, testRunSummaryText, testStatusLabel, TEST_STATUS_TONE_CLASS, testStatusTone, MAX_CASE_NAME, nextSortOrder, draftToInput } from './chunk-3Y4266JL.js';
|
|
10
|
+
import { buildNodeDisplayMap } from './chunk-PC3CICOW.js';
|
|
11
11
|
import { AiCreditBalanceSlot } from './chunk-Y53CVZVV.js';
|
|
12
|
-
import {
|
|
12
|
+
import { countLifecycle, VersionLifecycleBar, VersionDiffDialog } from './chunk-PBCBDSVA.js';
|
|
13
|
+
import { useRestoreWorkflowVersion, useWorkflowVersions, useActivateWorkflow, useDeleteWorkflow, useDeactivateWorkflow } from './chunk-EFOJEQDS.js';
|
|
13
14
|
import { useRequestedProposal } from './chunk-GLYINMOR.js';
|
|
14
15
|
import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
|
|
15
|
-
import { leaseCallQueue, RUNS_QUOTA_NAME, useFlowStore, BILLING_PLANS_PATH, emitUpgradeClicked, FluidGridsContext, throwIfResultError, emitWorkflowCreated, emitTemplateUsed, describeOperationError, ensureNodeConfigsLoaded, NODE_CONFIGS, useEditLeaseStore, useEditLeaseLocked, registerWorkflowNodeTypes, emitNodeInstalled, useNodeExecution, usePaletteGates, onNodeTypesUpdate, NODE_TYPES, getNodeMetadata, useIsValidConnection, refetchStoreNodes, AVAILABLE_NODES, EDIT_SESSION_ID, useInsertNode, NODE_TYPE_DRAG_DATA_FORMAT, NODE_OPERATION_DRAG_DATA_FORMAT, useSaveStatusStore, useDurableFunctionNodesEnabled, CODE_WORKFLOW_NODE_TYPE, bannerOf, useSaveWorkflow, STICKY_NOTE_TYPE, filterPaletteNodes, useFluidGridsAnalytics, sessionBeforeReload, forgetSessionForReload, releasesOnClose, isLocked, workflowFingerprint, buildStickyNode, NODES_METADATA, NodeTypeIcon, shouldReleaseForIdle, tickAction, rememberSessionForReload, buildOperationSeed, useDurableParityEnabled, useConnections, ConnectionFormDialog, useWorkflowTestsEnabled, useFluidGridsFlag, FLUIDGRIDS_FLAGS, saveIndicatorOf, inAppLeaveTarget, isNodeConfigsInitialized, phaseAfterAcquire, rememberOwnStatusChange, getNodeDetail, isImageIcon, NODES, synchronizeOperationUpdate, NodePropertyPanel, loadDefinitionJson, canAutosave, isNodeTypeHiddenFromPalette, isTriggerOperation, canRenderOperationPanel, resolveOperationName, ConnectionSelector, savesInPlace, AUTOSAVE_RETRY_DELAYS_MS, AUTOSAVE_DEBOUNCE_MS, rememberRevision, phaseAfterTakeOver } from './chunk-
|
|
16
|
+
import { leaseCallQueue, RUNS_QUOTA_NAME, useFlowStore, BILLING_PLANS_PATH, emitUpgradeClicked, FluidGridsContext, throwIfResultError, emitWorkflowCreated, emitTemplateUsed, describeOperationError, ensureNodeConfigsLoaded, NODE_CONFIGS, useEditLeaseStore, useEditLeaseLocked, registerWorkflowNodeTypes, emitNodeInstalled, useNodeExecution, usePaletteGates, onNodeTypesUpdate, NODE_TYPES, getNodeMetadata, useIsValidConnection, refetchStoreNodes, AVAILABLE_NODES, EDIT_SESSION_ID, useInsertNode, NODE_TYPE_DRAG_DATA_FORMAT, NODE_OPERATION_DRAG_DATA_FORMAT, useSaveStatusStore, useDurableFunctionNodesEnabled, CODE_WORKFLOW_NODE_TYPE, bannerOf, useSaveWorkflow, STICKY_NOTE_TYPE, filterPaletteNodes, useFluidGridsAnalytics, sessionBeforeReload, forgetSessionForReload, releasesOnClose, isLocked, workflowFingerprint, buildStickyNode, NODES_METADATA, NodeTypeIcon, shouldReleaseForIdle, tickAction, rememberSessionForReload, buildOperationSeed, useDurableParityEnabled, useConnections, ConnectionFormDialog, useWorkflowTestsEnabled, useFluidGridsFlag, FLUIDGRIDS_FLAGS, saveIndicatorOf, inAppLeaveTarget, isNodeConfigsInitialized, phaseAfterAcquire, rememberOwnStatusChange, getNodeDetail, isImageIcon, NODES, synchronizeOperationUpdate, NodePropertyPanel, loadDefinitionJson, canAutosave, isNodeTypeHiddenFromPalette, isTriggerOperation, canRenderOperationPanel, resolveOperationName, ConnectionSelector, savesInPlace, AUTOSAVE_RETRY_DELAYS_MS, AUTOSAVE_DEBOUNCE_MS, rememberRevision, phaseAfterTakeOver } from './chunk-23LYGZ27.js';
|
|
16
17
|
import { SdkPermissionButton, FLUIDGRIDS_PERMISSIONS, useFluidGridsPermission } from './chunk-ZUVFD5KV.js';
|
|
17
18
|
import { cn } from './chunk-JL7CASN5.js';
|
|
18
19
|
import { BuilderReadOnlyProvider, useBuilderReadOnly } from './chunk-OCJTTHTS.js';
|
|
19
20
|
import { getGlobalStoreClient } from './chunk-PXIFUMLA.js';
|
|
20
21
|
import { getFluidGridsConfig } from './chunk-6AMNEX2Y.js';
|
|
21
22
|
import { GetMyNodeInstallationsDocument, BrowseWorkflowTemplatesDocument, InstallWorkflowNodeDocument, SubmitWorkflowTemplateDocument, MyWorkflowTemplateSubmissionsDocument, WithdrawWorkflowTemplateSubmissionDocument, InstallPurchasedNodeDocument, BrowseWorkflowNodesDocument, UninstallWorkflowNodeDocument, CreateStoreOrderDocument, GetNodeInstallableVersionsDocument, OrganizationPrivateNodesDocument, InstallOrganizationPrivateNodeDocument, UninstallOrganizationPrivateNodeDocument } from './chunk-G77IGC3Y.js';
|
|
22
|
-
import { WorkspaceRunsQuotaDocument, WorkflowGenerationTemplatesDocument, ReleaseWorkflowEditLeaseDocument, NodeSchemaIntrospectionDocument, AcquireWorkflowEditLeaseDocument, WorkflowEnvironmentsDocument, WorkflowPromotionRequestsDocument, DeployWorkflowVersionToDevDocument, RequestWorkflowPromotionDocument, ApproveWorkflowPromotionDocument, RejectWorkflowPromotionDocument, CancelWorkflowPromotionDocument, UpdateWorkflowEnvironmentPolicyDocument, WorkflowGitRepositoryDocument, WorkflowGitPushesDocument, WorkflowGitCommitsDocument, LinkWorkflowGitRepositoryDocument, UnlinkWorkflowGitRepositoryDocument, PushWorkflowToGitDocument, WorkflowGitDiffDocument, RestoreWorkflowFromGitDocument, WorkflowAuthoringDocument, WorkflowEditLeaseDocument, WorkflowVersioningDocument, WorkflowVersionDrainageDocument, ActivateWorkflowVersionCheckedDocument, WorkflowDefinitionDocument, NodeUsageStatusDocument, RemoveNodeFromWorkflowsDocument, SetWorkflowRolloutDocument, DeleteWorkflowRolloutDocument, TakeOverWorkflowEditLeaseDocument } from './chunk-
|
|
23
|
+
import { WorkspaceRunsQuotaDocument, WorkflowGenerationTemplatesDocument, ReleaseWorkflowEditLeaseDocument, NodeSchemaIntrospectionDocument, AcquireWorkflowEditLeaseDocument, WorkflowEnvironmentsDocument, WorkflowPromotionRequestsDocument, DeployWorkflowVersionToDevDocument, RequestWorkflowPromotionDocument, ApproveWorkflowPromotionDocument, RejectWorkflowPromotionDocument, CancelWorkflowPromotionDocument, UpdateWorkflowEnvironmentPolicyDocument, WorkflowGitRepositoryDocument, WorkflowGitPushesDocument, WorkflowGitCommitsDocument, LinkWorkflowGitRepositoryDocument, UnlinkWorkflowGitRepositoryDocument, PushWorkflowToGitDocument, WorkflowGitDiffDocument, RestoreWorkflowFromGitDocument, WorkflowAuthoringDocument, WorkflowEditLeaseDocument, WorkflowVersioningDocument, WorkflowVersionDrainageDocument, ActivateWorkflowVersionCheckedDocument, WorkflowDefinitionDocument, NodeUsageStatusDocument, RemoveNodeFromWorkflowsDocument, SetWorkflowRolloutDocument, DeleteWorkflowRolloutDocument, TakeOverWorkflowEditLeaseDocument } from './chunk-JTQFBZTV.js';
|
|
23
24
|
import { useTr } from './chunk-UULVIT25.js';
|
|
24
25
|
import { waitForFluidGridsClient, getFluidGridsClient } from './chunk-NTWG3CJX.js';
|
|
25
26
|
import * as React3 from 'react';
|
|
@@ -15601,81 +15602,6 @@ async function refreshOpenRevision() {
|
|
|
15601
15602
|
} catch {
|
|
15602
15603
|
}
|
|
15603
15604
|
}
|
|
15604
|
-
|
|
15605
|
-
// src/utils/workflow-definition-diff.ts
|
|
15606
|
-
function isRecord2(value) {
|
|
15607
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
15608
|
-
}
|
|
15609
|
-
function equalJson(left, right) {
|
|
15610
|
-
if (Object.is(left, right)) return true;
|
|
15611
|
-
if (Array.isArray(left) && Array.isArray(right)) {
|
|
15612
|
-
return left.length === right.length && left.every((value, index) => equalJson(value, right[index]));
|
|
15613
|
-
}
|
|
15614
|
-
if (isRecord2(left) && isRecord2(right)) {
|
|
15615
|
-
const leftKeys = Object.keys(left).sort((a, b) => a.localeCompare(b));
|
|
15616
|
-
const rightKeys = Object.keys(right).sort((a, b) => a.localeCompare(b));
|
|
15617
|
-
return leftKeys.length === rightKeys.length && leftKeys.every(
|
|
15618
|
-
(key, index) => key === rightKeys[index] && equalJson(left[key], right[key])
|
|
15619
|
-
);
|
|
15620
|
-
}
|
|
15621
|
-
return false;
|
|
15622
|
-
}
|
|
15623
|
-
function diffWorkflowDefinitionJson(before, after, maxEntries = 2e3) {
|
|
15624
|
-
const entries = [];
|
|
15625
|
-
const visit = (left, right, path) => {
|
|
15626
|
-
if (entries.length >= maxEntries || equalJson(left, right)) return;
|
|
15627
|
-
if (isRecord2(left) && isRecord2(right)) {
|
|
15628
|
-
const keys = [
|
|
15629
|
-
.../* @__PURE__ */ new Set([...Object.keys(left), ...Object.keys(right)])
|
|
15630
|
-
].sort((a, b) => a.localeCompare(b));
|
|
15631
|
-
for (const key of keys) {
|
|
15632
|
-
const childPath = `${path}.${key}`;
|
|
15633
|
-
if (!(key in left))
|
|
15634
|
-
entries.push({
|
|
15635
|
-
path: childPath,
|
|
15636
|
-
kind: "ADDED",
|
|
15637
|
-
before: void 0,
|
|
15638
|
-
after: right[key]
|
|
15639
|
-
});
|
|
15640
|
-
else if (!(key in right))
|
|
15641
|
-
entries.push({
|
|
15642
|
-
path: childPath,
|
|
15643
|
-
kind: "REMOVED",
|
|
15644
|
-
before: left[key],
|
|
15645
|
-
after: void 0
|
|
15646
|
-
});
|
|
15647
|
-
else visit(left[key], right[key], childPath);
|
|
15648
|
-
if (entries.length >= maxEntries) return;
|
|
15649
|
-
}
|
|
15650
|
-
return;
|
|
15651
|
-
}
|
|
15652
|
-
if (Array.isArray(left) && Array.isArray(right)) {
|
|
15653
|
-
for (let index = 0; index < Math.max(left.length, right.length); index += 1) {
|
|
15654
|
-
const childPath = `${path}[${index}]`;
|
|
15655
|
-
if (index >= left.length)
|
|
15656
|
-
entries.push({
|
|
15657
|
-
path: childPath,
|
|
15658
|
-
kind: "ADDED",
|
|
15659
|
-
before: void 0,
|
|
15660
|
-
after: right[index]
|
|
15661
|
-
});
|
|
15662
|
-
else if (index >= right.length)
|
|
15663
|
-
entries.push({
|
|
15664
|
-
path: childPath,
|
|
15665
|
-
kind: "REMOVED",
|
|
15666
|
-
before: left[index],
|
|
15667
|
-
after: void 0
|
|
15668
|
-
});
|
|
15669
|
-
else visit(left[index], right[index], childPath);
|
|
15670
|
-
if (entries.length >= maxEntries) return;
|
|
15671
|
-
}
|
|
15672
|
-
return;
|
|
15673
|
-
}
|
|
15674
|
-
entries.push({ path, kind: "CHANGED", before: left, after: right });
|
|
15675
|
-
};
|
|
15676
|
-
visit(before, after, "$");
|
|
15677
|
-
return entries;
|
|
15678
|
-
}
|
|
15679
15605
|
function aiAuthoringKind(facts) {
|
|
15680
15606
|
if (facts?.aiAuthored) return "authored";
|
|
15681
15607
|
if (facts?.aiEdited) return "edited";
|
|
@@ -15814,13 +15740,13 @@ function prodRollout(rollouts) {
|
|
|
15814
15740
|
) ?? null;
|
|
15815
15741
|
}
|
|
15816
15742
|
function isDurableDefinition(definitionJson) {
|
|
15817
|
-
if (!
|
|
15743
|
+
if (!isRecord2(definitionJson)) return false;
|
|
15818
15744
|
const code = definitionJson.code;
|
|
15819
|
-
if (!
|
|
15820
|
-
const workflows =
|
|
15821
|
-
return
|
|
15745
|
+
if (!isRecord2(code) || typeof code.buildId !== "string") return false;
|
|
15746
|
+
const workflows = isRecord2(code.exports) ? code.exports.workflows : null;
|
|
15747
|
+
return isRecord2(workflows) && Object.keys(workflows).length > 0;
|
|
15822
15748
|
}
|
|
15823
|
-
function
|
|
15749
|
+
function isRecord2(value) {
|
|
15824
15750
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
15825
15751
|
}
|
|
15826
15752
|
var EMPTY_STATE = {
|
|
@@ -16295,14 +16221,6 @@ function absoluteTime(dateStr) {
|
|
|
16295
16221
|
return dateStr;
|
|
16296
16222
|
}
|
|
16297
16223
|
}
|
|
16298
|
-
function formatDiffValue(value) {
|
|
16299
|
-
if (value === void 0) return "\u2014";
|
|
16300
|
-
try {
|
|
16301
|
-
return JSON.stringify(value);
|
|
16302
|
-
} catch {
|
|
16303
|
-
return String(value);
|
|
16304
|
-
}
|
|
16305
|
-
}
|
|
16306
16224
|
function ActionButton({
|
|
16307
16225
|
label,
|
|
16308
16226
|
onClick,
|
|
@@ -16366,12 +16284,10 @@ function VersionHistoryPanel({
|
|
|
16366
16284
|
const { restoreVersion } = useRestoreWorkflowVersion();
|
|
16367
16285
|
const { activateWorkflow } = useActivateWorkflow();
|
|
16368
16286
|
const { deleteWorkflow } = useDeleteWorkflow();
|
|
16369
|
-
const { getWorkflow } = useLazyWorkflowDefinition();
|
|
16370
16287
|
const setWorkflow = useFlowStore((s) => s.actions.setWorkflow);
|
|
16371
16288
|
const [compareFrom, setCompareFrom] = useState("");
|
|
16372
16289
|
const [compareTo, setCompareTo] = useState("");
|
|
16373
|
-
const [
|
|
16374
|
-
const [compareLoading, setCompareLoading] = useState(false);
|
|
16290
|
+
const [diffOpen, setDiffOpen] = useState(false);
|
|
16375
16291
|
const [busy, setBusy] = useState(null);
|
|
16376
16292
|
const [deleteTarget, setDeleteTarget] = useState(null);
|
|
16377
16293
|
const parityEnabled = useDurableParityEnabled();
|
|
@@ -16390,7 +16306,7 @@ function VersionHistoryPanel({
|
|
|
16390
16306
|
if (versions.length < 2) {
|
|
16391
16307
|
setCompareFrom("");
|
|
16392
16308
|
setCompareTo("");
|
|
16393
|
-
|
|
16309
|
+
setDiffOpen(false);
|
|
16394
16310
|
return;
|
|
16395
16311
|
}
|
|
16396
16312
|
setCompareFrom((current) => current || versions[1]?.version || "");
|
|
@@ -16415,39 +16331,8 @@ function VersionHistoryPanel({
|
|
|
16415
16331
|
if (!createdById) return null;
|
|
16416
16332
|
return actorProfiles[createdById]?.displayName ?? buildActorFallback({ actorId: createdById, actorType: "user" }).displayName;
|
|
16417
16333
|
};
|
|
16418
|
-
const
|
|
16419
|
-
|
|
16420
|
-
setCompareLoading(true);
|
|
16421
|
-
try {
|
|
16422
|
-
const [fromWorkflow, toWorkflow] = await Promise.all([
|
|
16423
|
-
getWorkflow(workflowKey, void 0, compareFrom),
|
|
16424
|
-
getWorkflow(workflowKey, void 0, compareTo)
|
|
16425
|
-
]);
|
|
16426
|
-
if (!fromWorkflow || !toWorkflow)
|
|
16427
|
-
throw new Error("Unable to load both workflow versions");
|
|
16428
|
-
setComparison({
|
|
16429
|
-
fromVersion: compareFrom,
|
|
16430
|
-
toVersion: compareTo,
|
|
16431
|
-
entries: diffWorkflowDefinitionJson(
|
|
16432
|
-
fromWorkflow.definitionJson,
|
|
16433
|
-
toWorkflow.definitionJson
|
|
16434
|
-
)
|
|
16435
|
-
});
|
|
16436
|
-
} catch (error) {
|
|
16437
|
-
toast.error(
|
|
16438
|
-
tr(
|
|
16439
|
-
"fluidgrids.builder.versionHistory.compareError",
|
|
16440
|
-
"Failed to compare versions"
|
|
16441
|
-
),
|
|
16442
|
-
{
|
|
16443
|
-
description: error instanceof Error ? error.message : "Unknown error"
|
|
16444
|
-
}
|
|
16445
|
-
);
|
|
16446
|
-
setComparison(null);
|
|
16447
|
-
} finally {
|
|
16448
|
-
setCompareLoading(false);
|
|
16449
|
-
}
|
|
16450
|
-
};
|
|
16334
|
+
const lifecycleCounts = useMemo(() => countLifecycle(versions), [versions]);
|
|
16335
|
+
const openVersion = versions.find((v) => v.version === currentVersion);
|
|
16451
16336
|
const handleRestore = async (version) => {
|
|
16452
16337
|
setBusy(`restore:${version}`);
|
|
16453
16338
|
try {
|
|
@@ -16664,6 +16549,20 @@ function VersionHistoryPanel({
|
|
|
16664
16549
|
}
|
|
16665
16550
|
}
|
|
16666
16551
|
),
|
|
16552
|
+
!loading && openVersion && /* @__PURE__ */ jsxs("div", { className: "mb-4", children: [
|
|
16553
|
+
/* @__PURE__ */ jsx("p", { className: "mb-1.5 text-xs text-muted-foreground", children: tr(
|
|
16554
|
+
"fluidgrids.builder.versionHistory.lifecycleCaption",
|
|
16555
|
+
"Lifecycle of version {{version}} (number of versions per stage)",
|
|
16556
|
+
{ version: openVersion.version }
|
|
16557
|
+
) }),
|
|
16558
|
+
/* @__PURE__ */ jsx(
|
|
16559
|
+
VersionLifecycleBar,
|
|
16560
|
+
{
|
|
16561
|
+
status: openVersion.status,
|
|
16562
|
+
counts: lifecycleCounts
|
|
16563
|
+
}
|
|
16564
|
+
)
|
|
16565
|
+
] }),
|
|
16667
16566
|
!loading && versions.length > 1 && /* @__PURE__ */ jsxs(
|
|
16668
16567
|
"section",
|
|
16669
16568
|
{
|
|
@@ -16726,68 +16625,18 @@ function VersionHistoryPanel({
|
|
|
16726
16625
|
className: "mt-2 w-full",
|
|
16727
16626
|
size: "sm",
|
|
16728
16627
|
variant: "secondary",
|
|
16729
|
-
disabled:
|
|
16730
|
-
onClick: () =>
|
|
16628
|
+
disabled: !compareFrom || !compareTo || compareFrom === compareTo,
|
|
16629
|
+
onClick: () => setDiffOpen(true),
|
|
16630
|
+
"data-testid": "fluidgrids-version-compare-button",
|
|
16731
16631
|
children: [
|
|
16732
|
-
|
|
16733
|
-
|
|
16734
|
-
"fluidgrids.builder.versionHistory.comparing",
|
|
16735
|
-
"Comparing\u2026"
|
|
16736
|
-
) : tr(
|
|
16632
|
+
/* @__PURE__ */ jsx(GitCompareArrows, { className: "mr-2 size-3.5" }),
|
|
16633
|
+
tr(
|
|
16737
16634
|
"fluidgrids.builder.versionHistory.compareButton",
|
|
16738
16635
|
"Compare"
|
|
16739
16636
|
)
|
|
16740
16637
|
]
|
|
16741
16638
|
}
|
|
16742
|
-
)
|
|
16743
|
-
comparison && /* @__PURE__ */ jsxs("div", { className: "mt-3 space-y-2 border-t border-border pt-3", children: [
|
|
16744
|
-
/* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground", children: [
|
|
16745
|
-
comparison.fromVersion,
|
|
16746
|
-
" \u2192 ",
|
|
16747
|
-
comparison.toVersion,
|
|
16748
|
-
":",
|
|
16749
|
-
" ",
|
|
16750
|
-
comparison.entries.length,
|
|
16751
|
-
" ",
|
|
16752
|
-
tr(
|
|
16753
|
-
"fluidgrids.builder.versionHistory.changes",
|
|
16754
|
-
"changes"
|
|
16755
|
-
)
|
|
16756
|
-
] }),
|
|
16757
|
-
comparison.entries.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: tr(
|
|
16758
|
-
"fluidgrids.builder.versionHistory.noChanges",
|
|
16759
|
-
"Definitions are identical"
|
|
16760
|
-
) }) : /* @__PURE__ */ jsx("ul", { className: "max-h-64 space-y-1 overflow-y-auto", children: comparison.entries.map((entry) => /* @__PURE__ */ jsxs(
|
|
16761
|
-
"li",
|
|
16762
|
-
{
|
|
16763
|
-
className: "rounded border border-border p-2 text-xs",
|
|
16764
|
-
children: [
|
|
16765
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
16766
|
-
/* @__PURE__ */ jsx(
|
|
16767
|
-
Badge,
|
|
16768
|
-
{
|
|
16769
|
-
variant: entry.kind === "CHANGED" ? "secondary" : entry.kind === "ADDED" ? "default" : "destructive",
|
|
16770
|
-
className: "text-[10px]",
|
|
16771
|
-
children: entry.kind
|
|
16772
|
-
}
|
|
16773
|
-
),
|
|
16774
|
-
/* @__PURE__ */ jsx("code", { className: "min-w-0 truncate font-mono", children: entry.path })
|
|
16775
|
-
] }),
|
|
16776
|
-
entry.kind === "CHANGED" && /* @__PURE__ */ jsxs("div", { className: "mt-1 grid gap-1 text-[11px] text-muted-foreground", children: [
|
|
16777
|
-
/* @__PURE__ */ jsxs("span", { className: "truncate", children: [
|
|
16778
|
-
"\u2212 ",
|
|
16779
|
-
formatDiffValue(entry.before)
|
|
16780
|
-
] }),
|
|
16781
|
-
/* @__PURE__ */ jsxs("span", { className: "truncate", children: [
|
|
16782
|
-
"+ ",
|
|
16783
|
-
formatDiffValue(entry.after)
|
|
16784
|
-
] })
|
|
16785
|
-
] })
|
|
16786
|
-
]
|
|
16787
|
-
},
|
|
16788
|
-
`${entry.kind}-${entry.path}`
|
|
16789
|
-
)) })
|
|
16790
|
-
] })
|
|
16639
|
+
)
|
|
16791
16640
|
]
|
|
16792
16641
|
}
|
|
16793
16642
|
),
|
|
@@ -16981,6 +16830,29 @@ function VersionHistoryPanel({
|
|
|
16981
16830
|
}) })
|
|
16982
16831
|
] }) })
|
|
16983
16832
|
] }),
|
|
16833
|
+
diffOpen && compareFrom && compareTo && /* @__PURE__ */ jsx(
|
|
16834
|
+
VersionDiffDialog,
|
|
16835
|
+
{
|
|
16836
|
+
open: diffOpen,
|
|
16837
|
+
onOpenChange: setDiffOpen,
|
|
16838
|
+
workflowKey,
|
|
16839
|
+
workflowName: openVersion?.name ?? versions[0]?.name,
|
|
16840
|
+
versions,
|
|
16841
|
+
initialFrom: compareFrom,
|
|
16842
|
+
initialTo: compareTo,
|
|
16843
|
+
currentVersion,
|
|
16844
|
+
authorName,
|
|
16845
|
+
onRestore: async (version) => {
|
|
16846
|
+
await handleRestore(version);
|
|
16847
|
+
setDiffOpen(false);
|
|
16848
|
+
},
|
|
16849
|
+
onOpenVersion: (version) => {
|
|
16850
|
+
setDiffOpen(false);
|
|
16851
|
+
handleSwitchVersion(version);
|
|
16852
|
+
},
|
|
16853
|
+
className: "z-[120]"
|
|
16854
|
+
}
|
|
16855
|
+
),
|
|
16984
16856
|
parityEnabled && /* @__PURE__ */ jsx(
|
|
16985
16857
|
ForceActivateDialog,
|
|
16986
16858
|
{
|
|
@@ -18200,7 +18072,7 @@ var EMPTY_FORM = {
|
|
|
18200
18072
|
pushOnActivation: true,
|
|
18201
18073
|
pushOnPromotion: true
|
|
18202
18074
|
};
|
|
18203
|
-
function
|
|
18075
|
+
function formatDiffValue(value) {
|
|
18204
18076
|
if (value === void 0 || value === null) return "\u2014";
|
|
18205
18077
|
try {
|
|
18206
18078
|
return JSON.stringify(value);
|
|
@@ -18942,11 +18814,11 @@ function GitSyncPanel({
|
|
|
18942
18814
|
entry.kind === "CHANGED" && /* @__PURE__ */ jsxs("div", { className: "mt-1 grid gap-1 text-[11px] text-muted-foreground", children: [
|
|
18943
18815
|
/* @__PURE__ */ jsxs("span", { className: "truncate", children: [
|
|
18944
18816
|
"\u2212 ",
|
|
18945
|
-
|
|
18817
|
+
formatDiffValue(entry.before)
|
|
18946
18818
|
] }),
|
|
18947
18819
|
/* @__PURE__ */ jsxs("span", { className: "truncate", children: [
|
|
18948
18820
|
"+ ",
|
|
18949
|
-
|
|
18821
|
+
formatDiffValue(entry.after)
|
|
18950
18822
|
] })
|
|
18951
18823
|
] })
|
|
18952
18824
|
]
|
|
@@ -21466,12 +21338,12 @@ function EditLeaseBanner() {
|
|
|
21466
21338
|
);
|
|
21467
21339
|
}
|
|
21468
21340
|
var LazyNodeDetailView = lazy(
|
|
21469
|
-
() => import('./node-detail-view-
|
|
21341
|
+
() => import('./node-detail-view-KET5DNEH.js').then((m) => ({
|
|
21470
21342
|
default: m.NodeDetailView
|
|
21471
21343
|
}))
|
|
21472
21344
|
);
|
|
21473
21345
|
var LazyQuickConfigPanel = lazy(
|
|
21474
|
-
() => import('./quick-config-panel-
|
|
21346
|
+
() => import('./quick-config-panel-L6CTZQUG.js').then((m) => ({
|
|
21475
21347
|
default: m.QuickConfigPanel
|
|
21476
21348
|
}))
|
|
21477
21349
|
);
|
|
@@ -21533,7 +21405,7 @@ var FlowBuilder = ({ readOnly = false }) => {
|
|
|
21533
21405
|
);
|
|
21534
21406
|
useEffect(() => {
|
|
21535
21407
|
let cancelled = false;
|
|
21536
|
-
void import('./agentTools-
|
|
21408
|
+
void import('./agentTools-PA62A53S.js').then(({ createBuilderAgentTools }) => {
|
|
21537
21409
|
if (cancelled) return;
|
|
21538
21410
|
setAgentTools(
|
|
21539
21411
|
createBuilderAgentTools({
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { throwIfResultError } from './chunk-
|
|
1
|
+
import { throwIfResultError } from './chunk-23LYGZ27.js';
|
|
2
2
|
import { useTr } from './chunk-UULVIT25.js';
|
|
3
3
|
import { getFluidGridsClient } from './chunk-NTWG3CJX.js';
|
|
4
4
|
import { useState, useRef, useCallback, useEffect } from 'react';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { STICKY_NOTE_TYPE, isNodeTrigger, isLocked, useEditLeaseStore, useSaveStatusStore, canAutosave, editStateOf, workflowFingerprint, snapshotForSave, leaveNeedsConfirmation, runPreparationOf, useFlowStore, resolveInputHandles } from './chunk-
|
|
1
|
+
import { STICKY_NOTE_TYPE, isNodeTrigger, isLocked, useEditLeaseStore, useSaveStatusStore, canAutosave, editStateOf, workflowFingerprint, snapshotForSave, leaveNeedsConfirmation, runPreparationOf, useFlowStore, resolveInputHandles } from './chunk-23LYGZ27.js';
|
|
2
2
|
import { getConnectedEdges, useReactFlow } from '@xyflow/react';
|
|
3
3
|
import { useState, useCallback } from 'react';
|
|
4
4
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Card, FluidGridsMark } from './chunk-
|
|
1
|
+
import { Card, FluidGridsMark } from './chunk-MY752OLT.js';
|
|
2
2
|
import { Input } from './chunk-IEVSFCFS.js';
|
|
3
3
|
import { Button } from './chunk-BQXVT32O.js';
|
|
4
|
-
import { useWorkflowDefinition } from './chunk-
|
|
5
|
-
import { FluidGridsProvider, useFlowStore } from './chunk-
|
|
4
|
+
import { useWorkflowDefinition } from './chunk-EFOJEQDS.js';
|
|
5
|
+
import { FluidGridsProvider, useFlowStore } from './chunk-23LYGZ27.js';
|
|
6
6
|
import { cn } from './chunk-JL7CASN5.js';
|
|
7
7
|
import { useTr } from './chunk-UULVIT25.js';
|
|
8
8
|
import { useState, useRef, useEffect, useCallback } from 'react';
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { useDurableRunFields, useRunHistory, useDeterminismStatus, useRunStackTrace, RunHistoryView, SignalRunDialog, terminateDurableRun } from './chunk-
|
|
2
|
-
import { useDurableParityRunFields, useRunMetadata, useRunPending, ExecutionStatusBadge, NodeTimeline, RunLogViewer, setRunVersioningOverride } from './chunk-
|
|
3
|
-
import { useExecution, useExecutionActions, useAutoRefresh, runChainLinks, shortRunId, callbackTone, parseMetadataDefinition, overrideRequestOf } from './chunk-
|
|
4
|
-
import { fetchRunFailureClusters, OPEN_STATUSES, dismissRunFailureCluster, BUCKET_LABELS } from './chunk-
|
|
5
|
-
import { useRunPolicyDecisions, RunPolicyDecisions } from './chunk-
|
|
6
|
-
import { EntityTagPicker, canSaveRunAsTestCase, useWorkflowProposal, WorkflowProposalCard, MAX_CASE_NAME, saveRunAsTestCase } from './chunk-
|
|
7
|
-
import { buildNodeDisplayMap, formatRunVersion } from './chunk-
|
|
1
|
+
import { useDurableRunFields, useRunHistory, useDeterminismStatus, useRunStackTrace, RunHistoryView, SignalRunDialog, terminateDurableRun } from './chunk-UETHT3KG.js';
|
|
2
|
+
import { useDurableParityRunFields, useRunMetadata, useRunPending, ExecutionStatusBadge, NodeTimeline, RunLogViewer, setRunVersioningOverride } from './chunk-ZTJX5ONT.js';
|
|
3
|
+
import { useExecution, useExecutionActions, useAutoRefresh, runChainLinks, shortRunId, callbackTone, parseMetadataDefinition, overrideRequestOf } from './chunk-QAXP5HON.js';
|
|
4
|
+
import { fetchRunFailureClusters, OPEN_STATUSES, dismissRunFailureCluster, BUCKET_LABELS } from './chunk-A4XNCGWT.js';
|
|
5
|
+
import { useRunPolicyDecisions, RunPolicyDecisions } from './chunk-DLKGWGRN.js';
|
|
6
|
+
import { EntityTagPicker, canSaveRunAsTestCase, useWorkflowProposal, WorkflowProposalCard, MAX_CASE_NAME, saveRunAsTestCase } from './chunk-3Y4266JL.js';
|
|
7
|
+
import { buildNodeDisplayMap, formatRunVersion } from './chunk-PC3CICOW.js';
|
|
8
8
|
import { AiCreditBalanceSlot } from './chunk-Y53CVZVV.js';
|
|
9
|
-
import { useWorkflowVersions } from './chunk-
|
|
10
|
-
import { throwIfResultError, useDurableFunctionNodesEnabled, useDurableParityEnabled, runSignalTargets, canSignalRun, useWorkflowTestsEnabled, describeOperationError } from './chunk-
|
|
9
|
+
import { useWorkflowVersions } from './chunk-EFOJEQDS.js';
|
|
10
|
+
import { throwIfResultError, useDurableFunctionNodesEnabled, useDurableParityEnabled, runSignalTargets, canSignalRun, useWorkflowTestsEnabled, describeOperationError } from './chunk-23LYGZ27.js';
|
|
11
11
|
import { useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, SdkPermissionButton } from './chunk-ZUVFD5KV.js';
|
|
12
12
|
import { getFluidGridsConfig } from './chunk-6AMNEX2Y.js';
|
|
13
|
-
import { RunLogsDocument, RunLogAppendedDocument, ExplainRunDocument } from './chunk-
|
|
13
|
+
import { RunLogsDocument, RunLogAppendedDocument, ExplainRunDocument } from './chunk-JTQFBZTV.js';
|
|
14
14
|
import { useTr } from './chunk-UULVIT25.js';
|
|
15
15
|
import { getFluidGridsClient, getFluidGridsClientSafe } from './chunk-NTWG3CJX.js';
|
|
16
16
|
import { useState, useRef, useCallback, useEffect, useMemo } from 'react';
|