cbs-4px-merchant-cli 0.0.1 → 0.0.3
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/dist/cli.js +536 -42
- package/dist/cli.js.map +1 -1
- package/dist/commands/address.d.ts +2 -0
- package/dist/commands/address.js +59 -0
- package/dist/commands/address.js.map +1 -0
- package/dist/commands/claim.js +8 -2
- package/dist/commands/claim.js.map +1 -1
- package/dist/commands/config.js +333 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/country.d.ts +5 -0
- package/dist/commands/country.js +50 -0
- package/dist/commands/country.js.map +1 -0
- package/dist/commands/customs.d.ts +23 -0
- package/dist/commands/customs.js +176 -0
- package/dist/commands/customs.js.map +1 -0
- package/dist/commands/finance.d.ts +62 -0
- package/dist/commands/finance.js +509 -0
- package/dist/commands/finance.js.map +1 -0
- package/dist/commands/label.js +7 -1
- package/dist/commands/label.js.map +1 -1
- package/dist/commands/notice.d.ts +18 -0
- package/dist/commands/notice.js +210 -0
- package/dist/commands/notice.js.map +1 -0
- package/dist/commands/order.d.ts +12 -0
- package/dist/commands/order.js +76 -1
- package/dist/commands/order.js.map +1 -1
- package/dist/commands/pickup.d.ts +21 -0
- package/dist/commands/pickup.js +249 -0
- package/dist/commands/pickup.js.map +1 -0
- package/dist/commands/problem.d.ts +41 -0
- package/dist/commands/problem.js +371 -0
- package/dist/commands/problem.js.map +1 -0
- package/dist/commands/product.d.ts +28 -0
- package/dist/commands/product.js +249 -1
- package/dist/commands/product.js.map +1 -1
- package/dist/commands/service.d.ts +41 -0
- package/dist/commands/service.js +395 -0
- package/dist/commands/service.js.map +1 -0
- package/dist/commands/skill.d.ts +15 -0
- package/dist/commands/skill.js +374 -0
- package/dist/commands/skill.js.map +1 -0
- package/dist/commands/track.d.ts +13 -0
- package/dist/commands/track.js +92 -1
- package/dist/commands/track.js.map +1 -1
- package/dist/commands/update.d.ts +1 -1
- package/dist/commands/update.js +72 -9
- package/dist/commands/update.js.map +1 -1
- package/dist/services/api-client.d.ts +49 -2
- package/dist/services/api-client.js +464 -6
- package/dist/services/api-client.js.map +1 -1
- package/dist/services/skill-installer.d.ts +174 -0
- package/dist/services/skill-installer.js +540 -0
- package/dist/services/skill-installer.js.map +1 -0
- package/dist/types/index.d.ts +609 -0
- package/package.json +8 -6
- package/scripts/postinstall.js +31 -161
- package/skill/SKILL.md +72 -14
- package/skill/package.json +25 -0
- package/skill/reference/customs.md +220 -0
- package/skill/reference/finance.md +337 -0
- package/skill/reference/index.md +62 -6
- package/skill/reference/notice.md +238 -0
- package/skill/reference/order.md +172 -0
- package/skill/reference/pickup.md +222 -0
- package/skill/reference/problem.md +318 -0
- package/skill/reference/product.md +203 -0
- package/skill/reference/service.md +406 -0
- package/skill/reference/track.md +105 -0
- package/skill/reference/update.md +99 -14
- package/skill/reference/claim.md +0 -66
|
@@ -1,23 +1,31 @@
|
|
|
1
|
-
# `fmc update`
|
|
1
|
+
# `fmc update` / `fmc skill`
|
|
2
2
|
|
|
3
|
-
升级 CLI
|
|
3
|
+
升级 CLI 本体,以及把当前版本的 skill 同步到本机 AI 工具。
|
|
4
4
|
|
|
5
5
|
## Synopsis
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
fmc update [--check] [--tag <tag>] [--force] [-y] [--output <format>]
|
|
9
|
+
fmc skill install|status|uninstall [--agent <ids>] [--force] [--dry-run] [--output <format>]
|
|
9
10
|
```
|
|
10
11
|
|
|
11
12
|
## Description
|
|
12
13
|
|
|
13
|
-
`fmc update` 通过 npm 全局安装机制,将 CLI 升级到 npm registry
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
`fmc update` 通过 npm 全局安装机制,将 CLI 升级到 npm registry 上的最新版本,
|
|
15
|
+
完成后自动调用一次 `fmc skill install`,把新版 SKILL.md 同步到所有已检测到的
|
|
16
|
+
AI 工具目录(`~/.qoder/skills/`、`~/.claude/skills/`、`~/.cursor/skills/` 等)。
|
|
16
17
|
|
|
17
|
-
|
|
18
|
+
> **为何不靠 npm postinstall:**npm 11 默认拦截依赖包的安装期脚本,**且跳过时仍然退出 0**。
|
|
19
|
+
> 所以 skill 铺设不能依赖生命周期钩子,`fmc skill install` 才是唯一可靠的入口;
|
|
20
|
+
> postinstall 仅作为“能跑就顺便跑”的便利钩子保留。
|
|
21
|
+
|
|
22
|
+
**升级目标**:当前 site 的 npm 包 `cbs-4px-merchant-cli`。registry 以本机 `npm config get registry` 为准,
|
|
23
|
+
可用 `BPORTAL_REGISTRY` 临时覆盖。
|
|
18
24
|
|
|
19
25
|
## Options
|
|
20
26
|
|
|
27
|
+
### `update`
|
|
28
|
+
|
|
21
29
|
| Flag | Description |
|
|
22
30
|
| --- | --- |
|
|
23
31
|
| `--check` | 只检查是否有新版本,不执行升级 |
|
|
@@ -26,6 +34,15 @@ fmc update [--check] [--tag <tag>] [--force] [-y] [--output <format>]
|
|
|
26
34
|
| `-y, --yes` | 跳过交互式确认 |
|
|
27
35
|
| `--output <format>` | 输出格式: `text` \| `json`(TTY 默认 text,管道默认 json) |
|
|
28
36
|
|
|
37
|
+
### `skill install` / `skill status` / `skill uninstall`
|
|
38
|
+
|
|
39
|
+
| Flag | Description |
|
|
40
|
+
| --- | --- |
|
|
41
|
+
| `--agent <ids>` | 只处理指定 AI 工具(逗号分隔,可重复);非法值会报错并列出全部合法 id |
|
|
42
|
+
| `--force` | 覆盖 / 删除非本 CLI 安装的目录(默认拒绝) |
|
|
43
|
+
| `--dry-run` | 只打印将要执行的操作,不写入任何文件 |
|
|
44
|
+
| `--output <format>` | 输出格式: `text` \| `json` |
|
|
45
|
+
|
|
29
46
|
## Environment variables
|
|
30
47
|
|
|
31
48
|
| Variable | Description |
|
|
@@ -53,22 +70,40 @@ fmc update --force -y
|
|
|
53
70
|
|
|
54
71
|
# 临时切换 registry 后升级(不修改 ~/.npmrc)
|
|
55
72
|
BPORTAL_REGISTRY=https://registry.npmjs.org fmc update --check
|
|
73
|
+
|
|
74
|
+
# 把 skill 重新铺到本机所有 AI 工具(安装后的第二步,可反复执行)
|
|
75
|
+
fmc skill install
|
|
76
|
+
|
|
77
|
+
# 先看将要发生什么,不写入任何文件
|
|
78
|
+
fmc skill install --dry-run --output json
|
|
79
|
+
|
|
80
|
+
# 只铺到指定工具
|
|
81
|
+
fmc skill install --agent claude-code,qoder
|
|
82
|
+
|
|
83
|
+
# 查看各工具的安装与版本状态
|
|
84
|
+
fmc skill status --output json
|
|
85
|
+
|
|
86
|
+
# 移除本 CLI 安装的 skill
|
|
87
|
+
fmc skill uninstall
|
|
56
88
|
```
|
|
57
89
|
|
|
58
90
|
## JSON envelope (`--output json`)
|
|
59
91
|
|
|
92
|
+
### `update`
|
|
93
|
+
|
|
60
94
|
```json
|
|
61
95
|
{
|
|
62
96
|
"ok": true,
|
|
63
97
|
"action": "updated",
|
|
64
98
|
"package": "cbs-4px-merchant-cli",
|
|
65
|
-
"registry": "https://registry.
|
|
99
|
+
"registry": "https://registry.npmjs.org",
|
|
66
100
|
"tag": "latest",
|
|
67
|
-
"previous_version": "
|
|
68
|
-
"current_version": "
|
|
69
|
-
"latest_version": "
|
|
101
|
+
"previous_version": "0.0.2",
|
|
102
|
+
"current_version": "0.0.3",
|
|
103
|
+
"latest_version": "0.0.3",
|
|
70
104
|
"install_method": "npm",
|
|
71
|
-
"
|
|
105
|
+
"skill_sync": "ok",
|
|
106
|
+
"message": "已升级到 v0.0.3,skill 已同步。重新打开终端使生效。"
|
|
72
107
|
}
|
|
73
108
|
```
|
|
74
109
|
|
|
@@ -82,16 +117,63 @@ BPORTAL_REGISTRY=https://registry.npmjs.org fmc update --check
|
|
|
82
117
|
| `manual_required` | CLI 非 npm 全局安装,需手动升级 |
|
|
83
118
|
| `error` | 失败(详见 `error.code`:`NETWORK` / `NPM_NOT_FOUND` / `NPM_INSTALL_FAILED` / `EACCES`) |
|
|
84
119
|
|
|
85
|
-
|
|
120
|
+
`skill_sync` 取值 `ok` \| `failed`。注意:**skill 同步失败不会把 `ok` 置为 false**,
|
|
121
|
+
因为二进制确实升级成功了;此时 `hint` 会提示手动执行 `fmc skill install`。
|
|
122
|
+
|
|
123
|
+
### `skill install` / `skill status` / `skill uninstall`
|
|
124
|
+
|
|
125
|
+
```json
|
|
126
|
+
{
|
|
127
|
+
"ok": true,
|
|
128
|
+
"action": "installed",
|
|
129
|
+
"package": "cbs-4px-merchant-cli",
|
|
130
|
+
"skill": { "name": "cbs-4px-merchant-cli", "version": "0.0.3" },
|
|
131
|
+
"api_key_configured": false,
|
|
132
|
+
"targets": [
|
|
133
|
+
{
|
|
134
|
+
"agent": "claude-code",
|
|
135
|
+
"label": "Claude Code",
|
|
136
|
+
"dir": "/Users/me/.claude/skills/cbs-4px-merchant-cli",
|
|
137
|
+
"outcome": "updated",
|
|
138
|
+
"previous_version": "0.0.2",
|
|
139
|
+
"removed": ["reference/claim.md"]
|
|
140
|
+
}
|
|
141
|
+
],
|
|
142
|
+
"summary": { "total": 1, "installed": 0, "updated": 1, "skipped": 0, "failed": 0 },
|
|
143
|
+
"hint": "尚未配置 API Key。申请地址: https://b.4px.com/site/ak-manage,然后执行 fmc auth login --api-key <key>"
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
`outcome` 取值:
|
|
148
|
+
|
|
149
|
+
| Value | Meaning |
|
|
150
|
+
| --- | --- |
|
|
151
|
+
| `installed` | 全新安装(目录原本不存在或为空) |
|
|
152
|
+
| `updated` | 覆盖升级,`removed` 列出被清理的孤儿文件 |
|
|
153
|
+
| `skipped` | 目录归属不明或属于其他安装器,未触碰(`reason` 说明原因,`--force` 可覆盖) |
|
|
154
|
+
| `failed` | 写入失败(`reason` 为错误信息) |
|
|
155
|
+
|
|
156
|
+
`api_key_configured` 只是存在性布尔值,**不会回显 Key 本身**。
|
|
157
|
+
`fmc skill status` 的 `targets` 则携带 `state` / `installed_version` / `installed_source`,
|
|
158
|
+
用于分辨“我装的”和“别人装的”。
|
|
159
|
+
|
|
160
|
+
## Passive notifiers
|
|
86
161
|
|
|
87
162
|
普通命令运行后(如 `fmc track get ...`),若本地缓存(`~/.bportal/update-state.json`,
|
|
88
163
|
TTL 24 小时)发现 registry 上有新版本,stderr 会输出一条 JSON 通知:
|
|
89
164
|
|
|
90
165
|
```json
|
|
91
|
-
{"_notice":{"type":"update","package":"cbs-4px-merchant-cli","current":"
|
|
166
|
+
{"_notice":{"type":"update","package":"cbs-4px-merchant-cli","current":"0.0.2","latest":"0.0.3","hint":"Run: fmc update to upgrade"}}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
若本机已安装的 skill 版本与 CLI 不一致,还会额外输出一条漂移通知:
|
|
170
|
+
|
|
171
|
+
```json
|
|
172
|
+
{"_notice":{"type":"skills","current":"0.0.2","expected":"0.0.3","hint":"Run: fmc skill install to sync skills with CLI v0.0.3"}}
|
|
92
173
|
```
|
|
93
174
|
|
|
94
|
-
|
|
175
|
+
漂移检测会扫描**所有**已安装目录;多个工具版本不一致时 `current` 为数组。
|
|
176
|
+
AI Agent 可据此提示用户升级或同步。设置 `BPORTAL_NO_UPDATE_NOTIFIER=1` 即可关闭升级提示。
|
|
95
177
|
|
|
96
178
|
## Failure handling
|
|
97
179
|
|
|
@@ -100,3 +182,6 @@ AI Agent 可据此提示用户升级。设置 `BPORTAL_NO_UPDATE_NOTIFIER=1` 即
|
|
|
100
182
|
或使用 `sudo`。
|
|
101
183
|
- **网络/registry 不可达**:检查 VPN,或用 `BPORTAL_REGISTRY` 临时切换。
|
|
102
184
|
- **非 npm 安装**:`action=manual_required`,envelope 内 `upgrade_command` 字段给出确切的手动升级命令。
|
|
185
|
+
- **skill 同步失败**:`skill_sync=failed`,二进制已升级,手动执行 `fmc skill install` 即可。
|
|
186
|
+
- **目录被跳过**:`outcome=skipped` 说明该目录不是本 CLI 装的(比如技能市场装的)。
|
|
187
|
+
先用 `fmc skill status` 看 `installed_source` 确认归属,确实该覆盖再加 `--force`。
|
package/skill/reference/claim.md
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
# `fmc claim` command
|
|
2
|
-
|
|
3
|
-
## Command details
|
|
4
|
-
|
|
5
|
-
### `fmc claim list`
|
|
6
|
-
|
|
7
|
-
| Field | Value |
|
|
8
|
-
| --- | --- |
|
|
9
|
-
| **Name** | `claim list` |
|
|
10
|
-
| **Description** | 查询理赔列表 |
|
|
11
|
-
| **Usage** | `fmc claim list [flags]` |
|
|
12
|
-
|
|
13
|
-
需要 API Key 认证。`--biz-no` 与时间范围至少传一项。
|
|
14
|
-
|
|
15
|
-
#### Options
|
|
16
|
-
|
|
17
|
-
| Flag | Type | Required | Description |
|
|
18
|
-
| --- | --- | --- | --- |
|
|
19
|
-
| `--biz-no <nos>` | string | no | 业务单号,多个用英文逗号分隔 |
|
|
20
|
-
| `--start-time <time>` | string | no | 起始创建时间,格式 yyyy-MM-dd HH:mm:ss |
|
|
21
|
-
| `--end-time <time>` | string | no | 结束创建时间,格式 yyyy-MM-dd HH:mm:ss |
|
|
22
|
-
| `--status <code>` | string | no | 理赔状态:0 全部、1 待处理、2 受理中、3 已解决、4 已退回 |
|
|
23
|
-
| `--page <num>` | number | no | 页码,默认 1 |
|
|
24
|
-
| `--size <num>` | number | no | 每页数量,默认 10,最大 100 |
|
|
25
|
-
|
|
26
|
-
支持全局选项: `--output`, `--verbose`, `--dry-run`
|
|
27
|
-
|
|
28
|
-
#### Examples
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
fmc claim list --biz-no FPX12345678
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
fmc claim list --start-time "2024-01-01 00:00:00" --end-time "2024-12-31 23:59:59"
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
fmc claim list --status 1 --page 1 --size 20
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
fmc claim list --biz-no FPX111,FPX222 --output json
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
#### Output (text mode)
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
理赔列表
|
|
50
|
-
──────────────────────────────────────────────────
|
|
51
|
-
页码 1/1 共 2 条
|
|
52
|
-
|
|
53
|
-
CLM20240115001 受理中
|
|
54
|
-
业务单号 FPX12345678
|
|
55
|
-
索赔原因 包裹丢失
|
|
56
|
-
货值赔偿 150.00 USD
|
|
57
|
-
最新反馈 正在核实物流信息
|
|
58
|
-
创建时间 2024-01-15 10:30:00
|
|
59
|
-
|
|
60
|
-
CLM20240110002 已解决
|
|
61
|
-
业务单号 FPX87654321
|
|
62
|
-
索赔原因 包裹破损
|
|
63
|
-
货值赔偿 50.00 USD
|
|
64
|
-
服务赔偿 20.00 USD
|
|
65
|
-
创建时间 2024-01-10 08:00:00
|
|
66
|
-
```
|