@heybox/hb-sdk 0.9.5-alpha.4 → 0.9.5

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 +19 -0
  2. package/README.md +14 -0
  3. package/dist/cli-chunks/{artifact-Ugqa6hRL.cjs → artifact-BQjpVazW.cjs} +3 -3
  4. package/dist/cli-chunks/{build-D_o_QRjp.cjs → build-Ds2vtEaS.cjs} +5 -5
  5. package/dist/cli-chunks/{create-C1D1kfK1.cjs → create-DSvHazlY.cjs} +1 -1
  6. package/dist/cli-chunks/{dev-BYJDJ6ke.cjs → dev-BUZaQAqF.cjs} +103 -94
  7. package/dist/cli-chunks/{dev-context-Dh5ZouxP.cjs → dev-context-iwZzKi8v.cjs} +2 -2
  8. package/dist/cli-chunks/{doctor-ScJqxOUG.cjs → doctor-DBHIFXJ_.cjs} +1 -1
  9. package/dist/cli-chunks/{games-DnIZgZPn.cjs → games-DJ8FFJEh.cjs} +1 -1
  10. package/dist/cli-chunks/{index-2pJPXX7y.cjs → index-CPdVzdQ4.cjs} +17 -17
  11. package/dist/cli-chunks/{index-CW36RfnA.cjs → index-DYmSgt-R.cjs} +1 -1
  12. package/dist/cli-chunks/{index.esm-DNEjZuBT.cjs → index.esm-BwPX3niz.cjs} +6 -6
  13. package/dist/cli-chunks/{login-BnnzOwbT.cjs → login-CVdgNJu0.cjs} +1 -1
  14. package/dist/cli-chunks/{project-vite-N357IKfz.cjs → project-vite-CRiHrfto.cjs} +1 -1
  15. package/dist/cli-chunks/{remote-CaHGCahf.cjs → remote-B_T2nCpI.cjs} +6 -6
  16. package/dist/cli-chunks/{runtime-permission-env-DidMNelj.cjs → runtime-permission-env-D3nbeD_M.cjs} +2 -2
  17. package/dist/cli-chunks/{skill-CRBhszbC.cjs → skill-BCUvQ_DM.cjs} +2 -2
  18. package/dist/cli-chunks/{version-BzAY2vKb.cjs → version-CYlLbj1-.cjs} +1 -1
  19. package/dist/cli.cjs +1 -1
  20. package/dist/devtools/browser-dev-host/assets/browser-dev-host-xmiOis7_.js +103 -0
  21. package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-BaoJXhJT.js → desktop-app-launch-26ZdXlpU.js} +1 -1
  22. package/dist/devtools/browser-dev-host/assets/{index-D5U_vWLN.js → index-CnC8QCV1.js} +3 -3
  23. package/dist/devtools/browser-dev-host/index.html +2 -2
  24. package/dist/index.cjs.js +33 -3
  25. package/dist/index.esm.js +33 -4
  26. package/dist/protocol.cjs.js +33 -0
  27. package/dist/protocol.esm.js +31 -1
  28. package/dist/vite.cjs.js +1 -1
  29. package/dist/vite.esm.js +1 -1
  30. package/package.json +6 -6
  31. package/skill/skill.json +4 -4
  32. package/types/index.d.ts +67 -2
  33. package/types/protocol.d.ts +1 -1
  34. package/dist/devtools/browser-dev-host/assets/browser-dev-host-ChhgKXkj.js +0 -102
package/CHANGELOG.md CHANGED
@@ -2,6 +2,25 @@
2
2
 
3
3
  本文件随 `@heybox/hb-sdk` npm 包公开分发,只记录外部小程序开发者可观察到的变化。
4
4
 
