@alipay/alipay-aipay 1.7.6 → 1.7.7

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alipay/alipay-aipay",
3
- "version": "1.7.6",
3
+ "version": "1.7.7",
4
4
  "description": "支付宝 AI 付接入 Skill 安装包 - 优先安装 Agent Skill,并在 macOS/Linux 后台准备用户级 CLI 工具",
5
5
  "type": "module",
6
6
  "bin": {
@@ -55,7 +55,7 @@
55
55
  "typescript": "^5.3.3"
56
56
  },
57
57
  "alipayAipayChannels": {
58
- "stable": "1.7.3",
59
- "pre": "1.7.5-pre"
58
+ "stable": "1.7.4",
59
+ "pre": "1.7.6-pre"
60
60
  }
61
61
  }
package/skill/VERSION CHANGED
@@ -1 +1 @@
1
- 1.7.3
1
+ 1.7.4
@@ -141,12 +141,12 @@ source ~/.bashrc # Linux/bash
141
141
 
142
142
  > ⚠️ **强制规范:检测结果仅供内部使用,禁止向用户输出!**
143
143
 
144
- AI 工具由 `scripts/detect_dev_tool.sh` 检测;`init_alipay_cli_context` 设置 `DEV_TOOL_NAME`、`PLATFORM`,把当前 `run_id` 作为 `PLATFORM_ID`(不受遥测开关影响),并从当前生效 Skill 的 `VERSION` 和同源 `machineUserID` 动态生成 `ALIPAYCLI_BIZ_INFO={"skill":"alipay-aipay","skill_version":"v<当前 VERSION>","skill_user_id":"machine_<32位匿名机器哈希>"}`;极端环境无法取得合法 `machine_` 标识时只省略 `skill_user_id`,不写 `anonymous_uid` 且不阻断业务调用。所有携带 `PLATFORM` 的 Skill 业务 CLI 调用均携带该 JSON,外部同名值会被覆盖;`alipay-cli version` 等不携带 `PLATFORM` 的安装和环境探测不注入该变量。产品确认后,Onboarding 还严格映射 `aipay|webpay|apppay` 为 `PRODUCT=AIPAY|WEBPAY|APPPAY`,其环境检查、登录、查询、写入和上传均携带该值,但 `PRODUCT` 和 `ALIPAYCLI_BIZ_INFO` 都不写入 MCP JSON;Integration 产品确定前的环境检查和快速沙箱不传 `PRODUCT`。新建 run 优先采用宿主 `COZE_PROJECT_ID`、`MEOO_PROJECT_ID` 或 MIAODA 的 `VITE_APP_ID`/`PLATFORM_ID`,并复用为 `PLATFORM_ID`。
144
+ AI 工具由 `scripts/detect_dev_tool.sh` 检测;`init_alipay_cli_context` 设置 `DEV_TOOL_NAME`、`PLATFORM`。`run_id` 在根意图与产品首次唯一确定时由 runtime 生成 UUID;同一组合的 active run 复用,组合变化或旧 run 已关闭时生成新 UUID,第三方项目 ID 不参与生成。`common.sh` 为业务 `PLATFORM_ID` 优先使用有效的第三方项目 ID(`COZE_PROJECT_ID`、`MEOO_PROJECT_ID` 或 MIAODA 的 `VITE_APP_ID`/`PLATFORM_ID`),缺失时回退当前 `run_id`;遥测开关不改变该回退规则。脚本还从当前生效 Skill 的 `VERSION` 和同源 `machineUserID` 动态生成 `ALIPAYCLI_BIZ_INFO={"skill":"alipay-aipay","skill_version":"v<当前 VERSION>","skill_user_id":"machine_<32位匿名机器哈希>"}`;极端环境无法取得合法 `machine_` 标识时只省略 `skill_user_id`,不写 `anonymous_uid` 且不阻断业务调用。所有携带 `PLATFORM` 的 Skill 业务 CLI 调用均携带该 JSON,外部同名值会被覆盖;`alipay-cli version` 等不携带 `PLATFORM` 的安装和环境探测不注入该变量。产品确认后,Onboarding 还严格映射 `aipay|webpay|apppay` 为 `PRODUCT=AIPAY|WEBPAY|APPPAY`,其环境检查、登录、查询、写入和上传均携带该值,但 `PRODUCT` 和 `ALIPAYCLI_BIZ_INFO` 都不写入 MCP JSON;Integration 产品确定前的环境检查和快速沙箱不传 `PRODUCT`。
145
145
 
