@heybox/hb-sdk 0.9.0-alpha.1 → 0.9.0-alpha.2

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 (30) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +1 -1
  3. package/dist/cli-chunks/{build-BSeiFi0q.cjs → build-CvxoPTJb.cjs} +5 -5
  4. package/dist/cli-chunks/{context-D_L2-Hla.cjs → context-ChyajSZV.cjs} +2 -2
  5. package/dist/cli-chunks/{create-Dzeodh_-.cjs → create-vXFVQGD7.cjs} +1 -1
  6. package/dist/cli-chunks/{dev-DQ7k_fu6.cjs → dev-QH1jaFr1.cjs} +209 -10
  7. package/dist/cli-chunks/{doctor-FIcFZiJ0.cjs → doctor-CU25P_q2.cjs} +1 -1
  8. package/dist/cli-chunks/{index-CakUTosC.cjs → index-I2MJ0S1h.cjs} +2 -2
  9. package/dist/cli-chunks/{index-d1cUUoR9.cjs → index-QY5q1rWs.cjs} +15 -15
  10. package/dist/cli-chunks/{index.esm-CerEC339.cjs → index.esm-81ZfQF1o.cjs} +7 -7
  11. package/dist/cli-chunks/{login-lZKDg_9k.cjs → login-DCNzO2CY.cjs} +2 -2
  12. package/dist/cli-chunks/{project-vite-BM7D-pf6.cjs → project-vite-BA81QqiJ.cjs} +1 -1
  13. package/dist/cli-chunks/{remote-9-tyxq6l.cjs → remote-CBuPWvcD.cjs} +7 -7
  14. package/dist/cli-chunks/{runtime-gate-BfAGMrE2.cjs → runtime-gate-C1gdlVUB.cjs} +1 -1
  15. package/dist/cli-chunks/{runtime-permission-env-B-GwDDT7.cjs → runtime-permission-env-w3sXIJU4.cjs} +1 -1
  16. package/dist/cli-chunks/{session-mMVA3395.cjs → session-Dtkbu4vT.cjs} +1 -1
  17. package/dist/cli-chunks/{skill-BhUlKvyY.cjs → skill-DKgQa7PY.cjs} +2 -2
  18. package/dist/cli-chunks/{version-hsUgRL0I.cjs → version-NZ-E_XUT.cjs} +1 -1
  19. package/dist/cli.cjs +1 -1
  20. package/dist/devtools/browser-dev-host/assets/{browser-dev-host-BLgy6aQ6.js → browser-dev-host-CRdzRTKL.js} +1 -1
  21. package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-D32fpjYQ.js → desktop-app-launch-Cx-1tLJI.js} +1 -1
  22. package/dist/devtools/browser-dev-host/assets/{index-DMuA2oZx.js → index-DAO9aQMF.js} +3 -3
  23. package/dist/devtools/browser-dev-host/index.html +2 -2
  24. package/dist/index.cjs.js +1 -1
  25. package/dist/index.esm.js +1 -1
  26. package/dist/vite.cjs.js +1 -1
  27. package/dist/vite.esm.js +1 -1
  28. package/docs/runtime-host-migration.md +3 -1
  29. package/package.json +7 -7
  30. package/skill/skill.json +4 -4
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  本文件随 `@heybox/hb-sdk` npm 包公开分发,只记录外部小程序开发者可观察到的变化。
4
4
 
5
+ ## 0.9.0-alpha.2 - 2026-10-07
6
+
7
+ ### 问题修复
8
+
9
+ - 恢复手机真机调试时由开发机转发 `network.request()`,请求中的 `localhost` 指向开发机。
10
+ - 本地代理保留调用方提供的应用层请求头和上游响应头,不自动携带黑盒登录态。
11
+
5
12
  ## 0.9.0-alpha.1 - 2026-10-07
6
13
 
7
14
  > 影响级别:常规
package/README.md CHANGED
@@ -464,7 +464,7 @@ hb-sdk remote deploy --release-note "本次更新说明"
464
464
 
465
465
  右上角的桌面图标与二维码按钮使用相同样式。桌面图标只在该项目于 `package.json#heybox.platforms` 声明了桌面平台(`windows`、`macos` 或 `linux`)时展示,未声明桌面平台的项目不显示该入口。点击桌面图标后选择小黑盒正式版或 Debug 版,选择会立即请求客户端打开当前本地页面并在本地记忆,不需要二次确认。桌面端只接受无凭据的 `http://127.0.0.1:<port>`,拒绝 `localhost`、IPv6 和 LAN 地址,不提供地址选择或手工 URL;手机二维码继续独立选择局域网地址。入口在项目已绑定且本地调试启动票有效时可用,统一 URI 只携带 `mini_program_id` 和 `mini_url`,启动票继续由 detail 从同源 `launch.json` 发现并交给后端验证。浏览器无法确认客户端是否真正打开,因此调试台只记录“已请求打开”,不会自动切换正式版或 Debug 版。
