@alipay/alipay-aipay 1.5.7 → 1.5.8-beta2

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 (39) hide show
  1. package/dist/commands/install-current.d.ts +4 -0
  2. package/dist/commands/install-current.d.ts.map +1 -0
  3. package/dist/commands/install-current.js +55 -0
  4. package/dist/commands/install-current.js.map +1 -0
  5. package/dist/commands/install.d.ts.map +1 -1
  6. package/dist/commands/install.js +62 -29
  7. package/dist/commands/install.js.map +1 -1
  8. package/dist/index.js +7 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/utils/config.d.ts +6 -4
  11. package/dist/utils/config.d.ts.map +1 -1
  12. package/dist/utils/config.js +15 -19
  13. package/dist/utils/config.js.map +1 -1
  14. package/dist/utils/file.d.ts +7 -0
  15. package/dist/utils/file.d.ts.map +1 -1
  16. package/dist/utils/file.js +29 -11
  17. package/dist/utils/file.js.map +1 -1
  18. package/package.json +1 -1
  19. package/skill/SKILL.md +3 -3
  20. package/skill/VERSION +1 -1
  21. package/skill/references/integration/flow.md +2 -2
  22. package/skill/references/normal/full-process-routing.md +3 -3
  23. package/skill/references/normal/scripts/auth_runtime_runner.mjs +60 -0
  24. package/skill/references/normal/scripts/flow_loader.mjs +1 -0
  25. package/skill/references/normal/scripts/integration_message_runner.mjs +1 -0
  26. package/skill/references/normal/scripts/onboarding_discovery_runner.mjs +10 -1
  27. package/skill/references/normal/scripts/onboarding_message_runner.mjs +177 -81
  28. package/skill/references/normal/scripts/open_official_url.sh +60 -5
  29. package/skill/references/normal/scripts/render_customer_message.mjs +8 -3
  30. package/skill/references/normal/scripts/runtime.mjs +7 -1
  31. package/skill/references/normal/scripts/self_update.mjs +193 -45
  32. package/skill/references/normal/self-update.md +5 -3
  33. package/skill/references/onboarding/flow.md +70 -90
  34. package/skill/references/onboarding/modules/app-release.md +3 -2
  35. package/skill/references/onboarding/modules/authorization.md +1 -1
  36. package/skill/references/onboarding/modules/error-handling.md +3 -1
  37. package/skill/references/onboarding/modules/mcc-reference.md +128 -128
  38. package/skill/references/onboarding/modules/scripts/network_retry.sh +21 -2
  39. package/skill/references/runtime-entry.md +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/utils/file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/utils/file.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alipay/alipay-aipay",
3
- "version": "1.5.7",
3
+ "version": "1.5.8-beta2",
4
4
  "description": "支付宝 AI 付 Skill 安装包 - 优先安装 Agent Skill,并在 macOS/Linux 后台准备用户级 CLI 工具",
5
5
  "type": "module",