146
146
  ```
147
147
  ❌ 禁止:向用户输出"环境检查完成,检测到您正在使用 Claude Code 环境"等检测结果
148
148
  ❌ 禁止:向用户透出任何关于 AI 编程工具检测的信息
149
- ✅ 正确:检测结果仅供内部使用,只用于脚本设置 `PLATFORM`;`PLATFORM_ID` 由脚本从当前 `run_id` 派生,`ALIPAYCLI_BIZ_INFO` 由当前 Skill 版本和匿名 `skill_user_id` 派生,Onboarding 的 `PRODUCT` 由已确认产品映射
149
+ ✅ 正确:检测结果仅供内部使用,只用于脚本设置 `PLATFORM`;`PLATFORM_ID` 优先使用有效第三方项目 ID,缺失时回退当前 `run_id`;`ALIPAYCLI_BIZ_INFO` 由当前 Skill 版本和匿名 `skill_user_id` 派生,Onboarding 的 `PRODUCT` 由已确认产品映射
150
150
  ✅ 正确:静默完成检测,直接进入下一步流程
151
151
  ```
152
152
 
@@ -153,7 +153,7 @@ node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" onboarding-execute-read
153
153
 
154
154
  若组合动作本身不可用,原子 fallback 固定为先执行 `node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" flow onboarding execute --product-type "$PRODUCT_TYPE" --agent-platform "<AGENT_PLATFORM>" --session-id "<SESSION_ID>"`,再执行 `node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" env check --product-type "$PRODUCT_TYPE" --agent-platform "<AGENT_PLATFORM>" --session-id "<SESSION_ID>"`;fallback 不得重复 stage 或重复环境检查。
155
155
 
156
- 签约脚本仍通过 `error_handler.sh -> common.sh` 初始化 `DEV_TOOL_NAME`、`PLATFORM`、当前 `run_id` 的 `PLATFORM_ID`、当前 Skill 版本和匿名 `skill_user_id` 的 `ALIPAYCLI_BIZ_INFO`,以及当前产品 `PRODUCT`。有任务工具时只内部记录实际阶段,不维护任务数量;只保留当前对话最小上下文,不创建业务进度文件。
156
+ 签约脚本仍通过 `error_handler.sh -> common.sh` 初始化 `DEV_TOOL_NAME`、`PLATFORM`、优先取有效第三方项目 ID、缺失时取当前 `run_id` 的 `PLATFORM_ID`、当前 Skill 版本和匿名 `skill_user_id` 的 `ALIPAYCLI_BIZ_INFO`,以及当前产品 `PRODUCT`。有任务工具时只内部记录实际阶段,不维护任务数量;只保留当前对话最小上下文,不创建业务进度文件。
157
157
 
158
158
  本步骤成功时不输出“环境检查完成”“任务已创建”等对客消息,直接进 Step 3;只有安装失败、权限不足或缺工具时才输出实际问题和恢复动作。工具能力差异不得省略任务、步骤或完成状态。
159
159
 
@@ -242,7 +242,7 @@ Step 5 直接使用对应 phase 的完整命令;仅出现脚本异常、需要
242
242
  2. 服务:仅按量付费由 runner 执行原 `service.sh list`;其他产品 envelope 固定为 `NOT_APPLICABLE`。成功候选只取 envelope 的 `service.candidates`。
243
243
  3. 应用:runner 执行原 `app.sh list --product-type "$PRODUCT_TYPE" --sales-code "$SALES_CODE"`。成功候选和 `WEBAPP|MOBILEAPP` 只取 envelope 的 application 分支;不得宣称返回应用已与当前支付产品绑定。
244
244
 
245
- > ⚠️ 脚本通过 `error_handler.sh` 间接初始化 `DEV_TOOL_NAME`、当前 `run_id` 对应的 `PLATFORM_ID`、当前 Skill 版本和匿名 `skill_user_id` 对应的 `ALIPAYCLI_BIZ_INFO`,以及 CLI `PRODUCT`;签约查询必须传入当前产品的 `--sales-code` 和 `--product-type`(aipay|webpay|apppay)做一致性校验。AI 网页应用收款和 AI 移动应用收款使用不同 salesCode,禁止混用。
245
+ > ⚠️ 脚本通过 `error_handler.sh` 间接初始化 `DEV_TOOL_NAME`、优先取有效第三方项目 ID、缺失时取当前 `run_id` 的 `PLATFORM_ID`、当前 Skill 版本和匿名 `skill_user_id` 对应的 `ALIPAYCLI_BIZ_INFO`,以及 CLI `PRODUCT`;签约查询必须传入当前产品的 `--sales-code` 和 `--product-type`(aipay|webpay|apppay)做一致性校验。AI 网页应用收款和 AI 移动应用收款使用不同 salesCode,禁止混用。
246
246
 
