@alipay/alipay-aipay 1.2.2 → 1.5.0
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/README.md +5 -0
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +13 -12
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +17 -9
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +5 -5
- package/dist/commands/update.js.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/utils/config.d.ts +5 -3
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +34 -12
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/file.d.ts +8 -0
- package/dist/utils/file.d.ts.map +1 -1
- package/dist/utils/file.js +161 -9
- package/dist/utils/file.js.map +1 -1
- package/dist/utils/jq.d.ts.map +1 -1
- package/dist/utils/jq.js +8 -0
- package/dist/utils/jq.js.map +1 -1
- package/package.json +9 -5
- package/skill/SKILL.md +15 -169
- package/skill/VERSION +1 -1
- package/skill/references/integration/flow.md +388 -291
- package/skill/references/integration/modules/alipay-sdk-reminder.md +5 -3
- package/skill/references/integration/modules/checklist.md +54 -32
- package/skill/references/integration/modules/code-examples/csharp/1-/351/200/232/347/224/250/346/216/245/345/217/243//345/274/202/346/255/245/351/200/232/347/237/245/345/244/204/347/220/206/344/273/243/347/240/201/347/244/272/344/276/213.md +199 -0
- package/skill/references/integration/modules/code-examples/csharp/2-/347/275/221/347/253/231/346/224/257/344/273/230//347/273/237/344/270/200/346/224/266/345/215/225/344/270/213/345/215/225/345/271/266/346/224/257/344/273/230/351/241/265/351/235/242/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +8 -4
- package/skill/references/integration/modules/code-examples/csharp/3-APP/346/224/257/344/273/230/APP/346/224/257/344/273/230/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +6 -2
- package/skill/references/integration/modules/code-examples/csharp/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemo.cs +3 -1
- package/skill/references/integration/modules/code-examples/java/1-/351/200/232/347/224/250/346/216/245/345/217/243//345/274/202/346/255/245/351/200/232/347/237/245/345/244/204/347/220/206/344/273/243/347/240/201/347/244/272/344/276/213.md +184 -0
- package/skill/references/integration/modules/code-examples/java/2-/347/275/221/347/253/231/346/224/257/344/273/230//347/273/237/344/270/200/346/224/266/345/215/225/344/270/213/345/215/225/345/271/266/346/224/257/344/273/230/351/241/265/351/235/242/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +4 -1
- package/skill/references/integration/modules/code-examples/java/3-APP/346/224/257/344/273/230/APP/346/224/257/344/273/230/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +5 -2
- package/skill/references/integration/modules/code-examples/java/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemoController.java +3 -1
- package/skill/references/integration/modules/code-examples/nodejs/1-/351/200/232/347/224/250/346/216/245/345/217/243//345/274/202/346/255/245/351/200/232/347/237/245/345/244/204/347/220/206/344/273/243/347/240/201/347/244/272/344/276/213.md +135 -0
- package/skill/references/integration/modules/code-examples/nodejs/2-/347/275/221/347/253/231/346/224/257/344/273/230//347/273/237/344/270/200/346/224/266/345/215/225/344/270/213/345/215/225/345/271/266/346/224/257/344/273/230/351/241/265/351/235/242/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +16 -10
- package/skill/references/integration/modules/code-examples/nodejs/3-APP/346/224/257/344/273/230/APP/346/224/257/344/273/230/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +10 -4
- package/skill/references/integration/modules/code-examples/nodejs/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemo.js +2 -1
- package/skill/references/integration/modules/code-examples/php/1-/351/200/232/347/224/250/346/216/245/345/217/243//345/274/202/346/255/245/351/200/232/347/237/245/345/244/204/347/220/206/344/273/243/347/240/201/347/244/272/344/276/213.md +157 -0
- package/skill/references/integration/modules/code-examples/php/2-/347/275/221/347/253/231/346/224/257/344/273/230//347/273/237/344/270/200/346/224/266/345/215/225/344/270/213/345/215/225/345/271/266/346/224/257/344/273/230/351/241/265/351/235/242/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +4 -1
- package/skill/references/integration/modules/code-examples/php/3-APP/346/224/257/344/273/230/APP/346/224/257/344/273/230/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +5 -2
- package/skill/references/integration/modules/code-examples/php/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemo.php +2 -1
- package/skill/references/integration/modules/code-examples/python/1-/351/200/232/347/224/250/346/216/245/345/217/243//345/274/202/346/255/245/351/200/232/347/237/245/345/244/204/347/220/206/344/273/243/347/240/201/347/244/272/344/276/213.md +128 -0
- package/skill/references/integration/modules/code-examples/python/2-/347/275/221/347/253/231/346/224/257/344/273/230//347/273/237/344/270/200/346/224/266/345/215/225/344/270/213/345/215/225/345/271/266/346/224/257/344/273/230/351/241/265/351/235/242/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +4 -1
- package/skill/references/integration/modules/code-examples/python/3-APP/346/224/257/344/273/230/APP/346/224/257/344/273/230/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +5 -1
- package/skill/references/integration/modules/code-examples/python/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemo.py +4 -2
- package/skill/references/integration/modules/interface-contract/aipay-interface-contract.md +52 -0
- package/skill/references/integration/modules/interface-contract/apppay-interface-contract.md +45 -0
- package/skill/references/integration/modules/interface-contract/common-trade-contract.md +42 -0
- package/skill/references/integration/modules/interface-contract/notify-url-contract.md +68 -0
- package/skill/references/integration/modules/interface-contract/webpay-interface-contract.md +44 -0
- package/skill/references/integration/modules/interface-guide.md +38 -71
- package/skill/references/integration/modules/product-decision.md +18 -35
- package/skill/references/integration/modules/sandbox/a2m-sandbox-test.md +62 -94
- package/skill/references/integration/modules/sandbox/alipay-sandbox-tool.md +43 -40
- package/skill/references/integration/modules/sandbox/sandbox-setup-guide.md +93 -114
- package/skill/references/integration/modules/scripts/local_402_sandbox_pay.py +358 -148
- package/skill/references/integration/modules/scripts/sandbox_config.sh +299 -0
- package/skill/references/integration/modules/troubleshooting-flow.md +28 -0
- package/skill/references/normal/alipay-cli-env.md +15 -5
- package/skill/references/normal/full-process-routing.md +82 -0
- package/skill/references/normal/json/customer-messages.json +942 -0
- package/skill/references/normal/json/policy-rules.json +179 -0
- package/skill/references/normal/rejection-guide.md +12 -7
- package/skill/references/normal/scripts/alipay_cli_env.mjs +33 -0
- package/skill/references/normal/scripts/alipay_cli_env.sh +55 -0
- package/skill/references/normal/scripts/common.sh +151 -0
- package/skill/references/normal/scripts/detect_dev_tool.sh +5 -1
- package/skill/references/normal/scripts/flow_loader.mjs +241 -0
- package/skill/references/normal/scripts/integration_context_runner.mjs +166 -0
- package/skill/references/normal/scripts/integration_message_runner.mjs +1023 -0
- package/skill/references/normal/scripts/interaction_reply.mjs +133 -0
- package/skill/references/normal/scripts/onboarding_discovery_runner.mjs +224 -0
- package/skill/references/normal/scripts/onboarding_message_runner.mjs +451 -0
- package/skill/references/normal/scripts/onboarding_recovery_runner.mjs +96 -0
- package/skill/references/normal/scripts/open_official_url.sh +82 -0
- package/skill/references/normal/scripts/platform_compat.mjs +39 -0
- package/skill/references/normal/scripts/project_route_inspector.sh +132 -0
- package/skill/references/normal/scripts/python_script_runner.mjs +56 -0
- package/skill/references/normal/scripts/render_customer_message.mjs +1288 -0
- package/skill/references/normal/scripts/self_update.mjs +160 -0
- package/skill/references/normal/scripts/telemetry.mjs +1327 -0
- package/skill/references/normal/self-update.md +18 -51
- package/skill/references/normal/telemetry.md +26 -0
- package/skill/references/onboarding/flow.md +421 -309
- package/skill/references/onboarding/modules/app-release.md +44 -438
- package/skill/references/onboarding/modules/authorization.md +25 -281
- package/skill/references/onboarding/modules/error-handling.md +31 -237
- package/skill/references/onboarding/modules/product-sign.md +25 -294
- package/skill/references/onboarding/modules/scripts/app.sh +445 -169
- package/skill/references/onboarding/modules/scripts/ar_sign_apply.sh +47 -28
- package/skill/references/onboarding/modules/scripts/auth.sh +484 -167
- package/skill/references/onboarding/modules/scripts/download_key_tool.sh +157 -0
- package/skill/references/onboarding/modules/scripts/error_handler.sh +101 -130
- package/skill/references/onboarding/modules/scripts/network_retry.sh +96 -0
- package/skill/references/onboarding/modules/scripts/query_sign_status.sh +20 -71
- package/skill/references/onboarding/modules/scripts/service.sh +154 -89
- package/skill/references/onboarding/modules/scripts/sign_status_parser.sh +58 -0
- package/skill/references/onboarding/modules/scripts/upload_screenshots.sh +34 -20
- package/skill/references/onboarding/modules/service-registration.md +20 -317
- package/skill/references/runtime-entry.md +63 -0
|
@@ -1,59 +1,26 @@
|
|
|
1
|
-
# Skill
|
|
1
|
+
# Skill 启动器自更新契约
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
根 `SKILL.md` 是跨 Agent 的最小启动器。本次 Agent 对话首次使用 `alipay-aipay` 时,必须在读取 `references/runtime-entry.md`、flow、模块、消息目录或业务脚本前只检查一次版本。执行前把根 `SKILL.md` 所在目录解析为规范化绝对路径 `<SKILL_DIR>`,并在当前 Agent 上下文记录一次性事实 `ALIPAY_AIPAY_SELF_UPDATE_CHECKED=true`;不写文件、不跨对话保存,也不是业务进度。同一对话内后续根流程、确认、补材料、候选选择、错误恢复、中断后继续、重复读取本 Skill 和 Full Process 子流程衔接均不重查。`<SKILL_DIR>` 是执行时替换的路径占位符,固定命令为:
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
- 每次触发本 Skill 时,先执行本检查。
|
|
8
|
-
- 如果本轮对话中刚成功执行过 `npx -y @alipay/alipay-aipay@latest install`,或等价的 `@latest install --target ...` 命令,则视为自更新检查已完成,直接继续当前业务流程,不再查询 npm latest,也不再重复执行安装。
|
|
9
|
-
- 本检查不作为业务阻塞确认点,不单独询问用户是否更新。
|
|
10
|
-
- 若当前 Agent 环境要求联网或写入用户 Skill 目录授权,则按环境权限机制处理;不得在 Skill 内另设业务确认点。
|
|
11
|
-
- 任何读取版本、查询 npm、执行更新失败的情况,都只输出简短提示并继续当前业务流程。
|
|
12
|
-
- 更新命令必须使用 `--skip-tools`,只更新 Skill 文件,不重新检查或安装 GPG、alipay-cli、jq。
|
|
13
|
-
|
|
14
|
-
## 版本读取
|
|
15
|
-
|
|
16
|
-
1. 读取当前 `SKILL.md` 所在目录下的 `VERSION` 文件作为本地版本。
|
|
17
|
-
2. 如果 `VERSION` 不存在,或内容不是合法 SemVer 版本号(例如 `latest` 或 `v1`),将当前安装视为“未知版本/旧版安装”,直接进入「未知版本更新规则」,不要再猜测其他安装记录文件。
|
|
18
|
-
3. 如果成功读取本地版本,执行以下命令查询 npm latest:
|
|
19
|
-
```bash
|
|
20
|
-
npm view @alipay/alipay-aipay version --json
|
|
21
|
-
```
|
|
22
|
-
4. 如果无法获取 npm latest,跳过更新并继续当前业务流程。
|
|
23
|
-
|
|
24
|
-
## 更新规则
|
|
25
|
-
|
|
26
|
-
如果本地版本低于 npm latest,自动执行 Skill 更新。
|
|
27
|
-
|
|
28
|
-
更新命令必须覆盖当前正在使用的 Skill 目录。取当前 `SKILL.md` 所在目录的父目录作为 `<当前Skill父目录>`,执行:
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
ALIPAY_AIPAY_EXTRA_SKILL_DIRS="<当前Skill父目录>" npx -y @alipay/alipay-aipay@latest install --target all --skip-tools
|
|
5
|
+
```text
|
|
6
|
+
node "<SKILL_DIR>/references/normal/scripts/self_update.mjs" check --skill-dir "<SKILL_DIR>"
|
|
32
7
|
```
|
|
33
8
|
|
|
34
|
-
|
|
35
|
-
- `ALIPAY_AIPAY_EXTRA_SKILL_DIRS` 确保当前正在使用的 Skill 父目录会被纳入更新目标,避免只更新当前项目目录下的 `.agents/.codex/.claude`。
|
|
36
|
-
- `--target all` 继续覆盖安装器解析到的全部目标目录。
|
|
37
|
-
- `--skip-tools` 避免在启动检查中触发 GPG、alipay-cli、jq 的检查或安装。
|
|
38
|
-
|
|
39
|
-
## 未知版本更新规则
|
|
40
|
-
|
|
41
|
-
如果当前 Skill 目录没有 `VERSION`,或 `VERSION` 内容不是合法 SemVer 版本号,不做不可靠的版本推断,直接执行同一条更新命令:
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
ALIPAY_AIPAY_EXTRA_SKILL_DIRS="<当前Skill父目录>" npx -y @alipay/alipay-aipay@latest install --target all --skip-tools
|
|
45
|
-
```
|
|
9
|
+
`<SKILL_DIR>` 必须是刚触发的本份 `SKILL.md` 所在目录,且该目录包含 `SKILL.md`、`VERSION` 和 `references/runtime-entry.md`;不得换成 Agent 启动目录、用户项目目录、用户 Home、npm 包源码根或另一份 Skill 副本。禁止把固定命令改写成 shell 变量赋值、命令替换或依赖 Bash、PowerShell、CMD 的专属语法。若执行器支持设置 workdir,也可以从本文所在目录 `references/normal/` 执行 `node scripts/self_update.mjs check`;两种写法必须绑定同一份当前 Skill。
|
|
46
10
|
|
|
47
|
-
|
|
48
|
-
- 这是对旧版安装的确定性兼容路径;更新成功后,新安装器会写入 `VERSION`,后续启动即可走正常版本比较。
|
|
49
|
-
- 如果该命令因网络、npm、权限或执行环境限制失败,输出简短提示并继续当前业务流程。
|
|
11
|
+
结果与规则:
|
|
50
12
|
|
|
51
|
-
|
|
13
|
+
- 脚本正常结束时,stderr 必须恰好包含下表一个 `SELF_UPDATE:*` 终态 marker;所有 marker 都是内部事实,不对客,不得补充或透传 npm/npx 原始 stdout、stderr。
|
|
52
14
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
15
|
+
| marker | 含义与动作 |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `SELF_UPDATE:CURRENT=<合法 SemVer>` | 已确认当前版本不低于 npm latest;读取当前 `references/runtime-entry.md`。 |
|
|
18
|
+
| `SELF_UPDATE:UPDATED=<合法 SemVer>` | 已确认当前 Skill 达到目标版本;停止读取更新前版本,直接读取同一 Skill 根目录下新版 `references/runtime-entry.md`。 |
|
|
19
|
+
| `SELF_UPDATE:CHECK_FAILED` | npm latest 查询、解析或脚本入口检查失败;读取当前可用版本的 `references/runtime-entry.md`。 |
|
|
20
|
+
| `SELF_UPDATE:INSTALL_FAILED` | 安装命令失败或超时,且未验证到目标版本;读取当前可用版本的 `references/runtime-entry.md`。 |
|
|
21
|
+
| `SELF_UPDATE:VERIFY_FAILED` | 安装命令返回成功,但安装后版本未达到目标或仍不合法;读取当前可用版本的 `references/runtime-entry.md`。 |
|
|
58
22
|
|
|
59
|
-
|
|
23
|
+
- 五类终态都保留 `ALIPAY_AIPAY_SELF_UPDATE_CHECKED=true`,不得再次检查;差别仅在 `UPDATED` 使用原子替换后的新版,其余终态使用当前可用版本。marker 缺失、重复或无法唯一解析时也只表示当前执行环境无法确认结果,不得解释成“已是最新”或“更新成功”,并继续读取当前 `references/runtime-entry.md`。
|
|
24
|
+
- `VERSION` 合法时只查一次 npm latest(最多 5 秒);缺失、不合法或落后时只运行一次 `npx -y @alipay/alipay-aipay@latest install --target all --skip-tools`(最多 60 秒)。
|
|
25
|
+
- 安装通过两个登记环境变量只绑定当前 Skill,不更新其他副本;结束后重读 `VERSION`,达到目标版本才输出 `UPDATED`,并发安装已达到同一版本也按实际成功处理。
|
|
26
|
+
- 失败终态保持 fail-open 且对客静默。本次对话不再检查、不重试、不申请权限、不使用 `sudo`、不要求用户操作,也不写任何自更新缓存或状态文件。版本确定后才允许初始化根意图遥测、平台门禁和业务流程。
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# 遥测维护参考
|
|
2
|
+
|
|
3
|
+
本文件只供维护、测试和故障排查按需读取;业务运行默认只执行 `runtime-entry.md` 与动作 runner/script 登记的入口。
|
|
4
|
+
|
|
5
|
+
## 运行契约
|
|
6
|
+
|
|
7
|
+
- 固定 stage 枚举、Yuyan 字段和低敏维度以 `scripts/telemetry.mjs` 的 `approvedStages`、事件构造器和测试为准。
|
|
8
|
+
- `start-run` 创建或复用 `run_id`;动作 runner/script 使用异步子进程记录 stage。缺少 run、遥测关闭、落盘失败、网络失败和非 2xx 都不得改变业务 stdout、退出语义或 flow 转移。
|
|
9
|
+
- 前台只写用户系统临时目录下带 `alipay-aipay` 标识的私有 outbox,并启动后台补传;collector 返回 HTTP 2xx 后才删除记录。维护/测试进程不复用默认 run state,默认不远端上传。
|
|
10
|
+
- `PLATFORM_ID` 必须等于当前 `run_id`;模型维度只读 `AIPAY_MODEL`,禁止读取用户项目通用 `MODEL` 推断。
|
|
11
|
+
- 遥测内部行统一使用 `ALIPAY_AIPAY_INTERNAL:` 前缀,禁止对客。
|
|
12
|
+
|
|
13
|
+
## Run 生命周期
|
|
14
|
+
|
|
15
|
+
- 根入口用 `root_intent + product_type` 判定复用或新建;组合不变时不按经过时长失效,`UNKNOWN` 补全为明确产品仍复用同一 `run_id`。只有明确换产品、切换根意图或已有 run 终态才重建;用户只说“重新开始/重新走流程/作废本轮流程”但组合没有变化时继续复用。
|
|
16
|
+
- 若宿主提供 `COZE_PROJECT_ID`、`MEOO_PROJECT_ID`,或 `MIAODA` 环境下的 `VITE_APP_ID`/`PLATFORM_ID`,新建 run 直接使用该项目 ID。当前宿主项目 ID 与已有状态不兼容时静默跳过不兼容事件且不改写 run state。
|
|
17
|
+
- `integration_only` 由 checklist 最终消息终止;`full_process` 的 Integration 收口不终止,和 `onboarding_only` 一样由 Onboarding closeout 终止。
|
|
18
|
+
- 查看当前主键只使用 `current-run-id`,不得为查看而新建 run。业务脚本继续继承 `PLATFORM_ID=<run_id>`;Agent 不手写环境变量前缀或改写 MCP payload。
|
|
19
|
+
|
|
20
|
+
## 诊断与补传
|
|
21
|
+
|
|
22
|
+
`node scripts/telemetry.mjs upload-status` 只读取内部诊断状态。网络类失败且 outbox 有积压时,先执行 `node scripts/telemetry.mjs permissioned-flush-needed`;只有内部事实为 `PERMISSIONED_FLUSH_NEEDED=true` 时才申请一次可复用联网权限运行 `node scripts/telemetry.mjs flush-outbox`。同一 Agent 会话只请求一次;已取得权限后可在后续阶段旁路触发同一异步命令。`flush-outbox` 只启动后台补传并立即返回;用户拒绝、后台失败或非 2xx 都保留 outbox 并继续业务。collector HTTP 结果、失败或待重试结果不得作为业务转移或完成条件。
|
|
23
|
+
|
|
24
|
+
## 修改要求
|
|
25
|
+
|
|
26
|
+
修改 stage、run 生命周期、outbox 或上传逻辑时,必须覆盖遥测关闭、缺少 run、写盘失败、无网络、非 2xx、并发 claim、终态 run 和 `PLATFORM_ID` 继承测试。不得把实现细节复制回 `runtime-entry.md` 或两个主 flow。
|