@heybox/hb-sdk 0.9.3-alpha.4 → 0.9.3-alpha.6

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 +13 -0
  2. package/README.md +1 -0
  3. package/dist/cli-chunks/{build-BbRZFHlS.cjs → build-B1YssPNl.cjs} +5 -5
  4. package/dist/cli-chunks/{context-CzGbxLJ5.cjs → context-Deob2IZ5.cjs} +2 -2
  5. package/dist/cli-chunks/{create-Bv6w8AQd.cjs → create-BWzY1CVT.cjs} +1 -1
  6. package/dist/cli-chunks/{deploy-lock-Cj-qYrgb.cjs → deploy-lock-ClcPcaSW.cjs} +1 -1
  7. package/dist/cli-chunks/{dev-CiSIVINP.cjs → dev-wVCyeUOb.cjs} +8 -8
  8. package/dist/cli-chunks/{doctor-CnLFkttr.cjs → doctor-DHd5eYBr.cjs} +1 -1
  9. package/dist/cli-chunks/{games-D3Jng8zw.cjs → games-DNhP1Om4.cjs} +2 -2
  10. package/dist/cli-chunks/{index-BZMq1gRD.cjs → index-BOd8ouDY.cjs} +1 -1
  11. package/dist/cli-chunks/{index-DHjU_o1B.cjs → index-DfYr8g3I.cjs} +17 -17
  12. package/dist/cli-chunks/{index.esm-CIgU4H5Y.cjs → index.esm-PlHUr780.cjs} +6 -6
  13. package/dist/cli-chunks/{login-Dbvk9lGw.cjs → login-D-iG6Um2.cjs} +1 -1
  14. package/dist/cli-chunks/{project-vite-BxiUs2zg.cjs → project-vite-DyKHpc6h.cjs} +1 -1
  15. package/dist/cli-chunks/{remote-D2yqGjoe.cjs → remote-CyynHOcj.cjs} +7 -7
  16. package/dist/cli-chunks/{runtime-gate-DfmKy-vE.cjs → runtime-gate-DPXnKdQ4.cjs} +2 -2
  17. package/dist/cli-chunks/{runtime-permission-env-hQczZuQh.cjs → runtime-permission-env-BjO2KzGl.cjs} +2 -2
  18. package/dist/cli-chunks/{skill-47pw_ZZz.cjs → skill-BOLOEDrj.cjs} +2 -2
  19. package/dist/cli-chunks/{version-DZyk-2Cc.cjs → version-DX2glIk7.cjs} +1 -1
  20. package/dist/cli.cjs +1 -1
  21. package/dist/devtools/browser-dev-host/assets/{browser-dev-host-t6VsZxRV.js → browser-dev-host-CD6Ado2B.js} +1 -1
  22. package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-E0Vk3jdW.js → desktop-app-launch-CFl6m8k-.js} +1 -1
  23. package/dist/devtools/browser-dev-host/assets/{index-D2OzmHdY.js → index-Br7UpHGt.js} +3 -3
  24. package/dist/devtools/browser-dev-host/index.html +2 -2
  25. package/dist/index.cjs.js +1 -1
  26. package/dist/index.esm.js +1 -1
  27. package/dist/vite.cjs.js +1 -1
  28. package/dist/vite.esm.js +1 -1
  29. package/docs/runtime-host-migration.md +1 -1
  30. package/package.json +7 -7
  31. package/skill/SKILL.md +6 -0
  32. package/skill/skill.json +5 -5
  33. package/types/index.d.ts +28 -6
  34. package/types/protocol.d.ts +13 -6
@@ -5,8 +5,8 @@
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-D2OzmHdY.js"></script>
9
- <link rel="modulepreload" crossorigin href="/assets/desktop-app-launch-E0Vk3jdW.js">
8
+ <script type="module" crossorigin src="/assets/index-Br7UpHGt.js"></script>
9
+ <link rel="modulepreload" crossorigin href="/assets/desktop-app-launch-CFl6m8k-.js">
10
10
  <link rel="stylesheet" crossorigin href="/assets/index-7Cq8iNcD.css">
11
11
  </head>
12
12
  <body>
