@burdenoff/fluidgrids-fe-sdk 2026.720.1 → 2026.721.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
- export { WorkflowBuilder } from './chunk-JVARXRIW.js';
1
+ export { WorkflowBuilder } from './chunk-R72R5HRD.js';
2
2
  import './chunk-MRVS73S2.js';
3
3
  import './chunk-DBOMRIP5.js';
4
- import './chunk-S2Z7ZTGV.js';
4
+ import './chunk-2MQR3DMF.js';
5
5
  import './chunk-BQXHJIER.js';
6
6
  import './chunk-PNOA7CQV.js';
7
7
  import './chunk-OHIRHNRJ.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-COJQ2YBJ.js.map
16
- //# sourceMappingURL=WorkflowBuilder-COJQ2YBJ.js.map
15
+ //# sourceMappingURL=WorkflowBuilder-UADGCKNH.js.map
16
+ //# sourceMappingURL=WorkflowBuilder-UADGCKNH.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowBuilder-COJQ2YBJ.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowBuilder-UADGCKNH.js"}
@@ -1,4 +1,4 @@
1
- export { AVAILABLE_NODES, NODES, NODES_METADATA, NODE_CONFIGS, NODE_TYPES, ensureNodeConfigsLoaded, fetchNodeManifest, isNodeConfigsInitialized, onNodeTypesUpdate, refetchStoreNodes, registerWorkflowNodeTypes } from './chunk-S2Z7ZTGV.js';
1
+ export { AVAILABLE_NODES, NODES, NODES_METADATA, NODE_CONFIGS, NODE_TYPES, ensureNodeConfigsLoaded, fetchNodeManifest, isNodeConfigsInitialized, onNodeTypesUpdate, refetchStoreNodes, registerWorkflowNodeTypes } from './chunk-2MQR3DMF.js';
2
2
  import './chunk-BQXHJIER.js';
3
3
  import './chunk-PNOA7CQV.js';
4
4
  import './chunk-KU64CCSV.js';
@@ -7,5 +7,5 @@ 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-J3YIE73T.js.map
11
- //# sourceMappingURL=blocks-J3YIE73T.js.map
10
+ //# sourceMappingURL=blocks-RO3MCVHA.js.map
11
+ //# sourceMappingURL=blocks-RO3MCVHA.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"blocks-J3YIE73T.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"blocks-RO3MCVHA.js"}
@@ -9060,6 +9060,79 @@ function useNodeExecution() {
9060
9060
  findTriggerNode
9061
9061
  };