466
466
 
467
- `hb-sdk dev` 在未登录、未绑定或远端不可用时仍启动 Browser Mock;真实手机/PC 入口须有有效启动票。CLI 自动从本地声明生成普通 `network` / `companion` 的临时批准缺口,不提供第二套权限开关或申请按钮。真实 Host 每次打开会话确认临时权限,拒绝后仍可按线上批准基线打开;官方域名始终只认声明与线上批准的交集。CLI 连续失联约 30 秒、期限或快照变化会销毁旧 Runtime,并清理临时 Companion 进程树;恢复后重新确认。手机验收统一从右上角二维码进入并选择可达的局域网网卡。完整操作见 [CLI 指南](https://docs.xiaoheihe.cn/hb_sdk/guide/cli),实现与安全边界由 [Runtime Host 迁移](./docs/runtime-host-migration.md) 维护。
467
+ `hb-sdk dev` 在未登录、未绑定或远端不可用时仍启动 Browser Mock;真实手机/PC 入口须有有效启动票。CLI 自动从本地声明生成普通 `network` / `companion` 的临时批准缺口,不提供第二套权限开关或申请按钮。真实 Host 每次打开会话确认临时权限,拒绝后仍可按线上批准基线打开;官方域名始终只认声明与线上批准的交集。真机 Dev Session 的公开 `network.request()` 通过开发机的 HTTP 代理转发,因此 HTTPS `localhost` 指向开发机;代理不管理独立租约,不判断黑盒域名或改写应用层凭据。正式版本和 Runtime 私有请求仍走 Host 网络。CLI 连续失联约 30 秒、期限或快照变化会销毁旧 Runtime,并清理临时 Companion 进程树;恢复后重新确认。手机验收统一从右上角二维码进入并选择可达的局域网网卡。完整操作见 [CLI 指南](https://docs.xiaoheihe.cn/hb_sdk/guide/cli),实现与安全边界由 [Runtime Host 迁移](./docs/runtime-host-migration.md) 维护。
468
468
 
469
469
  远端提交前需要完成 CLI 登录和小程序绑定。完整的登录、绑定、预览、版本与发布流程见 [CLI 指南](https://docs.xiaoheihe.cn/hb_sdk/guide/cli)。
470
470
 
@@ -3,13 +3,13 @@
3
3
  var fs$1 = require('node:fs');
4
4
  var fs = require('node:fs/promises');
5
5
  var path = require('node:path');
6
- var runtimePermissionEnv = require('./runtime-permission-env-B-GwDDT7.cjs');
6
+ var runtimePermissionEnv = require('./runtime-permission-env-w3sXIJU4.cjs');
7
7
  require('node:crypto');
8
8
  require('node:zlib');
9
- var runtimeGate = require('./runtime-gate-BfAGMrE2.cjs');
10
- var index = require('./index-d1cUUoR9.cjs');
11
- var projectVite = require('./project-vite-BM7D-pf6.cjs');
12
- require('./version-hsUgRL0I.cjs');
9
+ var runtimeGate = require('./runtime-gate-C1gdlVUB.cjs');
10
+ var index = require('./index-QY5q1rWs.cjs');
11
+ var projectVite = require('./project-vite-BA81QqiJ.cjs');
12
+ require('./version-NZ-E_XUT.cjs');
13
13
  require('node:async_hooks');
14
14
  require('node:module');
15
15
  require('path');
@@ -3,10 +3,10 @@
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 runtimePermissionEnv = require('./runtime-permission-env-B-GwDDT7.cjs');
6
+ var runtimePermissionEnv = require('./runtime-permission-env-w3sXIJU4.cjs');
7
7
  var fs$1 = require('node:fs');
8
8
  var sharp = require('sharp');
9
- var session = require('./session-mMVA3395.cjs');
9
+ var session = require('./session-Dtkbu4vT.cjs');
10
10
 
11
11
  async function inspectBasicInfoImage(bytes, sourcePath, kind) {
12
12
  const inspected = await inspectDecodedBasicInfoImage(bytes, kind);
@@ -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-d1cUUoR9.cjs');
8
+ var index = require('./index-QY5q1rWs.cjs');
9
9
  require('node:module');
10
10
  require('os');
11
11
  require('node:crypto');
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var context = require('./context-D_L2-Hla.cjs');
3
+ var context = require('./context-ChyajSZV.cjs');
4
4
  var node_crypto = require('node:crypto');
5
5
  var fs = require('node:fs');
6
- var runtimePermissionEnv = require('./runtime-permission-env-B-GwDDT7.cjs');
6
+ var runtimePermissionEnv = require('./runtime-permission-env-w3sXIJU4.cjs');
7
7
  var os = require('node:os');
8
8
  var path = require('node:path');
9
9
  var net = require('node:net');
@@ -12,13 +12,13 @@ var node_http = require('node:http');
12
12
  var node_module = require('node:module');
13
13
  var undici = require('undici');
14
14
  var fs$1 = require('node:fs/promises');
15
- var index = require('./index-d1cUUoR9.cjs');
15
+ var index = require('./index-QY5q1rWs.cjs');
16
16
  var require$$0$1 = require('crypto');
17
17
  var require$$0 = require('buffer');
18
- var session = require('./session-mMVA3395.cjs');
18
+ var session = require('./session-Dtkbu4vT.cjs');
19
19
  var browser = require('./browser-RAy8e8cV.cjs');
20
- var projectVite = require('./project-vite-BM7D-pf6.cjs');
21
- var version = require('./version-hsUgRL0I.cjs');
20
+ var projectVite = require('./project-vite-BA81QqiJ.cjs');
21
+ var version = require('./version-NZ-E_XUT.cjs');
22
22
  require('node:zlib');
23
23
 
24
24
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
@@ -1993,8 +1993,8 @@ const DEFAULT_CHANNEL_TRANSPORT = {
1993
1993
  };
1994
1994
  const IPV4_LOOPBACK_ADDRESSES = new net.BlockList();
1995
1995
  IPV4_LOOPBACK_ADDRESSES.addSubnet('127.0.0.0', 8, 'ipv4');
1996
- 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-DQ7k_fu6.cjs', document.baseURI).href)))('ws');
1997
- 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-DQ7k_fu6.cjs', document.baseURI).href)))('parse5');
1996
+ 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-QH1jaFr1.cjs', document.baseURI).href)))('ws');
1997
+ 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-QH1jaFr1.cjs', document.baseURI).href)))('parse5');
1998
1998
  const BROWSER_DEV_HOST_ROOT_CANDIDATES = [
1999
1999
  path.resolve(__dirname, 'devtools/browser-dev-host'),
2000
2000
  path.resolve(__dirname, '../devtools/browser-dev-host'),
@@ -11089,7 +11089,7 @@ function assertNodeRuntimeCapabilities(ctx, settings) {
11089
11089
  function createNodeRealtimeDriverRegistry() {
11090
11090
  const registry = createRuntimeRealtimeDriverRegistry();
11091
11091
  registry.registerLazy('node-websocket', async () => {
11092
- const mod = await Promise.resolve().then(function () { return require('./index.esm-CerEC339.cjs'); });
11092
+ const mod = await Promise.resolve().then(function () { return require('./index.esm-81ZfQF1o.cjs'); });
11093
11093
  return mod.createNodeWebSocketRuntimeDriver();
11094
11094
  });
11095
11095
  return registry;
@@ -15198,6 +15198,196 @@ function writeLaunchResponse(response, status, origin, body) {
15198
15198
  response.end(body ?? '');
15199
15199
  }
15200
15200
 
15201
+ // SDK/Runtime 限制 2 MiB 请求正文;JSON 转义最多放大 6 倍,另留 1 MiB 元数据预算。
15202
+ const MAX_REQUEST_ENVELOPE_BYTES = 2 * 1024 * 1024 * 6 + 1024 * 1024;
15203
+ const MAX_RESPONSE_BYTES = 32 * 1024 * 1024;
15204
+ const HOP_BY_HOP_HEADERS = new Set([
15205
+ 'connection',
15206
+ 'keep-alive',
15207
+ 'proxy-authenticate',
15208
+ 'proxy-authorization',
15209
+ 'te',
15210
+ 'trailer',
15211
+ 'transfer-encoding',
15212
+ 'upgrade',
15213
+ ]);
15214
+ /** dev server 的 HTTP 转发入口,不读取小程序权限或管理代理租约。 */
15215
+ function createMiniProgramDevNetworkProxy(options) {
15216
+ const controllers = new Set();
15217
+ return {
15218
+ async handle(request, response) {
15219
+ const contextPath = options.readContextPath();
15220
+ if (!contextPath || request.url !== `${contextPath}/network`)
15221
+ return false;
15222
+ if (request.method === 'OPTIONS') {
15223
+ writeResponse(response, 204);
15224
+ return true;
15225
+ }
15226
+ if (request.method !== 'POST') {
15227
+ writeResponse(response, 405, { code: 'METHOD_NOT_ALLOWED' });
15228
+ return true;
15229
+ }
15230
+ const scope = createBrowserDevHostRequestAbortScope(request, response);
15231
+ const controller = new AbortController();
15232
+ const abort = () => controller.abort();
15233
+ scope.signal.addEventListener('abort', abort, { once: true });
15234
+ if (scope.signal.aborted)
15235
+ abort();
15236
+ controllers.add(controller);
15237
+ let timer;
15238
+ try {
15239
+ const payload = await readJsonRequestBody(request, {
15240
+ maxBytes: MAX_REQUEST_ENVELOPE_BYTES,
15241
+ destroyOnLimit: false,
15242
+ });
15243
+ if (!isRecord$2(payload) || typeof payload.url !== 'string') {
15244
+ throw createBrowserDevHostError(400, 'INVALID_REQUEST', '代理请求需要 URL');
15245
+ }
15246
+ let url;
15247
+ try {
15248
+ url = new URL(payload.url);
15249
+ }
15250
+ catch {
15251
+ throw createBrowserDevHostError(400, 'INVALID_REQUEST', '代理请求 URL 无效');
15252
+ }
15253
+ if (url.protocol !== 'http:' && url.protocol !== 'https:') {
15254
+ throw createBrowserDevHostError(400, 'INVALID_REQUEST', '代理只支持 HTTP(S)');
15255
+ }
15256
+ if (isRecord$2(payload.params)) {
15257
+ for (const [key, value] of Object.entries(payload.params)) {
15258
+ if (value !== null && value !== undefined)
15259
+ url.searchParams.set(key, String(value));
15260
+ }
15261
+ }
15262
+ const headers = stripHopByHopHeaders(new Headers(payload.headers));
15263
+ // Node 根据实际目标与编码后的 body 生成传输头。
15264
+ headers.delete('host');
15265
+ headers.delete('content-length');
15266
+ const method = typeof payload.method === 'string' ? payload.method.toUpperCase() : 'GET';
15267
+ const body = encodeBody(method, payload.data, payload.bodyEncoding, headers);
15268
+ const timeout = typeof payload.timeout === 'number' && Number.isFinite(payload.timeout) && payload.timeout > 0 ? payload.timeout : 10_000;
15269
+ timer = setTimeout(abort, timeout);
15270
+ const upstream = await options.fetchImpl(url.href, {
15271
+ body,
15272
+ headers,
15273
+ method,
15274
+ redirect: 'manual',
15275
+ signal: controller.signal,
15276
+ });
15277
+ const text = await readResponseText(upstream);
15278
+ let data = text;
15279
+ try {
15280
+ data = JSON.parse(text);
15281
+ }
15282
+ catch {
15283
+ /* 与真机 Native transport 一致,非 JSON 响应保留原文。 */
15284
+ }
15285
+ const responseHeaders = stripHopByHopHeaders(upstream.headers);
15286
+ // fetch 已解压响应,原编码与长度不再描述返回的数据。
15287
+ responseHeaders.delete('content-encoding');
15288
+ responseHeaders.delete('content-length');
15289
+ writeResponse(response, 200, {
15290
+ data,
15291
+ headers: Object.fromEntries(responseHeaders),
15292
+ status: upstream.status,
15293
+ statusText: upstream.statusText,
15294
+ });
15295
+ }
15296
+ catch (error) {
15297
+ if (!response.destroyed) {
15298
+ writeResponse(response, readBrowserDevHostErrorStatus(error), toBrowserDevHostErrorPayload(error));
15299
+ }
15300
+ }
15301
+ finally {
15302
+ clearTimeout(timer);
15303
+ controllers.delete(controller);
15304
+ scope.signal.removeEventListener('abort', abort);
15305
+ scope.dispose();
15306
+ }
15307
+ return true;
15308
+ },
15309
+ close() {
15310
+ for (const controller of controllers)
15311
+ controller.abort();
15312
+ },
15313
+ };
15314
+ }
15315
+ function stripHopByHopHeaders(input) {
15316
+ const headers = new Headers(input);
15317
+ const connectionHeaders = headers
15318
+ .get('connection')
15319
+ ?.split(',')
15320
+ .map((name) => name.trim()) ?? [];
15321
+ for (const name of [...HOP_BY_HOP_HEADERS, ...connectionHeaders]) {
15322
+ if (name)
15323
+ headers.delete(name);
15324
+ }
15325
+ return headers;
15326
+ }
15327
+ function encodeBody(method, data, encoding, headers) {
15328
+ if (data === undefined || method === 'GET' || method === 'HEAD')
15329
+ return undefined;
15330
+ if (typeof data === 'string')
15331
+ return data;
15332
+ if (encoding === 'form') {
15333
+ const pairs = [];
15334
+ const append = (key, value) => {
15335
+ if (value === undefined)
15336
+ return;
15337
+ if (Array.isArray(value))
15338
+ value.forEach((item) => append(key, item));
15339
+ else if (isRecord$2(value))
15340
+ Object.entries(value).forEach(([child, item]) => append(`${key}[${child}]`, item));
15341
+ else
15342
+ pairs.push([key, value === null ? '' : String(value)]);
15343
+ };
15344
+ if (isRecord$2(data) || Array.isArray(data))
15345
+ Object.entries(data).forEach(([key, value]) => append(key, value));
15346
+ if (!headers.has('content-type'))
15347
+ headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
15348
+ const encode = (value) => encodeURIComponent(value).replace(/[!'()*]/g, (character) => `%${character.charCodeAt(0).toString(16).toUpperCase()}`);
15349
+ return pairs.map(([key, value]) => `${encode(key)}=${encode(value)}`).join('&');
15350
+ }
15351
+ if (!headers.has('content-type'))
15352
+ headers.set('content-type', 'application/json');
15353
+ return JSON.stringify(data);
15354
+ }
15355
+ async function readResponseText(response) {
15356
+ if (!response.body)
15357
+ return '';
15358
+ const chunks = [];
15359
+ const reader = response.body.getReader();
15360
+ let size = 0;
15361
+ try {
15362
+ while (true) {
15363
+ const { done, value } = await reader.read();
15364
+ if (done)
15365
+ break;
15366
+ size += value.byteLength;
15367
+ if (size > MAX_RESPONSE_BYTES) {
15368
+ await reader.cancel();
15369
+ throw createBrowserDevHostError(502, 'RESPONSE_TOO_LARGE', '代理响应超过大小限制');
15370
+ }
15371
+ chunks.push(value);
15372
+ }
15373
+ return Buffer.concat(chunks).toString('utf8');
15374
+ }
15375
+ finally {
15376
+ reader.releaseLock();
15377
+ }
15378
+ }
15379
+ function writeResponse(response, status, body) {
15380
+ response.writeHead(status, {
15381
+ 'access-control-allow-headers': 'content-type',
15382
+ 'access-control-allow-methods': 'POST, OPTIONS',
15383
+ 'access-control-allow-origin': '*',
15384
+ 'access-control-allow-private-network': 'true',
15385
+ 'cache-control': 'no-store',
15386
+ 'content-type': 'application/json; charset=utf-8',
15387
+ });
15388
+ response.end(body === undefined ? '' : JSON.stringify(body));
15389
+ }
15390
+
15201
15391
  const DEFAULT_APP_PORT = 5173;
15202
15392
  const DEFAULT_BROWSER_DEV_HOST_PORT = 5174;
15203
15393
  const DEFAULT_DEV_CONTEXT_TIMEOUT_MS = 3000;
@@ -15491,7 +15681,13 @@ async function runDevCommand(options, runtime = {}) {
15491
15681
  runtimePermissions: launchRuntimePermissions,
15492
15682
  sdkVersion: version.HB_SDK_VERSION,
15493
15683
  });
15684
+ const networkProxy = createMiniProgramDevNetworkProxy({
15685
+ fetchImpl,
15686
+ readContextPath: () => devContextPath,
15687
+ });
15494
15688
  const launchPlugin = createMiniProgramDevLaunchVitePlugin(readLaunchSource, async (request, response) => {
15689
+ if (await networkProxy.handle(request, response))
15690
+ return true;
15495
15691
  if (request.url !== MINI_PROGRAM_DEV_LAUNCH_PATH || request.headers[COMPANION_ARTIFACT_ACCESS_TOKEN_HEADER] === undefined)
15496
15692
  return false;
15497
15693
  response.setHeader('Cache-Control', 'no-store');
@@ -15549,7 +15745,10 @@ async function runDevCommand(options, runtime = {}) {
15549
15745
  viteNetworkUrls: appServer.resolvedUrls?.network ?? [],
15550
15746
  });
15551
15747
  const lanAddresses = buildLanAddresses();
15552
- const closers = [() => appServer.close()];
15748
+ const closers = [
15749
+ () => networkProxy.close(),
15750
+ () => appServer.close(),
15751
+ ];
15553
15752
  let browserDevHost;
15554
15753
  try {
15555
15754
  browserDevHost = await runDevStartupTask(logger, '正在启动浏览器调试页服务', () => startBrowserDevHostServer({
@@ -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-d1cUUoR9.cjs');
6
+ var index = require('./index-QY5q1rWs.cjs');
7
7
  require('node:module');
8
8
  require('node:fs');
9
9
  require('path');
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var index$2 = require('./index-d1cUUoR9.cjs');
3
+ var index$2 = require('./index-QY5q1rWs.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');
7
7
  var require$$0$5 = require('assert');
8
8
  var require$$0$4 = require('events');
9
9
  var require$$1$1 = require('util');
10
- var runtimePermissionEnv = require('./runtime-permission-env-B-GwDDT7.cjs');
10
+ var runtimePermissionEnv = require('./runtime-permission-env-w3sXIJU4.cjs');
11
11
  var require$$0$7 = require('net');
12
12
  var require$$0$6 = require('url');
13
13
  var require$$2$1 = require('http');
@@ -235,19 +235,19 @@ function requireArgument () {
235
235
 
236
236
  var command = {};
237
237
 
238
- 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-d1cUUoR9.cjs', document.baseURI).href)));
238
+ 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-QY5q1rWs.cjs', document.baseURI).href)));
239
239
  function __require$4() { return require$5("node:events"); }
240
240
 
241
- 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-d1cUUoR9.cjs', document.baseURI).href)));
241
+ 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-QY5q1rWs.cjs', document.baseURI).href)));
242
242
  function __require$3() { return require$4("node:child_process"); }
243
243
 
244
- 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-d1cUUoR9.cjs', document.baseURI).href)));
244
+ 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-QY5q1rWs.cjs', document.baseURI).href)));
245
245
  function __require$2() { return require$3("node:path"); }
246
246
 
247
- 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-d1cUUoR9.cjs', document.baseURI).href)));
247
+ 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-QY5q1rWs.cjs', document.baseURI).href)));
248
248
  function __require$1() { return require$2("node:fs"); }
249
249
 
250
- 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-d1cUUoR9.cjs', document.baseURI).href)));
250
+ 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-QY5q1rWs.cjs', document.baseURI).href)));
251
251
  function __require() { return require$1("node:process"); }
252
252
 
253
253
  var help = {};
@@ -13554,7 +13554,7 @@ function getPathname(pathWithQuery) {
13554
13554
  }
13555
13555
 
13556
13556
  const CLI_VERSION_PLACEHOLDER = ['__HB', 'SDK', 'CLI', 'VERSION__'].join('_');
13557
- const BUILT_CLI_VERSION = '0.9.0-alpha.1';
13557
+ const BUILT_CLI_VERSION = '0.9.0-alpha.2';
13558
13558
  const PACKAGE_JSON_CANDIDATES = [
13559
13559
  path.resolve(__dirname, '..', '..', 'package.json'),
13560
13560
  path.resolve(__dirname, '..', 'package.json'),
@@ -13913,39 +13913,39 @@ function createCommandLoggerResolver(options) {
13913
13913
  };
13914
13914
  }
13915
13915
  const defaultClearLoginStatus = async (...args) => {
13916
- const { clearLoginStatus } = await Promise.resolve().then(function () { return require('./login-lZKDg_9k.cjs'); });
13916
+ const { clearLoginStatus } = await Promise.resolve().then(function () { return require('./login-DCNzO2CY.cjs'); });
13917
13917
  return clearLoginStatus(...args);
13918
13918
  };
13919
13919
  const defaultLoginToHeybox = async (...args) => {
13920
- const { loginToHeybox } = await Promise.resolve().then(function () { return require('./login-lZKDg_9k.cjs'); });
13920
+ const { loginToHeybox } = await Promise.resolve().then(function () { return require('./login-DCNzO2CY.cjs'); });
13921
13921
  return loginToHeybox(...args);
13922
13922
  };
13923
13923
  const defaultPrintLoginStatus = async (...args) => {
13924
- const { printLoginStatus } = await Promise.resolve().then(function () { return require('./login-lZKDg_9k.cjs'); });
13924
+ const { printLoginStatus } = await Promise.resolve().then(function () { return require('./login-DCNzO2CY.cjs'); });
13925
13925
  return printLoginStatus(...args);
13926
13926
  };
13927
13927
  const defaultRunBuildCommand = async (...args) => {
13928
- const { runBuildCommand } = await Promise.resolve().then(function () { return require('./build-BSeiFi0q.cjs'); });
13928
+ const { runBuildCommand } = await Promise.resolve().then(function () { return require('./build-CvxoPTJb.cjs'); });
13929
13929
  return runBuildCommand(...args);
13930
13930
  };
13931
13931
  const defaultRunCreateCommand = async (...args) => {
13932
- const { runCreateCommand } = await Promise.resolve().then(function () { return require('./create-Dzeodh_-.cjs'); });
13932
+ const { runCreateCommand } = await Promise.resolve().then(function () { return require('./create-vXFVQGD7.cjs'); });
13933
13933
  return runCreateCommand(...args);
13934
13934
  };
13935
13935
  const defaultRunDevCommand = async (...args) => {
13936
- const { runDevCommand } = await Promise.resolve().then(function () { return require('./dev-DQ7k_fu6.cjs'); }).then(function (n) { return n.dev; });
13936
+ const { runDevCommand } = await Promise.resolve().then(function () { return require('./dev-QH1jaFr1.cjs'); }).then(function (n) { return n.dev; });
13937
13937
  return runDevCommand(...args);
13938
13938
  };
13939
13939
  const defaultRunDoctorCommand = async (...args) => {
13940
- const { runDoctorCommand } = await Promise.resolve().then(function () { return require('./doctor-FIcFZiJ0.cjs'); });
13940
+ const { runDoctorCommand } = await Promise.resolve().then(function () { return require('./doctor-CU25P_q2.cjs'); });
13941
13941
  return runDoctorCommand(...args);
13942
13942
  };
13943
13943
  const defaultRunSkillInstallCommand = async (...args) => {
13944
- const { runSkillInstallCommand } = await Promise.resolve().then(function () { return require('./skill-BhUlKvyY.cjs'); });
13944
+ const { runSkillInstallCommand } = await Promise.resolve().then(function () { return require('./skill-DKgQa7PY.cjs'); });
13945
13945
  return runSkillInstallCommand(...args);
13946
13946
  };
13947
13947
  const defaultRunRemoteCommand = async (...args) => {
13948
- const { runRemoteCommand } = await Promise.resolve().then(function () { return require('./remote-9-tyxq6l.cjs'); });
13948
+ const { runRemoteCommand } = await Promise.resolve().then(function () { return require('./remote-CBuPWvcD.cjs'); });
13949
13949
  return runRemoteCommand(...args);
13950
13950
  };
13951
13951
  function resolveStandaloneLogger(options, verbose) {
@@ -11,8 +11,8 @@ var require$$0$4 = require('url');
11
11
  var require$$0 = require('zlib');
12
12
  var require$$0$1 = require('buffer');
13
13
  var require$$1 = require('util');
14
- var index = require('./index-d1cUUoR9.cjs');
15
- var dev = require('./dev-DQ7k_fu6.cjs');
14
+ var index = require('./index-QY5q1rWs.cjs');
15
+ var dev = require('./dev-QH1jaFr1.cjs');
16
16
  require('node:module');
17
17
  require('node:fs');
18
18
  require('node:fs/promises');
@@ -23,12 +23,12 @@ require('node:crypto');
23
23
  require('readline');
24
24
  require('tty');
25
25
  require('assert');
26
- require('./context-D_L2-Hla.cjs');
27
- require('./runtime-permission-env-B-GwDDT7.cjs');
28
- require('./version-hsUgRL0I.cjs');
26
+ require('./context-ChyajSZV.cjs');
27
+ require('./runtime-permission-env-w3sXIJU4.cjs');
28
+ require('./version-NZ-E_XUT.cjs');
29
29
  require('node:async_hooks');
30
30
  require('sharp');
31
- require('./session-mMVA3395.cjs');
31
+ require('./session-Dtkbu4vT.cjs');
32
32
  require('fs');
33
33
  require('constants');
34
34
  require('node:os');
@@ -42,7 +42,7 @@ require('node:buffer');
42
42
  require('node:url');
43
43
  require('node:util');
44
44
  require('node:child_process');
45
- require('./project-vite-BM7D-pf6.cjs');
45
+ require('./project-vite-BA81QqiJ.cjs');
46
46
  require('node:zlib');
47
47
 
48
48
  var bufferUtil = {exports: {}};
@@ -3,9 +3,9 @@
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 session = require('./session-mMVA3395.cjs');
6
+ var session = require('./session-Dtkbu4vT.cjs');
7
7
  var browser = require('./browser-RAy8e8cV.cjs');
8
- var index = require('./index-d1cUUoR9.cjs');
8
+ var index = require('./index-QY5q1rWs.cjs');
9
9
  require('node:path');
10
10
  require('fs');
11
11
  require('constants');
@@ -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-d1cUUoR9.cjs');
8
+ var index = require('./index-QY5q1rWs.cjs');
9
9
 
10
10
  function findProjectRoot(startDir) {
11
11
  let current = path.resolve(startDir);
@@ -1,18 +1,18 @@
1
1
  'use strict';
2
2
 
3
- var runtimePermissionEnv = require('./runtime-permission-env-B-GwDDT7.cjs');
4
- var context = require('./context-D_L2-Hla.cjs');
3
+ var runtimePermissionEnv = require('./runtime-permission-env-w3sXIJU4.cjs');
4
+ var context = require('./context-ChyajSZV.cjs');
5
5
  var promises = require('node:readline/promises');
6
- var index = require('./index-d1cUUoR9.cjs');
7
- var session = require('./session-mMVA3395.cjs');
6
+ var index = require('./index-QY5q1rWs.cjs');
7
+ var session = require('./session-Dtkbu4vT.cjs');
8
8
  var childProcess = require('node:child_process');
9
9
  var fs = require('node:fs');
10
10
  var fs$1 = require('node:fs/promises');
11
11
  var path = require('node:path');
12
12
  var node_crypto = require('node:crypto');
13
13
  require('node:zlib');
14
- var runtimeGate = require('./runtime-gate-BfAGMrE2.cjs');
15
- require('./version-hsUgRL0I.cjs');
14
+ var runtimeGate = require('./runtime-gate-C1gdlVUB.cjs');
15
+ require('./version-NZ-E_XUT.cjs');
16
16
  require('node:async_hooks');
17
17
  require('sharp');
18
18
  require('node:module');
@@ -274,7 +274,7 @@ function createDefaultCosClient(uploadToken, COS) {
274
274
  };
275
275
  }
276
276
  async function loadCosConstructor() {
277
- const cosModule = await Promise.resolve().then(function () { return require('./index-CakUTosC.cjs'); }).then(function (n) { return n.index; });
277
+ const cosModule = await Promise.resolve().then(function () { return require('./index-I2MJ0S1h.cjs'); }).then(function (n) { return n.index; });
278
278
  return cosModule.default;
279
279
  }
280
280
  function formatSize(bytes) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var runtimePermissionEnv = require('./runtime-permission-env-B-GwDDT7.cjs');
3
+ var runtimePermissionEnv = require('./runtime-permission-env-w3sXIJU4.cjs');
4
4
 
5
5
  // Shorthands
6
6
  /**
@@ -2,7 +2,7 @@
2
2
 
3
3
  var fs = require('node:fs');
4
4
  var path = require('node:path');
5
- var version = require('./version-hsUgRL0I.cjs');
5
+ var version = require('./version-NZ-E_XUT.cjs');
6
6
  require('node:crypto');
7
7
  var node_async_hooks = require('node:async_hooks');
8
8
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-d1cUUoR9.cjs');
3
+ var index = require('./index-QY5q1rWs.cjs');
4
4
  var node_crypto = require('node:crypto');
5
5
  var path = require('node:path');
6
6
  var require$$0$2 = require('fs');
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var version = require('./version-hsUgRL0I.cjs');
3
+ var version = require('./version-NZ-E_XUT.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-d1cUUoR9.cjs');
7
+ var index = require('./index-QY5q1rWs.cjs');
8
8
  require('node:module');
9
9
  require('node:fs');
10
10
  require('path');
@@ -3,6 +3,6 @@
3
3
  /** 构建时替换为当前发布包的实际版本。 */
4
4
  const HB_SDK_VERSION = typeof undefined === 'string'
5
5
  ? undefined
6
- : '0.9.0-alpha.1';
6
+ : '0.9.0-alpha.2';
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-d1cUUoR9.cjs');
3
+ var index = require('./cli-chunks/index-QY5q1rWs.cjs');
4
4
  require('node:module');
5
5
  require('node:fs');
6
6
  require('node:fs/promises');