247
247
  各适用查询仍是独立 CLI/MCP 调用,runner 只编排现有脚本,必须分别完成原有错误检测,禁止伪造合并 MCP。失败后按错误类型处理:
248
248
 
@@ -32,7 +32,7 @@ CLI `login --complete` 成功只表示页面侧确认完成,不代表本机已
32
32
 
33
33
  授权页只允许 `https://aipay.alipay.com/cli-auth`,必含唯一 `deviceCode/productCode/mccCode`,只允许可选 `platform`;`mccContextReceipt` 只用于本地上下文校验和短时状态,不进入授权 URL。禁止 CLI `verification_url`、额外参数、重复参数和 fragment。页面 stdout 必须先作为独立对客消息送达,再执行 `auth.sh open` 和 `auth.sh wait`,后续 pending 或收口不得合并进同一回复。
34
34
 
35
- `wait` 生产最多查询 12 次,未成功的相邻查询间隔 5 秒,成功或过期立即停止。耗尽后按 flow 登记命令把用户原始回复和当前 `USER_INPUT_ID` 交给统一 runtime 的 `onboarding-recovery auth-confirm`;runner 复用统一肯定语义判定器并对该用户消息幂等计数,接受 `继续`、`好了`、`已完成`、`确认`、`OK` 和兼容输入 `1`,每次接受只执行一次 `auth.sh confirm`,不重启自动轮询。否定、疑问、取消、修改意见或含糊输入不查询。
35
+ `wait` 生产最多查询 12 次,未成功的相邻查询间隔 5 秒,成功或过期立即停止。耗尽后,Agent 先按统一入口执行 `count-user-input` 计入这条用户消息,再按 flow 登记命令把原始回复和当前 `USER_INPUT_ID` 交给 `onboarding-recovery auth-confirm`;runner 只复用统一肯定语义判定器,不再计数。接受 `继续`、`好了`、`已完成`、`确认`、`OK` 和兼容输入 `1` 时,每次只执行一次 `auth.sh confirm`,不重启自动轮询。否定、疑问、取消、修改意见或含糊输入不查询。
36
36
 
37
37
  授权对客正文只由 `auth.sh` 调用消息目录生成。初始页面不得提前要求回复完成;pending 的自然语言提示、允许回复和授权页返回提示都不在本模块维护副本。
38
38
 
package/skill-pre/VERSION CHANGED
@@ -1 +1 @@
1
- 1.7.5-pre
1
+ 1.7.6-pre
@@ -143,21 +143,21 @@ source ~/.bashrc # Linux/bash
143
143
 
144
144
  > ⚠️ **强制规范:检测结果仅供内部使用,禁止向用户输出!**
145
145
 
