wechen-agent-editor-v1 1.1.3 → 1.1.5

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.
Files changed (35) hide show
  1. package/README.md +195 -7
  2. package/dist/WechenAgentEditor.d.ts +4 -3
  3. package/dist/WechenAgentEditor.d.ts.map +1 -1
  4. package/dist/WechenAgentEditorContext.d.ts +1 -1
  5. package/dist/WechenAgentEditorContext.d.ts.map +1 -1
  6. package/dist/backendWorkflowJson.d.ts.map +1 -1
  7. package/dist/config/componentLibraryConfig.d.ts +21 -12
  8. package/dist/config/componentLibraryConfig.d.ts.map +1 -1
  9. package/dist/flow/dropNodes.d.ts +5 -0
  10. package/dist/flow/dropNodes.d.ts.map +1 -1
  11. package/dist/flow/flowGraphMutations.d.ts +4 -2
  12. package/dist/flow/flowGraphMutations.d.ts.map +1 -1
  13. package/dist/flow/nodeTypes.d.ts +8 -0
  14. package/dist/flow/nodeTypes.d.ts.map +1 -1
  15. package/dist/flow/scheduleGraphSelection.d.ts +6 -0
  16. package/dist/flow/scheduleGraphSelection.d.ts.map +1 -0
  17. package/dist/flowTypes.d.ts +1 -0
  18. package/dist/flowTypes.d.ts.map +1 -1
  19. package/dist/hostEditorConfig.d.ts.map +1 -1
  20. package/dist/i18n/configUnsavedGuardThrottle.d.ts +4 -0
  21. package/dist/i18n/configUnsavedGuardThrottle.d.ts.map +1 -0
  22. package/dist/i18n/localeKeys.d.ts +3 -0
  23. package/dist/i18n/localeKeys.d.ts.map +1 -1
  24. package/dist/index.d.ts +7 -5
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +6558 -6337
  27. package/dist/index.js.map +1 -1
  28. package/dist/panels/ConfigUnsavedGuardOverlay.d.ts +6 -0
  29. package/dist/panels/ConfigUnsavedGuardOverlay.d.ts.map +1 -0
  30. package/dist/panels/RightConfigPanel.d.ts +2 -1
  31. package/dist/panels/RightConfigPanel.d.ts.map +1 -1
  32. package/dist/style.css +1 -1
  33. package/dist/wechenAgentConfigPanel.d.ts +26 -9
  34. package/dist/wechenAgentConfigPanel.d.ts.map +1 -1
  35. package/package.json +1 -1
package/README.md CHANGED
@@ -12,14 +12,20 @@
12
12
 
