@heybox/hb-sdk 0.9.1-alpha.12 → 0.9.1-alpha.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +3 -1
  3. package/dist/cli-chunks/{build-CDvX6mZ_.cjs → build-BbHZwXU-.cjs} +5 -5
  4. package/dist/cli-chunks/{context-ycfj98q4.cjs → context-DO5i8KuO.cjs} +10 -5
  5. package/dist/cli-chunks/{create-TQBnsU6A.cjs → create--IVuD5k_.cjs} +1 -1
  6. package/dist/cli-chunks/{dev-DIlr0XsT.cjs → dev-BhEiM7pc.cjs} +194 -81
  7. package/dist/cli-chunks/{doctor-CNvx5BMQ.cjs → doctor-d1QBw6xr.cjs} +1 -1
  8. package/dist/cli-chunks/{index-CPAecgVy.cjs → index-Bg8efmgB.cjs} +1 -1
  9. package/dist/cli-chunks/{index-B7zxtWTI.cjs → index-D9EWV1_s.cjs} +16 -16
  10. package/dist/cli-chunks/{index.esm-CshHset7.cjs → index.esm-D4RF7uzO.cjs} +6 -6
  11. package/dist/cli-chunks/{login-D9IsRXmh.cjs → login-CQ30ru_V.cjs} +1 -1
  12. package/dist/cli-chunks/{project-vite-B4bIN6iT.cjs → project-vite-ESL8lQxi.cjs} +1 -1
  13. package/dist/cli-chunks/{remote-DeUMkvWX.cjs → remote-DanoP7Dn.cjs} +28 -16
  14. package/dist/cli-chunks/{runtime-gate-C8LOiCNj.cjs → runtime-gate-DZsAmCYW.cjs} +2 -2
  15. package/dist/cli-chunks/{runtime-permission-env-DJh53zIV.cjs → runtime-permission-env-CmEUEBaN.cjs} +50 -4
  16. package/dist/cli-chunks/{skill-5dzzu2QT.cjs → skill-D8nZ85m0.cjs} +2 -2
  17. package/dist/cli-chunks/{version-DJMVnGTf.cjs → version-BQjpkyst.cjs} +1 -1
  18. package/dist/cli.cjs +1 -1
  19. package/dist/devtools/browser-dev-host/assets/browser-dev-host-Dve2R-Eg.js +102 -0
  20. package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-F0wNWGvm.js → desktop-app-launch-DHAqShPh.js} +1 -1
  21. package/dist/devtools/browser-dev-host/assets/{index-BRxbUJVN.css → index-7Cq8iNcD.css} +1 -1
  22. package/dist/devtools/browser-dev-host/assets/{index-BdfQ_aP4.js → index-V5tDukHZ.js} +4 -4
  23. package/dist/devtools/browser-dev-host/index.html +3 -3
  24. package/dist/index.cjs.js +2 -2
  25. package/dist/index.esm.js +2 -2
  26. package/dist/protocol.cjs.js +1 -1
  27. package/dist/protocol.esm.js +1 -1
  28. package/dist/vite.cjs.js +1 -1
  29. package/dist/vite.esm.js +1 -1
  30. package/docs/runtime-host-migration.md +4 -2
  31. package/package.json +4 -4
  32. package/skill/skill.json +4 -4
  33. package/types/index.d.ts +1 -1
  34. package/dist/devtools/browser-dev-host/assets/browser-dev-host-WX0SWy37.js +0 -102
@@ -5,9 +5,9 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <meta name="theme-color" content="#f4f5f7" />
7
7
  <title>小程序工坊调试台</title>
8
- <script type="module" crossorigin src="/assets/index-BdfQ_aP4.js"></script>
9
- <link rel="modulepreload" crossorigin href="/assets/desktop-app-launch-F0wNWGvm.js">
10
- <link rel="stylesheet" crossorigin href="/assets/index-BRxbUJVN.css">
8
+ <script type="module" crossorigin src="/assets/index-V5tDukHZ.js"></script>
9
+ <link rel="modulepreload" crossorigin href="/assets/desktop-app-launch-DHAqShPh.js">
10
+ <link rel="stylesheet" crossorigin href="/assets/index-7Cq8iNcD.css">
11
11
  </head>
12
12
  <body>
13
13
  <div id="app"></div>
