@alipay/alipay-aipay 1.5.7 → 1.5.8-beta

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.
@@ -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-beta",
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-beta
@@ -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
 
@@ -47,6 +47,12 @@ const categoryNames = {
47
47
  application: '应用资料'
48
48
  };
49
49
 
50
+ const materialFieldsByCategory = Object.freeze({
51
+ signing: ['APP名称', '首页截图', '商品页截图', '支付页截图'],
52
+ service: ['服务名称', '服务描述', '服务地址', '服务单价', '请求示例JSON'],
53
+ application: ['iOS Bundle ID(bundleId)', 'Android 应用包名(appPackage)', 'Android 应用签名摘要(appSign)', '应用公钥']
54
+ });
55
+
50
56
  const materialStates = {
51
57
  INITIAL: { variant: 'INITIAL', currentStatus: '待补充' },
52
58
  PARTIAL: { variant: 'PARTIAL', currentStatus: '部分已提供,待补充' },
@@ -192,6 +198,7 @@ const mccAliasRules = [
192
198
  }
193
199
  ];
194
200
  const agentMccStatuses = new Set(['MATCHED', 'INSUFFICIENT', 'UNSUPPORTED']);
201
+ const mccSelectionReceiptPrefix = 'AIPAY_MCC_SELECTION_V1.';
195
202
 