146
- AI 工具由 `scripts/detect_dev_tool.sh` 检测;`init_alipay_cli_context` 设置 `DEV_TOOL_NAME`、`PLATFORM`,把当前 `run_id` 作为 `PLATFORM_ID`(不受遥测开关影响),并从当前生效 Skill 的 `VERSION` 和同源 `machineUserID` 动态生成 `ALIPAYCLI_BIZ_INFO={"skill":"alipay-aipay","skill_version":"v<当前 VERSION>","skill_user_id":"machine_<32位匿名机器哈希>"}`;极端环境无法取得合法 `machine_` 标识时只省略 `skill_user_id`,不写 `anonymous_uid` 且不阻断业务调用。所有携带 `PLATFORM` 的 Skill 业务 CLI 调用均携带该 JSON,外部同名值会被覆盖;`alipay-cli version` 等不携带 `PLATFORM` 的安装和环境探测不注入该变量。产品确认后,Onboarding 还严格映射 `aipay|webpay|apppay` 为 `PRODUCT=AIPAY|WEBPAY|APPPAY`,其环境检查、登录、查询、写入和上传均携带该值,但 `PRODUCT` 和 `ALIPAYCLI_BIZ_INFO` 都不写入 MCP JSON;Integration 产品确定前的环境检查和快速沙箱不传 `PRODUCT`。新建 run 优先采用宿主 `COZE_PROJECT_ID`、`MEOO_PROJECT_ID` 或 MIAODA 的 `VITE_APP_ID`/`PLATFORM_ID`,并复用为 `PLATFORM_ID`。
146
+ AI 工具由 `scripts/detect_dev_tool.sh` 检测;`init_alipay_cli_context` 设置 `DEV_TOOL_NAME`、`PLATFORM`。`run_id` 在根意图与产品首次唯一确定时由 runtime 生成 UUID;同一组合的 active run 复用,组合变化或旧 run 已关闭时生成新 UUID,第三方项目 ID 不参与生成。`common.sh` 为业务 `PLATFORM_ID` 优先使用有效的第三方项目 ID(`COZE_PROJECT_ID`、`MEOO_PROJECT_ID` 或 MIAODA 的 `VITE_APP_ID`/`PLATFORM_ID`),缺失时回退当前 `run_id`;遥测开关不改变该回退规则。脚本还从当前生效 Skill 的 `VERSION` 和同源 `machineUserID` 动态生成 `ALIPAYCLI_BIZ_INFO={"skill":"alipay-aipay","skill_version":"v<当前 VERSION>","skill_user_id":"machine_<32位匿名机器哈希>"}`;极端环境无法取得合法 `machine_` 标识时只省略 `skill_user_id`,不写 `anonymous_uid` 且不阻断业务调用。所有携带 `PLATFORM` 的 Skill 业务 CLI 调用均携带该 JSON,外部同名值会被覆盖;`alipay-cli version` 等不携带 `PLATFORM` 的安装和环境探测不注入该变量。产品确认后,Onboarding 还严格映射 `aipay|webpay|apppay` 为 `PRODUCT=AIPAY|WEBPAY|APPPAY`,其环境检查、登录、查询、写入和上传均携带该值,但 `PRODUCT` 和 `ALIPAYCLI_BIZ_INFO` 都不写入 MCP JSON;Integration 产品确定前的环境检查和快速沙箱不传 `PRODUCT`。
147
147
 
148
148
  ```
149
149
  ❌ 禁止:向用户输出"环境检查完成,检测到您正在使用 Claude Code 环境"等检测结果
150
150
  ❌ 禁止:向用户透出任何关于 AI 编程工具检测的信息
151
- ✅ 正确:检测结果仅供内部使用,只用于脚本设置 `PLATFORM`;`PLATFORM_ID` 由脚本从当前 `run_id` 派生,`ALIPAYCLI_BIZ_INFO` 由当前 Skill 版本和匿名 `skill_user_id` 派生,Onboarding 的 `PRODUCT` 由已确认产品映射
151
+ ✅ 正确:检测结果仅供内部使用,只用于脚本设置 `PLATFORM`;`PLATFORM_ID` 优先使用有效第三方项目 ID,缺失时回退当前 `run_id`;`ALIPAYCLI_BIZ_INFO` 由当前 Skill 版本和匿名 `skill_user_id` 派生,Onboarding 的 `PRODUCT` 由已确认产品映射
152
152
  ✅ 正确:静默完成检测,直接进入下一步流程
153
153
  ```
154
154
 
155
- ### 5.1 页面打开与下载能力降级
155
+ ### 5.1 页面打开与密钥工具引导
156
156
 
157
157
  - HTTPS 白名单通过后依次尝试 macOS `open`→`osascript open location`,或 Linux/Unix `xdg-open`→`gio open`→`sensible-browser`;Windows 保留 PowerShell。仅返回 `OPENED|OPEN_FAILED|GUI_UNAVAILABLE|LINK_ONLY`。
158
158
  - 系统 opener 失败时,宿主内置浏览器可用则打开已校验、已交付的同一 URL 一次,不搜索、改写或自动操作;仍失败才提示手动打开/保留复制兜底,再有限轮询。不得安装工具或绕过审批;`OPEN_ERROR_KIND|OPEN_ERROR_CODE` 仅内部诊断,不算业务失败。