6
6
  "bin": {
package/skill/SKILL.md CHANGED
@@ -17,7 +17,7 @@ description: >-
17
17
  node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" self-update check --skill-dir "<SKILL_DIR>"
18
18
  ```
19
19
 
20
- `SKILL_DIR` 必须绑定刚触发的本份 Skill,且包含 `SKILL.md`、`VERSION` 和 `references/runtime-entry.md`;不得换成 Agent 启动目录、用户项目目录、用户 Home、npm 包源码根或另一份 Skill 副本。命令失败或 marker 无法唯一解析时按 `SELF_UPDATE:CHECK_FAILED`。
20
+ `SKILL_DIR` 必须绑定刚触发且正在执行本命令的 Skill 规范化绝对路径,不得换成 Agent 启动目录、用户项目目录、用户 Home、npm 包源码根或另一份 Skill 副本。`VERSION` 缺失/非法或 `references/runtime-entry.md` 缺失时由本命令尝试精确修复;命令失败或 marker 无法唯一解析时按 `SELF_UPDATE:CHECK_FAILED`。
21
21
 
22
22
  stderr 只允许出现以下一个内部终态;不得向用户展示 marker 或 npm/npx 原始输出:
23
23
 
@@ -26,6 +26,6 @@ stderr 只允许出现以下一个内部终态;不得向用户展示 marker
26
26
  - `SELF_UPDATE:RETRY_WITH_NETWORK`:registry 或安装阶段网络不可达;可申请联网后原样重试本命令一次。
27
27
  - `SELF_UPDATE:SKIPPED_NETWORK_RESTRICTED|CHECK_FAILED|INSTALL_FAILED|VERIFY_FAILED`:静默继续当前可用版本,不重试、不申请权限。
28
28
 
29
- 除 `RETRY_WITH_NETWORK` 的一次原样重试外,下一步都只完整读取同一 `SKILL_DIR` 下的 `references/runtime-entry.md`,并按原始用户请求从该入口路由。`UPDATED` 后禁止继续读取更新前版本的任何业务文档,也不重新执行版本检查;其他终态同样不再读取本启动器或 `self-update.md` 补充规则。
29
+ 除 `RETRY_WITH_NETWORK` 的一次原样重试外,只完整读取同一 `SKILL_DIR` 的 `references/runtime-entry.md`,在当前上下文记录 `ALIPAY_AIPAY_RUNTIME_ENTRY_LOADED=true` 和规范化路径,再按原请求路由。`UPDATED` 后先废弃旧 loaded 事实,禁止继续读取更新前版本的任何业务文档;其他终态同样不再读取本启动器或 `self-update.md` 补充规则。
30
30
 
31
- 同一对话后续确认、补材料、候选选择、错误恢复、中断继续、重复触发和 Full Process 衔接,若一次性事实已存在,则跳过版本检查,直接读取已确定版本的 `references/runtime-entry.md`。该事实只存在于当前 Agent 对话上下文,不写缓存或业务状态。
31
+ 同一对话后续确认、补材料、候选选择、恢复、中断继续、重复触发和 Full Process 衔接,两项事实存在、路径未变且入口规则仍在时,跳过版本检查和入口重读。仅 `UPDATED`、路径变化或上下文压缩导致规则不可用时重读并刷新;事实不落盘。
package/skill/VERSION CHANGED
@@ -1 +1 @@
1
- 1.5.7
1
+ 1.5.8-beta2
@@ -197,7 +197,7 @@ node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-message win
197
197
  node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-message start-confirm --product-type "$PRODUCT_TYPE" --product-name "$PRODUCT_NAME" --project-path "$PROJECT_PATH" --project-selection "$PROJECT_SELECTION" --language "$SERVER_LANGUAGE" --framework "$FRAMEWORK" --framework-source "$FRAMEWORK_SOURCE"
198
198
  ```
199
199
 
200
- runner 失败时不得展示手写方案或进入步骤 3。成功时必须同时取得唯一 `ALIPAY_AIPAY_INTERNAL:PROJECT_CONFIRM_RECEIPT=<receipt>`;缺失、重复或不可解析都视为失败。stdout 是步骤 2 唯一对客消息;Agent 必须把 stdout 原文作为非阻塞消息发给用户,不能用命令面板里的 stdout、折叠输出或“已渲染/已展示”说明替代。禁止添加 `<...>` 标签、“已输出完整方案”“服务声明已打印”、重复摘要或任何前后缀。发送后不停止、不等待回复,立即执行 `node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" flow integration development --product-type "$PRODUCT_TYPE" --project-confirm-receipt "$PROJECT_CONFIRM_RECEIPT"`。loader 返回 `PROJECT_CONFIRMATION=VALID` 才能进入步骤 3;返回 `STALE` 时 stdout 已重新渲染当前标准方案并给出新 receipt,必须原文发送后使用新 receipt 立即重试一次;连续变化说明项目事实不稳定,停在步骤 2 核对,不要求用户输入确认口令。
200
+ runner 失败时不得展示手写方案或进入步骤 3。成功时必须同时取得唯一 `ALIPAY_AIPAY_INTERNAL:PROJECT_CONFIRM_RECEIPT=<receipt>` 和 `ALIPAY_AIPAY_INTERNAL:CUSTOMER_MESSAGE_DELIVERY_REQUIRED=integration.start.confirm`;缺失、重复或不可解析都视为失败。stdout 是步骤 2 唯一对客消息;Agent 必须把 stdout 原文作为非阻塞消息发给用户,且这是命令返回后的下一个动作;必须作为独立可见 assistant 消息送达,在此之前禁止继续调用工具。命令面板、折叠输出、内部思考或“已渲染/已展示”说明都不能替代交付;禁止添加 `<...>` 标签、“已输出完整方案”“服务声明已打印”、重复摘要或任何前后缀。发送后不停止、不等待回复,立即执行 `node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" flow integration development --product-type "$PRODUCT_TYPE" --project-confirm-receipt "$PROJECT_CONFIRM_RECEIPT"`。loader 返回 `PROJECT_CONFIRMATION=VALID` 才能进入步骤 3;返回 `STALE` 时 stdout 已重新渲染当前标准方案并给出新 receipt,必须先原文可见送达,再使用新 receipt 立即重试一次;连续变化说明项目事实不稳定,停在步骤 2 核对,不要求用户输入确认口令。
201
201
 
202
202
  - `full_process`:`../normal/full-process-routing.md` 已使用同一个 `integration.start.confirm`,在同一方案中绑定检查器产生的项目来源、代码状态和其他产品,以及产品、项目路径、语言/框架和服务声明;消息送达后已经直接通过 receipt 进入本步骤,禁止再次渲染或要求确认。该消息不展示步骤清单,也不缩减执行范围;后续仍必须按当前产品完成本 flow 的全部适用接口、完成条件和 checklist。任一方案字段变化时必须返回完整接入 router 重新扫描、渲染并自动校验新的单条方案。该方案仍禁止提前展示 MCC、授权范围、产品开通材料或 onboarding 待办。
203
203
 
@@ -245,7 +245,7 @@ node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" sandbox reverify "<规
245
245
 
246
246
  **任务**:阅读 SDK 要点、本地契约和当前语言示例
247
247
 
248
- 读取本地依据前执行 `node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-context resolve --product-type "$PRODUCT_TYPE" --server-language "$SERVER_LANGUAGE"`。只接受唯一 `ALIPAY_AIPAY_INTERNAL:INTEGRATION_CONTEXT=<json>`,并只读取其中列出的 SDK 参考、当前产品本地契约、当前语言示例、适用 checklist 章节和沙箱验收入口;缺失、重复、路径不存在或产品/语言不一致时停止,不回退到跨产品预读。
248
+ 读取本地依据前执行 `node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-context resolve --product-type "$PRODUCT_TYPE" --server-language "$SERVER_LANGUAGE"`。只接受唯一 `ALIPAY_AIPAY_INTERNAL:INTEGRATION_CONTEXT=<json>`,并在本步骤只读取其中 `sdk_reference`、`contracts` 和 `examples` 列出的当前产品/语言开发依据;`sandbox_acceptance` 只保存路径事实并延迟到步骤 6,`checklist` 只保存章节事实并延迟到步骤 8,禁止在本步骤提前读取其内容。缺失、重复、路径不存在或产品/语言不一致时停止,不回退到跨产品预读;后续阶段复用同一 envelope,不重复执行 `integration-context resolve`。
249
249
 
250
250
  本步骤只加载和核对代码开发依据;成功时不发送“文档已读取”“准备完成”等对客进度,直接进入步骤 5。本地依据缺失时输出实际缺口,禁止猜测。在线文档只在 fallback 条件下读取,不作为默认必读材料。
251
251
 
@@ -60,15 +60,15 @@ node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-message con
60
60
  node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-message locate-projects --base-path "$USER_WORKSPACE_ROOT" --search-input "$SEARCH_INPUT" --format message
61
61
  ```
62
62
 
63
- 字段齐备后执行唯一 runner;禁止拆开执行项目扫描、`jq` 或 renderer,也不得附加解析。runner stdout 是本动作唯一对客消息,必须把 stdout 原文作为非阻塞消息发给用户;发送后不停止、不等待回复,立即使用同一次 runner 输出的 receipt 进入 development loader。方案事实变化时重新扫描并输出,不使用确认口令;静态扫描只决定进入验证,不证明完成。
63
+ 字段齐备后执行唯一 runner;禁止拆开执行项目扫描、`jq` 或 renderer,也不得附加解析。runner stdout 是本动作唯一对客消息;只有同时取得唯一 `CUSTOMER_MESSAGE_DELIVERY_REQUIRED=integration.start.confirm` 时,Agent 必须把 stdout 原文作为非阻塞消息发给用户,且这是命令返回后的下一个动作;必须作为独立可见 assistant 消息送达,在此之前禁止继续调用工具。发送后不停止、不等待回复,立即使用同一次 runner 输出的 receipt 进入 development loader。方案事实变化时重新扫描并输出,不使用确认口令;静态扫描只决定进入验证,不证明完成。
64
64
 
65
65
  ```bash
66
66
  node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-message start-confirm --product-type "$PRODUCT_TYPE" --product-name "$PRODUCT_NAME" --project-path "$PROJECT_PATH" --project-selection "$PROJECT_SELECTION" --language "$SERVER_LANGUAGE" --framework "$FRAMEWORK" --framework-source "$FRAMEWORK_SOURCE"
67
67
  ```
68
68
 
69
- 上面命令失败时不得展示手写确认或进入子流程。成功时必须同时保存唯一 `ALIPAY_AIPAY_INTERNAL:PROJECT_CONFIRM_RECEIPT=<receipt>`;缺失、重复或不可解析视为失败。参数必须是当前确定值,禁止直接拼用户输入。runner 校验产品 variant 并固定服务声明;实际范围仍取当前 Integration flow 和 checklist。
69
+ 上面命令失败时不得展示手写确认或进入子流程。成功时必须同时保存唯一 `ALIPAY_AIPAY_INTERNAL:PROJECT_CONFIRM_RECEIPT=<receipt>` 和 `ALIPAY_AIPAY_INTERNAL:CUSTOMER_MESSAGE_DELIVERY_REQUIRED=integration.start.confirm`;缺失、重复或不可解析视为失败。参数必须是当前确定值,禁止直接拼用户输入。runner 校验产品 variant 并固定服务声明;实际范围仍取当前 Integration flow 和 checklist。
70
70
 
71
- 分流、展示和交接事实必须来自 runner 内同一次 `scan` 对象;禁止用描述、Agent 自报或历史分类代替。`evidence` 仅内部校验,不进 renderer;Onboarding Step 1 前禁止传/猜 `mccCode`。方案同时满足 `INT.START.PLAN_DELIVERED` 与 `INT.SERVICE_STATEMENT.DELIVERED` 后,执行 `node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" flow integration development --product-type "$PRODUCT_TYPE" --project-confirm-receipt "$PROJECT_CONFIRM_RECEIPT"`。只有内部 `PROJECT_CONFIRMATION=VALID` 才进入步骤 3;`STALE` 时 loader stdout 已重新渲染当前标准方案,必须原文发送并用新 receipt 立即重试一次,连续变化则停止核对。loader 在原位置记录兼容 stage 和预开发阅读 stage,禁止手工执行 telemetry;receipt 有效时禁止再次渲染 `integration.start.confirm`。
71
+ 分流、展示和交接事实必须来自 runner 内同一次 `scan` 对象;禁止用描述、Agent 自报或历史分类代替。`evidence` 仅内部校验,不进 renderer;Onboarding Step 1 前禁止传/猜 `mccCode`。只有方案 stdout 已按交付 marker 可见送达,才同时满足 `INT.START.PLAN_DELIVERED` 与 `INT.SERVICE_STATEMENT.DELIVERED`,随后执行 `node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" flow integration development --product-type "$PRODUCT_TYPE" --project-confirm-receipt "$PROJECT_CONFIRM_RECEIPT"`。只有内部 `PROJECT_CONFIRMATION=VALID` 才进入步骤 3;`STALE` 时 loader stdout 已重新渲染当前标准方案,必须先原文可见送达,再用新 receipt 立即重试一次,连续变化则停止核对。loader 在原位置记录兼容 stage 和预开发阅读 stage,禁止手工执行 telemetry;receipt 有效时禁止再次渲染 `integration.start.confirm`。
72
72
 
73
73
  合法组合必须确定产品、路径/来源、代码状态、语言/框架、服务声明和顺序;发现其他产品时保留。零散信息、`新建` 选择、未选候选或新项目未准备均不能替代完整机器校验。方案送达并通过 receipt 校验后仍完整执行 Integration 和 checklist。
74
74
 
@@ -0,0 +1,60 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { spawnSync } from 'node:child_process';
4
+ import process from 'node:process';
5
+
6
+ const internalPrefix = 'ALIPAY_AIPAY_INTERNAL:';
7
+ const autoMismatchFlows = new Set(['SCOPE_MISMATCH', 'MCC_MISMATCH']);
8
+
9
+ function runAuthScript(script, cwd, args, stdio) {
10
+ const result = spawnSync('bash', [script, ...args], {
11
+ cwd,
12
+ env: process.env,
13
+ encoding: stdio === 'pipe' ? 'utf8' : undefined,
14
+ stdio,
15
+ shell: false
16
+ });
17
+ if (result.error) throw result.error;
18
+ return result;
19
+ }
20
+
21
+ function authFlowValues(stderr) {
22
+ const prefix = `${internalPrefix}AUTH_FLOW:`;
23
+ return String(stderr || '')
24
+ .split(/\r?\n/u)
25
+ .filter((line) => line.startsWith(prefix))
26
+ .map((line) => line.slice(prefix.length));
27
+ }
28
+
29
+ function withoutIntermediateFlow(stderr, flow) {
30
+ const marker = `${internalPrefix}AUTH_FLOW:${flow}`;
31
+ const source = String(stderr || '');
32
+ return source.split(/\r?\n/u).filter((line) => line !== marker).join('\n');
33
+ }
34
+
35
+ export function runAuthRuntime(script, cwd, args) {
36
+ if (args[0] !== 'init') {
37
+ const result = runAuthScript(script, cwd, args, 'inherit');
38
+ return Number.isInteger(result.status) ? result.status : 1;
39
+ }
40
+
41
+ const initial = runAuthScript(script, cwd, args, 'pipe');
42
+ const initialStatus = Number.isInteger(initial.status) ? initial.status : 1;
43
+ const flows = authFlowValues(initial.stderr);
44
+ const flow = flows.length === 1 ? flows[0] : '';
45
+ const canAutoRecover = initialStatus === 1
46
+ && initial.signal === null
47
+ && autoMismatchFlows.has(flow)
48
+ && String(initial.stdout || '').trim() === '';
49
+
50
+ if (!canAutoRecover) {
51
+ process.stdout.write(initial.stdout || '');
52
+ process.stderr.write(initial.stderr || '');
53
+ return initialStatus;
54
+ }
55
+
56
+ process.stderr.write(withoutIntermediateFlow(initial.stderr, flow));
57
+ process.stderr.write(`${internalPrefix}AUTH_AUTO_MISMATCH=${flow}\n`);
58
+ const recovered = runAuthScript(script, cwd, ['mismatch', ...args.slice(1)], 'inherit');
59
+ return Number.isInteger(recovered.status) ? recovered.status : 1;
60
+ }
@@ -213,6 +213,7 @@ export function runFlowCli(argv = process.argv) {
213
213
  if (!validation.valid) {
214
214
  process.stderr.write('ALIPAY_AIPAY_INTERNAL:PROJECT_CONFIRMATION=STALE\n');
215
215
  process.stderr.write(`ALIPAY_AIPAY_INTERNAL:PROJECT_CONFIRM_RECEIPT=${validation.receipt}\n`);
216
+ process.stderr.write('ALIPAY_AIPAY_INTERNAL:CUSTOMER_MESSAGE_DELIVERY_REQUIRED=integration.start.confirm\n');
216
217
  process.stdout.write(`${validation.message}\n`);
217
218
  return;
218
219
  }
@@ -1142,6 +1142,7 @@ export async function runIntegrationMessageCli(argv = process.argv) {
1142
1142
  const result = createStartConfirmation(args);
1143
1143
  console.log(result.message);
1144
1144
  process.stderr.write(`${internalPrefix}PROJECT_CONFIRM_RECEIPT=${result.receipt}\n`);
1145
+ process.stderr.write(`${internalPrefix}CUSTOMER_MESSAGE_DELIVERY_REQUIRED=integration.start.confirm\n`);
1145
1146
  return;
1146
1147
  }
1147
1148
  if (command === 'framework-resolve') {
@@ -266,6 +266,11 @@ function hasAuthBlocker(result) {
266
266
  ].includes(line));
267
267
  }
268
268
 
269
+ function hasNetworkRecovery(result) {
270
+ return internalLines(result.stderr).some((line) =>
271
+ line.startsWith('NETWORK_RETRY_EXHAUSTED=') && line.endsWith(':RETRY_WITH_NETWORK'));
272
+ }
273
+
269
274
  function emitEnvelope(envelope) {
270
275
  process.stderr.write(`${internalPrefix}DISCOVERY_RESULT=${JSON.stringify(envelope)}\n`);
271
276
  }
@@ -295,6 +300,7 @@ async function runDiscovery(args) {
295
300
 
296
301
  const executedResults = [signingResult, serviceResult, applicationResult].filter(Boolean);
297
302
  const globalBlocker = executedResults.some(hasAuthBlocker) ? 'AUTHORIZATION_INVALID' : '';
303
+ const retryWithNetwork = !globalBlocker && executedResults.some(hasNetworkRecovery);
298
304
  const envelope = {
299
305
  schema_ver: 1,
300
306
  product_type: productType,
@@ -306,6 +312,9 @@ async function runDiscovery(args) {
306
312
  };
307
313
  if (globalBlocker) envelope.global_blocker = globalBlocker;
308
314
  emitEnvelope(envelope);
315
+ if (retryWithNetwork) {
316
+ process.stderr.write(`${internalPrefix}DISCOVERY_FLOW:RETRY_WITH_NETWORK\n`);
317
+ }
309
318
 
310
319
  const customerOutputResults = globalBlocker
311
320
  ? executedResults.filter(hasAuthBlocker)
@@ -323,7 +332,7 @@ async function runDiscovery(args) {
323
332
  }));
324
333
  }
