@guandata/guanetl 0.1.25 → 0.1.27
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 +12 -0
- package/README.md +11 -0
- package/binaries/guanetl-darwin-arm64 +0 -0
- package/binaries/guanetl-darwin-x64 +0 -0
- package/binaries/guanetl-linux-arm64 +0 -0
- package/binaries/guanetl-linux-x64 +0 -0
- package/binaries/guanetl-win32-x64.exe +0 -0
- package/package.json +1 -1
- package/skills/guanetl/SKILL.md +4 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## @guandata/guanetl 0.1.27
|
|
4
|
+
|
|
5
|
+
- 优化 ETL 首次运行后的输出校验,临时输出数据集完成生成后再进行字段检查,首次运行更稳定。
|
|
6
|
+
- 增强输出字段注册与查询结果校验,减少首次运行时的误报和阻断。
|
|
7
|
+
|
|
8
|
+
## @guandata/guanetl 0.1.26 - 2026-08-07
|
|
9
|
+
|
|
10
|
+
- 新增输出数据集落位闭环校验,并同步目录意图,提升 ETL 保存、运行后的结果一致性。
|
|
11
|
+
- 修复 ETL 编辑往返时配置丢失问题,并拦截 JOIN 未知类型,增强配置保真与校验可靠性。
|
|
12
|
+
- `save` 影响报告新增字段级变更明细,便于使用者了解保存操作的具体影响。
|
|
13
|
+
- 修复工作流输出绑定中的字段错位问题,提升输出配置的准确性。
|
|
14
|
+
|
|
3
15
|
## @guandata/guanetl 0.1.25 - 2026-08-04
|
|
4
16
|
|
|
5
17
|
- ETL 已在运行时可直接跟踪当前任务,无需管理员级全局任务权限。
|
package/README.md
CHANGED
|
@@ -51,6 +51,17 @@ guanetl install-skill
|
|
|
51
51
|
|
|
52
52
|
## 版本更新
|
|
53
53
|
|
|
54
|
+
### @guandata/guanetl 0.1.27
|
|
55
|
+
|
|
56
|
+
- 优化 ETL 首次运行后的输出校验,临时输出数据集完成生成后再进行字段检查,首次运行更稳定。
|
|
57
|
+
- 增强输出字段注册与查询结果校验,减少首次运行时的误报和阻断。
|
|
58
|
+
|
|
59
|
+
### @guandata/guanetl 0.1.26
|
|
60
|
+
|
|
61
|
+
- 新增输出数据集落位校验,提升 ETL 保存和运行后的结果一致性。
|
|
62
|
+
- 修复 ETL 编辑往返时配置丢失和输出绑定字段错位问题。
|
|
63
|
+
- 保存影响报告补充字段级变更明细,便于了解具体调整内容。
|
|
64
|
+
|
|
54
65
|
### @guandata/guanetl 0.1.25
|
|
55
66
|
|
|
56
67
|
- ETL 已在运行时可直接跟踪当前任务,无需管理员级全局任务权限。
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
package/skills/guanetl/SKILL.md
CHANGED
|
@@ -153,6 +153,10 @@ guanetl run <etl_id> --wait # 可选:保存后触发执行并等待
|
|
|
153
153
|
|
|
154
154
|
`save` 会协调已保存 ETL 的输出身份:当本地 `OUTPUT_DATASET` 节点 id 变化,但它与服务端已绑定输出在同一目录、同名且双方唯一时,CLI 会自动恢复原节点 id 和 dsId,继续原地更新已有输出数据集。该协调不会修改本地 `_exported.json`,保存影响报告会显示 `save.output_binding_reconciled`。
|
|
155
155
|
|
|
156
|
+
**输出数据集落位语义(重要,勿用 dsId 判断输出是否创建)**:服务端保存时总会给每个输出补一个 `dataSource{dsId, created:false}`,但在该 ETL **首次成功运行**之前数据集实体并不存在,且每次 save/run 都会重新生成一个全新的临时 dsId。因此"保存后 dsId 非空"不代表输出已创建;判断依据是 `dataSource.created == true`。`save` 成功后 CLI 会回读服务端并输出两类诊断:`save.output_dir_rectified` 表示 `parentDirId` 无效、已被服务端静默纠正(通常纠正到数据集根目录,页面"保存至"可能显示"请选择")——必须修正 etl.go 中的目录 id 后重新保存;`save.output_pending_materialization` 表示输出尚未物化,dsId 是临时值,勿用于下游引用。`run --wait` 成功后 CLI 会校验输出 `created == true`,存在未创建的输出会直接报错,按错误提示排查目录与节点连线,不要循环重试 save/run。例外:仅以顶层 dsId 绑定已有数据集且无 `dataSource` 的增量输出无法自动核验,会以 `run.output_placement_unverified` 警告提示,需用 `guancli etl get <etl_id> --raw` 人工确认(默认渲染不显示 `dataSource.created` 字段)。
|
|
157
|
+
|
|
158
|
+
**维护约束(首次运行字段校验)**:新增或修改 CLI 的运行前校验时,只有 `dataSource.created == true` 的输出 dsId 才能当作可查询的既有数据集并读取 baseline。显式 `created:false` 表示首跑临时 dsId,运行前不得查询它、更不得因此阻断 `/api/etl/execute`;应保留输出节点 ID 与预期字段,在任务完成、输出落位校验通过后 fresh edit 回读稳定 dsId,再校验 metadata 和定向 preview。缺失 `created` 标记不等于首跑,必须保留既有的严格校验/失败语义,避免把旧 DATAFLOW 的字段注册漂移静默放行。
|
|
159
|
+
|
|
156
160
|
如果 `save` 在 direct-save 前提示输出数据集绑定风险,按提示处理,不要手动删除或重命名旧输出数据集。跨目录、重名歧义、删除旧输出或无法唯一匹配时,CLI 不会猜测并默认停止保存。修复优先级:重新 `edit` 到新目录、同步 `outputDsName`、确认输出目录;确实要替换已绑定输出时,设置新的节点 id、`outputDsName` 或 `parentDirId`,并显式加 `--allow-output-replacement`。该选项只放行保存,不会迁移任何下游 dsId 引用。
|
|
157
161
|
|
|
158
162
|
只追加输出列只是在输出绑定层面的安全例外:新增列、不改名、不删已有列、不改已有列类型,并保持输出名称和目录时,可以原地 `save`,保存前仍需 `preview` 目标输出确认结果;这**不代表**旧 DATAFLOW 数据集已注册该字段。`run --wait` 对本轮新增且透传到输出的 `BasicCalculator` 字段,会逐个输出等待其自身的 `lastExecution.endTime` 与 `datasourceModifyTime` 推进,并同时检查数据集 metadata 和实际 preview 返回字段。任一目标输出仍在产出,或字段没有注册/不可查询,命令会以错误结束;可用 `--timeout` 延长这段校验时间。改列名、删列、改类型、换输入数据集或重接输出链路仍按下游 schema 风险处理;输出节点 id 变化仅在唯一匹配时自动协调。
|