@alipay/alipay-aipay 1.2.2 → 1.4.9

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.
Files changed (98) hide show
  1. package/README.md +5 -0
  2. package/dist/commands/install.d.ts.map +1 -1
  3. package/dist/commands/install.js +13 -12
  4. package/dist/commands/install.js.map +1 -1
  5. package/dist/commands/uninstall.d.ts.map +1 -1
  6. package/dist/commands/uninstall.js +17 -9
  7. package/dist/commands/uninstall.js.map +1 -1
  8. package/dist/commands/update.d.ts.map +1 -1
  9. package/dist/commands/update.js +5 -5
  10. package/dist/commands/update.js.map +1 -1
  11. package/dist/index.js +4 -4
  12. package/dist/index.js.map +1 -1
  13. package/dist/utils/config.d.ts +5 -3
  14. package/dist/utils/config.d.ts.map +1 -1
  15. package/dist/utils/config.js +34 -12
  16. package/dist/utils/config.js.map +1 -1
  17. package/dist/utils/file.d.ts +8 -0
  18. package/dist/utils/file.d.ts.map +1 -1
  19. package/dist/utils/file.js +161 -9
  20. package/dist/utils/file.js.map +1 -1
  21. package/dist/utils/jq.d.ts.map +1 -1
  22. package/dist/utils/jq.js +8 -0
  23. package/dist/utils/jq.js.map +1 -1
  24. package/package.json +6 -5
  25. package/skill/SKILL.md +15 -169
  26. package/skill/VERSION +1 -1
  27. package/skill/references/integration/flow.md +321 -292
  28. package/skill/references/integration/modules/alipay-sdk-reminder.md +5 -3
  29. package/skill/references/integration/modules/checklist.md +41 -27
  30. 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
  31. 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
  32. 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
  33. 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
  34. 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
  35. 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
  36. 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
  37. 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
  38. 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
  39. 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
  40. 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
  41. 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
  42. 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
  43. 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
  44. 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
  45. 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
  46. 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
  47. 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
  48. 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
  49. 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
  50. package/skill/references/integration/modules/interface-contract/aipay-interface-contract.md +53 -0
  51. package/skill/references/integration/modules/interface-contract/apppay-interface-contract.md +45 -0
  52. package/skill/references/integration/modules/interface-contract/common-trade-contract.md +42 -0
  53. package/skill/references/integration/modules/interface-contract/notify-url-contract.md +68 -0
  54. package/skill/references/integration/modules/interface-contract/webpay-interface-contract.md +44 -0
  55. package/skill/references/integration/modules/interface-guide.md +37 -72
  56. package/skill/references/integration/modules/product-decision.md +10 -27
  57. package/skill/references/integration/modules/sandbox/a2m-sandbox-test.md +62 -94
  58. package/skill/references/integration/modules/sandbox/alipay-sandbox-tool.md +43 -40
  59. package/skill/references/integration/modules/sandbox/sandbox-setup-guide.md +93 -114
  60. package/skill/references/integration/modules/scripts/local_402_sandbox_pay.py +357 -147
  61. package/skill/references/integration/modules/scripts/sandbox_config.sh +299 -0
  62. package/skill/references/integration/modules/troubleshooting-flow.md +28 -0
  63. package/skill/references/normal/alipay-cli-env.md +15 -5
  64. package/skill/references/normal/full-process-routing.md +80 -0
  65. package/skill/references/normal/json/customer-messages.json +937 -0
  66. package/skill/references/normal/json/policy-rules.json +179 -0
  67. package/skill/references/normal/rejection-guide.md +11 -6
  68. package/skill/references/normal/scripts/alipay_cli_env.mjs +29 -0
  69. package/skill/references/normal/scripts/alipay_cli_env.sh +21 -0
  70. package/skill/references/normal/scripts/common.sh +87 -0
  71. package/skill/references/normal/scripts/detect_dev_tool.sh +5 -1
  72. package/skill/references/normal/scripts/integration_message_runner.mjs +801 -0
  73. package/skill/references/normal/scripts/onboarding_message_runner.mjs +436 -0
  74. package/skill/references/normal/scripts/open_official_url.sh +82 -0
  75. package/skill/references/normal/scripts/platform_compat.mjs +39 -0
  76. package/skill/references/normal/scripts/project_route_inspector.sh +132 -0
  77. package/skill/references/normal/scripts/python_script_runner.mjs +56 -0
  78. package/skill/references/normal/scripts/render_customer_message.mjs +1263 -0
  79. package/skill/references/normal/scripts/self_update.mjs +160 -0
  80. package/skill/references/normal/scripts/telemetry.mjs +1278 -0
  81. package/skill/references/normal/self-update.md +18 -51
  82. package/skill/references/onboarding/flow.md +381 -283
  83. package/skill/references/onboarding/modules/app-release.md +132 -179
  84. package/skill/references/onboarding/modules/authorization.md +53 -64
  85. package/skill/references/onboarding/modules/error-handling.md +31 -34
  86. package/skill/references/onboarding/modules/product-sign.md +62 -66
  87. package/skill/references/onboarding/modules/scripts/app.sh +397 -158
  88. package/skill/references/onboarding/modules/scripts/ar_sign_apply.sh +38 -22
  89. package/skill/references/onboarding/modules/scripts/auth.sh +479 -167
  90. package/skill/references/onboarding/modules/scripts/download_key_tool.sh +157 -0
  91. package/skill/references/onboarding/modules/scripts/error_handler.sh +100 -130
  92. package/skill/references/onboarding/modules/scripts/network_retry.sh +96 -0
  93. package/skill/references/onboarding/modules/scripts/query_sign_status.sh +17 -70
  94. package/skill/references/onboarding/modules/scripts/service.sh +153 -89
  95. package/skill/references/onboarding/modules/scripts/sign_status_parser.sh +58 -0
  96. package/skill/references/onboarding/modules/scripts/upload_screenshots.sh +16 -14
  97. package/skill/references/onboarding/modules/service-registration.md +67 -72
  98. package/skill/references/runtime-entry.md +62 -0
@@ -1,59 +1,26 @@
1
- # Skill 启动自更新检查
1
+ # Skill 启动器自更新契约
2
2
 
3
- 本文件定义 `alipay-aipay` Skill 启动时的自更新检查。该检查用于降低用户继续使用旧版 Skill 的概率,但不得阻断支付集成或签约入驻主流程。
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
- - 发现新版本并开始更新:输出本地版本、npm latest 和更新目标摘要。
55
- - 未知版本并开始更新:输出“未检测到 VERSION,尝试安装 latest”及更新目标摘要。
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`、不要求用户操作,也不写任何自更新缓存或状态文件。版本确定后才允许初始化根意图遥测、平台门禁和业务流程。