package/dist/index.cjs.js CHANGED
@@ -7299,7 +7299,7 @@ function createMessageId() {
7299
7299
  /** 构建时替换为当前发布包的实际版本。 */
7300
7300
  const HB_SDK_VERSION = typeof undefined === 'string'
7301
7301
  ? undefined
7302
- : '0.9.3-alpha.4';
7302
+ : '0.9.3-alpha.6';
7303
7303
 
7304
7304
  const RUNTIME_MODES = new Set(['production', 'preview', 'development', 'unknown']);
7305
7305
  const OPERATING_SYSTEM_NAMES = new Set(['android', 'ios', 'ohos', 'windows', 'macos', 'linux', 'unknown']);
package/dist/index.esm.js CHANGED
@@ -7295,7 +7295,7 @@ function createMessageId() {
7295
7295
  /** 构建时替换为当前发布包的实际版本。 */
7296
7296
  const HB_SDK_VERSION = typeof undefined === 'string'
7297
7297
  ? undefined
7298
- : '0.9.3-alpha.4';
7298
+ : '0.9.3-alpha.6';
7299
7299
 
7300
7300
  const RUNTIME_MODES = new Set(['production', 'preview', 'development', 'unknown']);
7301
7301
  const OPERATING_SYSTEM_NAMES = new Set(['android', 'ios', 'ohos', 'windows', 'macos', 'linux', 'unknown']);
package/dist/vite.cjs.js CHANGED
@@ -10304,7 +10304,7 @@ async function ensureBasicInfoDirectory(rootPath, relative) {
10304
10304
  /** 构建时替换为当前发布包的实际版本。 */
10305
10305
  const HB_SDK_VERSION = typeof undefined === 'string'
10306
10306
  ? undefined
10307
- : '0.9.3-alpha.4';
10307
+ : '0.9.3-alpha.6';
10308
10308
 
10309
10309
  /**
10310
10310
  * iframe 与调试台页面的开发期 console 捕获转发。
package/dist/vite.esm.js CHANGED
@@ -10301,7 +10301,7 @@ async function ensureBasicInfoDirectory(rootPath, relative) {
10301
10301
  /** 构建时替换为当前发布包的实际版本。 */
10302
10302
  const HB_SDK_VERSION = typeof undefined === 'string'
10303
10303
  ? undefined
10304
- : '0.9.3-alpha.4';
10304
+ : '0.9.3-alpha.6';
10305
10305
 
10306
10306
  /**
10307
10307
  * iframe 与调试台页面的开发期 console 捕获转发。
@@ -113,7 +113,7 @@ Node 负责 CLI-owned stable context endpoint、短跳转 registry 和 Launch Re
113
113
 
114
114
  ## Breaking 行为
115
115
 
116
- - `network.request` 继续拒绝平台保留 endpoint,并校验 Header;Host、分帧、逐跳及平台认证头不能由页面设置。`withCredentials` 仅在旧 wire 边界忽略。Mobile 完整官方请求只在 `system.describe.features.officialRequestV1 === true` 时启用:`sendRequestV2` 携带显式扩展标记与已编码正文,复用原有签名栈,透传安全应用 Header、JSON/表单和 HTTP 状态,禁止重定向及覆盖 Cookie。Native WebView 绑定与 Flutter Dart 绑定各自声明自身执行器的能力,不能直接继承底层库声明。旧 Host 保持 GET/表单 POST 兼容,不支持的形态提前拒绝;第三方仍走 RAW。Private credential realm 继续显式映射,凭据不进入 iframe。发布顺序允许 transport/客户端先行,缺少任一能力的旧 Host 保持兼容;宿主 H5 启用扩展前必须确保配套 transport 已发布。
116
+ - `network.request` 继续拒绝平台保留 endpoint,并校验 Header;Host、分帧、逐跳及平台认证头不能由页面设置。`withCredentials` 仅在旧 wire 边界忽略。Mobile 官方域名的无自定义应用 Header GET 与可兼容表单 POST 使用既有 Native 签名通道,JSON、自定义应用 Header 及其它方法沿用 RAW。RAW 不补齐 Native 默认公参与签名;第一方主体、官方域名权限和 Cookie 会话均不能绕过此限制。当前没有同时组合这两种能力的扩展标记或调用方开关,需要时应由服务端提供兼容鉴权。第三方仍走 RAW 且不自动带平台凭据。Private credential realm 继续显式映射,凭据不进入 iframe。
117
117
  - UI、device、navigation、storage、`user.revokeAuthorization` 等 void method 统一 resolve `undefined`,不再透传 Host sentinel;排行榜删除保持 `{ deleted: boolean }`。
118
118
  - iframe DOM/network helper、旧平台 facade 和独立 mock runtime 不再提供兼容入口。按本页新 Host Port 图迁移,不要在应用层重新实现 bridge。
119
119
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@heybox/hb-sdk",
3
- "version": "0.9.3-alpha.4",
3
+ "version": "0.9.3-alpha.6",
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.3-alpha.4"
79
+ "@heybox/hb-sdk-protocol": "0.9.3-alpha.6"
80
80
  },
81
81
  "peerDependencies": {
82
82
  "vite": ">=5"
@@ -128,13 +128,13 @@
128
128
  "vitest": "^3.2.4",
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
+ "@heybox/hb-sdk-runtime": "~0.9.3-alpha.6",
132
+ "@heybox-domain/heybox-vue3-ui": "~0.1.0",
131
133
  "@heybox-domain/heybox-theme": "~0.1.0",
132
- "@heybox/hb-api": "~1.28.16",
133
- "@heybox/hb-sdk-runtime": "~0.9.3-alpha.4",
134
- "@heybox/runtime-policy": "~0.2.1",
135
134
  "@heybox/runtime": "~0.2.1",
136
- "@heybox/runtime-transport-fetch": "~0.2.1",
137
- "@heybox-domain/heybox-vue3-ui": "~0.1.0"
135
+ "@heybox/runtime-policy": "~0.2.1",
136
+ "@heybox/hb-api": "~1.28.17",
137
+ "@heybox/runtime-transport-fetch": "~0.2.1"
138
138
  },
139
139
  "publishConfig": {
140
140
  "registry": "https://registry.npmjs.org/",
package/skill/SKILL.md CHANGED
@@ -17,6 +17,12 @@ Before implementing screenshot flows or upgrading the SDK, use the canonical doc
17
17
 
18
18
  Before upgrading, verify both the page layout and the captured image. Do not only update the dependency or invocation without explaining screenshot behavior changes. Read exact version cutoffs, dimensions, parameters, and Host support from the canonical documentation fetched for this task; never substitute an older installed Skill snapshot.
19
19
 
20
+ ## 展示 API 迁移:升级前必查
21
+
22
+ 实现 `viewport.setDisplay` 调用流程或升级 SDK 前,先通过 canonical 文档索引读取该方法的 Reference 与迁移预告。主动向开发者说明已公布的返回值迁移安排,包括目标版本、是否已生效,以及需要准备的兼容和错误处理。
23
+
24
+ 核对项目已安装的 SDK 与公告中的版本门槛。当前和计划契约均以本次读取的 canonical 文档为准,不提前套用未来契约,不把不支持结果当作设置成功,也不依赖旧 Skill 快照。建议升级前验证支持和不支持两种 Host。
25
+
20
26
  ## Canonical Documentation
21
27
 
22
28
  The only maintained hb-sdk guidance source is:
package/skill/skill.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "hb-sdk",
3
- "skillVersion": "0.9.3-alpha.4+skill.4d7b063940c3",
3
+ "skillVersion": "0.9.3-alpha.6+skill.d0d502673711",
4
4
  "sdk": {
5
5
  "package": "@heybox/hb-sdk",
6
- "version": "0.9.3-alpha.4",
7
- "compatibility": "0.9.3-alpha.4"
6
+ "version": "0.9.3-alpha.6",
7
+ "compatibility": "0.9.3-alpha.6"
8
8
  },
9
9
  "distribution": {
10
10
  "type": "npm",
11
11
  "package": "@heybox/hb-sdk",
12
- "version": "0.9.3-alpha.4",
12
+ "version": "0.9.3-alpha.6",
13
13
  "path": "skill"
14
14
  },
15
- "integrity": "sha256-4d7b063940c341502cf34c481b656be96ac27f1a252055b2b1af445c6392264c"
15
+ "integrity": "sha256-d0d502673711f5d077ee62e657749125788e396d5203894b7077dfe866fd2990"
16
16
  }
package/types/index.d.ts CHANGED
@@ -1638,12 +1638,16 @@ interface MiniProgramNetworkRequestConfig {
1638
1638
  * `new URLSearchParams(values).toString()` 并设置
1639
1639
  * `application/x-www-form-urlencoded`。
1640
1640
  *
1641
- * 支持官方请求扩展的 Mobile Host 可在保留官方鉴权的同时发送应用 Header、JSON 与表单,
1642
- * 支持标准 HTTP 方法;GET/HEAD 不携带正文,Cookie 仍由宿主管理。Host 自动协商能力,
1643
- * 页面无需传入额外开关。旧 Mobile Host 仅支持无应用 Header/正文的 GET 和表单 POST;
1644
- * 标量表单对象及无重复字段的合法 UTF-8 表单字符串可兼容,form Content-Type 由 Host
1645
- * 消化为编码声明。旧 Host 无法表达的请求返回 `REQUEST_UNSUPPORTED`,不降为无签名请求。
1646
- * 该兼容限制不改变第三方 URL 的 Header 与 JSON 请求能力。
1641
+ * **在移动端访问官方域名时,JSON 请求体或自定义请求头不会自动附加客户端签名。**
1642
+ * 依赖客户端签名的接口应使用服务端支持的 GET 或兼容表单 POST,并避免自定义请求头;
1643
+ * 标量表单对象及无重复字段的合法 UTF-8 表单字符串可兼容。仅设置表单 Content-Type
1644
+ * 用于声明编码,不影响这类表单请求的兼容性。
1645
+ *
1646
+ * 当前 API 不支持在同一请求中同时使用 JSON/自定义请求头和自动附加的客户端签名,
1647
+ * 也没有强制启用签名的配置项。接口同时要求两者时,应先与服务端约定兼容的请求格式
1648
+ * 或鉴权方式,并在目标客户端验收。官方域名访问权限、Cookie 可用、SDK 版本或请求
1649
+ * 成功均不能作为已签名的依据。历史客户端仍可能以 `REQUEST_UNSUPPORTED` 拒绝。
1650
+ * GET/HEAD 不携带正文。此限制不影响第三方 URL 的自定义请求头与 JSON 请求能力。
1647
1651
  *
1648
1652
  * 不支持 `FormData`、`Blob`、File/Directory 代理、`ArrayBuffer`、TypedArray、`DataView`、
1649
1653
  * `SharedArrayBuffer` 或它们的嵌套值。`multipart/form-data` 与手写 multipart body 均不可用;
@@ -1654,6 +1658,9 @@ interface MiniProgramNetworkRequestConfig {
1654
1658
  * 请求头;规则见 {@link MiniProgramNetworkHeaders}。调用方显式提供的普通 `Cookie` /
1655
1659
  * `Authorization` 可作为应用 Header 交给 Host,但 SDK 不提供平台 Cookie/token,且不得在
1656
1660
  * 小程序中持有或发送平台凭据、服务端应用密钥等敏感信息。
1661
+ * 在移动端访问官方域名时,自定义请求头不能与自动附加的客户端签名同时使用。
1662
+ * 依赖客户端签名的接口应避免自定义请求头。仅声明表单 Content-Type 的兼容规则
1663
+ * 见 {@link MiniProgramNetworkRequestConfig.data}。
1657
1664
  */
1658
1665
  headers?: MiniProgramNetworkHeaders;
1659
1666
  /**
@@ -1877,6 +1884,8 @@ interface MiniProgramNetworkModule {
1877
1884
  /**
1878
1885
  * 发起网络请求。
1879
1886
  *
1887
+ * **注意:在移动端访问官方域名时,JSON 请求体或自定义请求头不会自动附加客户端签名。**
1888
+ *
1880
1889
  * @typeParam T - 调用方期望的响应 data 类型;只影响 TypeScript,不做运行时 schema 校验。
1881
1890
  * @param config - URL、方法、查询、body、Header、Host timeout 与 SDK 状态校验配置,详见
1882
1891
  * {@link MiniProgramNetworkRequestConfig}。
@@ -1893,6 +1902,12 @@ interface MiniProgramNetworkModule {
1893
1902
  * 其他握手、bridge 或 Host 错误保留对应 SDK 错误码。
1894
1903
  *
1895
1904
  * @remarks
1905
+ * 移动端访问官方域名时,当前 API 不支持同时使用 JSON/自定义请求头和自动附加的
1906
+ * 客户端签名,也没有强制启用签名的配置项。依赖客户端签名的接口应使用服务端支持的
1907
+ * GET 或兼容表单 POST,并避免自定义请求头。接口同时要求两者时,应先与服务端约定
1908
+ * 兼容的请求格式或鉴权方式。访问权限已获批、Cookie 可用或请求成功均不代表已签名,
1909
+ * 具体编码与兼容规则见 {@link MiniProgramNetworkRequestConfig.data}。
1910
+ *
1896
1911
  * 该 API 需要在 `package.json#heybox.permissions` 声明并启用 `network`,且取得平台批准;
1897
1912
  * 不需要 `filesystem` 或可信用户手势。`useOfficialDomain` 只有开发者声明与平台批准都为
1898
1913
  * `true` 时生效,并且不会绕过 HTTPS、敏感路径、Header、body、timeout 或响应策略。
@@ -3670,6 +3685,13 @@ interface MiniProgramViewportModule {
3670
3685
  /**
3671
3686
  * 设置当前小程序的窗口方向和全屏状态。
3672
3687
  *
3688
+ * SDK `1.0.0` 计划将本方法调整为 `Promise<void>`:设置完成时正常返回,不支持时抛出明确错误;
3689
+ * 切换失败、超时或取消仍抛出对应错误。当前仍返回 `{ supported: boolean }`,现有行为保持不变。
3690
+ *
3691
+ * 请提前补齐 `try/catch`,过渡期保留 `supported: false` 判断,并先检查返回值是否存在再读取该字段;
3692
+ * 避免直接解构返回值或将未来的空返回值当作失败。仅在确认设置成功后继续依赖该设置的操作。
3693
+ * 不支持时的错误码与适配期限会在 `1.0.0` 正式发布前公告,并提供预发布版本验证。
3694
+ *
3673
3695
  * @param options - 方向与全屏目标,至少提供一个字段;省略的字段保持当前目标值。
3674
3696
  * @returns Host 完成原生方向与胶囊设置、布局稳定后返回 `{ supported: true }`;能力缺失或
3675
3697
  * 请求不受支持时返回 `{ supported: false }`,调用方仍应按实际窗口与安全区布局。
@@ -1638,12 +1638,16 @@ interface MiniProgramNetworkRequestConfig {
1638
1638
  * `new URLSearchParams(values).toString()` 并设置
1639
1639
  * `application/x-www-form-urlencoded`。
1640
1640
  *
1641
- * 支持官方请求扩展的 Mobile Host 可在保留官方鉴权的同时发送应用 Header、JSON 与表单,
1642
- * 支持标准 HTTP 方法;GET/HEAD 不携带正文,Cookie 仍由宿主管理。Host 自动协商能力,
1643
- * 页面无需传入额外开关。旧 Mobile Host 仅支持无应用 Header/正文的 GET 和表单 POST;
1644
- * 标量表单对象及无重复字段的合法 UTF-8 表单字符串可兼容,form Content-Type 由 Host
1645
- * 消化为编码声明。旧 Host 无法表达的请求返回 `REQUEST_UNSUPPORTED`,不降为无签名请求。
1646
- * 该兼容限制不改变第三方 URL 的 Header 与 JSON 请求能力。
1641
+ * **在移动端访问官方域名时,JSON 请求体或自定义请求头不会自动附加客户端签名。**
1642
+ * 依赖客户端签名的接口应使用服务端支持的 GET 或兼容表单 POST,并避免自定义请求头;
1643
+ * 标量表单对象及无重复字段的合法 UTF-8 表单字符串可兼容。仅设置表单 Content-Type
1644
+ * 用于声明编码,不影响这类表单请求的兼容性。
1645
+ *
1646
+ * 当前 API 不支持在同一请求中同时使用 JSON/自定义请求头和自动附加的客户端签名,
1647
+ * 也没有强制启用签名的配置项。接口同时要求两者时,应先与服务端约定兼容的请求格式
1648
+ * 或鉴权方式,并在目标客户端验收。官方域名访问权限、Cookie 可用、SDK 版本或请求
1649
+ * 成功均不能作为已签名的依据。历史客户端仍可能以 `REQUEST_UNSUPPORTED` 拒绝。
1650
+ * GET/HEAD 不携带正文。此限制不影响第三方 URL 的自定义请求头与 JSON 请求能力。
1647
1651
  *
1648
1652
  * 不支持 `FormData`、`Blob`、File/Directory 代理、`ArrayBuffer`、TypedArray、`DataView`、
1649
1653
  * `SharedArrayBuffer` 或它们的嵌套值。`multipart/form-data` 与手写 multipart body 均不可用;
@@ -1654,6 +1658,9 @@ interface MiniProgramNetworkRequestConfig {
1654
1658
  * 请求头;规则见 {@link MiniProgramNetworkHeaders}。调用方显式提供的普通 `Cookie` /
1655
1659
  * `Authorization` 可作为应用 Header 交给 Host,但 SDK 不提供平台 Cookie/token,且不得在
1656
1660
  * 小程序中持有或发送平台凭据、服务端应用密钥等敏感信息。
1661
+ * 在移动端访问官方域名时,自定义请求头不能与自动附加的客户端签名同时使用。
1662
+ * 依赖客户端签名的接口应避免自定义请求头。仅声明表单 Content-Type 的兼容规则
1663
+ * 见 {@link MiniProgramNetworkRequestConfig.data}。
1657
1664
  */
1658
1665
  headers?: MiniProgramNetworkHeaders;
1659
1666
  /**