@alipay/alipay-aipay 1.0.2 → 1.2.2

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 (67) hide show
  1. package/dist/commands/install.d.ts.map +1 -1
  2. package/dist/commands/install.js +71 -22
  3. package/dist/commands/install.js.map +1 -1
  4. package/dist/commands/prepare-tools.d.ts.map +1 -1
  5. package/dist/commands/prepare-tools.js +16 -4
  6. package/dist/commands/prepare-tools.js.map +1 -1
  7. package/dist/commands/update.d.ts.map +1 -1
  8. package/dist/commands/update.js +9 -9
  9. package/dist/commands/update.js.map +1 -1
  10. package/dist/index.js +1 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/utils/alipay-cli.d.ts +6 -0
  13. package/dist/utils/alipay-cli.d.ts.map +1 -1
  14. package/dist/utils/alipay-cli.js +38 -22
  15. package/dist/utils/alipay-cli.js.map +1 -1
  16. package/dist/utils/file.d.ts +9 -2
  17. package/dist/utils/file.d.ts.map +1 -1
  18. package/dist/utils/file.js +33 -3
  19. package/dist/utils/file.js.map +1 -1
  20. package/dist/utils/gpg.d.ts.map +1 -1
  21. package/dist/utils/gpg.js +97 -53
  22. package/dist/utils/gpg.js.map +1 -1
  23. package/dist/utils/jq.d.ts.map +1 -1
  24. package/dist/utils/jq.js +6 -9
  25. package/dist/utils/jq.js.map +1 -1
  26. package/dist/utils/npm.d.ts.map +1 -1
  27. package/dist/utils/npm.js +2 -6
  28. package/dist/utils/npm.js.map +1 -1
  29. package/dist/utils/shell.d.ts +15 -2
  30. package/dist/utils/shell.d.ts.map +1 -1
  31. package/dist/utils/shell.js +216 -12
  32. package/dist/utils/shell.js.map +1 -1
  33. package/package.json +3 -4
  34. package/skill/SKILL.md +77 -11
  35. package/skill/VERSION +1 -0
  36. package/skill/references/integration/flow.md +154 -136
  37. package/skill/references/integration/modules/alipay-sdk-reminder.md +29 -13
  38. package/skill/references/integration/modules/checklist.md +49 -19
  39. 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 +3 -3
  40. package/skill/references/integration/modules/code-examples/csharp/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemo.cs +27 -13
  41. 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 +3 -3
  42. package/skill/references/integration/modules/code-examples/java/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemoController.java +31 -12
  43. 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 +5 -4
  44. package/skill/references/integration/modules/code-examples/nodejs/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemo.js +69 -37
  45. 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 +3 -3
  46. package/skill/references/integration/modules/code-examples/php/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemo.php +38 -17
  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 +3 -3
  48. package/skill/references/integration/modules/code-examples/python/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemo.py +31 -18
  49. package/skill/references/integration/modules/interface-guide.md +7 -3
  50. package/skill/references/integration/modules/sandbox/a2m-sandbox-test.md +77 -48
  51. package/skill/references/integration/modules/sandbox/alipay-sandbox-tool.md +8 -5
  52. package/skill/references/integration/modules/sandbox/sandbox-setup-guide.md +157 -117
  53. package/skill/references/integration/modules/scripts/local_402_sandbox_pay.py +35 -4
  54. package/skill/references/normal/alipay-cli-env.md +13 -11
  55. package/skill/references/normal/self-update.md +59 -0
  56. package/skill/references/onboarding/flow.md +202 -282
  57. package/skill/references/onboarding/modules/app-release.md +91 -35
  58. package/skill/references/onboarding/modules/authorization.md +49 -22
  59. package/skill/references/onboarding/modules/error-handling.md +19 -14
  60. package/skill/references/onboarding/modules/product-sign.md +23 -20
  61. package/skill/references/onboarding/modules/scripts/app.sh +139 -40
  62. package/skill/references/onboarding/modules/scripts/auth.sh +183 -101
  63. package/skill/references/onboarding/modules/scripts/error_handler.sh +148 -18
  64. package/skill/references/onboarding/modules/scripts/query_sign_status.sh +17 -11
  65. package/skill/references/onboarding/modules/scripts/service.sh +208 -37
  66. package/skill/references/onboarding/modules/scripts/upload_screenshots.sh +1 -1
  67. package/skill/references/onboarding/modules/service-registration.md +72 -29
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAMA,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAW5B;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CA4If"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAMA,OAAO,EAOL,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAW5B;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CA+Jf"}
@@ -4,8 +4,8 @@ import { spawn } from 'child_process';
4
4
  import fs from 'fs';
5
5
  import os from 'os';
6
6
  import path from 'path';
7
- import { SKILLS, getPackageVersion, getCommandContext, getAllCommandContexts, PACKAGE_ROOT, } from '../utils/config.js';
8
- import { ensureDir, installSkillFiles, writeVersionFile, readVersionRecord, } from '../utils/file.js';
7
+ import { SKILLS, getPackageVersion, getCommandContext, getAllCommandContexts, PACKAGE_ROOT, TARGET_DIRS, } from '../utils/config.js';
8
+ import { ensureDir, installSkillFiles, readVersionRecord, writeVersionRecordWithFallback, } from '../utils/file.js';
9
9
  import { checkGpg } from '../utils/gpg.js';