196
203
  function mccCandidateFromRecord(record) {
197
204
  return {
@@ -213,9 +220,21 @@ function mccTableSummary(records = loadMccRecords()) {
213
220
  };
214
221
  }
215
222
 
216
- function directMccCode(query) {
223
+ function normalizeMccCode(value, records) {
224
+ const raw = value.trim().toUpperCase();
225
+ if (/^A\d{4}_B\d{4}$/u.test(raw)) return records.has(raw) ? raw : '';
226
+ if (!/^B\d{4}$/u.test(raw)) return '';
227
+ const matches = [...records.keys()].filter((code) => code.endsWith(`_${raw}`));
228
+ if (matches.length > 1) throw new Error(`MCC 二级编码 ${raw} 在当前表中不唯一,必须提供完整 Axxxx_Bxxxx 编码`);
229
+ return matches[0] || '';
230
+ }
231
+
232
+ function directMccCode(query, records) {
217
233
  const raw = query.trim().toUpperCase();
218
- return /^A\d{4}_B\d{4}$/u.test(raw) ? raw : '';
234
+ if (!/^(?:A\d{4}_)?B\d{4}$/u.test(raw)) return '';
235
+ const normalized = normalizeMccCode(raw, records);
236
+ if (!normalized) throw new Error(`当前 MCC 表不存在编码:${raw}`);
237
+ return normalized;
219
238
  }
220
239
 
221
240
  function deterministicMccMatches(query, { limit = 8 } = {}) {
@@ -244,19 +263,27 @@ function deterministicMccMatches(query, { limit = 8 } = {}) {
244
263
  .slice(0, limit);
245
264
  }
246
265
 
247
- function parseAgentMccCodes(args) {
266
+ function parseAgentMccCodes(args, records) {
248
267
  const raw = optional(args, 'agent-mcc-codes') || '';
249
- const codes = raw.trim()
268
+ const inputs = raw.trim()
250
269
  ? raw.split(/[,,、\s]+/u).map((code) => code.trim().toUpperCase()).filter(Boolean)
251
270
  : [];
252
- if (codes.length > 3) throw new Error('agent-mcc-codes 最多允许 3 个编码');
271
+ if (inputs.length > 3) throw new Error('agent-mcc-codes 最多允许 3 个编码');
272
+ const codes = inputs.map((code) => {
273
+ if (!/^(?:A\d{4}_)?B\d{4}$/u.test(code)) {
274
+ throw new Error(`agent-mcc-codes 包含非法 MCC 编码:${code};应使用 Axxxx_Bxxxx,当前表内唯一 Bxxxx 可兼容归一化`);
275
+ }
276
+ const normalized = normalizeMccCode(code, records);
277
+ if (!normalized) throw new Error(`agent-mcc-codes 包含当前 MCC 表不存在的编码:${code}`);
278
+ return normalized;
279
+ });
253
280
  if (new Set(codes).size !== codes.length) throw new Error('agent-mcc-codes 包含重复 MCC 编码');
254
281
  return codes;
255
282
  }
256
283
 
257
284
  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) {
285
+ const exactCode = directMccCode(query, records);
286
+ if (exactCode && args['agent-mcc-status'] === undefined && args['agent-mcc-codes'] === undefined) {
260
287
  return {
261
288
  semanticStatus: 'NOT_REQUIRED_DIRECT_CODE',
262
289
  codes: [],
@@ -268,16 +295,52 @@ function agentMccInput(args, query, records) {
268
295
  if (!agentMccStatuses.has(semanticStatus)) {
269
296
  throw new Error('agent-mcc-status 非法,仅支持 MATCHED、INSUFFICIENT、UNSUPPORTED');
270
297
  }
271
- const codes = parseAgentMccCodes(args);
298
+ const codes = parseAgentMccCodes(args, records);
272
299
  if (semanticStatus === 'MATCHED' && codes.length === 0) throw new Error('agent-mcc-status=MATCHED 时必须提供 1 到 3 个 agent-mcc-codes');
273
300
  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
301
  return { semanticStatus, codes, directCode: '' };
279
302
  }
280
303
 
304
+ function createMccSelectionReceipt(productType, query, result) {
305
+ const codes = result.mergedCandidateCodes.join(',');
306
+ const table = result.mccTableSummary;
307
+ const binding = [productType, assertMccQuery(query), table.sha256, table.recordCount, codes].join('\n');
308
+ return `${mccSelectionReceiptPrefix}${codes}.${createHash('sha256').update(binding).digest('base64url')}`;
309
+ }
310
+
311
+ function resolveMccSelection(productType, query, selectedInput, receipt) {
312
+ const records = loadMccRecords();
313
+ if (typeof receipt !== 'string' || !receipt.startsWith(mccSelectionReceiptPrefix)) {
314
+ throw new Error('MCC selection receipt 格式非法');
315
+ }
316
+ const body = receipt.slice(mccSelectionReceiptPrefix.length);
317
+ const separator = body.lastIndexOf('.');
318
+ const candidateCodes = separator > 0 ? body.slice(0, separator).split(',') : [];
319
+ const currentTable = mccTableSummary(records);
320
+ if (candidateCodes.length < 2 || candidateCodes.length > 8
321
+ || new Set(candidateCodes).size !== candidateCodes.length
322
+ || candidateCodes.some((code) => !records.has(code))
323
+ || receipt !== createMccSelectionReceipt(productType, query, { mergedCandidateCodes: candidateCodes, mccTableSummary: currentTable })) {
324
+ throw new Error('MCC selection receipt 已失效或与当前产品、经营描述、候选表不匹配');
325
+ }
326
+ const selectedCode = normalizeMccCode(selectedInput, records);
327
+ if (!selectedCode || !candidateCodes.includes(selectedCode)) {
328
+ throw new Error('所选 MCC 不属于当前候选快照');
329
+ }
330
+ const candidate = mccCandidateFromRecord(records.get(selectedCode));
331
+ return {
332
+ matchType: 'UNIQUE',
333
+ semanticStatus: 'NOT_REQUIRED_SELECTION',
334
+ deterministicCandidateCodes: [],
335
+ deterministicStrongCandidateCodes: [],
336
+ deterministicWeakCandidateCodes: [],
337
+ agentCandidateCodes: [],
338
+ mergedCandidateCodes: [selectedCode],
339
+ mccTableSummary: currentTable,
340
+ candidates: [candidate]
341
+ };
342
+ }
343
+
281
344
  function resolveMccResult(query, args) {
282
345
  const records = loadMccRecords();
283
346
  const agent = agentMccInput(args, query, records);
@@ -366,14 +429,27 @@ async function runMccResolvePlan(args) {
366
429
  const productType = required(args, 'product-type');
367
430
  productFor({ ...args, 'product-type': productType });
368
431
  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`);
432
+ const query = required(args, 'query');
433
+ const selected = optional(args, 'select');
434
+ const selectionReceipt = optional(args, 'selection-receipt');
435
+ if ((selected === undefined) !== (selectionReceipt === undefined)) {
436
+ throw new Error('--select 与 --selection-receipt 必须同时提供');
437
+ }
438
+ if (selected !== undefined && (args['agent-mcc-status'] !== undefined || args['agent-mcc-codes'] !== undefined)) {
439
+ throw new Error('MCC 候选选择不得重新传入 Agent 语义候选');
440
+ }
441
+ const result = selected === undefined
442
+ ? resolveMccResult(query, args)
443
+ : resolveMccSelection(productType, query, selected, selectionReceipt);
444
+ const { candidates: _internalCandidates, ...controlResult } = result;
445
+ process.stderr.write(`ALIPAY_AIPAY_INTERNAL:MCC_RESOLUTION=${JSON.stringify(controlResult)}\n`);
371
446
  if (result.matchType === 'UNIQUE') {
372
447
  return renderPlanConfirm(productType, result.candidates[0]);
373
448
  }
374
449
  if (result.matchType === 'NONE') {
375
450
  return renderMessage('onboarding.mcc.no_match', 'DEFAULT', {}, { productType });
376
451
  }
452
+ process.stderr.write(`ALIPAY_AIPAY_INTERNAL:MCC_SELECTION_RECEIPT=${createMccSelectionReceipt(productType, query, result)}\n`);
377
453
  return renderMessage('onboarding.mcc.candidates', 'DEFAULT', {
378
454
  mccCandidates: result.candidates
379
455
  }, { productType });
@@ -401,18 +477,24 @@ function splitFieldInput(value) {
401
477
  }
402
478
 
403
479
  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}`);
480
+ let fields;
481
+ if (directFieldAliases.has(raw)) fields = directFieldAliases.get(raw);
482
+ else if (category === 'signing' && /签约.*截图/.test(raw)) fields = ['首页截图', '商品页截图', '支付页截图'];
483
+ else if (/首页.*截图/.test(raw)) fields = ['首页截图'];
484
+ else if (/商品.*截图/.test(raw)) fields = ['商品页截图'];
485
+ else if (/支付.*截图/.test(raw)) fields = ['支付页截图'];
486
+ else if (category === 'signing' && /^(?:截图|三张截图|3张截图)$/.test(raw)) fields = ['首页截图', '商品页截图', '支付页截图'];
487
+ else if (/服务.*价格|服务.*单价/.test(raw)) fields = ['服务单价'];
488
+ else if (/请求.*示例.*JSON/i.test(raw)) fields = ['请求示例JSON'];
489
+ else if (/iOS.*Bundle/i.test(raw)) fields = ['iOS Bundle ID(bundleId)'];
490
+ else if (/Android.*包名/i.test(raw)) fields = ['Android 应用包名(appPackage)'];
491
+ else if (/Android.*签名/i.test(raw)) fields = ['Android 应用签名摘要(appSign)'];
492
+
493
+ const allowed = materialFieldsByCategory[category] || [];
494
+ if (!fields || fields.some((field) => !allowed.includes(field))) {
495
+ throw new Error(`材料字段不适用于 ${category}:${raw};允许字段:${allowed.join('、')}`);
496
+ }
497
+ return fields;
416
498
  }
417
499
 
418
500
  function normalizeMissingFields(category, missingFields) {
@@ -520,68 +602,73 @@ async function runApplicationRecheck(args) {
520
602
  return `${facts}\n\n${renderMessage('application.candidate.select', selectionVariant, {})}`;
521
603
  }
522
604
 
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
605
  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',
606
+ const retiredArgs = [
607
+ 'input-json',
608
+ 'product-name',
609
+ 'process-result-title',
610
+ 'application-operation-actual-status',
611
+ 'next-flow-reminder'
612
+ ].filter((name) => Object.prototype.hasOwnProperty.call(args, name));
613
+ if (retiredArgs.length > 0) {
614
+ throw new Error(`closeout 已移除旧参数:${retiredArgs.map((name) => `--${name}`).join('、')}`);
615
+ }
616
+ const productType = required(args, 'product-type');
617
+ const product = productFor({ 'product-type': productType });
618
+ const rootIntent = required(args, 'root-intent');
619
+ if (!['onboarding_only', 'full_process'].includes(rootIntent)) {
620
+ throw new Error('root-intent 非法,仅支持 onboarding_only、full_process');
621
+ }
622
+ if (productType !== 'aipay' && Object.prototype.hasOwnProperty.call(args, 'service-result')) {
623
+ throw new Error('webpay/apppay closeout 的 service-result 由 runner 派生,禁止传入 --service-result');
624
+ }
625
+ if (rootIntent === 'onboarding_only' && Object.prototype.hasOwnProperty.call(args, 'integration-result')) {
626
+ throw new Error('onboarding_only closeout 的 integration-result 由 runner 派生,禁止传入 --integration-result');
627
+ }
628
+ const signingResult = required(args, 'signing-result');
629
+ const applicationResult = required(args, 'application-result');
630
+ const remainingActions = required(args, 'remaining-actions');
631
+ const serviceResult = productType === 'aipay' ? required(args, 'service-result') : '无需处理';
632
+ const integrationResult = rootIntent === 'onboarding_only'
633
+ ? '不在本轮执行范围'
634
+ : required(args, 'integration-result');
635
+ const manualVerificationItems = optional(args, 'manual-verification-items');
636
+ const hasManualVerificationItems = manualVerificationItems !== undefined && manualVerificationItems !== '无';
637
+ const serviceComplete = productType === 'aipay'
638
+ ? ['已复用', '创建成功,状态未取得', '修改成功,状态未取得', '已完成'].includes(serviceResult)
639
+ : true;
640
+ const branchesComplete = signingResult === '已生效'
641
+ && serviceComplete
642
+ && applicationResult === '已上线且配置完整'
643
+ && remainingActions === '无'
644
+ && !hasManualVerificationItems;
645
+ const input = {
646
+ productName: product.productName,
647
+ processResultTitle: branchesComplete ? '支付产品-产品开通已完成' : '流程进展',
648
+ integrationResult,
649
+ signingResult,
650
+ serviceResult,
651
+ applicationResult,
652
+ remainingActions,
653
+ nextFlowReminder: rootIntent === 'onboarding_only'
654
+ ? '还需完成支付产品-代码开发,才能在业务系统中实际发起支付。'
655
+ : '代码开发已在本轮执行;后续只按上表实际待办继续。'
656
+ };
657
+ const optionalMapping = {
560
658
  'sandbox-config-state': 'sandboxConfigState',
561
- 'signing-result': 'signingResult',
562
- 'service-result': 'serviceResult',
563
- 'application-result': 'applicationResult',
564
- 'remaining-actions': 'remainingActions',
565
659
  'manual-verification-items': 'manualVerificationItems',
566
660
  'application-operation-app-id': 'applicationOperationAppId',
567
- 'application-operation-actual-status': 'applicationOperationActualStatus',
568
- 'application-operation-next-action': 'applicationOperationNextAction',
569
- 'next-flow-reminder': 'nextFlowReminder'
661
+ 'application-operation-next-action': 'applicationOperationNextAction'
570
662
  };
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);
663
+ for (const [argName, fieldName] of Object.entries(optionalMapping)) {
664
+ if (Object.prototype.hasOwnProperty.call(args, argName)) input[fieldName] = required(args, argName);
579
665
  }
666
+ if (input.applicationOperationAppId) input.applicationOperationActualStatus = applicationResult;
580
667
  return input;
581
668
  }
582
669
 
583
670
  async function runCloseout(args) {
584
- const variables = normalizeCloseoutInput(closeoutInputFromArgs(args) || await readStdin());
671
+ const variables = closeoutInputFromArgs(args);
585
672
  const rendered = renderMessage('process.partial_result', 'DEFAULT', variables);
586
673
  emitTerminalMetric({ productName: variables.productName });
587
674
  return rendered;
@@ -55,6 +55,10 @@ fi
55
55
 
56
56
  OS_NAME="$(uname -s 2>/dev/null || true)"
57
57
  OPEN_ERROR_KIND_REPORTED=false
58
+ OPEN_TIMEOUT_MS=3000
59
+ if [ "${ALIPAY_AIPAY_TEST_MODE:-}" = 1 ] && [[ "${ALIPAY_AIPAY_OPEN_TIMEOUT_MS:-}" =~ ^[1-9][0-9]*$ ]]; then
60
+ OPEN_TIMEOUT_MS="$ALIPAY_AIPAY_OPEN_TIMEOUT_MS"
61
+ fi
58
62
 
59
63
  emit_internal() { printf 'ALIPAY_AIPAY_INTERNAL:%s\n' "$*" >&2; }
60
64
  emit_open_error_kind() {
@@ -72,14 +76,65 @@ diagnose_failed_open() {
72
76
  }
73
77
 
74
78
  run_open_command() {
75
- local KIND="$1" ERROR_FILE OPEN_RC
79
+ local KIND="$1" ERROR_FILE OPEN_RC OPEN_TIMEOUT_SENTINEL
76
80
  shift
77
81
  ERROR_FILE=$(mktemp "${TMPDIR:-/tmp}/alipay-aipay-open.XXXXXX" 2>/dev/null || true)
78
- [ -n "$ERROR_FILE" ] || { "$@" >/dev/null 2>/dev/null; return $?; }
79
- "$@" >/dev/null 2>"$ERROR_FILE"
82
+ OPEN_TIMEOUT_SENTINEL="ALIPAY_AIPAY_OPEN_TIMEOUT_${$}_${RANDOM:-0}"
83
+ node -e '
84
+ const { spawn } = require("node:child_process");
85
+ const [timeoutSentinel, timeout, command, ...args] = process.argv.slice(1);
86
+ const child = spawn(command, args, {
87
+ detached: true,
88
+ stdio: ["ignore", "ignore", "pipe"],
89
+ });
90
+
91
+ let stderr = "";
92
+ let finished = false;
93
+ let timedOut = false;
94
+ const outputLimit = 64 * 1024;
95
+ const appendStderr = (chunk) => {
96
+ stderr += chunk.toString("utf8");
97
+ if (stderr.length > outputLimit) stderr = stderr.slice(-outputLimit);
98
+ };
99
+ const finish = (code, includeTimeoutSentinel = false) => {
100
+ if (finished) return;
101
+ finished = true;
102
+ clearTimeout(timeoutTimer);
103
+ const output = `${stderr}${includeTimeoutSentinel ? `${timeoutSentinel}\n` : ""}`;
104
+ if (output) process.stderr.write(output, () => process.exit(code));
105
+ else process.exit(code);
106
+ };
107
+ const killGroup = (signal) => {
108
+ if (!child.pid) return;
109
+ try { process.kill(-child.pid, signal); } catch {}
110
+ };
111
+
112
+ child.stderr.on("data", appendStderr);
113
+ child.once("error", () => finish(125));
114
+ child.once("close", (status) => {
115
+ if (!timedOut) finish(Number.isInteger(status) ? status : 125);
116
+ });
117
+
118
+ const timeoutTimer = setTimeout(() => {
119
+ timedOut = true;
120
+ killGroup("SIGTERM");
121
+ setTimeout(() => {
122
+ killGroup("SIGKILL");
123
+ finish(124, true);
124
+ }, 100);
125
+ }, Number(timeout));
126
+
127
+ if (!Number.isFinite(Number(timeout)) || Number(timeout) <= 0) {
128
+ finish(125);
129
+ }
130
+ ' "$OPEN_TIMEOUT_SENTINEL" "$OPEN_TIMEOUT_MS" "$@" >/dev/null 2>"${ERROR_FILE:-/dev/null}"
80
131
  OPEN_RC=$?
81
- [ "$OPEN_RC" -eq 0 ] || diagnose_failed_open "$KIND" "$ERROR_FILE"
82
- rm -f "$ERROR_FILE" 2>/dev/null || true
132
+ if [ "$OPEN_RC" -eq 124 ] && [ -n "$ERROR_FILE" ] && grep -Fqx -- "$OPEN_TIMEOUT_SENTINEL" "$ERROR_FILE"; then
133
+ emit_open_error_kind "OPENER_TIMEOUT"
134
+ elif [ "$OPEN_RC" -ne 0 ] && [ -n "$ERROR_FILE" ]; then
135
+ diagnose_failed_open "$KIND" "$ERROR_FILE"
136
+ fi
137
+ [ -z "$ERROR_FILE" ] || rm -f "$ERROR_FILE" 2>/dev/null || true
83
138
  return "$OPEN_RC"
84
139
  }
85
140
 
@@ -71,8 +71,13 @@ export function loadMccRecords() {
71
71
  }
72
72
  if (!primaryCode || !/^\|.*\|$/.test(line)) continue;
73
73
  const cells = line.split('|').slice(1, -1).map((cell) => cell.trim());
74
- if (cells.length < 4 || !/^B\d{4}$/.test(cells[1])) continue;
75
- const code = `${primaryCode}_${cells[1]}`;
74
+ if (cells.length < 4) continue;
75
+ const code = /^B\d{4}$/u.test(cells[1])
76
+ ? `${primaryCode}_${cells[1]}`
77
+ : new RegExp(`^${primaryCode}_B\\d{4}$`, 'u').test(cells[1])
78
+ ? cells[1]
79
+ : '';
80
+ if (!code) continue;
76
81
  records.set(code, { code, name: cells[0], applicableBusinesses: cells[2], qualification: cells[3] });
77
82
  }
78
83
  return records;
@@ -683,7 +688,7 @@ const managedEntrypoints = {
683
688
  reason: '服务候选选择必须由 runner 绑定同一份结构化候选快照生成,禁止脚本或 Agent 单独调用。'
684
689
  },
685
690
  'process.partial_result': {
686
- command: 'node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" onboarding-message closeout --product-name <name> --process-result-title <title> --integration-result <result> --signing-result <result> --service-result <result> --application-result <result> --remaining-actions <actions> --next-flow-reminder <reminder>',
691
+ command: 'node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" onboarding-message closeout --product-type <aipay|webpay|apppay> --root-intent <onboarding_only|full_process> --signing-result <result> --application-result <result> --remaining-actions <actions> [--integration-result <result>] [--service-result <result>]',
687
692
  reason: '产品开通 Step 6 最终收口必须由 runner 统一合并代码开发状态、产品开通分支状态、最近应用分支结果和上线前关键点;禁止 Agent 手写、缩写或删减 AI 网页应用收款限制引导。'
688
693
  },
689
694
  'sandbox.android.client': {
@@ -180,7 +180,7 @@ async function dispatch(domain, args) {
180
180
  }
181
181
  if (domain === 'self-update') {
182
182
  const { runSelfUpdateCli } = await import('./self_update.mjs');
183
- const outcome = runSelfUpdateCli(cliArgv(args));
183
+ const outcome = await runSelfUpdateCli(cliArgv(args));
184
184
  const version = outcome.version ? `=${outcome.version.raw}` : '';
185
185
  process.stderr.write(`SELF_UPDATE:${outcome.kind}${version}\n`);
186
186
  return;