wechen-agent-editor-v1 1.3.1 → 1.3.3

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 (34) hide show
  1. package/README.md +95 -11
  2. package/dist/WechenAgentEditor.d.ts +11 -1
  3. package/dist/WechenAgentEditor.d.ts.map +1 -1
  4. package/dist/WechenAgentEditorContext.d.ts +8 -0
  5. package/dist/WechenAgentEditorContext.d.ts.map +1 -1
  6. package/dist/flow/CanvasErrorBoundary.d.ts +9 -0
  7. package/dist/flow/CanvasErrorBoundary.d.ts.map +1 -0
  8. package/dist/flow/EditorSubtreeErrorBoundary.d.ts +19 -0
  9. package/dist/flow/EditorSubtreeErrorBoundary.d.ts.map +1 -0
  10. package/dist/flow/canvasIssueReport.d.ts +10 -0
  11. package/dist/flow/canvasIssueReport.d.ts.map +1 -0
  12. package/dist/flow/corruptFlowFixtures.d.ts +8 -0
  13. package/dist/flow/corruptFlowFixtures.d.ts.map +1 -0
  14. package/dist/flow/deleteGuard.d.ts +24 -7
  15. package/dist/flow/deleteGuard.d.ts.map +1 -1
  16. package/dist/flow/edgeLayoutSnapshot.d.ts.map +1 -1
  17. package/dist/flow/edgeRouteGeometry.d.ts.map +1 -1
  18. package/dist/flow/flowJsonUtils.d.ts.map +1 -1
  19. package/dist/flow/flowNodeBBox.d.ts.map +1 -1
  20. package/dist/flow/flowOperationEvents.d.ts +37 -0
  21. package/dist/flow/flowOperationEvents.d.ts.map +1 -0
  22. package/dist/flow/selectionToolbar/SelectionToolbar.d.ts.map +1 -1
  23. package/dist/flow/wechenAgentEdgeTypes.d.ts.map +1 -1
  24. package/dist/flowTypes.d.ts +1 -0
  25. package/dist/flowTypes.d.ts.map +1 -1
  26. package/dist/hostEditorConfig.d.ts +1 -0
  27. package/dist/hostEditorConfig.d.ts.map +1 -1
  28. package/dist/index.d.ts +3 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +9839 -9466
  31. package/dist/index.js.map +1 -1
  32. package/dist/panels/ConfigPanelErrorBoundary.d.ts +8 -0
  33. package/dist/panels/ConfigPanelErrorBoundary.d.ts.map +1 -0
  34. package/package.json +4 -1
package/README.md CHANGED
@@ -4,8 +4,12 @@
4
4
 
5
5
  **包名**:以 `package.json` 的 `name` 为准(`wechen-agent-editor-v1`)。安装与 `import` 均使用该名称。
6
6
 