9062
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 allOps = config2?.operations ?? [];
9113
+ const ops = allOps.filter(
9114
+ (op) => !op.isAdapterOperation && !op.internal
9115
+ );
9116
+ if (ops.length === 1 && ops[0]?.name) {
9117
+ pinTo = ops[0].name;
9118
+ } else if (ops.length === 0 && allOps.length > 0) {
9119
+ pinTo = allOps.find((op) => op.isAdapterOperation)?.name;
9120
+ }
9121
+ }
9122
+ if (pinTo) {
9123
+ const seeded = buildOperationSeed(
9124
+ type,
9125
+ pinTo,
9126
+ newNode.data ?? {}
9127
+ );
9128
+ if (seeded) newNode.data = seeded;
9129
+ }
9130
+ addNodes(newNode);
9131
+ return newNode;
9132
+ },
9133
+ [screenToFlowPosition, getNodes, addNodes, updateNode]
9134
+ );
9135
+ }
9063
9136
  function isAdapterCompatible(adapterFilter, adapterType, targetNodeKind, targetAdapterOutputType, targetNodeType) {
9064
9137
  if (adapterType && targetAdapterOutputType && adapterType !== targetAdapterOutputType) {
9065
9138
  return false;
@@ -9076,72 +9149,216 @@ function isAdapterCompatible(adapterFilter, adapterType, targetNodeKind, targetA
9076
9149
  }
9077
9150
  return true;
9078
9151
  }
9079
- function AdapterConnectors({
9152
+ function useCompatibleSubNodes(adapter) {
9153
+ return useMemo(() => {
9154
+ const out = [];
9155
+ for (const cfg of NODE_CONFIGS) {
9156
+ const nodeData = cfg.defaultData?.nodeData;
9157
+ if (!nodeData?.adapterOutputType && !nodeData?.supportsAdapterMode) {
9158
+ continue;
9159
+ }
9160
+ if (!isAdapterCompatible(
9161
+ adapter.filter,
9162
+ adapter.type,
9163
+ nodeData?.kind,
9164
+ nodeData?.adapterOutputType,
9165
+ cfg.type
9166
+ )) {
9167
+ continue;
9168
+ }
9169
+ const ops = cfg.operations ?? [];
9170
+ out.push({
9171
+ type: cfg.type,
9172
+ title: cfg.detail?.title || nodeData?.name || cfg.type,
9173
+ icon: cfg.detail?.icon || nodeData?.icon || "mynaui:puzzle",
9174
+ description: cfg.detail?.description || nodeData?.description,
9175
+ adapterOperation: ops.find((o) => o.isAdapterOperation)?.name
9176
+ });
9177
+ }
9178
+ return out.sort((a, b) => a.title.localeCompare(b.title));
9179
+ }, [adapter.filter, adapter.type]);
9180
+ }
9181
+ function AdapterPort({
9080
9182
  nodeId,
9081
- adapters
9183
+ adapter,
9184
+ index,
9185
+ total
9082
9186
  }) {
9083
- const { nodeLookup, edges } = useStore(({ nodeLookup: nodeLookup2, edges: edges2 }) => ({
9084
- nodeLookup: nodeLookup2,
9085
- edges: edges2
9086
- }));
9187
+ const edges = useStore((s) => s.edges);
9087
9188
  const { getNode } = useReactFlow();
9088
- if (!adapters || adapters.length === 0) return null;
9089
- return /* @__PURE__ */ jsx("div", { className: "left-0 w-full flex justify-around mt-[6.5px]", children: adapters.map((adapter) => {
9090
- const adapterEdges = edges.filter(
9091
- (e) => e.source === nodeId && e.sourceHandle === adapter.name
9092
- );
9093
- const connectionCount = adapterEdges.length;
9094
- const isAtMaxConnections = adapter.maxConnections != null && adapter.maxConnections !== void 0 && connectionCount >= adapter.maxConnections;
9095
- const hasConnection = connectionCount > 0;
9096
- const diamondColor = hasConnection ? "bg-accent" : "bg-accent/60";
9097
- const lineColor = hasConnection ? "before:bg-accent" : "before:bg-accent/60";
9098
- return /* @__PURE__ */ jsx("div", { className: "relative", children: /* @__PURE__ */ jsxs(
9099
- "div",
9100
- {
9101
- className: `p-0.5 m-0.5 text-center before:content-[''] before:h-[95%] before:-z-10 before:left-1/2 before:-translate-x-1/2 before:w-0.5 ${lineColor} before:absolute before:top-0`,
9102
- children: [
9103
- /* @__PURE__ */ jsx("div", { className: "absolute -top-3 left-1/2 transform -translate-x-1/2", children: /* @__PURE__ */ jsx(
9189
+ const insertNode = useInsertNode();
9190
+ const onConnect = useFlowStore((s) => s.actions.edges.onConnect);
9191
+ const [pickerOpen, setPickerOpen] = useState(false);
9192
+ const candidates = useCompatibleSubNodes(adapter);
9193
+ const connectionCount = edges.filter(
9194
+ (e) => e.source === nodeId && e.sourceHandle === adapter.name
9195
+ ).length;
9196
+ const isAtMaxConnections = adapter.maxConnections != null && adapter.maxConnections !== void 0 && connectionCount >= adapter.maxConnections;
9197
+ const hasConnection = connectionCount > 0;
9198
+ const diamondColor = hasConnection ? "bg-[var(--color-accent-primary)]" : "bg-[var(--color-text-muted)]";
9199
+ const lineColor = hasConnection ? "before:bg-[var(--color-accent-primary)]" : "before:bg-[var(--color-border-strong)]";
9200
+ const addSubNode = useCallback(
9201
+ (candidate) => {
9202
+ setPickerOpen(false);
9203
+ const parent = getNode(nodeId);
9204
+ const origin = parent?.position ?? { x: 0, y: 0 };
9205
+ const parentHeight = parent?.measured?.height ?? 180;
9206
+ const SPACING = 180;
9207
+ const position = {
9208
+ x: origin.x + (index - (total - 1) / 2) * SPACING,
9209
+ y: origin.y + parentHeight + 190
9210
+ };
9211
+ const created = insertNode(
9212
+ candidate.type,
9213
+ position,
9214
+ candidate.adapterOperation
9215
+ );
9216
+ if (!created?.id) return;
9217
+ created.data = {
9218
+ ...created.data,
9219
+ isAdapterInstance: true
9220
+ };
9221
+ onConnect({
9222
+ source: nodeId,
9223
+ sourceHandle: adapter.name,
9224
+ target: created.id,
9225
+ targetHandle: "target"
9226
+ });
9227
+ },
9228
+ [getNode, nodeId, index, total, insertNode, onConnect, adapter.name]
9229
+ );
9230
+ return /* @__PURE__ */ jsx("div", { className: "relative", children: /* @__PURE__ */ jsxs(
9231
+ "div",
9232
+ {
9233
+ 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`,
9234
+ children: [
9235
+ /* @__PURE__ */ jsx("div", { className: "absolute -top-3 left-1/2 transform -translate-x-1/2 pointer-events-none", children: /* @__PURE__ */ jsx(
9236
+ "div",
9237
+ {
9238
+ className: `w-3 h-3 ${diamondColor} rotate-45 transition-transform hover:scale-110`
9239
+ }
9240
+ ) }),
9241
+ /* @__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: [
9242
+ adapter?.name,
9243
+ adapter?.required && /* @__PURE__ */ jsx("span", { className: "text-[var(--color-status-error-text)] absolute -right-2 top-[1px]", children: "*" })
9244
+ ] }) }),
9245
+ /* @__PURE__ */ jsxs("div", { className: "mt-16 flex flex-col items-center gap-1.5", children: [
9246
+ !isAtMaxConnections && /* @__PURE__ */ jsx(
9247
+ "button",
9248
+ {
9249
+ type: "button",
9250
+ title: `Add ${adapter.name}`,
9251
+ "aria-label": `Add ${adapter.name}`,
9252
+ onClick: (e) => {
9253
+ e.stopPropagation();
9254
+ setPickerOpen((v) => !v);
9255
+ },
9256
+ 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",
9257
+ children: "+"
9258
+ }
9259
+ ),
9260
+ isAtMaxConnections && /* @__PURE__ */ jsx(
9104
9261
  "div",
9105
9262
  {
9106
- className: `w-2.5 h-2.5 ${diamondColor} rotate-45 transition-transform hover:scale-110`
9263
+ title: `${adapter.name} is full`,
9264
+ 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",
9265
+ children: "\u2022"
9107
9266
  }
9108
- ) }),
9109
- /* @__PURE__ */ jsx("div", { className: "mt-3 z-10 absolute left-1/2 transform -translate-x-1/2 text-accent font-medium bg-surface h-fit", children: /* @__PURE__ */ jsxs("span", { className: "text-xs max-w-fit relative font-medium text-accent whitespace-nowrap", children: [
9110
- adapter?.name,
9111
- adapter?.required && /* @__PURE__ */ jsx("span", { className: "text-[var(--color-status-error-text)] absolute -right-2 top-[1px]", children: "*" })
9112
- ] }) }),
9113
- /* @__PURE__ */ jsxs("div", { className: "mt-16 flex justify-center", children: [
9114
- !isAtMaxConnections && /* @__PURE__ */ jsx("div", { className: "w-5 h-5 border-2 border-accent/60 rounded text-accent text-2xl font-bold bg-surface flex items-center justify-center transition-colors hover:bg-accent/10 cursor-pointer", children: "+" }),
9115
- isAtMaxConnections && /* @__PURE__ */ jsx("div", { className: "w-5 h-5 border-2 border-accent/30 rounded text-accent/30 text-2xl font-bold bg-surface flex items-center justify-center", children: "\u2022" }),
9116
- /* @__PURE__ */ jsx(
9117
- Handle,
9118
- {
9119
- type: "source",
9120
- position: Position.Bottom,
9121
- id: adapter?.name,
9122
- className: "mb-[15px] text-accent bg-accent",
9123
- isConnectable: !isAtMaxConnections,
9124
- isValidConnection: (connection) => {
9125
- if (!adapter.type && !adapter.filter) return true;
9126
- const targetNode = getNode(connection.target);
9127
- if (!targetNode) return true;
9128
- const targetData = targetNode.data;
9129
- const targetNodeData = targetData?.nodeData;
9130
- return isAdapterCompatible(
9131
- adapter.filter,
9132
- adapter.type,
9133
- targetNodeData?.kind,
9134
- targetNodeData?.adapterOutputType,
9135
- targetNode.type
9136
- );
9137
- }
9267
+ ),
9268
+ /* @__PURE__ */ jsx(
9269
+ Handle,
9270
+ {
9271
+ type: "source",
9272
+ position: Position.Bottom,
9273
+ id: adapter?.name,
9274
+ 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)]",
9275
+ isConnectable: !isAtMaxConnections,
9276
+ isValidConnection: (connection) => {
9277
+ if (!adapter.type && !adapter.filter) return true;
9278
+ const targetNode = getNode(connection.target);
9279
+ if (!targetNode) return true;
9280
+ const targetData = targetNode.data;
9281
+ const targetNodeData = targetData?.nodeData;
9282
+ return isAdapterCompatible(
9283
+ adapter.filter,
9284
+ adapter.type,
9285
+ targetNodeData?.kind,
9286
+ targetNodeData?.adapterOutputType,
9287
+ targetNode.type
9288
+ );
9138
9289
  }
9139
- )
9290
+ }
9291
+ )
9292
+ ] }),
9293
+ pickerOpen && /* @__PURE__ */ jsxs(Fragment, { children: [
9294
+ /* @__PURE__ */ jsx(
9295
+ "div",
9296
+ {
9297
+ className: "fixed inset-0 z-40",
9298
+ onClick: () => setPickerOpen(false)
9299
+ }
9300
+ ),
9301
+ /* @__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: [
9302
+ /* @__PURE__ */ jsxs("div", { className: "px-3 py-2 border-b border-[var(--color-border-subtle)]", children: [
9303
+ /* @__PURE__ */ jsxs("p", { className: "text-xs font-semibold text-[var(--color-text-primary)]", children: [
9304
+ "Add ",
9305
+ adapter.name
9306
+ ] }),
9307
+ /* @__PURE__ */ jsxs("p", { className: "text-[10px] text-[var(--color-text-muted)]", children: [
9308
+ candidates.length,
9309
+ " compatible node",
9310
+ candidates.length === 1 ? "" : "s"
9311
+ ] })
9312
+ ] }),
9313
+ /* @__PURE__ */ jsxs("div", { className: "max-h-56 overflow-y-auto", children: [
9314
+ 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." }),
9315
+ candidates.map((c) => /* @__PURE__ */ jsxs(
9316
+ "button",
9317
+ {
9318
+ type: "button",
9319
+ onClick: (e) => {
9320
+ e.stopPropagation();
9321
+ addSubNode(c);
9322
+ },
9323
+ className: "w-full flex items-start gap-2 px-3 py-2 hover:bg-[var(--color-bg-elevated)] transition-colors text-left",
9324
+ children: [
9325
+ /* @__PURE__ */ jsx(
9326
+ Icon,
9327
+ {
9328
+ icon: c.icon,
9329
+ className: "size-4 mt-0.5 shrink-0 text-[var(--color-accent-primary)]"
9330
+ }
9331
+ ),
9332
+ /* @__PURE__ */ jsxs("span", { className: "min-w-0", children: [
9333
+ /* @__PURE__ */ jsx("span", { className: "block text-xs text-[var(--color-text-primary)] truncate", children: c.title }),
9334
+ c.description && /* @__PURE__ */ jsx("span", { className: "block text-[10px] text-[var(--color-text-muted)] line-clamp-2", children: c.description })
9335
+ ] })
9336
+ ]
9337
+ },
9338
+ c.type
9339
+ ))
9340
+ ] })
9140
9341
  ] })
9141
- ]
9142
- }
9143
- ) }, adapter.name);
9144
- }) });
9342
+ ] })
9343
+ ]
9344
+ }
9345
+ ) });
9346
+ }
9347
+ function AdapterConnectors({
9348
+ nodeId,
9349
+ adapters
9350
+ }) {
9351
+ if (!adapters || adapters.length === 0) return null;
9352
+ return /* @__PURE__ */ jsx("div", { className: "left-0 w-full flex justify-around mt-[6.5px]", children: adapters.map((adapter, i) => /* @__PURE__ */ jsx(
9353
+ AdapterPort,
9354
+ {
9355
+ nodeId,
9356
+ adapter,
9357
+ index: i,
9358
+ total: adapters.length
9359
+ },
9360
+ adapter.name
9361
+ )) });
9145
9362
  }
9146
9363
  function SubNodeComponent({
9147
9364
  id,
@@ -9155,14 +9372,16 @@ function SubNodeComponent({
9155
9372
  const [showNodePropertiesOf] = useFlowStore(
9156
9373
  useShallow((s) => [s.actions.sidebar.showNodePropertiesOf])
9157
9374
  );
9375
+ const openNdv = useFlowStore((s) => s.actions.ndv.open);
9158
9376
  const [nodeStatuses] = useFlowStore(
9159
9377
  useShallow((s) => [s.execution.nodeStatuses])
9160
9378
  );
9161
9379
  const nodeStatus = nodeStatuses[id] || "idle";
9162
9380
  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" : "";
9163
9381
  const handleShowNodeProperties = useCallback(() => {
9382
+ openNdv({ nodeId: id, type: nodeType });
9164
9383
  showNodePropertiesOf({ id, type: nodeType });
9165
- }, [id, nodeType, showNodePropertiesOf]);
9384
+ }, [id, nodeType, openNdv, showNodePropertiesOf]);
9166
9385
  return (
9167
9386
  // `relative` anchors the absolute delete button; `group` enables its hover reveal.
9168
9387
  /* @__PURE__ */ jsxs("div", { className: "relative group flex flex-col items-center", children: [
@@ -9173,26 +9392,26 @@ function SubNodeComponent({
9173
9392
  position: Position.Top,
9174
9393
  id: "target",
9175
9394
  isConnectable,
9176
- className: "size-2.5 bg-accent border-2 border-accent/60"
9395
+ className: "size-2.5 bg-[var(--color-accent-primary)] border-2 border-[var(--color-border-strong)]"
9177
9396
  }
9178
9397
  ),
9179
- /* @__PURE__ */ jsx("div", { className: "w-0.5 h-4 border-l-2 border-dashed border-accent/40" }),
9180
- /* @__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" }),
9398
+ /* @__PURE__ */ jsx("div", { className: "w-0.5 h-4 border-l-2 border-dashed border-[var(--color-border-strong)]" }),
9399
+ /* @__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" }),
9181
9400
  /* @__PURE__ */ jsx(
9182
9401
  "div",
9183
9402
  {
9184
- 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}`,
9403
+ 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}`,
9185
9404
  onDoubleClick: handleShowNodeProperties,
9186
9405
  "data-selected": selected,
9187
9406
  children: /* @__PURE__ */ jsx(Icon, { icon: meta.icon, className: "w-7 h-7 text-accent opacity-80" })
9188
9407
  }
9189
9408
  ),
9190
- /* @__PURE__ */ jsx("span", { className: "mt-1.5 text-xs text-accent font-medium text-center max-w-24 leading-tight", children: meta.title }),
9409
+ /* @__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 }),
9191
9410
  /* @__PURE__ */ jsx(
9192
9411
  "button",
9193
9412
  {
9194
9413
  onClick: () => deleteNode(id),
9195
- 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",
9414
+ 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",
9196
9415
  children: "\xD7"
9197
9416
  }
9198
9417
  ),
@@ -9749,6 +9968,6 @@ function registerWorkflowNodeTypes(workflowNodes) {
9749
9968
  }
9750
9969
  }
9751
9970
 
9752
- export { AVAILABLE_NODES, ConfigSchemaForm, ConnectionFormDialog, ConnectionSelector, NODES, NODES_METADATA, NODE_CONFIGS, NODE_TYPES, NodePropertyPanel, ProviderPicker, createNodeWithDefaultData, ensureNodeConfigsLoaded, fetchNodeManifest, getNodeDetail, getNodeMetadata, getProviderForm, isNodeConfigsInitialized, listCustomBlocks, onNodeTypesUpdate, refetchStoreNodes, registerCustomBlock, registerWorkflowNodeTypes, resolveUiSpec, stripSubmitActions, useConnection, useConnectionDialog, useConnections, useConnectionsByProvider, useCreateConnection, useInitiateOAuth, useNodeExecution, useProviderByKey, useProviderCatalog, useProviders, useSaveWorkflow };
9753
- //# sourceMappingURL=chunk-S2Z7ZTGV.js.map
9754
- //# sourceMappingURL=chunk-S2Z7ZTGV.js.map
9971
+ 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 };
9972
+ //# sourceMappingURL=chunk-2MQR3DMF.js.map
9973
+ //# sourceMappingURL=chunk-2MQR3DMF.js.map