package/dist/index.cjs.js CHANGED
@@ -282,7 +282,7 @@ function isPlainObject$2(value) {
282
282
  * `data` 仅作为可选调试信息,不保证结构稳定。错误码是跨 Host 的分支契约;
283
283
  * `message` 只用于日志和开发者提示,不应作为机器判断条件。
284
284
  *
285
- * 常见处理类别包括:`INVALID_PARAMS`(修正调用参数)、`PERMISSION_NOT_DECLARED`
285
+ * 常见处理类别包括:`INVALID_PARAMS`(修正调用参数)、`PERMISSION_NOT_IN_SNAPSHOT`
286
286
  * 或 `PERMISSION_DENIED`(检查 Manifest/平台批准)、`USER_GESTURE_REQUIRED`
287
287
  *(改为用户点击后重试)、`AUTHORIZATION_CANCELLED`(结束当前流程),以及
288
288
  * `METHOD_FORBIDDEN`(当前 Host 不支持该能力)。具体能力还可能返回模块专属错误码。
@@ -7278,7 +7278,7 @@ function createMessageId() {
7278
7278
  /** 构建时替换为当前发布包的实际版本。 */
7279
7279
  const HB_SDK_VERSION = typeof undefined === 'string'
7280
7280
  ? undefined
7281
- : '0.9.1-alpha.12';
7281
+ : '0.9.1-alpha.13';
7282
7282
 
7283
7283
  const RUNTIME_MODES = new Set(['production', 'preview', 'development', 'unknown']);
7284
7284
  const OPERATING_SYSTEM_NAMES = new Set(['android', 'ios', 'ohos', 'windows', 'macos', 'linux', 'unknown']);
package/dist/index.esm.js CHANGED
@@ -278,7 +278,7 @@ function isPlainObject$2(value) {
278
278
  * `data` 仅作为可选调试信息,不保证结构稳定。错误码是跨 Host 的分支契约;
279
279
  * `message` 只用于日志和开发者提示,不应作为机器判断条件。
280
280
  *
281
- * 常见处理类别包括:`INVALID_PARAMS`(修正调用参数)、`PERMISSION_NOT_DECLARED`
281
+ * 常见处理类别包括:`INVALID_PARAMS`(修正调用参数)、`PERMISSION_NOT_IN_SNAPSHOT`
282
282
  * 或 `PERMISSION_DENIED`(检查 Manifest/平台批准)、`USER_GESTURE_REQUIRED`
283
283
  *(改为用户点击后重试)、`AUTHORIZATION_CANCELLED`(结束当前流程),以及
284
284
  * `METHOD_FORBIDDEN`(当前 Host 不支持该能力)。具体能力还可能返回模块专属错误码。
@@ -7274,7 +7274,7 @@ function createMessageId() {
7274
7274
  /** 构建时替换为当前发布包的实际版本。 */
7275
7275
  const HB_SDK_VERSION = typeof undefined === 'string'
7276
7276
  ? undefined
7277
- : '0.9.1-alpha.12';
7277
+ : '0.9.1-alpha.13';
7278
7278
 
7279
7279
  const RUNTIME_MODES = new Set(['production', 'preview', 'development', 'unknown']);
7280
7280
  const OPERATING_SYSTEM_NAMES = new Set(['android', 'ios', 'ohos', 'windows', 'macos', 'linux', 'unknown']);
@@ -1299,7 +1299,7 @@ function isManagedMiniProgramRuntimePermissionKey(key) {
1299
1299
  * `requirement`:`kind: 'none'` 不读取权限;`kind: 'all'` 要求列出的每个 canonical entry 都存在
1300
1300
  * 且 `status === 'enabled'`。之后仍需通过 Host capability、可信手势、用户授权、参数和业务
1301
1301
  * policy。当前 Runtime 对 `valid: false` 按空权限表 fail closed,受保护 method 会得到
1302
- * `PERMISSION_NOT_DECLARED`,而不是沿用输入中的部分 enabled entry。
1302
+ * `PERMISSION_NOT_IN_SNAPSHOT`,而不是沿用输入中的部分 enabled entry。
1303
1303
  *
1304
1304
  * @example
1305
1305
  * ```ts
@@ -1297,7 +1297,7 @@ function isManagedMiniProgramRuntimePermissionKey(key) {
1297
1297
  * `requirement`:`kind: 'none'` 不读取权限;`kind: 'all'` 要求列出的每个 canonical entry 都存在
1298
1298
  * 且 `status === 'enabled'`。之后仍需通过 Host capability、可信手势、用户授权、参数和业务
1299
1299
  * policy。当前 Runtime 对 `valid: false` 按空权限表 fail closed,受保护 method 会得到
1300
- * `PERMISSION_NOT_DECLARED`,而不是沿用输入中的部分 enabled entry。
1300
+ * `PERMISSION_NOT_IN_SNAPSHOT`,而不是沿用输入中的部分 enabled entry。
1301
1301
  *
1302
1302
  * @example
1303
1303
  * ```ts
package/dist/vite.cjs.js CHANGED
@@ -10282,7 +10282,7 @@ async function ensureBasicInfoDirectory(rootPath, relative) {
10282
10282
  /** 构建时替换为当前发布包的实际版本。 */
10283
10283
  const HB_SDK_VERSION = typeof undefined === 'string'
10284
10284
  ? undefined
10285
- : '0.9.1-alpha.12';
10285
+ : '0.9.1-alpha.13';
10286
10286
 
10287
10287
  /**
10288
10288
  * iframe 与调试台页面的开发期 console 捕获转发。
package/dist/vite.esm.js CHANGED
@@ -10279,7 +10279,7 @@ async function ensureBasicInfoDirectory(rootPath, relative) {
10279
10279
  /** 构建时替换为当前发布包的实际版本。 */
10280
10280
  const HB_SDK_VERSION = typeof undefined === 'string'
10281
10281
  ? undefined
10282
- : '0.9.1-alpha.12';
10282
+ : '0.9.1-alpha.13';
10283
10283
 
10284
10284
  /**
10285
10285
  * iframe 与调试台页面的开发期 console 捕获转发。
@@ -89,7 +89,9 @@ Storage 面板只通过 `runtime.diagnostics.storage?.getSnapshot()` 读取 Runt
89
89
  | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
90
90
  | Browser Dev Host | 私有 WebSocket channel 优先,HTTP/SSE 保留为兼容路径。账号 identity 的 canonical 读取仍由 HTTP session status 完成;channel 只发 revision hint,收到 hint 后重新读取 HTTP 状态。 | WebSocket 握手、重连或消息失败不阻断 Browser Mock;回退 HTTP/SSE 并继续有界轮询。 |
91
91
  | Mobile Release | 当前稳定客户端继续把原生 `mini_url` launch 交给详情 H5/Native Host;二维码保持 HTTPS `open_inapp` 与 `heybox://` `openWindow`,但短链这一跳是普通 H5。跳转页打开完整 sandbox query(`mini_url`、身份、启动票和 LAN Dev Context)后延迟 `closeWindow`。真机 WebView 基址是 `http://127.0.0.1` 详情页且 HTML 来自线上缓存。 | 生成真机二维码前仍需 CLI 登录、项目绑定和有效 Dev Context;这些条件不阻断 Browser 调试台启动。 |
92
- | Mobile Debug/Ad-Hoc H5 | `dev_context_url` 是可选的 Dev Session 输入;读取成功后采用本地 network proxy,代理不参与 Runtime 权限判断。 | Dev Context 缺失、过期、不可达或校验失败时记录脱敏诊断,继续使用原生 Host 的账号、网络与远端权限。 |
92
+ | Mobile Debug/Ad-Hoc H5 | `dev_context_url` 是可选的 Dev Session 输入;读取成功后采用本地 network proxy,代理不参与 Runtime 权限判断。 | 历史协议 Dev Context 不可用时保留原生适配;新开发协议缺少有效描述时阻断并提示重试或更新 CLI。 |
93
+
94
+ 开发快照与凭据续期的权威约定见[开发会话](./development-session.md)。
93
95
 
94
96
  `DevSession` 同时携带本地声明、独立的 `local_dev_grant` 与 context revision,不会反向修改线上配置。真实 H5 必须先以启动票取得 canonical identity,再将可信线上基线与声明及严格解析的 grant 合成普通 Runtime 快照;没有有效票据或非法 grant 时不临时放权。临时授权仅允许 `network` / `companion`,不包含 `useOfficialDomain`,且每次启动由用户确认。
95
97
 
@@ -101,7 +103,7 @@ Node 负责 CLI-owned stable context endpoint、短跳转 registry 和 Launch Re
101
103
 
102
104
  ## Mobile 短跳转安全边界
103
105
 
104
- 默认 Mobile 二维码编码现有 `https://api.xiaoheihe.cn/open_inapp/#heybox://...` 启动契约,但短链这一跳是普通 H5 `openWindow`(不带 `mini_program`),`webview.url` 只放局域网短链 `http://<lan-ip>:<port>/l/<token>`。短链返回 HTML 跳转页:先 `location.href` 打开完整 `heybox-mini-dev://sandbox` 协议,约 500ms 后再发 `closeWindow` 关掉中间页。不要对自定义协议做 HTTP 302,WebView 会把它当成相对路径。真机 WebView 基址是 `http://127.0.0.1/tools/user_miniprogram/detail`,HTML 来自线上详情页缓存,因此最终协议携带 `mini_url`、`mini_program_id`、`local_dev_launch_token`、`sdk_version` 和稳定 CLI-owned `dev_context_url`;二维码短期 token 轮换不会让已打开页面失效。`launch.json` 仍可作为同分支详情 Host 的补充发现。Dev Context 过期或校验失败时记录脱敏诊断,继续使用原生网络与已发现的权限。
106
+ 默认 Mobile 二维码编码现有 `https://api.xiaoheihe.cn/open_inapp/#heybox://...` 启动契约,但短链这一跳是普通 H5 `openWindow`(不带 `mini_program`),`webview.url` 只放局域网短链 `http://<lan-ip>:<port>/l/<token>`。短链返回 HTML 跳转页:先 `location.href` 打开完整 `heybox-mini-dev://sandbox` 协议,约 500ms 后再发 `closeWindow` 关掉中间页。不要对自定义协议做 HTTP 302,WebView 会把它当成相对路径。真机 WebView 基址是 `http://127.0.0.1/tools/user_miniprogram/detail`,HTML 来自线上详情页缓存,因此最终协议携带 `mini_url`、`mini_program_id`、`local_dev_launch_token`、`sdk_version` 和稳定 CLI-owned `dev_context_url`;二维码短期 token 轮换不会让已打开页面失效。`launch.json` 仍可作为同分支详情 Host 的补充发现。新开发协议的 Dev Context 过期或校验失败时不能生成新运行快照;历史适配边界见开发会话文档。
105
107
 
106
108
  `launch.json` 和短链都只减少二维码编码长度,不是认证、加密、签名或 HMAC:
107
109
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@heybox/hb-sdk",
3
- "version": "0.9.1-alpha.12",
3
+ "version": "0.9.1-alpha.13",
4
4
  "sideEffects": [
5
5
  "./src/index.ts",
6
6
  "./src/core/singleton.ts",
@@ -76,7 +76,7 @@
76
76
  "undici": "^7.28.0",
77
77
  "ws": "^8.18.0",
78
78
  "sharp": "^0.34.5",
79
- "@heybox/hb-sdk-protocol": "0.9.1-alpha.12"
79
+ "@heybox/hb-sdk-protocol": "0.9.1-alpha.13"
80
80
  },
81
81
  "peerDependencies": {
82
82
  "vite": ">=5"
@@ -129,11 +129,11 @@
129
129
  "@ai-desktop/view-contract": "file:../hb-sdk-protocol/vendor/view-contract-2.2.2-6ac49bbf6410.tgz",
130
130
  "rollup-plugin-dts": "6.4.0",
131
131
  "@heybox-domain/heybox-theme": "~0.1.0",
132
+ "@heybox/hb-sdk-runtime": "~0.9.1-alpha.13",
133
+ "@heybox/hb-api": "~1.28.14",
132
134
  "@heybox-domain/heybox-vue3-ui": "~0.1.0",
133
- "@heybox/hb-sdk-runtime": "~0.9.1-alpha.12",
134
135
  "@heybox/runtime": "~0.2.1",
135
136
  "@heybox/runtime-policy": "~0.2.1",
136
- "@heybox/hb-api": "~1.28.14",
137
137
  "@heybox/runtime-transport-fetch": "~0.2.1"
138
138
  },
139
139
  "publishConfig": {
package/skill/skill.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "hb-sdk",
3
- "skillVersion": "0.9.1-alpha.12+skill.c3a240ca503a",
3
+ "skillVersion": "0.9.1-alpha.13+skill.c3a240ca503a",
4
4
  "sdk": {
5
5
  "package": "@heybox/hb-sdk",
6
- "version": "0.9.1-alpha.12",
7
- "compatibility": "0.9.1-alpha.12"
6
+ "version": "0.9.1-alpha.13",
7
+ "compatibility": "0.9.1-alpha.13"
8
8
  },
9
9
  "distribution": {
10
10
  "type": "npm",
11
11
  "package": "@heybox/hb-sdk",
12
- "version": "0.9.1-alpha.12",
12
+ "version": "0.9.1-alpha.13",
13
13
  "path": "skill"
14
14
  },
15
15
  "integrity": "sha256-c3a240ca503a1e5f3b15033e091f1fa79a8b70585aa0d8d8fa0b332daec60ac5"
package/types/index.d.ts CHANGED
@@ -2079,7 +2079,7 @@ interface MiniProgramNetworkModule {
2079
2079
  * `data` 仅作为可选调试信息,不保证结构稳定。错误码是跨 Host 的分支契约;
2080
2080
  * `message` 只用于日志和开发者提示,不应作为机器判断条件。
2081
2081
  *
2082
- * 常见处理类别包括:`INVALID_PARAMS`(修正调用参数)、`PERMISSION_NOT_DECLARED`
2082
+ * 常见处理类别包括:`INVALID_PARAMS`(修正调用参数)、`PERMISSION_NOT_IN_SNAPSHOT`
2083
2083
  * 或 `PERMISSION_DENIED`(检查 Manifest/平台批准)、`USER_GESTURE_REQUIRED`
2084
2084
  *(改为用户点击后重试)、`AUTHORIZATION_CANCELLED`(结束当前流程),以及
2085
2085
  * `METHOD_FORBIDDEN`(当前 Host 不支持该能力)。具体能力还可能返回模块专属错误码。