159
- - 目标应用缺少用户已准备的应用公钥时,macOS/Windows 直接执行 onboarding 的 `download_key_tool.sh`,默认保存到用户 `Downloads` 目录并展示实际安装包路径;Linux、缺少 `curl`/`node`、目录不可用、下载源不可达或下载校验失败均回退 `https://opendocs.alipay.com/isv/02kipk`。脚本 stdout 直接输出标准对客文案,不输出 `DOWNLOADED`、`PATH=`、`DOWNLOAD_FAILED` 或 `DOWNLOAD_REASON` 机器标记。下载不安装、不启动、不生成密钥,Skill 不另询问是否下载。
160
- - 页面打开和下载能力检测不改变 alipay-cli、MCP、业务确认或网络重试契约;宿主权限提示不是 Skill 业务确认。
159
+ - 目标应用缺少用户已准备的应用公钥时,按 Onboarding flow 展示三种获取方式;不自动下载密钥工具。用户选择官方工具引导时,`key-tool` 只展示 `https://opendocs.alipay.com/isv/02kipk` 的手动下载安装说明;选择本地页面时,仅在用户明确选择后执行 `preview open-keygen`,打开失败走登记的手动引导。两种动作均不安装或生成密钥,Agent 只接收用户主动提供的应用公钥。
160
+ - 页面打开能力检测不改变 alipay-cli、MCP、业务确认或网络重试契约;宿主权限提示不是 Skill 业务确认。
161
161
 
162
162
  ---
163
163
 
@@ -158,7 +158,7 @@ node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" onboarding-execute-read
158
158
 
159
159
  若组合动作本身不可用,原子 fallback 固定为先执行 `node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" flow onboarding execute --product-type "$PRODUCT_TYPE" --agent-platform "<AGENT_PLATFORM>" --session-id "<SESSION_ID>"`,再执行 `node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" env check --product-type "$PRODUCT_TYPE" --agent-platform "<AGENT_PLATFORM>" --session-id "<SESSION_ID>"`;fallback 不得重复 stage 或重复环境检查。
160
160
 
161
- 签约脚本仍通过 `error_handler.sh -> common.sh` 初始化 `DEV_TOOL_NAME`、`PLATFORM`、当前 `run_id` 的 `PLATFORM_ID`、当前 Skill 版本和匿名 `skill_user_id` 的 `ALIPAYCLI_BIZ_INFO`,以及当前产品 `PRODUCT`。有任务工具时只内部记录实际阶段,不维护任务数量;只保留当前对话最小上下文,不创建业务进度文件。
161
+ 签约脚本仍通过 `error_handler.sh -> common.sh` 初始化 `DEV_TOOL_NAME`、`PLATFORM`、优先取有效第三方项目 ID、缺失时取当前 `run_id` 的 `PLATFORM_ID`、当前 Skill 版本和匿名 `skill_user_id` 的 `ALIPAYCLI_BIZ_INFO`,以及当前产品 `PRODUCT`。有任务工具时只内部记录实际阶段,不维护任务数量;只保留当前对话最小上下文,不创建业务进度文件。
162
162
 
163
163
  本步骤成功时不输出“环境检查完成”“任务已创建”等对客消息,直接进 Step 3;只有安装失败、权限不足或缺工具时才输出实际问题和恢复动作。工具能力差异不得省略任务、步骤或完成状态。
164
164
 
@@ -249,7 +249,7 @@ Step 5 直接使用对应 phase 的完整命令;仅出现脚本异常、需要
249
249
  2. 服务:仅按量付费由 runner 执行原 `service.sh list`;其他产品 envelope 固定为 `NOT_APPLICABLE`。成功候选只取 envelope 的 `service.candidates`。
250
250
  3. 应用:runner 执行原 `app.sh list --product-type "$PRODUCT_TYPE" --sales-code "$SALES_CODE"`。成功候选和 `WEBAPP|MOBILEAPP` 只取 envelope 的 application 分支;不得宣称返回应用已与当前支付产品绑定。
251
251
 
