@microi.net/cli 5.3.3 → 5.3.4

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.
@@ -5,13 +5,13 @@
5
5
  "url": "https://microi.net"
6
6
  },
7
7
  "description": "Microi吾码官方 AI 插件市场",
8
- "version": "5.3.3",
8
+ "version": "5.3.4",
9
9
  "plugins": [
10
10
  {
11
11
  "name": "microi",
12
12
  "source": ".",
13
13
  "description": "Microi吾码 AI 开发插件:服务器连接、Skills、MCP、V8 全量同步与低代码交付",
14
- "version": "5.3.3",
14
+ "version": "5.3.4",
15
15
  "strict": true
16
16
  }
17
17
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "microi",
3
- "version": "5.3.3",
3
+ "version": "5.3.4",
4
4
  "description": "Microi吾码 AI 开发插件:服务器连接、Skills、MCP、V8 全量同步与低代码交付",
5
5
  "author": {
6
6
  "name": "Microi.Net",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "microi",
3
- "version": "5.3.3",
3
+ "version": "5.3.4",
4
4
  "description": "Microi吾码低代码平台的 Codex 开发插件,共享 VS Code/CLI 的连接、同步、MCP、V8 与交付能力。",
5
5
  "author": {
6
6
  "name": "Microi.Net",
@@ -5,13 +5,13 @@
5
5
  "url": "https://microi.net"
6
6
  },
7
7
  "description": "Microi吾码官方 AI 插件市场",
8
- "version": "5.3.3",
8
+ "version": "5.3.4",
9
9
  "plugins": [
10
10
  {
11
11
  "name": "microi",
12
12
  "source": ".",
13
13
  "description": "Microi吾码 AI 开发插件:服务器连接、Skills、MCP、V8 全量同步与低代码交付",
14
- "version": "5.3.3",
14
+ "version": "5.3.4",
15
15
  "strict": true
16
16
  }
17
17
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "microi",
3
- "version": "5.3.3",
3
+ "version": "5.3.4",
4
4
  "description": "Microi吾码 AI 开发插件:服务器连接、Skills、MCP、V8 全量同步与低代码交付",
5
5
  "author": {
6
6
  "name": "Microi.Net",
@@ -1,6 +1,6 @@
1
1
  {
2
- "builtAt": "2026-08-25T22:46:50.094Z",
3
- "version": "5.3.3",
2
+ "builtAt": "2026-08-26T02:45:36.048Z",
3
+ "version": "5.3.4",
4
4
  "sourceProducts": [
5
5
  "vscode-extension",
6
6
  "microi-cli",
@@ -13,6 +13,6 @@
13
13
  "cli": "19fa79f0727616fbaaa9cdffc2485dc58aede013931d3d5662baa36cdbf5eb07",
14
14
  "router": "ffc14787fc2d3d6173b7a779b77139b759eb1d482cea787f71283f4017a4e223",
15
15
  "broker": "caae2730cc411d11c20f33b367968f7538aae8f5b65a713fcc557deedaefcf70",
16
- "dshBundle": "0a0b1ffcac23337712cf4491a7c229c33e3a4d68be8f122221c5f93537c932d3"
16
+ "dshBundle": "d62ff9e60fa3ad84faa76449d1bf8146adcb83ec9bff0a1575b40e0f995e0df3"
17
17
  }
18
18
  }
package/cordis.patch.yml CHANGED
@@ -7,7 +7,7 @@
7
7
  serverName: microi
8
8
  transport: stdio
9
9
  command: !!js process.execPath
10
- args: ["-e","/*\n * DeepSeek Harness 通过 profile bundle 加载此 `node -e` 引导脚本。\n * DSH 不保证 MCP 子进程 cwd 位于 npm 包根,因此按 DSH_HOME/profile 定位\n * 当前版本的 @microi.net/cli,再复用 Codex 同源适配器与多连接路由器。\n */\nconst fs = require('node:fs');\nconst os = require('node:os');\nconst path = require('node:path');\nconst packageName = '@microi.net/cli';\nconst expectedVersion = '5.3.3';\n\nfunction readJson(filePath) {\n try { return JSON.parse(fs.readFileSync(filePath, 'utf8')); }\n catch { return undefined; }\n}\n\nfunction expandHome(value) {\n if (value === '~') return os.homedir();\n if (value.startsWith('~/') || value.startsWith('~\\\\')) return path.join(os.homedir(), value.slice(2));\n return value;\n}\n\nfunction validRoot(value) {\n const root = path.resolve(value);\n const pkg = readJson(path.join(root, 'package.json'));\n const patch = path.join(root, 'cordis.patch.yml');\n const adapter = path.join(root, 'scripts', 'mcp-codex-stdio-adapter.js');\n const router = path.join(root, 'scripts', 'microi-codex-router.js');\n if (pkg?.name !== packageName || pkg?.version !== expectedVersion) return undefined;\n if (pkg?.dsh?.bundle?.patch !== './cordis.patch.yml') return undefined;\n if (![patch, adapter, router].every(filePath => fs.existsSync(filePath))) return undefined;\n return { root: fs.realpathSync(root), adapter, router, modifiedAt: fs.statSync(router).mtimeMs };\n}\n\nfunction findPlugin() {\n const explicit = String(process.env.MICROI_DSH_PLUGIN_ROOT || '').trim();\n if (explicit) {\n const plugin = validRoot(explicit);\n if (!plugin) throw new Error(`MICROI_DSH_PLUGIN_ROOT 不是版本 ${expectedVersion} 的有效 Microi DSH bundle:${explicit}`);\n return plugin;\n }\n const configuredHome = String(process.env.DSH_HOME || '').trim();\n const dshHome = path.resolve(expandHome(configuredHome || path.join(os.homedir(), '.dsh')));\n const profilesRoot = path.join(dshHome, 'profiles');\n const candidates = [];\n if (fs.existsSync(profilesRoot)) {\n for (const entry of fs.readdirSync(profilesRoot, { withFileTypes: true })) {\n if (!entry.isDirectory() || entry.name === 'node_modules') continue;\n const root = path.join(profilesRoot, entry.name, 'node_modules', '@microi.net', 'cli');\n const plugin = validRoot(root);\n if (plugin) candidates.push(plugin);\n }\n }\n candidates.sort((left, right) => right.modifiedAt - left.modifiedAt);\n if (!candidates[0]) throw new Error(`未在 ${profilesRoot} 找到版本 ${expectedVersion} 的 ${packageName}`);\n return candidates[0];\n}\n\ntry {\n const plugin = findPlugin();\n process.env.MICROI_DSH_PLUGIN_ROOT = plugin.root;\n process.env.MICROI_CODEX_PLUGIN_ROOT = plugin.root;\n process.env.MICROI_TOOL_SOURCE = 'dsh';\n process.env.MICROI_TOOL_VERSION = expectedVersion;\n process.env.MICROI_WORKSPACE_ROOT = process.env.MICROI_WORKSPACE_ROOT || process.cwd();\n process.argv[2] = plugin.router;\n require(plugin.adapter);\n} catch (error) {\n console.error(`[microi-dsh-bootstrap] ${error instanceof Error ? error.message : String(error)}`);\n process.exit(1);\n}\n"]
10
+ args: ["-e","/*\n * DeepSeek Harness 通过 profile bundle 加载此 `node -e` 引导脚本。\n * DSH 不保证 MCP 子进程 cwd 位于 npm 包根,因此按 DSH_HOME/profile 定位\n * 当前版本的 @microi.net/cli,再复用 Codex 同源适配器与多连接路由器。\n */\nconst fs = require('node:fs');\nconst os = require('node:os');\nconst path = require('node:path');\nconst packageName = '@microi.net/cli';\nconst expectedVersion = '5.3.4';\n\nfunction readJson(filePath) {\n try { return JSON.parse(fs.readFileSync(filePath, 'utf8')); }\n catch { return undefined; }\n}\n\nfunction expandHome(value) {\n if (value === '~') return os.homedir();\n if (value.startsWith('~/') || value.startsWith('~\\\\')) return path.join(os.homedir(), value.slice(2));\n return value;\n}\n\nfunction validRoot(value) {\n const root = path.resolve(value);\n const pkg = readJson(path.join(root, 'package.json'));\n const patch = path.join(root, 'cordis.patch.yml');\n const adapter = path.join(root, 'scripts', 'mcp-codex-stdio-adapter.js');\n const router = path.join(root, 'scripts', 'microi-codex-router.js');\n if (pkg?.name !== packageName || pkg?.version !== expectedVersion) return undefined;\n if (pkg?.dsh?.bundle?.patch !== './cordis.patch.yml') return undefined;\n if (![patch, adapter, router].every(filePath => fs.existsSync(filePath))) return undefined;\n return { root: fs.realpathSync(root), adapter, router, modifiedAt: fs.statSync(router).mtimeMs };\n}\n\nfunction findPlugin() {\n const explicit = String(process.env.MICROI_DSH_PLUGIN_ROOT || '').trim();\n if (explicit) {\n const plugin = validRoot(explicit);\n if (!plugin) throw new Error(`MICROI_DSH_PLUGIN_ROOT 不是版本 ${expectedVersion} 的有效 Microi DSH bundle:${explicit}`);\n return plugin;\n }\n const configuredHome = String(process.env.DSH_HOME || '').trim();\n const dshHome = path.resolve(expandHome(configuredHome || path.join(os.homedir(), '.dsh')));\n const profilesRoot = path.join(dshHome, 'profiles');\n const candidates = [];\n if (fs.existsSync(profilesRoot)) {\n for (const entry of fs.readdirSync(profilesRoot, { withFileTypes: true })) {\n if (!entry.isDirectory() || entry.name === 'node_modules') continue;\n const root = path.join(profilesRoot, entry.name, 'node_modules', '@microi.net', 'cli');\n const plugin = validRoot(root);\n if (plugin) candidates.push(plugin);\n }\n }\n candidates.sort((left, right) => right.modifiedAt - left.modifiedAt);\n if (!candidates[0]) throw new Error(`未在 ${profilesRoot} 找到版本 ${expectedVersion} 的 ${packageName}`);\n return candidates[0];\n}\n\ntry {\n const plugin = findPlugin();\n process.env.MICROI_DSH_PLUGIN_ROOT = plugin.root;\n process.env.MICROI_CODEX_PLUGIN_ROOT = plugin.root;\n process.env.MICROI_TOOL_SOURCE = 'dsh';\n process.env.MICROI_TOOL_VERSION = expectedVersion;\n process.env.MICROI_WORKSPACE_ROOT = process.env.MICROI_WORKSPACE_ROOT || process.cwd();\n process.argv[2] = plugin.router;\n require(plugin.adapter);\n} catch (error) {\n console.error(`[microi-dsh-bootstrap] ${error instanceof Error ? error.message : String(error)}`);\n process.exit(1);\n}\n"]
11
11
  env:
12
12
  MICROI_TOOL_SOURCE: dsh
13
13
  cwd: !!js process.cwd()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microi.net/cli",
3
- "version": "5.3.3",
3
+ "version": "5.3.4",
4
4
  "description": "Microi吾码 AI 开发 CLI 与多宿主 Plugin:服务器连接、Skills、MCP、V8 同步和低代码交付",
5
5
  "license": "MIT",
6
6
  "homepage": "https://microi.net/doc/v8-engine/vs-code-plugin.html",
@@ -1,13 +1,13 @@
1
1
  {
2
- "builtAt": "2026-08-25T22:46:49.134Z",
2
+ "builtAt": "2026-08-26T02:45:34.848Z",
3
3
  "source": "../microi.skills",
4
4
  "extension": {
5
5
  "name": "v8-engine",
6
- "version": "5.3.3",
6
+ "version": "5.3.4",
7
7
  "publisher": "Microi"
8
8
  },
9
9
  "skills": {
10
- "version": "5.3.3",
10
+ "version": "5.3.4",
11
11
  "versionRule": "Microi version uses three numeric parts. Each publish increments the last part; when a part exceeds 9 it carries to the previous part: 1.0.9 -> 1.1.0, 1.9.9 -> 2.0.0.",
12
12
  "managedBy": "Microi.VSCode/bump-version.js"
13
13
  },
@@ -15,17 +15,17 @@
15
15
  "dir": "dist/microi.skills",
16
16
  "files": 178,
17
17
  "skills": 65,
18
- "bytes": 2260655
18
+ "bytes": 2263031
19
19
  },
20
20
  "fileHashes": {
21
- ".microi-skills-version.json": "400ccc31a20cab76d266e9e95f34a20d357478df460766752dc36dff7d002b55",
21
+ ".microi-skills-version.json": "5c4a69fad230f7c7ea552ee67fe2d0b264e19c690c49d31a3dca2bfa16f14bed",
22
22
  ".progressive-disclosure-manifest.json": "647fb9b710b958ca64713c45bb0e8a17252ec7f2913179327a26525a2cd5a31d",
23
23
  "README.md": "332aade05015acac5f1387829a42529f37fc203ff0fcfb2f16cc3afdbb23b1ed",
24
24
  "ai-engine/SKILL.md": "df63cf56bd06027f30bd0597003c65b479049141fc0b4a31d33cbc9a5fa044cf",
25
25
  "ai-engine/agents/openai.yaml": "40deb07801006a46b9a7f0020d13251955eeadd04c8e591160210479936f8b5b",
26
26
  "ai-platform-governance/SKILL.md": "84ca4bcacf15deecd0c04dc1a664b23041a6a5f020d3a5288c5458b5e7da4b8e",
27
27
  "ai-platform-governance/references/progressive-01-功能开关.md": "ea46fb02267e9e3ace3d9d72e67b02183c61e5c198f4b2f27e8196d6ee6d0bec",
28
- "app-store/SKILL.md": "d012210cfa5b1b8bfe50084ff8071eff9d5b04392e3ab021876409b0a9426b76",
28
+ "app-store/SKILL.md": "318a0f3b9cd3d2b2cf4e8e06b96f3ccdce928b49461c490654e9fe938e2ccd60",
29
29
  "app-store/agents/openai.yaml": "eda8f5cf043e7b8fb0e4fb3acf0625fef95eb49586b43187ced277cd0ae4a2c4",
30
30
  "business-blueprint/SKILL.md": "01619a3b6d37b5b67649ee59d2701301222006d3b943882b2802b1721c58f8a9",
31
31
  "datasource-engine/SKILL.md": "bed8352f1d43b55145e1c492d1ea0ca1ec8750b5c4d74e1e80cd71aa7b9a2e6f",
@@ -189,7 +189,7 @@
189
189
  "v8-utilities/SKILL.md": "2cf8fc6d1a9296ea60bb89ea1b130ac5c9a1f9eb94802fed0cceaf8b61de1b30",
190
190
  "v8-utilities/references/client-api-index.md": "3362126197bd34191640d6bd532b16f1ed446c4a8a9d805f4973be5d58b90a4a",
191
191
  "v8-utilities/references/platform-http-routes.md": "b081b87dff5848eed9b948e2324d25ff27f26f14dc2045df486e9a66981bb74b",
192
- "v8-utilities/references/server-api-index.md": "8728a1bff73ae5066d48560f2d6e276d7235dd7df6f887c3b7e06e6a1dd2016b",
192
+ "v8-utilities/references/server-api-index.md": "83e263354a04fe7a0174b3e5244def98129b8b389075a6786770d5cf149bddac",
193
193
  "v8-workflow/SKILL.md": "d068ceded6f338fece9443f354dff21dfcf744dd192dd6329b2e98692bb8181e",
194
194
  "v8-workflow/references/progressive-01-节点开始-v8-事件.md": "9b6b01e7ac03c0a11bc837671a30107ff5c5f253029d74fd17713084104d7e99",
195
195
  "workspace-conventions/SKILL.md": "1ba87f3812a83469dfbec33e7efa34a401d3efda5bdbccb083c9c8e0f93f0321",
@@ -198,184 +198,184 @@
198
198
  "workspace-conventions/references/progressive-03-cli-与-ide-插件错版共存约定.md": "86db1f03700fd54dd824d28c553c678202e8f74b796fd0f9d91f63bf53a530b1"
199
199
  },
200
200
  "fileVersions": {
201
- ".microi-skills-version.json": "5.3.3",
202
- ".progressive-disclosure-manifest.json": "5.3.3",
203
- "README.md": "5.3.3",
204
- "ai-engine/SKILL.md": "5.3.3",
205
- "ai-engine/agents/openai.yaml": "5.3.3",
206
- "ai-platform-governance/SKILL.md": "5.3.3",
207
- "ai-platform-governance/references/progressive-01-功能开关.md": "5.3.3",
208
- "app-store/SKILL.md": "5.3.3",
209
- "app-store/agents/openai.yaml": "5.3.3",
210
- "business-blueprint/SKILL.md": "5.3.3",
211
- "datasource-engine/SKILL.md": "5.3.3",
212
- "datasource-engine/agents/openai.yaml": "5.3.3",
213
- "dos-orm/SKILL.md": "5.3.3",
214
- "dos-orm/references/api-reference.md": "5.3.3",
215
- "job-engine/SKILL.md": "5.3.3",
216
- "job-engine/agents/openai.yaml": "5.3.3",
217
- "message-notification/SKILL.md": "5.3.3",
218
- "message-notification/agents/openai.yaml": "5.3.3",
219
- "message-notification/references/contracts.md": "5.3.3",
220
- "microi-ai-app-auth.js": "5.3.3",
221
- "microi-ai-application/SKILL.md": "5.3.3",
222
- "microi-ai-application/agents/openai.yaml": "5.3.3",
223
- "microi-ai-application/references/frontend-baseline.md": "5.3.3",
224
- "microi-client-frontend/SKILL.md": "5.3.3",
225
- "microi-client-frontend/references/progressive-01-3-动态按钮系统.md": "5.3.3",
226
- "microi-client-frontend/references/progressive-02-8-运行时高频坑复盘.md": "5.3.3",
227
- "microi-client-frontend/references/progressive-03-vue3-前端微服务宿主规则.md": "5.3.3",
228
- "microi-codex-installer/SKILL.md": "5.3.3",
229
- "microi-codex-installer/agents/openai.yaml": "5.3.3",
230
- "microi-codex/SKILL.md": "5.3.3",
231
- "microi-datasource-mapping/SKILL.md": "5.3.3",
232
- "microi-db-schema/SKILL.md": "5.3.3",
233
- "microi-db-schema/agents/openai.yaml": "5.3.3",
234
- "microi-db-schema/references/core-tables.md": "5.3.3",
235
- "microi-db-schema/references/form-component-options.md": "5.3.3",
236
- "microi-db-schema/references/schema-overview.md": "5.3.3",
237
- "microi-db-schema/references/schema.md": "5.3.3",
238
- "microi-db-schema/references/table-catalog.md": "5.3.3",
239
- "microi-deployment/SKILL.md": "5.3.3",
240
- "microi-deployment/references/deployment-matrix.md": "5.3.3",
241
- "microi-docs-coverage/SKILL.md": "5.3.3",
242
- "microi-docs-coverage/references/capability-map.md": "5.3.3",
243
- "microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs": "5.3.3",
244
- "microi-form-engine/SKILL.md": "5.3.3",
245
- "microi-form-engine/references/component-catalog.md": "5.3.3",
246
- "microi-form-engine/references/data-source-events.md": "5.3.3",
247
- "microi-form-layout/SKILL.md": "5.3.3",
248
- "microi-form-layout/references/progressive-01-3-三种分组的存储与配置.md": "5.3.3",
249
- "microi-frontend-sdk/SKILL.md": "5.3.3",
250
- "microi-frontend-sdk/references/progressive-01-token-当前登录用户与当前终端登录协议.md": "5.3.3",
251
- "microi-left-right-layout/SKILL.md": "5.3.3",
252
- "microi-microservice/SKILL.md": "5.3.3",
253
- "microi-microservice/references/runtime-delivery.md": "5.3.3",
254
- "microi-mobile-app-quality/SKILL.md": "5.3.3",
255
- "microi-mobile-app-quality/references/progressive-01-4-重要按钮必须带图标.md": "5.3.3",
256
- "microi-mobile-app-quality/references/progressive-02-9-主题切换必须真实且全局生效.md": "5.3.3",
257
- "microi-solution-quotation/SKILL.md": "5.3.3",
258
- "microi-solution-quotation/agents/openai.yaml": "5.3.3",
259
- "microi-solution-quotation/scripts/build_solution_quote.py": "5.3.3",
260
- "microi-sso/SKILL.md": "5.3.3",
261
- "microi-sso/references/acceptance.md": "5.3.3",
262
- "microi-sso/references/configuration-and-security.md": "5.3.3",
263
- "microi-sso/references/inbound.md": "5.3.3",
264
- "microi-sso/references/outbound.md": "5.3.3",
265
- "microi-system-delivery/SKILL.md": "5.3.3",
266
- "microi-system-delivery/references/progressive-01-标准工作流.md": "5.3.3",
267
- "microi-system-delivery/references/progressive-02-自动化测试必须覆盖的坑.md": "5.3.3",
268
- "microi-ui/SKILL.md": "5.3.3",
269
- "microi-ui/references/progressive-01-移动端场景蓝图.md": "5.3.3",
270
- "microi-uniapp-frontend/SKILL.md": "5.3.3",
271
- "microi-uniapp-frontend/references/progressive-01-移动端分类-双栏列表独立滚动.md": "5.3.3",
272
- "microi-uniapp-frontend/references/progressive-02-关键业务资产不得默认选中.md": "5.3.3",
273
- "microi.v8.js": "5.3.3",
274
- "module-engine/SKILL.md": "5.3.3",
275
- "module-engine/references/module-config.md": "5.3.3",
276
- "ocr-engine/SKILL.md": "5.3.3",
277
- "ocr-engine/agents/openai.yaml": "5.3.3",
278
- "page-engine/SKILL.md": "5.3.3",
279
- "page-engine/references/progressive-01-所有组件类型.md": "5.3.3",
280
- "page-engine/references/progressive-02-版本历史-并发保存与回滚.md": "5.3.3",
281
- "performance-testing/SKILL.md": "5.3.3",
282
- "playwright-e2e/SKILL.md": "5.3.3",
283
- "playwright-e2e/references/progressive-01-全自动登录-免验证码-但不免密码-必读.md": "5.3.3",
284
- "playwright-e2e/references/progressive-02-文字对比度与可读性自动化检查-必做.md": "5.3.3",
285
- "playwright-e2e/references/progressive-03-microi-helper-模板.md": "5.3.3",
286
- "playwright-e2e/references/progressive-04-ci-建议.md": "5.3.3",
287
- "print-engine/SKILL.md": "5.3.3",
288
- "production-readonly-audit/SKILL.md": "5.3.3",
289
- "report-engine/SKILL.md": "5.3.3",
290
- "report-engine/agents/openai.yaml": "5.3.3",
291
- "scripts/optimize-progressive-disclosure.mjs": "5.3.3",
292
- "scripts/refresh-progressive-disclosure.mjs": "5.3.3",
293
- "scripts/validate-progressive-disclosure.mjs": "5.3.3",
294
- "search-engine/SKILL.md": "5.3.3",
295
- "search-engine/agents/openai.yaml": "5.3.3",
296
- "spider-engine/SKILL.md": "5.3.3",
297
- "system-observability/SKILL.md": "5.3.3",
298
- "translate-engine/SKILL.md": "5.3.3",
299
- "translate-engine/agents/openai.yaml": "5.3.3",
300
- "ui-design/SKILL.md": "5.3.3",
301
- "ui-design/assets/pattern-showcase/app.js": "5.3.3",
302
- "ui-design/assets/pattern-showcase/index.html": "5.3.3",
303
- "ui-design/assets/pattern-showcase/styles.css": "5.3.3",
304
- "ui-design/assets/templates/MCI-DESIGN.md": "5.3.3",
305
- "ui-design/references/design-pattern-library.md": "5.3.3",
306
- "ui-design/references/mci-design-contract.md": "5.3.3",
307
- "ui-design/references/motion-and-media.md": "5.3.3",
308
- "ui-design/references/product-flow-recipes.md": "5.3.3",
309
- "ui-design/references/progressive-01-颜色体系-css-variables-支持主题切换.md": "5.3.3",
310
- "ui-design/references/progressive-02-字体.md": "5.3.3",
311
- "ui-design/references/progressive-03-动效规范-丰富但不卡.md": "5.3.3",
312
- "ui-design/references/progressive-04-组件风格速查.md": "5.3.3",
313
- "ui-design/references/progressive-05-移动端专用规范.md": "5.3.3",
314
- "ui-design/references/progressive-06-主题切换实现.md": "5.3.3",
315
- "ui-design/references/progressive-07-速查-从头搭建一个移动端页面.md": "5.3.3",
316
- "ui-design/references/progressive-08-表单分组规范-tabs-vs-collapsegroup-强制.md": "5.3.3",
317
- "uniapp-mall-assets/SKILL.md": "5.3.3",
318
- "unity-integration/SKILL.md": "5.3.3",
319
- "unity-integration/agents/openai.yaml": "5.3.3",
320
- "unity-integration/references/ai-app-delivery.md": "5.3.3",
321
- "unity-integration/references/sdk-api.md": "5.3.3",
322
- "unity-integration/references/toolbox-migration.md": "5.3.3",
323
- "unity-integration/references/webgl-hosting.md": "5.3.3",
324
- "v8-api-config/SKILL.md": "5.3.3",
325
- "v8-cache-pattern/SKILL.md": "5.3.3",
326
- "v8-crud-api/SKILL.md": "5.3.3",
327
- "v8-crud-api/references/progressive-01-查询列表-分页.md": "5.3.3",
328
- "v8-crud-api/references/progressive-02-where-条件语法速查.md": "5.3.3",
329
- "v8-debugging/SKILL.md": "5.3.3",
330
- "v8-explorer-tree/SKILL.md": "5.3.3",
331
- "v8-export-import/SKILL.md": "5.3.3",
332
- "v8-export-import/references/progressive-01-excellayout-高级自由布局.md": "5.3.3",
333
- "v8-export-import/references/progressive-02-powerpoint-导出.md": "5.3.3",
334
- "v8-export-import/references/progressive-03-安全-性能注意.md": "5.3.3",
335
- "v8-file-upload/SKILL.md": "5.3.3",
336
- "v8-file-upload/references/progressive-01-公有桶-vs-私有桶.md": "5.3.3",
337
- "v8-file-upload/references/progressive-02-office-文件在线编辑版本号规则.md": "5.3.3",
338
- "v8-formengine-http/SKILL.md": "5.3.3",
339
- "v8-frontend-events/SKILL.md": "5.3.3",
340
- "v8-frontend-events/references/bluetooth-print-api.md": "5.3.3",
341
- "v8-frontend-events/references/bluetooth-print.md": "5.3.3",
342
- "v8-frontend-events/references/progressive-01-列表事件.md": "5.3.3",
343
- "v8-http-integration/SKILL.md": "5.3.3",
344
- "v8-http-integration/references/progressive-01-get-请求.md": "5.3.3",
345
- "v8-http-integration/references/progressive-02-错误处理模式.md": "5.3.3",
346
- "v8-image-processing/SKILL.md": "5.3.3",
347
- "v8-image-processing/agents/openai.yaml": "5.3.3",
348
- "v8-image-processing/references/api-reference.md": "5.3.3",
349
- "v8-menu-buttons/SKILL.md": "5.3.3",
350
- "v8-menu-buttons/references/progressive-01-2-按钮对象-schema.md": "5.3.3",
351
- "v8-menu-buttons/references/progressive-02-8-模式-f-后台任务按钮-长任务.md": "5.3.3",
352
- "v8-menu-buttons/references/progressive-03-10-反模式-避免.md": "5.3.3",
353
- "v8-mongodb/SKILL.md": "5.3.3",
354
- "v8-mq-mqtt/SKILL.md": "5.3.3",
355
- "v8-mq-mqtt/references/mqtt-production.md": "5.3.3",
356
- "v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-物联网.md": "5.3.3",
357
- "v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs": "5.3.3",
358
- "v8-saas-multi-tenant/SKILL.md": "5.3.3",
359
- "v8-security/SKILL.md": "5.3.3",
360
- "v8-security/references/progressive-01-2-权限校验.md": "5.3.3",
361
- "v8-security/references/progressive-02-7-日志记录.md": "5.3.3",
362
- "v8-sql-query/SKILL.md": "5.3.3",
363
- "v8-table-event/SKILL.md": "5.3.3",
364
- "v8-table-event/references/progressive-01-informv8-js-表单打开事件.md": "5.3.3",
365
- "v8-table-event/references/progressive-02-前端事件名-v8-eventname-可能的值.md": "5.3.3",
366
- "v8-tcp-integration/SKILL.md": "5.3.3",
367
- "v8-tcp-integration/agents/openai.yaml": "5.3.3",
368
- "v8-template-engine/SKILL.md": "5.3.3",
369
- "v8-utilities/SKILL.md": "5.3.3",
370
- "v8-utilities/references/client-api-index.md": "5.3.3",
371
- "v8-utilities/references/platform-http-routes.md": "5.3.3",
372
- "v8-utilities/references/server-api-index.md": "5.3.3",
373
- "v8-workflow/SKILL.md": "5.3.3",
374
- "v8-workflow/references/progressive-01-节点开始-v8-事件.md": "5.3.3",
375
- "workspace-conventions/SKILL.md": "5.3.3",
376
- "workspace-conventions/references/progressive-01-版本更新日志保护规则-强制.md": "5.3.3",
377
- "workspace-conventions/references/progressive-02-microi-net-api-本地启动约定.md": "5.3.3",
378
- "workspace-conventions/references/progressive-03-cli-与-ide-插件错版共存约定.md": "5.3.3"
201
+ ".microi-skills-version.json": "5.3.4",
202
+ ".progressive-disclosure-manifest.json": "5.3.4",
203
+ "README.md": "5.3.4",
204
+ "ai-engine/SKILL.md": "5.3.4",
205
+ "ai-engine/agents/openai.yaml": "5.3.4",
206
+ "ai-platform-governance/SKILL.md": "5.3.4",
207
+ "ai-platform-governance/references/progressive-01-功能开关.md": "5.3.4",
208
+ "app-store/SKILL.md": "5.3.4",
209
+ "app-store/agents/openai.yaml": "5.3.4",
210
+ "business-blueprint/SKILL.md": "5.3.4",
211
+ "datasource-engine/SKILL.md": "5.3.4",
212
+ "datasource-engine/agents/openai.yaml": "5.3.4",
213
+ "dos-orm/SKILL.md": "5.3.4",
214
+ "dos-orm/references/api-reference.md": "5.3.4",
215
+ "job-engine/SKILL.md": "5.3.4",
216
+ "job-engine/agents/openai.yaml": "5.3.4",
217
+ "message-notification/SKILL.md": "5.3.4",
218
+ "message-notification/agents/openai.yaml": "5.3.4",
219
+ "message-notification/references/contracts.md": "5.3.4",
220
+ "microi-ai-app-auth.js": "5.3.4",
221
+ "microi-ai-application/SKILL.md": "5.3.4",
222
+ "microi-ai-application/agents/openai.yaml": "5.3.4",
223
+ "microi-ai-application/references/frontend-baseline.md": "5.3.4",
224
+ "microi-client-frontend/SKILL.md": "5.3.4",
225
+ "microi-client-frontend/references/progressive-01-3-动态按钮系统.md": "5.3.4",
226
+ "microi-client-frontend/references/progressive-02-8-运行时高频坑复盘.md": "5.3.4",
227
+ "microi-client-frontend/references/progressive-03-vue3-前端微服务宿主规则.md": "5.3.4",
228
+ "microi-codex-installer/SKILL.md": "5.3.4",
229
+ "microi-codex-installer/agents/openai.yaml": "5.3.4",
230
+ "microi-codex/SKILL.md": "5.3.4",
231
+ "microi-datasource-mapping/SKILL.md": "5.3.4",
232
+ "microi-db-schema/SKILL.md": "5.3.4",
233
+ "microi-db-schema/agents/openai.yaml": "5.3.4",
234
+ "microi-db-schema/references/core-tables.md": "5.3.4",
235
+ "microi-db-schema/references/form-component-options.md": "5.3.4",
236
+ "microi-db-schema/references/schema-overview.md": "5.3.4",
237
+ "microi-db-schema/references/schema.md": "5.3.4",
238
+ "microi-db-schema/references/table-catalog.md": "5.3.4",
239
+ "microi-deployment/SKILL.md": "5.3.4",
240
+ "microi-deployment/references/deployment-matrix.md": "5.3.4",
241
+ "microi-docs-coverage/SKILL.md": "5.3.4",
242
+ "microi-docs-coverage/references/capability-map.md": "5.3.4",
243
+ "microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs": "5.3.4",
244
+ "microi-form-engine/SKILL.md": "5.3.4",
245
+ "microi-form-engine/references/component-catalog.md": "5.3.4",
246
+ "microi-form-engine/references/data-source-events.md": "5.3.4",
247
+ "microi-form-layout/SKILL.md": "5.3.4",
248
+ "microi-form-layout/references/progressive-01-3-三种分组的存储与配置.md": "5.3.4",
249
+ "microi-frontend-sdk/SKILL.md": "5.3.4",
250
+ "microi-frontend-sdk/references/progressive-01-token-当前登录用户与当前终端登录协议.md": "5.3.4",
251
+ "microi-left-right-layout/SKILL.md": "5.3.4",
252
+ "microi-microservice/SKILL.md": "5.3.4",
253
+ "microi-microservice/references/runtime-delivery.md": "5.3.4",
254
+ "microi-mobile-app-quality/SKILL.md": "5.3.4",
255
+ "microi-mobile-app-quality/references/progressive-01-4-重要按钮必须带图标.md": "5.3.4",
256
+ "microi-mobile-app-quality/references/progressive-02-9-主题切换必须真实且全局生效.md": "5.3.4",
257
+ "microi-solution-quotation/SKILL.md": "5.3.4",
258
+ "microi-solution-quotation/agents/openai.yaml": "5.3.4",
259
+ "microi-solution-quotation/scripts/build_solution_quote.py": "5.3.4",
260
+ "microi-sso/SKILL.md": "5.3.4",
261
+ "microi-sso/references/acceptance.md": "5.3.4",
262
+ "microi-sso/references/configuration-and-security.md": "5.3.4",
263
+ "microi-sso/references/inbound.md": "5.3.4",
264
+ "microi-sso/references/outbound.md": "5.3.4",
265
+ "microi-system-delivery/SKILL.md": "5.3.4",
266
+ "microi-system-delivery/references/progressive-01-标准工作流.md": "5.3.4",
267
+ "microi-system-delivery/references/progressive-02-自动化测试必须覆盖的坑.md": "5.3.4",
268
+ "microi-ui/SKILL.md": "5.3.4",
269
+ "microi-ui/references/progressive-01-移动端场景蓝图.md": "5.3.4",
270
+ "microi-uniapp-frontend/SKILL.md": "5.3.4",
271
+ "microi-uniapp-frontend/references/progressive-01-移动端分类-双栏列表独立滚动.md": "5.3.4",
272
+ "microi-uniapp-frontend/references/progressive-02-关键业务资产不得默认选中.md": "5.3.4",
273
+ "microi.v8.js": "5.3.4",
274
+ "module-engine/SKILL.md": "5.3.4",
275
+ "module-engine/references/module-config.md": "5.3.4",
276
+ "ocr-engine/SKILL.md": "5.3.4",
277
+ "ocr-engine/agents/openai.yaml": "5.3.4",
278
+ "page-engine/SKILL.md": "5.3.4",
279
+ "page-engine/references/progressive-01-所有组件类型.md": "5.3.4",
280
+ "page-engine/references/progressive-02-版本历史-并发保存与回滚.md": "5.3.4",
281
+ "performance-testing/SKILL.md": "5.3.4",
282
+ "playwright-e2e/SKILL.md": "5.3.4",
283
+ "playwright-e2e/references/progressive-01-全自动登录-免验证码-但不免密码-必读.md": "5.3.4",
284
+ "playwright-e2e/references/progressive-02-文字对比度与可读性自动化检查-必做.md": "5.3.4",
285
+ "playwright-e2e/references/progressive-03-microi-helper-模板.md": "5.3.4",
286
+ "playwright-e2e/references/progressive-04-ci-建议.md": "5.3.4",
287
+ "print-engine/SKILL.md": "5.3.4",
288
+ "production-readonly-audit/SKILL.md": "5.3.4",
289
+ "report-engine/SKILL.md": "5.3.4",
290
+ "report-engine/agents/openai.yaml": "5.3.4",
291
+ "scripts/optimize-progressive-disclosure.mjs": "5.3.4",
292
+ "scripts/refresh-progressive-disclosure.mjs": "5.3.4",
293
+ "scripts/validate-progressive-disclosure.mjs": "5.3.4",
294
+ "search-engine/SKILL.md": "5.3.4",
295
+ "search-engine/agents/openai.yaml": "5.3.4",
296
+ "spider-engine/SKILL.md": "5.3.4",
297
+ "system-observability/SKILL.md": "5.3.4",
298
+ "translate-engine/SKILL.md": "5.3.4",
299
+ "translate-engine/agents/openai.yaml": "5.3.4",
300
+ "ui-design/SKILL.md": "5.3.4",
301
+ "ui-design/assets/pattern-showcase/app.js": "5.3.4",
302
+ "ui-design/assets/pattern-showcase/index.html": "5.3.4",
303
+ "ui-design/assets/pattern-showcase/styles.css": "5.3.4",
304
+ "ui-design/assets/templates/MCI-DESIGN.md": "5.3.4",
305
+ "ui-design/references/design-pattern-library.md": "5.3.4",
306
+ "ui-design/references/mci-design-contract.md": "5.3.4",
307
+ "ui-design/references/motion-and-media.md": "5.3.4",
308
+ "ui-design/references/product-flow-recipes.md": "5.3.4",
309
+ "ui-design/references/progressive-01-颜色体系-css-variables-支持主题切换.md": "5.3.4",
310
+ "ui-design/references/progressive-02-字体.md": "5.3.4",
311
+ "ui-design/references/progressive-03-动效规范-丰富但不卡.md": "5.3.4",
312
+ "ui-design/references/progressive-04-组件风格速查.md": "5.3.4",
313
+ "ui-design/references/progressive-05-移动端专用规范.md": "5.3.4",
314
+ "ui-design/references/progressive-06-主题切换实现.md": "5.3.4",
315
+ "ui-design/references/progressive-07-速查-从头搭建一个移动端页面.md": "5.3.4",
316
+ "ui-design/references/progressive-08-表单分组规范-tabs-vs-collapsegroup-强制.md": "5.3.4",
317
+ "uniapp-mall-assets/SKILL.md": "5.3.4",
318
+ "unity-integration/SKILL.md": "5.3.4",
319
+ "unity-integration/agents/openai.yaml": "5.3.4",
320
+ "unity-integration/references/ai-app-delivery.md": "5.3.4",
321
+ "unity-integration/references/sdk-api.md": "5.3.4",
322
+ "unity-integration/references/toolbox-migration.md": "5.3.4",
323
+ "unity-integration/references/webgl-hosting.md": "5.3.4",
324
+ "v8-api-config/SKILL.md": "5.3.4",
325
+ "v8-cache-pattern/SKILL.md": "5.3.4",
326
+ "v8-crud-api/SKILL.md": "5.3.4",
327
+ "v8-crud-api/references/progressive-01-查询列表-分页.md": "5.3.4",
328
+ "v8-crud-api/references/progressive-02-where-条件语法速查.md": "5.3.4",
329
+ "v8-debugging/SKILL.md": "5.3.4",
330
+ "v8-explorer-tree/SKILL.md": "5.3.4",
331
+ "v8-export-import/SKILL.md": "5.3.4",
332
+ "v8-export-import/references/progressive-01-excellayout-高级自由布局.md": "5.3.4",
333
+ "v8-export-import/references/progressive-02-powerpoint-导出.md": "5.3.4",
334
+ "v8-export-import/references/progressive-03-安全-性能注意.md": "5.3.4",
335
+ "v8-file-upload/SKILL.md": "5.3.4",
336
+ "v8-file-upload/references/progressive-01-公有桶-vs-私有桶.md": "5.3.4",
337
+ "v8-file-upload/references/progressive-02-office-文件在线编辑版本号规则.md": "5.3.4",
338
+ "v8-formengine-http/SKILL.md": "5.3.4",
339
+ "v8-frontend-events/SKILL.md": "5.3.4",
340
+ "v8-frontend-events/references/bluetooth-print-api.md": "5.3.4",
341
+ "v8-frontend-events/references/bluetooth-print.md": "5.3.4",
342
+ "v8-frontend-events/references/progressive-01-列表事件.md": "5.3.4",
343
+ "v8-http-integration/SKILL.md": "5.3.4",
344
+ "v8-http-integration/references/progressive-01-get-请求.md": "5.3.4",
345
+ "v8-http-integration/references/progressive-02-错误处理模式.md": "5.3.4",
346
+ "v8-image-processing/SKILL.md": "5.3.4",
347
+ "v8-image-processing/agents/openai.yaml": "5.3.4",
348
+ "v8-image-processing/references/api-reference.md": "5.3.4",
349
+ "v8-menu-buttons/SKILL.md": "5.3.4",
350
+ "v8-menu-buttons/references/progressive-01-2-按钮对象-schema.md": "5.3.4",
351
+ "v8-menu-buttons/references/progressive-02-8-模式-f-后台任务按钮-长任务.md": "5.3.4",
352
+ "v8-menu-buttons/references/progressive-03-10-反模式-避免.md": "5.3.4",
353
+ "v8-mongodb/SKILL.md": "5.3.4",
354
+ "v8-mq-mqtt/SKILL.md": "5.3.4",
355
+ "v8-mq-mqtt/references/mqtt-production.md": "5.3.4",
356
+ "v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-物联网.md": "5.3.4",
357
+ "v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs": "5.3.4",
358
+ "v8-saas-multi-tenant/SKILL.md": "5.3.4",
359
+ "v8-security/SKILL.md": "5.3.4",
360
+ "v8-security/references/progressive-01-2-权限校验.md": "5.3.4",
361
+ "v8-security/references/progressive-02-7-日志记录.md": "5.3.4",
362
+ "v8-sql-query/SKILL.md": "5.3.4",
363
+ "v8-table-event/SKILL.md": "5.3.4",
364
+ "v8-table-event/references/progressive-01-informv8-js-表单打开事件.md": "5.3.4",
365
+ "v8-table-event/references/progressive-02-前端事件名-v8-eventname-可能的值.md": "5.3.4",
366
+ "v8-tcp-integration/SKILL.md": "5.3.4",
367
+ "v8-tcp-integration/agents/openai.yaml": "5.3.4",
368
+ "v8-template-engine/SKILL.md": "5.3.4",
369
+ "v8-utilities/SKILL.md": "5.3.4",
370
+ "v8-utilities/references/client-api-index.md": "5.3.4",
371
+ "v8-utilities/references/platform-http-routes.md": "5.3.4",
372
+ "v8-utilities/references/server-api-index.md": "5.3.4",
373
+ "v8-workflow/SKILL.md": "5.3.4",
374
+ "v8-workflow/references/progressive-01-节点开始-v8-事件.md": "5.3.4",
375
+ "workspace-conventions/SKILL.md": "5.3.4",
376
+ "workspace-conventions/references/progressive-01-版本更新日志保护规则-强制.md": "5.3.4",
377
+ "workspace-conventions/references/progressive-02-microi-net-api-本地启动约定.md": "5.3.4",
378
+ "workspace-conventions/references/progressive-03-cli-与-ide-插件错版共存约定.md": "5.3.4"
379
379
  },
380
380
  "files": [
381
381
  ".microi-skills-version.json",
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "5.3.3",
2
+ "version": "5.3.4",
3
3
  "versionRule": "Microi version uses three numeric parts. Each publish increments the last part; when a part exceeds 9 it carries to the previous part: 1.0.9 -> 1.1.0, 1.9.9 -> 2.0.0.",
4
4
  "managedBy": "Microi.VSCode/bump-version.js",
5
- "updatedAt": "2026-08-25T22:46:16.424Z"
5
+ "updatedAt": "2026-08-26T02:45:01.939Z"
6
6
  }
@@ -308,3 +308,11 @@ description: Microi 应用商城开发、打包、安装和升级规范。用于
308
308
  - 触发场景:平台微服务包只有少量 `BuildAssets`,但后台检查点长期停在 `ApplicationAssets / Build / AssetIndex=1`,`ApplicationAssetUploaded` 却持续超过包内资源总数。目标节点能够上传并回读公有对象,但不支持或拒绝 `MoveObject`;导入器每一片都重新上传同一文件,再因移动失败写回临时路径,下一片继续重复。
309
309
  - 通用规则:新上传文件移动到租户稳定路径失败时,若上传结果已通过摘要和大小校验,应保留这个真实可读路径并写入显式兼容 scope(当前为 `PrivateSource+PublicBuildMoveFallback`)。后续分片只允许在同时命中 AppId、文件路径、摘要、大小、真实 HDFS 路径和该 scope 时直接复用,禁止再次调用 `MoveObject` 或上传;没有兼容标记的历史坏路径仍只允许一次有界重传修复,不能把任意旧元数据误当成有效对象。
310
310
  - 自举与验收:主租户投递每个子任务前必须先复制最新版应用商城导入器和批量工作器,已经排队的任务不得假定会动态取得主租户新代码。回归测试要模拟“上传成功、MoveObject 不可用、下一分片恢复”,断言上传次数保持 1 且资源索引继续前进;真实旧租户验收必须观察 4 个编译资源在有界片数内完成,并在全租户成功后立即做 `Planned=0` 复跑。
311
+
312
+ ## 复盘:只补页面首屏接口导致旧租户持续 `sys_apiengine NoExistData`
313
+
314
+ - 触发场景:新版前端已经切换到 `/apiengine/platform-*`、商城 `get-microi-store` 或模块/消息等官方接口,但客户只更新前后端二进制,没有逐个安装应用;启动门禁只检查少数首屏 Key,于是登录恢复后其它页面仍连续报 `sys_apiengine NoExistData`。
315
+ - 根因:把平台运行依赖维护成手写短清单,并只复制 SaaS 单包;接口之间的 `V8.ApiEngine.Run` 依赖、其它官方平台应用和个性化 Hook 没有进入同一闭包,旧数据库也没有可靠的启动前自愈与逐项回读。
316
+ - 强制规则:启动前接口闭包必须由全部内置官方平台应用包动态计算,并递归解析接口调用;当前官方基线为 9 个包、106 个接口(98 个 `Managed`、8 个 `CreateIfMissing`),数量只是发布快照,运行逻辑不得硬编码。门禁逐项校验 Key、地址、启用状态、匿名/HTTP 状态和源码策略;缺失时从受信内置包按原所有权补齐,所有项严格回读成功后才对外提供流量。`CreateIfMissing` 首次创建后永不覆盖客户代码。
317
+ - 控制面自举:官方资源发布必须先保证 `get-microi-upgrade-resource` 自身达到当前协议,再发布其它包;若控制面旧版本不能校验新包,先只发布并回读这一项,刷新动态路由缓存后再发布剩余资源。发布响应超时或 Redis 广播失败时先按资源 SHA 回读判断提交/回滚,禁止盲目重放。
318
+ - 兼容与验收:历史 Controller 回退不能再转调可能缺失的同一个接口引擎;保留旧路由时必须使用可信 Core 原子或明确返回可诊断兼容结果。自动化测试应扫描 PC、UniApp、内置应用包和接口源码的全部 `/apiengine/` 与 `V8.ApiEngine.Run` 引用,证明每个依赖由官方包声明;真实启动必须对每个启用租户输出开始、缺项、修复、逐项成功及最终汇总日志,并同时验证匿名、登录态、商城批量计划和重复启动幂等。
@@ -68,6 +68,7 @@
68
68
  | `V8.Method.PrepareCurrentUserProfileUpdate(options)` | 仅允许官方 `platform-user-update-profile` 调用;固定当前用户并规范当前租户头像路径 |
69
69
  | `V8.Method.ManageSysUserAdmin(options)` | 仅允许官方 `platform-sys-user-admin` 调用;固定身份与租户并执行表权限、角色层级、改密 step-up、内容安全及会话安全边界;授权预检返回规范化 `DataAppend.ChangesPassword` |
70
70
  | `V8.Method.AuthorizeOfficialResourcePublish()` | 仅允许官方 `get-microi-upgrade-resource` 的发布分支调用;固定 `iTdos`、拒绝访问密钥并从主库复核平台管理员;不是通用授权 API |
71
+ | `V8.Method.SendWeChatTemplateMessage(options)` | 仅允许消息通知官方 Managed 接口 `wechat_send_tpl_msg` 调用;公众号 AppId/AppSecret 固定从当前租户 `wx_mp` 读取且不进入 V8,脚本只编排接收人、模板、受限模板字段和跳转地址 |
71
72
  | `V8.Method.ValidateTenantSystemSettingsOperation(options)` | 仅允许官方 `platform-tenant-system-settings` 调用;拒绝访问密钥、非管理员、Secret/Sensitive Key 和已迁移公开 Key |
72
73
  | `V8.Method.GetTenantSystemSettingsSecurityProjection()` | 仅允许官方 `platform-tenant-system-settings` 调用;只返回 Secret 是否已配置与迁移 Key,不返回值或密文 |
73
74
  | `V8.Method.Upload(options)` | 受配额限制的上传 |