@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.
- package/dist/commands/install-current.d.ts +4 -0
- package/dist/commands/install-current.d.ts.map +1 -0
- package/dist/commands/install-current.js +55 -0
- package/dist/commands/install-current.js.map +1 -0
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +62 -29
- package/dist/commands/install.js.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/config.d.ts +6 -4
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +15 -19
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/file.d.ts +7 -0
- package/dist/utils/file.d.ts.map +1 -1
- package/dist/utils/file.js +29 -11
- package/dist/utils/file.js.map +1 -1
- package/package.json +1 -1
- package/skill/SKILL.md +3 -3
- package/skill/VERSION +1 -1
- package/skill/references/integration/flow.md +2 -2
- package/skill/references/normal/full-process-routing.md +3 -3
- package/skill/references/normal/scripts/auth_runtime_runner.mjs +60 -0
- package/skill/references/normal/scripts/flow_loader.mjs +1 -0
- package/skill/references/normal/scripts/integration_message_runner.mjs +1 -0
- package/skill/references/normal/scripts/onboarding_discovery_runner.mjs +10 -1
- package/skill/references/normal/scripts/onboarding_message_runner.mjs +177 -81
- package/skill/references/normal/scripts/open_official_url.sh +60 -5
- package/skill/references/normal/scripts/render_customer_message.mjs +8 -3
- package/skill/references/normal/scripts/runtime.mjs +7 -1
- package/skill/references/normal/scripts/self_update.mjs +193 -45
- package/skill/references/normal/self-update.md +5 -3
- package/skill/references/onboarding/flow.md +70 -90
- package/skill/references/onboarding/modules/app-release.md +3 -2
- package/skill/references/onboarding/modules/authorization.md +1 -1
- package/skill/references/onboarding/modules/error-handling.md +3 -1
- package/skill/references/onboarding/modules/mcc-reference.md +128 -128
- package/skill/references/onboarding/modules/scripts/network_retry.sh +21 -2
- package/skill/references/runtime-entry.md +4 -4
package/dist/utils/file.js.map
CHANGED
|
@@ -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
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`
|
|
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`
|
|
29
|
+
除 `RETRY_WITH_NETWORK` 的一次原样重试外,只完整读取同一 `SKILL_DIR` 的 `references/runtime-entry.md`,在当前上下文记录 `ALIPAY_AIPAY_RUNTIME_ENTRY_LOADED=true` 和规范化路径,再按原请求路由。`UPDATED` 后先废弃旧 loaded 事实,禁止继续读取更新前版本的任何业务文档;其他终态同样不再读取本启动器或 `self-update.md` 补充规则。
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
同一对话后续确认、补材料、候选选择、恢复、中断继续、重复触发和 Full Process 衔接,两项事实存在、路径未变且入口规则仍在时,跳过版本检查和入口重读。仅 `UPDATED`、路径变化或上下文压缩导致规则不可用时重读并刷新;事实不落盘。
|
package/skill/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.5.
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
269
|
+
const inputs = raw.trim()
|
|
250
270
|
? raw.split(/[,,、\s]+/u).map((code) => code.trim().toUpperCase()).filter(Boolean)
|
|
251
271
|
: [];
|
|
252
|
-
if (
|
|
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 &&
|
|
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
|
|
370
|
-
|
|
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
|
|
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
|
-
|
|
405
|
-
if (
|
|
406
|
-
if (
|
|
407
|
-
if (
|
|
408
|
-
if (
|
|
409
|
-
if (
|
|
410
|
-
if (
|
|
411
|
-
if (
|
|
412
|
-
if (/
|
|
413
|
-
if (/
|
|
414
|
-
if (/Android
|
|
415
|
-
|
|
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
|
-
|
|
556
|
-
|
|
557
|
-
'product-name'
|
|
558
|
-
'process-result-title'
|
|
559
|
-
'
|
|
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-
|
|
568
|
-
'application-operation-next-action': 'applicationOperationNextAction',
|
|
569
|
-
'next-flow-reminder': 'nextFlowReminder'
|
|
670
|
+
'application-operation-next-action': 'applicationOperationNextAction'
|
|
570
671
|
};
|
|
571
|
-
const
|
|
572
|
-
|
|
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 =
|
|
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;
|