252
- > ⚠️ 脚本通过 `error_handler.sh` 间接初始化 `DEV_TOOL_NAME`、当前 `run_id` 对应的 `PLATFORM_ID`、当前 Skill 版本和匿名 `skill_user_id` 对应的 `ALIPAYCLI_BIZ_INFO`,以及 CLI `PRODUCT`;签约查询必须传入当前产品的 `--sales-code` 和 `--product-type`(aipay|webpay|apppay)做一致性校验。AI 网页应用收款和 AI 移动应用收款使用不同 salesCode,禁止混用。
252
+ > ⚠️ 脚本通过 `error_handler.sh` 间接初始化 `DEV_TOOL_NAME`、优先取有效第三方项目 ID、缺失时取当前 `run_id` 的 `PLATFORM_ID`、当前 Skill 版本和匿名 `skill_user_id` 对应的 `ALIPAYCLI_BIZ_INFO`,以及 CLI `PRODUCT`;签约查询必须传入当前产品的 `--sales-code` 和 `--product-type`(aipay|webpay|apppay)做一致性校验。AI 网页应用收款和 AI 移动应用收款使用不同 salesCode,禁止混用。
253
253
 
254
254
  各适用查询仍是独立 CLI/MCP 调用,runner 只编排现有脚本,必须分别完成原有错误检测,禁止伪造合并 MCP。失败后按错误类型处理:
255
255
 
@@ -453,7 +453,6 @@ node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" preview key-tool-fallba
453
453
  `WEBAPP` 需公钥。`MOBILEAPP` 按明确语义归一化:iOS→`IOS+bundleId`,Android→`ANDROID+appPackage+appSign`,两类→`ALL+三项`;示例非口令,枚举兼容,含糊/矛盾补问。脚本只收 `IOS|ANDROID|ALL`。接口无名称/描述。`APP_WEB_INITIAL` 仅限 `aipay|webpay`,`APP_MOBILE_INITIAL` 仅限 `apppay`;`PARTIAL|INVALID` 只补缺项:
454
454
 
455
455
  ```bash
456
- node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" key-tool --agent-platform "<AGENT_PLATFORM>" --session-id "<SESSION_ID>"
457
456
  node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" onboarding-message material-collect --category application --state APP_WEB_INITIAL --product-type "$PRODUCT_TYPE" --input-id "$USER_INPUT_ID" --agent-platform "<AGENT_PLATFORM>" --session-id "<SESSION_ID>"
458
457
  node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" onboarding-message material-collect --category application --state APP_MOBILE_INITIAL --product-type "$PRODUCT_TYPE" --input-id "$USER_INPUT_ID" --agent-platform "<AGENT_PLATFORM>" --session-id "<SESSION_ID>"
459
458
  ```
@@ -32,7 +32,7 @@ CLI `login --complete` 成功只表示页面侧确认完成,不代表本机已
32
32
 
33
33
  授权页只允许 `https://aipay.alipay.com/cli-auth`,必含唯一 `deviceCode/productCode/mccCode`,只允许可选 `platform`;`mccContextReceipt` 只用于本地上下文校验和短时状态,不进入授权 URL。禁止 CLI `verification_url`、额外参数、重复参数和 fragment。页面 stdout 必须先作为独立对客消息送达,再执行 `auth.sh open` 和 `auth.sh wait`,后续 pending 或收口不得合并进同一回复。
34
34
 
35
- `wait` 生产最多查询 12 次,未成功的相邻查询间隔 5 秒,成功或过期立即停止。耗尽后按 flow 登记命令把用户原始回复和当前 `USER_INPUT_ID` 交给统一 runtime 的 `onboarding-recovery auth-confirm`;runner 复用统一肯定语义判定器并对该用户消息幂等计数,接受 `继续`、`好了`、`已完成`、`确认`、`OK` 和兼容输入 `1`,每次接受只执行一次 `auth.sh confirm`,不重启自动轮询。否定、疑问、取消、修改意见或含糊输入不查询。
35
+ `wait` 生产最多查询 12 次,未成功的相邻查询间隔 5 秒,成功或过期立即停止。耗尽后,Agent 先按统一入口执行 `count-user-input` 计入这条用户消息,再按 flow 登记命令把原始回复和当前 `USER_INPUT_ID` 交给 `onboarding-recovery auth-confirm`;runner 只复用统一肯定语义判定器,不再计数。接受 `继续`、`好了`、`已完成`、`确认`、`OK` 和兼容输入 `1` 时,每次只执行一次 `auth.sh confirm`,不重启自动轮询。否定、疑问、取消、修改意见或含糊输入不查询。
36
36
 
37
37
  授权对客正文只由 `auth.sh` 调用消息目录生成。初始页面不得提前要求回复完成;pending 的自然语言提示、允许回复和授权页返回提示都不在本模块维护副本。
38
38