325
334
  if (uniqueCustomerOutputs.length > 0) process.stdout.write(`${uniqueCustomerOutputs.join('\n\n')}\n`);
326
- return globalBlocker ? 2 : 0;
335
+ return globalBlocker || retryWithNetwork ? 2 : 0;
327
336
  }
328
337
 
329
338
  export async function runOnboardingDiscoveryCli(argv = process.argv) {
@@ -8,6 +8,7 @@ import { isWindowsPlatform } from './platform_compat.mjs';
8
8
  import { buildWindowsOnboardingRedirectUrl, loadMccRecords, renderMessage } from './render_customer_message.mjs';
9
9
  import { currentRunContext, emitStageMetricAsync, emitTerminalMetric } from './telemetry.mjs';
10
10
 
11
+ const internalPrefix = 'ALIPAY_AIPAY_INTERNAL:';
11
12
  const productTypes = {
12
13
  aipay: { variant: 'AIPAY', productName: 'AI 按量付费' },
13
14
  webpay: { variant: 'WEBPAY', productName: 'AI 网页应用收款' },
@@ -47,6 +48,12 @@ const categoryNames = {
47
48
  application: '应用资料'
48
49
  };
49
50
 
51
+ const materialFieldsByCategory = Object.freeze({
52
+ signing: ['APP名称', '首页截图', '商品页截图', '支付页截图'],
53
+ service: ['服务名称', '服务描述', '服务地址', '服务单价', '请求示例JSON'],
54
+ application: ['iOS Bundle ID(bundleId)', 'Android 应用包名(appPackage)', 'Android 应用签名摘要(appSign)', '应用公钥']
55
+ });
56
+
50
57
  const materialStates = {
51
58
  INITIAL: { variant: 'INITIAL', currentStatus: '待补充' },
52
59
  PARTIAL: { variant: 'PARTIAL', currentStatus: '部分已提供,待补充' },
@@ -192,6 +199,7 @@ const mccAliasRules = [
192
199
  }
193
200
  ];
194
201
  const agentMccStatuses = new Set(['MATCHED', 'INSUFFICIENT', 'UNSUPPORTED']);
202
+ const mccSelectionReceiptPrefix = 'AIPAY_MCC_SELECTION_V1.';
195
203
 
196
204
  function mccCandidateFromRecord(record) {
197
205
  return {
@@ -213,9 +221,21 @@ function mccTableSummary(records = loadMccRecords()) {
213
221
  };
214
222
  }
215
223
 
216
- function directMccCode(query) {
224
+ function normalizeMccCode(value, records) {
225
+ const raw = value.trim().toUpperCase();
226
+ if (/^A\d{4}_B\d{4}$/u.test(raw)) return records.has(raw) ? raw : '';
227
+ if (!/^B\d{4}$/u.test(raw)) return '';
228
+ const matches = [...records.keys()].filter((code) => code.endsWith(`_${raw}`));
229
+ if (matches.length > 1) throw new Error(`MCC 二级编码 ${raw} 在当前表中不唯一,必须提供完整 Axxxx_Bxxxx 编码`);
230
+ return matches[0] || '';
231
+ }
232
+
233
+ function directMccCode(query, records) {
217
234
  const raw = query.trim().toUpperCase();
218
- return /^A\d{4}_B\d{4}$/u.test(raw) ? raw : '';
235
+ if (!/^(?:A\d{4}_)?B\d{4}$/u.test(raw)) return '';
236
+ const normalized = normalizeMccCode(raw, records);
237
+ if (!normalized) throw new Error(`当前 MCC 表不存在编码:${raw}`);
238
+ return normalized;
219
239
  }
220
240
 
221
241
  function deterministicMccMatches(query, { limit = 8 } = {}) {
@@ -244,19 +264,27 @@ function deterministicMccMatches(query, { limit = 8 } = {}) {
244
264
  .slice(0, limit);
245
265
  }
246
266
 
247
- function parseAgentMccCodes(args) {
267
+ function parseAgentMccCodes(args, records) {
248
268
  const raw = optional(args, 'agent-mcc-codes') || '';
249
- const codes = raw.trim()
269
+ const inputs = raw.trim()
250
270
  ? raw.split(/[,,、\s]+/u).map((code) => code.trim().toUpperCase()).filter(Boolean)
251
271
  : [];
252
- if (codes.length > 3) throw new Error('agent-mcc-codes 最多允许 3 个编码');
272
+ if (inputs.length > 3) throw new Error('agent-mcc-codes 最多允许 3 个编码');
273
+ const codes = inputs.map((code) => {
274
+ if (!/^(?:A\d{4}_)?B\d{4}$/u.test(code)) {
275
+ throw new Error(`agent-mcc-codes 包含非法 MCC 编码:${code};应使用 Axxxx_Bxxxx,当前表内唯一 Bxxxx 可兼容归一化`);
276
+ }
277
+ const normalized = normalizeMccCode(code, records);
278
+ if (!normalized) throw new Error(`agent-mcc-codes 包含当前 MCC 表不存在的编码:${code}`);
279
+ return normalized;
280
+ });
253
281
  if (new Set(codes).size !== codes.length) throw new Error('agent-mcc-codes 包含重复 MCC 编码');
254
282
  return codes;
255
283
  }
256
284
 
257
285
  function agentMccInput(args, query, records) {
258
- const exactCode = directMccCode(query);
259
- if (exactCode && records.has(exactCode) && args['agent-mcc-status'] === undefined && args['agent-mcc-codes'] === undefined) {
286
+ const exactCode = directMccCode(query, records);
287
+ if (exactCode && args['agent-mcc-status'] === undefined && args['agent-mcc-codes'] === undefined) {
260
288
  return {
261
289
  semanticStatus: 'NOT_REQUIRED_DIRECT_CODE',
262
290
  codes: [],
@@ -268,16 +296,52 @@ function agentMccInput(args, query, records) {
268
296
  if (!agentMccStatuses.has(semanticStatus)) {
269
297
  throw new Error('agent-mcc-status 非法,仅支持 MATCHED、INSUFFICIENT、UNSUPPORTED');
270
298
  }
271
- const codes = parseAgentMccCodes(args);
299
+ const codes = parseAgentMccCodes(args, records);
272
300
  if (semanticStatus === 'MATCHED' && codes.length === 0) throw new Error('agent-mcc-status=MATCHED 时必须提供 1 到 3 个 agent-mcc-codes');
273
301
  if (semanticStatus !== 'MATCHED' && codes.length > 0) throw new Error('agent-mcc-status=INSUFFICIENT|UNSUPPORTED 时不得提供 agent-mcc-codes');
274
- for (const code of codes) {
275
- if (!/^A\d{4}_B\d{4}$/u.test(code)) throw new Error(`agent-mcc-codes 包含非法 MCC 编码:${code}`);
276
- if (!records.has(code)) throw new Error(`agent-mcc-codes 包含当前 MCC 表不存在的编码:${code}`);
277
- }
278
302
  return { semanticStatus, codes, directCode: '' };
279
303
  }
280
304
 
305
+ function createMccSelectionReceipt(productType, query, result) {
306
+ const codes = result.mergedCandidateCodes.join(',');
307
+ const table = result.mccTableSummary;
308
+ const binding = [productType, assertMccQuery(query), table.sha256, table.recordCount, codes].join('\n');
309
+ return `${mccSelectionReceiptPrefix}${codes}.${createHash('sha256').update(binding).digest('base64url')}`;
310
+ }
311
+
312
+ function resolveMccSelection(productType, query, selectedInput, receipt) {
313
+ const records = loadMccRecords();
314
+ if (typeof receipt !== 'string' || !receipt.startsWith(mccSelectionReceiptPrefix)) {
315
+ throw new Error('MCC selection receipt 格式非法');
316
+ }
317
+ const body = receipt.slice(mccSelectionReceiptPrefix.length);
318
+ const separator = body.lastIndexOf('.');
319
+ const candidateCodes = separator > 0 ? body.slice(0, separator).split(',') : [];
320
+ const currentTable = mccTableSummary(records);
321
+ if (candidateCodes.length < 2 || candidateCodes.length > 8
322
+ || new Set(candidateCodes).size !== candidateCodes.length
323
+ || candidateCodes.some((code) => !records.has(code))
324
+ || receipt !== createMccSelectionReceipt(productType, query, { mergedCandidateCodes: candidateCodes, mccTableSummary: currentTable })) {
325
+ throw new Error('MCC selection receipt 已失效或与当前产品、经营描述、候选表不匹配');
326
+ }
327
+ const selectedCode = normalizeMccCode(selectedInput, records);
328
+ if (!selectedCode || !candidateCodes.includes(selectedCode)) {
329
+ throw new Error('所选 MCC 不属于当前候选快照');
330
+ }
331
+ const candidate = mccCandidateFromRecord(records.get(selectedCode));
332
+ return {
333
+ matchType: 'UNIQUE',
334
+ semanticStatus: 'NOT_REQUIRED_SELECTION',
335
+ deterministicCandidateCodes: [],
336
+ deterministicStrongCandidateCodes: [],
337
+ deterministicWeakCandidateCodes: [],
338
+ agentCandidateCodes: [],
339
+ mergedCandidateCodes: [selectedCode],
340
+ mccTableSummary: currentTable,
341
+ candidates: [candidate]
342
+ };
343
+ }
344
+
281
345
  function resolveMccResult(query, args) {
282
346
  const records = loadMccRecords();
283
347
  const agent = agentMccInput(args, query, records);
@@ -352,28 +416,49 @@ function renderPlanConfirm(productType, mccCandidate) {
352
416
  }, { productType });
353
417
  }
354
418
 
419
+ function requireCustomerMessageDelivery(messageId, message) {
420
+ process.stderr.write(`${internalPrefix}CUSTOMER_MESSAGE_DELIVERY_REQUIRED=${messageId}\n`);
421
+ return message;
422
+ }
423
+
355
424
  async function runPlanConfirm(args) {
356
425
  const productType = required(args, 'product-type');
357
426
  productFor({ ...args, 'product-type': productType });
358
- return renderPlanConfirm(productType, {
427
+ return requireCustomerMessageDelivery('onboarding.plan.confirm', renderPlanConfirm(productType, {
359
428
  mccCode: required(args, 'mcc-code'),
360
429
  mccName: required(args, 'mcc-name'),
361
430
  qualification: required(args, 'mcc-qualification')
362
- });
431
+ }));
363
432
  }
364
433
 
365
434
  async function runMccResolvePlan(args) {
366
435
  const productType = required(args, 'product-type');
367
436
  productFor({ ...args, 'product-type': productType });
368
437
  emitStageMetricAsync('onboarding.mcc_prepare.start', { productType });
369
- const result = resolveMccResult(required(args, 'query'), args);
370
- process.stderr.write(`ALIPAY_AIPAY_INTERNAL:MCC_RESOLUTION=${JSON.stringify(result)}\n`);
438
+ const query = required(args, 'query');
439
+ const selected = optional(args, 'select');
440
+ const selectionReceipt = optional(args, 'selection-receipt');
441
+ if ((selected === undefined) !== (selectionReceipt === undefined)) {
442
+ throw new Error('--select 与 --selection-receipt 必须同时提供');
443
+ }
444
+ if (selected !== undefined && (args['agent-mcc-status'] !== undefined || args['agent-mcc-codes'] !== undefined)) {
445
+ throw new Error('MCC 候选选择不得重新传入 Agent 语义候选');
446
+ }
447
+ const result = selected === undefined
448
+ ? resolveMccResult(query, args)
449
+ : resolveMccSelection(productType, query, selected, selectionReceipt);
450
+ const { candidates: _internalCandidates, ...controlResult } = result;
451
+ process.stderr.write(`ALIPAY_AIPAY_INTERNAL:MCC_RESOLUTION=${JSON.stringify(controlResult)}\n`);
371
452
  if (result.matchType === 'UNIQUE') {
372
- return renderPlanConfirm(productType, result.candidates[0]);
453
+ return requireCustomerMessageDelivery(
454
+ 'onboarding.plan.confirm',
455
+ renderPlanConfirm(productType, result.candidates[0])
456
+ );
373
457
  }
374
458
  if (result.matchType === 'NONE') {
375
459
  return renderMessage('onboarding.mcc.no_match', 'DEFAULT', {}, { productType });
376
460
  }
461
+ process.stderr.write(`ALIPAY_AIPAY_INTERNAL:MCC_SELECTION_RECEIPT=${createMccSelectionReceipt(productType, query, result)}\n`);
377
462
  return renderMessage('onboarding.mcc.candidates', 'DEFAULT', {
378
463
  mccCandidates: result.candidates
379
464
  }, { productType });
@@ -401,18 +486,24 @@ function splitFieldInput(value) {
401
486
  }
402
487
 
403
488
  function normalizeMaterialField(category, raw) {
404
- if (directFieldAliases.has(raw)) return directFieldAliases.get(raw);
405
- if (category === 'signing' && /签约.*截图/.test(raw)) return ['首页截图', '商品页截图', '支付页截图'];
406
- if (/首页.*截图/.test(raw)) return ['首页截图'];
407
- if (/商品.*截图/.test(raw)) return ['商品页截图'];
408
- if (/支付.*截图/.test(raw)) return ['支付页截图'];
409
- if (category === 'signing' && /^(?:截图|三张截图|3张截图)$/.test(raw)) return ['首页截图', '商品页截图', '支付页截图'];
410
- if (/服务.*价格|服务.*单价/.test(raw)) return ['服务单价'];
411
- if (/请求.*示例.*JSON/i.test(raw)) return ['请求示例JSON'];
412
- if (/iOS.*Bundle/i.test(raw)) return ['iOS Bundle ID(bundleId)'];
413
- if (/Android.*包名/i.test(raw)) return ['Android 应用包名(appPackage)'];
414
- if (/Android.*签名/i.test(raw)) return ['Android 应用签名摘要(appSign)'];
415
- throw new Error(`材料字段不在允许范围:${raw}`);
489
+ let fields;
490
+ if (directFieldAliases.has(raw)) fields = directFieldAliases.get(raw);
491
+ else if (category === 'signing' && /签约.*截图/.test(raw)) fields = ['首页截图', '商品页截图', '支付页截图'];
492
+ else if (/首页.*截图/.test(raw)) fields = ['首页截图'];
493
+ else if (/商品.*截图/.test(raw)) fields = ['商品页截图'];
494
+ else if (/支付.*截图/.test(raw)) fields = ['支付页截图'];
495
+ else if (category === 'signing' && /^(?:截图|三张截图|3张截图)$/.test(raw)) fields = ['首页截图', '商品页截图', '支付页截图'];
496
+ else if (/服务.*价格|服务.*单价/.test(raw)) fields = ['服务单价'];
497
+ else if (/请求.*示例.*JSON/i.test(raw)) fields = ['请求示例JSON'];
498
+ else if (/iOS.*Bundle/i.test(raw)) fields = ['iOS Bundle ID(bundleId)'];
499
+ else if (/Android.*包名/i.test(raw)) fields = ['Android 应用包名(appPackage)'];
500
+ else if (/Android.*签名/i.test(raw)) fields = ['Android 应用签名摘要(appSign)'];
501
+
502
+ const allowed = materialFieldsByCategory[category] || [];
503
+ if (!fields || fields.some((field) => !allowed.includes(field))) {
504
+ throw new Error(`材料字段不适用于 ${category}:${raw};允许字段:${allowed.join('、')}`);
505
+ }
506
+ return fields;
416
507
  }
417
508
 
418
509
  function normalizeMissingFields(category, missingFields) {
@@ -520,68 +611,73 @@ async function runApplicationRecheck(args) {
520
611
  return `${facts}\n\n${renderMessage('application.candidate.select', selectionVariant, {})}`;
521
612
  }
522
613
 
523
- function normalizeCloseoutInput(input) {
524
- if (!input || typeof input !== 'object' || Array.isArray(input)) {
525
- throw new Error('closeout 输入必须是 JSON 对象');
526
- }
527
- const variables = { ...input };
528
- if (variables.applicationOperation !== undefined) {
529
- const operation = variables.applicationOperation;
530
- if (!operation || typeof operation !== 'object' || Array.isArray(operation)) {
531
- throw new Error('applicationOperation 必须是 JSON 对象');
532
- }
533
- const allowedOperationKeys = new Set(['appId', 'actualStatus', 'nextAction']);
534
- for (const key of Object.keys(operation)) {
535
- if (!allowedOperationKeys.has(key)) throw new Error(`applicationOperation 包含未知字段 ${key}`);
536
- }
537
- variables.applicationOperationAppId = operation.appId;
538
- variables.applicationOperationActualStatus = operation.actualStatus;
539
- variables.applicationOperationNextAction = operation.nextAction;
540
- delete variables.applicationOperation;
541
- }
542
- for (const key of [
543
- 'sandboxConfigState',
544
- 'manualVerificationItems',
545
- 'applicationOperationAppId',
546
- 'applicationOperationActualStatus',
547
- 'applicationOperationNextAction'
548
- ]) {
549
- if (variables[key] === '') delete variables[key];
550
- }
551
- return variables;
552
- }
553
-
554
614
  function closeoutInputFromArgs(args) {
555
- if (optional(args, 'input-json') !== undefined) return parseJsonArg(args, 'input-json', 'closeout 输入');
556
- const mapping = {
557
- 'product-name': 'productName',
558
- 'process-result-title': 'processResultTitle',
559
- 'integration-result': 'integrationResult',
615
+ const retiredArgs = [
616
+ 'input-json',
617
+ 'product-name',
618
+ 'process-result-title',
619
+ 'application-operation-actual-status',
620
+ 'next-flow-reminder'
621
+ ].filter((name) => Object.prototype.hasOwnProperty.call(args, name));
622
+ if (retiredArgs.length > 0) {
623
+ throw new Error(`closeout 已移除旧参数:${retiredArgs.map((name) => `--${name}`).join('、')}`);
624
+ }
625
+ const productType = required(args, 'product-type');
626
+ const product = productFor({ 'product-type': productType });
627
+ const rootIntent = required(args, 'root-intent');
628
+ if (!['onboarding_only', 'full_process'].includes(rootIntent)) {
629
+ throw new Error('root-intent 非法,仅支持 onboarding_only、full_process');
630
+ }
631
+ if (productType !== 'aipay' && Object.prototype.hasOwnProperty.call(args, 'service-result')) {
632
+ throw new Error('webpay/apppay closeout 的 service-result 由 runner 派生,禁止传入 --service-result');
633
+ }
634
+ if (rootIntent === 'onboarding_only' && Object.prototype.hasOwnProperty.call(args, 'integration-result')) {
635
+ throw new Error('onboarding_only closeout 的 integration-result 由 runner 派生,禁止传入 --integration-result');
636
+ }
637
+ const signingResult = required(args, 'signing-result');
638
+ const applicationResult = required(args, 'application-result');
639
+ const remainingActions = required(args, 'remaining-actions');
640
+ const serviceResult = productType === 'aipay' ? required(args, 'service-result') : '无需处理';
641
+ const integrationResult = rootIntent === 'onboarding_only'
642
+ ? '不在本轮执行范围'
643
+ : required(args, 'integration-result');
644
+ const manualVerificationItems = optional(args, 'manual-verification-items');
645
+ const hasManualVerificationItems = manualVerificationItems !== undefined && manualVerificationItems !== '无';
646
+ const serviceComplete = productType === 'aipay'
647
+ ? ['已复用', '创建成功,状态未取得', '修改成功,状态未取得', '已完成'].includes(serviceResult)
648
+ : true;
649
+ const branchesComplete = signingResult === '已生效'
650
+ && serviceComplete
651
+ && applicationResult === '已上线且配置完整'
652
+ && remainingActions === '无'
653
+ && !hasManualVerificationItems;
654
+ const input = {
655
+ productName: product.productName,
656
+ processResultTitle: branchesComplete ? '支付产品-产品开通已完成' : '流程进展',
657
+ integrationResult,
658
+ signingResult,
659
+ serviceResult,
660
+ applicationResult,
661
+ remainingActions,
662
+ nextFlowReminder: rootIntent === 'onboarding_only'
663
+ ? '还需完成支付产品-代码开发,才能在业务系统中实际发起支付。'
664
+ : '代码开发已在本轮执行;后续只按上表实际待办继续。'
665
+ };
666
+ const optionalMapping = {
560
667
  'sandbox-config-state': 'sandboxConfigState',
561
- 'signing-result': 'signingResult',
562
- 'service-result': 'serviceResult',
563
- 'application-result': 'applicationResult',
564
- 'remaining-actions': 'remainingActions',
565
668
  'manual-verification-items': 'manualVerificationItems',
566
669
  'application-operation-app-id': 'applicationOperationAppId',
567
- 'application-operation-actual-status': 'applicationOperationActualStatus',
568
- 'application-operation-next-action': 'applicationOperationNextAction',
569
- 'next-flow-reminder': 'nextFlowReminder'
670
+ 'application-operation-next-action': 'applicationOperationNextAction'
570
671
  };
571
- const hasTypedInput = Object.keys(mapping).some((name) => Object.prototype.hasOwnProperty.call(args, name));
572
- if (!hasTypedInput) return null;
573
- const input = {};
574
- for (const [argName, fieldName] of Object.entries(mapping)) {
575
- if (Object.prototype.hasOwnProperty.call(args, argName)) input[fieldName] = args[argName];
576
- }
577
- for (const name of ['product-name', 'process-result-title', 'integration-result', 'signing-result', 'service-result', 'application-result', 'remaining-actions', 'next-flow-reminder']) {
578
- required(args, name);
672
+ for (const [argName, fieldName] of Object.entries(optionalMapping)) {
673
+ if (Object.prototype.hasOwnProperty.call(args, argName)) input[fieldName] = required(args, argName);
579
674
  }
675
+ if (input.applicationOperationAppId) input.applicationOperationActualStatus = applicationResult;
580
676
  return input;
581
677
  }
582
678
 
583
679
  async function runCloseout(args) {
584
- const variables = normalizeCloseoutInput(closeoutInputFromArgs(args) || await readStdin());
680
+ const variables = closeoutInputFromArgs(args);
585
681
  const rendered = renderMessage('process.partial_result', 'DEFAULT', variables);
586
682
  emitTerminalMetric({ productName: variables.productName });
587
683
  return rendered;