@guandata/guanwf 0.1.823 → 0.1.825

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,15 @@
1
1
  # Changelog
2
2
 
3
+ ## @guandata/guanwf 0.1.825 - 2026-08-05
4
+
5
+ - Python 节点输出支持绑定已有数据集,可直接覆盖或追加到指定数据集,避免重复创建输出并保持下游引用稳定。
6
+ - 编辑已有工作流时会回读并保留输出数据集绑定状态,同时在保存前校验无效配置。
7
+
8
+ ## @guandata/guanwf 0.1.824 - 2026-07-29
9
+
10
+ - 工作流目录树支持按关键词和最大深度缩小范围,文本与 JSON 输出都能清楚标记被省略的层级。
11
+ - 更新底层依赖,提升安全性和运行稳定性。
12
+
3
13
  ## @guandata/guanwf 0.1.823 - 2026-07-25
4
14
 
5
15
  - 提升受控 Agent 运行环境中的工作流导出和 ETL 节点处理能力,较大的工作流定义也能稳定交换。
package/README.md CHANGED
@@ -47,6 +47,16 @@ guanwf install-skill
47
47
 
48
48
  ## 版本更新
49
49
 
50
+ ### @guandata/guanwf 0.1.825
51
+
52
+ - Python 节点输出支持绑定已有数据集,可直接覆盖或追加到指定数据集,避免重复创建输出并保持下游引用稳定。
53
+ - 编辑已有工作流时会回读并保留输出数据集绑定状态,同时在保存前校验无效配置。
54
+
55
+ ### @guandata/guanwf 0.1.824
56
+
57
+ - 工作流目录树支持按关键词和最大深度缩小范围,文本与 JSON 输出都能清楚标记被省略的层级。
58
+ - 更新底层依赖,提升安全性和运行稳定性。
59
+
50
60
  ### @guandata/guanwf 0.1.823
51
61
 
52
62
  - 提升受控 Agent 运行环境中的工作流导出和 ETL 节点处理能力,较大的工作流定义也能稳定交换。
@@ -109,7 +119,4 @@ npm unlink -g @guandata/guanwf
109
119
  ```bash
110
120
  # 编译所有平台 binary(需要 Go 工具链)
111
121
  npm run build
112
-
113
- # 发布到内部 Nexus npm 仓库
114
- npm publish
115
122
  ```
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.823",
3
+ "version": "0.1.825",
4
4
  "description": "观远工作流数据流编辑工具 - 创建、编辑、导出、预览、保存数据流",
5
5
  "bin": {
6
6
  "guanwf": "bin/run.js"
@@ -357,7 +357,7 @@ func DefineETL() []Node {
357
357
  当本地输出节点 id 被重新生成,但 `outputDsName + parentDirId` 与一个服务端已绑定输出唯一匹配时,`save` 会在请求副本中自动恢复原节点 id 和 dsId,并在影响报告中输出 `save.output_binding_reconciled`。源 `_exported.json` 不会被改写。跨目录、双方重名歧义、删除旧输出或无法唯一匹配时不会自动协调。
358
358
 
359
359
  - 再次修改已保存 ETL,优先重新执行 `guanetl edit <etl_id> --dir <新目录>`,不要长期复用旧工作目录。
360
- - 只追加输出列时,可以原地 `save`:新增列,不改名、不删已有列、不改已有列类型,并保持原 `OUTPUT_DATASET` 节点 id 和 `outputDsName`。
360
+ - 只追加输出列时,可以原地 `save`:新增列,不改名、不删已有列、不改已有列类型,并保持原 `OUTPUT_DATASET` 节点 id 和 `outputDsName`;但这只保证输出身份稳定,不保证旧 DATAFLOW 数据集的字段目录已同步。对新增并透传到输出的 `BasicCalculator` 字段,必须执行 `guanetl run <etlId> --wait`:命令会按输出数据集独立等待本轮物化,并同时验证 metadata 与实际 preview 返回字段;任一目标输出尚未完成或字段缺失都会报错。
361
361
  - 修改已有输出 schema 时,保持原 `OUTPUT_DATASET` 节点 id;改列名、删列、改已有列类型、换输入数据集或重接输出链路都可能影响下游绑定,保存前必须重新 `preview` 并评估下游。
362
362
  - 如果用 `guands dataset rename` 改过 ETL 输出数据集名称,必须同步 `etl.go` 中 `BasicOutputDataset(..., outputDsName, ...)` 或 `BasicOutputDatasetInDir(..., outputDsName, ...)` 的名称。
363
363
  - 不要为了绕过同名错误手动删除旧输出数据集;旧输出通常仍被 ETL 依赖。
@@ -143,6 +143,8 @@ PythonConfig{
143
143
  Outputs: []PythonOutput{ // 输出数据集,顺序对应 output1, output2, ...
144
144
  {
145
145
  Name: "输出数据集名", // 必填,目录内唯一
146
+ DatasetID: "", // 新建时留空;更新已有数据集时填写其 dsId
147
+ Created: false, // true 仅表示数据集由当前工作流创建
146
148
  ParentDirID: "<数据集目录ID>", // 必填,guancli dir tree 可查
147
149
  UpdateMode: "OVERWRITE", // OVERWRITE(覆盖)/ APPEND(追加),默认 OVERWRITE
148
150
  PrimaryKeys: []string{"id"}, // 可选,按主键去重
@@ -155,9 +157,10 @@ PythonConfig{
155
157
  }
156
158
  ```
157
159
 
158
- 输出数据集**不需要也不应该手填 dsId**:首次运行时 BI 服务端在 `ParentDirID` 下创建并注册
159
- 数据集,生成的 dsId 落在服务端定义里。之后 `guanwf edit` 回读时这些字段进入
160
- `nodes/<id>/python.json` 透传层,`save` 时自动保留,不会丢失。
160
+ 新建输出数据集时不要填写 `DatasetID`:首次运行由 BI 服务端在 `ParentDirID` 下创建并注册。
161
+ 只有明确更新已有数据集时才填写该数据集的 dsId。更新其他流程创建的数据集时保持
162
+ `Created: false`;仅当数据集确由当前工作流创建时使用 `Created: true`。`guanwf edit` 会把
163
+ 服务端已有 dsId 和 created 状态回读,后续导出会继续保留。
161
164
 
162
165
  ### script.py 沙箱约定
163
166