@heybox/hb-sdk 0.8.1 → 0.8.2-alpha.1

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 (33) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +2 -2
  3. package/dist/cli-chunks/{build-DPe1Ycjd.cjs → build-DFwk1Xza.cjs} +4 -4
  4. package/dist/cli-chunks/{context-BSUhAv3Z.cjs → context-DPwjjbIf.cjs} +2 -2
  5. package/dist/cli-chunks/{create-CaiKrGnb.cjs → create-Cbk708wm.cjs} +1 -1
  6. package/dist/cli-chunks/{dev-BG1o8Q-0.cjs → dev-B1dCAh3V.cjs} +9 -9
  7. package/dist/cli-chunks/{doctor-DutO2P5H.cjs → doctor-KX6cHAbM.cjs} +1 -1
  8. package/dist/cli-chunks/{index-CKIyipP9.cjs → index-B5GNdZS6.cjs} +15 -15
  9. package/dist/cli-chunks/{index-Bur0U2z1.cjs → index-D1CfvRqX.cjs} +2 -2
  10. package/dist/cli-chunks/{index.esm-BPlpP-O0.cjs → index.esm-BvuovqBQ.cjs} +7 -7
  11. package/dist/cli-chunks/{login-C1JlLEza.cjs → login-CqdIa3XD.cjs} +2 -2
  12. package/dist/cli-chunks/{project-vite-Bd0WzAqQ.cjs → project-vite-Bw3UJTnC.cjs} +1 -1
  13. package/dist/cli-chunks/{remote-DTFEf3Dj.cjs → remote-t0V-fuAW.cjs} +6 -6
  14. package/dist/cli-chunks/{runtime-permission-env-C2S34ldj.cjs → runtime-permission-env-BgYjqHIE.cjs} +1 -1
  15. package/dist/cli-chunks/{session-zXVkHuhY.cjs → session-DFY2dygN.cjs} +1 -1
  16. package/dist/cli-chunks/{skill-CCB3DyXk.cjs → skill-D3xHcK8w.cjs} +2 -2
  17. package/dist/cli-chunks/{version-0qwlEyZC.cjs → version-DkVq4CXN.cjs} +1 -1
  18. package/dist/cli.cjs +1 -1
  19. package/dist/devtools/browser-dev-host/assets/browser-dev-host-DqPIIvha.js +101 -0
  20. package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-DOfl5YvO.js → desktop-app-launch-8J62MOi_.js} +1 -1
  21. package/dist/devtools/browser-dev-host/assets/{index-CFr28-0O.js → index-CrsPiYXy.js} +3 -3
  22. package/dist/devtools/browser-dev-host/index.html +2 -2
  23. package/dist/index.cjs.js +3 -3
  24. package/dist/index.esm.js +3 -3
  25. package/dist/protocol.cjs.js +2 -2
  26. package/dist/protocol.esm.js +2 -2
  27. package/dist/vite.cjs.js +1 -1
  28. package/dist/vite.esm.js +1 -1
  29. package/package.json +8 -8
  30. package/skill/references/api-root.md +3 -3
  31. package/skill/references/recipes.md +5 -5
  32. package/skill/skill.json +5 -5
  33. package/dist/devtools/browser-dev-host/assets/browser-dev-host-pUcws1MK.js +0 -101
@@ -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-CFr28-0O.js"></script>
9
- <link rel="modulepreload" crossorigin href="/assets/desktop-app-launch-DOfl5YvO.js">
8
+ <script type="module" crossorigin src="/assets/index-CrsPiYXy.js"></script>
9
+ <link rel="modulepreload" crossorigin href="/assets/desktop-app-launch-8J62MOi_.js">
10
10
  <link rel="stylesheet" crossorigin href="/assets/index-DXd5IZBz.css">
11
11
  </head>
12
12
  <body>
package/dist/index.cjs.js CHANGED
@@ -754,8 +754,8 @@ function isRecord$2(value) {
754
754
  return typeof value === 'object' && value !== null && !Array.isArray(value);
755
755
  }
756
756
 
