@burdenoff/fluidgrids-fe-sdk 2026.718.1 → 2026.721.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/ExecutionDetailPage-6ASC7CJW.js +8 -0
- package/dist/{ExecutionDetailPage-R5WQJ3XX.js.map → ExecutionDetailPage-6ASC7CJW.js.map} +1 -1
- package/dist/ExecutionsListPage-OWOKDVXQ.js +8 -0
- package/dist/{ExecutionsListPage-I63SHREF.js.map → ExecutionsListPage-OWOKDVXQ.js.map} +1 -1
- package/dist/{WorkflowBuilder-TEBANNAC.js → WorkflowBuilder-BUBJLTBN.js} +5 -5
- package/dist/{WorkflowBuilder-TEBANNAC.js.map → WorkflowBuilder-BUBJLTBN.js.map} +1 -1
- package/dist/{blocks-7EN7SQRK.js → blocks-S63X5XLG.js} +4 -4
- package/dist/{blocks-7EN7SQRK.js.map → blocks-S63X5XLG.js.map} +1 -1
- package/dist/{chunk-OZ5RXLEP.js → chunk-4IMAQMRN.js} +277 -71
- package/dist/chunk-4IMAQMRN.js.map +1 -0
- package/dist/{chunk-H24I5TL6.js → chunk-52EJMXGS.js} +3 -3
- package/dist/{chunk-H24I5TL6.js.map → chunk-52EJMXGS.js.map} +1 -1
- package/dist/{chunk-JXH7PRTS.js → chunk-DVSO5MTE.js} +3 -3
- package/dist/{chunk-JXH7PRTS.js.map → chunk-DVSO5MTE.js.map} +1 -1
- package/dist/{chunk-6MZFOWEO.js → chunk-EQVBECAC.js} +2 -2
- package/dist/chunk-EQVBECAC.js.map +1 -0
- package/dist/{chunk-UYPB5TWQ.js → chunk-PNOA7CQV.js} +5 -2
- package/dist/chunk-PNOA7CQV.js.map +1 -0
- package/dist/{chunk-SWPT7IDI.js → chunk-X6I7YBLP.js} +247 -146
- package/dist/chunk-X6I7YBLP.js.map +1 -0
- package/dist/{global-operations-5FLHXHG3.js → global-operations-KVVOANLT.js} +3 -3
- package/dist/{global-operations-5FLHXHG3.js.map → global-operations-KVVOANLT.js.map} +1 -1
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/ExecutionDetailPage-R5WQJ3XX.js +0 -8
- package/dist/ExecutionsListPage-I63SHREF.js +0 -8
- package/dist/chunk-6MZFOWEO.js.map +0 -1
- package/dist/chunk-OZ5RXLEP.js.map +0 -1
- package/dist/chunk-SWPT7IDI.js.map +0 -1
- package/dist/chunk-UYPB5TWQ.js.map +0 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { ExecutionDetailPage } from './chunk-52EJMXGS.js';
|
|
2
|
+
import './chunk-EQVBECAC.js';
|
|
3
|
+
import './chunk-UIY2HBWA.js';
|
|
4
|
+
import './chunk-3ZYUGTIT.js';
|
|
5
|
+
import './chunk-4NTHFDKQ.js';
|
|
6
|
+
import './chunk-5BDQNSP3.js';
|
|
7
|
+
//# sourceMappingURL=ExecutionDetailPage-6ASC7CJW.js.map
|
|
8
|
+
//# sourceMappingURL=ExecutionDetailPage-6ASC7CJW.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"ExecutionDetailPage-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"ExecutionDetailPage-6ASC7CJW.js"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { ExecutionsListPage } from './chunk-DVSO5MTE.js';
|
|
2
|
+
import './chunk-EQVBECAC.js';
|
|
3
|
+
import './chunk-OHIRHNRJ.js';
|
|
4
|
+
import './chunk-4NTHFDKQ.js';
|
|
5
|
+
import './chunk-5BDQNSP3.js';
|
|
6
|
+
import './chunk-WWU2O2SR.js';
|
|
7
|
+
//# sourceMappingURL=ExecutionsListPage-OWOKDVXQ.js.map
|
|
8
|
+
//# sourceMappingURL=ExecutionsListPage-OWOKDVXQ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"ExecutionsListPage-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"ExecutionsListPage-OWOKDVXQ.js"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { WorkflowBuilder } from './chunk-
|
|
1
|
+
export { WorkflowBuilder } from './chunk-X6I7YBLP.js';
|
|
2
2
|
import './chunk-MRVS73S2.js';
|
|
3
3
|
import './chunk-DBOMRIP5.js';
|
|
4
|
-
import './chunk-
|
|
4
|
+
import './chunk-4IMAQMRN.js';
|
|
5
5
|
import './chunk-BQXHJIER.js';
|
|
6
|
-
import './chunk-
|
|
6
|
+
import './chunk-PNOA7CQV.js';
|
|
7
7
|
import './chunk-OHIRHNRJ.js';
|
|
8
8
|
import './chunk-KU64CCSV.js';
|
|
9
9
|
import './chunk-UIY2HBWA.js';
|
|
@@ -12,5 +12,5 @@ import './chunk-4NTHFDKQ.js';
|
|
|
12
12
|
import './chunk-5BDQNSP3.js';
|
|
13
13
|
import './chunk-WWU2O2SR.js';
|
|
14
14
|
import './chunk-XQP33UJR.js';
|
|
15
|
-
//# sourceMappingURL=WorkflowBuilder-
|
|
16
|
-
//# sourceMappingURL=WorkflowBuilder-
|
|
15
|
+
//# sourceMappingURL=WorkflowBuilder-BUBJLTBN.js.map
|
|
16
|
+
//# sourceMappingURL=WorkflowBuilder-BUBJLTBN.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowBuilder-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowBuilder-BUBJLTBN.js"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { AVAILABLE_NODES, NODES, NODES_METADATA, NODE_CONFIGS, NODE_TYPES, ensureNodeConfigsLoaded, fetchNodeManifest, isNodeConfigsInitialized, onNodeTypesUpdate, refetchStoreNodes, registerWorkflowNodeTypes } from './chunk-
|
|
1
|
+
export { AVAILABLE_NODES, NODES, NODES_METADATA, NODE_CONFIGS, NODE_TYPES, ensureNodeConfigsLoaded, fetchNodeManifest, isNodeConfigsInitialized, onNodeTypesUpdate, refetchStoreNodes, registerWorkflowNodeTypes } from './chunk-4IMAQMRN.js';
|
|
2
2
|
import './chunk-BQXHJIER.js';
|
|
3
|
-
import './chunk-
|
|
3
|
+
import './chunk-PNOA7CQV.js';
|
|
4
4
|
import './chunk-KU64CCSV.js';
|
|
5
5
|
import './chunk-UIY2HBWA.js';
|
|
6
6
|
import './chunk-3ZYUGTIT.js';
|
|
7
7
|
import './chunk-4NTHFDKQ.js';
|
|
8
8
|
import './chunk-5BDQNSP3.js';
|
|
9
9
|
import './chunk-WWU2O2SR.js';
|
|
10
|
-
//# sourceMappingURL=blocks-
|
|
11
|
-
//# sourceMappingURL=blocks-
|
|
10
|
+
//# sourceMappingURL=blocks-S63X5XLG.js.map
|
|
11
|
+
//# sourceMappingURL=blocks-S63X5XLG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"blocks-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"blocks-S63X5XLG.js"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getGlobalStoreClient } from './chunk-BQXHJIER.js';
|
|
2
|
-
import { GetMyNodeInstallationsDocument } from './chunk-
|
|
2
|
+
import { GetMyNodeInstallationsDocument } from './chunk-PNOA7CQV.js';
|
|
3
3
|
import { useFlowStore } from './chunk-KU64CCSV.js';
|
|
4
4
|
import { SdkPermissionGate, FLUIDGRIDS_PERMISSIONS } from './chunk-UIY2HBWA.js';
|
|
5
5
|
import { NodeEndpointConfigsDocument, NodeManifestDocument, throwIfResultError, UpdateWorkflowDefinitionDocument, CreateWorkflowDefinitionDocument, CreateWorkflowVersionDocument, TriggerWorkflowDocument, describeOperationError, WorkflowRunDocument } from './chunk-4NTHFDKQ.js';
|
|
@@ -6596,9 +6596,7 @@ var AUTHENTICATE_WITH_BASIC_AUTH = gql`
|
|
|
6596
6596
|
}
|
|
6597
6597
|
`;
|
|
6598
6598
|
var AUTHENTICATE_WITH_BEARER_TOKEN = gql`
|
|
6599
|
-
mutation AuthenticateWithBearerToken(
|
|
6600
|
-
$input: BearerTokenAuthInput!
|
|
6601
|
-
) {
|
|
6599
|
+
mutation AuthenticateWithBearerToken($input: BearerTokenAuthInput!) {
|
|
6602
6600
|
authenticateWithBearerToken(input: $input) {
|
|
6603
6601
|
id
|
|
6604
6602
|
name
|
|
@@ -9062,6 +9060,74 @@ function useNodeExecution() {
|
|
|
9062
9060
|
findTriggerNode
|
|
9063
9061
|
};
|
|
9064
9062
|
}
|
|
9063
|
+
function buildOperationSeed(type, operationName, existingData) {
|
|
9064
|
+
const config2 = NODE_CONFIGS.find((c) => c.type === type);
|
|
9065
|
+
if (!config2) return null;
|
|
9066
|
+
const operations = config2.operations ?? [];
|
|
9067
|
+
const op = operations.find((o) => o.name === operationName);
|
|
9068
|
+
if (!op) return null;
|
|
9069
|
+
const manifest = config2.defaultData?.nodeData;
|
|
9070
|
+
const prevArgs = existingData.args ?? {};
|
|
9071
|
+
const manifestOps = manifest?.operations;
|
|
9072
|
+
const outputHandles = manifest?.outputHandles ?? manifestOps?.outputHandles;
|
|
9073
|
+
const inputHandles = manifest?.inputHandles ?? manifestOps?.inputHandles;
|
|
9074
|
+
return {
|
|
9075
|
+
...existingData,
|
|
9076
|
+
operation_name: op.name,
|
|
9077
|
+
operation_type: op.type,
|
|
9078
|
+
args: {
|
|
9079
|
+
// Preserve default context/credentials; seed state from the op defaults.
|
|
9080
|
+
...prevArgs,
|
|
9081
|
+
state: { ...op.adaptive_card?.defaultValue ?? {} }
|
|
9082
|
+
},
|
|
9083
|
+
// Slim manifest: keep node-level metadata but only the pinned operation.
|
|
9084
|
+
nodeData: {
|
|
9085
|
+
...manifest ?? {},
|
|
9086
|
+
...outputHandles !== void 0 ? { outputHandles } : {},
|
|
9087
|
+
...inputHandles !== void 0 ? { inputHandles } : {},
|
|
9088
|
+
operations: [op]
|
|
9089
|
+
}
|
|
9090
|
+
};
|
|
9091
|
+
}
|
|
9092
|
+
function useInsertNode() {
|
|
9093
|
+
const { addNodes, screenToFlowPosition, getNodes, updateNode } = useReactFlow();
|
|
9094
|
+
return useCallback(
|
|
9095
|
+
(type, pos, operationName) => {
|
|
9096
|
+
const _pos = pos || screenToFlowPosition({
|
|
9097
|
+
x: window.innerWidth / 2,
|
|
9098
|
+
y: window.innerHeight / 2
|
|
9099
|
+
});
|
|
9100
|
+
getNodes().forEach((node) => {
|
|
9101
|
+
if (node.selected) {
|
|
9102
|
+
updateNode(node.id, { selected: false });
|
|
9103
|
+
}
|
|
9104
|
+
});
|
|
9105
|
+
const newNode = createNodeWithDefaultData(type, {
|
|
9106
|
+
position: _pos,
|
|
9107
|
+
selected: true
|
|
9108
|
+
});
|
|
9109
|
+
let pinTo = operationName;
|
|
9110
|
+
if (!pinTo) {
|
|
9111
|
+
const config2 = NODE_CONFIGS.find((c) => c.type === type);
|
|
9112
|
+
const ops = config2?.operations ?? [];
|
|
9113
|
+
if (ops.length === 1 && ops[0]?.name) {
|
|
9114
|
+
pinTo = ops[0].name;
|
|
9115
|
+
}
|
|
9116
|
+
}
|
|
9117
|
+
if (pinTo) {
|
|
9118
|
+
const seeded = buildOperationSeed(
|
|
9119
|
+
type,
|
|
9120
|
+
pinTo,
|
|
9121
|
+
newNode.data ?? {}
|
|
9122
|
+
);
|
|
9123
|
+
if (seeded) newNode.data = seeded;
|
|
9124
|
+
}
|
|
9125
|
+
addNodes(newNode);
|
|
9126
|
+
return newNode;
|
|
9127
|
+
},
|
|
9128
|
+
[screenToFlowPosition, getNodes, addNodes, updateNode]
|
|
9129
|
+
);
|
|
9130
|
+
}
|
|
9065
9131
|
function isAdapterCompatible(adapterFilter, adapterType, targetNodeKind, targetAdapterOutputType, targetNodeType) {
|
|
9066
9132
|
if (adapterType && targetAdapterOutputType && adapterType !== targetAdapterOutputType) {
|
|
9067
9133
|
return false;
|
|
@@ -9078,72 +9144,212 @@ function isAdapterCompatible(adapterFilter, adapterType, targetNodeKind, targetA
|
|
|
9078
9144
|
}
|
|
9079
9145
|
return true;
|
|
9080
9146
|
}
|
|
9081
|
-
function
|
|
9147
|
+
function useCompatibleSubNodes(adapter) {
|
|
9148
|
+
return useMemo(() => {
|
|
9149
|
+
const out = [];
|
|
9150
|
+
for (const cfg of NODE_CONFIGS) {
|
|
9151
|
+
const nodeData = cfg.defaultData?.nodeData;
|
|
9152
|
+
if (!nodeData?.adapterOutputType && !nodeData?.supportsAdapterMode) {
|
|
9153
|
+
continue;
|
|
9154
|
+
}
|
|
9155
|
+
if (!isAdapterCompatible(
|
|
9156
|
+
adapter.filter,
|
|
9157
|
+
adapter.type,
|
|
9158
|
+
nodeData?.kind,
|
|
9159
|
+
nodeData?.adapterOutputType,
|
|
9160
|
+
cfg.type
|
|
9161
|
+
)) {
|
|
9162
|
+
continue;
|
|
9163
|
+
}
|
|
9164
|
+
const ops = cfg.operations ?? [];
|
|
9165
|
+
out.push({
|
|
9166
|
+
type: cfg.type,
|
|
9167
|
+
title: cfg.detail?.title || nodeData?.name || cfg.type,
|
|
9168
|
+
icon: cfg.detail?.icon || nodeData?.icon || "mynaui:puzzle",
|
|
9169
|
+
description: cfg.detail?.description || nodeData?.description,
|
|
9170
|
+
adapterOperation: ops.find((o) => o.isAdapterOperation)?.name
|
|
9171
|
+
});
|
|
9172
|
+
}
|
|
9173
|
+
return out.sort((a, b) => a.title.localeCompare(b.title));
|
|
9174
|
+
}, [adapter.filter, adapter.type]);
|
|
9175
|
+
}
|
|
9176
|
+
function AdapterPort({
|
|
9082
9177
|
nodeId,
|
|
9083
|
-
|
|
9178
|
+
adapter,
|
|
9179
|
+
index,
|
|
9180
|
+
total
|
|
9084
9181
|
}) {
|
|
9085
|
-
const
|
|
9086
|
-
nodeLookup: nodeLookup2,
|
|
9087
|
-
edges: edges2
|
|
9088
|
-
}));
|
|
9182
|
+
const edges = useStore((s) => s.edges);
|
|
9089
9183
|
const { getNode } = useReactFlow();
|
|
9090
|
-
|
|
9091
|
-
|
|
9092
|
-
|
|
9093
|
-
|
|
9094
|
-
|
|
9095
|
-
|
|
9096
|
-
|
|
9097
|
-
|
|
9098
|
-
|
|
9099
|
-
|
|
9100
|
-
|
|
9101
|
-
|
|
9102
|
-
|
|
9103
|
-
|
|
9104
|
-
|
|
9105
|
-
|
|
9184
|
+
const insertNode = useInsertNode();
|
|
9185
|
+
const onConnect = useFlowStore((s) => s.actions.edges.onConnect);
|
|
9186
|
+
const [pickerOpen, setPickerOpen] = useState(false);
|
|
9187
|
+
const candidates = useCompatibleSubNodes(adapter);
|
|
9188
|
+
const connectionCount = edges.filter(
|
|
9189
|
+
(e) => e.source === nodeId && e.sourceHandle === adapter.name
|
|
9190
|
+
).length;
|
|
9191
|
+
const isAtMaxConnections = adapter.maxConnections != null && adapter.maxConnections !== void 0 && connectionCount >= adapter.maxConnections;
|
|
9192
|
+
const hasConnection = connectionCount > 0;
|
|
9193
|
+
const diamondColor = hasConnection ? "bg-[var(--color-accent-primary)]" : "bg-[var(--color-text-muted)]";
|
|
9194
|
+
const lineColor = hasConnection ? "before:bg-[var(--color-accent-primary)]" : "before:bg-[var(--color-border-strong)]";
|
|
9195
|
+
const addSubNode = useCallback(
|
|
9196
|
+
(candidate) => {
|
|
9197
|
+
setPickerOpen(false);
|
|
9198
|
+
const parent = getNode(nodeId);
|
|
9199
|
+
const origin = parent?.position ?? { x: 0, y: 0 };
|
|
9200
|
+
const parentHeight = parent?.measured?.height ?? 180;
|
|
9201
|
+
const SPACING = 180;
|
|
9202
|
+
const position = {
|
|
9203
|
+
x: origin.x + (index - (total - 1) / 2) * SPACING,
|
|
9204
|
+
y: origin.y + parentHeight + 190
|
|
9205
|
+
};
|
|
9206
|
+
const created = insertNode(
|
|
9207
|
+
candidate.type,
|
|
9208
|
+
position,
|
|
9209
|
+
candidate.adapterOperation
|
|
9210
|
+
);
|
|
9211
|
+
if (!created?.id) return;
|
|
9212
|
+
onConnect({
|
|
9213
|
+
source: nodeId,
|
|
9214
|
+
sourceHandle: adapter.name,
|
|
9215
|
+
target: created.id,
|
|
9216
|
+
targetHandle: "target"
|
|
9217
|
+
});
|
|
9218
|
+
},
|
|
9219
|
+
[getNode, nodeId, index, total, insertNode, onConnect, adapter.name]
|
|
9220
|
+
);
|
|
9221
|
+
return /* @__PURE__ */ jsx("div", { className: "relative", children: /* @__PURE__ */ jsxs(
|
|
9222
|
+
"div",
|
|
9223
|
+
{
|
|
9224
|
+
className: `p-0.5 m-0.5 text-center before:content-[''] before:h-[95%] before:left-1/2 before:-translate-x-1/2 before:w-0.5 ${lineColor} before:absolute before:top-0 before:pointer-events-none`,
|
|
9225
|
+
children: [
|
|
9226
|
+
/* @__PURE__ */ jsx("div", { className: "absolute -top-3 left-1/2 transform -translate-x-1/2 pointer-events-none", children: /* @__PURE__ */ jsx(
|
|
9227
|
+
"div",
|
|
9228
|
+
{
|
|
9229
|
+
className: `w-3 h-3 ${diamondColor} rotate-45 transition-transform hover:scale-110`
|
|
9230
|
+
}
|
|
9231
|
+
) }),
|
|
9232
|
+
/* @__PURE__ */ jsx("div", { className: "mt-3 z-10 absolute left-1/2 transform -translate-x-1/2 font-medium bg-surface h-fit pointer-events-none", children: /* @__PURE__ */ jsxs("span", { className: "text-xs max-w-fit relative font-medium text-[var(--color-text-secondary)] whitespace-nowrap", children: [
|
|
9233
|
+
adapter?.name,
|
|
9234
|
+
adapter?.required && /* @__PURE__ */ jsx("span", { className: "text-[var(--color-status-error-text)] absolute -right-2 top-[1px]", children: "*" })
|
|
9235
|
+
] }) }),
|
|
9236
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-16 flex flex-col items-center gap-1.5", children: [
|
|
9237
|
+
!isAtMaxConnections && /* @__PURE__ */ jsx(
|
|
9238
|
+
"button",
|
|
9239
|
+
{
|
|
9240
|
+
type: "button",
|
|
9241
|
+
title: `Add ${adapter.name}`,
|
|
9242
|
+
"aria-label": `Add ${adapter.name}`,
|
|
9243
|
+
onClick: (e) => {
|
|
9244
|
+
e.stopPropagation();
|
|
9245
|
+
setPickerOpen((v) => !v);
|
|
9246
|
+
},
|
|
9247
|
+
className: "w-5 h-5 border-2 border-[var(--color-border-strong)] rounded text-[var(--color-text-secondary)] text-lg leading-none font-bold bg-surface flex items-center justify-center transition-colors hover:border-[var(--color-accent-primary)] hover:text-[var(--color-accent-primary)] cursor-pointer",
|
|
9248
|
+
children: "+"
|
|
9249
|
+
}
|
|
9250
|
+
),
|
|
9251
|
+
isAtMaxConnections && /* @__PURE__ */ jsx(
|
|
9106
9252
|
"div",
|
|
9107
9253
|
{
|
|
9108
|
-
|
|
9254
|
+
title: `${adapter.name} is full`,
|
|
9255
|
+
className: "w-5 h-5 border-2 border-[var(--color-border-subtle)] rounded text-[var(--color-text-disabled)] text-lg leading-none font-bold bg-surface flex items-center justify-center",
|
|
9256
|
+
children: "\u2022"
|
|
9109
9257
|
}
|
|
9110
|
-
)
|
|
9111
|
-
/* @__PURE__ */ jsx(
|
|
9112
|
-
|
|
9113
|
-
|
|
9114
|
-
|
|
9115
|
-
|
|
9116
|
-
|
|
9117
|
-
|
|
9118
|
-
|
|
9119
|
-
|
|
9120
|
-
|
|
9121
|
-
|
|
9122
|
-
|
|
9123
|
-
|
|
9124
|
-
|
|
9125
|
-
|
|
9126
|
-
|
|
9127
|
-
|
|
9128
|
-
|
|
9129
|
-
|
|
9130
|
-
|
|
9131
|
-
|
|
9132
|
-
return isAdapterCompatible(
|
|
9133
|
-
adapter.filter,
|
|
9134
|
-
adapter.type,
|
|
9135
|
-
targetNodeData?.kind,
|
|
9136
|
-
targetNodeData?.adapterOutputType,
|
|
9137
|
-
targetNode.type
|
|
9138
|
-
);
|
|
9139
|
-
}
|
|
9258
|
+
),
|
|
9259
|
+
/* @__PURE__ */ jsx(
|
|
9260
|
+
Handle,
|
|
9261
|
+
{
|
|
9262
|
+
type: "source",
|
|
9263
|
+
position: Position.Bottom,
|
|
9264
|
+
id: adapter?.name,
|
|
9265
|
+
className: "!relative !top-auto !left-auto !right-auto !bottom-auto !transform-none !w-2.5 !h-2.5 !min-w-0 !min-h-0 !rounded-full !border-0 bg-[var(--color-accent-primary)]",
|
|
9266
|
+
isConnectable: !isAtMaxConnections,
|
|
9267
|
+
isValidConnection: (connection) => {
|
|
9268
|
+
if (!adapter.type && !adapter.filter) return true;
|
|
9269
|
+
const targetNode = getNode(connection.target);
|
|
9270
|
+
if (!targetNode) return true;
|
|
9271
|
+
const targetData = targetNode.data;
|
|
9272
|
+
const targetNodeData = targetData?.nodeData;
|
|
9273
|
+
return isAdapterCompatible(
|
|
9274
|
+
adapter.filter,
|
|
9275
|
+
adapter.type,
|
|
9276
|
+
targetNodeData?.kind,
|
|
9277
|
+
targetNodeData?.adapterOutputType,
|
|
9278
|
+
targetNode.type
|
|
9279
|
+
);
|
|
9140
9280
|
}
|
|
9141
|
-
|
|
9281
|
+
}
|
|
9282
|
+
)
|
|
9283
|
+
] }),
|
|
9284
|
+
pickerOpen && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
9285
|
+
/* @__PURE__ */ jsx(
|
|
9286
|
+
"div",
|
|
9287
|
+
{
|
|
9288
|
+
className: "fixed inset-0 z-40",
|
|
9289
|
+
onClick: () => setPickerOpen(false)
|
|
9290
|
+
}
|
|
9291
|
+
),
|
|
9292
|
+
/* @__PURE__ */ jsxs("div", { className: "absolute z-50 top-[86px] left-1/2 -translate-x-1/2 w-60 rounded-lg border border-[var(--color-border-default)] bg-[var(--color-surface-elevated)] shadow-xl overflow-hidden text-left nodrag nowheel", children: [
|
|
9293
|
+
/* @__PURE__ */ jsxs("div", { className: "px-3 py-2 border-b border-[var(--color-border-subtle)]", children: [
|
|
9294
|
+
/* @__PURE__ */ jsxs("p", { className: "text-xs font-semibold text-[var(--color-text-primary)]", children: [
|
|
9295
|
+
"Add ",
|
|
9296
|
+
adapter.name
|
|
9297
|
+
] }),
|
|
9298
|
+
/* @__PURE__ */ jsxs("p", { className: "text-[10px] text-[var(--color-text-muted)]", children: [
|
|
9299
|
+
candidates.length,
|
|
9300
|
+
" compatible node",
|
|
9301
|
+
candidates.length === 1 ? "" : "s"
|
|
9302
|
+
] })
|
|
9303
|
+
] }),
|
|
9304
|
+
/* @__PURE__ */ jsxs("div", { className: "max-h-56 overflow-y-auto", children: [
|
|
9305
|
+
candidates.length === 0 && /* @__PURE__ */ jsx("p", { className: "px-3 py-3 text-[11px] text-[var(--color-text-muted)]", children: "No compatible node installed. Publish and install one from the Node Store first." }),
|
|
9306
|
+
candidates.map((c) => /* @__PURE__ */ jsxs(
|
|
9307
|
+
"button",
|
|
9308
|
+
{
|
|
9309
|
+
type: "button",
|
|
9310
|
+
onClick: (e) => {
|
|
9311
|
+
e.stopPropagation();
|
|
9312
|
+
addSubNode(c);
|
|
9313
|
+
},
|
|
9314
|
+
className: "w-full flex items-start gap-2 px-3 py-2 hover:bg-[var(--color-bg-elevated)] transition-colors text-left",
|
|
9315
|
+
children: [
|
|
9316
|
+
/* @__PURE__ */ jsx(
|
|
9317
|
+
Icon,
|
|
9318
|
+
{
|
|
9319
|
+
icon: c.icon,
|
|
9320
|
+
className: "size-4 mt-0.5 shrink-0 text-[var(--color-accent-primary)]"
|
|
9321
|
+
}
|
|
9322
|
+
),
|
|
9323
|
+
/* @__PURE__ */ jsxs("span", { className: "min-w-0", children: [
|
|
9324
|
+
/* @__PURE__ */ jsx("span", { className: "block text-xs text-[var(--color-text-primary)] truncate", children: c.title }),
|
|
9325
|
+
c.description && /* @__PURE__ */ jsx("span", { className: "block text-[10px] text-[var(--color-text-muted)] line-clamp-2", children: c.description })
|
|
9326
|
+
] })
|
|
9327
|
+
]
|
|
9328
|
+
},
|
|
9329
|
+
c.type
|
|
9330
|
+
))
|
|
9331
|
+
] })
|
|
9142
9332
|
] })
|
|
9143
|
-
]
|
|
9144
|
-
|
|
9145
|
-
|
|
9146
|
-
|
|
9333
|
+
] })
|
|
9334
|
+
]
|
|
9335
|
+
}
|
|
9336
|
+
) });
|
|
9337
|
+
}
|
|
9338
|
+
function AdapterConnectors({
|
|
9339
|
+
nodeId,
|
|
9340
|
+
adapters
|
|
9341
|
+
}) {
|
|
9342
|
+
if (!adapters || adapters.length === 0) return null;
|
|
9343
|
+
return /* @__PURE__ */ jsx("div", { className: "left-0 w-full flex justify-around mt-[6.5px]", children: adapters.map((adapter, i) => /* @__PURE__ */ jsx(
|
|
9344
|
+
AdapterPort,
|
|
9345
|
+
{
|
|
9346
|
+
nodeId,
|
|
9347
|
+
adapter,
|
|
9348
|
+
index: i,
|
|
9349
|
+
total: adapters.length
|
|
9350
|
+
},
|
|
9351
|
+
adapter.name
|
|
9352
|
+
)) });
|
|
9147
9353
|
}
|
|
9148
9354
|
function SubNodeComponent({
|
|
9149
9355
|
id,
|
|
@@ -9175,26 +9381,26 @@ function SubNodeComponent({
|
|
|
9175
9381
|
position: Position.Top,
|
|
9176
9382
|
id: "target",
|
|
9177
9383
|
isConnectable,
|
|
9178
|
-
className: "size-2.5 bg-accent border-2 border-
|
|
9384
|
+
className: "size-2.5 bg-[var(--color-accent-primary)] border-2 border-[var(--color-border-strong)]"
|
|
9179
9385
|
}
|
|
9180
9386
|
),
|
|
9181
|
-
/* @__PURE__ */ jsx("div", { className: "w-0.5 h-4 border-l-2 border-dashed border-
|
|
9182
|
-
/* @__PURE__ */ jsx("span", { className: "text-[10px] text-
|
|
9387
|
+
/* @__PURE__ */ jsx("div", { className: "w-0.5 h-4 border-l-2 border-dashed border-[var(--color-border-strong)]" }),
|
|
9388
|
+
/* @__PURE__ */ jsx("span", { className: "text-[10px] text-[var(--color-text-muted)] 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" }),
|
|
9183
9389
|
/* @__PURE__ */ jsx(
|
|
9184
9390
|
"div",
|
|
9185
9391
|
{
|
|
9186
|
-
className: `w-14 h-14 rounded-full bg-
|
|
9392
|
+
className: `w-14 h-14 rounded-full bg-[var(--color-surface-elevated)] border-2 border-[var(--color-border-strong)] flex items-center justify-center shadow-lg cursor-pointer transition-all hover:border-[var(--color-accent-primary)] hover:shadow-xl ${statusRing}`,
|
|
9187
9393
|
onDoubleClick: handleShowNodeProperties,
|
|
9188
9394
|
"data-selected": selected,
|
|
9189
9395
|
children: /* @__PURE__ */ jsx(Icon, { icon: meta.icon, className: "w-7 h-7 text-accent opacity-80" })
|
|
9190
9396
|
}
|
|
9191
9397
|
),
|
|
9192
|
-
/* @__PURE__ */ jsx("span", { className: "mt-1.5 text-xs text-
|
|
9398
|
+
/* @__PURE__ */ jsx("span", { className: "mt-1.5 text-xs text-[var(--color-text-secondary)] font-medium text-center max-w-24 leading-tight", children: meta.title }),
|
|
9193
9399
|
/* @__PURE__ */ jsx(
|
|
9194
9400
|
"button",
|
|
9195
9401
|
{
|
|
9196
9402
|
onClick: () => deleteNode(id),
|
|
9197
|
-
className: "absolute -top-1 -right-1 w-4 h-4 rounded-full bg-
|
|
9403
|
+
className: "absolute -top-1 -right-1 w-4 h-4 rounded-full bg-[var(--color-status-error)] text-white text-[10px] flex items-center justify-center opacity-0 group-hover:opacity-100 hover:bg-[var(--color-status-error)] transition-opacity",
|
|
9198
9404
|
children: "\xD7"
|
|
9199
9405
|
}
|
|
9200
9406
|
),
|
|
@@ -9751,6 +9957,6 @@ function registerWorkflowNodeTypes(workflowNodes) {
|
|
|
9751
9957
|
}
|
|
9752
9958
|
}
|
|
9753
9959
|
|
|
9754
|
-
export { AVAILABLE_NODES, ConfigSchemaForm, ConnectionFormDialog, ConnectionSelector, NODES, NODES_METADATA, NODE_CONFIGS, NODE_TYPES, NodePropertyPanel, ProviderPicker,
|
|
9755
|
-
//# sourceMappingURL=chunk-
|
|
9756
|
-
//# sourceMappingURL=chunk-
|
|
9960
|
+
export { AVAILABLE_NODES, ConfigSchemaForm, ConnectionFormDialog, ConnectionSelector, NODES, NODES_METADATA, NODE_CONFIGS, NODE_TYPES, NodePropertyPanel, ProviderPicker, ensureNodeConfigsLoaded, fetchNodeManifest, getNodeDetail, getNodeMetadata, getProviderForm, isNodeConfigsInitialized, listCustomBlocks, onNodeTypesUpdate, refetchStoreNodes, registerCustomBlock, registerWorkflowNodeTypes, resolveUiSpec, stripSubmitActions, useConnection, useConnectionDialog, useConnections, useConnectionsByProvider, useCreateConnection, useInitiateOAuth, useInsertNode, useNodeExecution, useProviderByKey, useProviderCatalog, useProviders, useSaveWorkflow };
|
|
9961
|
+
//# sourceMappingURL=chunk-4IMAQMRN.js.map
|
|
9962
|
+
//# sourceMappingURL=chunk-4IMAQMRN.js.map
|