7
+ **当前发布版本**:**1.3.2**(变更见 [CHANGELOG.md](CHANGELOG.md))。发版前自检见文末 [维护者:发版](#维护者发版)。
8
+
7
9
  > **宿主集成必读**:本包 **`dependencies` 为空**,运行时能力全部来自 **peerDependencies**。除 `npm install wechen-agent-editor-v1` 外,须在**业务工程根目录**一并安装 **`react` / `react-dom` / `antd` / `@xyflow/react` / `dagre` / `monaco-editor` / `@monaco-editor/react`**(见下文 [安装](#安装))。缺任一项会导致画布空白、连线失效、自动排版失败或 Monaco 无法加载。
8
10
 
11
+ **文档导航**:[能力地图](docs/CAPABILITY-MAP.md)(props / ref / 图操作 / 数据)· [集成阶梯 L0–L3](docs/HOST-INTEGRATION-LADDER.md) · [工程基线](docs/ENGINEERING-BASELINE.md) · Playground 默认 [`?tab=overview`](playground/README.md)
12
+
9
13
  ## 快速开始
10
14
 
11
15
  ### 60 秒最小集成(L0)
@@ -148,7 +152,10 @@ const flow = importBackendWorkflowToFlow(dtoFromApi);
148
152
  // <WechenAgentEditor initialFlow={flow} />
149
153
  ```
150
154
 
151
- 本仓库 **playground** 提供对照:`npm run dev:minimal` 为最小页;默认 `npm run dev` 为带场景 JSON 与工具栏的完整演示(见 `playground/README.md`)。
155
+ 本仓库 **playground** 提供对照:
156
+
157
+ - **`npm run dev`**:文档站(侧栏能力 Tab + **仓库文档** `?tab=repo-docs` + 分栏独立滚动;默认 `?tab=overview`),见 [playground/README.md](playground/README.md)。
158
+ - **`npm run dev:minimal`**:仅最小宿主集成(对照上文「60 秒最小集成」)。
152
159
 
153
160
  ### 编辑器与 Agent 运行时
154
161
 
@@ -235,6 +242,8 @@ npm install wechen-agent-editor-v1 react react-dom antd @xyflow/react dagre mona
235
242
 
236
243
  自 **1.2.3** 起 **`@xyflow/react`**、**`dagre`** 由 **peer** 提供(不再随本包内嵌)。自 **1.0.x** 起 **`react` / `antd` / `monaco-*`** 即为 peer。升级自内嵌 Flow 的旧版时,请务必在宿主根目录 **新增** `@xyflow/react` 与 `dagre` 依赖。
237
244
 
245
+ 自 **1.3.2** 起推荐用 **`onFlowOperation`** 统一图操作策略(替代仅覆盖删除的 `onBeforeRemove*`);**peer 清单无变化**,从 **1.3.0** 升级通常只需 bump 版本并回归构建与画布烟测。
246
+
238
247
  **不要**再依赖本包 tarball 内自带的 `@xyflow/react`(历史 `bundledDependencies` 已移除)。宿主与编辑器 **必须** `npm ls @xyflow/react` 仅一棵有效树。
239
248
 
240
249
  安装后建议自检:
@@ -266,18 +275,23 @@ npm 7+ 会校验整棵依赖树的 peer。冲突常来自宿主已有包,未
266
275
  "monaco-editor": "^0.45.0",
267
276
  "react": "^18.3.0",
268
277
  "react-dom": "^18.3.0",
269
- "wechen-agent-editor-v1": "^1.3.0"
278
+ "wechen-agent-editor-v1": "^1.3.2"
270
279
  }
271
280
  }
272
281
  ```
273
282
 
274
283
  ### 集成排错
275
284
 
285
+ **白屏优先**:打开控制台过滤 `[wechen-agent-editor]`,对照 [docs/WHITE-SCREEN-RISK-REGISTER.md](docs/WHITE-SCREEN-RISK-REGISTER.md) 中的 ID/code;Playground 手测 `?tab=legacy-host-api-flow`(JSON 文本域)与 `?tab=custom-config-panel`(配置区边界)。
286
+
276
287
  | 现象 | 可能原因 | 处理 |
277
288
  |------|----------|------|
278
289
  | 代码编辑区空白 / 控制台 Monaco worker 报错 | 未配置 **Monaco worker** | 按 README「Monaco Worker」在应用入口引导 worker |
279
290
  | `worker-javascript.js` MIME **`text/html`** / `importScripts` 失败 | 开发服务器对 worker 返回 **HTML 404** | 配置 `MonacoEnvironment`;**Umi** 见 [docs/UMI-MONACO-WORKER.md](docs/UMI-MONACO-WORKER.md) |
280
291
  | 选中边后白屏、`Rendered more hooks than during the previous render` | 旧版边组件在 `return null` 后调用 hook | 升级含边组件 Hooks 修复的版本(见 CHANGELOG) |
292
+ | 有边即白屏、`reading 'offset'` | 旧 flow 无 `wechenPathOptions` 或几何未就绪 | 升级含 legacy 边容错版本;控制台搜 **`[wechen-agent-editor]`**(如 `EDGE_PATH_OPTIONS_NULL`、`EDGE_GEOMETRY_UNAVAILABLE`) |
293
+ | 画布区域 Alert「渲染异常」、其余页面正常 | 画布子树未捕获异常 | 看控制台 **`CANVAS_RENDER_CRASH`** 堆栈;修复宿主 `renderFlowNode` 或数据 |
294
+ | 配置区 Alert「配置区渲染异常」、画布仍可用 | `renderConfigPanel` 抛错 | 看 **`CONFIG_PANEL_RENDER_CRASH`**;修复宿主配置面板实现 |
281
295
  | 画布不可见或高度为 0 | 父级无 **定高** 或 flex 链缺 `minHeight: 0` | 使用「嵌入 flex 布局」示例;或传编辑器 **`minHeight`** |
282
296
  | 连线异常、Handle 无响应、样式错乱 | **未装 peer 或 `@xyflow/react` 双实例** | 按上文 **一条命令** 装齐 peer;`npm ls @xyflow/react` 仅一棵;打包器 **alias/dedupe** |
283
297
  | `autoLayout` 报错 | **未安装 `dagre`** | 在宿主 `dependencies` 添加 `dagre` |
@@ -446,7 +460,9 @@ validateLocaleMessagesCompleteness(enPack);
446
460
  - **`readOnly`**:禁止对图的增删改(组件库拖入、连线、删除键、拖动节点、选中浮动条、`ref.removeNode` / `patchNodeData` 等),仍可使用平移/缩放查看,**可点选节点/边** 在右侧只读查看配置。**`readOnly`** 与 **`readingMode`** 会出现在 **`renderConfigPanel` / `renderNodeConfig`** 的入参中。
447
461
  - **`readingMode`**:**仅展示中间流程画布**(隐藏顶栏与左右栏),并**禁用选中**与一切改图,适合文档内嵌、大屏预览等纯展示场景(隐含只读)。根节点会附加 **`wechen-agent-editor--reading`**。
448
462
 
449
- ### 删除守卫(`onBeforeRemoveNode` / `onBeforeRemoveEdge`)
463
+ ### 删除守卫(`onBeforeRemoveNode` / `onBeforeRemoveEdge`)— **@deprecated**
464
+
465
+ > **新集成请用** 下文 **[图操作事件(`onFlowOperation`)](#图操作事件onflowoperation)**。本 API 仅覆盖删除;与 `onFlowOperation` 同时传入时 **事件优先**。迁移见 [docs/CAPABILITY-MAP.md](docs/CAPABILITY-MAP.md)。
450
466
 
451
467
  在可编辑模式下,可通过回调 **按节点/边粒度** 决定是否允许删除。同步返回 **`false`** 时取消该次删除(**Backspace** 与 **`ref.removeNode` / `ref.removeEdge`** 均生效)。**`readOnly` / `readingMode`** 下不调用回调。删除节点时 **级联移除** 的关联边 **不会** 逐条触发 `onBeforeRemoveEdge`。
452
468
 
@@ -464,6 +480,39 @@ validateLocaleMessagesCompleteness(enPack);
464
480
 
465
481
  L1 工厂同样支持:`buildWechenAgentEditorProps({ onBeforeRemoveNode: ... })`。
466
482
 
483
+ ### 图操作事件(`onFlowOperation`)
484
+
485
+ 在可编辑模式下,**删/复制/新增/连线/patch/路径重置** 等改图操作在应用前会派发 **`WechenFlowOperationEvent`**。宿主在 **`onFlowOperation`** 中按 **`event.kind`**(如 `node.remove`、`node.duplicate`、`edge.add`)与 **`event.node` / `event.edge`** 返回 **`false`** 即可取消该次操作(键盘、浮动条、ref 路径一致)。**`onFlowOperation` 对 `node.remove` / `edge.remove` 优先于** `onBeforeRemoveNode` / `onBeforeRemoveEdge`。**`readOnly` / `readingMode`** 下不调用。
486
+
487
+ 拒绝 **`node.remove`** 时,编辑器会 **原子取消** 该次删节点操作:节点保留,且 **不会** 因该次键盘/ref 删除而连带移除关联边(级联删边 **不** 单独派发 `edge.remove`)。宿主 **只需** 拦截 `node.remove` / `node.duplicate` 等,**不必** 为级联边再返回 `edge.remove: false`。显式选中边后删除仍走 **`edge.remove`** 门控。
488
+
489
+ | `kind`(节选) | 含义 |
490
+ |----------------|------|
491
+ | `node.remove` | 删除节点 |
492
+ | `node.duplicate` | 复制节点 |
493
+ | `node.add` | 新增节点(拖库、ref) |
494
+ | `node.patch` | 补丁 `node.data` |
495
+ | `edge.remove` | 删除边 |
496
+ | `edge.add` | 新建连线 |
497
+ | `edge.reconnect` | 重连连线 |
498
+ | `edge.patch` | 补丁边 |
499
+ | `edge.path.reset` | 恢复自动路径 |
500
+
501
+ ```tsx
502
+ <WechenAgentEditor
503
+ onFlowOperation={(event) => {
504
+ if (event.node?.type === "pill") {
505
+ if (event.kind === "node.remove" || event.kind === "node.duplicate") {
506
+ return false;
507
+ }
508
+ }
509
+ return true;
510
+ }}
511
+ />
512
+ ```
513
+
514
+ Playground:`?tab=flow-operation-policy`。L1:`buildWechenAgentEditorProps({ onFlowOperation: ... })`。
515
+
467
516
  ### 顶底感应区连线(默认,上进下出)
468
517
 
469
518
  内置 **`pill` / `card` / `mainAgent`** 在未使用 **`renderFlowNode`**、且未启用下文 **legacy `flowHandles`** 时,采用 **顶 / 底** 周界窄条:**输入池 = 顶边**(`target`)、**输出池 = 底边**(`source`),符合 Agent **自上而下** 阅读;多条入/出边沿顶/底边按邻居 **水平坐标** 分列槽位;**整条感应条**均可拖拽拉出连线(十字光标),几何锚点仍在 **条带中心** stub。新建连接桩:**`in-new-top-{nodeId}`**(顶)、**`out-new-bottom-{nodeId}`**(底)。透明 **`Handle`**、无固定圆点桩 UI。新边 **`sourceHandle` / `targetHandle`** 仍为 **`out-${edgeId}`** / **`in-${edgeId}`**;**`normalizeWechenAgentFlowJson`** 归一化旧桩 id。新建连线写入 **`edge.data.wechenSourceAttachSide` / `wechenTargetAttachSide`**(默认 **底→顶**)。旧图 **`left`/`right`** 锚边在加载/同步时迁移为 **`top`/`bottom`**。**`ConnectionMode.Strict`**、**`isValidConnection`**(禁自环)。默认边 **平滑阶梯 + 终点箭头**(箭头在 **target** 端)。与 **`autoLayoutNodes` / `relayoutEdges`**、底边扇出 **共干** 路径配合。
@@ -704,6 +753,7 @@ Playground **`renderConfigPanel`** Tab 中 `card` / 边配置演示了该流程
704
753
  | 烟测 | 拖入节点、连线、`readOnly` / `readingMode`、保存或 `getSnapshot`;边路径添加拐点/拖顶点 |
705
754
  | ref 增图 | `ref.addNodeFromLibrary` / `ref.connect` 与拖放、连线行为一致 |
706
755
  | DTO 往返 | `exportBackendWorkflowJson` → `importBackendWorkflowToFlow` → `replaceFlow`;`condition`/`api`/`script` 经 `data.backendNodeType` |
756
+ | 图操作门控 | **`onFlowOperation`**:拒 `node.remove` 时节点与级联边均保留(Playground `?tab=flow-operation-policy`) |
707
757
  | 图校验 | `validateWechenAgentFlow`;可选 `onBeforeSave` 拦截 |
708
758
 
709
759
  ---
@@ -716,9 +766,16 @@ npm install --prefix playground
716
766
  npm run dev # Playground 文档站(分 Tab 演示;ref 全表见 ?tab=ref-api,见 playground/README.md)
717
767
  npm run dev:minimal # 仅最小宿主集成(对照 README「快速开始」)
718
768
  npm run baseline # 工程基线:测试数、最大 LOC、dist 体积(见 docs/ENGINEERING-BASELINE.md)
769
+ npm test # Vitest(含 flowOperation / deleteGuard 表驱动与 editorGateSmoke)
770
+ npm run typecheck
771
+ npm run check:docs # 文档覆盖 WARN(onFlowOperation kind ↔ README)
772
+ npm run release:prep # 发版门禁:test + build + pack:check + playground build + baseline
773
+ npm run verify:change # 可选:test + typecheck + audit:white-screen(见 docs/ENGINEERING-BASELINE.md)
719
774
  ```
720
775
 
721
- 浏览器地址以终端输出为准(默认 `http://localhost:5173`)。
776
+ **门控冒烟**(无 DOM):`src/flow/editorGateSmoke.test.ts` — 验证 `onFlowOperation` 拒删 pill 时级联边过滤;已包含在 `npm test` / `release:prep`。
777
+
778
+ 浏览器地址以终端输出为准(默认 `http://localhost:5173`)。文档站默认 **`?tab=overview`**。
722
779
 
723
780
  ---
724
781
 
@@ -728,24 +785,51 @@ npm run baseline # 工程基线:测试数、最大 LOC、dist 体积
728
785
 
729
786
  | 版本 | 宿主需注意 |
730
787
  |------|------------|
788
+ | **1.3.2** | **`onFlowOperation`** 统一图操作门控;拒 `node.remove` 时级联边原子保留;legacy 边/只读/配置区白屏加固;**peer 同 1.3.0** |
731
789
  | **1.3.0** | 自由折线路径编辑、选中浮动条、路径 ref;**peer 要求同 1.2.3** |
732
790
  | **1.2.3** | **Breaking(集成)**:`@xyflow/react`、`dagre` 改为 peer,须宿主显式安装 |
733
791
  | **1.1.x** | `buildWechenAgentEditorProps`、后端 DTO、删除守卫等 |
734
792
 
735
793
  完整变更见 **`CHANGELOG.md`**。
736
794
 
737
- ### 发版清单
795
+ ### 发版清单(1.3.2)
796
+
797
+ 1. **版本号**:确认根目录 `package.json` **`version`** 为 **`1.3.2`**(npm 以该字段为准;README / CHANGELOG 已对齐)。
798
+ 2. **依赖与锁文件**:`npm install`;若改过 `playground/`,执行 `npm install --prefix playground`。
799
+ 3. **门禁**(推荐一条命令):
800
+
801
+ ```bash
802
+ npm run release:prep
803
+ ```
804
+
805
+ 等价分步:`npm test` → `npm run build` → `npm run pack:check` → `npm --prefix playground run build` → `npm run baseline`(基线摘要)。可选加强:`npm run verify:change`(含 `audit:white-screen`)、`npm run check:docs`。
806
+
807
+ 日志写入 **`.release-check.log`**(`release:prep` 脚本)。
738
808
 
739
- 1. 确认 `package.json` **`version`** bump(**以 `package.json` 为准**,当前 **1.3.0**)。
740
- 2. 执行 **`npm install`**(同步 lock)→ **`npm run release:prep`**(`test` + `build` + `pack:check` + playground build + **基线摘要**),或分步执行;可单独运行 **`npm run baseline`** 查看 LOC/体积指标。
741
- 3. **`npm whoami`** 确认已登录 **registry.npmjs.org**;scoped 包首次发布需 **`--access public`**(`publishConfig` 已配置)。
742
- 4. 执行 **`npm run release`**(或 `npm publish`),发后验证:
809
+ 4. **登录 registry**:`npm whoami`(`registry.npmjs.org`);国内镜像发版用 **`npm run release:cn`**(勿与 npmjs 混用同一 token 流程 unless intentional)。
810
+ 5. **发布**:
811
+
812
+ ```bash
813
+ npm run release
814
+ # 或:npm publish --access public --registry=https://registry.npmjs.org/
815
+ ```
816
+
817
+ 6. **发后验证**:
743
818
 
744
819
  ```bash
745
820
  npm view wechen-agent-editor-v1 version
746
- npm pack --dry-run # 确认 tarball 仅含 distLICENSE
821
+ npm pack --dry-run # tarball 应仅含 dist/、LICENSE(见 package.json files)
822
+ ```
823
+
824
+ 7. **空目录烟测**(将 `<version>` 换为 `package.json` 中的版本):
825
+
826
+ ```bash
827
+ mkdir /tmp/wechen-smoke && cd /tmp/wechen-smoke
828
+ npm init -y
829
+ npm install wechen-agent-editor-v1@<version> react react-dom antd @xyflow/react dagre monaco-editor @monaco-editor/react
830
+ node -e "import('wechen-agent-editor-v1').then(m => console.log('ok', typeof m.WechenAgentEditor))"
747
831
  ```
748
832
 
749
- 5. 在空目录烟测:`npm install wechen-agent-editor-v1@<version>`(`<version>` 与 `package.json` 一致),`import { WechenAgentEditor } from "wechen-agent-editor-v1"`。
833
+ 8. **Git 标签(建议)**:`git tag v1.3.2 && git push origin v1.3.2`(按团队规范)。
750
834
 
751
835
  发版前可将 `repository` / `bugs` / `homepage` 中的占位 URL 换成真实仓库地址(私有仓库可仅在内部文档记录,见「集成排错」说明)。
@@ -1,7 +1,7 @@
1
1
  import { CSSProperties, ReactNode } from 'react';
2
2
  import { ComponentLibraryGroup, WechenAgentComponentLibraryList } from './config/componentLibraryConfig';
3
3
  import { WechenAgentRenderSelectionToolbarFn, WechenSelectionToolbarSlot } from './flow/selectionToolbar/SelectionToolbar';
4
- import { WechenAgentEditorRef, WechenAgentFlowJson, WechenAgentHeaderActionsRenderContext, WechenAgentHeaderLeadingRenderContext, WechenAgentSnapshot, WechenBeforeRemoveEdgeFn, WechenBeforeRemoveNodeFn, WechenBeforeSaveFn } from './flowTypes';
4
+ import { WechenAgentEditorRef, WechenAgentFlowJson, WechenAgentHeaderActionsRenderContext, WechenAgentHeaderLeadingRenderContext, WechenAgentSnapshot, WechenBeforeRemoveEdgeFn, WechenBeforeRemoveNodeFn, WechenBeforeSaveFn, WechenOnFlowOperationFn } from './flowTypes';
5
5
  import { WechenAgentRenderFlowNodeFn } from './WechenAgentEditorContext';
6
6
  import { WechenAgentRenderNodeConfigFn } from './panels/NodeConfigPanel';
7
7
  import { WechenAgentRenderConfigPanelFn } from './wechenAgentConfigPanel';
@@ -71,11 +71,15 @@ export interface WechenAgentEditorProps {
71
71
  * 删除节点前回调;同步返回 **`false`** 时取消该次删除(键盘 Backspace 与 `ref.removeNode` 均生效)。
72
72
  * 删除节点时 **级联移除** 的关联边 **不会** 逐条触发 `onBeforeRemoveEdge`。
73
73
  * `readOnly` / `readingMode` 下 **不调用** 本回调。
74
+ *
75
+ * @deprecated 请改用 **`onFlowOperation`**(`kind: "node.remove"`)。见 README 与 `docs/CAPABILITY-MAP.md`。
74
76
  */
75
77
  onBeforeRemoveNode?: WechenBeforeRemoveNodeFn;
76
78
  /**
77
79
  * 删除边前回调;同步返回 **`false`** 时取消该次删除(键盘与 `ref.removeEdge` 均生效)。
78
80
  * `readOnly` / `readingMode` 下 **不调用** 本回调。
81
+ *
82
+ * @deprecated 请改用 **`onFlowOperation`**(`kind: "edge.remove"`)。见 README 与 `docs/CAPABILITY-MAP.md`。
79
83
  */
80
84
  onBeforeRemoveEdge?: WechenBeforeRemoveEdgeFn;
81
85
  /**
@@ -83,6 +87,12 @@ export interface WechenAgentEditorProps {
83
87
  * `readOnly` / `readingMode` 下 **不调用**。
84
88
  */
85
89
  onBeforeSave?: WechenBeforeSaveFn;
90
+ /**
91
+ * 图操作统一门控:删/复制/新增/连线/patch 等改图前派发事件;返回 **`false`** 取消。
92
+ * 对 `node.remove` / `edge.remove` **优先于** `onBeforeRemoveNode` / `onBeforeRemoveEdge`。
93
+ * `readOnly` / `readingMode` 下 **不调用**。
94
+ */
95
+ onFlowOperation?: WechenOnFlowOperationFn;
86
96
  /**
87
97
  * 为真时禁止对图的增删改(拖入、连线、删除键、拖动节点等);仍允许平移/缩放。
88
98
  * 标志会传入 `renderConfigPanel` / `renderNodeConfig` 便于禁用表单。
@@ -1 +1 @@
1
- {"version":3,"file":"WechenAgentEditor.d.ts","sourceRoot":"","sources":["../src/WechenAgentEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WechenAgentEditor.d.ts","sourceRoot":"","sources":["../src/WechenAgentEditor.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { NodeProps } from '@xyflow/react';
2
2
  import { ReactNode, RefObject } from 'react';
3
3
  import { WechenAgentEditorRef } from './flowTypes';
4
+ import { WechenFlowOperationKind } from './flow/flowOperationEvents';
4
5
  import { WechenAgentRenderSelectionToolbarFn, WechenSelectionToolbarSlot } from './flow/selectionToolbar/SelectionToolbar';
5
6
  export type WechenAgentRenderFlowNodeContext = {
6
7
  /** 当前节点是否被画布选中(与 NodeProps.selected 一致) */
@@ -21,6 +22,11 @@ export type WechenAgentRenderFlowNodeContext = {
21
22
  */
22
23
  /** `props.type` 为落盘 `node.type`(= `item.type`),非 `item.key` */
23
24
  export type WechenAgentRenderFlowNodeFn = (props: NodeProps, context: WechenAgentRenderFlowNodeContext) => ReactNode;
25
+ export type CanPerformFlowOperationFn = (kind: WechenFlowOperationKind, partial: {
26
+ source: import('./flow/flowOperationEvents').WechenFlowOperationSource;
27
+ node?: import('@xyflow/react').Node;
28
+ edge?: import('@xyflow/react').Edge;
29
+ }) => boolean;
24
30
  export interface WechenAgentEditorRenderContextValue {
25
31
  /** 自定义节点内容区;未设置时使用内置默认字段块 */
26
32
  renderFlowNode?: WechenAgentRenderFlowNodeFn;
@@ -32,6 +38,8 @@ export interface WechenAgentEditorRenderContextValue {
32
38
  canvasEditable: boolean;
33
39
  /** 编辑器命令式 ref,供默认节点调用宿主 `renderFlowNode` 时传入 context */
34
40
  editorRef: RefObject<WechenAgentEditorRef | null>;
41
+ /** 预判某操作是否允许(与 `onFlowOperation` 策略一致) */
42
+ canPerformFlowOperation?: CanPerformFlowOperationFn;
35
43
  }
36
44
  export declare const WechenAgentEditorRenderContext: import('react').Context<WechenAgentEditorRenderContextValue | null>;
37
45
  export declare function useWechenAgentEditorRender(): WechenAgentEditorRenderContextValue;
@@ -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,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EACV,mCAAmC,EACnC,0BAA0B,EAC3B,MAAM,0CAA0C,CAAC;AAElD,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;IACxB;;OAEG;IACH,SAAS,EAAE,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;CACnD,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;IAC7C,qCAAqC;IACrC,sBAAsB,CAAC,EAAE,mCAAmC,CAAC;IAC7D,oCAAoC;IACpC,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;IAClD,iCAAiC;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,wDAAwD;IACxD,SAAS,EAAE,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;CACnD;AAED,eAAO,MAAM,8BAA8B,qEACsB,CAAC;AASlE,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,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EACV,mCAAmC,EACnC,0BAA0B,EAC3B,MAAM,0CAA0C,CAAC;AAElD,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;IACxB;;OAEG;IACH,SAAS,EAAE,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;CACnD,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,MAAM,yBAAyB,GAAG,CACtC,IAAI,EAAE,uBAAuB,EAC7B,OAAO,EAAE;IACP,MAAM,EAAE,OAAO,4BAA4B,EAAE,yBAAyB,CAAC;IACvE,IAAI,CAAC,EAAE,OAAO,eAAe,EAAE,IAAI,CAAC;IACpC,IAAI,CAAC,EAAE,OAAO,eAAe,EAAE,IAAI,CAAC;CACrC,KACE,OAAO,CAAC;AAEb,MAAM,WAAW,mCAAmC;IAClD,6BAA6B;IAC7B,cAAc,CAAC,EAAE,2BAA2B,CAAC;IAC7C,qCAAqC;IACrC,sBAAsB,CAAC,EAAE,mCAAmC,CAAC;IAC7D,oCAAoC;IACpC,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;IAClD,iCAAiC;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,wDAAwD;IACxD,SAAS,EAAE,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAClD,0CAA0C;IAC1C,uBAAuB,CAAC,EAAE,yBAAyB,CAAC;CACrD;AAED,eAAO,MAAM,8BAA8B,qEACsB,CAAC;AASlE,wBAAgB,0BAA0B,IAAI,mCAAmC,CAEhF"}
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ export interface CanvasErrorBoundaryProps {
3
+ children: ReactNode;
4
+ /** 降级提示标题 */
5
+ title?: string;
6
+ }
7
+ /** React Flow 画布子树 Error Boundary */
8
+ export declare function CanvasErrorBoundary({ children, title }: CanvasErrorBoundaryProps): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=CanvasErrorBoundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanvasErrorBoundary.d.ts","sourceRoot":"","sources":["../../src/flow/CanvasErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qCAAqC;AACrC,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,wBAAwB,2CAMhF"}
@@ -0,0 +1,19 @@
1
+ import { Component, ErrorInfo, ReactNode } from 'react';
2
+ export interface EditorSubtreeErrorBoundaryProps {
3
+ children: ReactNode;
4
+ /** 控制台诊断 code,如 CANVAS_RENDER_CRASH */
5
+ crashCode: string;
6
+ /** 降级 Alert 标题 */
7
+ title?: string;
8
+ }
9
+ interface EditorSubtreeErrorBoundaryState {
10
+ hasError: boolean;
11
+ }
12
+ export declare class EditorSubtreeErrorBoundary extends Component<EditorSubtreeErrorBoundaryProps, EditorSubtreeErrorBoundaryState> {
13
+ state: EditorSubtreeErrorBoundaryState;
14
+ static getDerivedStateFromError(): EditorSubtreeErrorBoundaryState;
15
+ componentDidCatch(error: Error, info: ErrorInfo): void;
16
+ render(): ReactNode;
17
+ }
18
+ export {};
19
+ //# sourceMappingURL=EditorSubtreeErrorBoundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditorSubtreeErrorBoundary.d.ts","sourceRoot":"","sources":["../../src/flow/EditorSubtreeErrorBoundary.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,EAAE,SAAS,CAAC;IACpB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,+BAA+B;IACvC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,0BAA2B,SAAQ,SAAS,CACvD,+BAA+B,EAC/B,+BAA+B,CAChC;IACC,KAAK,EAAE,+BAA+B,CAAuB;IAE7D,MAAM,CAAC,wBAAwB,IAAI,+BAA+B;IAIlE,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAQtD,MAAM,IAAI,SAAS;CAapB"}
@@ -0,0 +1,10 @@
1
+ export type CanvasIssueLevel = "warn" | "error";
2
+ /** 画布/连线诊断 code,与 OpenSpec design 审计表一致 */
3
+ export type CanvasIssueCode = "EDGE_PATH_OPTIONS_NULL" | "EDGE_PATH_OPTIONS_INVALID" | "EDGE_PATH_INVALID" | "EDGE_ENDPOINT_MISSING" | "EDGE_DANGLING_ENDPOINT" | "EDGE_GEOMETRY_UNAVAILABLE" | "EDGE_PATH_BUILD_FAILED" | "EDGE_LAYOUT_SYNC_FAILED" | "CANVAS_RENDER_CRASH";
4
+ /**
5
+ * 可恢复画布问题:控制台输出,不 throw。同 `(code, edgeId)` 仅报一次,避免刷屏。
6
+ */
7
+ export declare function reportCanvasIssue(level: CanvasIssueLevel, code: CanvasIssueCode, detail?: Record<string, unknown>): void;
8
+ /** 测试或热重载时重置去重缓存 */
9
+ export declare function resetCanvasIssueReportCache(): void;
10
+ //# sourceMappingURL=canvasIssueReport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvasIssueReport.d.ts","sourceRoot":"","sources":["../../src/flow/canvasIssueReport.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEhD,2CAA2C;AAC3C,MAAM,MAAM,eAAe,GACvB,wBAAwB,GACxB,2BAA2B,GAC3B,mBAAmB,GACnB,uBAAuB,GACvB,wBAAwB,GACxB,2BAA2B,GAC3B,wBAAwB,GACxB,yBAAyB,GACzB,qBAAqB,CAAC;AAW1B;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,gBAAgB,EACvB,IAAI,EAAE,eAAe,EACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI,CAYN;AAED,oBAAoB;AACpB,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
@@ -0,0 +1,8 @@
1
+ import { WechenAgentFlowJson } from '../flowTypes';
2
+ /** 宿主 API 样例:有边、无 pathOptions/path,PILL/MAIN */
3
+ export declare const HOST_LEGACY_FLOW_SAMPLE: WechenAgentFlowJson;
4
+ export declare const FLOW_DANGLING_EDGE: WechenAgentFlowJson;
5
+ export declare const FLOW_INVALID_PATH: WechenAgentFlowJson;
6
+ export declare const FLOW_INVALID_PATH_OPTIONS: WechenAgentFlowJson;
7
+ export declare const FLOW_NODES_ONLY: WechenAgentFlowJson;
8
+ //# sourceMappingURL=corruptFlowFixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"corruptFlowFixtures.d.ts","sourceRoot":"","sources":["../../src/flow/corruptFlowFixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,gDAAgD;AAChD,eAAO,MAAM,uBAAuB,EAAE,mBAiCrC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,mBAIhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,mBAc/B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,mBAcvC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,mBAI7B,CAAC"}
@@ -1,11 +1,28 @@
1
1
  import { Edge, EdgeChange, Node, NodeChange } from '@xyflow/react';
2
2
  import { WechenBeforeRemoveEdgeFn, WechenBeforeRemoveNodeFn } from '../flowTypes';
3
- /** 是否允许删除指定节点(无回调或节点不存在时按 allow / deny 语义处理)。 */
4
- export declare function canRemoveNode(nodeId: string, nodes: ReadonlyArray<Node>, onBeforeRemoveNode?: WechenBeforeRemoveNodeFn): boolean;
3
+ import { buildFlowOperationEvent, FlowOperationGateContext, WechenFlowOperationSource } from './flowOperationEvents';
4
+ /** 选中态与「本批已拒 node.remove」——用于级联 edge.remove 过滤 */
5
+ export type DeleteGuardCascadeContext = {
6
+ nodes: ReadonlyArray<Node>;
7
+ selectedNodeId?: string | null;
8
+ selectedEdgeId?: string | null;
9
+ /** 同一次 `onNodesChange` 批内被拒绝的 node id(RF 先节点后边时) */
10
+ deniedNodeRemoveIds?: ReadonlySet<string>;
11
+ };
12
+ /** 从节点变更批中收集将被 `node.remove` 守卫拒绝的 id */
13
+ export declare function collectDeniedNodeRemoveIds(changes: NodeChange[], nodes: ReadonlyArray<Node>, gate?: FlowOperationGateContext | WechenBeforeRemoveNodeFn): Set<string>;
14
+ /**
15
+ * 级联删边:因删除节点而连带移除的边,不单独走 edge.remove。
16
+ * 当端点 node.remove 被拒绝且边非显式删除目标时,应丢弃该 edge remove 变更。
17
+ */
18
+ export declare function isCascadeEdgeRemoveBlocked(edge: Edge, nodes: ReadonlyArray<Node>, gate: FlowOperationGateContext, cascade: DeleteGuardCascadeContext, source?: WechenFlowOperationSource): boolean;
19
+ /** 是否允许删除指定节点(无回调或节点不存在时按 allow 处理)。 */
20
+ export declare function canRemoveNode(nodeId: string, nodes: ReadonlyArray<Node>, gate?: FlowOperationGateContext | WechenBeforeRemoveNodeFn, source?: WechenFlowOperationSource): boolean;
5
21
  /** 是否允许删除指定边。 */
6
- export declare function canRemoveEdge(edgeId: string, edges: ReadonlyArray<Edge>, onBeforeRemoveEdge?: WechenBeforeRemoveEdgeFn): boolean;
7
- /** 过滤 `onNodesChange` 中被守卫拒绝的 `remove` 项;无回调时原样返回。 */
8
- export declare function filterRemoveNodeChanges(changes: NodeChange[], nodes: ReadonlyArray<Node>, onBeforeRemoveNode?: WechenBeforeRemoveNodeFn): NodeChange[];
9
- /** 过滤 `onEdgesChange` 中被守卫拒绝的 `remove` 项;无回调时原样返回。 */
10
- export declare function filterRemoveEdgeChanges(changes: EdgeChange[], edges: ReadonlyArray<Edge>, onBeforeRemoveEdge?: WechenBeforeRemoveEdgeFn): EdgeChange[];
22
+ export declare function canRemoveEdge(edgeId: string, edges: ReadonlyArray<Edge>, gate?: FlowOperationGateContext | WechenBeforeRemoveEdgeFn, source?: WechenFlowOperationSource): boolean;
23
+ /** 过滤 `onNodesChange` 中被守卫拒绝的 `remove` 项。 */
24
+ export declare function filterRemoveNodeChanges(changes: NodeChange[], nodes: ReadonlyArray<Node>, gate?: FlowOperationGateContext | WechenBeforeRemoveNodeFn): NodeChange[];
25
+ /** 过滤 `onEdgesChange` 中被守卫拒绝的 `remove` 项(含级联删边)。 */
26
+ export declare function filterRemoveEdgeChanges(changes: EdgeChange[], edges: ReadonlyArray<Edge>, gate?: FlowOperationGateContext | WechenBeforeRemoveEdgeFn, cascade?: DeleteGuardCascadeContext): EdgeChange[];
27
+ export { buildFlowOperationEvent };
11
28
  //# sourceMappingURL=deleteGuard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deleteGuard.d.ts","sourceRoot":"","sources":["../../src/flow/deleteGuard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAMvF,iDAAiD;AACjD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,EAC1B,kBAAkB,CAAC,EAAE,wBAAwB,GAC5C,OAAO,CAST;AAED,iBAAiB;AACjB,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,EAC1B,kBAAkB,CAAC,EAAE,wBAAwB,GAC5C,OAAO,CAST;AAED,sDAAsD;AACtD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,UAAU,EAAE,EACrB,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,EAC1B,kBAAkB,CAAC,EAAE,wBAAwB,GAC5C,UAAU,EAAE,CAUd;AAED,sDAAsD;AACtD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,UAAU,EAAE,EACrB,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,EAC1B,kBAAkB,CAAC,EAAE,wBAAwB,GAC5C,UAAU,EAAE,CAUd"}
1
+ {"version":3,"file":"deleteGuard.d.ts","sourceRoot":"","sources":["../../src/flow/deleteGuard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EACL,uBAAuB,EAEvB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC/B,MAAM,uBAAuB,CAAC;AAoC/B,kDAAkD;AAClD,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,oDAAoD;IACpD,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC3C,CAAC;AAEF,yCAAyC;AACzC,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,UAAU,EAAE,EACrB,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,EAC1B,IAAI,CAAC,EAAE,wBAAwB,GAAG,wBAAwB,GACzD,GAAG,CAAC,MAAM,CAAC,CAeb;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,EAC1B,IAAI,EAAE,wBAAwB,EAC9B,OAAO,EAAE,yBAAyB,EAClC,MAAM,GAAE,yBAAsC,GAC7C,OAAO,CA4BT;AAED,wCAAwC;AACxC,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,EAC1B,IAAI,CAAC,EAAE,wBAAwB,GAAG,wBAAwB,EAC1D,MAAM,GAAE,yBAAiC,GACxC,OAAO,CAcT;AAED,iBAAiB;AACjB,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,EAC1B,IAAI,CAAC,EAAE,wBAAwB,GAAG,wBAAwB,EAC1D,MAAM,GAAE,yBAAiC,GACxC,OAAO,CAcT;AAED,6CAA6C;AAC7C,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,UAAU,EAAE,EACrB,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,EAC1B,IAAI,CAAC,EAAE,wBAAwB,GAAG,wBAAwB,GACzD,UAAU,EAAE,CAWd;AAED,oDAAoD;AACpD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,UAAU,EAAE,EACrB,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,EAC1B,IAAI,CAAC,EAAE,wBAAwB,GAAG,wBAAwB,EAC1D,OAAO,CAAC,EAAE,yBAAyB,GAClC,UAAU,EAAE,CA4Bd;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"edgeLayoutSnapshot.d.ts","sourceRoot":"","sources":["../../src/flow/edgeLayoutSnapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edgeLayoutSnapshot.d.ts","sourceRoot":"","sources":["../../src/flow/edgeLayoutSnapshot.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"edgeRouteGeometry.d.ts","sourceRoot":"","sources":["../../src/flow/edgeRouteGeometry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMpE,8BAA8B;AAC9B,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAClD,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CACzD;AAWD,oBAAoB;AACpB,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,IAAI,GAAG,SAAS,EAC5B,UAAU,EAAE,IAAI,GAAG,SAAS,EAC5B,MAAM,EAAE,IAAI,CACV,mBAAmB,EACnB,wBAAwB,GAAG,wBAAwB,CACpD,GACA,OAAO,CAeT;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,mBAAmB,EAC9B,UAAU,EAAE,IAAI,GAAG,SAAS,EAC5B,UAAU,EAAE,IAAI,GAAG,SAAS,EAC5B,gBAAgB,CAAC,EAAE,YAAY,EAAE,GAChC,mBAAmB,CA4BrB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,EACzC,KAAK,CAAC,EAAE,IAAI,EAAE,GACb,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAgEnC;AAwBD,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,EACzC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,EACjD,KAAK,CAAC,EAAE,IAAI,EAAE,GACb,mBAAmB,GAAG,IAAI,CA0B5B;AA6CD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,EACzC,KAAK,EAAE,IAAI,EAAE,GACZ,gBAAgB,CAiBlB;AAED,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,EACzC,KAAK,EAAE,IAAI,EAAE,EACb,GAAG,EAAE,gBAAgB,GACpB,qBAAqB,GAAG,IAAI,CAgC9B;AAED,4BAA4B;AAC5B,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,IAAI,EAAE,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,GACxC,OAAO,CAaT"}
1
+ {"version":3,"file":"edgeRouteGeometry.d.ts","sourceRoot":"","sources":["../../src/flow/edgeRouteGeometry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMpE,8BAA8B;AAC9B,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAClD,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CACzD;AAWD,oBAAoB;AACpB,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,IAAI,GAAG,SAAS,EAC5B,UAAU,EAAE,IAAI,GAAG,SAAS,EAC5B,MAAM,EAAE,IAAI,CACV,mBAAmB,EACnB,wBAAwB,GAAG,wBAAwB,CACpD,GACA,OAAO,CAeT;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,mBAAmB,EAC9B,UAAU,EAAE,IAAI,GAAG,SAAS,EAC5B,UAAU,EAAE,IAAI,GAAG,SAAS,EAC5B,gBAAgB,CAAC,EAAE,YAAY,EAAE,GAChC,mBAAmB,CA4BrB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,EACzC,KAAK,CAAC,EAAE,IAAI,EAAE,GACb,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAgEnC;AAwBD,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,EACzC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,EACjD,KAAK,CAAC,EAAE,IAAI,EAAE,GACb,mBAAmB,GAAG,IAAI,CAkC5B;AA6CD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,EACzC,KAAK,EAAE,IAAI,EAAE,GACZ,gBAAgB,CAiBlB;AAED,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,EACzC,KAAK,EAAE,IAAI,EAAE,EACb,GAAG,EAAE,gBAAgB,GACpB,qBAAqB,GAAG,IAAI,CAgC9B;AAED,4BAA4B;AAC5B,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,IAAI,EAAE,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,GACxC,OAAO,CAaT"}
@@ -1 +1 @@
1
- {"version":3,"file":"flowJsonUtils.d.ts","sourceRoot":"","sources":["../../src/flow/flowJsonUtils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AA4ExD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,mBAAmB,GAAG,mBAAmB,CAU3F;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,GAAG,mBAAmB,CAGnF;AAED,8DAA8D;AAC9D,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAG1E"}
1
+ {"version":3,"file":"flowJsonUtils.d.ts","sourceRoot":"","sources":["../../src/flow/flowJsonUtils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAwHxD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,mBAAmB,GAAG,mBAAmB,CAe3F;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,GAAG,mBAAmB,CAGnF;AAED,8DAA8D;AAC9D,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAG1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"flowNodeBBox.d.ts","sourceRoot":"","sources":["../../src/flow/flowNodeBBox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAS1C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG;IAClE,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,GAAG,IAAI,CAKP;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,IAAI,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAmB/E;AAED,mBAAmB;AACnB,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,GAAG,YAAY,GAAG,IAAI,CAa5D;AAED,wBAAgB,yBAAyB,CACvC,CAAC,EAAE,IAAI,GACN;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CASjC;AAED,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,YAAY,EACf,MAAM,EAAE,MAAM,GACb,YAAY,CAOd;AAED,gBAAgB;AAChB,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO,CAOpE;AAED,qBAAqB;AACrB,wBAAgB,yBAAyB,CACvC,CAAC,EAAE,YAAY,EACf,CAAC,EAAE,YAAY,GACd,MAAM,CAQR;AAED,qBAAqB;AACrB,wBAAgB,uBAAuB,CACrC,CAAC,EAAE,YAAY,EACf,CAAC,EAAE,YAAY,GACd,MAAM,CAQR"}
1
+ {"version":3,"file":"flowNodeBBox.d.ts","sourceRoot":"","sources":["../../src/flow/flowNodeBBox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAgB1C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG;IAClE,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,GAAG,IAAI,CAaP;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,IAAI,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAmB/E;AAED,mBAAmB;AACnB,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,GAAG,YAAY,GAAG,IAAI,CAa5D;AAED,wBAAgB,yBAAyB,CACvC,CAAC,EAAE,IAAI,GACN;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CASjC;AAED,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,YAAY,EACf,MAAM,EAAE,MAAM,GACb,YAAY,CAOd;AAED,gBAAgB;AAChB,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO,CAOpE;AAED,qBAAqB;AACrB,wBAAgB,yBAAyB,CACvC,CAAC,EAAE,YAAY,EACf,CAAC,EAAE,YAAY,GACd,MAAM,CAQR;AAED,qBAAqB;AACrB,wBAAgB,uBAAuB,CACrC,CAAC,EAAE,YAAY,EACf,CAAC,EAAE,YAAY,GACd,MAAM,CAQR"}
@@ -0,0 +1,37 @@
1
+ import { Connection, Edge, Node } from '@xyflow/react';
2
+ import { WechenAgentSnapshot, WechenBeforeRemoveEdgeFn, WechenBeforeRemoveNodeFn, WechenDeleteGuardResult } from '../flowTypes';
3
+ /** 稳定操作类型,供宿主 `switch (event.kind)` */
4
+ export type WechenFlowOperationKind = "node.remove" | "node.duplicate" | "node.add" | "node.patch" | "node.move" | "edge.remove" | "edge.add" | "edge.reconnect" | "edge.patch" | "edge.path.reset" | "edge.path.insertVertex" | "edge.path.removeVertex";
5
+ /** 登记的门控 kind(文档覆盖检查用) */
6
+ export declare const WECHEN_FLOW_OPERATION_KINDS: readonly ["node.remove", "node.duplicate", "node.add", "node.patch", "node.move", "edge.remove", "edge.add", "edge.reconnect", "edge.patch", "edge.path.reset", "edge.path.insertVertex", "edge.path.removeVertex"];
7
+ export type WechenFlowOperationSource = "keyboard" | "ref" | "selectionToolbar" | "libraryDrop" | "connect" | "reconnect" | "drag" | "configPanel" | "header";
8
+ export interface WechenFlowOperationEvent {
9
+ kind: WechenFlowOperationKind;
10
+ source: WechenFlowOperationSource;
11
+ nodes: ReadonlyArray<Node>;
12
+ edges: ReadonlyArray<Edge>;
13
+ node?: Node;
14
+ edge?: Edge;
15
+ patch?: Record<string, unknown>;
16
+ connection?: Connection;
17
+ snapshot?: WechenAgentSnapshot;
18
+ }
19
+ /** 同步返回 `false` 取消操作 */
20
+ export type WechenOnFlowOperationFn = (event: WechenFlowOperationEvent) => WechenDeleteGuardResult;
21
+ export interface FlowOperationGateContext {
22
+ effectiveReadOnly?: boolean;
23
+ nodes: ReadonlyArray<Node>;
24
+ edges: ReadonlyArray<Edge>;
25
+ onFlowOperation?: WechenOnFlowOperationFn;
26
+ onBeforeRemoveNode?: WechenBeforeRemoveNodeFn;
27
+ onBeforeRemoveEdge?: WechenBeforeRemoveEdgeFn;
28
+ }
29
+ /**
30
+ * 是否允许执行该图操作。`effectiveReadOnly` 为真时 **SHALL** 由调用方早退且不调用本函数。
31
+ * `onFlowOperation` 优先于 legacy `onBeforeRemove*`(仅 `node.remove` / `edge.remove`)。
32
+ */
33
+ export declare function isFlowOperationAllowed(event: WechenFlowOperationEvent, ctx: FlowOperationGateContext): boolean;
34
+ /** UI 预判:与 `isFlowOperationAllowed` 相同策略,不修改 state */
35
+ export declare function canPerformFlowOperation(kind: WechenFlowOperationKind, partial: Omit<WechenFlowOperationEvent, "kind" | "nodes" | "edges">, ctx: FlowOperationGateContext): boolean;
36
+ export declare function buildFlowOperationEvent(kind: WechenFlowOperationKind, source: WechenFlowOperationSource, ctx: FlowOperationGateContext, payload?: Omit<WechenFlowOperationEvent, "kind" | "source" | "nodes" | "edges">): WechenFlowOperationEvent;
37
+ //# sourceMappingURL=flowOperationEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flowOperationEvents.d.ts","sourceRoot":"","sources":["../../src/flow/flowOperationEvents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,cAAc,CAAC;AAEtB,uCAAuC;AACvC,MAAM,MAAM,uBAAuB,GAC/B,aAAa,GACb,gBAAgB,GAChB,UAAU,GACV,YAAY,GACZ,WAAW,GACX,aAAa,GACb,UAAU,GACV,gBAAgB,GAChB,YAAY,GACZ,iBAAiB,GACjB,wBAAwB,GACxB,wBAAwB,CAAC;AAE7B,0BAA0B;AAC1B,eAAO,MAAM,2BAA2B,qNAae,CAAC;AAExD,MAAM,MAAM,yBAAyB,GACjC,UAAU,GACV,KAAK,GACL,kBAAkB,GAClB,aAAa,GACb,SAAS,GACT,WAAW,GACX,MAAM,GACN,aAAa,GACb,QAAQ,CAAC;AAEb,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,MAAM,EAAE,yBAAyB,CAAC;IAClC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC;AAED,wBAAwB;AACxB,MAAM,MAAM,uBAAuB,GAAG,CACpC,KAAK,EAAE,wBAAwB,KAC5B,uBAAuB,CAAC;AAE7B,MAAM,WAAW,wBAAwB;IACvC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3B,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IAC9C,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;CAC/C;AAMD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,wBAAwB,EAC/B,GAAG,EAAE,wBAAwB,GAC5B,OAAO,CAWT;AAED,sDAAsD;AACtD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,uBAAuB,EAC7B,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,EACnE,GAAG,EAAE,wBAAwB,GAC5B,OAAO,CAaT;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,uBAAuB,EAC7B,MAAM,EAAE,yBAAyB,EACjC,GAAG,EAAE,wBAAwB,EAC7B,OAAO,GAAE,IAAI,CACX,wBAAwB,EACxB,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CACjC,GACL,wBAAwB,CAQ1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionToolbar.d.ts","sourceRoot":"","sources":["../../../src/flow/selectionToolbar/SelectionToolbar.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAI5D,OAAO,wBAAwB,CAAC;AAEhC,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzD,MAAM,MAAM,6BAA6B,GACrC;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAClD,MAAM,EAAE;QAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;KAAE,CAAC;CACxC,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAClD,MAAM,EAAE;QAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;KAAE,CAAC;CACxC,CAAC;AAEN,MAAM,MAAM,mCAAmC,GAAG,CAChD,GAAG,EAAE,6BAA6B,KAC/B,SAAS,CAAC;AAEf,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG,UAAU,CAAC;AAEhE,UAAU,qBAAqB;IAC7B,IAAI,EAAE,0BAA0B,CAAC;IACjC,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAmGD,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,YAAmB,GACpB,EAAE,qBAAqB,kDA8CvB"}
1
+ {"version":3,"file":"SelectionToolbar.d.ts","sourceRoot":"","sources":["../../../src/flow/selectionToolbar/SelectionToolbar.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAI5D,OAAO,wBAAwB,CAAC;AAEhC,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzD,MAAM,MAAM,6BAA6B,GACrC;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAClD,MAAM,EAAE;QAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;KAAE,CAAC;CACxC,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAClD,MAAM,EAAE;QAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;KAAE,CAAC;CACxC,CAAC;AAEN,MAAM,MAAM,mCAAmC,GAAG,CAChD,GAAG,EAAE,6BAA6B,KAC/B,SAAS,CAAC;AAEf,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG,UAAU,CAAC;AAEhE,UAAU,qBAAqB;IAC7B,IAAI,EAAE,0BAA0B,CAAC;IACjC,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAoJD,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,YAAmB,GACpB,EAAE,qBAAqB,kDA8CvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"wechenAgentEdgeTypes.d.ts","sourceRoot":"","sources":["../../src/flow/wechenAgentEdgeTypes.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,IAAI,EACT,KAAK,SAAS,EAEf,MAAM,eAAe,CAAC;AAQvB,OAAO,EAKL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAc9B;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG,SAAS,GAAG,SAAS,CAAC;AACjE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,KAAK,CAAC;AAChD,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,QAAQ,CAAC;AACrD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,QAAQ,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,WAAW,mBAAmB;IAClC,mBAAmB,CAAC,EAAE,4BAA4B,CAAC;IACnD,sBAAsB,CAAC,EAAE,kBAAkB,CAAC;IAC5C,sBAAsB,CAAC,EAAE,mBAAmB,CAAC;IAC7C,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAC1C,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI;IAC3C,IAAI,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,mBAAmB,CAAC;CAC5B;AAwND,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,kDA2MtD;AAED,eAAO,MAAM,oBAAoB;;CAEZ,CAAC"}
1
+ {"version":3,"file":"wechenAgentEdgeTypes.d.ts","sourceRoot":"","sources":["../../src/flow/wechenAgentEdgeTypes.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,IAAI,EACT,KAAK,SAAS,EAEf,MAAM,eAAe,CAAC;AAQvB,OAAO,EAKL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAe9B;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG,SAAS,GAAG,SAAS,CAAC;AACjE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,KAAK,CAAC;AAChD,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,QAAQ,CAAC;AACrD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,QAAQ,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,WAAW,mBAAmB;IAClC,mBAAmB,CAAC,EAAE,4BAA4B,CAAC;IACnD,sBAAsB,CAAC,EAAE,kBAAkB,CAAC;IAC5C,sBAAsB,CAAC,EAAE,mBAAmB,CAAC;IAC7C,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAC1C,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI;IAC3C,IAAI,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,mBAAmB,CAAC;CAC5B;AAwND,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,kDAoPtD;AAED,eAAO,MAAM,oBAAoB;;CAEZ,CAAC"}
@@ -20,6 +20,7 @@ export type WechenBeforeRemoveEdgeFn = (edge: Edge) => WechenDeleteGuardResult;
20
20
  * `readOnly` / `readingMode` 下 **不调用** 本回调。
21
21
  */
22
22
  export type WechenBeforeSaveFn = (snapshot: WechenAgentSnapshot) => WechenDeleteGuardResult;
23
+ export type { WechenFlowOperationKind, WechenFlowOperationSource, WechenFlowOperationEvent, WechenOnFlowOperationFn, } from './flow/flowOperationEvents';
23
24
  /** `ref.addNodeFromLibrary` 入参 */
24
25
  export interface WechenAddNodeFromLibraryOptions {
25
26
  groupKey: string;
@@ -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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"}
@@ -33,6 +33,7 @@ export interface WechenHostEditorConfig {
33
33
  onBeforeRemoveNode?: WechenAgentEditorProps["onBeforeRemoveNode"];
34
34
  onBeforeRemoveEdge?: WechenAgentEditorProps["onBeforeRemoveEdge"];
35
35
  onBeforeSave?: WechenAgentEditorProps["onBeforeSave"];
36
+ onFlowOperation?: WechenAgentEditorProps["onFlowOperation"];
36
37
  /**
37
38
  * 完整覆盖左侧组件库。与 {@link library} 二选一:**本字段优先**;
38
39
  * 设置后忽略 `library`。
@@ -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,8EAA8E;IAC9E,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"}
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,8EAA8E;IAC9E,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,eAAe,CAAC,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;IAC5D;;;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,CAuClG"}
package/dist/index.d.ts CHANGED
@@ -23,7 +23,7 @@ export { COMPONENT_LIBRARY_GROUP_APP, COMPONENT_LIBRARY_GROUP_MAIN, defaultAppAg
23
23
  export { appendComponentToLibrary, removeComponentFromLibrary, } from './config/componentLibraryDynamic';
24
24
  export { exportBackendWorkflowJson, importBackendWorkflowToFlow, isWechenBackendWorkflowJson, WECHEN_BACKEND_WORKFLOW_SCHEMA_VERSION, } from './backendWorkflowJson';
25
25
  export type { BackendWorkflowExportMeta, WechenBackendWorkflowEdge, WechenBackendWorkflowEdgeLayout, WechenBackendWorkflowJson, WechenBackendWorkflowNode, WechenBackendWorkflowNodeType, } from './backendWorkflowJson';
26
- export type { MainAgentNodeData, SimpleNodeData, WechenAddNodeFromLibraryOptions, WechenAgentEditorRef, WechenAgentFlowJson, WechenAgentHeaderActionsRenderContext, WechenAgentHeaderLeadingRenderContext, WechenAgentSnapshot, WechenBeforeRemoveEdgeFn, WechenBeforeRemoveNodeFn, WechenBeforeSaveFn, WechenConnectOptions, WechenDeleteGuardResult, WechenAgentNodeAutoLayoutDirection, WechenAgentNodeAutoLayoutOptions, } from './flowTypes';
26
+ export type { MainAgentNodeData, SimpleNodeData, WechenAddNodeFromLibraryOptions, WechenAgentEditorRef, WechenAgentFlowJson, WechenAgentHeaderActionsRenderContext, WechenAgentHeaderLeadingRenderContext, WechenAgentSnapshot, WechenBeforeRemoveEdgeFn, WechenBeforeRemoveNodeFn, WechenBeforeSaveFn, WechenConnectOptions, WechenDeleteGuardResult, WechenFlowOperationKind, WechenFlowOperationSource, WechenFlowOperationEvent, WechenOnFlowOperationFn, WechenAgentNodeAutoLayoutDirection, WechenAgentNodeAutoLayoutOptions, } from './flowTypes';
27
27
  export { defaultInitialEdges, defaultInitialFlow, defaultInitialNodes, emptyInitialFlow, } from './flow/initialFlow';
28
28
  export { cloneWechenAgentFlow, normalizeWechenAgentFlowJson, parseWechenAgentFlowJson, } from './flow/flowJsonUtils';
29
29
  export { swapWechenFlowEdgeEndpoints } from './flow/swapFlowEdgeEndpoints';
@@ -37,6 +37,8 @@ export type { CreateNodeFromLibraryItemFailureReason, CreateNodeFromLibraryItemO
37
37
  export { buildWechenAgentNodeTypes, collectItemTypesFromLibraryGroups, collectNodeTypesFromFlow, computeFlowNodeTypesKey, wechenAgentNodeTypes, } from './flow/nodeTypes';
38
38
  export { createDroppedHostTypeNode } from './flow/dropNodes';
39
39
  export { validateWechenAgentFlow } from './flow/flowValidation';
40
+ export { canPerformFlowOperation, isFlowOperationAllowed, buildFlowOperationEvent, WECHEN_FLOW_OPERATION_KINDS, } from './flow/flowOperationEvents';
41
+ export type { FlowOperationGateContext } from './flow/flowOperationEvents';
40
42
  export { balanceLayoutPositions, BALANCE_CENTER_TOLERANCE_PX, parentChildCenterDeltaX, } from './flow/autoLayoutBalance';
41
43
  export type { BalanceLayoutOptions } from './flow/autoLayoutBalance';
42
44
  export { computeAutoLayoutPositions, resolveAutoLayoutOptions, } from './flow/autoLayoutNodes';