wechen-agent-editor-v1 1.1.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +162 -5
- package/dist/WechenAgentEditor.d.ts +38 -5
- package/dist/WechenAgentEditor.d.ts.map +1 -1
- package/dist/WechenAgentEditorContext.d.ts +11 -2
- package/dist/WechenAgentEditorContext.d.ts.map +1 -1
- package/dist/backendWorkflowJson.d.ts.map +1 -1
- package/dist/config/componentLibraryConfig.d.ts +7 -7
- package/dist/config/componentLibraryConfig.d.ts.map +1 -1
- package/dist/flow/dragPayload.d.ts +1 -1
- package/dist/flow/dragPayload.d.ts.map +1 -1
- package/dist/flow/dropNodes.d.ts +4 -0
- package/dist/flow/dropNodes.d.ts.map +1 -1
- package/dist/flow/flowGraphMutations.d.ts +22 -0
- package/dist/flow/flowGraphMutations.d.ts.map +1 -0
- package/dist/flow/flowValidation.d.ts +24 -0
- package/dist/flow/flowValidation.d.ts.map +1 -0
- package/dist/flow/nodes/CardNode.d.ts.map +1 -1
- package/dist/flow/nodes/MainAgentNode.d.ts.map +1 -1
- package/dist/flow/nodes/NodeHandlesLayer.d.ts +6 -0
- package/dist/flow/nodes/NodeHandlesLayer.d.ts.map +1 -0
- package/dist/flow/nodes/PillNode.d.ts.map +1 -1
- package/dist/flow/nodes/flowNodeDefaultContent.d.ts +11 -0
- package/dist/flow/nodes/flowNodeDefaultContent.d.ts.map +1 -0
- package/dist/flow/nodes/flowNodeHandleLayout.d.ts +4 -0
- package/dist/flow/nodes/flowNodeHandleLayout.d.ts.map +1 -0
- package/dist/flow/nodes/flowNodeShellSelection.d.ts +6 -0
- package/dist/flow/nodes/flowNodeShellSelection.d.ts.map +1 -0
- package/dist/flow/nodes/mergeFlowNodeShellClassName.d.ts +7 -0
- package/dist/flow/nodes/mergeFlowNodeShellClassName.d.ts.map +1 -0
- package/dist/flow/wechenAgentEdgeTypes.d.ts +1 -0
- package/dist/flow/wechenAgentEdgeTypes.d.ts.map +1 -1
- package/dist/flowTypes.d.ts +50 -1
- package/dist/flowTypes.d.ts.map +1 -1
- package/dist/hostEditorConfig.d.ts +6 -0
- package/dist/hostEditorConfig.d.ts.map +1 -1
- package/dist/i18n/LocaleContext.d.ts +20 -0
- package/dist/i18n/LocaleContext.d.ts.map +1 -0
- package/dist/i18n/buildReactFlowAriaLabelConfig.d.ts +4 -0
- package/dist/i18n/buildReactFlowAriaLabelConfig.d.ts.map +1 -0
- package/dist/i18n/defaultLocaleMessages.d.ts +6 -0
- package/dist/i18n/defaultLocaleMessages.d.ts.map +1 -0
- package/dist/i18n/exportLocaleBundle.d.ts +24 -0
- package/dist/i18n/exportLocaleBundle.d.ts.map +1 -0
- package/dist/i18n/fallbackLocaleZh.d.ts +4 -0
- package/dist/i18n/fallbackLocaleZh.d.ts.map +1 -0
- package/dist/i18n/localeKeys.d.ts +47 -0
- package/dist/i18n/localeKeys.d.ts.map +1 -0
- package/dist/i18n/resolveLocaleMessage.d.ts +19 -0
- package/dist/i18n/resolveLocaleMessage.d.ts.map +1 -0
- package/dist/i18n/shellLocaleZh.d.ts +4 -0
- package/dist/i18n/shellLocaleZh.d.ts.map +1 -0
- package/dist/i18n/translateLibraryGroupTitle.d.ts +3 -0
- package/dist/i18n/translateLibraryGroupTitle.d.ts.map +1 -0
- package/dist/i18n/validateLocaleMessagesCompleteness.d.ts +8 -0
- package/dist/i18n/validateLocaleMessagesCompleteness.d.ts.map +1 -0
- package/dist/index.d.ts +16 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7083 -6755
- package/dist/index.js.map +1 -1
- package/dist/mergeClassNames.d.ts +3 -0
- package/dist/mergeClassNames.d.ts.map +1 -0
- package/dist/panels/ComponentLibraryPanel.d.ts.map +1 -1
- package/dist/panels/EdgeConfigPanel.d.ts.map +1 -1
- package/dist/panels/NodeConfigPanel.d.ts.map +1 -1
- package/dist/panels/RightConfigPanel.d.ts.map +1 -1
- package/dist/style.css +1 -1
- package/dist/wechenAgentConfigPanel.d.ts +6 -0
- package/dist/wechenAgentConfigPanel.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -75,6 +75,17 @@ export function AgentPage() {
|
|
|
75
75
|
|
|
76
76
|
**有损字段**:导出会去掉 RF 运行期字段与部分边样式;导入会按边 `id` 重新分配 `sourceHandle`/`targetHandle`。详见类型 **`WechenBackendWorkflowJson`** 的 JSDoc。
|
|
77
77
|
|
|
78
|
+
**节点类型映射**(画布 ↔ DTO):
|
|
79
|
+
|
|
80
|
+
| 画布 | DTO `nodes[].type` | 说明 |
|
|
81
|
+
|------|-------------------|------|
|
|
82
|
+
| `pill` | `start` | 入口 |
|
|
83
|
+
| `mainAgent` | `agent` | 主 Agent |
|
|
84
|
+
| `card`(默认) | `task` | 通用任务 |
|
|
85
|
+
| `card` + `data.backendNodeType` | `condition` / `api` / `script` | 扩展类型;导入后写回 `backendNodeType` |
|
|
86
|
+
|
|
87
|
+
自定义节点若需稳定 DTO 类型,请在 `node.data` 设置 **`backendNodeType`**(取值与 `WechenBackendWorkflowNodeType` 一致)。
|
|
88
|
+
|
|
78
89
|
```tsx
|
|
79
90
|
import {
|
|
80
91
|
WechenAgentEditor,
|
|
@@ -103,6 +114,33 @@ const flow = importBackendWorkflowToFlow(dtoFromApi);
|
|
|
103
114
|
|
|
104
115
|
本仓库 **playground** 提供对照:`npm run dev:minimal` 为最小页;默认 `npm run dev` 为带场景 JSON 与工具栏的完整演示(见 `playground/README.md`)。
|
|
105
116
|
|
|
117
|
+
### 编辑器与 Agent 运行时
|
|
118
|
+
|
|
119
|
+
本包是 **编排 UI + 序列化 + ref API**,**不包含** Agent / LLM **执行引擎**。推荐分层:
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
WechenAgentEditor(编排) → onSave / exportBackendWorkflowJson → 宿主持久化 → 你们的运行时调度
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
- **`onTestRun` / `ref.testRun()`**:仅触发宿主回调,具体执行由宿主实现。
|
|
126
|
+
- **`validateWechenAgentFlow(flow)`**:纯函数图校验(默认不阻断保存);可在 `onBeforeSave` 内返回 `false` 拦截。
|
|
127
|
+
- **ref 增删改查**:`getSnapshot` / `patchNodeData` / `removeNode` / `addNode` / `addNodeFromLibrary` / `addEdge` / `connect` / `replaceFlow`(见 `WechenAgentEditorRef`)。
|
|
128
|
+
|
|
129
|
+
```tsx
|
|
130
|
+
import { validateWechenAgentFlow } from "wechen-agent-editor-v1";
|
|
131
|
+
|
|
132
|
+
<WechenAgentEditor
|
|
133
|
+
onBeforeSave={(snap) => {
|
|
134
|
+
const { valid, issues } = validateWechenAgentFlow(snap.flow);
|
|
135
|
+
if (!valid) {
|
|
136
|
+
console.warn(issues);
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
}}
|
|
140
|
+
onSave={(s) => { /* POST exportBackendWorkflowJson(s, meta) */ }}
|
|
141
|
+
/>
|
|
142
|
+
```
|
|
143
|
+
|
|
106
144
|
---
|
|
107
145
|
|
|
108
146
|
## 安装
|
|
@@ -154,12 +192,125 @@ import "wechen-agent-editor-v1/style.css";
|
|
|
154
192
|
|
|
155
193
|
antd 5 为 CSS-in-JS,请用 **`ConfigProvider`** 包裹应用(与官方用法一致)。
|
|
156
194
|
|
|
195
|
+
### 嵌入 flex 布局
|
|
196
|
+
|
|
197
|
+
在 **列方向 flex** 页面中,推荐与 playground 相同的外层结构:父级定高(或 `100vh`),编辑器所在子项使用 **`flex: 1`**、**`minHeight: 0`**,编辑器根节点会 **`flex: 1`** 并 **`height/width: 100%`** 填满该区域。
|
|
198
|
+
|
|
199
|
+
```tsx
|
|
200
|
+
<div style={{ height: "100vh", display: "flex", flexDirection: "column", minHeight: 0 }}>
|
|
201
|
+
<YourToolbar />
|
|
202
|
+
<div style={{ flex: 1, minHeight: 0, display: "flex", flexDirection: "column" }}>
|
|
203
|
+
<WechenAgentEditor {...props} />
|
|
204
|
+
</div>
|
|
205
|
+
</div>
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**行为说明**:自 **1.1.x** 起,画布区域 **不再** 默认施加 `min-height: 400px`;若需要最小可视高度,请对编辑器传入 **`minHeight`** prop,或在页面级容器设置 `min-height`。
|
|
209
|
+
|
|
210
|
+
### 骨架 CSS 类名(自定义样式)
|
|
211
|
+
|
|
212
|
+
加载 **`wechen-agent-editor-v1/style.css`** 后,可用下列稳定类名覆盖布局分区样式(与根 **`className`** 合并,不会替换默认类):
|
|
213
|
+
|
|
214
|
+
| 类名 | 区域 |
|
|
215
|
+
| --- | --- |
|
|
216
|
+
| `wechen-agent-editor` | 根布局 |
|
|
217
|
+
| `wechen-agent-editor--reading` | 阅读模式根修饰 |
|
|
218
|
+
| `wechen-agent-editor__workspace` | 工作区(顶栏 + 主体) |
|
|
219
|
+
| `wechen-agent-editor__header` | 顶栏 |
|
|
220
|
+
| `wechen-agent-editor__body` | 主体行(左栏 + 画布 + 右栏) |
|
|
221
|
+
| `wechen-agent-editor__library-sider` | 左侧组件库 Sider |
|
|
222
|
+
| `wechen-agent-editor__library-panel` | 组件库面板内容 |
|
|
223
|
+
| `wechen-agent-editor__main` | 中间主内容 |
|
|
224
|
+
| `wechen-agent-editor__canvas` / `wechen-agent-canvas` | 画布壳(二者同元素,后者为兼容别名) |
|
|
225
|
+
| `wechen-agent-editor__config-sider` | 右侧配置 Sider |
|
|
226
|
+
| `wechen-agent-editor__config-panel` | 配置面板内容 |
|
|
227
|
+
| `wechen-agent-node-shell` / `wechen-agent-node-shell--selected` | 内置节点外壳 / 选中态 |
|
|
228
|
+
| `wechen-agent-node-shell--mainAgent` / `--card` / `--pill` | 节点类型修饰 |
|
|
229
|
+
| `wechen-agent-edge` / `wechen-agent-edge--selected` | 默认连线 / 选中态 |
|
|
230
|
+
|
|
231
|
+
**自定义选中高亮**(颜色写在 CSS 变量中,勿依赖行内 style):
|
|
232
|
+
|
|
233
|
+
| CSS 变量 | 默认 | 说明 |
|
|
234
|
+
| --- | --- | --- |
|
|
235
|
+
| `--wechen-selection-color` | `#52c41a` | 节点选中边框、默认边选中描边 |
|
|
236
|
+
| `--wechen-selection-border-width` | `2px` | 节点选中边框宽度 |
|
|
237
|
+
| `--wechen-selection-shadow` | 绿晕阴影 | 节点选中阴影 |
|
|
238
|
+
| `--wechen-node-border-color` | `#d9d9d9` | 未选中节点边框 |
|
|
239
|
+
| `--wechen-edge-stroke` | `#b1b1b7` | 未选中边描边 |
|
|
240
|
+
| `--wechen-edge-stroke-selected-width` | `2` | 选中边线宽 |
|
|
241
|
+
|
|
242
|
+
```css
|
|
243
|
+
/* 例:自定义顶栏背景 */
|
|
244
|
+
.wechen-agent-editor__header {
|
|
245
|
+
background: #fafafa !important;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/* 例:选中高亮改为品牌蓝 */
|
|
249
|
+
.my-app .wechen-agent-editor {
|
|
250
|
+
--wechen-selection-color: #1677ff;
|
|
251
|
+
}
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### 国际化(壳层 vs 宿主自定义)
|
|
255
|
+
|
|
256
|
+
编辑器是 **编排基座**:画布节点由 **`renderFlowNode`**、右侧内容区由 **`renderConfigPanel` / `renderNodeConfig`** 自定义时,**业务文案由宿主自行 i18n**。包内 **`localeMessages`** 仅覆盖 **壳层**(顶栏按钮、左右栏分区标题、组件库搜索/空状态、画布缩放控件等;经 React Flow **`ariaLabelConfig`** 注入)。
|
|
257
|
+
|
|
258
|
+
#### 语言契约(`localeMessages` 大 JSON)
|
|
259
|
+
|
|
260
|
+
| 条件 | 编辑器显示语言 |
|
|
261
|
+
| --- | --- |
|
|
262
|
+
| **未传** `localeMessages` | **始终内置中文**(`DEFAULT_ZH_CN`),与 antd `ConfigProvider`、浏览器语言 **无关** |
|
|
263
|
+
| **已传** `localeMessages` | **仅以该 JSON 为准**;缺失 key **不回退中文**,显示 key 字符串 |
|
|
264
|
+
| 存在 `localeTranslate` | **最高优先级**(便于对接 i18next) |
|
|
265
|
+
|
|
266
|
+
语言包 **key 为默认中文**(与界面中文一致),便于对照扩展,例如 `{ "保存": "Save", "配置": "Settings" }`。代码中可用 **`LOCALE_KEYS`** / **`FALLBACK_LOCALE_KEYS`** 常量(值为中文 key,如 `LOCALE_KEYS.HEADER_SAVE === "保存"`)。
|
|
267
|
+
|
|
268
|
+
生产推荐:从 **`exportWechenAgentEditorLocaleBundle()`** 复制整表,将 value 译为目标语言后传入;或用 **`mergeWechenAgentEditorLocaleMessages(译文)`** 在宿主侧生成完整大 JSON。
|
|
269
|
+
|
|
270
|
+
```tsx
|
|
271
|
+
import {
|
|
272
|
+
WechenAgentEditor,
|
|
273
|
+
LOCALE_KEYS,
|
|
274
|
+
mergeWechenAgentEditorLocaleMessages,
|
|
275
|
+
validateLocaleMessagesCompleteness,
|
|
276
|
+
} from "wechen-agent-editor-v1";
|
|
277
|
+
|
|
278
|
+
// 中文(默认):不传 localeMessages
|
|
279
|
+
<WechenAgentEditor renderConfigPanel={(ctx) => <MyPanel {...ctx} />} />;
|
|
280
|
+
|
|
281
|
+
// 英文:key 为中文,value 为目标语言
|
|
282
|
+
const enPack = mergeWechenAgentEditorLocaleMessages({
|
|
283
|
+
保存: "Save",
|
|
284
|
+
配置: "Settings",
|
|
285
|
+
组件库: "Component library",
|
|
286
|
+
// 或使用常量: [LOCALE_KEYS.HEADER_SAVE]: "Save",
|
|
287
|
+
});
|
|
288
|
+
validateLocaleMessagesCompleteness(enPack);
|
|
289
|
+
|
|
290
|
+
<WechenAgentEditor localeMessages={enPack} />;
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
```tsx
|
|
294
|
+
// antd 与编辑器语言独立配置
|
|
295
|
+
<ConfigProvider locale={antdLocale}>
|
|
296
|
+
<WechenAgentEditor localeMessages={wechenEditorLocalePack} />
|
|
297
|
+
</ConfigProvider>
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
- **`exportWechenAgentEditorShellLocaleBundle('zh-CN')`**:仅壳层 key(生产常用子集)。
|
|
301
|
+
- **`exportWechenAgentEditorFallbackLocaleBundle`**:内置回退面板 key(未传 `renderConfigPanel` 时)。
|
|
302
|
+
- **`exportWechenAgentEditorLocaleBundle`**:壳层 + 回退 **完整** key 表(推荐作翻译模板)。
|
|
303
|
+
- **`configSiderTitle`**:可完全覆盖右侧栏外框标题。
|
|
304
|
+
- **`validateLocaleMessagesCompleteness`**:检查大 JSON 是否缺 key(开发期 `console.warn`)。
|
|
305
|
+
|
|
306
|
+
完整契约演示见 `playground/src/App.tsx`(中文不传包;English 传 `playgroundLocaleEnFull.ts`)。
|
|
307
|
+
|
|
157
308
|
### 嵌入尺寸、`readOnly` 与 `readingMode`
|
|
158
309
|
|
|
159
|
-
根组件默认 **`height` / `width` 为 `100
|
|
310
|
+
根组件默认 **`height` / `width` 为 `100%`**,**`flex: 1`**、**`minHeight: 0`**(便于 flex 父级);可通过 **`className` / `style`** 透传;可选 **`minHeight`**。请保证父级链路上有**明确高度**(见上文 flex 示例),否则中间画布可能无法撑满。
|
|
160
311
|
|
|
161
312
|
- **`readOnly`**:禁止对图的增删改(拖入、连线、删除键、拖动节点等),仍可使用平移/缩放查看。**`readOnly`** 与 **`readingMode`** 会出现在 **`renderConfigPanel` / `renderNodeConfig`** 的入参中,便于对表单设 **`disabled`**。
|
|
162
|
-
- **`readingMode
|
|
313
|
+
- **`readingMode`**:**仅展示中间流程画布**(隐藏顶栏与左右栏),并**禁用选中**与一切改图,适合文档内嵌、大屏预览等纯展示场景(隐含只读)。根节点会附加 **`wechen-agent-editor--reading`**。
|
|
163
314
|
|
|
164
315
|
### 删除守卫(`onBeforeRemoveNode` / `onBeforeRemoveEdge`)
|
|
165
316
|
|
|
@@ -187,7 +338,9 @@ L1 工厂同样支持:`buildWechenAgentEditorProps({ onBeforeRemoveNode: ... }
|
|
|
187
338
|
|
|
188
339
|
### 组件库 legacy 接线桩(`flowHandles`,可选)
|
|
189
340
|
|
|
190
|
-
**已弃用优先**:编排默认以 **四边感应区** 为准。**`libraryGroups`** 中每项仍可设置 **`flowHandles`** 以兼容旧版「声明桩位」:`FlowHandleSpec[]` 或 **`mode: 'even'`** 自动均分。拖入后写入 **`data.flowHandles`**;**`card` / `mainAgent`** 在 **`flowHandles` 展开非空** 时仍走声明桩渲染。**`
|
|
341
|
+
**已弃用优先**:编排默认以 **四边感应区** 为准。**`libraryGroups`** 中每项仍可设置 **`flowHandles`** 以兼容旧版「声明桩位」:`FlowHandleSpec[]` 或 **`mode: 'even'`** 自动均分。拖入后写入 **`data.flowHandles`**;**`card` / `mainAgent`** 在 **`flowHandles` 展开非空** 时仍走声明桩渲染。**`libraryGroups[].key`** 须与落盘 **`node.type`** 一致(如 **`mainAgent`**、**`card`**、**`pill`**);不再支持 **`main`→mainAgent**、**`app`→card** 映射。默认常量 **`COMPONENT_LIBRARY_GROUP_MAIN`** / **`COMPONENT_LIBRARY_GROUP_APP`** 已改为上述 type 字符串。
|
|
342
|
+
|
|
343
|
+
**`renderFlowNode(props, { selected })`** 自定义节点 **内容区** 与 **选中/激活视觉**(读 **`context.selected`**);四边感应与接线桩仍由包渲染,**勿** 在返回值内放置 **`Handle`**。有 **`renderFlowNode`** 时外壳 **不** 自动加 **`wechen-agent-node-shell--selected`**;未传时仍用内置字段块 + 默认绿边选中样式。类型见 **`WechenAgentRenderFlowNodeContext`**、**`expandFlowHandlesConfig`**、**`findComponentLibraryItem`** 等导出。
|
|
191
344
|
|
|
192
345
|
### Monaco Worker
|
|
193
346
|
|
|
@@ -202,7 +355,8 @@ L1 工厂同样支持:`buildWechenAgentEditorProps({ onBeforeRemoveNode: ... }
|
|
|
202
355
|
- **连线**:从节点的 source Handle 拖到 target Handle;选中边可在右侧调整动画与**执行方向**等。**执行方向**与 **`source` → `target`** 一致:箭头在 **目标** 端;选「反向」会 **交换源与目标**(及 handle),不再依赖仅反转 dash 的持久化字段。历史 **`edge.data.wechenFlowDirection: 'reverse'`** 在 **`normalizeWechenAgentFlowJson` / `cloneWechenAgentFlow` / `parseWechenAgentFlowJson`** 中 **幂等归一** 为交换端点并清除该键。宿主也可调用 **`swapWechenFlowEdgeEndpoints(edge)`** 得到与内置面板一致的 **`patchEdge`** 补丁。
|
|
203
356
|
- **数据合并**:节点 `data` 的更新遵循导出的 **`mergeNodeData`**(对象深度合并,数组在补丁中出现时整段替换)。`patchNode` / ref 的 **`patchNodeData`** 将补丁合并进 `node.data`;**`patchEdge`** 为边的顶层浅合并。
|
|
204
357
|
- **自定义右侧面板**:可选 **`renderConfigPanel`**(节点与连线统一入口)或 **`renderNodeConfig`**;同时存在时以 `renderConfigPanel` 为准(返回 `undefined` 时回退内置)。
|
|
205
|
-
-
|
|
358
|
+
- **顶栏左侧**:可选 **`renderHeaderLeading`**,入参含当前解析标题 **`title`**(与 **`ref.getTitle()`** 一致)及 **`editorRef`**;未传时显示默认 `Title`。改标题数据仍用 **`title` prop** 或 **`replaceFlow`**。
|
|
359
|
+
- **顶栏右侧**:可选 **`renderHeaderActions`**,入参含与默认行为一致的 **`save`** / **`testRun`** 及 **`editorRef`**。左右可 **同时** 自定义。Playground:`?tab=header-leading`、`?tab=header-actions`。
|
|
206
360
|
|
|
207
361
|
完整类型与符号列表以 **`src/index.ts`** 的导出为准。
|
|
208
362
|
|
|
@@ -217,6 +371,9 @@ L1 工厂同样支持:`buildWechenAgentEditorProps({ onBeforeRemoveNode: ... }
|
|
|
217
371
|
| Monaco | 已在首屏前完成 **worker 引导**(见上文「Monaco Worker」) |
|
|
218
372
|
| 空画布 | **未传 `initialFlow`** 时中间画布无预置节点;业务示例需 **`cloneWechenAgentFlow(defaultInitialFlow)`** 或 `ref.replaceFlow(...)` 显式注入 |
|
|
219
373
|
| 烟测 | 拖入节点、四向连线、`readOnly` / `readingMode`、保存或 `getSnapshot` 取流 |
|
|
374
|
+
| ref 增图 | `ref.addNodeFromLibrary` / `ref.connect` 与拖放、连线行为一致 |
|
|
375
|
+
| DTO 往返 | `exportBackendWorkflowJson` → `importBackendWorkflowToFlow` → `replaceFlow`;`condition`/`api`/`script` 经 `data.backendNodeType` |
|
|
376
|
+
| 图校验 | `validateWechenAgentFlow`;可选 `onBeforeSave` 拦截 |
|
|
220
377
|
|
|
221
378
|
---
|
|
222
379
|
|
|
@@ -225,7 +382,7 @@ L1 工厂同样支持:`buildWechenAgentEditorProps({ onBeforeRemoveNode: ... }
|
|
|
225
382
|
```bash
|
|
226
383
|
npm install
|
|
227
384
|
npm install --prefix playground
|
|
228
|
-
npm run dev #
|
|
385
|
+
npm run dev # Playground 文档站(分 Tab 演示;ref 全表见 ?tab=ref-api,见 playground/README.md)
|
|
229
386
|
npm run dev:minimal # 仅最小宿主集成(对照 README「快速开始」)
|
|
230
387
|
```
|
|
231
388
|
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { CSSProperties, ReactNode } from 'react';
|
|
2
2
|
import { ComponentLibraryGroup, WechenAgentComponentLibraryList } from './config/componentLibraryConfig';
|
|
3
|
-
import { WechenAgentEditorRef, WechenAgentFlowJson, WechenAgentHeaderActionsRenderContext, WechenAgentSnapshot, WechenBeforeRemoveEdgeFn, WechenBeforeRemoveNodeFn } from './flowTypes';
|
|
3
|
+
import { WechenAgentEditorRef, WechenAgentFlowJson, WechenAgentHeaderActionsRenderContext, WechenAgentHeaderLeadingRenderContext, WechenAgentSnapshot, WechenBeforeRemoveEdgeFn, WechenBeforeRemoveNodeFn, WechenBeforeSaveFn } from './flowTypes';
|
|
4
4
|
import { WechenAgentRenderFlowNodeFn } from './WechenAgentEditorContext';
|
|
5
5
|
import { WechenAgentRenderNodeConfigFn } from './panels/NodeConfigPanel';
|
|
6
6
|
import { WechenAgentRenderConfigPanelFn } from './wechenAgentConfigPanel';
|
|
7
|
+
import { WechenAgentEditorLocaleMessages, WechenAgentEditorLocaleTranslateFn } from './i18n/defaultLocaleMessages';
|
|
8
|
+
/** 编排语义:图为可执行 AI 流程结构;节点为功能模块,连线为执行顺序/控制流(持久化 `flow` 供运行时消费)。 */
|
|
9
|
+
export type WechenConfigSiderTitleContext = {
|
|
10
|
+
kind: "node" | "edge" | null;
|
|
11
|
+
};
|
|
12
|
+
export type WechenConfigSiderTitleFn = (ctx: WechenConfigSiderTitleContext) => string;
|
|
7
13
|
export interface WechenAgentEditorProps {
|
|
8
|
-
/** 顶栏标题;不传则使用 `initialFlow.title
|
|
14
|
+
/** 顶栏标题;不传则使用 `initialFlow.title`,再没有则使用 `LOCALE_KEYS.HEADER_DEFAULT_TITLE`(默认「Agent 编辑」) */
|
|
9
15
|
title?: string;
|
|
10
16
|
/**
|
|
11
17
|
* 初始画布,结构与保存时 **`WechenAgentSnapshot.flow`** 完全一致(`WechenAgentFlowJson`:`title?` + `nodes` + `edges`)。
|
|
@@ -22,8 +28,8 @@ export interface WechenAgentEditorProps {
|
|
|
22
28
|
*/
|
|
23
29
|
mapComponentLibraryList?: (list: WechenAgentComponentLibraryList) => WechenAgentComponentLibraryList;
|
|
24
30
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
31
|
+
* 自定义画布节点 **内容区**(字段与样式);参数为 React Flow `NodeProps`。
|
|
32
|
+
* 内置外壳与接线桩(四边感应或 `data.flowHandles`)始终保留;**勿** 在返回值内放置 `Handle`。
|
|
27
33
|
*/
|
|
28
34
|
renderFlowNode?: WechenAgentRenderFlowNodeFn;
|
|
29
35
|
/**
|
|
@@ -38,7 +44,13 @@ export interface WechenAgentEditorProps {
|
|
|
38
44
|
*/
|
|
39
45
|
renderConfigPanel?: WechenAgentRenderConfigPanelFn;
|
|
40
46
|
/**
|
|
41
|
-
* 自定义顶栏
|
|
47
|
+
* 自定义顶栏 **左侧** leading 区(默认 `Title` + 解析后的 `headerTitle`)。
|
|
48
|
+
* 返回 `null` / `undefined` 时左侧为空白(不显示默认标题)。
|
|
49
|
+
* 改标题数据仍用 `title` prop / `replaceFlow`;本回调仅负责呈现。
|
|
50
|
+
*/
|
|
51
|
+
renderHeaderLeading?: (ctx: WechenAgentHeaderLeadingRenderContext) => ReactNode;
|
|
52
|
+
/**
|
|
53
|
+
* 自定义顶栏 **右侧** 操作区。未传时显示默认「保存」「测试运行」。
|
|
42
54
|
* 返回 `null` / `undefined` 时右侧为空白(不显示默认按钮)。
|
|
43
55
|
*/
|
|
44
56
|
renderHeaderActions?: (ctx: WechenAgentHeaderActionsRenderContext) => ReactNode;
|
|
@@ -57,6 +69,11 @@ export interface WechenAgentEditorProps {
|
|
|
57
69
|
* `readOnly` / `readingMode` 下 **不调用** 本回调。
|
|
58
70
|
*/
|
|
59
71
|
onBeforeRemoveEdge?: WechenBeforeRemoveEdgeFn;
|
|
72
|
+
/**
|
|
73
|
+
* 保存前回调;同步返回 **`false`** 时取消该次保存(顶栏与 `ref.save()`)。
|
|
74
|
+
* `readOnly` / `readingMode` 下 **不调用**。
|
|
75
|
+
*/
|
|
76
|
+
onBeforeSave?: WechenBeforeSaveFn;
|
|
60
77
|
/**
|
|
61
78
|
* 为真时禁止对图的增删改(拖入、连线、删除键、拖动节点等);仍允许平移/缩放。
|
|
62
79
|
* 标志会传入 `renderConfigPanel` / `renderNodeConfig` 便于禁用表单。
|
|
@@ -73,6 +90,22 @@ export interface WechenAgentEditorProps {
|
|
|
73
90
|
className?: string;
|
|
74
91
|
/** 透传根 `Layout` 的 `style`(在默认宽高之后合并,便于覆盖) */
|
|
75
92
|
style?: CSSProperties;
|
|
93
|
+
/**
|
|
94
|
+
* 编辑器壳层 + 内置回退路径的 **语言包大 JSON**(**key 为默认中文**,如 `"保存"`、`"配置"`)。
|
|
95
|
+
*
|
|
96
|
+
* - **未传**:始终显示内置中文(`DEFAULT_ZH_CN`),与 antd `ConfigProvider`、浏览器语言无关。
|
|
97
|
+
* - **已传**:仅以本对象为准;缺失 key 显示 key 字符串,**不回退**中文。
|
|
98
|
+
* 生产请传入与 `exportWechenAgentEditorLocaleBundle()` 同 key 集合的完整译文,
|
|
99
|
+
* 或先用 `mergeWechenAgentEditorLocaleMessages` 在宿主侧合并成整包。
|
|
100
|
+
*
|
|
101
|
+
* 自定义 `renderConfigPanel` / `renderFlowNode` 内业务文案由宿主自行 i18n。
|
|
102
|
+
*/
|
|
103
|
+
localeMessages?: WechenAgentEditorLocaleMessages;
|
|
104
|
+
/** 优先于 `localeMessages`;`defaultText` 来自 `DEFAULT_ZH_CN[key]`。 */
|
|
105
|
+
localeTranslate?: WechenAgentEditorLocaleTranslateFn;
|
|
106
|
+
/** 覆盖右侧栏外框标题;未传时使用 `LOCALE_KEYS.SIDER_CONFIG_TITLE`(默认「配置」)。 */
|
|
107
|
+
configSiderTitle?: string | WechenConfigSiderTitleFn;
|
|
76
108
|
}
|
|
109
|
+
export type { WechenAgentEditorLocaleMessages, WechenAgentEditorLocaleTranslateFn, } from './i18n/defaultLocaleMessages';
|
|
77
110
|
export declare const WechenAgentEditor: import('react').ForwardRefExoticComponent<WechenAgentEditorProps & import('react').RefAttributes<WechenAgentEditorRef>>;
|
|
78
111
|
//# sourceMappingURL=WechenAgentEditor.d.ts.map
|
|
@@ -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;
|
|
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,8 +1,17 @@
|
|
|
1
1
|
import { NodeProps } from '@xyflow/react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
export type
|
|
3
|
+
export type WechenAgentRenderFlowNodeContext = {
|
|
4
|
+
/** 当前节点是否被画布选中(与 NodeProps.selected 一致) */
|
|
5
|
+
selected: boolean;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* 自定义画布节点 **内容区**(字段展示、样式与选中/激活视觉)。
|
|
9
|
+
* 内置四边感应与接线桩(`ZoneHandles` / `DeclaredHandles`)由包保留;
|
|
10
|
+
* **勿** 在返回值内放置 `@xyflow/react` `Handle`。
|
|
11
|
+
*/
|
|
12
|
+
export type WechenAgentRenderFlowNodeFn = (props: NodeProps, context: WechenAgentRenderFlowNodeContext) => ReactNode;
|
|
4
13
|
export interface WechenAgentEditorRenderContextValue {
|
|
5
|
-
/**
|
|
14
|
+
/** 自定义节点内容区;未设置时使用内置默认字段块 */
|
|
6
15
|
renderFlowNode?: WechenAgentRenderFlowNodeFn;
|
|
7
16
|
}
|
|
8
17
|
export declare const WechenAgentEditorRenderContext: import('react').Context<WechenAgentEditorRenderContextValue | null>;
|
|
@@ -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,
|
|
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;CACnB,CAAC;AAEF;;;;GAIG;AACH,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;
|
|
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;AAgCb,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;AA+HD;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,EAChD,IAAI,EAAE,yBAAyB,GAC9B,yBAAyB,CAY3B;AA2DD;;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"}
|
|
@@ -31,7 +31,7 @@ export interface ComponentLibraryItem {
|
|
|
31
31
|
addButtonSlot?: ReactNode | null;
|
|
32
32
|
/**
|
|
33
33
|
* @deprecated 默认节点优先使用 **左右感应区** 动态接线(见 README);仅当需兼容旧版声明桩时保留。
|
|
34
|
-
* 拖入画布后写入 `data.flowHandles
|
|
34
|
+
* 拖入画布后写入 `data.flowHandles`;与 `renderFlowNode` 可并存(桩由包渲染,自定义仅替换内容区)。
|
|
35
35
|
*/
|
|
36
36
|
flowHandles?: FlowHandlesConfig;
|
|
37
37
|
}
|
|
@@ -40,10 +40,10 @@ export interface ComponentLibraryGroup {
|
|
|
40
40
|
title: string;
|
|
41
41
|
items: ComponentLibraryItem[];
|
|
42
42
|
}
|
|
43
|
-
/** 主 Agent
|
|
44
|
-
export declare const COMPONENT_LIBRARY_GROUP_MAIN: "
|
|
45
|
-
/** 应用 Agent
|
|
46
|
-
export declare const COMPONENT_LIBRARY_GROUP_APP: "
|
|
43
|
+
/** 主 Agent 分组 key(与落盘 node.type `mainAgent` 一致) */
|
|
44
|
+
export declare const COMPONENT_LIBRARY_GROUP_MAIN: "mainAgent";
|
|
45
|
+
/** 应用 Agent 分组 key(与落盘 node.type `card` 一致) */
|
|
46
|
+
export declare const COMPONENT_LIBRARY_GROUP_APP: "card";
|
|
47
47
|
/** 主 Agent 侧可拖拽的规范化组件列表 */
|
|
48
48
|
export declare const defaultMainAgentComponentItems: ComponentLibraryItem[];
|
|
49
49
|
/** 应用 Agent 侧可拖拽的规范化组件列表 */
|
|
@@ -70,8 +70,8 @@ export interface WechenAgentComponentLibraryItemPayload {
|
|
|
70
70
|
export interface WechenAgentComponentLibraryGroupPayload {
|
|
71
71
|
name: string;
|
|
72
72
|
/**
|
|
73
|
-
* 与内部分组 key 一致(`
|
|
74
|
-
* 0 →
|
|
73
|
+
* 与内部分组 key 一致(`mainAgent` / `card` / `pill` 等,须为已注册 node.type);返回列表时建议带上,否则按索引:
|
|
74
|
+
* 0 → mainAgent,1 → card,其余 → `ext-{index}`(拖入须显式 `groupKey` 为已注册 type)。
|
|
75
75
|
*/
|
|
76
76
|
groupKey?: string;
|
|
77
77
|
children: WechenAgentComponentLibraryItemPayload[];
|
|
@@ -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,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC;;OAEG;IACH,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC;;;OAGG;IACH,aAAa,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED,
|
|
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,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC;;OAEG;IACH,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC;;;OAGG;IACH,aAAa,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED,mDAAmD;AACnD,eAAO,MAAM,4BAA4B,aAAuB,CAAC;AACjE,+CAA+C;AAC/C,eAAO,MAAM,2BAA2B,QAAkB,CAAC;AAE3D,2BAA2B;AAC3B,eAAO,MAAM,8BAA8B,EAAE,oBAAoB,EAIhE,CAAC;AAEF,4BAA4B;AAC5B,eAAO,MAAM,6BAA6B,EAAE,oBAAoB,EAM/D,CAAC;AAKF,8CAA8C;AAC9C,wBAAgB,gCAAgC,IAAI,qBAAqB,EAAE,CAa1E;AAED,iDAAiD;AACjD,MAAM,WAAW,sCAAsC;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,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;;;GAGG;AACH,MAAM,WAAW,uCAAuC;IACtD,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,sCAAsC,EAAE,CAAC;CACpD;AAED,MAAM,MAAM,+BAA+B,GAAG,uCAAuC,EAAE,CAAC;AAExF,2CAA2C;AAC3C,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,qBAAqB,EAAE,GAC9B,+BAA+B,CAoBjC;AAED,sFAAsF;AACtF,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,+BAA+B,GACpC,qBAAqB,EAAE,CA2BzB;AAED,sDAAsD;AACtD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,qBAAqB,EAAE,EAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,oBAAoB,GAAG,SAAS,CAGlC"}
|
|
@@ -3,7 +3,7 @@ export declare const WECHEN_AGENT_FLOW_DRAG_MIME = "application/reactflow";
|
|
|
3
3
|
export interface PaletteDragPayload {
|
|
4
4
|
templateKey: string;
|
|
5
5
|
label: string;
|
|
6
|
-
/** Library group id
|
|
6
|
+
/** Library group id(与 node.type 一致,如 `mainAgent` / `card`) */
|
|
7
7
|
groupKey: string;
|
|
8
8
|
}
|
|
9
9
|
export declare function encodePaletteDragPayload(p: PaletteDragPayload): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dragPayload.d.ts","sourceRoot":"","sources":["../../src/flow/dragPayload.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AAEnE,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,
|
|
1
|
+
{"version":3,"file":"dragPayload.d.ts","sourceRoot":"","sources":["../../src/flow/dragPayload.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AAEnE,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAEtE;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,GACV,kBAAkB,GAAG,IAAI,CAc3B"}
|
package/dist/flow/dropNodes.d.ts
CHANGED
|
@@ -10,4 +10,8 @@ export declare function createDroppedMainAgentNode(id: string, position: {
|
|
|
10
10
|
x: number;
|
|
11
11
|
y: number;
|
|
12
12
|
}, label: string, flowHandles?: FlowHandlesConfig): Node<MainAgentNodeData>;
|
|
13
|
+
export declare function createDroppedPillNode(id: string, position: {
|
|
14
|
+
x: number;
|
|
15
|
+
y: number;
|
|
16
|
+
}, label: string, flowHandles?: FlowHandlesConfig): Node<SimpleNodeData>;
|
|
13
17
|
//# 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;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEtE,wBAAgB,gBAAgB,IAAI,MAAM,CAKzC;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,GAC9B,IAAI,CAAC,cAAc,CAAC,CAUtB;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,GAC9B,IAAI,CAAC,iBAAiB,CAAC,CAiBzB"}
|
|
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;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEtE,wBAAgB,gBAAgB,IAAI,MAAM,CAKzC;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,GAC9B,IAAI,CAAC,cAAc,CAAC,CAUtB;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,GAC9B,IAAI,CAAC,iBAAiB,CAAC,CAiBzB;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,GAC9B,IAAI,CAAC,cAAc,CAAC,CAUtB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Connection, Edge, Node } from '@xyflow/react';
|
|
2
|
+
import { ComponentLibraryGroup } from '../config/componentLibraryConfig';
|
|
3
|
+
export interface CreateNodeFromLibraryItemOptions {
|
|
4
|
+
groupKey: string;
|
|
5
|
+
itemKey: string;
|
|
6
|
+
position: {
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
};
|
|
10
|
+
id?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 由组件库条目构造节点(与画布拖放一致)。非法 groupKey/itemKey 返回 `null`。
|
|
14
|
+
* `groupKey` 须与落盘 `node.type` 一致(如 `mainAgent`、`card`、`pill`)。
|
|
15
|
+
*/
|
|
16
|
+
export declare function createNodeFromLibraryItem(libraryGroups: ComponentLibraryGroup[], options: CreateNodeFromLibraryItemOptions): Node | null;
|
|
17
|
+
export type NodeLookupFn = (id: string) => Node | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* 由连接构造边(与画布 `onConnect` 一致)。非法连接或端点不存在返回 `null`。
|
|
20
|
+
*/
|
|
21
|
+
export declare function createEdgeFromConnection(connection: Connection, getNode: NodeLookupFn, edgeId?: string): Edge | null;
|
|
22
|
+
//# sourceMappingURL=flowGraphMutations.d.ts.map
|
|
@@ -0,0 +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,EAEL,KAAK,qBAAqB,EAC3B,MAAM,kCAAkC,CAAC;AAW1C,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;AAeD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,qBAAqB,EAAE,EACtC,OAAO,EAAE,gCAAgC,GACxC,IAAI,GAAG,IAAI,CAoBb;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,CAAC;AAE5D;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,GAAG,IAAI,CAoBb"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { WechenAgentFlowJson } from '../flowTypes';
|
|
2
|
+
export type WechenFlowValidationSeverity = "error" | "warning";
|
|
3
|
+
export interface WechenFlowValidationIssue {
|
|
4
|
+
ruleId: string;
|
|
5
|
+
severity: WechenFlowValidationSeverity;
|
|
6
|
+
message: string;
|
|
7
|
+
nodeId?: string;
|
|
8
|
+
edgeId?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface WechenFlowValidationResult {
|
|
11
|
+
valid: boolean;
|
|
12
|
+
issues: WechenFlowValidationIssue[];
|
|
13
|
+
}
|
|
14
|
+
export interface ValidateWechenAgentFlowOptions {
|
|
15
|
+
/** 检查是否存在入口类节点(pill 或 `data.backendNodeType === 'start'`) */
|
|
16
|
+
checkMissingStart?: boolean;
|
|
17
|
+
/** 检查非入口节点是否完全无边连接 */
|
|
18
|
+
checkOrphanNodes?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 对画布 flow 做轻量合法性检查(纯函数,不阻断保存除非宿主使用 `onBeforeSave`)。
|
|
22
|
+
*/
|
|
23
|
+
export declare function validateWechenAgentFlow(flow: WechenAgentFlowJson, options?: ValidateWechenAgentFlowOptions): WechenFlowValidationResult;
|
|
24
|
+
//# sourceMappingURL=flowValidation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flowValidation.d.ts","sourceRoot":"","sources":["../../src/flow/flowValidation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,MAAM,4BAA4B,GAAG,OAAO,GAAG,SAAS,CAAC;AAE/D,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,4BAA4B,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,yBAAyB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,8BAA8B;IAC7C,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sBAAsB;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAeD;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,mBAAmB,EACzB,OAAO,CAAC,EAAE,8BAA8B,GACvC,0BAA0B,CAgE5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardNode.d.ts","sourceRoot":"","sources":["../../../src/flow/nodes/CardNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"CardNode.d.ts","sourceRoot":"","sources":["../../../src/flow/nodes/CardNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAS/C,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,2CA8BxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MainAgentNode.d.ts","sourceRoot":"","sources":["../../../src/flow/nodes/MainAgentNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"MainAgentNode.d.ts","sourceRoot":"","sources":["../../../src/flow/nodes/MainAgentNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAS/C,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,2CA8B7C"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FlowHandlesConfig } from '../../config/flowHandleTypes';
|
|
2
|
+
export declare function NodeHandlesLayer({ nodeId, flowHandles, }: {
|
|
3
|
+
nodeId: string;
|
|
4
|
+
flowHandles?: FlowHandlesConfig;
|
|
5
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=NodeHandlesLayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeHandlesLayer.d.ts","sourceRoot":"","sources":["../../../src/flow/nodes/NodeHandlesLayer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAKtE,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,WAAW,GACZ,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC,2CAMA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PillNode.d.ts","sourceRoot":"","sources":["../../../src/flow/nodes/PillNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"PillNode.d.ts","sourceRoot":"","sources":["../../../src/flow/nodes/PillNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAQ/C,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,2CAmBxC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MainAgentNodeData, SimpleNodeData } from '../../flowTypes';
|
|
2
|
+
export declare function MainAgentDefaultFields({ data }: {
|
|
3
|
+
data: MainAgentNodeData;
|
|
4
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export declare function CardDefaultFields({ data }: {
|
|
6
|
+
data: SimpleNodeData;
|
|
7
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function PillDefaultFields({ data }: {
|
|
9
|
+
data: SimpleNodeData;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=flowNodeDefaultContent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flowNodeDefaultContent.d.ts","sourceRoot":"","sources":["../../../src/flow/nodes/flowNodeDefaultContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEzE,wBAAgB,sBAAsB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,2CAW3E;AAED,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,2CAEnE;AAED,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,2CAEnE"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { FlowHandlesConfig, FlowHandleSpec } from '../../config/flowHandleTypes';
|
|
2
|
+
export declare function getExpandedFlowHandleSpecs(flowHandles: FlowHandlesConfig | undefined): FlowHandleSpec[];
|
|
3
|
+
export declare function usesDeclaredFlowHandles(flowHandles: FlowHandlesConfig | undefined): boolean;
|
|
4
|
+
//# sourceMappingURL=flowNodeHandleLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flowNodeHandleLayout.d.ts","sourceRoot":"","sources":["../../../src/flow/nodes/flowNodeHandleLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGtF,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,iBAAiB,GAAG,SAAS,GACzC,cAAc,EAAE,CAKlB;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,iBAAiB,GAAG,SAAS,GACzC,OAAO,CAET"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flowNodeShellSelection.d.ts","sourceRoot":"","sources":["../../../src/flow/nodes/flowNodeShellSelection.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,OAAO,CAEV"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type FlowNodeShellVariant = "mainAgent" | "card" | "pill";
|
|
2
|
+
export declare function mergeFlowNodeShellClassName(opts: {
|
|
3
|
+
selected?: boolean;
|
|
4
|
+
variant: FlowNodeShellVariant;
|
|
5
|
+
legacyHandles?: boolean;
|
|
6
|
+
}): string;
|
|
7
|
+
//# sourceMappingURL=mergeFlowNodeShellClassName.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeFlowNodeShellClassName.d.ts","sourceRoot":"","sources":["../../../src/flow/nodes/mergeFlowNodeShellClassName.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjE,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GAAG,MAAM,CAOT"}
|
|
@@ -17,6 +17,7 @@ export interface WechenAgentEdgeData {
|
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* 默认边:平滑阶梯线;箭头在 **几何 target 端**(执行进入下游节点)。
|
|
20
|
+
* 默认描边/选中色由 `.wechen-agent-edge` CSS 控制;宿主 `style.stroke` 仍优先。
|
|
20
21
|
*/
|
|
21
22
|
export declare function WechenAgentDefaultEdge(props: EdgeProps): import("react/jsx-runtime").JSX.Element;
|
|
22
23
|
export declare const wechenAgentEdgeTypes: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wechenAgentEdgeTypes.d.ts","sourceRoot":"","sources":["../../src/flow/wechenAgentEdgeTypes.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"wechenAgentEdgeTypes.d.ts","sourceRoot":"","sources":["../../src/flow/wechenAgentEdgeTypes.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/D;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG,SAAS,GAAG,SAAS,CAAC;AAEjE,+BAA+B;AAC/B,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,KAAK,CAAC;AAEhD,8BAA8B;AAC9B,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,QAAQ,CAAC;AAErD,mCAAmC;AACnC,MAAM,WAAW,mBAAmB;IAClC,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,4BAA4B,CAAC;IACnD,sBAAsB,CAAC,EAAE,kBAAkB,CAAC;IAC5C,sBAAsB,CAAC,EAAE,mBAAmB,CAAC;CAC9C;AAoCD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,2CAiBtD;AAED,eAAO,MAAM,oBAAoB;;CAEhC,CAAC"}
|