@burdenoff/fluidgrids-fe-sdk 2026.710.1 → 2026.713.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{WorkflowBuilder-YT72BTMW.js → WorkflowBuilder-DSPJ5UOG.js} +3 -3
- package/dist/{WorkflowBuilder-YT72BTMW.js.map → WorkflowBuilder-DSPJ5UOG.js.map} +1 -1
- package/dist/{chunk-V67QXGBK.js → chunk-LA7ELWEY.js} +212 -101
- package/dist/chunk-LA7ELWEY.js.map +1 -0
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-V67QXGBK.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { WorkflowBuilder } from './chunk-
|
|
1
|
+
export { WorkflowBuilder } from './chunk-LA7ELWEY.js';
|
|
2
2
|
import './chunk-7VEOUEIN.js';
|
|
3
3
|
import './chunk-BQXHJIER.js';
|
|
4
4
|
import './chunk-UYPB5TWQ.js';
|
|
@@ -9,5 +9,5 @@ import './chunk-5BDQNSP3.js';
|
|
|
9
9
|
import './chunk-WWU2O2SR.js';
|
|
10
10
|
import './chunk-XQP33UJR.js';
|
|
11
11
|
import './chunk-Z54K22LP.js';
|
|
12
|
-
//# sourceMappingURL=WorkflowBuilder-
|
|
13
|
-
//# sourceMappingURL=WorkflowBuilder-
|
|
12
|
+
//# sourceMappingURL=WorkflowBuilder-DSPJ5UOG.js.map
|
|
13
|
+
//# sourceMappingURL=WorkflowBuilder-DSPJ5UOG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowBuilder-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowBuilder-DSPJ5UOG.js"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Dialog as Dialog$1, DialogContent as DialogContent$1, DialogHeader as DialogHeader$1, DialogTitle as DialogTitle$1, DialogDescription as DialogDescription$1,
|
|
1
|
+
import { Dialog as Dialog$1, DialogContent as DialogContent$1, DialogHeader as DialogHeader$1, DialogTitle as DialogTitle$1, DialogDescription as DialogDescription$1, Input as Input$1, DialogFooter } from './chunk-7VEOUEIN.js';
|
|
2
2
|
import { getGlobalStoreClient, createGlobalStoreClient, setGlobalStoreClient, resetGlobalStoreClient } from './chunk-BQXHJIER.js';
|
|
3
3
|
import { GetMyNodeInstallationsDocument, BrowseWorkflowTemplatesDocument, InstallWorkflowNodeDocument, InstallPurchasedNodeDocument, BrowseWorkflowNodesDocument, UninstallWorkflowNodeDocument, CreateStoreOrderDocument } from './chunk-UYPB5TWQ.js';
|
|
4
4
|
import { useFlowStore } from './chunk-KU64CCSV.js';
|
|
@@ -8,8 +8,6 @@ import { waitForFluidGridsClient, getFluidGridsClient, createFluidGridsClient, s
|
|
|
8
8
|
import { config, getFluidGridsConfig, validateTrustedOrigin, setFluidGridsConfig, resetFluidGridsConfig } from './chunk-WWU2O2SR.js';
|
|
9
9
|
import { deepClone, applyTemplateInputs } from './chunk-XQP33UJR.js';
|
|
10
10
|
import { cn as cn$1, Badge as Badge$1, Button as Button$1 } from './chunk-Z54K22LP.js';
|
|
11
|
-
import { ThemeProvider as ThemeProvider$1 } from '@burdenoff/fe-libs/shared/providers/shell';
|
|
12
|
-
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
13
11
|
import { useParams, useNavigate } from 'react-router-dom';
|
|
14
12
|
import { useShallow, shallow } from 'zustand/shallow';
|
|
15
13
|
import * as React from 'react';
|
|
@@ -19,6 +17,7 @@ import { produce } from 'immer';
|
|
|
19
17
|
import { nanoid } from 'nanoid/non-secure';
|
|
20
18
|
import { Icon } from '@iconify/react';
|
|
21
19
|
import { cn } from '@burdenoff/fe-libs/utils';
|
|
20
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
22
21
|
import { Textarea, Input, Button, Card, Badge, CardContent as CardContent$1, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuLabel, DropdownMenuItem, DropdownMenuSeparator, Dialog, DialogTrigger, DialogContent, DialogHeader, DialogTitle, DialogDescription, Sheet, SheetTrigger, SheetContent, SheetHeader, SheetTitle, Popover, PopoverTrigger, PopoverContent, Toaster, Tabs, TabsList, TabsTrigger, TabsContent, CardHeader as CardHeader$1, CardTitle as CardTitle$1, CardDescription as CardDescription$1, ScrollArea, TooltipProvider, Tooltip, TooltipTrigger, TooltipContent, Label, Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from '@burdenoff/fe-libs/ui';
|
|
23
22
|
import * as AdaptiveCards from 'adaptivecards';
|
|
24
23
|
import { formatDistanceToNow } from 'date-fns';
|
|
@@ -33,14 +32,12 @@ import { gql as gql$1 } from '@apollo/client/core';
|
|
|
33
32
|
import { Sparkles, Star, Download, Eye, History, Loader2, RotateCcw, Maximize2, LayoutGrid, Plus, Trash2, GitBranch, AlertCircle, Search, RefreshCw, CheckCircle2, Package, Info, Copy, BadgeCheck, DollarSign, PlusCircle, ChevronDown, Type, Code, Hash, List, Braces, Workflow, ChevronRight, Layers, X, AlertTriangle } from 'lucide-react';
|
|
34
33
|
import { animate, easeOut } from 'popmotion';
|
|
35
34
|
import { createPortal } from 'react-dom';
|
|
35
|
+
import { ThemeProvider as ThemeProvider$1 } from '@burdenoff/fe-libs/shared/providers/shell';
|
|
36
36
|
import '@xyflow/react/dist/style.css';
|
|
37
37
|
import { buildSchema, GraphQLObjectType, GraphQLInputObjectType, GraphQLEnumType, GraphQLInterfaceType, GraphQLUnionType, GraphQLNonNull, GraphQLList } from 'graphql';
|
|
38
38
|
import { create } from 'zustand';
|
|
39
39
|
import { ErrorBoundary } from '@burdenoff/fe-libs/shared/components';
|
|
40
40
|
|
|
41
|
-
function ThemeProvider({ children }) {
|
|
42
|
-
return /* @__PURE__ */ jsx(ThemeProvider$1, { children });
|
|
43
|
-
}
|
|
44
41
|
function useDeleteNode() {
|
|
45
42
|
const { getNode, getEdges, deleteElements } = useReactFlow();
|
|
46
43
|
const [deleteNode, deleteEdge] = useFlowStore(
|
|
@@ -9119,50 +9116,46 @@ function SubNodeComponent({
|
|
|
9119
9116
|
useShallow((s) => [s.execution.nodeStatuses])
|
|
9120
9117
|
);
|
|
9121
9118
|
const nodeStatus = nodeStatuses[id] || "idle";
|
|
9122
|
-
const statusRing = nodeStatus === "success" ? "ring-2 ring-
|
|
9119
|
+
const statusRing = nodeStatus === "success" ? "ring-2 ring-[var(--color-status-success-border)]" : nodeStatus === "error" ? "ring-2 ring-[var(--color-status-error-border)]" : nodeStatus === "running" ? "ring-2 ring-[var(--color-status-info-border)] animate-pulse" : "";
|
|
9123
9120
|
const handleShowNodeProperties = useCallback(() => {
|
|
9124
9121
|
showNodePropertiesOf({ id, type: nodeType });
|
|
9125
9122
|
}, [id, nodeType, showNodePropertiesOf]);
|
|
9126
|
-
return
|
|
9127
|
-
|
|
9128
|
-
|
|
9129
|
-
|
|
9130
|
-
|
|
9131
|
-
|
|
9132
|
-
|
|
9133
|
-
|
|
9134
|
-
|
|
9135
|
-
|
|
9136
|
-
|
|
9137
|
-
|
|
9138
|
-
|
|
9139
|
-
|
|
9140
|
-
"
|
|
9141
|
-
|
|
9142
|
-
|
|
9143
|
-
|
|
9144
|
-
|
|
9145
|
-
|
|
9146
|
-
"
|
|
9147
|
-
{
|
|
9148
|
-
|
|
9149
|
-
|
|
9150
|
-
|
|
9151
|
-
|
|
9152
|
-
|
|
9153
|
-
|
|
9154
|
-
|
|
9155
|
-
|
|
9156
|
-
|
|
9157
|
-
|
|
9158
|
-
|
|
9159
|
-
|
|
9160
|
-
|
|
9161
|
-
|
|
9162
|
-
}
|
|
9163
|
-
),
|
|
9164
|
-
/* @__PURE__ */ jsx(AdapterConnectors, { nodeId: id, adapters: data?.nodeData?.nodeAdapters })
|
|
9165
|
-
] });
|
|
9123
|
+
return (
|
|
9124
|
+
// `relative` anchors the absolute delete button; `group` enables its hover reveal.
|
|
9125
|
+
/* @__PURE__ */ jsxs("div", { className: "relative group flex flex-col items-center", children: [
|
|
9126
|
+
/* @__PURE__ */ jsx(
|
|
9127
|
+
Handle,
|
|
9128
|
+
{
|
|
9129
|
+
type: "target",
|
|
9130
|
+
position: Position.Top,
|
|
9131
|
+
id: "target",
|
|
9132
|
+
isConnectable,
|
|
9133
|
+
className: "size-2.5 bg-accent border-2 border-accent/60"
|
|
9134
|
+
}
|
|
9135
|
+
),
|
|
9136
|
+
/* @__PURE__ */ jsx("div", { className: "w-0.5 h-4 border-l-2 border-dashed border-accent/40" }),
|
|
9137
|
+
/* @__PURE__ */ jsx("span", { className: "text-[10px] text-accent/70 font-medium mb-1", children: meta.title.includes("Model") ? "Model" : meta.title.includes("Memory") ? "Memory" : meta.title.includes("Tool") ? "Tool" : meta.title.includes("Parser") ? "Parser" : "Adapter" }),
|
|
9138
|
+
/* @__PURE__ */ jsx(
|
|
9139
|
+
"div",
|
|
9140
|
+
{
|
|
9141
|
+
className: `w-14 h-14 rounded-full bg-card border-2 border-accent/40 flex items-center justify-center shadow-lg cursor-pointer transition-all hover:border-accent/80 hover:shadow-xl ${statusRing}`,
|
|
9142
|
+
onDoubleClick: handleShowNodeProperties,
|
|
9143
|
+
"data-selected": selected,
|
|
9144
|
+
children: /* @__PURE__ */ jsx(Icon, { icon: meta.icon, className: "w-7 h-7 text-accent opacity-80" })
|
|
9145
|
+
}
|
|
9146
|
+
),
|
|
9147
|
+
/* @__PURE__ */ jsx("span", { className: "mt-1.5 text-xs text-accent font-medium text-center max-w-24 leading-tight", children: meta.title }),
|
|
9148
|
+
/* @__PURE__ */ jsx(
|
|
9149
|
+
"button",
|
|
9150
|
+
{
|
|
9151
|
+
onClick: () => deleteNode(id),
|
|
9152
|
+
className: "absolute -top-1 -right-1 w-4 h-4 rounded-full bg-destructive/80 text-destructive-foreground text-[10px] flex items-center justify-center opacity-0 group-hover:opacity-100 hover:bg-destructive transition-opacity",
|
|
9153
|
+
children: "\xD7"
|
|
9154
|
+
}
|
|
9155
|
+
),
|
|
9156
|
+
/* @__PURE__ */ jsx(AdapterConnectors, { nodeId: id, adapters: data?.nodeData?.nodeAdapters })
|
|
9157
|
+
] })
|
|
9158
|
+
);
|
|
9166
9159
|
}
|
|
9167
9160
|
var getNodeMetadata = (value) => {
|
|
9168
9161
|
function NodeComponent(props) {
|
|
@@ -9761,7 +9754,10 @@ function SidebarPanelWrapper({
|
|
|
9761
9754
|
return /* @__PURE__ */ jsx(
|
|
9762
9755
|
"div",
|
|
9763
9756
|
{
|
|
9764
|
-
className: cn(
|
|
9757
|
+
className: cn(
|
|
9758
|
+
"flex flex-col w-80 h-full bg-background/40 backdrop-blur-sm",
|
|
9759
|
+
className
|
|
9760
|
+
),
|
|
9765
9761
|
...props,
|
|
9766
9762
|
children
|
|
9767
9763
|
}
|
|
@@ -10933,43 +10929,50 @@ var STORE_CATEGORIES = [
|
|
|
10933
10929
|
key: "ai",
|
|
10934
10930
|
label: "AI & Automation",
|
|
10935
10931
|
description: "AI models, agents, and intelligent automation",
|
|
10936
|
-
icon: "mynaui:
|
|
10932
|
+
icon: "mynaui:sparkles",
|
|
10933
|
+
color: "--color-chart-1"
|
|
10937
10934
|
},
|
|
10938
10935
|
{
|
|
10939
10936
|
key: "integration",
|
|
10940
10937
|
label: "Action in an App",
|
|
10941
10938
|
description: "Connect with apps like Slack, Notion, Google Sheets",
|
|
10942
|
-
icon: "mynaui:puzzle"
|
|
10939
|
+
icon: "mynaui:puzzle",
|
|
10940
|
+
color: "--color-chart-2"
|
|
10943
10941
|
},
|
|
10944
10942
|
{
|
|
10945
10943
|
key: "data",
|
|
10946
10944
|
label: "Data & Transform",
|
|
10947
10945
|
description: "Manipulate, filter, or convert data",
|
|
10948
|
-
icon: "mynaui:database"
|
|
10946
|
+
icon: "mynaui:database",
|
|
10947
|
+
color: "--color-chart-3"
|
|
10949
10948
|
},
|
|
10950
10949
|
{
|
|
10951
10950
|
key: "flow",
|
|
10952
10951
|
label: "Flow & Logic",
|
|
10953
10952
|
description: "Branch, merge, or loop the flow",
|
|
10954
|
-
icon: "mynaui:git-branch"
|
|
10953
|
+
icon: "mynaui:git-branch",
|
|
10954
|
+
color: "--color-chart-4"
|
|
10955
10955
|
},
|
|
10956
10956
|
{
|
|
10957
10957
|
key: "core",
|
|
10958
10958
|
label: "Core",
|
|
10959
10959
|
description: "HTTP requests, code, webhooks, and more",
|
|
10960
|
-
icon: "mynaui:cog"
|
|
10960
|
+
icon: "mynaui:cog",
|
|
10961
|
+
color: "--color-chart-5"
|
|
10961
10962
|
},
|
|
10962
10963
|
{
|
|
10963
10964
|
key: "communication",
|
|
10964
10965
|
label: "Communication",
|
|
10965
10966
|
description: "Email, messaging, and notifications",
|
|
10966
|
-
icon: "mynaui:message-dots"
|
|
10967
|
+
icon: "mynaui:message-dots",
|
|
10968
|
+
color: "--color-chart-6"
|
|
10967
10969
|
},
|
|
10968
10970
|
{
|
|
10969
10971
|
key: "trigger",
|
|
10970
10972
|
label: "Triggers",
|
|
10971
10973
|
description: "Start your workflow automatically",
|
|
10972
|
-
icon: "mynaui:
|
|
10974
|
+
icon: "mynaui:zap",
|
|
10975
|
+
color: "--color-chart-7"
|
|
10973
10976
|
}
|
|
10974
10977
|
];
|
|
10975
10978
|
function useStoreNodes(options = {}) {
|
|
@@ -12151,9 +12154,23 @@ function StoreCategoryList({
|
|
|
12151
12154
|
"button",
|
|
12152
12155
|
{
|
|
12153
12156
|
onClick: () => onSelectCategory(cat),
|
|
12154
|
-
className: "w-full flex items-center gap-3 px-2 py-3 rounded-
|
|
12157
|
+
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",
|
|
12155
12158
|
children: [
|
|
12156
|
-
/* @__PURE__ */ jsx(
|
|
12159
|
+
/* @__PURE__ */ jsx(
|
|
12160
|
+
"div",
|
|
12161
|
+
{
|
|
12162
|
+
className: "size-9 shrink-0 rounded-lg flex items-center justify-center",
|
|
12163
|
+
style: { backgroundColor: `color-mix(in oklab, var(${cat.color}) 16%, transparent)` },
|
|
12164
|
+
children: /* @__PURE__ */ jsx(
|
|
12165
|
+
Icon,
|
|
12166
|
+
{
|
|
12167
|
+
icon: cat.icon,
|
|
12168
|
+
className: "size-5",
|
|
12169
|
+
style: { color: `var(${cat.color})` }
|
|
12170
|
+
}
|
|
12171
|
+
)
|
|
12172
|
+
}
|
|
12173
|
+
),
|
|
12157
12174
|
/* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
12158
12175
|
/* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-foreground group-hover:text-primary transition-colors", children: cat.label }),
|
|
12159
12176
|
/* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground truncate mt-0.5", children: cat.description })
|
|
@@ -12162,7 +12179,7 @@ function StoreCategoryList({
|
|
|
12162
12179
|
Icon,
|
|
12163
12180
|
{
|
|
12164
12181
|
icon: "mynaui:chevron-right",
|
|
12165
|
-
className: "size-4 shrink-0 text-foreground/40"
|
|
12182
|
+
className: "size-4 shrink-0 text-foreground/40 group-hover:translate-x-0.5 transition-transform"
|
|
12166
12183
|
}
|
|
12167
12184
|
)
|
|
12168
12185
|
]
|
|
@@ -12427,7 +12444,7 @@ function StoreNodeOperations({ nodeType }) {
|
|
|
12427
12444
|
/* @__PURE__ */ jsx("div", { className: "size-7 shrink-0 rounded-md bg-muted flex items-center justify-center", children: /* @__PURE__ */ jsx(
|
|
12428
12445
|
Icon,
|
|
12429
12446
|
{
|
|
12430
|
-
icon: isTrigger ? "solar:play-bold" : "mynaui:
|
|
12447
|
+
icon: isTrigger ? "solar:play-bold" : "mynaui:zap",
|
|
12431
12448
|
className: "size-3.5 text-primary"
|
|
12432
12449
|
}
|
|
12433
12450
|
) }),
|
|
@@ -13577,7 +13594,7 @@ function DesktopSidebarFragment({
|
|
|
13577
13594
|
},
|
|
13578
13595
|
[configTemplate, configContent, configNodeCheck, performImport]
|
|
13579
13596
|
);
|
|
13580
|
-
return /* @__PURE__ */ jsxs("div", { className: "relative
|
|
13597
|
+
return /* @__PURE__ */ jsxs("div", { className: "relative max-w-sm w-fit flex shrink-0 divide-x divide-card-foreground/10 rounded-xl overflow-hidden border border-card-foreground/10", children: [
|
|
13581
13598
|
activePanel !== "none" && /* @__PURE__ */ jsx("div", { className: "min-w-xs grow bg-card", children: /* @__PURE__ */ jsx(SwitchSidebarPanel, { active: activePanel }) }),
|
|
13582
13599
|
/* @__PURE__ */ jsx("div", { className: "shrink-0 bg-card p-1.5", children: /* @__PURE__ */ jsxs("div", { className: "h-full flex flex-col gap-2", children: [
|
|
13583
13600
|
/* @__PURE__ */ jsx(
|
|
@@ -13855,7 +13872,7 @@ function useNodeAutoAdjust() {
|
|
|
13855
13872
|
[getNodes, updateNode]
|
|
13856
13873
|
);
|
|
13857
13874
|
}
|
|
13858
|
-
function
|
|
13875
|
+
function ThemeProvider({
|
|
13859
13876
|
children,
|
|
13860
13877
|
defaultTheme = "system",
|
|
13861
13878
|
storageKey = "vite-ui-theme"
|
|
@@ -17635,7 +17652,7 @@ function App({
|
|
|
17635
17652
|
};
|
|
17636
17653
|
const currentSourceSchema = propSourceSchema || getSchemaForNode(selectedSourceNode, true);
|
|
17637
17654
|
const currentTargetSchema = propTargetSchema || getSchemaForNode(selectedTargetNode, false);
|
|
17638
|
-
return /* @__PURE__ */ jsx(DataConfigProvider, { config: dataConfig, children: /* @__PURE__ */ jsxs(
|
|
17655
|
+
return /* @__PURE__ */ jsx(DataConfigProvider, { config: dataConfig, children: /* @__PURE__ */ jsxs(ThemeProvider, { defaultTheme: "light", storageKey: "vite-ui-theme", children: [
|
|
17639
17656
|
/* @__PURE__ */ jsx("div", { className: "min-h-screen bg-background", children: /* @__PURE__ */ jsxs("main", { className: "container py-6", children: [
|
|
17640
17657
|
currentSourceSchema && currentTargetSchema && selectedSourceNode && selectedSourceOperation && selectedTargetNode && selectedTargetOperation && /* @__PURE__ */ jsxs("div", { className: "mt-8 p-4 border rounded-lg", children: [
|
|
17641
17658
|
/* @__PURE__ */ jsx("h2", { className: "text-lg font-medium mb-4", children: "Data Mapping" }),
|
|
@@ -20415,7 +20432,7 @@ function useFlowValidator(onValidate) {
|
|
|
20415
20432
|
}, [getNodes, getEdges, onValidate]);
|
|
20416
20433
|
return [isValidating, validate];
|
|
20417
20434
|
}
|
|
20418
|
-
var SaveFlowButton = () => {
|
|
20435
|
+
var SaveFlowButton = ({ className }) => {
|
|
20419
20436
|
const { saveToBackend, isSaving } = useSaveWorkflow();
|
|
20420
20437
|
const [isValidating, validateFlow] = useFlowValidator(async (isValid) => {
|
|
20421
20438
|
if (isValid) {
|
|
@@ -20433,10 +20450,10 @@ var SaveFlowButton = () => {
|
|
|
20433
20450
|
disabled: isValidating || isSaving,
|
|
20434
20451
|
variant: "outline",
|
|
20435
20452
|
size: "sm",
|
|
20436
|
-
className: "flex gap-4",
|
|
20453
|
+
className: cn("flex gap-4", className),
|
|
20437
20454
|
children: [
|
|
20438
20455
|
/* @__PURE__ */ jsx(Icon, { icon: "fluent:save-28-filled" }),
|
|
20439
|
-
isSaving ? "Saving..." : "Save
|
|
20456
|
+
isSaving ? "Saving..." : "Save"
|
|
20440
20457
|
]
|
|
20441
20458
|
}
|
|
20442
20459
|
) });
|
|
@@ -20570,7 +20587,9 @@ function TriggerDataDialog({
|
|
|
20570
20587
|
] })
|
|
20571
20588
|
] }) });
|
|
20572
20589
|
}
|
|
20573
|
-
var ExecuteWorkflowButton = (
|
|
20590
|
+
var ExecuteWorkflowButton = ({
|
|
20591
|
+
className
|
|
20592
|
+
}) => {
|
|
20574
20593
|
const { executeFullWorkflow } = useNodeExecution();
|
|
20575
20594
|
const [dialogOpen, setDialogOpen] = useState(false);
|
|
20576
20595
|
const [isExecuting] = useFlowStore(
|
|
@@ -20615,10 +20634,13 @@ var ExecuteWorkflowButton = () => {
|
|
|
20615
20634
|
disabled: isValidating || isExecuting,
|
|
20616
20635
|
variant: "default",
|
|
20617
20636
|
size: "sm",
|
|
20618
|
-
className:
|
|
20637
|
+
className: cn(
|
|
20638
|
+
"flex items-center justify-center gap-2 h-8 rounded-l-lg rounded-r-none px-3 bg-[var(--color-status-success-bg)] hover:bg-[var(--color-status-success-bg)]/90 text-[var(--color-text-on-status)] font-medium",
|
|
20639
|
+
className
|
|
20640
|
+
),
|
|
20619
20641
|
children: [
|
|
20620
20642
|
/* @__PURE__ */ jsx(Icon, { icon: "mdi:play", className: "size-4" }),
|
|
20621
|
-
isExecuting ? "Running..." : isValidating ? "Validating..." : "
|
|
20643
|
+
isExecuting ? "Running..." : isValidating ? "Validating..." : "Run"
|
|
20622
20644
|
]
|
|
20623
20645
|
}
|
|
20624
20646
|
),
|
|
@@ -22516,7 +22538,7 @@ var STATUS_STYLES = {
|
|
|
22516
22538
|
ARCHIVED: { label: "Archived", variant: "outline" },
|
|
22517
22539
|
DEPRECATED: { label: "Deprecated", variant: "destructive" }
|
|
22518
22540
|
};
|
|
22519
|
-
function VersionHistoryPanel() {
|
|
22541
|
+
function VersionHistoryPanel({ className }) {
|
|
22520
22542
|
const params = useParams();
|
|
22521
22543
|
const navigate = useNavigate();
|
|
22522
22544
|
const workflowKey = params?.id ?? "";
|
|
@@ -22556,7 +22578,7 @@ function VersionHistoryPanel() {
|
|
|
22556
22578
|
{
|
|
22557
22579
|
variant: "outline",
|
|
22558
22580
|
size: "sm",
|
|
22559
|
-
className: "flex gap-1",
|
|
22581
|
+
className: cn("flex gap-1", className),
|
|
22560
22582
|
onClick: () => refetch(),
|
|
22561
22583
|
children: [
|
|
22562
22584
|
/* @__PURE__ */ jsx(History, { className: "size-4" }),
|
|
@@ -22644,7 +22666,9 @@ function VersionHistoryPanel() {
|
|
|
22644
22666
|
] })
|
|
22645
22667
|
] });
|
|
22646
22668
|
}
|
|
22647
|
-
var ActivateWorkflowButton = (
|
|
22669
|
+
var ActivateWorkflowButton = ({
|
|
22670
|
+
className
|
|
22671
|
+
}) => {
|
|
22648
22672
|
const [isProcessing, setIsProcessing] = useState(false);
|
|
22649
22673
|
const [dbId, status, setWorkflow] = useFlowStore(
|
|
22650
22674
|
useShallow((s) => [
|
|
@@ -22698,7 +22722,11 @@ var ActivateWorkflowButton = () => {
|
|
|
22698
22722
|
disabled: isProcessing || !dbId,
|
|
22699
22723
|
variant: isDraft ? "default" : "outline",
|
|
22700
22724
|
size: "sm",
|
|
22701
|
-
className:
|
|
22725
|
+
className: cn(
|
|
22726
|
+
"flex gap-1",
|
|
22727
|
+
isDraft && "bg-green-600 hover:bg-green-700 text-white",
|
|
22728
|
+
className
|
|
22729
|
+
),
|
|
22702
22730
|
children: [
|
|
22703
22731
|
/* @__PURE__ */ jsx(
|
|
22704
22732
|
Icon,
|
|
@@ -22712,6 +22740,34 @@ var ActivateWorkflowButton = () => {
|
|
|
22712
22740
|
}
|
|
22713
22741
|
);
|
|
22714
22742
|
};
|
|
22743
|
+
function RunWithViewRuns({
|
|
22744
|
+
onViewRuns,
|
|
22745
|
+
canViewRuns,
|
|
22746
|
+
className,
|
|
22747
|
+
runButtonClassName
|
|
22748
|
+
}) {
|
|
22749
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("inline-flex items-center", className), children: [
|
|
22750
|
+
/* @__PURE__ */ jsx(ExecuteWorkflowButton, { className: runButtonClassName }),
|
|
22751
|
+
/* @__PURE__ */ jsxs(DropdownMenu, { children: [
|
|
22752
|
+
/* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
22753
|
+
Button,
|
|
22754
|
+
{
|
|
22755
|
+
variant: "default",
|
|
22756
|
+
size: "icon",
|
|
22757
|
+
className: "flex items-center justify-center h-8 w-6 rounded-r-lg rounded-l-none border-l border-white/20 bg-[var(--color-status-success-bg)] hover:bg-[var(--color-status-success-bg)]/90",
|
|
22758
|
+
children: /* @__PURE__ */ jsx(
|
|
22759
|
+
Icon,
|
|
22760
|
+
{
|
|
22761
|
+
icon: "mynaui:chevron-down",
|
|
22762
|
+
className: "size-3.5 text-[var(--color-text-on-status)]"
|
|
22763
|
+
}
|
|
22764
|
+
)
|
|
22765
|
+
}
|
|
22766
|
+
) }),
|
|
22767
|
+
/* @__PURE__ */ jsx(DropdownMenuContent, { align: "end", children: /* @__PURE__ */ jsx(DropdownMenuItem, { onClick: onViewRuns, disabled: !canViewRuns, children: "View Runs" }) })
|
|
22768
|
+
] })
|
|
22769
|
+
] });
|
|
22770
|
+
}
|
|
22715
22771
|
var edgeTypes2 = {
|
|
22716
22772
|
deletable: CustomDeletableEdge
|
|
22717
22773
|
};
|
|
@@ -22772,6 +22828,7 @@ var FlowBuilder = ({ readOnly = false }) => {
|
|
|
22772
22828
|
}, [nodeTypesVersion, nodes]);
|
|
22773
22829
|
const [workflowName, setWorkflowName] = useState(name);
|
|
22774
22830
|
const [workflowAlias, setWorkflowAlias] = useState(alias || "");
|
|
22831
|
+
const [isEditingName, setIsEditingName] = useState(false);
|
|
22775
22832
|
useEffect(() => {
|
|
22776
22833
|
setWorkflowName(name);
|
|
22777
22834
|
}, [name]);
|
|
@@ -22822,6 +22879,10 @@ var FlowBuilder = ({ readOnly = false }) => {
|
|
|
22822
22879
|
useEffect(() => {
|
|
22823
22880
|
handleAutoAdjustNodeAfterNodeMeasuredRef.current = handleAutoAdjustNodeAfterNodeMeasured;
|
|
22824
22881
|
}, [handleAutoAdjustNodeAfterNodeMeasured]);
|
|
22882
|
+
const handleViewRuns = useCallback(() => {
|
|
22883
|
+
if (!id) return;
|
|
22884
|
+
navigate(`../runs?workflowKey=${encodeURIComponent(id)}`);
|
|
22885
|
+
}, [id, navigate]);
|
|
22825
22886
|
const handleNodesChange = useCallback(
|
|
22826
22887
|
(changes) => {
|
|
22827
22888
|
changes.forEach((change) => {
|
|
@@ -22845,7 +22906,7 @@ var FlowBuilder = ({ readOnly = false }) => {
|
|
|
22845
22906
|
]
|
|
22846
22907
|
);
|
|
22847
22908
|
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col h-full w-full overflow-hidden", children: [
|
|
22848
|
-
!isReadOnly && /* @__PURE__ */ jsxs(Card, { className: "h-14 shrink-0 border-0 from-primary/40 p-2 to-transparent rounded-none bg-gradient-to-
|
|
22909
|
+
!isReadOnly && /* @__PURE__ */ jsxs(Card, { className: "h-14 shrink-0 border-0 from-primary/40 p-2 to-transparent rounded-t-xl rounded-b-none bg-gradient-to-l backdrop-blur-sm mt-2 mx-4 items-center flex justify-between border border-card-foreground/10 border-b-0", children: [
|
|
22849
22910
|
/* @__PURE__ */ jsxs("div", { className: "inline-flex items-center gap-2", children: [
|
|
22850
22911
|
/* @__PURE__ */ jsx(
|
|
22851
22912
|
Button,
|
|
@@ -22865,16 +22926,46 @@ var FlowBuilder = ({ readOnly = false }) => {
|
|
|
22865
22926
|
)
|
|
22866
22927
|
}
|
|
22867
22928
|
),
|
|
22868
|
-
/* @__PURE__ */ jsx(
|
|
22929
|
+
isEditingName ? /* @__PURE__ */ jsx(
|
|
22869
22930
|
Input,
|
|
22870
22931
|
{
|
|
22871
|
-
|
|
22932
|
+
autoFocus: true,
|
|
22933
|
+
className: "text-card-foreground font-bold w-48",
|
|
22872
22934
|
type: "email",
|
|
22873
22935
|
placeholder: "Workflow Name",
|
|
22874
22936
|
value: workflowName || name,
|
|
22875
|
-
onChange: handleNameChange
|
|
22937
|
+
onChange: handleNameChange,
|
|
22938
|
+
onBlur: () => setIsEditingName(false),
|
|
22939
|
+
onKeyDown: (e) => {
|
|
22940
|
+
if (e.key === "Enter") setIsEditingName(false);
|
|
22941
|
+
}
|
|
22876
22942
|
}
|
|
22877
|
-
),
|
|
22943
|
+
) : /* @__PURE__ */ jsxs("div", { className: "group flex items-center gap-1.5", children: [
|
|
22944
|
+
/* @__PURE__ */ jsx(
|
|
22945
|
+
"div",
|
|
22946
|
+
{
|
|
22947
|
+
title: workflowName || name || "Untitled Workflow",
|
|
22948
|
+
className: "w-48 overflow-x-auto whitespace-nowrap text-card-foreground font-bold [scrollbar-width:thin]",
|
|
22949
|
+
children: workflowName || name || "Untitled Workflow"
|
|
22950
|
+
}
|
|
22951
|
+
),
|
|
22952
|
+
/* @__PURE__ */ jsx(
|
|
22953
|
+
Button,
|
|
22954
|
+
{
|
|
22955
|
+
variant: "ghost",
|
|
22956
|
+
size: "icon",
|
|
22957
|
+
className: "size-6 shrink-0 opacity-60 group-hover:opacity-100",
|
|
22958
|
+
onClick: () => setIsEditingName(true),
|
|
22959
|
+
children: /* @__PURE__ */ jsx(
|
|
22960
|
+
Icon,
|
|
22961
|
+
{
|
|
22962
|
+
icon: "mynaui:pencil",
|
|
22963
|
+
className: "size-3.5 text-card-foreground"
|
|
22964
|
+
}
|
|
22965
|
+
)
|
|
22966
|
+
}
|
|
22967
|
+
)
|
|
22968
|
+
] }),
|
|
22878
22969
|
/* @__PURE__ */ jsx(
|
|
22879
22970
|
Input,
|
|
22880
22971
|
{
|
|
@@ -22886,25 +22977,45 @@ var FlowBuilder = ({ readOnly = false }) => {
|
|
|
22886
22977
|
}
|
|
22887
22978
|
)
|
|
22888
22979
|
] }),
|
|
22889
|
-
name !== "" && /* @__PURE__ */ jsxs(
|
|
22890
|
-
/* @__PURE__ */
|
|
22891
|
-
|
|
22892
|
-
|
|
22893
|
-
{
|
|
22894
|
-
|
|
22895
|
-
|
|
22896
|
-
|
|
22897
|
-
|
|
22898
|
-
|
|
22899
|
-
|
|
22900
|
-
|
|
22901
|
-
|
|
22902
|
-
|
|
22903
|
-
|
|
22904
|
-
|
|
22905
|
-
|
|
22906
|
-
|
|
22907
|
-
|
|
22980
|
+
name !== "" && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
22981
|
+
/* @__PURE__ */ jsxs("div", { className: "hidden lg:inline-flex items-center gap-2", children: [
|
|
22982
|
+
/* @__PURE__ */ jsx(VersionHistoryPanel, {}),
|
|
22983
|
+
/* @__PURE__ */ jsx(SaveFlowButton, {}),
|
|
22984
|
+
/* @__PURE__ */ jsx(ActivateWorkflowButton, {}),
|
|
22985
|
+
/* @__PURE__ */ jsx(RunWithViewRuns, { onViewRuns: handleViewRuns, canViewRuns: !!id })
|
|
22986
|
+
] }),
|
|
22987
|
+
/* @__PURE__ */ jsx("div", { className: "lg:hidden", children: /* @__PURE__ */ jsxs(DropdownMenu, { children: [
|
|
22988
|
+
/* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
22989
|
+
Button,
|
|
22990
|
+
{
|
|
22991
|
+
variant: "ghost",
|
|
22992
|
+
size: "icon",
|
|
22993
|
+
className: "text-card-foreground",
|
|
22994
|
+
children: /* @__PURE__ */ jsx(Icon, { icon: "mynaui:dots-vertical", className: "size-5" })
|
|
22995
|
+
}
|
|
22996
|
+
) }),
|
|
22997
|
+
/* @__PURE__ */ jsxs(
|
|
22998
|
+
DropdownMenuContent,
|
|
22999
|
+
{
|
|
23000
|
+
align: "end",
|
|
23001
|
+
className: "flex flex-col gap-1.5 p-2 w-56",
|
|
23002
|
+
children: [
|
|
23003
|
+
/* @__PURE__ */ jsx(VersionHistoryPanel, { className: "w-full justify-start" }),
|
|
23004
|
+
/* @__PURE__ */ jsx(SaveFlowButton, { className: "w-full justify-start" }),
|
|
23005
|
+
/* @__PURE__ */ jsx(ActivateWorkflowButton, { className: "w-full justify-start" }),
|
|
23006
|
+
/* @__PURE__ */ jsx(
|
|
23007
|
+
RunWithViewRuns,
|
|
23008
|
+
{
|
|
23009
|
+
onViewRuns: handleViewRuns,
|
|
23010
|
+
canViewRuns: !!id,
|
|
23011
|
+
className: "w-full",
|
|
23012
|
+
runButtonClassName: "flex-1 justify-start rounded-l-lg"
|
|
23013
|
+
}
|
|
23014
|
+
)
|
|
23015
|
+
]
|
|
23016
|
+
}
|
|
23017
|
+
)
|
|
23018
|
+
] }) })
|
|
22908
23019
|
] })
|
|
22909
23020
|
] }),
|
|
22910
23021
|
/* @__PURE__ */ jsxs(
|
|
@@ -22922,7 +23033,7 @@ var FlowBuilder = ({ readOnly = false }) => {
|
|
|
22922
23033
|
el._ro?.disconnect();
|
|
22923
23034
|
el._ro = ro;
|
|
22924
23035
|
},
|
|
22925
|
-
className: "relative w-full flex-1",
|
|
23036
|
+
className: "relative w-full flex-1 rounded-b-xl border border-card-foreground/10 border-t-0 overflow-hidden ml-4 mb-1",
|
|
22926
23037
|
children: [
|
|
22927
23038
|
/* @__PURE__ */ jsx(CanvasControls, {}),
|
|
22928
23039
|
/* @__PURE__ */ jsx(
|
|
@@ -23223,11 +23334,11 @@ function WorkflowBuilder() {
|
|
|
23223
23334
|
)
|
|
23224
23335
|
] })
|
|
23225
23336
|
] }) }),
|
|
23226
|
-
children: /* @__PURE__ */ jsx(
|
|
23337
|
+
children: /* @__PURE__ */ jsx(WorkflowItem, {})
|
|
23227
23338
|
}
|
|
23228
23339
|
);
|
|
23229
23340
|
}
|
|
23230
23341
|
|
|
23231
|
-
export { Card2 as Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ConfigSchemaForm, ConnectionFormDialog, ConnectionSelector, FlowBuilderPage, FluidGridsProvider, ProviderPicker, TemplateCard,
|
|
23232
|
-
//# sourceMappingURL=chunk-
|
|
23233
|
-
//# sourceMappingURL=chunk-
|
|
23342
|
+
export { Card2 as Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ConfigSchemaForm, ConnectionFormDialog, ConnectionSelector, FlowBuilderPage, FluidGridsProvider, ProviderPicker, TemplateCard, WorkflowBuilder, getProviderForm, listCustomBlocks, refetchStoreNodes, registerCustomBlock, resolveUiSpec, stripSubmitActions, useConnection, useConnectionDialog, useConnections, useConnectionsByProvider, useCreateConnection, useFluidGridsContext, useImportWorkflowTemplate, useInitiateOAuth, useNodeExecution, useProviderByKey, useProviderCatalog, useProviders, useWorkflowTemplates };
|
|
23343
|
+
//# sourceMappingURL=chunk-LA7ELWEY.js.map
|
|
23344
|
+
//# sourceMappingURL=chunk-LA7ELWEY.js.map
|