@burdenoff/fluidgrids-fe-sdk 2026.1028.6 → 2026.1028.7
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-DHIQNBAZ.js → ExecutionDetailPage-A4JQGL34.js} +8 -8
- package/dist/{ExecutionsListPage-IMN7OTNZ.js → ExecutionsListPage-BT3ADBXP.js} +6 -6
- package/dist/{WorkflowBuilder-VJAAKETX.js → WorkflowBuilder-SQQI4VSF.js} +9 -8
- package/dist/{WorkflowsList-3EWDWWIH.js → WorkflowsList-FZ4W64YZ.js} +7 -7
- package/dist/{chunk-A2JSAGNQ.js → chunk-27XYEFCK.js} +1 -1
- package/dist/{chunk-NAFJQGLV.js → chunk-2YDUYSB3.js} +5 -5
- package/dist/chunk-3ENHRYM5.js +749 -0
- package/dist/{chunk-F6NH55LU.js → chunk-5YP3U7BU.js} +3 -3
- package/dist/{chunk-C4AY6JI2.js → chunk-6NUHJPGJ.js} +1 -1
- package/dist/{chunk-Q22GC7RJ.js → chunk-BBORXXGZ.js} +1 -1
- package/dist/{chunk-FDEZGRRL.js → chunk-DUXOFCPO.js} +1 -1
- package/dist/{chunk-HHN2TIK2.js → chunk-HDUCP6EO.js} +1 -1
- package/dist/{chunk-RLA4YUDY.js → chunk-IRKB2GGJ.js} +3 -3
- package/dist/{chunk-IQE7ZY6Q.js → chunk-JNJDVC7V.js} +1 -1
- package/dist/{chunk-WBH2XEWO.js → chunk-JUUYPCFY.js} +4 -1
- package/dist/{chunk-3KNW5QLR.js → chunk-MUOJVRW7.js} +1 -1
- package/dist/{chunk-VQHBQAJY.js → chunk-NW6H7EN3.js} +1 -1
- package/dist/{chunk-XZPXIOGE.js → chunk-PBX42F4Q.js} +1400 -6
- package/dist/{chunk-RZQPHWFV.js → chunk-PYCKEQ4W.js} +1 -1
- package/dist/{chunk-VP2RXXRF.js → chunk-QMBXEECD.js} +6 -6
- package/dist/{chunk-FO22JCOW.js → chunk-RJ3YK6O7.js} +5 -5
- package/dist/{chunk-3VJ3AIFS.js → chunk-RKMTSOYH.js} +1 -1
- package/dist/{chunk-I2ZNBBRK.js → chunk-T7TRJBCG.js} +1 -1
- package/dist/{chunk-ACUNTZTQ.js → chunk-U7WLROQT.js} +3 -3
- package/dist/{chunk-STPQQDIJ.js → chunk-XYZKIFXY.js} +424 -117
- package/dist/{chunk-UWNYWWWG.js → chunk-ZB4BNTWR.js} +4 -4
- package/dist/executions.js +10 -10
- package/dist/global-operations-D2USVOPM.js +2 -0
- package/dist/history.js +4 -4
- package/dist/index.d.ts +2 -2
- package/dist/index.js +31 -30
- package/dist/observability.js +5 -5
- package/dist/settings.js +6 -5
- package/dist/templates.js +8 -7
- package/dist/{workflow-builder-C7qKY7LD.d.ts → workflow-builder-BxyapBo5.d.ts} +18 -0
- package/dist/workflow-builder.d.ts +1 -1
- package/dist/workflow-builder.js +10 -9
- package/dist/workflows-list.js +7 -7
- package/package.json +1 -1
- package/dist/global-operations-ZWQZ7DNT.js +0 -2
|
@@ -2,15 +2,16 @@ import { deepClone, applyTemplateInputs } from './chunk-GEMNVFPK.js';
|
|
|
2
2
|
import { Input } from './chunk-IEVSFCFS.js';
|
|
3
3
|
import { Dialog as Dialog$1, DialogContent as DialogContent$1, DialogHeader as DialogHeader$1, DialogTitle as DialogTitle$1, DialogDescription as DialogDescription$1, DialogFooter } from './chunk-YXMFRQYV.js';
|
|
4
4
|
import { Badge as Badge$1, Button } from './chunk-BQXVT32O.js';
|
|
5
|
-
import { QuotaExhaustedDialog } from './chunk-
|
|
6
|
-
import { EntityTagPicker, useWorkflowProposal, WorkflowProposalCard } from './chunk-
|
|
7
|
-
import { useRestoreWorkflowVersion, useWorkflowVersions, useActivateWorkflow, useDeleteWorkflow, useLazyWorkflowDefinition, useDeactivateWorkflow } from './chunk-
|
|
5
|
+
import { QuotaExhaustedDialog } from './chunk-HDUCP6EO.js';
|
|
6
|
+
import { EntityTagPicker, useWorkflowProposal, WorkflowProposalCard } from './chunk-NW6H7EN3.js';
|
|
7
|
+
import { useRestoreWorkflowVersion, useWorkflowVersions, useActivateWorkflow, useDeleteWorkflow, useLazyWorkflowDefinition, useDeactivateWorkflow } from './chunk-PYCKEQ4W.js';
|
|
8
|
+
import { isAgentNodeType, AgentDefinitionSelectField } from './chunk-3ENHRYM5.js';
|
|
8
9
|
import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
|
|
9
|
-
import { NODE_CONFIGS, createConfiguredNode, resolveOutputHandles, resolveInputHandles, isNodeConfigsInitialized, useFlowStore, getNodeDetail, useSaveStatusStore, liveInternalOperations, resolveNodeOperation, readDisplayOptions, parseParameterValue, canAutosave, STICKY_NOTE_TYPE, isNodeTrigger, resolveUiSpec, RUNS_QUOTA_NAME, throwIfResultError, BILLING_PLANS_PATH, emitUpgradeClicked, FluidGridsContext, emitWorkflowCreated, emitTemplateUsed, ensureNodeConfigsLoaded, registerWorkflowNodeTypes, emitNodeInstalled, useNodeExecution, onNodeTypesUpdate, NODE_TYPES, getNodeMetadata, useIsValidConnection, refetchStoreNodes, AVAILABLE_NODES, useInsertNode, NODE_TYPE_DRAG_DATA_FORMAT, NODE_OPERATION_DRAG_DATA_FORMAT, fieldsFromValue, useFluidGridsAnalytics, useSaveWorkflow, workflowFingerprint, buildStickyNode, useNodeRegistryRevision, fieldsFromIO, isParamVisible, ConnectionSelector, structuredParameterType, nodeAccent, NodeTypeIcon, NODES_METADATA, useConnections, ConnectionFormDialog, SdkPermissionButton, FLUIDGRIDS_PERMISSIONS, saveIndicatorOf, inAppLeaveTarget, declaredOutputFields, subscribeWorkflowSaved, pathToExpression, ExpressionEditor, formatParameterValue, leaveNeedsConfirmation, buildOperationSeed, snapshotForSave, editStateOf, isImageIcon, NODES, synchronizeOperationUpdate, NodePropertyPanel, openRunQuotaUpgradePrompt, describeOperationError, isTriggerOperation, canRenderOperationPanel, resolveOperationName, AUTOSAVE_RETRY_DELAYS_MS, AUTOSAVE_DEBOUNCE_MS } from './chunk-
|
|
10
|
+
import { NODE_CONFIGS, createConfiguredNode, resolveOutputHandles, resolveInputHandles, isNodeConfigsInitialized, useFlowStore, getNodeDetail, useSaveStatusStore, liveInternalOperations, resolveNodeOperation, readDisplayOptions, parseParameterValue, canAutosave, STICKY_NOTE_TYPE, isNodeTrigger, resolveUiSpec, RUNS_QUOTA_NAME, throwIfResultError, BILLING_PLANS_PATH, emitUpgradeClicked, FluidGridsContext, emitWorkflowCreated, emitTemplateUsed, ensureNodeConfigsLoaded, registerWorkflowNodeTypes, emitNodeInstalled, useNodeExecution, onNodeTypesUpdate, NODE_TYPES, getNodeMetadata, useIsValidConnection, refetchStoreNodes, AVAILABLE_NODES, useInsertNode, NODE_TYPE_DRAG_DATA_FORMAT, NODE_OPERATION_DRAG_DATA_FORMAT, fieldsFromValue, useFluidGridsAnalytics, useSaveWorkflow, workflowFingerprint, buildStickyNode, useNodeRegistryRevision, fieldsFromIO, isParamVisible, ConnectionSelector, structuredParameterType, nodeAccent, NodeTypeIcon, NODES_METADATA, useConnections, ConnectionFormDialog, SdkPermissionButton, FLUIDGRIDS_PERMISSIONS, saveIndicatorOf, inAppLeaveTarget, declaredOutputFields, subscribeWorkflowSaved, pathToExpression, ExpressionEditor, formatParameterValue, leaveNeedsConfirmation, buildOperationSeed, snapshotForSave, editStateOf, isImageIcon, NODES, synchronizeOperationUpdate, NodePropertyPanel, openRunQuotaUpgradePrompt, describeOperationError, isTriggerOperation, canRenderOperationPanel, resolveOperationName, AUTOSAVE_RETRY_DELAYS_MS, AUTOSAVE_DEBOUNCE_MS } from './chunk-6NUHJPGJ.js';
|
|
10
11
|
import { cn } from './chunk-JL7CASN5.js';
|
|
11
12
|
import { getGlobalStoreClient } from './chunk-PXIFUMLA.js';
|
|
12
13
|
import { getFluidGridsConfig } from './chunk-CY6KX4RG.js';
|
|
13
|
-
import { GetMyNodeInstallationsDocument, BrowseWorkflowTemplatesDocument, InstallWorkflowNodeDocument, InstallPurchasedNodeDocument, BrowseWorkflowNodesDocument, UninstallWorkflowNodeDocument, CreateStoreOrderDocument, GetNodeInstallableVersionsDocument } from './chunk-
|
|
14
|
+
import { GetMyNodeInstallationsDocument, BrowseWorkflowTemplatesDocument, InstallWorkflowNodeDocument, InstallPurchasedNodeDocument, BrowseWorkflowNodesDocument, UninstallWorkflowNodeDocument, CreateStoreOrderDocument, GetNodeInstallableVersionsDocument, OrganizationPrivateNodesDocument, InstallOrganizationPrivateNodeDocument, UninstallOrganizationPrivateNodeDocument } from './chunk-JUUYPCFY.js';
|
|
14
15
|
import { WorkspaceRunsQuotaDocument, NodeSchemaIntrospectionDocument, useWorkflowPinnedDataQuery, usePinNodeDataMutation, useUnpinNodeDataMutation, useRunFromNodeEligibilityQuery, EventRegistrationsDocument, WorkflowGenerationTemplatesDocument, WorkflowEnvironmentsDocument, WorkflowPromotionRequestsDocument, DeployWorkflowVersionToDevDocument, RequestWorkflowPromotionDocument, ApproveWorkflowPromotionDocument, RejectWorkflowPromotionDocument, CancelWorkflowPromotionDocument, UpdateWorkflowEnvironmentPolicyDocument, WorkflowGitRepositoryDocument, WorkflowGitPushesDocument, WorkflowGitCommitsDocument, LinkWorkflowGitRepositoryDocument, UnlinkWorkflowGitRepositoryDocument, PushWorkflowToGitDocument, WorkflowGitDiffDocument, RestoreWorkflowFromGitDocument, WorkflowAuthoringDocument, PreviewScheduleDocument, WebhookTestListenerDocument, StopWebhookTestListenerDocument, ListenForWebhookTestEventDocument, NodeUsageStatusDocument, RemoveNodeFromWorkflowsDocument } from './chunk-6J4RR46J.js';
|
|
15
16
|
import { useTr } from './chunk-UULVIT25.js';
|
|
16
17
|
import { getFluidGridsClient, waitForFluidGridsClient, getFluidGridsClientSafe } from './chunk-NTWG3CJX.js';
|
|
@@ -901,11 +902,11 @@ function useInstallNode() {
|
|
|
901
902
|
installation: installationResult
|
|
902
903
|
};
|
|
903
904
|
} catch (error62) {
|
|
904
|
-
const
|
|
905
|
+
const errorMessage2 = error62 instanceof Error ? error62.message : "Installation failed";
|
|
905
906
|
console.error("[useInstallNode] Installation failed:", error62);
|
|
906
907
|
return {
|
|
907
908
|
success: false,
|
|
908
|
-
error:
|
|
909
|
+
error: errorMessage2
|
|
909
910
|
};
|
|
910
911
|
} finally {
|
|
911
912
|
setInstalling(null);
|
|
@@ -1557,11 +1558,11 @@ function useCreateOrder() {
|
|
|
1557
1558
|
};
|
|
1558
1559
|
} catch (error62) {
|
|
1559
1560
|
console.error("[useCreateOrder] Failed to create order:", error62);
|
|
1560
|
-
const
|
|
1561
|
+
const errorMessage2 = error62 instanceof Error ? error62.message : "Failed to create order";
|
|
1561
1562
|
setCreating(false);
|
|
1562
1563
|
return {
|
|
1563
1564
|
success: false,
|
|
1564
|
-
error:
|
|
1565
|
+
error: errorMessage2
|
|
1565
1566
|
};
|
|
1566
1567
|
}
|
|
1567
1568
|
},
|
|
@@ -1584,6 +1585,92 @@ gql$1`
|
|
|
1584
1585
|
}
|
|
1585
1586
|
}
|
|
1586
1587
|
`;
|
|
1588
|
+
function errorMessage(error62, fallback) {
|
|
1589
|
+
return error62 instanceof Error && error62.message ? error62.message : fallback;
|
|
1590
|
+
}
|
|
1591
|
+
function useOrganizationPrivateNodes() {
|
|
1592
|
+
const client = useGlobalStoreClient();
|
|
1593
|
+
const context = useContext(FluidGridsContext);
|
|
1594
|
+
const workspaceId = context?.workspaceId ?? getFluidGridsConfig().workspaceId;
|
|
1595
|
+
const { refreshAvailableNodes } = useRefreshAvailableNodes();
|
|
1596
|
+
const [busyApplicationId, setBusyApplicationId] = useState(
|
|
1597
|
+
null
|
|
1598
|
+
);
|
|
1599
|
+
const { data, loading, error: error62, refetch } = useQuery(OrganizationPrivateNodesDocument, {
|
|
1600
|
+
client,
|
|
1601
|
+
variables: { workspaceId: workspaceId || "" },
|
|
1602
|
+
skip: !workspaceId,
|
|
1603
|
+
fetchPolicy: "cache-and-network"
|
|
1604
|
+
});
|
|
1605
|
+
const [installMutation] = useMutation(InstallOrganizationPrivateNodeDocument, { client });
|
|
1606
|
+
const [uninstallMutation] = useMutation(UninstallOrganizationPrivateNodeDocument, { client });
|
|
1607
|
+
const afterChange = useCallback(async () => {
|
|
1608
|
+
await refreshAvailableNodes();
|
|
1609
|
+
await refetch();
|
|
1610
|
+
}, [refreshAvailableNodes, refetch]);
|
|
1611
|
+
const install = useCallback(
|
|
1612
|
+
async (node2) => {
|
|
1613
|
+
if (!workspaceId) return { success: false, error: "No workspace" };
|
|
1614
|
+
setBusyApplicationId(node2.applicationId);
|
|
1615
|
+
try {
|
|
1616
|
+
const result = await installMutation({
|
|
1617
|
+
variables: {
|
|
1618
|
+
applicationId: node2.applicationId,
|
|
1619
|
+
workspaceId,
|
|
1620
|
+
version: node2.version
|
|
1621
|
+
}
|
|
1622
|
+
});
|
|
1623
|
+
if (result.error || !result.data?.installApp) {
|
|
1624
|
+
throw result.error ?? new Error("Installation failed");
|
|
1625
|
+
}
|
|
1626
|
+
await afterChange();
|
|
1627
|
+
return { success: true };
|
|
1628
|
+
} catch (err) {
|
|
1629
|
+
return {
|
|
1630
|
+
success: false,
|
|
1631
|
+
error: errorMessage(err, "Installation failed")
|
|
1632
|
+
};
|
|
1633
|
+
} finally {
|
|
1634
|
+
setBusyApplicationId(null);
|
|
1635
|
+
}
|
|
1636
|
+
},
|
|
1637
|
+
[afterChange, installMutation, workspaceId]
|
|
1638
|
+
);
|
|
1639
|
+
const uninstall = useCallback(
|
|
1640
|
+
async (node2) => {
|
|
1641
|
+
if (!node2.installationId) {
|
|
1642
|
+
return { success: false, error: "The node is not installed" };
|
|
1643
|
+
}
|
|
1644
|
+
setBusyApplicationId(node2.applicationId);
|
|
1645
|
+
try {
|
|
1646
|
+
const result = await uninstallMutation({
|
|
1647
|
+
variables: { installationId: node2.installationId }
|
|
1648
|
+
});
|
|
1649
|
+
if (result.error || result.data?.uninstallApp !== true) {
|
|
1650
|
+
throw result.error ?? new Error("Uninstall failed");
|
|
1651
|
+
}
|
|
1652
|
+
await afterChange();
|
|
1653
|
+
return { success: true };
|
|
1654
|
+
} catch (err) {
|
|
1655
|
+
return { success: false, error: errorMessage(err, "Uninstall failed") };
|
|
1656
|
+
} finally {
|
|
1657
|
+
setBusyApplicationId(null);
|
|
1658
|
+
}
|
|
1659
|
+
},
|
|
1660
|
+
[afterChange, uninstallMutation]
|
|
1661
|
+
);
|
|
1662
|
+
const listing = data?.organizationPrivateNodes;
|
|
1663
|
+
return {
|
|
1664
|
+
nodes: listing?.nodes ?? [],
|
|
1665
|
+
canManage: listing?.canManage ?? false,
|
|
1666
|
+
loading,
|
|
1667
|
+
error: error62,
|
|
1668
|
+
busyApplicationId,
|
|
1669
|
+
install,
|
|
1670
|
+
uninstall,
|
|
1671
|
+
refetch
|
|
1672
|
+
};
|
|
1673
|
+
}
|
|
1587
1674
|
function formatNumber(count2) {
|
|
1588
1675
|
if (count2 >= 1e6) {
|
|
1589
1676
|
return `${(count2 / 1e6).toFixed(1)}M`;
|
|
@@ -23106,6 +23193,214 @@ function StoreNodeListItem({
|
|
|
23106
23193
|
}
|
|
23107
23194
|
);
|
|
23108
23195
|
}
|
|
23196
|
+
var KEY = "fluidgrids.builder.organizationPrivateNodes";
|
|
23197
|
+
function NodeIcon({
|
|
23198
|
+
name,
|
|
23199
|
+
icon
|
|
23200
|
+
}) {
|
|
23201
|
+
return /* @__PURE__ */ jsx("div", { className: "size-9 shrink-0 rounded-lg bg-muted flex items-center justify-center overflow-hidden", children: icon ? isImageIcon(icon) ? /* @__PURE__ */ jsx("img", { src: icon, alt: name, className: "w-full h-full object-cover" }) : /* @__PURE__ */ jsx(Icon, { icon, className: "size-5 text-muted-foreground" }) : /* @__PURE__ */ jsx("span", { className: "text-sm font-bold text-muted-foreground", children: name.charAt(0).toUpperCase() }) });
|
|
23202
|
+
}
|
|
23203
|
+
function OrganizationPrivateNodeRow({
|
|
23204
|
+
node: node2,
|
|
23205
|
+
canManage,
|
|
23206
|
+
busy,
|
|
23207
|
+
disabled,
|
|
23208
|
+
onInstall,
|
|
23209
|
+
onUninstall
|
|
23210
|
+
}) {
|
|
23211
|
+
const tr = useTr();
|
|
23212
|
+
const [confirmingUninstall, setConfirmingUninstall] = useState(false);
|
|
23213
|
+
return /* @__PURE__ */ jsxs(
|
|
23214
|
+
"div",
|
|
23215
|
+
{
|
|
23216
|
+
className: "flex items-center gap-3 px-2 py-2.5 rounded-md",
|
|
23217
|
+
"data-testid": "org-private-node",
|
|
23218
|
+
"data-application-id": node2.applicationId,
|
|
23219
|
+
children: [
|
|
23220
|
+
/* @__PURE__ */ jsx(NodeIcon, { name: node2.name, icon: node2.iconUrl }),
|
|
23221
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
23222
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 flex-wrap", children: [
|
|
23223
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-foreground truncate", children: node2.name }),
|
|
23224
|
+
node2.installed && /* @__PURE__ */ jsx(
|
|
23225
|
+
"span",
|
|
23226
|
+
{
|
|
23227
|
+
className: "shrink-0 inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-semibold",
|
|
23228
|
+
style: node2.updateAvailable ? {
|
|
23229
|
+
background: "var(--color-status-warning-bgSubtle)",
|
|
23230
|
+
color: "var(--color-status-warning-text)"
|
|
23231
|
+
} : {
|
|
23232
|
+
background: "var(--color-status-success-bgSubtle)",
|
|
23233
|
+
color: "var(--color-status-success-text)"
|
|
23234
|
+
},
|
|
23235
|
+
"data-testid": "org-private-node-status",
|
|
23236
|
+
children: node2.updateAvailable ? tr(`${KEY}.updateBadge`, "Update") : tr(`${KEY}.installedBadge`, "Installed")
|
|
23237
|
+
}
|
|
23238
|
+
)
|
|
23239
|
+
] }),
|
|
23240
|
+
/* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground truncate mt-0.5 leading-snug", children: [
|
|
23241
|
+
"v",
|
|
23242
|
+
node2.installed && node2.installedVersion ? node2.installedVersion : node2.version,
|
|
23243
|
+
node2.updateAvailable ? ` \u2192 v${node2.version}` : "",
|
|
23244
|
+
node2.shortDescription ? ` \xB7 ${node2.shortDescription}` : ""
|
|
23245
|
+
] })
|
|
23246
|
+
] }),
|
|
23247
|
+
canManage && /* @__PURE__ */ jsx("div", { className: "shrink-0 flex items-center gap-1", children: busy ? /* @__PURE__ */ jsx(Loader2, { className: "size-4 animate-spin text-muted-foreground" }) : !node2.installed ? /* @__PURE__ */ jsx(
|
|
23248
|
+
Button,
|
|
23249
|
+
{
|
|
23250
|
+
size: "xs",
|
|
23251
|
+
disabled,
|
|
23252
|
+
onClick: () => onInstall(node2),
|
|
23253
|
+
"data-testid": "org-private-node-install",
|
|
23254
|
+
children: tr(`${KEY}.installButton`, "Install")
|
|
23255
|
+
}
|
|
23256
|
+
) : confirmingUninstall ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
23257
|
+
/* @__PURE__ */ jsx(
|
|
23258
|
+
Button,
|
|
23259
|
+
{
|
|
23260
|
+
size: "xs",
|
|
23261
|
+
variant: "destructive",
|
|
23262
|
+
disabled,
|
|
23263
|
+
onClick: () => {
|
|
23264
|
+
setConfirmingUninstall(false);
|
|
23265
|
+
onUninstall(node2);
|
|
23266
|
+
},
|
|
23267
|
+
"data-testid": "org-private-node-uninstall-confirm",
|
|
23268
|
+
children: tr(`${KEY}.confirmUninstallButton`, "Remove")
|
|
23269
|
+
}
|
|
23270
|
+
),
|
|
23271
|
+
/* @__PURE__ */ jsx(
|
|
23272
|
+
Button,
|
|
23273
|
+
{
|
|
23274
|
+
size: "xs",
|
|
23275
|
+
variant: "ghost",
|
|
23276
|
+
onClick: () => setConfirmingUninstall(false),
|
|
23277
|
+
children: tr(`${KEY}.cancelButton`, "Cancel")
|
|
23278
|
+
}
|
|
23279
|
+
)
|
|
23280
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
23281
|
+
node2.updateAvailable && /* @__PURE__ */ jsx(
|
|
23282
|
+
Button,
|
|
23283
|
+
{
|
|
23284
|
+
size: "xs",
|
|
23285
|
+
disabled,
|
|
23286
|
+
onClick: () => onInstall(node2),
|
|
23287
|
+
"data-testid": "org-private-node-update",
|
|
23288
|
+
children: tr(`${KEY}.updateButton`, "Update")
|
|
23289
|
+
}
|
|
23290
|
+
),
|
|
23291
|
+
/* @__PURE__ */ jsx(
|
|
23292
|
+
Button,
|
|
23293
|
+
{
|
|
23294
|
+
size: "xs",
|
|
23295
|
+
variant: "outline",
|
|
23296
|
+
disabled,
|
|
23297
|
+
onClick: () => setConfirmingUninstall(true),
|
|
23298
|
+
"data-testid": "org-private-node-uninstall",
|
|
23299
|
+
children: tr(`${KEY}.uninstallButton`, "Uninstall")
|
|
23300
|
+
}
|
|
23301
|
+
)
|
|
23302
|
+
] }) })
|
|
23303
|
+
]
|
|
23304
|
+
}
|
|
23305
|
+
);
|
|
23306
|
+
}
|
|
23307
|
+
function OrganizationPrivateNodesSection() {
|
|
23308
|
+
const tr = useTr();
|
|
23309
|
+
const {
|
|
23310
|
+
nodes,
|
|
23311
|
+
canManage,
|
|
23312
|
+
loading,
|
|
23313
|
+
error: error62,
|
|
23314
|
+
busyApplicationId,
|
|
23315
|
+
install,
|
|
23316
|
+
uninstall
|
|
23317
|
+
} = useOrganizationPrivateNodes();
|
|
23318
|
+
if (nodes.length === 0) {
|
|
23319
|
+
if (error62 && !loading) {
|
|
23320
|
+
return /* @__PURE__ */ jsx(
|
|
23321
|
+
"p",
|
|
23322
|
+
{
|
|
23323
|
+
className: "px-2 py-2 text-xs text-muted-foreground",
|
|
23324
|
+
"data-testid": "org-private-nodes-error",
|
|
23325
|
+
children: tr(
|
|
23326
|
+
`${KEY}.loadError`,
|
|
23327
|
+
"Your organization's private nodes could not be loaded."
|
|
23328
|
+
)
|
|
23329
|
+
}
|
|
23330
|
+
);
|
|
23331
|
+
}
|
|
23332
|
+
return null;
|
|
23333
|
+
}
|
|
23334
|
+
const handleInstall = async (node2) => {
|
|
23335
|
+
const updating = node2.installed;
|
|
23336
|
+
const result = await install(node2);
|
|
23337
|
+
if (result.success) {
|
|
23338
|
+
toast.success(
|
|
23339
|
+
updating ? tr(`${KEY}.updateSuccessToast`, "Node updated") : tr(`${KEY}.installSuccessToast`, "Node installed"),
|
|
23340
|
+
{
|
|
23341
|
+
description: `${node2.name} v${node2.version} is in your workflow builder.`
|
|
23342
|
+
}
|
|
23343
|
+
);
|
|
23344
|
+
} else {
|
|
23345
|
+
toast.error(
|
|
23346
|
+
updating ? tr(`${KEY}.updateErrorToast`, "Update failed") : tr(`${KEY}.installErrorToast`, "Installation failed"),
|
|
23347
|
+
{ description: result.error }
|
|
23348
|
+
);
|
|
23349
|
+
}
|
|
23350
|
+
};
|
|
23351
|
+
const handleUninstall = async (node2) => {
|
|
23352
|
+
const result = await uninstall(node2);
|
|
23353
|
+
if (result.success) {
|
|
23354
|
+
toast.success(tr(`${KEY}.uninstallSuccessToast`, "Node uninstalled"), {
|
|
23355
|
+
description: `${node2.name} was removed from this workspace.`
|
|
23356
|
+
});
|
|
23357
|
+
} else {
|
|
23358
|
+
toast.error(tr(`${KEY}.uninstallErrorToast`, "Uninstall failed"), {
|
|
23359
|
+
description: result.error
|
|
23360
|
+
});
|
|
23361
|
+
}
|
|
23362
|
+
};
|
|
23363
|
+
return /* @__PURE__ */ jsxs(
|
|
23364
|
+
"section",
|
|
23365
|
+
{
|
|
23366
|
+
className: "mb-2 rounded-lg border border-default px-1 py-1",
|
|
23367
|
+
"data-testid": "org-private-nodes",
|
|
23368
|
+
children: [
|
|
23369
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 px-2 pt-2 pb-1", children: [
|
|
23370
|
+
/* @__PURE__ */ jsx(
|
|
23371
|
+
Icon,
|
|
23372
|
+
{
|
|
23373
|
+
icon: "mynaui:building",
|
|
23374
|
+
className: "size-4 shrink-0 text-muted-foreground"
|
|
23375
|
+
}
|
|
23376
|
+
),
|
|
23377
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
23378
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs font-semibold text-foreground leading-tight", children: tr(`${KEY}.title`, "Your organization") }),
|
|
23379
|
+
/* @__PURE__ */ jsx("p", { className: "text-[11px] text-muted-foreground leading-snug", children: canManage ? tr(
|
|
23380
|
+
`${KEY}.subtitleAdmin`,
|
|
23381
|
+
"Private nodes your organization published for its workspaces."
|
|
23382
|
+
) : tr(
|
|
23383
|
+
`${KEY}.subtitleMember`,
|
|
23384
|
+
"Private nodes your organization published. Ask a workspace admin to install one."
|
|
23385
|
+
) })
|
|
23386
|
+
] })
|
|
23387
|
+
] }),
|
|
23388
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-col gap-0.5", children: nodes.map((node2) => /* @__PURE__ */ jsx(
|
|
23389
|
+
OrganizationPrivateNodeRow,
|
|
23390
|
+
{
|
|
23391
|
+
node: node2,
|
|
23392
|
+
canManage,
|
|
23393
|
+
busy: busyApplicationId === node2.applicationId,
|
|
23394
|
+
disabled: busyApplicationId !== null,
|
|
23395
|
+
onInstall: (n) => void handleInstall(n),
|
|
23396
|
+
onUninstall: (n) => void handleUninstall(n)
|
|
23397
|
+
},
|
|
23398
|
+
node2.applicationId
|
|
23399
|
+
)) })
|
|
23400
|
+
]
|
|
23401
|
+
}
|
|
23402
|
+
);
|
|
23403
|
+
}
|
|
23109
23404
|
function deprecatedItemToProduct(item) {
|
|
23110
23405
|
return {
|
|
23111
23406
|
id: item.productId,
|
|
@@ -23300,102 +23595,105 @@ function StoreCategoryList({
|
|
|
23300
23595
|
] })
|
|
23301
23596
|
) : (
|
|
23302
23597
|
/* Main category list */
|
|
23303
|
-
/* @__PURE__ */
|
|
23304
|
-
|
|
23305
|
-
|
|
23306
|
-
|
|
23307
|
-
|
|
23308
|
-
|
|
23309
|
-
|
|
23310
|
-
|
|
23311
|
-
|
|
23312
|
-
|
|
23313
|
-
|
|
23314
|
-
|
|
23315
|
-
|
|
23316
|
-
|
|
23317
|
-
|
|
23318
|
-
|
|
23319
|
-
|
|
23320
|
-
|
|
23321
|
-
|
|
23322
|
-
|
|
23323
|
-
|
|
23324
|
-
|
|
23325
|
-
}
|
|
23326
|
-
),
|
|
23327
|
-
/* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
23328
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-foreground group-hover:text-primary transition-colors", children: cat.label }),
|
|
23329
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground truncate mt-0.5", children: cat.description })
|
|
23330
|
-
] }),
|
|
23331
|
-
/* @__PURE__ */ jsx(
|
|
23332
|
-
Icon,
|
|
23333
|
-
{
|
|
23334
|
-
icon: "mynaui:chevron-right",
|
|
23335
|
-
className: "size-4 shrink-0 text-foreground/40 group-hover:translate-x-0.5 transition-transform"
|
|
23336
|
-
}
|
|
23337
|
-
)
|
|
23338
|
-
]
|
|
23339
|
-
},
|
|
23340
|
-
cat.key
|
|
23341
|
-
)),
|
|
23342
|
-
deprecatedInstallations.length > 0 && /* @__PURE__ */ jsxs(
|
|
23343
|
-
"button",
|
|
23344
|
-
{
|
|
23345
|
-
onClick: () => setShowDeprecated(true),
|
|
23346
|
-
className: "w-full flex items-center gap-3 px-2 py-3 rounded-lg border border-transparent hover:border-default hover:bg-muted/60 transition-colors text-left group",
|
|
23347
|
-
children: [
|
|
23348
|
-
/* @__PURE__ */ jsx(
|
|
23349
|
-
"div",
|
|
23350
|
-
{
|
|
23351
|
-
className: "size-9 shrink-0 rounded-lg flex items-center justify-center",
|
|
23352
|
-
style: {
|
|
23353
|
-
backgroundColor: "var(--color-status-warning-bgSubtle)"
|
|
23354
|
-
},
|
|
23355
|
-
children: /* @__PURE__ */ jsx(
|
|
23356
|
-
Icon,
|
|
23357
|
-
{
|
|
23358
|
-
icon: "mynaui:circle-warning",
|
|
23359
|
-
className: "size-5",
|
|
23360
|
-
style: {
|
|
23361
|
-
color: "var(--color-status-warning-text)"
|
|
23598
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1 overflow-y-auto px-2 pb-2", children: [
|
|
23599
|
+
/* @__PURE__ */ jsx(OrganizationPrivateNodesSection, {}),
|
|
23600
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5 pt-1", children: [
|
|
23601
|
+
STORE_CATEGORIES.map((cat) => /* @__PURE__ */ jsxs(
|
|
23602
|
+
"button",
|
|
23603
|
+
{
|
|
23604
|
+
onClick: () => onSelectCategory(cat),
|
|
23605
|
+
className: "w-full flex items-center gap-3 px-2 py-3 rounded-lg border border-transparent hover:border-default hover:bg-muted/60 transition-colors text-left group",
|
|
23606
|
+
children: [
|
|
23607
|
+
/* @__PURE__ */ jsx(
|
|
23608
|
+
"div",
|
|
23609
|
+
{
|
|
23610
|
+
className: "size-9 shrink-0 rounded-lg flex items-center justify-center",
|
|
23611
|
+
style: {
|
|
23612
|
+
backgroundColor: `color-mix(in oklab, var(${cat.color}) 16%, transparent)`
|
|
23613
|
+
},
|
|
23614
|
+
children: /* @__PURE__ */ jsx(
|
|
23615
|
+
Icon,
|
|
23616
|
+
{
|
|
23617
|
+
icon: cat.icon,
|
|
23618
|
+
className: "size-5",
|
|
23619
|
+
style: { color: `var(${cat.color})` }
|
|
23362
23620
|
}
|
|
23363
|
-
|
|
23364
|
-
|
|
23365
|
-
|
|
23366
|
-
|
|
23367
|
-
|
|
23621
|
+
)
|
|
23622
|
+
}
|
|
23623
|
+
),
|
|
23624
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
23625
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-foreground group-hover:text-primary transition-colors", children: cat.label }),
|
|
23626
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground truncate mt-0.5", children: cat.description })
|
|
23627
|
+
] }),
|
|
23368
23628
|
/* @__PURE__ */ jsx(
|
|
23369
|
-
|
|
23629
|
+
Icon,
|
|
23370
23630
|
{
|
|
23371
|
-
|
|
23631
|
+
icon: "mynaui:chevron-right",
|
|
23632
|
+
className: "size-4 shrink-0 text-foreground/40 group-hover:translate-x-0.5 transition-transform"
|
|
23633
|
+
}
|
|
23634
|
+
)
|
|
23635
|
+
]
|
|
23636
|
+
},
|
|
23637
|
+
cat.key
|
|
23638
|
+
)),
|
|
23639
|
+
deprecatedInstallations.length > 0 && /* @__PURE__ */ jsxs(
|
|
23640
|
+
"button",
|
|
23641
|
+
{
|
|
23642
|
+
onClick: () => setShowDeprecated(true),
|
|
23643
|
+
className: "w-full flex items-center gap-3 px-2 py-3 rounded-lg border border-transparent hover:border-default hover:bg-muted/60 transition-colors text-left group",
|
|
23644
|
+
children: [
|
|
23645
|
+
/* @__PURE__ */ jsx(
|
|
23646
|
+
"div",
|
|
23647
|
+
{
|
|
23648
|
+
className: "size-9 shrink-0 rounded-lg flex items-center justify-center",
|
|
23372
23649
|
style: {
|
|
23373
|
-
|
|
23650
|
+
backgroundColor: "var(--color-status-warning-bgSubtle)"
|
|
23374
23651
|
},
|
|
23375
|
-
children:
|
|
23376
|
-
|
|
23377
|
-
|
|
23652
|
+
children: /* @__PURE__ */ jsx(
|
|
23653
|
+
Icon,
|
|
23654
|
+
{
|
|
23655
|
+
icon: "mynaui:circle-warning",
|
|
23656
|
+
className: "size-5",
|
|
23657
|
+
style: {
|
|
23658
|
+
color: "var(--color-status-warning-text)"
|
|
23659
|
+
}
|
|
23660
|
+
}
|
|
23378
23661
|
)
|
|
23379
23662
|
}
|
|
23380
23663
|
),
|
|
23381
|
-
/* @__PURE__ */ jsxs("
|
|
23382
|
-
|
|
23383
|
-
|
|
23384
|
-
|
|
23385
|
-
|
|
23386
|
-
|
|
23387
|
-
|
|
23388
|
-
|
|
23389
|
-
|
|
23390
|
-
|
|
23391
|
-
|
|
23392
|
-
|
|
23393
|
-
|
|
23394
|
-
|
|
23395
|
-
|
|
23396
|
-
|
|
23397
|
-
|
|
23398
|
-
|
|
23664
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
23665
|
+
/* @__PURE__ */ jsx(
|
|
23666
|
+
"p",
|
|
23667
|
+
{
|
|
23668
|
+
className: "text-sm font-medium group-hover:text-primary transition-colors",
|
|
23669
|
+
style: {
|
|
23670
|
+
color: "var(--color-status-warning-text)"
|
|
23671
|
+
},
|
|
23672
|
+
children: tr(
|
|
23673
|
+
"fluidgrids.builder.storeCategoryList.deprecatedCategoryLabel",
|
|
23674
|
+
"Deprecated"
|
|
23675
|
+
)
|
|
23676
|
+
}
|
|
23677
|
+
),
|
|
23678
|
+
/* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground truncate mt-0.5", children: [
|
|
23679
|
+
deprecatedInstallations.length,
|
|
23680
|
+
" node",
|
|
23681
|
+
deprecatedInstallations.length !== 1 ? "s" : "",
|
|
23682
|
+
" no longer supported"
|
|
23683
|
+
] })
|
|
23684
|
+
] }),
|
|
23685
|
+
/* @__PURE__ */ jsx(
|
|
23686
|
+
Icon,
|
|
23687
|
+
{
|
|
23688
|
+
icon: "mynaui:chevron-right",
|
|
23689
|
+
className: "size-4 shrink-0 text-foreground/40 group-hover:translate-x-0.5 transition-transform"
|
|
23690
|
+
}
|
|
23691
|
+
)
|
|
23692
|
+
]
|
|
23693
|
+
}
|
|
23694
|
+
)
|
|
23695
|
+
] })
|
|
23696
|
+
] })
|
|
23399
23697
|
)
|
|
23400
23698
|
] });
|
|
23401
23699
|
}
|
|
@@ -24843,7 +25141,7 @@ function DesktopSidebarFragment({
|
|
|
24843
25141
|
);
|
|
24844
25142
|
if (nodesToInstall.length > 0) {
|
|
24845
25143
|
const { getGlobalStoreClient: getStore } = await import('./global-client-KLOVTVPP.js');
|
|
24846
|
-
const { InstallWorkflowNodeDocument: InstallWorkflowNodeDocument2 } = await import('./global-operations-
|
|
25144
|
+
const { InstallWorkflowNodeDocument: InstallWorkflowNodeDocument2 } = await import('./global-operations-D2USVOPM.js');
|
|
24847
25145
|
const { getFluidGridsConfig: getFluidGridsConfig3 } = await import('./config-T7BQ7AO2.js');
|
|
24848
25146
|
const storeClient = getStore();
|
|
24849
25147
|
const cfg = getFluidGridsConfig3();
|
|
@@ -24963,7 +25261,7 @@ function DesktopSidebarFragment({
|
|
|
24963
25261
|
});
|
|
24964
25262
|
try {
|
|
24965
25263
|
const { getGlobalStoreClient: getStoreClient } = await import('./global-client-KLOVTVPP.js');
|
|
24966
|
-
const { InstallWorkflowNodeDocument: InstallWorkflowNodeDocument2 } = await import('./global-operations-
|
|
25264
|
+
const { InstallWorkflowNodeDocument: InstallWorkflowNodeDocument2 } = await import('./global-operations-D2USVOPM.js');
|
|
24967
25265
|
const storeClient = getStoreClient();
|
|
24968
25266
|
if (storeClient) {
|
|
24969
25267
|
throwIfResultError(
|
|
@@ -26387,8 +26685,8 @@ var reducer = (state, action) => {
|
|
|
26387
26685
|
if (toastId) {
|
|
26388
26686
|
addToRemoveQueue(toastId);
|
|
26389
26687
|
} else {
|
|
26390
|
-
state.toasts.forEach((
|
|
26391
|
-
addToRemoveQueue(
|
|
26688
|
+
state.toasts.forEach((toast16) => {
|
|
26689
|
+
addToRemoveQueue(toast16.id);
|
|
26392
26690
|
});
|
|
26393
26691
|
}
|
|
26394
26692
|
return {
|
|
@@ -26422,7 +26720,7 @@ function dispatch(action) {
|
|
|
26422
26720
|
listener(memoryState);
|
|
26423
26721
|
});
|
|
26424
26722
|
}
|
|
26425
|
-
function
|
|
26723
|
+
function toast5({ ...props }) {
|
|
26426
26724
|
const id = genId();
|
|
26427
26725
|
const update = (props2) => dispatch({
|
|
26428
26726
|
type: actionTypes.UPDATE_TOAST,
|
|
@@ -26459,7 +26757,7 @@ function useToast() {
|
|
|
26459
26757
|
}, [state]);
|
|
26460
26758
|
return {
|
|
26461
26759
|
...state,
|
|
26462
|
-
toast:
|
|
26760
|
+
toast: toast5,
|
|
26463
26761
|
dismiss: (toastId) => dispatch({ type: actionTypes.DISMISS_TOAST, toastId })
|
|
26464
26762
|
};
|
|
26465
26763
|
}
|
|
@@ -27764,7 +28062,7 @@ function VisualMapperContent({
|
|
|
27764
28062
|
mapping,
|
|
27765
28063
|
onMappingChange
|
|
27766
28064
|
}) {
|
|
27767
|
-
const { toast:
|
|
28065
|
+
const { toast: toast16 } = useToast();
|
|
27768
28066
|
const tr = useTr();
|
|
27769
28067
|
const reactFlowWrapper = useRef(null);
|
|
27770
28068
|
const [selectedSourceNode, setSelectedSourceNode] = useState(null);
|
|
@@ -27784,7 +28082,7 @@ function VisualMapperContent({
|
|
|
27784
28082
|
targetOperation
|
|
27785
28083
|
);
|
|
27786
28084
|
if (generatedNodes.length === 0) {
|
|
27787
|
-
|
|
28085
|
+
toast16({
|
|
27788
28086
|
title: tr(
|
|
27789
28087
|
"fluidgrids.builder.visualMapper.noFieldsFoundTitle",
|
|
27790
28088
|
"No fields found"
|
|
@@ -27810,7 +28108,7 @@ function VisualMapperContent({
|
|
|
27810
28108
|
targetNode,
|
|
27811
28109
|
targetOperation,
|
|
27812
28110
|
setNodes,
|
|
27813
|
-
|
|
28111
|
+
toast16,
|
|
27814
28112
|
tr
|
|
27815
28113
|
]);
|
|
27816
28114
|
useEffect(() => {
|
|
@@ -27917,7 +28215,7 @@ function VisualMapperContent({
|
|
|
27917
28215
|
}
|
|
27918
28216
|
onMappingChange(updatedMapping);
|
|
27919
28217
|
if (isCompatible) {
|
|
27920
|
-
|
|
28218
|
+
toast16({
|
|
27921
28219
|
title: tr(
|
|
27922
28220
|
"fluidgrids.builder.visualMapper.mappingCreatedTitle",
|
|
27923
28221
|
"Mapping created"
|
|
@@ -27925,7 +28223,7 @@ function VisualMapperContent({
|
|
|
27925
28223
|
description: `Mapped ${sourcePath} (${sourceType}) to ${targetPath} (${targetType})`
|
|
27926
28224
|
});
|
|
27927
28225
|
} else {
|
|
27928
|
-
|
|
28226
|
+
toast16({
|
|
27929
28227
|
title: tr(
|
|
27930
28228
|
"fluidgrids.builder.visualMapper.typeMismatchTitle",
|
|
27931
28229
|
"Type mismatch warning"
|
|
@@ -27935,7 +28233,7 @@ function VisualMapperContent({
|
|
|
27935
28233
|
});
|
|
27936
28234
|
}
|
|
27937
28235
|
} else {
|
|
27938
|
-
|
|
28236
|
+
toast16({
|
|
27939
28237
|
title: tr(
|
|
27940
28238
|
"fluidgrids.builder.visualMapper.invalidMappingTitle",
|
|
27941
28239
|
"Invalid mapping"
|
|
@@ -27948,7 +28246,7 @@ function VisualMapperContent({
|
|
|
27948
28246
|
});
|
|
27949
28247
|
}
|
|
27950
28248
|
},
|
|
27951
|
-
[nodes, mapping, onMappingChange,
|
|
28249
|
+
[nodes, mapping, onMappingChange, toast16, tr, setEdges]
|
|
27952
28250
|
);
|
|
27953
28251
|
const onEdgeDelete = useCallback(
|
|
27954
28252
|
(edge) => {
|
|
@@ -28005,7 +28303,7 @@ function VisualMapperContent({
|
|
|
28005
28303
|
const handleSaveMappingDialog = (expression, targetFieldName) => {
|
|
28006
28304
|
const targetPath = targetFieldName || selectedTargetNode?.data?.path;
|
|
28007
28305
|
if (!targetPath) {
|
|
28008
|
-
|
|
28306
|
+
toast16({
|
|
28009
28307
|
title: tr(
|
|
28010
28308
|
"fluidgrids.builder.visualMapper.noTargetFieldTitle",
|
|
28011
28309
|
"No target field specified"
|
|
@@ -28037,7 +28335,7 @@ function VisualMapperContent({
|
|
|
28037
28335
|
}
|
|
28038
28336
|
onMappingChange(updatedMapping);
|
|
28039
28337
|
const mappingType = detectMappingType(expression);
|
|
28040
|
-
|
|
28338
|
+
toast16({
|
|
28041
28339
|
title: `${mappingType.charAt(0).toUpperCase() + mappingType.slice(1)} mapping created`,
|
|
28042
28340
|
description: `${tr("fluidgrids.builder.visualMapper.appliedMappingTo", "Applied mapping to")} ${targetPath}`
|
|
28043
28341
|
});
|
|
@@ -28336,7 +28634,7 @@ function MappingEditor({
|
|
|
28336
28634
|
setEdges,
|
|
28337
28635
|
edgeId
|
|
28338
28636
|
}) {
|
|
28339
|
-
const { toast:
|
|
28637
|
+
const { toast: toast16 } = useToast();
|
|
28340
28638
|
const tr = useTr();
|
|
28341
28639
|
const [mappingJson, setMappingJson] = useState({});
|
|
28342
28640
|
const [jsonDataString, setJsonDataString] = useState(
|
|
@@ -28460,7 +28758,7 @@ function MappingEditor({
|
|
|
28460
28758
|
const handleSaveMapping = () => {
|
|
28461
28759
|
try {
|
|
28462
28760
|
checkJsonValidity();
|
|
28463
|
-
|
|
28761
|
+
toast16({
|
|
28464
28762
|
title: tr(
|
|
28465
28763
|
"fluidgrids.builder.mappingEditor.mappingSavedTitle",
|
|
28466
28764
|
"Mapping saved"
|
|
@@ -28471,7 +28769,7 @@ function MappingEditor({
|
|
|
28471
28769
|
)
|
|
28472
28770
|
});
|
|
28473
28771
|
} catch (error62) {
|
|
28474
|
-
|
|
28772
|
+
toast16({
|
|
28475
28773
|
title: tr(
|
|
28476
28774
|
"fluidgrids.builder.mappingEditor.errorSavingTitle",
|
|
28477
28775
|
"Error saving mapping"
|
|
@@ -28490,7 +28788,7 @@ function MappingEditor({
|
|
|
28490
28788
|
const parsedData = checkJsonValidity();
|
|
28491
28789
|
const result = await applyMapping(parsedData, sampleInput);
|
|
28492
28790
|
setPreviewOutput(result);
|
|
28493
|
-
|
|
28791
|
+
toast16({
|
|
28494
28792
|
title: tr(
|
|
28495
28793
|
"fluidgrids.builder.mappingEditor.mappingTestedTitle",
|
|
28496
28794
|
"Mapping tested"
|
|
@@ -28502,7 +28800,7 @@ function MappingEditor({
|
|
|
28502
28800
|
});
|
|
28503
28801
|
} catch (error62) {
|
|
28504
28802
|
console.error("Test mapping error:", error62);
|
|
28505
|
-
|
|
28803
|
+
toast16({
|
|
28506
28804
|
title: tr(
|
|
28507
28805
|
"fluidgrids.builder.mappingEditor.mappingTestFailedTitle",
|
|
28508
28806
|
"Mapping test failed"
|
|
@@ -38409,6 +38707,15 @@ function NodeParamsForm({
|
|
|
38409
38707
|
}
|
|
38410
38708
|
),
|
|
38411
38709
|
isWebhookWait && /* @__PURE__ */ jsx(WaitResumeUrlField, {}),
|
|
38710
|
+
isAgentNodeType(nodeType) && /* @__PURE__ */ jsx(
|
|
38711
|
+
AgentDefinitionSelectField,
|
|
38712
|
+
{
|
|
38713
|
+
value: typeof argsState.agentDefinitionId === "string" ? argsState.agentDefinitionId : null,
|
|
38714
|
+
onChange: (next) => writeFixed("agentDefinitionId", next),
|
|
38715
|
+
sectionLabelClassName: SECTION_LABEL3,
|
|
38716
|
+
testIdPrefix
|
|
38717
|
+
}
|
|
38718
|
+
),
|
|
38412
38719
|
connectionAdapters.length > 0 && /* @__PURE__ */ jsxs("div", { className: "space-y-2", "data-testid": `${testIdPrefix}-connections`, children: [
|
|
38413
38720
|
/* @__PURE__ */ jsx("div", { className: SECTION_LABEL3, children: tr(
|
|
38414
38721
|
"fluidgrids.builder.nodeParamsForm.connectionsSection",
|