5
+ ## 0.9.5 - 2026-10-30
6
+
7
+ ### 新增能力
8
+
9
+ - 新增 [user.getFollowStatus()](https://docs.xiaoheihe.cn/hb_sdk/reference/sdk/user/getFollowStatus.html) 与 [user.requestFollowAuthor()](https://docs.xiaoheihe.cn/hb_sdk/reference/sdk/user/requestFollowAuthor.html),支持查询和引导关注小程序作者;关注操作须在真实点击中直接调用,并配套更新 Host 与后端,旧 Runtime 可能返回 `METHOD_NOT_FOUND`。
10
+ - [hb-sdk dev](https://docs.xiaoheihe.cn/hb_sdk/guide/cli) 新增桌面预览,支持[窗口尺寸配置](https://docs.xiaoheihe.cn/hb_sdk/guide/window-size.html)、缩放、最大化和最小化;系统信息来自 CLI 本机,`viewport.setDisplay()` 暂不支持。
11
+
12
+ ### 文档与工具
13
+
14
+ - [CLI 版本提醒](https://docs.xiaoheihe.cn/hb_sdk/guide/cli#%E7%89%88%E6%9C%AC%E6%8F%90%E9%86%92)支持展示已审核的重点更新,确认后不再展示该版本公告;非交互环境、CI 和 JSON 输出不展示。
15
+ - 随包 Agent Skill 补充[游戏存档](https://docs.xiaoheihe.cn/hb_sdk/guide/game-saves)接入与[更新提醒](https://docs.xiaoheihe.cn/hb_sdk/guide/update-notices)读取指引。
16
+ - 修正 [auth.getAccountState()](https://docs.xiaoheihe.cn/hb_sdk/reference/sdk/auth/getAccountState.html) 注释:Mobile 切换 APP 账号后需重新打开小程序。
17
+
18
+ ## 0.9.5-alpha.5 - 2026-10-30
19
+
20
+ ### 新增能力
21
+
22
+ - 新增 `user.getFollowStatus()` 与 `user.requestFollowAuthor()`,支持查询和引导关注当前小程序作者;使用方式见[关注小程序作者](https://docs.xiaoheihe.cn/hb_sdk/guide/auth#%E5%85%B3%E6%B3%A8%E5%B0%8F%E7%A8%8B%E5%BA%8F%E4%BD%9C%E8%80%85)。需要配套更新宿主与后端。本地调试台支持关注确认,并等待登录、确认交互完成。
23
+
5
24
  ## 0.9.5-alpha.4 - 2026-10-30
6
25
 
7
26
  ### 文档与工具
package/README.md CHANGED
@@ -103,6 +103,20 @@ async function revokeAuthorizationFromUserAction() {
103
103
 
104
104
  `user.revokeAuthorization()` 位于无需声明白名单,不接收小程序 ID、黑盒用户 ID 或手势参数。调用必须来自可信用户操作,否则返回 `USER_GESTURE_REQUIRED`。撤销成功后,后续身份或授权读取会重新进入授权流程;SDK 不会替业务清理已经持久化的数据。
105
105
 
106
+ 在握手 ready 后,开发者可以通过按钮直接关注当前小程序作者:
107
+
108
+ ```ts
109
+ import hbSDK, { AuthorFollowStatus } from '@heybox/hb-sdk';
110
+
111
+ async function onFollowAuthorClick() {
112
+ const status = await hbSDK.user.requestFollowAuthor();
113
+ if (status === AuthorFollowStatus.Self) return;
114
+ // status === AuthorFollowStatus.Following 时将按钮更新为“已关注”。失败时按 SDK 错误处理。
115
+ }
116
+ ```
117
+
118
+ `user.requestFollowAuthor()` 不接收参数,不需要 `userInfo` 或 `network` 权限。它要求真实用户手势,由平台绑定作者;未登录时先登录,再展示宿主居中确认框。`user.getFollowStatus()` 可无手势查询 `notFollowing` / `following` / `self`,不登录、不弹框。已关注和作者本人直接返回;每天同账号同小程序最多领取 10 次引导额度(跨设备合计,北京时间自然日重置)。需要配套更新 Host,旧 Runtime 可能返回 `METHOD_NOT_FOUND`,缺少宿主能力时返回 `METHOD_FORBIDDEN`。完整说明见[关注小程序作者](https://docs.xiaoheihe.cn/hb_sdk/guide/auth#关注小程序作者)。
119
+
106
120
  已有 Vite 项目先在 `package.json#heybox.platforms` 声明实际承诺适配的平台(下面是官方模板的起始默认,未适配的平台应删除):
107
121
 
108
122
  ```json
@@ -3,9 +3,9 @@
3
3
  var fs = require('node:fs');
4
4
  var fs$1 = require('node:fs/promises');
5
5
  var path = require('node:path');
6
- var runtimePermissionEnv = require('./runtime-permission-env-DidMNelj.cjs');
7
- require('./version-BzAY2vKb.cjs');
8
- var index = require('./index-2pJPXX7y.cjs');
6
+ var runtimePermissionEnv = require('./runtime-permission-env-D3nbeD_M.cjs');
7
+ require('./version-CYlLbj1-.cjs');
8
+ var index = require('./index-CPdVzdQ4.cjs');
9
9
  var node_crypto = require('node:crypto');
10
10
  require('node:zlib');
11
11
  require('node:module');
@@ -2,14 +2,14 @@
2
2
 
3
3
  var fs = require('node:fs/promises');
4
4
  var path = require('node:path');
5
- var runtimePermissionEnv = require('./runtime-permission-env-DidMNelj.cjs');
6
- var index = require('./index-2pJPXX7y.cjs');
5
+ var runtimePermissionEnv = require('./runtime-permission-env-D3nbeD_M.cjs');
6
+ var index = require('./index-CPdVzdQ4.cjs');
7
7
  require('node:crypto');
8
8
  require('node:fs');
9
9
  require('node:zlib');
10
- var artifact = require('./artifact-Ugqa6hRL.cjs');
11
- var projectVite = require('./project-vite-N357IKfz.cjs');
12
- require('./version-BzAY2vKb.cjs');
10
+ var artifact = require('./artifact-BQjpVazW.cjs');
11
+ var projectVite = require('./project-vite-CRiHrfto.cjs');
12
+ require('./version-CYlLbj1-.cjs');
13
13
  require('node:async_hooks');
14
14
  require('node:module');
15
15
  require('readline');
@@ -5,7 +5,7 @@ var fs = require('node:fs/promises');
5
5
  var path = require('node:path');
6
6
  var require$$0 = require('fs');
7
7
  var require$$1 = require('path');
8
- var index = require('./index-2pJPXX7y.cjs');
8
+ var index = require('./index-CPdVzdQ4.cjs');
9
9
  require('node:module');
10
10
  require('readline');
11
11
  require('os');
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-2pJPXX7y.cjs');
3
+ var index = require('./index-CPdVzdQ4.cjs');
4
4
  var node_crypto = require('node:crypto');
5
5
  var fs = require('node:fs');
6
6
  var path = require('node:path');
7
- var runtimePermissionEnv = require('./runtime-permission-env-DidMNelj.cjs');
8
- var version = require('./version-BzAY2vKb.cjs');
7
+ var runtimePermissionEnv = require('./runtime-permission-env-D3nbeD_M.cjs');
8
+ var version = require('./version-CYlLbj1-.cjs');
9
9
  require('node:zlib');
10
- var devContext = require('./dev-context-Dh5ZouxP.cjs');
10
+ var devContext = require('./dev-context-iwZzKi8v.cjs');
11
11
  var os = require('node:os');
12
12
  var net = require('node:net');
13
13
  var promises = require('node:dns/promises');
@@ -18,7 +18,7 @@ var fs$1 = require('node:fs/promises');
18
18
  var require$$0$1 = require('crypto');
19
19
  var require$$0 = require('buffer');
20
20
  var browser = require('./browser-RAy8e8cV.cjs');
21
- var projectVite = require('./project-vite-N357IKfz.cjs');
21
+ var projectVite = require('./project-vite-CRiHrfto.cjs');
22
22
 
23
23
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
24
24
  const DEFAULT_DEV_CONTEXT_TIMEOUT_MS = 3000;
@@ -3056,8 +3056,8 @@ const DEFAULT_CHANNEL_TRANSPORT = {
3056
3056
  };
3057
3057
  const IPV4_LOOPBACK_ADDRESSES = new net.BlockList();
3058
3058
  IPV4_LOOPBACK_ADDRESSES.addSubnet('127.0.0.0', 8, 'ipv4');
3059
- const { WebSocket, WebSocketServer } = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/dev-BYJDJ6ke.cjs', document.baseURI).href)))('ws');
3060
- const { parse: parseHtml } = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/dev-BYJDJ6ke.cjs', document.baseURI).href)))('parse5');
3059
+ const { WebSocket, WebSocketServer } = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/dev-BUZaQAqF.cjs', document.baseURI).href)))('ws');
3060
+ const { parse: parseHtml } = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/dev-BUZaQAqF.cjs', document.baseURI).href)))('parse5');
3061
3061
  const BROWSER_DEV_HOST_ROOT_CANDIDATES = [
3062
3062
  path.resolve(__dirname, 'devtools/browser-dev-host'),
3063
3063
  path.resolve(__dirname, '../devtools/browser-dev-host'),
@@ -7462,8 +7462,16 @@ function createRuntimeRequest(options) {
7462
7462
  observation.attemptCount = Math.max(observation.attemptCount, attempt + 1);
7463
7463
  const policyResolvedConfig = await applyPolicy(config, attempt, channel, channelPolicy);
7464
7464
  const authRequirement = normalizeAuthRequirement(policyResolvedConfig.auth);
7465
- const hostAuth = policy?.authExecution === 'host';
7466
- if (hostAuth) {
7465
+ const authExecution = (await policy?.getAuthExecution?.({
7466
+ attempt,
7467
+ channel,
7468
+ config: { ...policyResolvedConfig, transport: policyResolvedConfig.transport ?? channelPolicy?.transport ?? defaultTransportId },
7469
+ ctx,
7470
+ })) ??
7471
+ policy?.authExecution ??
7472
+ 'runtime';
7473
+ const hostAuth = authExecution === 'host';
7474
+ if (hostAuth && policy) {
7467
7475
  assertHostAuthRequirement(ctx, policy, policyResolvedConfig.auth);
7468
7476
  }
7469
7477
  const requestAuth = hostAuth ? undefined : resolveRequestAuth(ctx, authRequirement);
@@ -12216,7 +12224,7 @@ function assertNodeRuntimeCapabilities(ctx, settings) {
12216
12224
  function createNodeRealtimeDriverRegistry() {
12217
12225
  const registry = createRuntimeRealtimeDriverRegistry();
12218
12226
  registry.registerLazy('node-websocket', async () => {
12219
- const mod = await Promise.resolve().then(function () { return require('./index.esm-DNEjZuBT.cjs'); });
12227
+ const mod = await Promise.resolve().then(function () { return require('./index.esm-BwPX3niz.cjs'); });
12220
12228
  return mod.createNodeWebSocketRuntimeDriver();
12221
12229
  });
12222
12230
  return registry;
@@ -15397,6 +15405,91 @@ function applyRuntimeRequestTargetPolicy(policy, input) {
15397
15405
  };
15398
15406
  }
15399
15407
 
15408
+ /**
15409
+ * 显式控制 Heybox Web V4 请求签名的 metadata key。
15410
+ * 设置为 false 时跳过签名,主要用于第三方或已预签名请求。
15411
+ */
15412
+ const HEYBOX_WEB_V4_SIGNING_METADATA_KEY = 'heyboxWebV4Signing';
15413
+ /**
15414
+ * 判断绝对 URL 是否指向允许携带 Heybox Web V4 签名的第一方域名。
15415
+ *
15416
+ * @param value - 待判断的绝对 URL。
15417
+ */
15418
+ function isHeyboxFirstPartyURL(value) {
15419
+ try {
15420
+ const hostname = new URL(value, 'https://runtime.xiaoheihe.cn').hostname.toLowerCase();
15421
+ return /(^|\.)(xiaoheihe\.cn|maxjia\.com|debugmode\.cn)$/.test(hostname);
15422
+ }
15423
+ catch {
15424
+ return false;
15425
+ }
15426
+ }
15427
+ /**
15428
+ * 判断请求地址是否包含独立 origin,包括协议相对 URL。
15429
+ *
15430
+ * @param value - 待判断的请求地址。
15431
+ */
15432
+ function isAbsoluteRequestURL(value) {
15433
+ return /^[a-z][a-z\d+\-.]*:/i.test(value) || value.startsWith('//');
15434
+ }
15435
+ /**
15436
+ * 判断当前请求是否应由 Runtime 自动补充 Heybox Web V4 签名。
15437
+ *
15438
+ * @param config - 已合并 policy、channel 和业务参数的请求配置。
15439
+ */
15440
+ function shouldSignHeyboxWebV4Request(config) {
15441
+ if (config.metadata?.[HEYBOX_WEB_V4_SIGNING_METADATA_KEY] === false) {
15442
+ return false;
15443
+ }
15444
+ if (isAbsoluteRequestURL(config.url)) {
15445
+ return isHeyboxFirstPartyURL(config.url);
15446
+ }
15447
+ if (config.baseURL && isAbsoluteRequestURL(config.baseURL)) {
15448
+ return isHeyboxFirstPartyURL(config.baseURL);
15449
+ }
15450
+ return true;
15451
+ }
15452
+ /**
15453
+ * 在 transport 发送前使用服务端实际 pathname 生成 Heybox Web V4 签名。
15454
+ *
15455
+ * @param config - 已完成 query 合并的请求配置。
15456
+ */
15457
+ function applyHeyboxWebV4Signing(config) {
15458
+ if (!shouldSignHeyboxWebV4Request(config)) {
15459
+ return config;
15460
+ }
15461
+ const pathname = stripRuntimeRequestTargetDevPrefix(normalizeHeyboxWebV4Pathname(config.url));
15462
+ return {
15463
+ ...config,
15464
+ query: {
15465
+ ...config.query,
15466
+ ...createHeyboxWebV4Params(pathname),
15467
+ },
15468
+ };
15469
+ }
15470
+ /**
15471
+ * 在 Web V4 参数生成后追加可选的 RND 15 签名。
15472
+ *
15473
+ * @param config - 已完成 Web V4 签名的请求配置。
15474
+ */
15475
+ function applyHeyboxRND15Signing(config) {
15476
+ if (config.security?.rnd !== '15') {
15477
+ return config;
15478
+ }
15479
+ const nonce = config.query?.nonce;
15480
+ const time = config.query?._time;
15481
+ if (typeof nonce !== 'string' || (typeof time !== 'string' && typeof time !== 'number')) {
15482
+ return config;
15483
+ }
15484
+ return {
15485
+ ...config,
15486
+ query: {
15487
+ ...config.query,
15488
+ _rnd: `15:${createHeyboxRND15Signature(nonce, `${time}:${nonce}`)}`,
15489
+ },
15490
+ };
15491
+ }
15492
+
15400
15493
  /**
15401
15494
  * @packageDocumentation
15402
15495
  * 定义 Heybox 多产品、多容器的 runtime 策略集合。
@@ -15443,11 +15536,6 @@ const HEYBOX_REQUEST_SKIP_RECALL_METADATA_KEY = 'heyboxRequestSkipRecall';
15443
15536
  * 标记 Heybox request recall 已尝试过的 metadata key。
15444
15537
  */
15445
15538
  const HEYBOX_REQUEST_RECALL_ATTEMPTED_METADATA_KEY = 'heyboxRequestRecallAttempted';
15446
- /**
15447
- * 显式控制 Heybox Web V4 请求签名的 metadata key。
15448
- * 设置为 false 时跳过签名,主要用于第三方或已预签名请求。
15449
- */
15450
- const HEYBOX_WEB_V4_SIGNING_METADATA_KEY = 'heyboxWebV4Signing';
15451
15539
  /**
15452
15540
  * 需要触发认证或实名流程的 Heybox 业务状态。
15453
15541
  */
@@ -15752,63 +15840,6 @@ const heyboxWechatAppInvokeOptions = {
15752
15840
  function createHeyboxWechatBrowserBridgePolicy() {
15753
15841
  return createBrowserBridgePolicy('heybox://', heyboxWechatAppInvokeOptions);
15754
15842
  }
15755
- /**
15756
- * 判断绝对 URL 是否指向允许携带 Heybox Web V4 签名的第一方域名。
15757
- *
15758
- * @param value - 待判断的绝对 URL。
15759
- */
15760
- function isHeyboxFirstPartyURL(value) {
15761
- try {
15762
- const hostname = new URL(value, 'https://runtime.xiaoheihe.cn').hostname.toLowerCase();
15763
- return /(^|\.)(xiaoheihe\.cn|maxjia\.com|debugmode\.cn)$/.test(hostname);
15764
- }
15765
- catch {
15766
- return false;
15767
- }
15768
- }
15769
- /**
15770
- * 判断请求地址是否包含独立 origin,包括协议相对 URL。
15771
- *
15772
- * @param value - 待判断的请求地址。
15773
- */
15774
- function isAbsoluteRequestURL(value) {
15775
- return /^[a-z][a-z\d+\-.]*:/i.test(value) || value.startsWith('//');
15776
- }
15777
- /**
15778
- * 判断当前请求是否应由 Runtime 自动补充 Heybox Web V4 签名。
15779
- *
15780
- * @param config - 已合并 policy、channel 和业务参数的请求配置。
15781
- */
15782
- function shouldSignHeyboxWebV4Request(config) {
15783
- if (config.metadata?.[HEYBOX_WEB_V4_SIGNING_METADATA_KEY] === false) {
15784
- return false;
15785
- }
15786
- if (isAbsoluteRequestURL(config.url)) {
15787
- return isHeyboxFirstPartyURL(config.url);
15788
- }
15789
- if (config.baseURL && isAbsoluteRequestURL(config.baseURL)) {
15790
- return isHeyboxFirstPartyURL(config.baseURL);
15791
- }
15792
- return true;
15793
- }
15794
- /**
15795
- * 在 transport 发送前使用服务端实际 pathname 生成 Heybox Web V4 签名。
15796
- *
15797
- * @param config - 已完成 query 合并的请求配置。
15798
- */
15799
- function applyHeyboxWebV4Signing(config) {
15800
- if (!shouldSignHeyboxWebV4Request(config)) {
15801
- return config;
15802
- }
15803
- const pathname = stripRuntimeRequestTargetDevPrefix(normalizeHeyboxWebV4Pathname(config.url));
15804
- return {
15805
- ...config,
15806
- query: {
15807
- ...config.query,
15808
- ...createHeyboxWebV4Params(pathname),
15809
- },
15810
- };
15811
- }
15812
15843
  /**
15813
15844
  * 根据显式 Content-Type 推断旧 Web 请求体编码方式。
15814
15845
  *
@@ -15843,28 +15874,6 @@ function applyHeyboxLegacyWebDefaults(config) {
15843
15874
  queryEncoding: config.queryEncoding ?? 'axios-compatible',
15844
15875
  };
15845
15876
  }
15846
- /**
15847
- * 在 Web V4 参数生成后追加可选的 RND 15 签名。
15848
- *
15849
- * @param config - 已完成 Web V4 签名的请求配置。
15850
- */
15851
- function applyHeyboxRND15Signing(config) {
15852
- if (config.security?.rnd !== '15') {
15853
- return config;
15854
- }
15855
- const nonce = config.query?.nonce;
15856
- const time = config.query?._time;
15857
- if (typeof nonce !== 'string' || (typeof time !== 'string' && typeof time !== 'number')) {
15858
- return config;
15859
- }
15860
- return {
15861
- ...config,
15862
- query: {
15863
- ...config.query,
15864
- _rnd: `15:${createHeyboxRND15Signature(nonce, `${time}:${nonce}`)}`,
15865
- },
15866
- };
15867
- }
15868
15877
  /**
15869
15878
  * 应用 Heybox 浏览器请求默认值、安全签名和最终发送配置。
15870
15879
  *
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-2pJPXX7y.cjs');
4
- var runtimePermissionEnv = require('./runtime-permission-env-DidMNelj.cjs');
3
+ var index = require('./index-CPdVzdQ4.cjs');
4
+ var runtimePermissionEnv = require('./runtime-permission-env-D3nbeD_M.cjs');
5
5
  var node_crypto = require('node:crypto');
6
6
  var fs = require('node:fs/promises');
7
7
  var path = require('node:path');
@@ -3,7 +3,7 @@
3
3
  var fs = require('node:fs/promises');
4
4
  var os = require('node:os');
5
5
  var path = require('node:path');
6
- var index = require('./index-2pJPXX7y.cjs');
6
+ var index = require('./index-CPdVzdQ4.cjs');
7
7
  require('node:module');
8
8
  require('readline');
9
9
  require('os');
@@ -3,7 +3,7 @@
3
3
  var node_crypto = require('node:crypto');
4
4
  var fs = require('node:fs/promises');
5
5
  var path = require('node:path');
6
- var index = require('./index-2pJPXX7y.cjs');
6
+ var index = require('./index-CPdVzdQ4.cjs');
7
7
  require('node:module');
8
8
  require('readline');
9
9
  require('os');
@@ -240,19 +240,19 @@ function requireArgument () {
240
240
 
241
241
  var command = {};
242
242
 
243
- const require$5 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/index-2pJPXX7y.cjs', document.baseURI).href)));
243
+ const require$5 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/index-CPdVzdQ4.cjs', document.baseURI).href)));
244
244
  function __require$4() { return require$5("node:events"); }
245
245
 
246
- const require$4 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/index-2pJPXX7y.cjs', document.baseURI).href)));
246
+ const require$4 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/index-CPdVzdQ4.cjs', document.baseURI).href)));
247
247
  function __require$3() { return require$4("node:child_process"); }
248
248
 
249
- const require$3 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/index-2pJPXX7y.cjs', document.baseURI).href)));
249
+ const require$3 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/index-CPdVzdQ4.cjs', document.baseURI).href)));
250
250
  function __require$2() { return require$3("node:path"); }
251
251
 
252
- const require$2 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/index-2pJPXX7y.cjs', document.baseURI).href)));
252
+ const require$2 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/index-CPdVzdQ4.cjs', document.baseURI).href)));
253
253
  function __require$1() { return require$2("node:fs"); }
254
254
 
255
- const require$1 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/index-2pJPXX7y.cjs', document.baseURI).href)));
255
+ const require$1 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/index-CPdVzdQ4.cjs', document.baseURI).href)));
256
256
  function __require() { return require$1("node:process"); }
257
257
 
258
258
  var help = {};
@@ -17251,7 +17251,7 @@ async function inspectFeedbackLog(file, size) {
17251
17251
  return { mimeType: 'text/plain', width: 0, height: 0 };
17252
17252
  }
17253
17253
  async function createFeedbackCosClient(getToken) {
17254
- const { default: COS } = await Promise.resolve().then(function () { return require('./index-CW36RfnA.cjs'); }).then(function (n) { return n.index; });
17254
+ const { default: COS } = await Promise.resolve().then(function () { return require('./index-DYmSgt-R.cjs'); }).then(function (n) { return n.index; });
17255
17255
  const cos = new COS({
17256
17256
  getAuthorization(_options, callback) {
17257
17257
  void getToken().then((token) => callback({
@@ -20452,7 +20452,7 @@ function installDevLogCommands(dev) {
20452
20452
  }
20453
20453
 
20454
20454
  const CLI_VERSION_PLACEHOLDER = ['__HB', 'SDK', 'CLI', 'VERSION__'].join('_');
20455
- const BUILT_CLI_VERSION = '0.9.5-alpha.4';
20455
+ const BUILT_CLI_VERSION = '0.9.5';
20456
20456
  const PACKAGE_JSON_CANDIDATES$1 = [
20457
20457
  path.resolve(__dirname, '..', '..', 'package.json'),
20458
20458
  path.resolve(__dirname, '..', 'package.json'),
@@ -21717,39 +21717,39 @@ function createCommandLoggerResolver(options) {
21717
21717
  };
21718
21718
  }
21719
21719
  const defaultClearLoginStatus = async (...args) => {
21720
- const { clearLoginStatus } = await Promise.resolve().then(function () { return require('./login-BnnzOwbT.cjs'); });
21720
+ const { clearLoginStatus } = await Promise.resolve().then(function () { return require('./login-CVdgNJu0.cjs'); });
21721
21721
  return clearLoginStatus(...args);
21722
21722
  };
21723
21723
  const defaultLoginToHeybox = async (...args) => {
21724
- const { loginToHeybox } = await Promise.resolve().then(function () { return require('./login-BnnzOwbT.cjs'); });
21724
+ const { loginToHeybox } = await Promise.resolve().then(function () { return require('./login-CVdgNJu0.cjs'); });
21725
21725
  return loginToHeybox(...args);
21726
21726
  };
21727
21727
  const defaultPrintLoginStatus = async (...args) => {
21728
- const { printLoginStatus } = await Promise.resolve().then(function () { return require('./login-BnnzOwbT.cjs'); });
21728
+ const { printLoginStatus } = await Promise.resolve().then(function () { return require('./login-CVdgNJu0.cjs'); });
21729
21729
  return printLoginStatus(...args);
21730
21730
  };
21731
21731
  const defaultRunBuildCommand = async (...args) => {
21732
- const { runBuildCommand } = await Promise.resolve().then(function () { return require('./build-D_o_QRjp.cjs'); });
21732
+ const { runBuildCommand } = await Promise.resolve().then(function () { return require('./build-Ds2vtEaS.cjs'); });
21733
21733
  return runBuildCommand(...args);
21734
21734
  };
21735
21735
  const defaultRunCreateCommand = async (...args) => {
21736
- const { runCreateCommand } = await Promise.resolve().then(function () { return require('./create-C1D1kfK1.cjs'); });
21736
+ const { runCreateCommand } = await Promise.resolve().then(function () { return require('./create-DSvHazlY.cjs'); });
21737
21737
  return runCreateCommand(...args);
21738
21738
  };
21739
21739
  const defaultRunDevCommand = async (...args) => {
21740
- const { runDevCommand } = await Promise.resolve().then(function () { return require('./dev-BYJDJ6ke.cjs'); }).then(function (n) { return n.dev; });
21740
+ const { runDevCommand } = await Promise.resolve().then(function () { return require('./dev-BUZaQAqF.cjs'); }).then(function (n) { return n.dev; });
21741
21741
  return runDevCommand(...args);
21742
21742
  };
21743
21743
  const defaultRunDoctorCommand = async (...args) => {
21744
- const { runDoctorCommand } = await Promise.resolve().then(function () { return require('./doctor-ScJqxOUG.cjs'); });
21744
+ const { runDoctorCommand } = await Promise.resolve().then(function () { return require('./doctor-DBHIFXJ_.cjs'); });
21745
21745
  return runDoctorCommand(...args);
21746
21746
  };
21747
21747
  const defaultRunSkillInstallCommand = async (...args) => {
21748
- const { runSkillInstallCommand } = await Promise.resolve().then(function () { return require('./skill-CRBhszbC.cjs'); });
21748
+ const { runSkillInstallCommand } = await Promise.resolve().then(function () { return require('./skill-BCUvQ_DM.cjs'); });
21749
21749
  return runSkillInstallCommand(...args);
21750
21750
  };
21751
21751
  const defaultRunRemoteCommand = async (...args) => {
21752
- const { runRemoteCommand } = await Promise.resolve().then(function () { return require('./remote-CaHGCahf.cjs'); });
21752
+ const { runRemoteCommand } = await Promise.resolve().then(function () { return require('./remote-B_T2nCpI.cjs'); });
21753
21753
  return runRemoteCommand(...args);
21754
21754
  };
21755
21755
  function resolveStandaloneLogger(options, verbose) {
@@ -21841,7 +21841,7 @@ function parseNonNegativeInteger(value) {
21841
21841
  return parsed;
21842
21842
  }
21843
21843
  const defaultRunGameSearchCommand = async (...args) => {
21844
- const { runGameSearchCommand } = await Promise.resolve().then(function () { return require('./games-DnIZgZPn.cjs'); });
21844
+ const { runGameSearchCommand } = await Promise.resolve().then(function () { return require('./games-DJ8FFJEh.cjs'); });
21845
21845
  return runGameSearchCommand(...args);
21846
21846
  };
21847
21847
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index$2 = require('./index-2pJPXX7y.cjs');
3
+ var index$2 = require('./index-CPdVzdQ4.cjs');
4
4
  var require$$0$3 = require('fs');
5
5
  var require$$0$2 = require('crypto');
6
6
  var require$$1$2 = require('path');
@@ -11,8 +11,8 @@ var require$$0$3 = require('url');
11
11
  var require$$5 = require('zlib');
12
12
  var require$$0 = require('buffer');
13
13
  var require$$1 = require('util');
14
- var index = require('./index-2pJPXX7y.cjs');
15
- var dev = require('./dev-BYJDJ6ke.cjs');
14
+ var index = require('./index-CPdVzdQ4.cjs');
15
+ var dev = require('./dev-BUZaQAqF.cjs');
16
16
  require('node:module');
17
17
  require('readline');
18
18
  require('os');
@@ -28,10 +28,10 @@ require('node:fs/promises');
28
28
  require('node:zlib');
29
29
  require('node:readline/promises');
30
30
  require('node:timers/promises');
31
- require('./runtime-permission-env-DidMNelj.cjs');
32
- require('./version-BzAY2vKb.cjs');
31
+ require('./runtime-permission-env-D3nbeD_M.cjs');
32
+ require('./version-CYlLbj1-.cjs');
33
33
  require('node:async_hooks');
34
- require('./dev-context-Dh5ZouxP.cjs');
34
+ require('./dev-context-iwZzKi8v.cjs');
35
35
  require('sharp');
36
36
  require('node:os');
37
37
  require('node:net');
@@ -44,7 +44,7 @@ require('node:buffer');
44
44
  require('node:url');
45
45
  require('node:util');
46
46
  require('node:child_process');
47
- require('./project-vite-N357IKfz.cjs');
47
+ require('./project-vite-CRiHrfto.cjs');
48
48
 
49
49
  var bufferUtil = {exports: {}};
50
50
 
@@ -3,7 +3,7 @@
3
3
  var promises = require('node:readline/promises');
4
4
  var node_crypto = require('node:crypto');
5
5
  var node_http = require('node:http');
6
- var index = require('./index-2pJPXX7y.cjs');
6
+ var index = require('./index-CPdVzdQ4.cjs');
7
7
  var browser = require('./browser-RAy8e8cV.cjs');
8
8
  require('node:module');
9
9
  require('readline');
@@ -5,7 +5,7 @@ var fs$1 = require('node:fs/promises');
5
5
  var node_module = require('node:module');
6
6
  var path = require('node:path');
7
7
  var node_url = require('node:url');
8
- var index = require('./index-2pJPXX7y.cjs');
8
+ var index = require('./index-CPdVzdQ4.cjs');
9
9
 
10
10
  function findProjectRoot(startDir) {
11
11
  let current = path.resolve(startDir);
@@ -1,17 +1,17 @@
1
1
  'use strict';
2
2
 
3
- var runtimePermissionEnv = require('./runtime-permission-env-DidMNelj.cjs');
4
- var devContext = require('./dev-context-Dh5ZouxP.cjs');
3
+ var runtimePermissionEnv = require('./runtime-permission-env-D3nbeD_M.cjs');
4
+ var devContext = require('./dev-context-iwZzKi8v.cjs');
5
5
  var promises = require('node:readline/promises');
6
- var index = require('./index-2pJPXX7y.cjs');
6
+ var index = require('./index-CPdVzdQ4.cjs');
7
7
  var childProcess = require('node:child_process');
8
8
  var fs = require('node:fs');
9
9
  var fs$1 = require('node:fs/promises');
10
10
  var path = require('node:path');
11
11
  var node_crypto = require('node:crypto');
12
12
  require('node:zlib');
13
- var artifact = require('./artifact-Ugqa6hRL.cjs');
14
- require('./version-BzAY2vKb.cjs');
13
+ var artifact = require('./artifact-BQjpVazW.cjs');
14
+ require('./version-CYlLbj1-.cjs');
15
15
  require('node:async_hooks');
16
16
  require('sharp');
17
17
  require('node:module');
@@ -308,7 +308,7 @@ function createDefaultCosClient(uploadToken, COS) {
308
308
  };
309
309
  }
310
310
  async function loadCosConstructor() {
311
- const cosModule = await Promise.resolve().then(function () { return require('./index-CW36RfnA.cjs'); }).then(function (n) { return n.index; });
311
+ const cosModule = await Promise.resolve().then(function () { return require('./index-DYmSgt-R.cjs'); }).then(function (n) { return n.index; });
312
312
  return cosModule.default;
313
313
  }
314
314
  function formatSize(bytes) {
@@ -2,9 +2,9 @@
2
2
 
3
3
  var fs = require('node:fs');
4
4
  var path = require('node:path');
5
- var version$1 = require('./version-BzAY2vKb.cjs');
5
+ var version$1 = require('./version-CYlLbj1-.cjs');
6
6
  require('node:crypto');
7
- var index = require('./index-2pJPXX7y.cjs');
7
+ var index = require('./index-CPdVzdQ4.cjs');
8
8
  var node_async_hooks = require('node:async_hooks');
9
9
 
10
10
  /**
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var version = require('./version-BzAY2vKb.cjs');
3
+ var version = require('./version-CYlLbj1-.cjs');
4
4
  var fs = require('node:fs/promises');
5
5
  var path = require('node:path');
6
6
  var childProcess = require('node:child_process');
7
- var index = require('./index-2pJPXX7y.cjs');
7
+ var index = require('./index-CPdVzdQ4.cjs');
8
8
  require('node:module');
9
9
  require('readline');
10
10
  require('os');
@@ -3,6 +3,6 @@
3
3
  /** 构建时替换为当前发布包的实际版本。 */
4
4
  const HB_SDK_VERSION = typeof undefined === 'string'
5
5
  ? undefined
6
- : '0.9.5-alpha.4';
6
+ : '0.9.5';
7
7
 
8
8
  exports.HB_SDK_VERSION = HB_SDK_VERSION;
package/dist/cli.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./cli-chunks/index-2pJPXX7y.cjs');
3
+ var index = require('./cli-chunks/index-CPdVzdQ4.cjs');
4
4
  require('node:module');
5
5
  require('readline');
6
6
  require('os');