757
- /** 当前用户信息与登录能力支持的完整 scope 目录。 */
758
- const USER_INFO_AUTHORIZATION_SCOPES = ['identity', 'profile'];
757
+ /** 当前用户信息与登录能力支持的完整 scope 目录(canonical 顺序)。 */
758
+ const USER_INFO_AUTHORIZATION_SCOPES = ['identity', 'profile', 'steam_account'];
759
759
  /** Companion alias 的跨构建、Runtime 与 Host 规范。 */
760
760
  const COMPANION_ALIAS_PATTERN = /^[a-z][a-z0-9-]{0,31}$/;
761
761
 
@@ -835,7 +835,7 @@ function createMessageId() {
835
835
  /** 构建时替换为当前发布包的实际版本。 */
836
836
  const HB_SDK_VERSION = typeof undefined === 'string'
837
837
  ? undefined
838
- : '0.8.1';
838
+ : '0.8.2-alpha.1';
839
839
 
840
840
  const RUNTIME_MODES = new Set(['production', 'preview', 'development', 'unknown']);
841
841
  const OPERATING_SYSTEM_NAMES = new Set(['android', 'ios', 'ohos', 'windows', 'macos', 'linux', 'unknown']);
package/dist/index.esm.js CHANGED
@@ -750,8 +750,8 @@ function isRecord$2(value) {
750
750
  return typeof value === 'object' && value !== null && !Array.isArray(value);
751
751
  }
752
752
 
753
- /** 当前用户信息与登录能力支持的完整 scope 目录。 */
754
- const USER_INFO_AUTHORIZATION_SCOPES = ['identity', 'profile'];
753
+ /** 当前用户信息与登录能力支持的完整 scope 目录(canonical 顺序)。 */
754
+ const USER_INFO_AUTHORIZATION_SCOPES = ['identity', 'profile', 'steam_account'];
755
755
  /** Companion alias 的跨构建、Runtime 与 Host 规范。 */
756
756
  const COMPANION_ALIAS_PATTERN = /^[a-z][a-z0-9-]{0,31}$/;
757
757
 
@@ -831,7 +831,7 @@ function createMessageId() {
831
831
  /** 构建时替换为当前发布包的实际版本。 */
832
832
  const HB_SDK_VERSION = typeof undefined === 'string'
833
833
  ? undefined
834
- : '0.8.1';
834
+ : '0.8.2-alpha.1';
835
835
 
836
836
  const RUNTIME_MODES = new Set(['production', 'preview', 'development', 'unknown']);
837
837
  const OPERATING_SYSTEM_NAMES = new Set(['android', 'ios', 'ohos', 'windows', 'macos', 'linux', 'unknown']);
@@ -476,8 +476,8 @@ function isRecord$2(value) {
476
476
  return typeof value === 'object' && value !== null && !Array.isArray(value);
477
477
  }
478
478
 
479
- /** 当前用户信息与登录能力支持的完整 scope 目录。 */
480
- const USER_INFO_AUTHORIZATION_SCOPES = ['identity', 'profile'];
479
+ /** 当前用户信息与登录能力支持的完整 scope 目录(canonical 顺序)。 */
480
+ const USER_INFO_AUTHORIZATION_SCOPES = ['identity', 'profile', 'steam_account'];
481
481
 
482
482
  const MINI_PROGRAM_PERMISSION_KEYS = [
483
483
  'userInfo',
@@ -474,8 +474,8 @@ function isRecord$2(value) {
474
474
  return typeof value === 'object' && value !== null && !Array.isArray(value);
475
475
  }
476
476
 
477
- /** 当前用户信息与登录能力支持的完整 scope 目录。 */
478
- const USER_INFO_AUTHORIZATION_SCOPES = ['identity', 'profile'];
477
+ /** 当前用户信息与登录能力支持的完整 scope 目录(canonical 顺序)。 */
478
+ const USER_INFO_AUTHORIZATION_SCOPES = ['identity', 'profile', 'steam_account'];
479
479
 
480
480
  const MINI_PROGRAM_PERMISSION_KEYS = [
481
481
  'userInfo',
package/dist/vite.cjs.js CHANGED
@@ -11,7 +11,7 @@ var _documentCurrentScript = typeof document !== 'undefined' ? document.currentS
11
11
  /** 构建时替换为当前发布包的实际版本。 */
12
12
  const HB_SDK_VERSION = typeof undefined === 'string'
13
13
  ? undefined
14
- : '0.8.1';
14
+ : '0.8.2-alpha.1';
15
15
 
16
16
  /**
17
17
  * iframe 与调试台页面的开发期 console 捕获转发。
package/dist/vite.esm.js CHANGED
@@ -8,7 +8,7 @@ import { AsyncLocalStorage } from 'node:async_hooks';
8
8
  /** 构建时替换为当前发布包的实际版本。 */
9
9
  const HB_SDK_VERSION = typeof undefined === 'string'
10
10
  ? undefined
11
- : '0.8.1';
11
+ : '0.8.2-alpha.1';
12
12
 
13
13
  /**
14
14
  * iframe 与调试台页面的开发期 console 捕获转发。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@heybox/hb-sdk",
3
- "version": "0.8.1",
3
+ "version": "0.8.2-alpha.1",
4
4
  "sideEffects": [
5
5
  "./src/index.ts",
6
6
  "./src/core/singleton.ts",
@@ -64,7 +64,7 @@
64
64
  "skills": "1.5.23",
65
65
  "undici": "^7.28.0",
66
66
  "ws": "^8.18.0",
67
- "@heybox/hb-sdk-protocol": "0.8.1"
67
+ "@heybox/hb-sdk-protocol": "0.8.2-alpha.1"
68
68
  },
69
69
  "peerDependencies": {
70
70
  "vite": ">=5"
@@ -115,13 +115,13 @@
115
115
  "vue-tsc": "^3.3.7",
116
116
  "vite": "^8.0.12",
117
117
  "vitest": "^3.2.4",
118
- "@heybox-domain/heybox-theme": "~0.1.0",
119
- "@heybox/hb-sdk-runtime": "~0.8.1",
120
- "@heybox/runtime-policy": "~0.2.0",
121
- "@heybox/runtime": "~0.2.0",
122
- "@heybox/runtime-transport-fetch": "~0.2.0",
118
+ "@heybox/hb-sdk-runtime": "~0.8.2-alpha.1",
123
119
  "@heybox/hb-api": "~1.28.4",
124
- "@heybox-domain/heybox-vue3-ui": "~0.1.0"
120
+ "@heybox/runtime": "~0.2.0",
121
+ "@heybox-domain/heybox-vue3-ui": "~0.1.0",
122
+ "@heybox/runtime-policy": "~0.2.0",
123
+ "@heybox-domain/heybox-theme": "~0.1.0",
124
+ "@heybox/runtime-transport-fetch": "~0.2.0"
125
125
  },
126
126
  "publishConfig": {
127
127
  "registry": "https://registry.npmjs.org/",
@@ -28,7 +28,7 @@
28
28
  ## Package metadata
29
29
 
30
30
  - Package: `@heybox/hb-sdk`
31
- - Version at generation time: `0.8.1`
31
+ - Version at generation time: `0.8.2-alpha.1`
32
32
  - Public root export: `@heybox/hb-sdk`
33
33
  - Protocol export: `@heybox/hb-sdk/protocol`
34
34
  - Vite plugin export: `@heybox/hb-sdk/vite`
@@ -461,11 +461,11 @@ async function getCurrentUser() {
461
461
  }
462
462
  ```
463
463
 
464
- `user.getInfo()` 不展示授权弹窗,也不要求可信用户手势。未登录时返回未登录状态;已登录时隐式授予当前本地用户 scopes(`identity`、`profile`),静默返回 `userInfo.app_user_id`、`profile.nickname` 和 `profile.avatar`。这条路径不能获取授权码或调用 OpenAPI,也不能把身份或资料发送到外部服务。
464
+ `user.getInfo()` 不展示授权弹窗,也不要求可信用户手势。未登录时返回未登录状态;已登录时隐式授予当前本地用户 scopes(`identity`、`profile`),静默返回 `userInfo.app_user_id`、`profile.nickname` 和 `profile.avatar`。平台为当前版本启用 Steam 账号能力且小程序未开通网络权限时,还会授予 `steam_account`,已绑定用户返回可选 `userInfo.steam_id`。这条路径不能获取授权码或调用 OpenAPI,也不能把身份或资料发送到外部服务。
465
465
 
466
466
  ## 获取服务端授权码
467
467
 
468
- 声明 `userInfo` 后,可通过 `auth.login()` 获取短期授权码。登录可能展示 UI,因此应绑定到按钮点击等明确的用户操作。该调用内部使用 Host 受信请求,不依赖公开 `network` 权限;示例中的 `network.request()` 另需声明并获得 `network` 平台批准。
468
+ 声明 `userInfo` 后,可通过 `auth.login()` 获取短期授权码。登录可能展示 UI,因此应绑定到按钮点击等明确的用户操作。平台为当前版本启用 Steam 账号能力后,联网小程序可在 `scopes` 中按需加入 `steam_account`,并由开发者服务端通过 OpenAPI 读取 `steam_id`。该调用内部使用 Host 受信请求,不依赖公开 `network` 权限;示例中的 `network.request()` 另需声明并获得 `network` 平台批准。
469
469
 
470
470
  SDK 会自动完成握手。登录按钮应按上面的持久握手状态启用;点击回调直接调用 `auth.login()`,不要先等待其他异步任务,以免首次操作丢失可信手势。
471
471
 
@@ -64,11 +64,11 @@ async function getCurrentUser() {
64
64
  }
65
65
  ```
66
66
 
67
- `user.getInfo()` 不展示授权弹窗,也不要求可信用户手势。未登录时返回未登录状态;已登录时隐式授予当前本地用户 scopes(`identity`、`profile`),静默返回 `userInfo.app_user_id`、`profile.nickname` 和 `profile.avatar`。这条路径不能获取授权码或调用 OpenAPI,也不能把身份或资料发送到外部服务。
67
+ `user.getInfo()` 不展示授权弹窗,也不要求可信用户手势。未登录时返回未登录状态;已登录时隐式授予当前本地用户 scopes(`identity`、`profile`),静默返回 `userInfo.app_user_id`、`profile.nickname` 和 `profile.avatar`。平台为当前版本启用 Steam 账号能力且小程序未开通网络权限时,还会授予 `steam_account`,已绑定用户返回可选 `userInfo.steam_id`。这条路径不能获取授权码或调用 OpenAPI,也不能把身份或资料发送到外部服务。
68
68
 
69
69
  ## 获取服务端授权码
70
70
 
71
- 声明 `userInfo` 后,可通过 `auth.login()` 获取短期授权码。登录可能展示 UI,因此应绑定到按钮点击等明确的用户操作。该调用内部使用 Host 受信请求,不依赖公开 `network` 权限;示例中的 `network.request()` 另需声明并获得 `network` 平台批准。
71
+ 声明 `userInfo` 后,可通过 `auth.login()` 获取短期授权码。登录可能展示 UI,因此应绑定到按钮点击等明确的用户操作。平台为当前版本启用 Steam 账号能力后,联网小程序可在 `scopes` 中按需加入 `steam_account`,并由开发者服务端通过 OpenAPI 读取 `steam_id`。该调用内部使用 Host 受信请求,不依赖公开 `network` 权限;示例中的 `network.request()` 另需声明并获得 `network` 平台批准。
72
72
 
73
73
  SDK 会自动完成握手。登录按钮应按上面的持久握手状态启用;点击回调直接调用 `auth.login()`,不要先等待其他异步任务,以免首次操作丢失可信手势。
74
74
 
@@ -259,9 +259,9 @@ async function loginFromUserAction() {
259
259
  - `expiresIn` 是服务端返回的有效期(当前为 `300` 秒);服务端应尽快使用,失败或过期后重新获取,不要在业务代码中硬编码该值。
260
260
  - `scopes` 是本次授权码实际包含的 scope。
261
261
 
262
- `identity` 始终隐式包含,不需要也不能通过省略它来申请匿名授权。`scopes` 只填写业务确实需要的可选资料,例如 `profile`;不需要额外资料时直接调用 `auth.login()`。
262
+ `identity` 始终隐式包含,不需要也不能通过省略它来申请匿名授权。`scopes` 只填写业务确实需要的可选资料,例如 `profile`。平台为当前版本启用 Steam 账号能力后,需要主绑定 SteamID64 的联网小程序可申请 `steam_account`;不需要额外资料时直接调用 `auth.login()`。
263
263
 
264
- 小程序页面只把 `code` 发送到自己的服务端。开发者服务端再按后端 OpenAPI 文档,用服务端保存的应用凭据交换 token;页面不得自行交换,也不得持有应用私密凭据。`auth.login()` 不返回 user、profile、`app_user_id` 或 token。
264
+ 小程序页面只把 `code` 发送到自己的服务端。开发者服务端再按后端 OpenAPI 文档,用服务端保存的应用凭据交换 token;页面不得自行交换,也不得持有应用私密凭据。`auth.login()` 不返回 user、profile、`steam_id`、`app_user_id` 或 token。
265
265
 
266
266
  ## 后端 OpenAPI
267
267
 
@@ -310,7 +310,7 @@ async function getCurrentUser() {
310
310
  }
311
311
  ```
312
312
 
313
- `user.getInfo()` 不依赖 `network`,但必须声明 `userInfo`。它延续现有交互:不展示授权弹窗,也不要求可信用户手势。未登录时返回 `isHeyboxAppLoggedIn: false`;已登录时按现有用户授权状态返回当前小程序隔离的 `app_user_id`,以及已授权的 `profile.nickname` 和 `profile.avatar` 等可用资料。用户授权与开发者权限声明是两层独立门禁,不能用声明代替用户同意。
313
+ `user.getInfo()` 必须声明 `userInfo`。它延续现有交互:不展示授权弹窗,也不要求可信用户手势。未登录时返回 `isHeyboxAppLoggedIn: false`;已登录时按授权状态返回当前小程序隔离的 `app_user_id`、`profile.nickname` 和 `profile.avatar`。平台为当前版本启用 Steam 账号能力后,未开通网络权限的小程序会隐式获得 `steam_account`,当前用户有主绑定时返回可选 `steam_id`;已开通网络权限的小程序改由开发者服务端通过 OpenAPI 读取这些资料,页面调用返回 `SERVER_API_REQUIRED`。用户授权与开发者权限声明是两层独立门禁,不能用声明代替用户同意。
314
314
 
315
315
  Steam 游戏库使用 `user.getSteamGameList(options)`,要求声明 `steamLibrary`,同样不依赖 `network`。Host current-user capabilities 的既有账号绑定和数据可用性规则保持不变。
316
316
 
package/skill/skill.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "hb-sdk",
3
- "skillVersion": "0.8.1+skill.326b19d2bdf1",
3
+ "skillVersion": "0.8.2-alpha.1+skill.0f0823cae24a",
4
4
  "sdk": {
5
5
  "package": "@heybox/hb-sdk",
6
- "version": "0.8.1",
7
- "compatibility": "0.8.1"
6
+ "version": "0.8.2-alpha.1",
7
+ "compatibility": "0.8.2-alpha.1"
8
8
  },
9
9
  "distribution": {
10
10
  "type": "npm",
11
11
  "package": "@heybox/hb-sdk",
12
- "version": "0.8.1",
12
+ "version": "0.8.2-alpha.1",
13
13
  "path": "skill"
14
14
  },
15
- "integrity": "sha256-326b19d2bdf15cecbbfb8f0670ec53ddbffc1eb11cbe8faa4b0e45ad8c4a6f92"
15
+ "integrity": "sha256-0f0823cae24a89faa255a1195befa2a49ce1a6246ebb608ae199c6de3bbda33e"
16
16
  }