@accio-ai/ecommerce-cli 0.0.7-rc.2 → 0.0.8-rc.1
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 +8 -3
- package/README.md +1 -1
- package/checksums.json +7 -7
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
### Added
|
|
8
8
|
|
|
9
|
+
- Amazon 商品采集新增公共 `--asin` / JSON `asin` 选择器,定向调用 `amz_catalog_items` 的 ASIN 批量查询,并通过独立 coverage key 与全店快照隔离。
|
|
10
|
+
- 新增独立 Monitor 和命令/API/后台执行三类安全事件,通过 Phoenix Gateway 上报;兼容原 API JSONL,以 invocation/apiCall/job/execution 关联,恢复上下文独立。队列与网络预算有界,关闭开关和发送失败不改变业务输出或退出码;未确认持久化时不宣称任务完成。真实 Desktop → SLS 验收仍待可信测试宿主,详见 [验收记录](docs/monitor-acceptance.md)。
|
|
9
11
|
- 海外商品 publish 新增 `--expected-platform` 和 `--concurrency`,支持显式限定平台与有界并发(默认 2、最多 4);同一次调用选定平台、店铺和站点内的全部待提交商品通过预检后才正式发送,任一商品预检失败时其他待提交商品返回 `not_attempted`,未选平台的错误不阻断当前平台。
|
|
10
12
|
- 完善 Amazon `update_listing` / `feed` 的模板生成、读取、提交与核验;Feed 按最多 100 条及本地大小预算拆批合并提交,中断后恢复原批次和原任务,同一本地数据目录的 AW 账号与 Amazon seller 共享 60 秒新提交间隔。
|
|
11
13
|
- Temu 素材与发布支持固定规格、服饰 SKC、尺码表、数值聚合和图片资源回填,按模板声明的布局、映射和范围读取,并兼容语义一致的新布局版本。
|
|
@@ -14,8 +16,8 @@
|
|
|
14
16
|
- 新增 `overseas product publish`,读取 Excel、ZIP 或解压素材目录,支持离线预检、可信店铺绑定、素材上传、平台提交与结果核验。TikTok 仅创建并核验草稿,Temu 返回商品创建结果,Amazon 按模板执行创建、更新或 Feed 并核验商品状态;真实店铺发品与 PC 上传仍需联调验收。
|
|
15
17
|
- CLI 按环境、账号、空间隔离加密保存账号 token,并独立按连接缓存完整接口凭据及店铺、区域等字段,只补取当前选择范围缺失的连接。成功缓存最多 24 小时且早于 token 到期 5 分钟失效,普通负结果缓存 60 秒,命中不续期。`ECOMCTL_CREDENTIAL_CACHE=auto|off` 默认 auto;PC 和业务适配器继续管理店铺授权。
|
|
16
18
|
- 补充本机 Gateway 地址的回归验证与配置说明:沿用 `ACCIO_LOCAL_GATEWAY_URL` 支持 4097、4098 和自定义本机端口,指定地址无效时不会回退到其他实例。
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
+
- 国内统一 `domestic collection import` 接入按 source 显式绑定平台/DSL 的前置后处理,登记 22 项京东 DSL/source;Excel 在内存中归一化日期、SPU/SKU 身份与重复表头,JSON 仅接受各 DSL 已声明的标准记录结构,再复用原导入流程。新增京东店铺商品概况数据源 `jd_store_jd_product_360`。22 项 golden 对照通过,其中 14 项来自真实样本投影且已做本机整表对照,brand/category/detail/sku 的 daily/summary 共 8 项仍使用构造样本,不代表全量真实覆盖。
|
|
20
|
+
- 保留 `sourceimport.Service.ImportBatch` 批量业务能力:接收已解析的 Command,完成整批校验、组装和去重,再在同一事务提交事实、列定义与覆盖台账,事务失败时整批回滚;文件转换、初始化和报告不属于该事务,统一 CLI 一次仍导入一个 source。
|
|
19
21
|
- 新增 `domestic collection plan`,按业务域、店铺/商品范围和日期生成采集计划,结合覆盖台账识别待补采数据;主题与指标列表补充 `description`,更新业务域分类和指标路由配置。
|
|
20
22
|
- 海外报表采集新增持久化轮询状态与结果分发,等待期间释放 worker,支持进程恢复、租约接管和有界重试;报表结果按覆盖单元提交,采集时间统一保存为 UTC。
|
|
21
23
|
- 新增 `--input-json-file`,从最多 1 MiB 的 UTF-8 / UTF-8 BOM 文件读取命令参数,沿用内联 JSON 的校验与默认值,避免 CMD / PowerShell 内联引号差异;补充 Windows 调用指南和三种 Windows Shell 的 EXE / npm 入口 smoke。
|
|
@@ -25,7 +27,7 @@
|
|
|
25
27
|
- 新增 `make docs-check`,通过真实 CLI 输入契约检查当前文档示例与本地链接,并接入日常验证和原生平台 CI;开发与发布 smoke 同时执行构建后二进制契约检查。
|
|
26
28
|
- 新增按域内嵌 JSON 命令契约,覆盖业务及系统入口;统一驱动命令注册、简短帮助、Schema 索引/单条详情/全量发现和输入校验,单条 Schema 引用完整并可离线编译。
|
|
27
29
|
- 新增业务 `--input-json` 参数对象,与 flags/位置参数共用校验和默认值规则;支持类型、必填、枚举、互斥及条件必填检查,执行上下文单独声明。
|
|
28
|
-
- 新增统一 JSON/Excel 文件接口:collection import 支持 JSON、XLSX、
|
|
30
|
+
- 新增统一 JSON/Excel 文件接口:collection import 支持 JSON、XLSX、XLS、CSV、ZIP 和 JSON stdin,明确拒绝含宏的 XLSM,国内查询与海外 ready 支持显式导出 JSON/XLSX,并返回路径、格式、字节数、记录数和 SHA-256 回执。
|
|
29
31
|
- 新增 `make contract-check` 构建产物验收入口,以及 [CLI 调用与新命令接入指南](docs/CLI调用指南.md),覆盖注册、JSON 输入输出、文件用法、预检与错误恢复。
|
|
30
32
|
- 新增多 Plugin SQLite 初始化 Go 接口:每份构建期内置 `init_config` 统一声明 Plugin、物理表、DDL 与 DML,Assets Loader 提供领域 Config,Storage Adapter 为 07 Core 生成内部同名表注册;使用库内初始化状态、Plugin 级 checksum、只读快速路径和 `BEGIN IMMEDIATE` 实现重复调用、并发调用与失败重试幂等,并通过 `setup`、`doctor`、写入命令初始化策略和 npm postinstall 接入。
|
|
31
33
|
- 强化跨平台发布与 SQLite 恢复:统一兼容 JSON UTF-8 BOM/CRLF、避免 Windows npm shell 转义、拒绝 SQLite UNC/设备路径,并验证异常退出后的 WAL 恢复。
|
|
@@ -48,6 +50,8 @@
|
|
|
48
50
|
- 海外商品 publish 自动识别 Excel 中的平台,并按当前授权店铺选择唯一发布目标;移除该命令的 `--platform` / JSON `platform` 输入,保留 Excel、ZIP、解压目录和 `--assets-root` 支持。混合包离线预检按平台分组报告,正式结果返回实际绑定的 `target`。categories/package 的平台参数保持不变。
|
|
49
51
|
- 国内 `collection plan` 响应收敛为 `status` 与 `await_collect`,待采集项包含 `source_id`、`type`、`dsl_id`;状态改为 `COLLECTION_REQUIRED` / `NO_COLLECTION_REQUIRED`。升级自 `0.0.5-rc.2` 及更早版本的调用方需适配原 `source_ids`、`items` 和 `configuration_issues` 字段的移除。
|
|
50
52
|
- Paged 每页与 Report 后续鉴权请求前获取当前凭据;明确过期时仅恢复一次安全的当前操作并保留分页位置或 reportId,结果未知的提交不自动重放,401/403/40005 仍按 unauthorized 处理。账号 token 与接口凭据使用各自的 CLI 专用加密缓存,业务 SQLite、日志、任务快照和导出继续禁止保存 token。
|
|
53
|
+
- domestic 初始化遇到 config checksum 变化且 schema 完全匹配时,会在同一事务清空并重建 `domain_knowledge_view`、`domestic_metric_router_registry`、`data_source_meta`,重放当前初始化 DML 并更新 checksum;所有非 dry-run、数据库相关的 domestic 业务命令均可触发该修复,事实表和采集台账保持不变,失败整体回滚。
|
|
54
|
+
- 京东统一通过 `domestic collection import` 处理产物并调用原 Import,不生成加工文件或逐文件报告,空数组/仅表头继续按零记录错误处理。Excel 保留上海业务日期与单品 ID 的兼容 fallback;JSON 不补默认值,`--biz-data` 仍由原 Import 整批覆盖日期。
|
|
51
55
|
- 海外采集命令从 `overseas download run/status/ready/retry` 统一更名为 `overseas collection run/status/ready/retry`,Schema ID 和返回的后续动作同步切换,不保留旧命令别名;调用脚本需同步更新。采集框架错误码从 `download_*` 更名为 `collection_*`;报表文件下载专属的 `report_download_failed` 保持原义。
|
|
52
56
|
- 业务能力和业务存储按 `domestic`、`overseas`、`shared` 归拢,海外采集实现统一命名为 `collection`,后台执行、测试设施及生成工具同步更名;Bootstrap 分离国内和海外装配入口,并通过依赖门禁禁止业务域互相依赖。既有数据库路径、`download_*` 表名、初始化校验和及日志目录保持兼容。
|
|
53
57
|
- 国内四张事实表改用共享列定义、逐行 `values_json` 和内容哈希存储,减少重复字段名及去重索引中的完整 JSON;查询按列定义还原业务字段,保持既有对外查询结构。直接读取 SQLite 事实表的使用方需适配新的 `source_schema_record`、`schema_id`、`values_json` 和 `content_hash`。
|
|
@@ -108,6 +112,7 @@
|
|
|
108
112
|
|
|
109
113
|
### Removed
|
|
110
114
|
|
|
115
|
+
- 在 22 项新旧对照与回归通过后,删除旧 `cmd/jdimport`、`datasource/jdexcel` 以及无生产消费者的 `sourceimport/artifact`;保留原 ImportBatch 与存储回归,不保留旧独立入口别名。
|
|
111
116
|
- 停止跟踪个人 `.idea` 项目配置,继续由 `.gitignore` 排除,本地 IDE 设置不受影响。
|
|
112
117
|
- 删除迁移后的 Go 参数/条件 DSL、Schema 生成回退、旧 JSON/XLSX 输出链和生产测试兼容构造器,公开声明统一由域 JSON 维护。
|
|
113
118
|
- 删除旧 `--output` / `ECOMCTL_OUTPUT`、`--import-path`、`--data-json`、`--data-json-file`、`--node-ids`、`--source`、`--product` 和 ready 的 `--format`;迁移方式见调用指南。
|
package/README.md
CHANGED
|
@@ -12,6 +12,6 @@ Supported targets:
|
|
|
12
12
|
- Linux: arm64 and x64
|
|
13
13
|
- Windows: arm64 and x64
|
|
14
14
|
|
|
15
|
-
Database setup is best-effort. Installs that disable lifecycle scripts, use an unsafe service identity, or encounter a database warning
|
|
15
|
+
Database setup is best-effort. Installs that disable lifecycle scripts, use an unsafe service identity, or encounter a database warning must run `ecomctl setup` before using read-only database commands. Domestic imports can initialize their own domain before writing; read-only commands do not initialize databases. Run `ecomctl doctor` after installation to verify the local environment.
|
|
16
16
|
|
|
17
17
|
The launcher invokes the platform binary with an argument array and no command shell. Release scripts invoke npm on Windows through `node.exe` and `npm-cli.js`. Package JSON readers accept a UTF-8 BOM and CRLF, while the executable launcher itself is packaged only with an LF shebang and no BOM.
|
package/checksums.json
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.0.
|
|
2
|
+
"version": "0.0.8-rc.1",
|
|
3
3
|
"binaries": {
|
|
4
4
|
"darwin-arm64": {
|
|
5
5
|
"package": "@accio-ai/ecommerce-cli-darwin-arm64",
|
|
6
6
|
"file": "ecomctl",
|
|
7
|
-
"sha256": "
|
|
7
|
+
"sha256": "9acab0d8d08e36d0c0413781102eab6a40f0fc62f9b9918a93140f4c337901a9"
|
|
8
8
|
},
|
|
9
9
|
"darwin-x64": {
|
|
10
10
|
"package": "@accio-ai/ecommerce-cli-darwin-x64",
|
|
11
11
|
"file": "ecomctl",
|
|
12
|
-
"sha256": "
|
|
12
|
+
"sha256": "9400a577c8dc35105d8577cee8c2096e7eae21a0e7c4675e51efde977ac22430"
|
|
13
13
|
},
|
|
14
14
|
"linux-arm64": {
|
|
15
15
|
"package": "@accio-ai/ecommerce-cli-linux-arm64",
|
|
16
16
|
"file": "ecomctl",
|
|
17
|
-
"sha256": "
|
|
17
|
+
"sha256": "13d1b365f509b38f2963f97602832ce290a19cd1b442a8b40b87d4fc00f8f8de"
|
|
18
18
|
},
|
|
19
19
|
"linux-x64": {
|
|
20
20
|
"package": "@accio-ai/ecommerce-cli-linux-x64",
|
|
21
21
|
"file": "ecomctl",
|
|
22
|
-
"sha256": "
|
|
22
|
+
"sha256": "3e9369accc0c57513a9d64911157f50a403af953acc4c1872b5aa7fecc6606c0"
|
|
23
23
|
},
|
|
24
24
|
"win32-arm64": {
|
|
25
25
|
"package": "@accio-ai/ecommerce-cli-win32-arm64",
|
|
26
26
|
"file": "ecomctl.exe",
|
|
27
|
-
"sha256": "
|
|
27
|
+
"sha256": "957137c2a4dd8b1a4716d3b3d8fcf2e1284f093296e1dc1e7a1eeaeee4c1e571"
|
|
28
28
|
},
|
|
29
29
|
"win32-x64": {
|
|
30
30
|
"package": "@accio-ai/ecommerce-cli-win32-x64",
|
|
31
31
|
"file": "ecomctl.exe",
|
|
32
|
-
"sha256": "
|
|
32
|
+
"sha256": "f5b1cc3d569186eaf9c1a69ef10212d4587f169ab0420dcc3df14e0d4e0c3e72"
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@accio-ai/ecommerce-cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.8-rc.1",
|
|
4
4
|
"description": "Local, statically compiled ecommerce automation toolkit",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"repository": {
|
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
"postinstall": "node postinstall.cjs"
|
|
19
19
|
},
|
|
20
20
|
"optionalDependencies": {
|
|
21
|
-
"@accio-ai/ecommerce-cli-darwin-arm64": "0.0.
|
|
22
|
-
"@accio-ai/ecommerce-cli-darwin-x64": "0.0.
|
|
23
|
-
"@accio-ai/ecommerce-cli-linux-arm64": "0.0.
|
|
24
|
-
"@accio-ai/ecommerce-cli-linux-x64": "0.0.
|
|
25
|
-
"@accio-ai/ecommerce-cli-win32-arm64": "0.0.
|
|
26
|
-
"@accio-ai/ecommerce-cli-win32-x64": "0.0.
|
|
21
|
+
"@accio-ai/ecommerce-cli-darwin-arm64": "0.0.8-rc.1",
|
|
22
|
+
"@accio-ai/ecommerce-cli-darwin-x64": "0.0.8-rc.1",
|
|
23
|
+
"@accio-ai/ecommerce-cli-linux-arm64": "0.0.8-rc.1",
|
|
24
|
+
"@accio-ai/ecommerce-cli-linux-x64": "0.0.8-rc.1",
|
|
25
|
+
"@accio-ai/ecommerce-cli-win32-arm64": "0.0.8-rc.1",
|
|
26
|
+
"@accio-ai/ecommerce-cli-win32-x64": "0.0.8-rc.1"
|
|
27
27
|
},
|
|
28
28
|
"files": [
|
|
29
29
|
"bin",
|