10
10
  import { checkAlipayCli } from '../utils/alipay-cli.js';
11
11
  import { checkJq } from '../utils/jq.js';
@@ -17,9 +17,11 @@ export async function installCommand(cwd, options = {}) {
17
17
  ? getAllCommandContexts(cwd)
18
18
  : [getCommandContext(cwd, target)];
19
19
  const version = getPackageVersion();
20
+ const targetDirLabels = contexts.map((ctx) => ctx.targetDirLabel);
20
21
  console.log(chalk.cyan.bold(`\n🚀 @alipay/alipay-aipay v${version}\n`));
21
22
  console.log(chalk.gray('一键安装支付宝AI支付 Skill;GPG、alipay-cli、jq 仅做快速检测,缺失时后台尝试准备\n'));
22
- console.log(chalk.gray(`安装目标: ${contexts.map((ctx) => `${ctx.targetDirLabel}/alipay-aipay/`).join(', ')}\n`));
23
+ console.log(chalk.gray(`安装目标: ${targetDirLabels.map((label) => `${label}/alipay-aipay/`).join(', ')}`));
24
+ console.log(chalk.gray(`${describeTargetSelection(cwd, target, targetDirLabels)}\n`));
23
25
  // ========== 阶段 1: 环境检查 ==========
24
26
  let gpgOk = false;
25
27
  let alipayCliOk = false;
@@ -32,13 +34,17 @@ export async function installCommand(cwd, options = {}) {
32
34
  else {
33
35
  console.log(chalk.cyan('📋 环境检查'));
34
36
  console.log(chalk.gray('─'.repeat(40)));
35
- // 1a: 先检查 alipay-cli。若已经安装,不再为了 GPG 额外触发系统包管理器下载。
36
- const alipayCliCheck = await checkAlipayCli();
37
+ console.log(chalk.gray(' ○ 正在快速检测 GPG、alipay-cli、jq(最多约 5 秒)'));
38
+ const [alipayCliCheck, gpgCheck, jqCheck] = await Promise.all([
39
+ checkAlipayCli(),
40
+ checkGpg(),
41
+ checkJq(),
42
+ ]);
37
43
  alipayCliOk = alipayCliCheck.installed;
44
+ gpgOk = gpgCheck.installed;
45
+ jqOk = jqCheck.installed;
38
46
  if (alipayCliCheck.installed) {
39
47
  console.log(chalk.green(` ✓ alipay-cli 已安装 (${alipayCliCheck.version})`));
40
- const gpgCheck = await checkGpg();
41
- gpgOk = gpgCheck.installed;
42
48
  if (gpgCheck.installed) {
43
49
  console.log(chalk.green(` ✓ GPG 已安装 (${gpgCheck.version})`));
44
50
  }
@@ -48,18 +54,14 @@ export async function installCommand(cwd, options = {}) {
48
54
  }
49
55
  else {
50
56
  console.log(chalk.gray(' ○ alipay-cli 未安装;将后台尝试准备,不阻塞 Skill 安装'));
51
- const gpgCheck = await checkGpg();
52
- gpgOk = gpgCheck.installed;
53
57
  if (gpgCheck.installed) {
54
58
  console.log(chalk.green(` ✓ GPG 已安装 (${gpgCheck.version})`));
55
59
  }
56
60
  else {
57
- console.log(chalk.gray(' ○ GPG 未安装;后台准备 alipay-cli 前会先尝试准备 GPG'));
61
+ console.log(chalk.gray(' ○ GPG 未安装;后台将优先安装 alipay-cli,仅在检测到缺少 GPG 时再准备'));
58
62
  }
59
63
  }
60
64
  // 1b: jq 只影响签约脚本 JSON 解析,默认不阻塞 Skill 安装速度。
61
- const jqCheck = await checkJq();
62
- jqOk = jqCheck.installed;
63
65
  if (jqCheck.installed) {
64
66
  console.log(chalk.green(` ✓ jq 已安装 (${jqCheck.version})`));
65
67
  }
@@ -75,14 +77,19 @@ export async function installCommand(cwd, options = {}) {
75
77
  if (!skipTools && (!alipayCliOk || (withJq && !jqOk))) {
76
78
  backgroundLogPath = startBackgroundToolPreparation(withJq);
77
79
  }
78
- if (!skipTools && !gpgOk) {
79
- console.log(chalk.yellow('⚠️ GPG 未就绪,后续如需重新安装 alipay-cli,可能需要先安装 GPG'));
80
- console.log(chalk.gray(' 手动安装: brew install gnupg (macOS) / sudo apt-get install -y gnupg (Linux)'));
80
+ const backgroundPreparation = {
81
+ logPath: backgroundLogPath,
82
+ alipayCli: Boolean(backgroundLogPath && !alipayCliOk),
83
+ jq: Boolean(backgroundLogPath && withJq && !jqOk),
84
+ };
85
+ if (!skipTools && !gpgOk && !alipayCliOk) {
86
+ console.log(chalk.gray('ℹ️ GPG 仅在 alipay-cli 安装失败且错误提示缺少 GPG/GnuPG 时才需要准备'));
87
+ console.log(chalk.gray(' 如遇该错误,可手动安装: brew install gnupg (macOS) / sudo apt-get install -y gnupg (Linux)'));
81
88
  }
82
89
  if (!skipTools && !alipayCliOk) {
83
90
  console.log(chalk.yellow('⚠️ alipay-cli 未就绪,签约流程将暂不可用'));
84
91
  console.log(chalk.gray(' 你可以稍后手动安装到用户目录(无需 sudo):'));
85
- console.log(chalk.gray(' mkdir -p ~/.local/bin && export ALIPAY_CLI_BIN="$HOME/.local/bin" && curl -fsSL https://opengw.alipay.com/alipaycli/install | bash'));
92
+ console.log(chalk.gray(' mkdir -p ~/.local/bin && export ALIPAY_CLI_BIN="$HOME/.local/bin" && curl -fsSL https://opengw.alipay.com/alipaycli/install | ALIPAY_CLI_SKIP_PGP=true ALIPAY_CLI_SKIP_VERIFY=true bash'));
86
93
  console.log(chalk.gray(' echo \'export PATH="$HOME/.local/bin:$PATH"\' >> ~/.zshrc && source ~/.zshrc'));
87
94
  }
88
95
  if (!skipTools && !jqOk) {
@@ -99,6 +106,7 @@ export async function installCommand(cwd, options = {}) {
99
106
  console.log(chalk.gray('─'.repeat(40)));
100
107
  // 直接安装,不询问
101
108
  const spinner = ora('正在安装 Skill 文件...').start();
109
+ const legacyRecordLabels = [];
102
110
  try {
103
111
  for (const ctx of contexts) {
104
112
  const existingRecord = await readVersionRecord(ctx);
@@ -118,10 +126,20 @@ export async function installCommand(cwd, options = {}) {
118
126
  alipayCliInstalled: alipayCliOk,
119
127
  jqInstalled: jqOk,
120
128
  };
121
- await writeVersionFile(ctx.versionFile, record);
129
+ const recordLocation = await writeVersionRecordWithFallback(ctx, record);
130
+ if (recordLocation === 'legacy') {
131
+ legacyRecordLabels.push(ctx.targetDirLabel);
132
+ }
122
133
  }
123
134
  spinner.succeed(chalk.green('Skill 文件安装完成!\n'));
124
- printSummary(gpgOk, alipayCliOk, jqOk, true, version, contexts.map((ctx) => ctx.targetDirLabel), skipTools);
135
+ if (legacyRecordLabels.length > 0) {
136
+ console.log(chalk.yellow('⚠️ 用户配置目录安装记录写入失败,已降级写入 Skill 目录内兼容记录。'));
137
+ for (const targetDirLabel of legacyRecordLabels) {
138
+ console.log(chalk.gray(` 记录位置: ${targetDirLabel}/alipay-aipay/.alipay-aipay-version`));
139
+ }
140
+ console.log('');
141
+ }
142
+ printSummary(gpgOk, alipayCliOk, jqOk, true, version, targetDirLabels, skipTools, backgroundPreparation);
125
143
  }
126
144
  catch (error) {
127
145
  spinner.fail(chalk.red('Skill 文件安装失败'));
@@ -129,6 +147,21 @@ export async function installCommand(cwd, options = {}) {
129
147
  process.exit(1);
130
148
  }
131
149
  }
150
+ function describeTargetSelection(cwd, target, targetDirLabels) {
151
+ if (target === 'all') {
152
+ const hasExistingAgentRoot = Object.keys(TARGET_DIRS)
153
+ .map((targetName) => path.dirname(TARGET_DIRS[targetName]))
154
+ .some((rootDir) => fs.existsSync(path.join(cwd, rootDir)));
155
+ if (!hasExistingAgentRoot && targetDirLabels.length === 1 && targetDirLabels[0] === TARGET_DIRS.agents) {
156
+ return '目标选择: --target all;未检测到已有 .codex/.claude/.agents,回退到 .agents/skills';
157
+ }
158
+ return `目标选择: --target all,安装到全部解析目标: ${targetDirLabels.map((label) => `${label}/alipay-aipay/`).join(', ')}`;
159
+ }
160
+ if (target === 'auto') {
161
+ return `目标选择: --target auto,按当前 Agent/已有安装目录解析为 ${targetDirLabels[0]}/alipay-aipay/`;
162
+ }
163
+ return `目标选择: --target ${target}`;
164
+ }
132
165
  function startBackgroundToolPreparation(withJq) {
133
166
  const cliPath = process.argv[1];
134
167
  if (!cliPath)
@@ -164,14 +197,30 @@ function startBackgroundToolPreparation(withJq) {
164
197
  /**
165
198
  * 打印安装总结
166
199
  */
167
- function printSummary(gpgOk, alipayCliOk, jqOk, skillInstalled, version, targetDirLabels, toolsSkipped) {
200
+ function printSummary(gpgOk, alipayCliOk, jqOk, skillInstalled, version, targetDirLabels, toolsSkipped, backgroundPreparation) {
168
201
  console.log(chalk.cyan.bold('📋 安装总结'));
169
202
  console.log(chalk.gray('─'.repeat(40)));
170
- console.log(` GPG: ${toolsSkipped ? chalk.gray('○ 已跳过') : gpgOk ? chalk.green('✓ 已就绪') : chalk.red('✗ 未就绪')}`);
171
- console.log(` alipay-cli: ${toolsSkipped ? chalk.gray('○ 已跳过') : alipayCliOk ? chalk.green('✓ 已就绪') : chalk.red('✗ 未就绪')}`);
172
- console.log(` jq: ${toolsSkipped ? chalk.gray('○ 已跳过') : jqOk ? chalk.green('✓ 已就绪') : chalk.red('✗ 未就绪')}`);
203
+ const gpgStatus = toolsSkipped
204
+ ? chalk.gray('○ 已跳过')
205
+ : gpgOk
206
+ ? chalk.green('✓ 已就绪')
207
+ : alipayCliOk
208
+ ? chalk.gray('○ alipay-cli 已就绪,本次无需')
209
+ : chalk.gray('○ 仅 alipay-cli 安装失败且提示缺失时需要');
210
+ console.log(` GPG: ${gpgStatus}`);
211
+ console.log(` alipay-cli: ${toolsSkipped ? chalk.gray('○ 已跳过') : alipayCliOk ? chalk.green('✓ 已就绪') : backgroundPreparation.alipayCli ? chalk.yellow('⏳ 后台准备中') : chalk.red('✗ 未就绪')}`);
212
+ console.log(` jq: ${toolsSkipped ? chalk.gray('○ 已跳过') : jqOk ? chalk.green('✓ 已就绪') : backgroundPreparation.jq ? chalk.yellow('⏳ 后台准备中') : chalk.red('✗ 未就绪')}`);
173
213
  console.log(` Skill 文件: ${skillInstalled ? chalk.green('✓ 已安装') : chalk.gray('○ 未安装')}`);
174
214
  console.log(` 版本: ${version}`);
215
+ if (backgroundPreparation.logPath) {
216
+ console.log(` 后台日志: ${backgroundPreparation.logPath}`);
217
+ if (backgroundPreparation.alipayCli) {
218
+ console.log(chalk.gray(' 验证命令: alipay-cli version'));
219
+ }
220
+ if (backgroundPreparation.jq) {
221
+ console.log(chalk.gray(' 验证命令: jq --version'));
222
+ }
223
+ }
175
224
  console.log('');
176
225
  console.log(chalk.gray('安装位置:'));
177
226
  for (const targetDirLabel of targetDirLabels) {
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prepare-tools.d.ts","sourceRoot":"","sources":["../../src/commands/prepare-tools.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,mBAAmB,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyB1F"}
1
+ {"version":3,"file":"prepare-tools.d.ts","sourceRoot":"","sources":["../../src/commands/prepare-tools.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,mBAAmB,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC1F"}
@@ -1,5 +1,5 @@
1
1
  import chalk from 'chalk';
2
- import { checkAlipayCli, ensureAlipayCli } from '../utils/alipay-cli.js';
2
+ import { checkAlipayCli, ensureAlipayCliDetailed } from '../utils/alipay-cli.js';
3
3
  import { ensureGpg } from '../utils/gpg.js';
4
4
  import { checkJq, ensureJq } from '../utils/jq.js';
5
5
  export async function prepareToolsCommand(options = {}) {
@@ -10,9 +10,21 @@ export async function prepareToolsCommand(options = {}) {
10
10
  console.log(chalk.green(`alipay-cli 已安装 (${alipayCliCheck.version})`));
11
11
  }
12
12
  else {
13
- console.log(chalk.yellow('alipay-cli 未安装,后台尝试准备 GPG 并安装 alipay-cli'));
14
- await ensureGpg();
15
- await ensureAlipayCli();
13
+ console.log(chalk.yellow('alipay-cli 未安装,后台优先尝试安装 alipay-cli'));
14
+ const cliInstall = await ensureAlipayCliDetailed();
15
+ if (!cliInstall.installed && cliInstall.needsGpg) {
16
+ console.log(chalk.yellow('alipay-cli 安装失败,检测到缺少 GPG,尝试准备 GPG 后重试 alipay-cli'));
17
+ const gpgInstalled = await ensureGpg();
18
+ if (gpgInstalled) {
19
+ await ensureAlipayCliDetailed();
20
+ }
21
+ else {
22
+ console.log(chalk.gray('GPG 未就绪,已跳过 alipay-cli 重试'));
23
+ }
24
+ }
25
+ else if (!cliInstall.installed) {
26
+ console.log(chalk.gray('alipay-cli 安装失败原因未指向缺少 GPG,跳过 GPG 自动安装'));
27
+ }
16
28
  }
17
29
  if (withJq) {
18
30
  const jqCheck = await checkJq();
@@ -1 +1 @@
1
- {"version":3,"file":"prepare-tools.js","sourceRoot":"","sources":["../../src/commands/prepare-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAMnD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,UAA+B,EAAE;IACzE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IAEvC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,0CAA0C,CAAC,CAAC;IAEpF,MAAM,cAAc,GAAG,MAAM,cAAc,EAAE,CAAC;IAC9C,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACtE,MAAM,SAAS,EAAE,CAAC;QAClB,MAAM,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,MAAM,OAAO,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC9C,MAAM,QAAQ,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,2CAA2C,CAAC,CAAC;AACvF,CAAC"}
1
+ {"version":3,"file":"prepare-tools.js","sourceRoot":"","sources":["../../src/commands/prepare-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAMnD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,UAA+B,EAAE;IACzE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IAEvC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,0CAA0C,CAAC,CAAC;IAEpF,MAAM,cAAc,GAAG,MAAM,cAAc,EAAE,CAAC;IAC9C,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,MAAM,uBAAuB,EAAE,CAAC;QAEnD,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mDAAmD,CAAC,CAAC,CAAC;YAC/E,MAAM,YAAY,GAAG,MAAM,SAAS,EAAE,CAAC;YACvC,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,uBAAuB,EAAE,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,MAAM,OAAO,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC9C,MAAM,QAAQ,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,2CAA2C,CAAC,CAAC;AACvF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAGA,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAe5B;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAWf"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAGA,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAc5B;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAWf"}
@@ -2,7 +2,7 @@ import inquirer from 'inquirer';
2
2
  import chalk from 'chalk';
3
3
  import ora from 'ora';
4
4
  import { SKILLS, getPackageVersion, getCommandContext, getAllCommandContexts, PACKAGE_ROOT, } from '../utils/config.js';
5
- import { ensureDir, installSkillFiles, writeVersionFile, readVersionFile, readVersionRecord, migrateVersionRecord, } from '../utils/file.js';
5
+ import { ensureDir, installSkillFiles, readVersionRecord, migrateVersionRecord, writeVersionRecordWithFallback, } from '../utils/file.js';
6
6
  import { checkForUpdates } from '../utils/npm.js';
7
7
  import { checkGpg } from '../utils/gpg.js';
8
8
  import { checkAlipayCli } from '../utils/alipay-cli.js';
@@ -83,7 +83,7 @@ async function updateResolvedContext(ctx) {
83
83
  alipayCliInstalled: record.alipayCliInstalled,
84
84
  jqInstalled: record.jqInstalled,
85
85
  };
86
- await writeVersionFile(ctx.versionFile, newRecord);
86
+ await writeVersionRecordWithFallback(ctx, newRecord);
87
87
  updateSpinner.succeed(chalk.green('Skill 文件更新完成!\n'));
88
88
  console.log(`版本: ${record.version} → ${currentPackageVersion}`);
89
89
  }
@@ -113,7 +113,7 @@ async function updateResolvedContext(ctx) {
113
113
  console.log(chalk.green(` ✓ GPG 已安装 (${gpgCheck.version})`));
114
114
  }
115
115
  else {
116
- console.log(chalk.gray(' ○ GPG 未安装;后续安装 alipay-cli 前可能需要先安装 GPG'));
116
+ console.log(chalk.gray(' ○ GPG 未安装;后续安装 alipay-cli 失败且提示缺少 GPG 时再作为兜底准备'));
117
117
  }
118
118
  }
119
119
  const jqCheck = await checkJq();
@@ -126,19 +126,19 @@ async function updateResolvedContext(ctx) {
126
126
  }
127
127
  console.log('');
128
128
  // 更新版本记录中的环境状态
129
- const updatedRecord = await readVersionFile(ctx.versionFile);
129
+ const updatedRecord = await readVersionRecord(ctx);
130
130
  if (updatedRecord) {
131
131
  updatedRecord.gpgInstalled = gpgOk;
132
132
  updatedRecord.alipayCliInstalled = alipayCliOk;
133
133
  updatedRecord.jqInstalled = jqOk;
134
- await writeVersionFile(ctx.versionFile, updatedRecord);
134
+ await writeVersionRecordWithFallback(ctx, updatedRecord);
135
135
  }
136
- if (!gpgOk || !alipayCliOk || !jqOk) {
136
+ if (!alipayCliOk || !jqOk || (!gpgOk && !alipayCliOk)) {
137
137
  console.log(chalk.yellow('⚠️ 部分环境工具未就绪:'));
138
- if (!gpgOk)
139
- console.log(chalk.gray(' GPG: brew install gnupg (macOS) / sudo apt-get install -y gnupg (Linux)'));
140
138
  if (!alipayCliOk)
141
- console.log(chalk.gray(' alipay-cli: mkdir -p ~/.local/bin && export ALIPAY_CLI_BIN="$HOME/.local/bin" && curl -fsSL https://opengw.alipay.com/alipaycli/install | bash'));
139
+ console.log(chalk.gray(' alipay-cli: mkdir -p ~/.local/bin && export ALIPAY_CLI_BIN="$HOME/.local/bin" && curl -fsSL https://opengw.alipay.com/alipaycli/install | ALIPAY_CLI_SKIP_PGP=true ALIPAY_CLI_SKIP_VERIFY=true bash'));
140
+ if (!gpgOk && !alipayCliOk)
141
+ console.log(chalk.gray(' GPG: 仅当 alipay-cli 安装失败且提示缺少 GPG/GnuPG 时再安装: brew install gnupg (macOS) / sudo apt-get install -y gnupg (Linux)'));
142
142
  if (!jqOk)
143
143
  console.log(chalk.gray(' jq: brew install jq (macOS) / sudo apt-get install -y jq (Linux)'));
144
144
  console.log('');
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,GAEb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAUzC,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,UAAgC,EAAE;IAElC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC;IACxC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,KAAK,MAAM,GAAG,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,GAAmB;IACtD,MAAM,qBAAqB,GAAG,iBAAiB,EAAE,CAAC;IAElD,YAAY;IACZ,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAE5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2DAA2D,GAAG,CAAC,cAAc,MAAM,CAAC,CAAC,CAAC;QAC7G,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAE/C,cAAc;IACd,MAAM,OAAO,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;IAEhD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,eAAe,EAAE,CAAC;QAE5C,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,eAAe,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,KAAK,qBAAqB,EAAE,CAAC;YAC7C,MAAM,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACxC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,SAAS,qBAAqB,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,qBAAqB,UAAU,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC;YAEzF,SAAS;YACT,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;gBACvD,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,OAAO;YACP,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACxC;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,IAAI;iBACd;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YAED,OAAO;YACP,MAAM,aAAa,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;YACtD,MAAM,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/B,MAAM,iBAAiB,CAAC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAErD,uCAAuC;YACvC,MAAM,SAAS,GAAG;gBAChB,OAAO,EAAE,qBAAqB;gBAC9B,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjC,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;gBAC7C,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC;YACF,MAAM,8BAA8B,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAErD,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,OAAO,MAAM,qBAAqB,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,WAAW;QACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAExC,MAAM,cAAc,GAAG,MAAM,cAAc,EAAE,CAAC;QAC9C,IAAI,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC;QAC3C,IAAI,KAAK,GAAG,KAAK,CAAC;QAElB,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,uBAAuB,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YAC3E,MAAM,QAAQ,GAAG,MAAM,QAAQ,EAAE,CAAC;YAClC,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;YAC3B,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,MAAM,QAAQ,EAAE,CAAC;YAClC,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;YAC3B,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;QAC/B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,eAAe;QACf,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,aAAa,EAAE,CAAC;YAClB,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC;YACnC,aAAa,CAAC,kBAAkB,GAAG,WAAW,CAAC;YAC/C,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC;YACjC,MAAM,8BAA8B,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,WAAW;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wMAAwM,CAAC,CAAC,CAAC;YACpP,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oHAAoH,CAAC,CAAC,CAAC;YAC1K,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC,CAAC;YAC1G,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,cAAc,gBAAgB,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
package/dist/index.js CHANGED
@@ -50,7 +50,7 @@ program
50
50
  });
51
51
  program
52
52
  .command('prepare-tools', { hidden: true })
53
- .description('后台准备 GPG、alipay-cli 和 jq')
53
+ .description('后台优先准备 alipay-cli,缺少 GPG 时兜底准备 GPG;可选准备 jq')
54
54
  .option('--with-jq', '同时准备 jq')
55
55
  .action(async (options) => {
56
56
  await prepareToolsCommand({ withJq: Boolean(options.withJq) });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
1
  import type { ToolCheckResult } from '../types.js';
2
+ export interface AlipayCliInstallResult {
3
+ installed: boolean;
4
+ needsGpg: boolean;
5
+ }
2
6
  /**
3
7
  * 检查 alipay-cli 是否已安装
4
8
  */
@@ -7,9 +11,11 @@ export declare function checkAlipayCli(): Promise<ToolCheckResult>;
7
11
  * 安装 alipay-cli
8
12
  * 统一安装到 ~/.local/bin,无需 sudo
9
13
  */
14
+ export declare function installAlipayCliDetailed(): Promise<AlipayCliInstallResult>;
10
15
  export declare function installAlipayCli(): Promise<boolean>;
11
16
  /**
12
17
  * 确保 alipay-cli 已安装,未安装则自动安装
13
18
  */
14
19
  export declare function ensureAlipayCli(): Promise<boolean>;
20
+ export declare function ensureAlipayCliDetailed(): Promise<AlipayCliInstallResult>;
15
21
  //# sourceMappingURL=alipay-cli.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"alipay-cli.d.ts","sourceRoot":"","sources":["../../src/utils/alipay-cli.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAwCnD;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CAoB/D;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CA+EzD;AAyED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAQxD"}
1
+ {"version":3,"file":"alipay-cli.d.ts","sourceRoot":"","sources":["../../src/utils/alipay-cli.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAMnD,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB;AA2CD;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CAoB/D;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAmFhF;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAGzD;AAyED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAGxD;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAQ/E"}
@@ -1,13 +1,10 @@
1
- import { exec } from 'child_process';
2
- import { promisify } from 'util';
3
1
  import os from 'os';
4
2
  import chalk from 'chalk';
5
3
  import ora from 'ora';
6
- import { execInteractive, isInteractive } from './shell.js';
4
+ import { execCommand, execInteractive, isInteractive } from './shell.js';
7
5
  import { constants } from 'fs';
8
6
  import fs from 'fs/promises';
9
7
  import path from 'path';
10
- const execAsync = promisify(exec);
11
8
  function formatErrorTail(error) {
12
9
  const message = error instanceof Error ? error.message : String(error);
13
10
  return message
@@ -17,6 +14,14 @@ function formatErrorTail(error) {
17
14
  .slice(-6)
18
15
  .join('\n');
19
16
  }
17
+ function isMissingGpgError(message) {
18
+ return [
19
+ /\bgpg\b.*(command not found|not found|not installed|missing|required|requires?|no such file or directory|cannot find|未找到|不存在|未安装|需要|没有那个文件)/i,
20
+ /\bgnupg\b.*(not found|not installed|missing|required|require|no such file or directory|cannot find|未找到|不存在|未安装|需要|没有那个文件)/i,
21
+ /(command not found|not found|not installed|missing|no such file or directory|cannot find|未找到|不存在|未安装|没有那个文件).*\bgpg\b/i,
22
+ /(please install|install|requires?|需要安装|请安装).*\b(gnupg|gpg)\b/i,
23
+ ].some((pattern) => pattern.test(message));
24
+ }
20
25
  /**
21
26
  * 确保 ~/.local/bin 存在
22
27
  */
@@ -43,11 +48,11 @@ async function isWritableDir(dir) {
43
48
  */
44
49
  export async function checkAlipayCli() {
45
50
  try {
46
- const { stdout } = await execAsync('alipay-cli version', { timeout: 5000 });
51
+ const { stdout } = await execCommand('alipay-cli version', 5000);
47
52
  const version = stdout.trim();
48
53
  let cliPath = '';
49
54
  try {
50
- const { stdout: whichOut } = await execAsync('which alipay-cli', { timeout: 3000 });
55
+ const { stdout: whichOut } = await execCommand('which alipay-cli', 3000);
51
56
  cliPath = whichOut.trim();
52
57
  }
53
58
  catch {
@@ -68,7 +73,7 @@ export async function checkAlipayCli() {
68
73
  * 安装 alipay-cli
69
74
  * 统一安装到 ~/.local/bin,无需 sudo
70
75
  */
71
- export async function installAlipayCli() {
76
+ export async function installAlipayCliDetailed() {
72
77
  let localBin;
73
78
  try {
74
79
  localBin = await ensureLocalBin();
@@ -80,24 +85,25 @@ export async function installAlipayCli() {
80
85
  console.log(chalk.gray(` 失败原因: ${detail}`));
81
86
  console.log(chalk.gray(' 请在可写终端环境中重试,或手动指定可写目录安装。'));
82
87
  console.log(chalk.cyan(' mkdir -p /path/to/writable/bin'));
83
- console.log(chalk.cyan(' export ALIPAY_CLI_BIN="/path/to/writable/bin" && curl -fsSL https://opengw.alipay.com/alipaycli/install | bash'));
84
- return false;
88
+ console.log(chalk.cyan(' export ALIPAY_CLI_BIN="/path/to/writable/bin" && curl -fsSL https://opengw.alipay.com/alipaycli/install | ALIPAY_CLI_SKIP_PGP=true ALIPAY_CLI_SKIP_VERIFY=true bash'));
89
+ return { installed: false, needsGpg: false };
85
90
  }
86
91
  if (!(await isWritableDir(localBin))) {
87
92
  console.log(chalk.red(` ✗ ${localBin} 不可写,无法自动安装 alipay-cli`));
88
93
  console.log(chalk.gray(' 请在可写终端环境中重试,或手动指定可写目录安装。'));
89
94
  console.log(chalk.cyan(' mkdir -p /path/to/writable/bin'));
90
- console.log(chalk.cyan(' export ALIPAY_CLI_BIN="/path/to/writable/bin" && curl -fsSL https://opengw.alipay.com/alipaycli/install | bash'));
91
- return false;
95
+ console.log(chalk.cyan(' export ALIPAY_CLI_BIN="/path/to/writable/bin" && curl -fsSL https://opengw.alipay.com/alipaycli/install | ALIPAY_CLI_SKIP_PGP=true ALIPAY_CLI_SKIP_VERIFY=true bash'));
96
+ return { installed: false, needsGpg: false };
92
97
  }
93
98
  const spinner = ora('正在安装 alipay-cli 到 ~/.local/bin(无需 sudo)...').start();
99
+ let needsGpg = false;
94
100
  try {
95
101
  if (isInteractive()) {
96
102
  spinner.stop();
97
103
  }
98
104
  // ALIPAY_CLI_BIN 环境变量控制安装脚本的目标目录
99
105
  // 必须 export,否则 pipe 右侧的 bash 子进程拿不到
100
- await execInteractive(`export ALIPAY_CLI_BIN="${localBin}" && curl -fsSL https://opengw.alipay.com/alipaycli/install | bash`, 300000);
106
+ await execInteractive(`export ALIPAY_CLI_BIN="${localBin}" && curl -fsSL https://opengw.alipay.com/alipaycli/install | ALIPAY_CLI_SKIP_PGP=true ALIPAY_CLI_SKIP_VERIFY=true bash`, 300000);
101
107
  console.log('');
102
108
  spinner.start('正在验证 alipay-cli 安装...');
103
109
  // 验证方式 1:通过 PATH 检查
@@ -108,7 +114,7 @@ export async function installAlipayCli() {
108
114
  await addDirToPath(localBin);
109
115
  }
110
116
  spinner.succeed(chalk.green(`alipay-cli 安装成功 (${check.version})`));
111
- return true;
117
+ return { installed: true, needsGpg: false };
112
118
  }
113
119
  // 验证方式 2:直接用绝对路径检查(可能 ~/.local/bin 还没在 PATH 中)
114
120
  const localCli = path.join(localBin, 'alipay-cli');
@@ -118,33 +124,39 @@ export async function installAlipayCli() {
118
124
  if (!inPath) {
119
125
  await addDirToPath(localBin);
120
126
  }
121
- return true;
127
+ return { installed: true, needsGpg: false };
122
128
  }
123
129
  // 安装完但 PATH 中找不到时,只检查当前安装目标目录。
124
130
  if (await checkLocalBinPath(localBin)) {
125
- return true;
131
+ return { installed: true, needsGpg: false };
126
132
  }
127
133
  spinner.fail(chalk.red('alipay-cli 安装后未找到'));
128
134
  }
129
135
  catch (error) {
130
136
  spinner.fail(chalk.red('alipay-cli 安装失败'));
131
137
  const detail = formatErrorTail(error);
132
- if (detail)
138
+ if (detail) {
139
+ needsGpg = isMissingGpgError(detail);
133
140
  console.log(chalk.gray(` 失败原因: ${detail}`));
141
+ }
134
142
  }
135
143
  // 安装失败,打印手动安装指引
136
144
  console.log(chalk.gray(' 请手动执行以下命令安装:'));
137
145
  console.log(chalk.cyan(' mkdir -p ~/.local/bin'));
138
- console.log(chalk.cyan(' export ALIPAY_CLI_BIN="$HOME/.local/bin" && curl -fsSL https://opengw.alipay.com/alipaycli/install | bash'));
146
+ console.log(chalk.cyan(' export ALIPAY_CLI_BIN="$HOME/.local/bin" && curl -fsSL https://opengw.alipay.com/alipaycli/install | ALIPAY_CLI_SKIP_PGP=true ALIPAY_CLI_SKIP_VERIFY=true bash'));
139
147
  console.log(chalk.cyan(' echo \'export PATH="$HOME/.local/bin:$PATH"\' >> ~/.zshrc && source ~/.zshrc'));
140
- return false;
148
+ return { installed: false, needsGpg };
149
+ }
150
+ export async function installAlipayCli() {
151
+ const result = await installAlipayCliDetailed();
152
+ return result.installed;
141
153
  }
142
154
  /**
143
155
  * 检查指定路径的 alipay-cli 是否可用
144
156
  */
145
157
  async function checkCliAtPath(cliPath) {
146
158
  try {
147
- const { stdout } = await execAsync(`"${cliPath}" version`, { timeout: 5000 });
159
+ const { stdout } = await execCommand(`"${cliPath}" version`, 5000);
148
160
  return !!stdout.trim();
149
161
  }
150
162
  catch {
@@ -169,7 +181,7 @@ async function checkLocalBinPath(localBin) {
169
181
  */
170
182
  async function isDirInPath(dir) {
171
183
  try {
172
- const { stdout } = await execAsync('echo $PATH', { timeout: 3000 });
184
+ const { stdout } = await execCommand('echo $PATH', 3000);
173
185
  const pathDirs = stdout.trim().split(':');
174
186
  return pathDirs.some((p) => p === dir);
175
187
  }
@@ -210,12 +222,16 @@ async function addDirToPath(dir) {
210
222
  * 确保 alipay-cli 已安装,未安装则自动安装
211
223
  */
212
224
  export async function ensureAlipayCli() {
225
+ const result = await ensureAlipayCliDetailed();
226
+ return result.installed;
227
+ }
228
+ export async function ensureAlipayCliDetailed() {
213
229
  const check = await checkAlipayCli();
214
230
  if (check.installed) {
215
231
  console.log(chalk.green(` ✓ alipay-cli 已安装 (${check.version})`));
216
- return true;
232
+ return { installed: true, needsGpg: false };
217
233
  }
218
234
  console.log(chalk.yellow(' ⚠ alipay-cli 未安装,正在自动安装...'));
219
- return await installAlipayCli();
235
+ return await installAlipayCliDetailed();
220
236
  }
221
237
  //# sourceMappingURL=alipay-cli.js.map