@guandata/guanwf 0.1.821 → 0.1.823

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/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## @guandata/guanwf 0.1.823 - 2026-07-25
4
+
5
+ - 提升受控 Agent 运行环境中的工作流导出和 ETL 节点处理能力,较大的工作流定义也能稳定交换。
6
+
7
+ ## @guandata/guanwf 0.1.822 - 2026-07-23
8
+
9
+ - 优化工作流依赖与血缘读取效率,复杂编排的分析和校验等待更少。
10
+ - 完善已有工作流的原地编辑指引,避免更新时破坏原有调度、权限和下游引用。
11
+
3
12
  ## @guandata/guanwf 0.1.821 - 2026-07-20
4
13
 
5
14
  - 保持 8.2.0 专用兼容能力不变;全局安装或升级后自动刷新 AI Skill。
package/README.md CHANGED
@@ -47,6 +47,15 @@ guanwf install-skill
47
47
 
48
48
  ## 版本更新
49
49
 
50
+ ### @guandata/guanwf 0.1.823
51
+
52
+ - 提升受控 Agent 运行环境中的工作流导出和 ETL 节点处理能力,较大的工作流定义也能稳定交换。
53
+
54
+ ### @guandata/guanwf 0.1.822
55
+
56
+ - 优化工作流依赖与血缘读取效率,复杂编排的分析和校验等待更少。
57
+ - 完善已有工作流的原地编辑指引,避免更新时破坏原有调度、权限和下游引用。
58
+
50
59
  ### @guandata/guanwf 0.1.821
51
60
 
52
61
  - 保持 8.2.0 专用兼容能力不变;全局安装或升级后自动刷新 AI Skill。
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guandata/guanwf",
3
- "version": "0.1.821",
3
+ "version": "0.1.823",
4
4
  "description": "观远工作流数据流编辑工具 - 创建、编辑、导出、预览、保存数据流",
5
5
  "bin": {
6
6
  "guanwf": "bin/run.js"
@@ -37,6 +37,13 @@ compatibility: "Requires Node.js 14+. Install via npm link (local) or npm instal
37
37
  **保存工作流时,必须携带完整的工作流上下文(所有 tasks + 所有 dataflowJson)。**
38
38
  `guanwf save` 内部会以服务端最新版本为基底做字段级合并,AI 不需要也不应该手拼保存 payload。
39
39
 
40
+ **编辑 ≠ 删除重建。** 编辑已有工作流永远走 `edit → export → save` 原地保存(保留 workflowId),
41
+ 改名直接修改 `workflow.go` 中 `Workflow.Name` 后正常 save。guanwf 没有提供工作流删除命令;
42
+ 用户要求删除时直接说明 CLI 暂不支持。**禁止**用"新建一个工作流替代旧工作流"来模拟编辑或
43
+ 改名——workflowId 变化会丢失定时/事件调度配置、权限与协作者设置、运行实例历史,且所有通过
44
+ `SubWorkflowNode` 引用它的编排工作流会断链。只有用户明确指示"新建替代、再废弃旧的"时才允许,
45
+ 且执行前必须列出上述影响并获得确认。
46
+
40
47
  ## Harness 工作法:源文件驱动,不手写最终 JSON
41
48
 
42
49
  先改可读、可复现的源文件,再用明确命令重新生成派生产物。不要为了让保存请求看起来正确而直接改最终 JSON。
@@ -104,6 +104,9 @@ calc := BasicCalculator("id_1002", "解析展示格式度量", inputA, []Formula
104
104
  - 新版 ETL 默认使用输入字段别名:如果数据集字段有 `alias`,进入 ETL 算子后的列名通常是 `alias`;没有 `alias` 时才是原始 `name`。
105
105
  - 输入字段别名的事实源是数据集字段元数据;可用 `guands dataset fields <dsId>` 回读,用 `guands dataset alias <dsId> --fd-id <fdId> --alias "展示名"` 更新。`BasicInputDataset(..., []Field{...})` 中的字段 schema 主要用于导入/导出和本地 lint,不会把一个未设置过数据集 alias 的字段强制变成展示名列。
106
106
  - 本地校验按 `alias -> displayName/showName/title -> name` 解析有效字段名;同一来源下两个字段解析成相同有效名会被视为歧义,建模前应先改名或明确上游输出。
107
+ - 不要把 JOIN 键类型不一致直接断言为零匹配。STRING 与 LONG/DOUBLE 等数值类型 JOIN 时,Spark 可能做隐式数值 coercion:纯数字字符串可能匹配,`"001"` 可能折叠后匹配数值 `1`,非数字值可能无法匹配,超长 ID 可能丢失精度。业务标识键应在 JOIN 前显式统一为 STRING,并用 preview 验证真实匹配率。
108
+ - `preview` / `save` 会从数据集元数据补齐 `fdId -> alias` 的运行时映射,并把 JOIN predicate 中的输入 alias 归一化为 raw name;本地 `BasicInputDataset` 声明与服务端不一致时,以服务端字段身份为准,且不会修改工作区中的原始 `_exported.json`。当前服务端仍不支持把“设置过 alias 的数据集计算字段”直接选作 JOIN 输出列,应输出其原始依赖列或先在 ETL 中生成普通列。
109
+ - aggregation/window 计算字段不是行级字段,不能直接作为 JOIN 键;请先在 ETL 中生成普通计算列。`preview` / `save` 会在提交远端请求前拦截该用法。
107
110
  - SQL 节点使用上游表 `input1`、`input2` 的当前列名。字段有中文展示名时,SQL 里应写展示名并用反引号,例如 ``SELECT `门店ID` FROM input1``。
108
111
  - `SELECT_COLUMNS`、`FILTER_ROWS`、`REMOVE_DUPLICATES`、`GROUP_BY` 等直接列名算子,也以当前上游列名为准。
109
112
  - 底层数据集读取和数据集元数据仍保留原始 `name`,所以 `guancli` / `guands` 输出字段时要同时关注 `name` 和 `alias`。