13
13
  ```tsx
14
14
  import { ConfigProvider } from "antd";
15
- import { WechenAgentEditor } from "wechen-agent-editor-v1";
15
+ import {
16
+ WechenAgentEditor,
17
+ getDefaultComponentLibraryGroups,
18
+ } from "wechen-agent-editor-v1";
16
19
  // 若生产构建后缺少 Flow 全局样式,再增加:import "wechen-agent-editor-v1/style.css";
17
20
 
18
21
  export function AgentPage() {
19
22
  return (
20
23
  <ConfigProvider>
21
24
  <div style={{ height: "100vh" }}>
22
- <WechenAgentEditor onSave={(s) => console.log("flow", s.flow)} />
25
+ <WechenAgentEditor
26
+ libraryGroups={getDefaultComponentLibraryGroups()}
27
+ onSave={(s) => console.log("flow", s.flow)}
28
+ />
23
29
  </div>
24
30
  </ConfigProvider>
25
31
  );
@@ -84,11 +90,11 @@ export function AgentPage() {
84
90
  | `card`(默认) | `task` | 通用任务 |
85
91
  | `card` + `data.backendNodeType` | `condition` / `api` / `script` | 扩展类型;导入后写回 `backendNodeType` |
86
92
 
87
- **画布类型与 DTO 解耦**:导出时 **`config.canvasNodeType`** 始终为画布 **`node.type`**(`pill` / `mainAgent` / `card` 等);**`config.libraryGroupKey`**、**`config.libraryItemKey`** 为组件库拖入元数据。导入时优先用 **`canvasNodeType`** 恢复 **`node.type`**,后端 **`nodes[].type`**(`agent` / `task` / `start` 等)仍按上表映射。保存 **`onSave` / `flowJson`** 直接保留 **`nodes[].type`**(与 `item.type ?? group.key` 一致)。
93
+ **画布类型与 DTO 解耦**:导出时 **`config.canvasNodeType`** 始终为画布 **`node.type`**(可为 **`MAIN`**、**`SUB`** 等任意非空字符串,或内置 `pill` / `mainAgent` / `card`);**`config.libraryGroupKey`**、**`config.libraryItemKey`** 为组件库拖入元数据。导入时优先用 **`canvasNodeType`** 恢复 **`node.type`**(任意非空值),后端 **`nodes[].type`**(`agent` / `task` / `start` 等)仍按上表映射。保存 **`onSave` / `flowJson`** 直接保留 **`nodes[].type`**(与 **`items[].type`** 一致)。
88
94
 
89
95
  | 字段 | 含义 |
90
96
  |------|------|
91
- | 画布 `node.type` | React Flow 节点类型;拖入时 **`item.type ?? group.key`** |
97
+ | 画布 `node.type` | React Flow 节点类型;拖入时 **仅** 由 **`items[].type`**(必填,任意非空字符串)决定 |
92
98
  | DTO `nodes[].type` | 后端执行类型(`agent` / `task` / `start` …) |
93
99
  | `config.canvasNodeType` | 往返时还原画布 `node.type` |
94
100
  | `data.libraryGroupKey` / `libraryItemKey` | 库分组 catalog id / 库项 id(**非** `props.type`) |
@@ -347,9 +353,31 @@ L1 工厂同样支持:`buildWechenAgentEditorProps({ onBeforeRemoveNode: ... }
347
353
 
348
354
  ### 组件库 legacy 接线桩(`flowHandles`,可选)
349
355
 
350
- **已弃用优先**:编排默认以 **四边感应区** 为准。**`libraryGroups`** 中每项仍可设置 **`flowHandles`** 以兼容旧版「声明桩位」:`FlowHandleSpec[]` 或 **`mode: 'even'`** 自动均分。拖入后写入 **`data.flowHandles`**;**`card` / `mainAgent`** 在 **`flowHandles` 展开非空** 时仍走声明桩渲染。**`libraryGroups[].items[].type`**(可选)决定拖入后的 **`node.type`**;未设置时回退 **`group.key`**(catalog id,可与画布 type 相同,如 **`mainAgent`** / **`card`**)。同组可配置不同 **`type`**(如主 Agent 组内一项 **`type: "pill"`**)。拖入后写入 **`data.libraryGroupKey`**、**`data.libraryItemKey`**。不再支持 **`main`→mainAgent**、**`app`→card** 隐式映射。
356
+ **已弃用优先**:编排默认以 **四边感应区** 为准。**`libraryGroups`** 中每项仍可设置 **`flowHandles`** 以兼容旧版「声明桩位」:`FlowHandleSpec[]` 或 **`mode: 'even'`** 自动均分。拖入后写入 **`data.flowHandles`**;**`card` / `mainAgent`** 在 **`flowHandles` 展开非空** 时仍走声明桩渲染。**`libraryGroups` 为必传 prop**(可用 **`getDefaultComponentLibraryGroups()`** 或自建分组)。**`group.key`** 仅为分组 catalog id(如 **`"main"`** / **`"MAIN"`**),**不** 决定节点类型。**`items[].type`(必填)** 为拖入后的画布 **`node.type`**,**可为任意非空字符串**(如宿主业务类型 **`MAIN`** / **`SUB`**,或内置 **`mainAgent`** / **`card`** / **`pill`**);**`items[].key`** 为库项 id,写入 **`data.libraryItemKey`**,**与 `type` 是两码事**。同组可配置不同 **`type`**。拖入后另写入 **`data.libraryGroupKey`**。
357
+
358
+ ```tsx
359
+ const libraryGroups = [
360
+ {
361
+ key: "MAIN",
362
+ title: "主Agent",
363
+ items: [
364
+ { key: "planner", title: "Planner", type: "MAIN" },
365
+ { key: "supervisor", title: "Supervisor", type: "MAIN" },
366
+ ],
367
+ },
368
+ {
369
+ key: "SUB",
370
+ title: "应用Agent",
371
+ items: [
372
+ { key: "alert", title: "告警分析", type: "SUB" },
373
+ ],
374
+ },
375
+ ];
376
+ ```
377
+
378
+ 非内置 **`type`** 使用与 **`card`** 相同的通用节点外壳与四边感应区;缺 **`item.type`** 时拖放会提示且不会创建节点。宿主可在加载配置后调用 **`validateComponentLibraryGroups(libraryGroups)`** 预检缺 `type` 的条目。
351
379
 
352
- **`renderFlowNode(props, context)`**:**`props.type`** 为落盘 **`node.type`**(**`item.type ?? group.key`**,**不是** `item.key`);**`context`** 含 **`selected`**、可选 **`libraryGroupKey`** / **`libraryItemKey`**。四边感应与接线桩仍由包渲染,**勿** 在返回值内放置 **`Handle`**。有 **`renderFlowNode`** 时外壳 **不** 自动加 **`wechen-agent-node-shell--selected`**。类型见 **`WechenAgentRenderFlowNodeContext`**、**`resolveLibraryItemNodeType`**、**`findComponentLibraryItem`** 等导出。
380
+ **`renderFlowNode(props, context)`**:**`props.type`** = 落盘 **`item.type`**(**不是** `item.key`);**`context`** 含 **`selected`**、可选 **`libraryGroupKey`** / **`libraryItemKey`**。四边感应与接线桩仍由包渲染,**勿** 在返回值内放置 **`Handle`**。类型见 **`WechenAgentRenderFlowNodeContext`**、**`resolveLibraryItemNodeType`**、**`findComponentLibraryItem`** 等导出。
353
381
 
354
382
  ### Monaco Worker
355
383
 
@@ -362,8 +390,168 @@ L1 工厂同样支持:`buildWechenAgentEditorProps({ onBeforeRemoveNode: ... }
362
390
  ### 行为与扩展(摘要)
363
391
 
364
392
  - **连线**:从节点的 source Handle 拖到 target Handle;选中边可在右侧调整动画与**执行方向**等。**执行方向**与 **`source` → `target`** 一致:箭头在 **目标** 端;选「反向」会 **交换源与目标**(及 handle),不再依赖仅反转 dash 的持久化字段。历史 **`edge.data.wechenFlowDirection: 'reverse'`** 在 **`normalizeWechenAgentFlowJson` / `cloneWechenAgentFlow` / `parseWechenAgentFlowJson`** 中 **幂等归一** 为交换端点并清除该键。宿主也可调用 **`swapWechenFlowEdgeEndpoints(edge)`** 得到与内置面板一致的 **`patchEdge`** 补丁。
365
- - **数据合并**:节点 `data` 的更新遵循导出的 **`mergeNodeData`**(对象深度合并,数组在补丁中出现时整段替换)。`patchNode` / ref 的 **`patchNodeData`** 将补丁合并进 `node.data`;**`patchEdge`** 为边的顶层浅合并。
393
+ - **数据合并**:节点 `data` 的更新遵循导出的 **`mergeNodeData`**(对象深度合并,数组在补丁中出现时整段替换)。详见下文 **[`patchNode` `patchNodeData`](#patchnode-与-patchnodedata)**。
366
394
  - **自定义右侧面板**:可选 **`renderConfigPanel`**(节点与连线统一入口)或 **`renderNodeConfig`**;同时存在时以 `renderConfigPanel` 为准(返回 `undefined` 时回退内置)。
395
+
396
+ ### `patchNode` 与 `patchNodeData`
397
+
398
+ 二者语义一致:把 **`patch` 深度合并进 `node.data`**(内部为 **`mergeNodeData`**)。区别仅在于 **是否由调用方传入节点 id**(右栏已选中节点时,id 由编辑器绑定)。
399
+
400
+ | API | 签名 | 使用场景 |
401
+ |-----|------|----------|
402
+ | **`ctx.patchNode`** | `(patch) => void` | **`renderConfigPanel`** 选中节点时;**勿传 `node.id`**,当前节点已固定 |
403
+ | **`ref.patchNodeData`** | `(nodeId, patch) => void` | 命令式改任意节点(按钮、自动化、跨节点批量) |
404
+
405
+ **`patch` 的顶层键 = `node.data` 的键**,不是整颗 React Flow `Node`(不含 `id` / `type` / `position` / `measured` 等)。
406
+
407
+ ```
408
+ node = { id, type, position, data: { label, config, … } }
409
+
410
+ │ mergeNodeData(node.data, patch)
411
+ patch = { label: "x" } ──────┘ → node.data.label === "x"
412
+ ```
413
+
414
+ #### 推荐写法
415
+
416
+ **1. 改单个字段(最常用)**
417
+
418
+ ```tsx
419
+ // renderConfigPanel
420
+ if (ctx.kind === "node") {
421
+ ctx.patchNode({ label: "新名称" });
422
+ }
423
+
424
+ // ref
425
+ editorRef.current?.patchNodeData("node-1", { label: "新名称" });
426
+ ```
427
+
428
+ **2. 一次保存多个 `data` 顶层键**
429
+
430
+ ```tsx
431
+ ctx.patchNode({
432
+ label: "主入口",
433
+ config: { maxSteps: 8 },
434
+ });
435
+ ```
436
+
437
+ **3. 嵌套对象(深度合并,未出现在 patch 中的兄弟键保留)**
438
+
439
+ ```tsx
440
+ // 已有 node.data.config = { a: 1, b: 2 }
441
+ ctx.patchNode({ config: { a: 3 } });
442
+ // → node.data.config === { a: 3, b: 2 }
443
+ ```
444
+
445
+ **4. antd `Form` 即时写回(`renderConfigPanel` 需自建 `Form`;`renderNodeConfig` 由外层包一层 `Form`)**
446
+
447
+ ```tsx
448
+ if (ctx.kind === "node" && ctx.node.type === "MAIN") {
449
+ const disabled = ctx.readOnly || ctx.readingMode;
450
+ return (
451
+ <Form
452
+ key={ctx.node.id}
453
+ layout="vertical"
454
+ initialValues={ctx.node.data}
455
+ disabled={disabled}
456
+ onValuesChange={(_, all) => ctx.patchNode(all)}
457
+ >
458
+ <Form.Item name="label" label="节点名称">
459
+ <Input />
460
+ </Form.Item>
461
+ </Form>
462
+ );
463
+ }
464
+ ```
465
+
466
+ - **`initialValues` 用 `node.data`**,不要用整颗 `node`。
467
+ - 切换选中节点时用 **`key={node.id}`** 或 `form.setFieldsValue`,避免 `initialValues` 只在首次挂载生效。
468
+ - 只读:`disabled={ctx.readOnly || ctx.readingMode}`(上下文 **无** `ctx.disabled` 字段)。
469
+
470
+ **5. 受控输入 + 按钮「应用」(防抖 / 显式保存)**
471
+
472
+ ```tsx
473
+ const [draft, setDraft] = useState(String(ctx.node.data?.label ?? ""));
474
+ useEffect(() => {
475
+ setDraft(String(ctx.node.data?.label ?? ""));
476
+ }, [ctx.node.id, ctx.node.data]);
477
+
478
+ <Button onClick={() => ctx.patchNode({ label: draft })}>应用</Button>
479
+ ```
480
+
481
+ Playground 中 `card` 节点示例见 `playground/src/playgroundPanels.tsx`。
482
+
483
+ #### 常见错误(会导致不生效或 `data` 被污染)
484
+
485
+ | 错误写法 | 实际效果 |
486
+ |----------|----------|
487
+ | `patchNode(node.id, { label: "x" })` | 只接收 **一个** 参数;`node.id` 字符串被当作 `patch` merge 进 `data`,出现 `"0":"m"` 等下标键 |
488
+ | `patchNode(node.data)` | 闭包里的 **旧** `node.data` 盖回表单新值,表现为回弹或不更新 |
489
+ | `patchNode({ data: { label: "x" } })` | 写入 **`node.data.data.label`**,除非业务里真有名为 `data` 的嵌套对象 |
490
+ | `patchNode(allValues)` 且 `initialValues={node}` | 把 `id` / `position` 等 merge 进 `data`,结构错乱 |
491
+ | `patchNodeData(id, node)` | 应传 **`node.data` 上的补丁**,不是整颗 `Node` |
492
+
493
+ **对比:想改 `node.data.label`**
494
+
495
+ ```tsx
496
+ ctx.patchNode({ label: "x" }); // ✅
497
+ ctx.patchNodeData(id, { label: "x" }); // ✅ ref
498
+
499
+ ctx.patchNode({ data: { label: "x" } }); // ❌ → data.data.label
500
+ ctx.patchNode(node.id, { label: "x" }); // ❌ 多传了 id
501
+ ```
502
+
503
+ #### 数组与其它规则
504
+
505
+ - **数组**:`patch` 里若包含某数组键,则 **整段替换**该数组(不按下标合并)。
506
+ - **`undefined` 键**:`mergeNodeData` **跳过** `undefined`,不会用其删除已有字段;要清空请显式传 `null` 或业务约定值。
507
+ - **边**:**`ctx.patchEdge`** / **`ref.patchEdge`** 为边对象 **顶层浅合并**(与节点 `data` 规则不同),见 `WechenAgentConfigPanelEdgeContext`。
508
+
509
+ ### `setConfigUnsavedGuard` 与延迟保存
510
+
511
+ 在 **`renderConfigPanel`** 中若采用 **编辑草稿 + 按钮保存**(不每次 `onValuesChange` 调用 `patchNode`),可调用 **`ctx.setConfigUnsavedGuard(true/false)`**:
512
+
513
+ - **`true`**:在 **顶栏、组件库、画布** 上显示半透明蒙层(**不挡** 右侧配置区),点击蒙层提示「当前有未保存的修改…」(`LOCALE_KEYS.CONFIG_UNSAVED_GUARD_HINT`,可 `localeMessages` 覆盖)。
514
+ - **`false`**:关闭蒙层;保存成功后应显式调用。
515
+ - **选中变化**(切换节点/边、点击画布空白)时编辑器会 **自动** 置 `false`。
516
+ - **`readingMode`** 下为 no-op。
517
+
518
+ ```tsx
519
+ const [draft, setDraft] = useState(() => String(ctx.node.data?.label ?? ""));
520
+
521
+ useEffect(() => {
522
+ setDraft(String(ctx.node.data?.label ?? ""));
523
+ ctx.setConfigUnsavedGuard(false);
524
+ }, [ctx.node.id]);
525
+
526
+ <Input
527
+ value={draft}
528
+ onChange={(e) => {
529
+ setDraft(e.target.value);
530
+ ctx.setConfigUnsavedGuard(true);
531
+ }}
532
+ />
533
+ <Button
534
+ onClick={() => {
535
+ ctx.patchNode({ label: draft });
536
+ ctx.setConfigUnsavedGuard(false);
537
+ }}
538
+ >
539
+ 保存
540
+ </Button>
541
+ ```
542
+
543
+ Playground **`renderConfigPanel`** Tab 中 `card` / 边配置演示了该流程。
544
+
545
+ ### 新建节点/连线后默认选中
546
+
547
+ 在可编辑模式下,以下操作成功后会 **自动选中** 新建对象,右侧配置区立即展示对应面板:
548
+
549
+ - 从 **组件库拖入** 节点;
550
+ - 画布 **拖拽连线**(`onConnect`);
551
+ - ref **`addNodeFromLibrary`** / **`addNode`** / **`connect`**(或 `addEdge`)。
552
+
553
+ 拖入新节点后,宿主宜在 `useEffect` 依赖 **`node.id`** 上重置表单草稿并 `setConfigUnsavedGuard(false)`(见上节)。
554
+
367
555
  - **顶栏左侧**:可选 **`renderHeaderLeading`**,入参含当前解析标题 **`title`**(与 **`ref.getTitle()`** 一致)及 **`editorRef`**;未传时显示默认 `Title`。改标题数据仍用 **`title` prop** 或 **`replaceFlow`**。
368
556
  - **顶栏右侧**:可选 **`renderHeaderActions`**,入参含与默认行为一致的 **`save`** / **`testRun`** 及 **`editorRef`**。左右可 **同时** 自定义。Playground:`?tab=header-leading`、`?tab=header-actions`。
369
557
 
@@ -20,10 +20,10 @@ export interface WechenAgentEditorProps {
20
20
  * 传入时同样会先深拷贝,避免画布编辑反写父级对象。
21
21
  */
22
22
  initialFlow?: WechenAgentFlowJson;
23
- /** 左侧组件库分组;不传则使用 `getDefaultComponentLibraryGroups()` */
24
- libraryGroups?: ComponentLibraryGroup[];
23
+ /** 左侧组件库分组(必传);`group.key` 为 catalog id,`items[].type` 决定拖入后的 `node.type` */
24
+ libraryGroups: ComponentLibraryGroup[];
25
25
  /**
26
- * 传入时:先把当前数据源(`libraryGroups` 或默认)转成 `{ name, groupKey?, children }[]`,
26
+ * 传入时:先把 `libraryGroups` 转成 `{ name, groupKey?, children }[]`,
27
27
  * 再用**本函数返回值**映射回内部分组并**仅渲染该结果**。
28
28
  */
29
29
  mapComponentLibraryList?: (list: WechenAgentComponentLibraryList) => WechenAgentComponentLibraryList;
@@ -41,6 +41,7 @@ export interface WechenAgentEditorProps {
41
41
  * 统一自定义右侧配置(**节点 + 连线**)。传入时优先于仅节点的 `renderNodeConfig`;
42
42
  * 对当前选中对象返回 **`undefined`** 时回退内置节点/连线面板。
43
43
  * 通过 `ctx.patchNode` / `ctx.patchEdge` 自行决定何时写回画布。
44
+ * `patchNode` 仅接收 **`node.data` 上的补丁**(一个参数),详见 README「patchNode 与 patchNodeData」。
44
45
  */
45
46
  renderConfigPanel?: WechenAgentRenderConfigPanelFn;
46
47
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"WechenAgentEditor.d.ts","sourceRoot":"","sources":["../src/WechenAgentEditor.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,aAAa,EAAa,SAAS,EAAa,MAAM,OAAO,CAAC;AAc5E,OAAO,KAAK,EACV,qBAAqB,EACrB,+BAA+B,EAChC,MAAM,iCAAiC,CAAC;AAuBzC,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,qCAAqC,EACrC,qCAAqC,EACrC,mBAAmB,EAEnB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAI/E,OAAO,KAAK,EACV,+BAA+B,EAC/B,kCAAkC,EACnC,MAAM,8BAA8B,CAAC;AAMtC,iEAAiE;AAEjE,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,6BAA6B,KAAK,MAAM,CAAC;AAEtF,MAAM,WAAW,sBAAsB;IACrC,6FAA6F;IAC7F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,yDAAyD;IACzD,aAAa,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACxC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,CACxB,IAAI,EAAE,+BAA+B,KAClC,+BAA+B,CAAC;IACrC;;;OAGG;IACH,cAAc,CAAC,EAAE,2BAA2B,CAAC;IAC7C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;IACjD;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,8BAA8B,CAAC;IACnD;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,qCAAqC,KAAK,SAAS,CAAC;IAChF;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,qCAAqC,KAAK,SAAS,CAAC;IAChF,iEAAiE;IACjE,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjD,wEAAwE;IACxE,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpD;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IAC9C;;;OAGG;IACH,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IAC9C;;;OAGG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,+BAA+B,CAAC;IACjD,kEAAkE;IAClE,eAAe,CAAC,EAAE,kCAAkC,CAAC;IACrD,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,MAAM,GAAG,wBAAwB,CAAC;CACtD;AAED,YAAY,EACV,+BAA+B,EAC/B,kCAAkC,GACnC,MAAM,8BAA8B,CAAC;AAyqBtC,eAAO,MAAM,iBAAiB,yHA4F7B,CAAC"}
1
+ {"version":3,"file":"WechenAgentEditor.d.ts","sourceRoot":"","sources":["../src/WechenAgentEditor.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,aAAa,EAAa,SAAS,EAAa,MAAM,OAAO,CAAC;AAc5E,OAAO,KAAK,EACV,qBAAqB,EACrB,+BAA+B,EAChC,MAAM,iCAAiC,CAAC;AA4BzC,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,qCAAqC,EACrC,qCAAqC,EACrC,mBAAmB,EAEnB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,4BAA4B,CAAC;AAIpC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAK/E,OAAO,KAAK,EACV,+BAA+B,EAC/B,kCAAkC,EACnC,MAAM,8BAA8B,CAAC;AAMtC,iEAAiE;AAEjE,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,6BAA6B,KAAK,MAAM,CAAC;AAEtF,MAAM,WAAW,sBAAsB;IACrC,6FAA6F;IAC7F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,6EAA6E;IAC7E,aAAa,EAAE,qBAAqB,EAAE,CAAC;IACvC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,CACxB,IAAI,EAAE,+BAA+B,KAClC,+BAA+B,CAAC;IACrC;;;OAGG;IACH,cAAc,CAAC,EAAE,2BAA2B,CAAC;IAC7C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;IACjD;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,8BAA8B,CAAC;IACnD;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,qCAAqC,KAAK,SAAS,CAAC;IAChF;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,qCAAqC,KAAK,SAAS,CAAC;IAChF,iEAAiE;IACjE,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjD,wEAAwE;IACxE,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpD;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IAC9C;;;OAGG;IACH,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IAC9C;;;OAGG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,+BAA+B,CAAC;IACjD,kEAAkE;IAClE,eAAe,CAAC,EAAE,kCAAkC,CAAC;IACrD,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,MAAM,GAAG,wBAAwB,CAAC;CACtD;AAED,YAAY,EACV,+BAA+B,EAC/B,kCAAkC,GACnC,MAAM,8BAA8B,CAAC;AA6xBtC,eAAO,MAAM,iBAAiB,yHA2F7B,CAAC"}
@@ -13,7 +13,7 @@ export type WechenAgentRenderFlowNodeContext = {
13
13
  * 内置四边感应与接线桩(`ZoneHandles` / `DeclaredHandles`)由包保留;
14
14
  * **勿** 在返回值内放置 `@xyflow/react` `Handle`。
15
15
  */
16
- /** `props.type` 为落盘 `node.type`(`item.type ?? group.key`),非 `item.key` */
16
+ /** `props.type` 为落盘 `node.type`(= `item.type`),非 `item.key` */
17
17
  export type WechenAgentRenderFlowNodeFn = (props: NodeProps, context: WechenAgentRenderFlowNodeContext) => ReactNode;
18
18
  export interface WechenAgentEditorRenderContextValue {
19
19
  /** 自定义节点内容区;未设置时使用内置默认字段块 */
@@ -1 +1 @@
1
- {"version":3,"file":"WechenAgentEditorContext.d.ts","sourceRoot":"","sources":["../src/WechenAgentEditorContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,MAAM,gCAAgC,GAAG;IAC7C,2CAA2C;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;GAIG;AACH,0EAA0E;AAC1E,MAAM,MAAM,2BAA2B,GAAG,CACxC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,gCAAgC,KACtC,SAAS,CAAC;AAEf,MAAM,WAAW,mCAAmC;IAClD,6BAA6B;IAC7B,cAAc,CAAC,EAAE,2BAA2B,CAAC;CAC9C;AAED,eAAO,MAAM,8BAA8B,qEACsB,CAAC;AAElE,wBAAgB,0BAA0B,IAAI,mCAAmC,CAEhF"}
1
+ {"version":3,"file":"WechenAgentEditorContext.d.ts","sourceRoot":"","sources":["../src/WechenAgentEditorContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,MAAM,gCAAgC,GAAG;IAC7C,2CAA2C;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;GAIG;AACH,+DAA+D;AAC/D,MAAM,MAAM,2BAA2B,GAAG,CACxC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,gCAAgC,KACtC,SAAS,CAAC;AAEf,MAAM,WAAW,mCAAmC;IAClD,6BAA6B;IAC7B,cAAc,CAAC,EAAE,2BAA2B,CAAC;CAC9C;AAED,eAAO,MAAM,8BAA8B,qEACsB,CAAC;AAElE,wBAAgB,0BAA0B,IAAI,mCAAmC,CAEhF"}
@@ -1 +1 @@
1
- {"version":3,"file":"backendWorkflowJson.d.ts","sourceRoot":"","sources":["../src/backendWorkflowJson.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqC,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAI/G;;GAEG;AACH,eAAO,MAAM,sCAAsC,MAAM,CAAC;AAE1D,2CAA2C;AAC3C,MAAM,MAAM,6BAA6B,GACrC,OAAO,GACP,OAAO,GACP,MAAM,GACN,WAAW,GACX,KAAK,GACL,QAAQ,CAAC;AA8Gb,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,6BAA6B,CAAC;IACpC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,yBAAyB,EAAE,CAAC;IACnC,KAAK,EAAE,yBAAyB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAsJD;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,EAChD,IAAI,EAAE,yBAAyB,GAC9B,yBAAyB,CAY3B;AA+FD;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,yBAAyB,GAAG,mBAAmB,CAgB/F;AAED,sCAAsC;AACtC,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,yBAAyB,CAyC9F"}
1
+ {"version":3,"file":"backendWorkflowJson.d.ts","sourceRoot":"","sources":["../src/backendWorkflowJson.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqC,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAI/G;;GAEG;AACH,eAAO,MAAM,sCAAsC,MAAM,CAAC;AAE1D,2CAA2C;AAC3C,MAAM,MAAM,6BAA6B,GACrC,OAAO,GACP,OAAO,GACP,MAAM,GACN,WAAW,GACX,KAAK,GACL,QAAQ,CAAC;AA6Gb,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,6BAA6B,CAAC;IACpC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,yBAAyB,EAAE,CAAC;IACnC,KAAK,EAAE,yBAAyB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAsJD;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,EAChD,IAAI,EAAE,yBAAyB,GAC9B,yBAAyB,CAY3B;AA+FD;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,yBAAyB,GAAG,mBAAmB,CAgB/F;AAED,sCAAsC;AACtC,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,yBAAyB,CAyC9F"}
@@ -4,13 +4,14 @@ import { ComponentLibraryIconSlot } from './componentLibraryIconTypes';
4
4
  export type { ComponentLibraryIconSlot } from './componentLibraryIconTypes';
5
5
  export { isLibraryIconSet, isLibraryIconString } from './componentLibraryIconTypes';
6
6
  export interface ComponentLibraryItem {
7
+ /** 库项 id(拖入后写入 `data.libraryItemKey`;**不是** `node.type`) */
7
8
  key: string;
8
9
  title: string;
9
10
  /**
10
- * 拖入画布后的 React Flow `node.type`(如 `mainAgent` / `card` / `pill`)。
11
- * 未设置时回退为所在分组的 `group.key`。
11
+ * 拖入画布后的 React Flow `node.type`(任意非空字符串,如 `MAIN` / `mainAgent`)。
12
+ * **必填**;与 `key`、分组 `group.key` 无关。
12
13
  */
13
- type?: string;
14
+ type: string;
14
15
  subtitle?: string;
15
16
  iconBefore?: ComponentLibraryIconSlot;
16
17
  iconAfter?: ComponentLibraryIconSlot;
@@ -23,26 +24,26 @@ export interface ComponentLibraryItem {
23
24
  flowHandles?: FlowHandlesConfig;
24
25
  }
25
26
  export interface ComponentLibraryGroup {
26
- /** 分组/catalog id;`item.type` 缺省时兼作落盘 `node.type` 回退值 */
27
+ /** 分组 catalog id(仅用于展示、查找与 `data.libraryGroupKey`;**不** 决定 `node.type`) */
27
28
  key: string;
28
29
  title: string;
29
30
  items: ComponentLibraryItem[];
30
31
  }
31
- /** Agent 分组 key(`item.type` 缺省时的回退值,与 `mainAgent` 一致) */
32
- export declare const COMPONENT_LIBRARY_GROUP_MAIN: "mainAgent";
33
- /** 应用 Agent 分组 key(`item.type` 缺省时的回退值,与 `card` 一致) */
34
- export declare const COMPONENT_LIBRARY_GROUP_APP: "card";
32
+ /** 默认「主 Agent」分组 catalog id */
33
+ export declare const COMPONENT_LIBRARY_GROUP_MAIN: "main";
34
+ /** 默认「应用 Agent」分组 catalog id */
35
+ export declare const COMPONENT_LIBRARY_GROUP_APP: "app";
35
36
  export declare const defaultMainAgentComponentItems: ComponentLibraryItem[];
36
37
  export declare const defaultAppAgentComponentItems: ComponentLibraryItem[];
37
38
  export declare function getDefaultComponentLibraryGroups(): ComponentLibraryGroup[];
38
- /** 落盘 `node.type`:`item.type` 优先,否则 `group.key` */
39
- export declare function resolveLibraryItemNodeType(group: ComponentLibraryGroup, item: ComponentLibraryItem): string;
39
+ /** 落盘 `node.type`:仅 `item.type`;缺省或空白则 `null` */
40
+ export declare function resolveLibraryItemNodeType(item: ComponentLibraryItem): string | null;
40
41
  export declare function findComponentLibraryGroup(groups: ComponentLibraryGroup[], groupKey: string): ComponentLibraryGroup | undefined;
41
42
  export interface WechenAgentComponentLibraryItemPayload {
42
43
  name: string;
43
44
  key: string;
44
- /** 与 `ComponentLibraryItem.type` 一致 */
45
- type?: string;
45
+ /** 与 `ComponentLibraryItem.type` 一致(画布 `node.type`) */
46
+ type: string;
46
47
  subtitle?: string;
47
48
  iconBefore?: ComponentLibraryIconSlot;
48
49
  iconAfter?: ComponentLibraryIconSlot;
@@ -60,4 +61,12 @@ export type WechenAgentComponentLibraryList = WechenAgentComponentLibraryGroupPa
60
61
  export declare function toWechenAgentComponentLibraryList(groups: ComponentLibraryGroup[]): WechenAgentComponentLibraryList;
61
62
  export declare function fromWechenAgentComponentLibraryList(list: WechenAgentComponentLibraryList): ComponentLibraryGroup[];
62
63
  export declare function findComponentLibraryItem(groups: ComponentLibraryGroup[], groupKey: string, itemKey: string): ComponentLibraryItem | undefined;
64
+ export interface LibraryGroupValidationIssue {
65
+ groupKey: string;
66
+ itemKey: string;
67
+ ruleId: "missing_item_type";
68
+ message: string;
69
+ }
70
+ /** 校验 `libraryGroups` 配置;宿主可在加载配置后调用(不自动阻断编辑器)。 */
71
+ export declare function validateComponentLibraryGroups(groups: ComponentLibraryGroup[]): LibraryGroupValidationIssue[];
63
72
  //# sourceMappingURL=componentLibraryConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"componentLibraryConfig.d.ts","sourceRoot":"","sources":["../../src/config/componentLibraryConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAG5E,YAAY,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEpF,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC,aAAa,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC;;OAEG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,wDAAwD;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED,2DAA2D;AAC3D,eAAO,MAAM,4BAA4B,aAAuB,CAAC;AACjE,uDAAuD;AACvD,eAAO,MAAM,2BAA2B,QAAkB,CAAC;AAE3D,eAAO,MAAM,8BAA8B,EAAE,oBAAoB,EAIhE,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,oBAAoB,EAM/D,CAAC;AAKF,wBAAgB,gCAAgC,IAAI,qBAAqB,EAAE,CAa1E;AAED,mDAAmD;AACnD,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,qBAAqB,EAC5B,IAAI,EAAE,oBAAoB,GACzB,MAAM,CAER;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,qBAAqB,EAAE,EAC/B,QAAQ,EAAE,MAAM,GACf,qBAAqB,GAAG,SAAS,CAEnC;AAED,MAAM,WAAW,sCAAsC;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC,aAAa,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,WAAW,uCAAuC;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,sCAAsC,EAAE,CAAC;CACpD;AAED,MAAM,MAAM,+BAA+B,GAAG,uCAAuC,EAAE,CAAC;AAExF,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,qBAAqB,EAAE,GAC9B,+BAA+B,CAqBjC;AAED,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,+BAA+B,GACpC,qBAAqB,EAAE,CA4BzB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,qBAAqB,EAAE,EAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,oBAAoB,GAAG,SAAS,CAGlC"}
1
+ {"version":3,"file":"componentLibraryConfig.d.ts","sourceRoot":"","sources":["../../src/config/componentLibraryConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAG5E,YAAY,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEpF,MAAM,WAAW,oBAAoB;IACnC,4DAA4D;IAC5D,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC,aAAa,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC;;OAEG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED,+BAA+B;AAC/B,eAAO,MAAM,4BAA4B,QAAkB,CAAC;AAC5D,gCAAgC;AAChC,eAAO,MAAM,2BAA2B,OAAiB,CAAC;AAE1D,eAAO,MAAM,8BAA8B,EAAE,oBAAoB,EAShE,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,oBAAoB,EAuB/D,CAAC;AAKF,wBAAgB,gCAAgC,IAAI,qBAAqB,EAAE,CAa1E;AAED,iDAAiD;AACjD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,GAAG,IAAI,CAGpF;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,qBAAqB,EAAE,EAC/B,QAAQ,EAAE,MAAM,GACf,qBAAqB,GAAG,SAAS,CAEnC;AAED,MAAM,WAAW,sCAAsC;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC,aAAa,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,WAAW,uCAAuC;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,sCAAsC,EAAE,CAAC;CACpD;AAED,MAAM,MAAM,+BAA+B,GAAG,uCAAuC,EAAE,CAAC;AAExF,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,qBAAqB,EAAE,GAC9B,+BAA+B,CAqBjC;AAED,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,+BAA+B,GACpC,qBAAqB,EAAE,CA4BzB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,qBAAqB,EAAE,EAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,oBAAoB,GAAG,SAAS,CAGlC;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,mDAAmD;AACnD,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,qBAAqB,EAAE,GAC9B,2BAA2B,EAAE,CAe/B"}
@@ -18,4 +18,9 @@ export declare function createDroppedPillNode(id: string, position: {
18
18
  x: number;
19
19
  y: number;
20
20
  }, label: string, flowHandles?: FlowHandlesConfig, meta?: DropNodeLibraryMeta): Node;
21
+ /** 宿主自定义 `item.type`:原样落盘为 `node.type`,数据结构与 `card` 相同。 */
22
+ export declare function createDroppedHostTypeNode(nodeType: string, id: string, position: {
23
+ x: number;
24
+ y: number;
25
+ }, label: string, flowHandles?: FlowHandlesConfig, meta?: DropNodeLibraryMeta): Node;
21
26
  //# sourceMappingURL=dropNodes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropNodes.d.ts","sourceRoot":"","sources":["../../src/flow/dropNodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,wBAAgB,gBAAgB,IAAI,MAAM,CAKzC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAaF,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,mBAAmB,GACxB,IAAI,CAMN;AAED,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAClC,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,iBAAiB,EAC/B,IAAI,CAAC,EAAE,mBAAmB,GACzB,IAAI,CAWN;AAED,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAClC,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,iBAAiB,EAC/B,IAAI,CAAC,EAAE,mBAAmB,GACzB,IAAI,CAkBN;AAED,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAClC,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,iBAAiB,EAC/B,IAAI,CAAC,EAAE,mBAAmB,GACzB,IAAI,CAWN"}
1
+ {"version":3,"file":"dropNodes.d.ts","sourceRoot":"","sources":["../../src/flow/dropNodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,wBAAgB,gBAAgB,IAAI,MAAM,CAKzC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAaF,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,mBAAmB,GACxB,IAAI,CAMN;AAED,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAClC,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,iBAAiB,EAC/B,IAAI,CAAC,EAAE,mBAAmB,GACzB,IAAI,CAWN;AAED,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAClC,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,iBAAiB,EAC/B,IAAI,CAAC,EAAE,mBAAmB,GACzB,IAAI,CAkBN;AAED,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAClC,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,iBAAiB,EAC/B,IAAI,CAAC,EAAE,mBAAmB,GACzB,IAAI,CAWN;AAED,2DAA2D;AAC3D,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAClC,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,iBAAiB,EAC/B,IAAI,CAAC,EAAE,mBAAmB,GACzB,IAAI,CAWN"}
@@ -9,9 +9,11 @@ export interface CreateNodeFromLibraryItemOptions {
9
9
  };
10
10
  id?: string;
11
11
  }
12
+ export type CreateNodeFromLibraryItemFailureReason = "library_item_not_found" | "missing_item_type";
13
+ export declare function getCreateNodeFromLibraryItemFailureReason(libraryGroups: ComponentLibraryGroup[], options: CreateNodeFromLibraryItemOptions): CreateNodeFromLibraryItemFailureReason | null;
12
14
  /**
13
- * 由组件库条目构造节点(与画布拖放一致)。非法 groupKey/itemKey 或未知 node.type 返回 `null`。
14
- * 落盘类型:`item.type ?? group.key`。
15
+ * 由组件库条目构造节点(与画布拖放一致)。非法 groupKey/itemKey 或缺 `item.type` 返回 `null`。
16
+ * 落盘类型:仅 **`item.type`**(任意非空字符串;与 `group.key` 无关)。
15
17
  */
16
18
  export declare function createNodeFromLibraryItem(libraryGroups: ComponentLibraryGroup[], options: CreateNodeFromLibraryItemOptions): Node | null;
17
19
  export type NodeLookupFn = (id: string) => Node | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"flowGraphMutations.d.ts","sourceRoot":"","sources":["../../src/flow/flowGraphMutations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,kCAAkC,CAAC;AAa1C,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAgBD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,qBAAqB,EAAE,EACtC,OAAO,EAAE,gCAAgC,GACxC,IAAI,GAAG,IAAI,CAgCb;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,CAAC;AAE5D,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,GAAG,IAAI,CAoBb"}
1
+ {"version":3,"file":"flowGraphMutations.d.ts","sourceRoot":"","sources":["../../src/flow/flowGraphMutations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,kCAAkC,CAAC;AAc1C,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAgBD,MAAM,MAAM,sCAAsC,GAC9C,wBAAwB,GACxB,mBAAmB,CAAC;AAExB,wBAAgB,yCAAyC,CACvD,aAAa,EAAE,qBAAqB,EAAE,EACtC,OAAO,EAAE,gCAAgC,GACxC,sCAAsC,GAAG,IAAI,CAc/C;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,qBAAqB,EAAE,EACtC,OAAO,EAAE,gCAAgC,GACxC,IAAI,GAAG,IAAI,CAmCb;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,CAAC;AAE5D,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,GAAG,IAAI,CAoBb"}
@@ -1,3 +1,5 @@
1
+ import { Node, NodeTypes } from '@xyflow/react';
2
+ import { ComponentLibraryGroup } from '../config/componentLibraryConfig';
1
3
  import { CardNode } from './nodes/CardNode';
2
4
  import { MainAgentNode } from './nodes/MainAgentNode';
3
5
  import { PillNode } from './nodes/PillNode';
@@ -6,4 +8,10 @@ export declare const wechenAgentNodeTypes: {
6
8
  mainAgent: typeof MainAgentNode;
7
9
  card: typeof CardNode;
8
10
  };
11
+ export declare function collectItemTypesFromLibraryGroups(groups: ComponentLibraryGroup[]): string[];
12
+ /** 合并组件库与画布已有 `node.type`,避免库变更后旧图节点无法渲染。 */
13
+ export declare function collectNodeTypesFromFlow(libraryGroups: ComponentLibraryGroup[], nodes: Node[]): string[];
14
+ /** 仅当库或画布上的 `node.type` 集合变化时改变;不随节点坐标/选中态变化。 */
15
+ export declare function computeFlowNodeTypesKey(libraryGroups: ComponentLibraryGroup[], nodes: Node[]): string;
16
+ export declare function buildWechenAgentNodeTypes(libraryGroups: ComponentLibraryGroup[], nodes?: Node[]): NodeTypes;
9
17
  //# sourceMappingURL=nodeTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodeTypes.d.ts","sourceRoot":"","sources":["../../src/flow/nodeTypes.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,eAAO,MAAM,oBAAoB;;;;CAIZ,CAAC"}
1
+ {"version":3,"file":"nodeTypes.d.ts","sourceRoot":"","sources":["../../src/flow/nodeTypes.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAE9E,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAQ5C,eAAO,MAAM,oBAAoB;;;;CAEZ,CAAC;AAEtB,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,qBAAqB,EAAE,GAC9B,MAAM,EAAE,CAWV;AAED,6CAA6C;AAC7C,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,qBAAqB,EAAE,EACtC,KAAK,EAAE,IAAI,EAAE,GACZ,MAAM,EAAE,CASV;AAED,iDAAiD;AACjD,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,qBAAqB,EAAE,EACtC,KAAK,EAAE,IAAI,EAAE,GACZ,MAAM,CAER;AAED,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,qBAAqB,EAAE,EACtC,KAAK,GAAE,IAAI,EAAO,GACjB,SAAS,CAQX"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 在 `setNodes` / `setEdges` 提交后选中新建对象(`select*` 依赖最新 state)。
3
+ */
4
+ export declare function scheduleSelectNode(selectNode: (nodeId: string | null) => void, nodeId: string): void;
5
+ export declare function scheduleSelectEdge(selectEdge: (edgeId: string | null) => void, edgeId: string): void;
6
+ //# sourceMappingURL=scheduleGraphSelection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduleGraphSelection.d.ts","sourceRoot":"","sources":["../../src/flow/scheduleGraphSelection.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,EAC3C,MAAM,EAAE,MAAM,GACb,IAAI,CAEN;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,EAC3C,MAAM,EAAE,MAAM,GACb,IAAI,CAEN"}
@@ -135,6 +135,7 @@ export interface WechenAgentEditorRef {
135
135
  * - **`patch` 表示 `data` 上的部分字段**,可包含 **多个顶层键**(一次调用统一写多字段);键集合与 `mergeNodeData` 的第二个参数相同。
136
136
  * - **`patch` 的顶层键对应 `node.data` 的键**,不是整颗 React Flow `Node`(不含 `id` / `type` / `position`)。例:`patchNodeData(id, { label: "x" })` → `node.data.label`。
137
137
  * - **错误嵌套**:不要用 `patchNodeData(id, { data: { label } })` 表示「把 `label` 写进 data」——除非业务模型里 **`node.data` 下确有名 `data` 的嵌套对象**;否则合并路径是 **`data.data.label`**,而非替换整个 `node.data`。
138
+ * - **更多示例与反例**:README「[patchNode 与 patchNodeData](README.md#patchnode-与-patchnodedata)」;`renderConfigPanel` 内 **`ctx.patchNode(patch)`** 签名相同且 **勿传 nodeId**。
138
139
  */
139
140
  patchNodeData(nodeId: string, patch: Record<string, unknown>): void;
140
141
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"flowTypes.d.ts","sourceRoot":"","sources":["../src/flowTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flowTypes.d.ts","sourceRoot":"","sources":["../src/flowTypes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hostEditorConfig.d.ts","sourceRoot":"","sources":["../src/hostEditorConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,qBAAqB,EAAwB,MAAM,iCAAiC,CAAC;AAEnG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,sCAAsC;AACtC,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAC;AAEhD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,uBAAuB,CAAC;IAChC,0DAA0D;IAC1D,WAAW,CAAC,EAAE,0BAA0B,EAAE,CAAC;CAC5C;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAChD,kBAAkB,CAAC,EAAE,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;IAClE,kBAAkB,CAAC,EAAE,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;IAClE,YAAY,CAAC,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;IACtD;;;OAGG;IACH,aAAa,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACxC,2CAA2C;IAC3C,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,uBAAuB,CAAC,EAAE,sBAAsB,CAAC,yBAAyB,CAAC,CAAC;IAC5E,cAAc,CAAC,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,gBAAgB,CAAC,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;IAC9D,iBAAiB,CAAC,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;IAChE,mBAAmB,CAAC,EAAE,sBAAsB,CAAC,qBAAqB,CAAC,CAAC;IACpE,mBAAmB,CAAC,EAAE,sBAAsB,CAAC,qBAAqB,CAAC,CAAC;IACpE,0EAA0E;IAC1E,cAAc,CAAC,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,eAAe,CAAC,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;IAC5D,gBAAgB,CAAC,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;CAC/D;AAwDD;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,sBAAsB,GAAG,sBAAsB,CAkClG"}
1
+ {"version":3,"file":"hostEditorConfig.d.ts","sourceRoot":"","sources":["../src/hostEditorConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,qBAAqB,EAAwB,MAAM,iCAAiC,CAAC;AAEnG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,sCAAsC;AACtC,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAC;AAEhD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,uBAAuB,CAAC;IAChC,0DAA0D;IAC1D,WAAW,CAAC,EAAE,0BAA0B,EAAE,CAAC;CAC5C;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAChD,kBAAkB,CAAC,EAAE,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;IAClE,kBAAkB,CAAC,EAAE,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;IAClE,YAAY,CAAC,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;IACtD;;;OAGG;IACH,aAAa,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACxC,2CAA2C;IAC3C,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,uBAAuB,CAAC,EAAE,sBAAsB,CAAC,yBAAyB,CAAC,CAAC;IAC5E,cAAc,CAAC,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,gBAAgB,CAAC,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;IAC9D,iBAAiB,CAAC,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;IAChE,mBAAmB,CAAC,EAAE,sBAAsB,CAAC,qBAAqB,CAAC,CAAC;IACpE,mBAAmB,CAAC,EAAE,sBAAsB,CAAC,qBAAqB,CAAC,CAAC;IACpE,0EAA0E;IAC1E,cAAc,CAAC,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,eAAe,CAAC,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;IAC5D,gBAAgB,CAAC,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;CAC/D;AAwDD;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,sBAAsB,GAAG,sBAAsB,CAoClG"}
@@ -0,0 +1,4 @@
1
+ /** 蒙层点击提示节流(毫秒)。 */
2
+ export declare const CONFIG_UNSAVED_GUARD_MESSAGE_THROTTLE_MS = 500;
3
+ export declare function createThrottledHandler(handler: () => void, throttleMs?: number): () => void;
4
+ //# sourceMappingURL=configUnsavedGuardThrottle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configUnsavedGuardThrottle.d.ts","sourceRoot":"","sources":["../../src/i18n/configUnsavedGuardThrottle.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,eAAO,MAAM,wCAAwC,MAAM,CAAC;AAE5D,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,IAAI,EACnB,UAAU,GAAE,MAAiD,GAC5D,MAAM,IAAI,CAUZ"}
@@ -9,11 +9,14 @@ export declare const LOCALE_KEYS: {
9
9
  readonly SIDER_LIBRARY_TITLE: "组件库";
10
10
  readonly LIBRARY_SEARCH_PLACEHOLDER: "搜索 Agent / MCP...";
11
11
  readonly LIBRARY_EMPTY: "无匹配项";
12
+ readonly LIBRARY_DROP_MISSING_ITEM_TYPE: "无法拖入:组件库条目缺少 item.type(必填,任意非空字符串)";
13
+ readonly LIBRARY_DROP_ITEM_NOT_FOUND: "无法拖入:未找到对应的组件库条目";
12
14
  readonly SIDER_CONFIG_TITLE: "配置";
13
15
  readonly CANVAS_CONTROLS: "画布控制";
14
16
  readonly CANVAS_ZOOM_IN: "放大";
15
17
  readonly CANVAS_ZOOM_OUT: "缩小";
16
18
  readonly CANVAS_FIT_VIEW: "适应视图";
19
+ readonly CONFIG_UNSAVED_GUARD_HINT: "当前有未保存的修改,请先保存后再操作";
17
20
  };
18
21
  /** 内置回退路径文案(未传 render* 时);key 同为默认中文。 */
19
22
  export declare const FALLBACK_LOCALE_KEYS: {
@@ -1 +1 @@
1
- {"version":3,"file":"localeKeys.d.ts","sourceRoot":"","sources":["../../src/i18n/localeKeys.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;CAYd,CAAC;AAEX,yCAAyC;AACzC,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;CA0BvB,CAAC;AAEX,MAAM,MAAM,+BAA+B,GACzC,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEjD,MAAM,MAAM,kCAAkC,GAC5C,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAEnE,MAAM,MAAM,0BAA0B,GAClC,+BAA+B,GAC/B,kCAAkC,CAAC"}
1
+ {"version":3,"file":"localeKeys.d.ts","sourceRoot":"","sources":["../../src/i18n/localeKeys.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;CAgBd,CAAC;AAEX,yCAAyC;AACzC,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;CA0BvB,CAAC;AAEX,MAAM,MAAM,+BAA+B,GACzC,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEjD,MAAM,MAAM,kCAAkC,GAC5C,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAEnE,MAAM,MAAM,0BAA0B,GAClC,+BAA+B,GAC/B,kCAAkC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@ export type { WechenHostEditorConfig, WechenHostLibraryConfig, WechenHostLibrary
6
6
  export { WechenAgentEditorRenderContext, useWechenAgentEditorRender, } from './WechenAgentEditorContext';
7
7
  export type { WechenAgentRenderFlowNodeContext, WechenAgentRenderFlowNodeFn, } from './WechenAgentEditorContext';
8
8
  export type { WechenAgentRenderNodeConfigFn } from './panels/NodeConfigPanel';
9
- export type { WechenAgentConfigPanelContext, WechenAgentConfigPanelEdgeContext, WechenAgentConfigPanelNodeContext, WechenAgentEditorLocaleApi, WechenAgentEditorPanelFlags, WechenAgentRenderConfigPanelFn, } from './wechenAgentConfigPanel';
9
+ export type { WechenAgentConfigPanelContext, WechenAgentConfigPanelEdgeContext, WechenAgentConfigPanelNodeContext, WechenAgentConfigPanelSharedContext, WechenAgentEditorLocaleApi, WechenAgentEditorPanelFlags, WechenAgentRenderConfigPanelFn, } from './wechenAgentConfigPanel';
10
10
  export { LOCALE_KEYS, FALLBACK_LOCALE_KEYS } from './i18n/localeKeys';
11
11
  export type { WechenAgentEditorLocaleKey, WechenAgentEditorShellLocaleKey, WechenAgentEditorFallbackLocaleKey, } from './i18n/localeKeys';
12
12
  export { useEditorLocale, EditorLocaleProvider } from './i18n/LocaleContext';
@@ -14,10 +14,10 @@ export type { EditorLocaleContextValue } from './i18n/LocaleContext';
14
14
  export { exportWechenAgentEditorShellLocaleBundle, exportWechenAgentEditorFallbackLocaleBundle, exportWechenAgentEditorLocaleBundle, exportWechenAgentEditorLocaleBundleJson, exportWechenAgentEditorShellLocaleBundleJson, exportWechenAgentEditorLocaleLabelsZh, mergeWechenAgentEditorLocaleMessages, mergeWechenAgentEditorShellLocaleMessages, } from './i18n/exportLocaleBundle';
15
15
  export { validateLocaleMessagesCompleteness } from './i18n/validateLocaleMessagesCompleteness';
16
16
  export type { WechenAgentEditorLocaleId, ExportLocaleLabelsZhOptions, } from './i18n/exportLocaleBundle';
17
- export type { ComponentLibraryGroup, ComponentLibraryIconSlot, ComponentLibraryItem, WechenAgentComponentLibraryGroupPayload, WechenAgentComponentLibraryItemPayload, WechenAgentComponentLibraryList, } from './config/componentLibraryConfig';
17
+ export type { ComponentLibraryGroup, ComponentLibraryIconSlot, ComponentLibraryItem, LibraryGroupValidationIssue, WechenAgentComponentLibraryGroupPayload, WechenAgentComponentLibraryItemPayload, WechenAgentComponentLibraryList, } from './config/componentLibraryConfig';
18
18
  export type { FlowHandleAutoLayout, FlowHandlesConfig, FlowHandleSide, FlowHandleSlotEven, FlowHandleSpec, } from './config/flowHandleTypes';
19
19
  export { expandFlowHandlesConfig } from './config/flowHandleTypes';
20
- export { COMPONENT_LIBRARY_GROUP_APP, COMPONENT_LIBRARY_GROUP_MAIN, defaultAppAgentComponentItems, defaultMainAgentComponentItems, findComponentLibraryGroup, findComponentLibraryItem, fromWechenAgentComponentLibraryList, getDefaultComponentLibraryGroups, resolveLibraryItemNodeType, isLibraryIconSet, isLibraryIconString, toWechenAgentComponentLibraryList, } from './config/componentLibraryConfig';
20
+ export { COMPONENT_LIBRARY_GROUP_APP, COMPONENT_LIBRARY_GROUP_MAIN, defaultAppAgentComponentItems, defaultMainAgentComponentItems, findComponentLibraryGroup, findComponentLibraryItem, fromWechenAgentComponentLibraryList, getDefaultComponentLibraryGroups, resolveLibraryItemNodeType, validateComponentLibraryGroups, isLibraryIconSet, isLibraryIconString, toWechenAgentComponentLibraryList, } from './config/componentLibraryConfig';
21
21
  export { appendComponentToLibrary, removeComponentFromLibrary, } from './config/componentLibraryDynamic';
22
22
  export { exportBackendWorkflowJson, importBackendWorkflowToFlow, isWechenBackendWorkflowJson, WECHEN_BACKEND_WORKFLOW_SCHEMA_VERSION, } from './backendWorkflowJson';
23
23
  export type { BackendWorkflowExportMeta, WechenBackendWorkflowEdge, WechenBackendWorkflowJson, WechenBackendWorkflowNode, WechenBackendWorkflowNodeType, } from './backendWorkflowJson';
@@ -30,8 +30,10 @@ export { isValidZoneConnection } from './flow/zoneConnectionValidation';
30
30
  export type { NodeLookup } from './flow/zoneHandleLayout';
31
31
  export { partitionIncomingByGeometry, partitionIncomingForZones, partitionOutgoingByGeometry, partitionOutgoingForZones, } from './flow/zoneHandleLayout';
32
32
  export { mergeNodeData } from './flow/mergeNodeData';
33
- export { createEdgeFromConnection, createNodeFromLibraryItem, } from './flow/flowGraphMutations';
34
- export type { CreateNodeFromLibraryItemOptions, NodeLookupFn, } from './flow/flowGraphMutations';
33
+ export { createEdgeFromConnection, createNodeFromLibraryItem, getCreateNodeFromLibraryItemFailureReason, } from './flow/flowGraphMutations';
34
+ export type { CreateNodeFromLibraryItemFailureReason, CreateNodeFromLibraryItemOptions, NodeLookupFn, } from './flow/flowGraphMutations';
35
+ export { buildWechenAgentNodeTypes, collectItemTypesFromLibraryGroups, collectNodeTypesFromFlow, computeFlowNodeTypesKey, wechenAgentNodeTypes, } from './flow/nodeTypes';
36
+ export { createDroppedHostTypeNode } from './flow/dropNodes';
35
37
  export { validateWechenAgentFlow } from './flow/flowValidation';
36
38
  export type { ValidateWechenAgentFlowOptions, WechenFlowValidationIssue, WechenFlowValidationResult, WechenFlowValidationSeverity, } from './flow/flowValidation';
37
39
  export type { WechenAgentEdgeData, WechenAgentEdgeFlowDirection, WechenAttachSideIn, WechenAttachSideOut, } from './flow/wechenAgentEdgeTypes';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}