@heybox/hb-sdk 0.9.0 → 0.9.1-alpha.0

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 +5 -0
  2. package/README.md +7 -3
  3. package/dist/cli-chunks/{build-D01zUnqJ.cjs → build-DqZ4DwUv.cjs} +5 -5
  4. package/dist/cli-chunks/{context-BBfpZWvS.cjs → context-D_VhP5QF.cjs} +4 -2
  5. package/dist/cli-chunks/{create-0MZlL6Vb.cjs → create-xNSgjouq.cjs} +1 -1
  6. package/dist/cli-chunks/{dev-DRDvIKah.cjs → dev-IsUsrbjC.cjs} +11 -9
  7. package/dist/cli-chunks/{doctor-B6yYLEjK.cjs → doctor-BD-IXRyP.cjs} +1 -1
  8. package/dist/cli-chunks/{index-BdI9e2M_.cjs → index-CUebAm7J.cjs} +24 -15
  9. package/dist/cli-chunks/{index-BcrpdqEl.cjs → index-HUjK7vn8.cjs} +2 -2
  10. package/dist/cli-chunks/{index.esm-_JWYoJDg.cjs → index.esm-Bj9uKrhv.cjs} +9 -9
  11. package/dist/cli-chunks/{login-QgLsbmLe.cjs → login-D8GoAMYG.cjs} +2 -2
  12. package/dist/cli-chunks/{project-vite-DiGyY9kQ.cjs → project-vite-CzIodp6y.cjs} +1 -1
  13. package/dist/cli-chunks/{remote-xLIgPix6.cjs → remote-nQq3nAUy.cjs} +54 -7
  14. package/dist/cli-chunks/{runtime-gate-AtTBauWV.cjs → runtime-gate-uTsNPu3U.cjs} +1 -1
  15. package/dist/cli-chunks/{runtime-permission-env-QrndVK72.cjs → runtime-permission-env-B_poIoGP.cjs} +7 -1
  16. package/dist/cli-chunks/{session-BilIrecv.cjs → session-DDNple9k.cjs} +6 -1
  17. package/dist/cli-chunks/{skill-D1Fm2RTs.cjs → skill-DZK8UAXb.cjs} +2 -2
  18. package/dist/cli-chunks/{version-D8jlMg_C.cjs → version-CNYpJdS7.cjs} +1 -1
  19. package/dist/cli.cjs +1 -1
  20. package/dist/devtools/browser-dev-host/assets/{browser-dev-host-R5zFBCNc.js → browser-dev-host-YJT0-SwX.js} +5 -5
  21. package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-DvlJu02d.js → desktop-app-launch-GMEmtpsR.js} +2 -2
  22. package/dist/devtools/browser-dev-host/assets/index-DRM3hPNc.css +1 -0
  23. package/dist/devtools/browser-dev-host/assets/{index-CuKd_Bfx.js → index-IDyoULwK.js} +4 -4
  24. package/dist/devtools/browser-dev-host/index.html +3 -3
  25. package/dist/index.cjs.js +1 -1
  26. package/dist/index.esm.js +1 -1
  27. package/dist/miniapp-publish.cjs.js +6 -0
  28. package/dist/miniapp-publish.esm.js +5 -1
  29. package/dist/vite.cjs.js +1 -1
  30. package/dist/vite.esm.js +1 -1
  31. package/package.json +4 -4
  32. package/skill/skill.json +4 -4
  33. package/types/miniapp-publish/index.d.ts +4 -0
  34. package/dist/devtools/browser-dev-host/assets/index-B5aFVoao.css +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  本文件随 `@heybox/hb-sdk` npm 包公开分发,只记录外部小程序开发者可观察到的变化。
4
4
 
5
+ ## 0.9.1-alpha.0
6
+
7
+ - No user-facing hb-sdk package changes were detected from Conventional Commits.
8
+
5
9
  ## 0.9.0 - 2026-10-10
6
10
 
7
11
  > 影响级别:Breaking
@@ -310,6 +314,7 @@
310
314
 
311
315
  - 补充游戏详情页资源位申请规则、图标制作规范和申请流程说明。
312
316
 
317
+
313
318
  ## 0.8.2 - 2026-09-21
314
319
 
315
320
  > 摘要:版本名称与图片改由项目维护,新增 Steam 账号授权,并调整部署与用户数据边界。
package/README.md CHANGED
@@ -56,7 +56,7 @@ hb-sdk skill install --all-agents
56
56
 
57
57
  SDK 会在导入时启动握手,能力调用会自动等待 SDK 就绪。声明 `userInfo` 后,可通过 `user.getInfo()` 读取当前小程序内的隔离身份和已授权资料:
58
58
 
59
- 使用受保护能力前,需要在项目根 `package.json#heybox.permissions` 中显式声明。`auth.login()` 和 `user.getInfo()` 都只需要 `userInfo`,不依赖公开 `network` 权限;`network` 仅约束 `network.request()` 与 `network.download()`,线上使用仍需平台批准。所有需要平台批准的权限当前均未开放,包括 `network` 和 `companion`;开发者申请入口将在近期开放。`hb-sdk dev` 可临时补齐普通网络和 Companion 的批准缺口,但不能补齐官方域名,调试台会持续提示发布后不可用。完整配置、本地调试边界和 0.8/0.9 迁移规则见[权限声明](https://docs.xiaoheihe.cn/hb_sdk/guide/permissions)。
59
+ 使用受保护能力前,需要在项目根 `package.json#heybox.permissions` 中显式声明。`auth.login()` 和 `user.getInfo()` 都只需要 `userInfo`,不依赖公开 `network` 权限;`network` 仅约束 `network.request()` 与 `network.download()`,线上使用仍需平台批准。`network` 和 `companion` 可在开放平台“小程序管理 → 权限申请”中提交申请,开发者不能申请访问官方域名。`hb-sdk dev` 可临时补齐普通网络和 Companion 的批准缺口,但不能补齐官方域名,调试台会持续提示发布后不可用。完整配置、本地调试边界和 0.8/0.9 迁移规则见[权限声明](https://docs.xiaoheihe.cn/hb_sdk/guide/permissions)。
60
60
 
61
61
  需要可信用户手势的按钮不能在点击回调里等待握手。页面加载时先用 `getHandshakeState()` 读取当前状态,再用 `onHandshakeStateChange()` 订阅并立即接收当前状态;仅在 `status === 'ready'` 时启用按钮,并在组件或页面销毁时调用订阅返回的取消函数。`ready` 生命周期事件只是握手成功瞬间派发、不会重放的边沿通知,不能用来判断当前状态。
62
62
 
@@ -226,7 +226,7 @@ console.log(await downloaded.readText());
226
226
 
227
227
  真实 PC 的本地临时 Companion 还要求 Host 支持私有 local-dev lease;该 lease 由 Host 原子记录 prepare、Session 与进程树 provenance,并在 H5/CLI 失联后自行清理。缺少该 capability 的旧 PC Host 会安全拒绝真实临时 Companion,Browser Fake 和普通 network 调试仍可用。
228
228
 
229
- `companion` 允许获平台批准的小程序携带固定的桌面程序 ZIP,并在新 PC Host 中显式准备和启动。该权限当前尚未开放,开发者申请入口将在近期开放;入口开放并取得批准前,线上与生产环境不可用。`hb-sdk dev` 的真实 PC 联调可使用 `package.json#heybox.companions` 声明的本地产物,无需先上传或获得线上平台批准,但仍须登录、绑定、校验启动票与产物摘要,并在每次启动确认临时权限。
229
+ `companion` 允许获平台批准的小程序携带固定的桌面程序 ZIP,并在新 PC Host 中显式准备和启动。该权限需在开放平台提交申请,取得平台批准后才能在线上与生产环境使用。`hb-sdk dev` 的真实 PC 联调可使用 `package.json#heybox.companions` 声明的本地产物,无需先上传或获得线上平台批准,但仍须登录、绑定、校验启动票与产物摘要,并在每次启动确认临时权限。
230
230
  开发者只能使用 canonical Manifest 中的 alias、target、固定入口和固定参数;SDK 不提供真实下载 URL、本机路径、
231
231
  PID、动态 args、cwd、环境变量、shell 或任意命令执行。
232
232
 
@@ -477,7 +477,7 @@ CLI 会复用已验证产物、跳过该 ZIP 的网络上传;Web 文件及发
477
477
 
478
478
  右上角的桌面图标与二维码按钮使用相同样式。桌面图标只在该项目于 `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 版。
479
479
 
480
- `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) 维护。
480
+ `hb-sdk dev` 在未登录、未绑定或远端不可用时仍启动 Browser Mock;真实手机/PC 入口须有有效启动票。CLI 自动从本地声明生成普通 `network` / `companion` 的临时批准缺口,不提供第二套权限开关。调试台顶部的“查看全部权限申请”在新标签页打开当前小程序的权限列表;尚未获批的 Network、Companion 单项提供“去申请”,直接打开对应申请表单。未获取到小程序 ID 时先选择小程序,再进入对应权限;已获批或审核中的权限不重复打开申请表单。真实 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) 维护。
481
481
 
482
482
  远端提交前需要完成 CLI 登录和小程序绑定。完整的登录、绑定、预览、版本与发布流程见 [CLI 指南](https://docs.xiaoheihe.cn/hb_sdk/guide/cli)。
483
483
 
@@ -497,3 +497,7 @@ Host/Runtime 集成维护者请先阅读 [`@heybox/hb-sdk-runtime` README](../hb
497
497
  ## 版本名称与图片(0.8.2)
498
498
 
499
499
  在 `package.json#heybox` 配置 `name`、`icon`、`coverImages`。图片为项目内文件,icon 200×200、封面 1–5 张,单张不超过 10 MiB 和 4000 万像素。构建原样复制到版本产物,发布时才更新线上资料。全缺失配置可通过 bind/dev/deploy 从当前正式发布快照自动迁移;离线 build 不迁移。详见[版本资料与迁移指南](https://docs.xiaoheihe.cn/hb_sdk/guide/version-profile)。
500
+
501
+ ### 终端权限申请
502
+
503
+ 绑定小程序后,可用 `hb-sdk remote permission list` 查看平台状态和最近申请;使用 `hb-sdk remote permission apply network --reason "访问业务接口" --domains "api.example.com"` 或 `hb-sdk remote permission apply companion --reason "运行桌面辅助应用"` 提交申请。两种命令均支持 `--json`,无需上传版本;获批后仍需声明 Manifest 权限。
@@ -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-QrndVK72.cjs');
6
+ var runtimePermissionEnv = require('./runtime-permission-env-B_poIoGP.cjs');
7
7
  require('node:crypto');
8
8
  require('node:zlib');
9
- var runtimeGate = require('./runtime-gate-AtTBauWV.cjs');
10
- var index = require('./index-BdI9e2M_.cjs');
11
- var projectVite = require('./project-vite-DiGyY9kQ.cjs');
12
- require('./version-D8jlMg_C.cjs');
9
+ var runtimeGate = require('./runtime-gate-uTsNPu3U.cjs');
10
+ var index = require('./index-CUebAm7J.cjs');
11
+ var projectVite = require('./project-vite-CzIodp6y.cjs');
12
+ require('./version-CNYpJdS7.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-QrndVK72.cjs');
6
+ var runtimePermissionEnv = require('./runtime-permission-env-B_poIoGP.cjs');
7
7
  var fs$1 = require('node:fs');
8
8
  var sharp = require('sharp');
9
- var session = require('./session-BilIrecv.cjs');
9
+ var session = require('./session-DDNple9k.cjs');
10
10
 
11
11
  async function inspectBasicInfoImage(bytes, sourcePath, kind) {
12
12
  const inspected = await inspectDecodedBasicInfoImage(bytes, kind);
@@ -426,6 +426,8 @@ function isPlainRecord(value) {
426
426
 
427
427
  function createRemoteApiClient(options) {
428
428
  return {
429
+ listPermissionApplications: (request) => remoteGet(runtimePermissionEnv.LIST_USER_MINIPROGRAM_PERMISSION_APPLICATION_API_PATH, request, options),
430
+ submitPermissionApplication: (request) => remotePostForm(runtimePermissionEnv.SUBMIT_USER_MINIPROGRAM_PERMISSION_APPLICATION_API_PATH, request, options),
429
431
  listDeveloperEntities: () => listDeveloperEntities(options),
430
432
  switchDeveloperEntity: (requestOptions) => switchDeveloperEntity(requestOptions, options),
431
433
  getDeveloperAccessStatus: () => getDeveloperAccessStatus(options),
@@ -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-BdI9e2M_.cjs');
8
+ var index = require('./index-CUebAm7J.cjs');
9
9
  require('node:module');
10
10
  require('os');
11
11
  require('node:crypto');
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var context = require('./context-BBfpZWvS.cjs');
3
+ var session = require('./session-DDNple9k.cjs');
4
+ var context = require('./context-D_VhP5QF.cjs');
4
5
  var node_crypto = require('node:crypto');
5
6
  var fs = require('node:fs');
6
- var runtimePermissionEnv = require('./runtime-permission-env-QrndVK72.cjs');
7
+ var runtimePermissionEnv = require('./runtime-permission-env-B_poIoGP.cjs');
7
8
  var os = require('node:os');
8
9
  var path = require('node:path');
9
10
  var net = require('node:net');
@@ -12,13 +13,12 @@ var node_http = require('node:http');
12
13
  var node_module = require('node:module');
13
14
  var undici = require('undici');
14
15
  var fs$1 = require('node:fs/promises');
15
- var index = require('./index-BdI9e2M_.cjs');
16
+ var index = require('./index-CUebAm7J.cjs');
16
17
  var require$$0$1 = require('crypto');
17
18
  var require$$0 = require('buffer');
18
- var session = require('./session-BilIrecv.cjs');
19
19
  var browser = require('./browser-RAy8e8cV.cjs');
20
- var projectVite = require('./project-vite-DiGyY9kQ.cjs');
21
- var version = require('./version-D8jlMg_C.cjs');
20
+ var projectVite = require('./project-vite-CzIodp6y.cjs');
21
+ var version = require('./version-CNYpJdS7.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-DRDvIKah.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-DRDvIKah.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-IsUsrbjC.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-IsUsrbjC.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'),
@@ -2019,6 +2019,7 @@ async function startBrowserDevHostServer(options) {
2019
2019
  ? mobileLaunchRedirectRegistry.register(initialMobileLaunch.payload, initialMobileLaunch.addressId)
2020
2020
  : undefined;
2021
2021
  const bootstrap = {
2022
+ openPlatformBaseUrl: options.openPlatformBaseUrl,
2022
2023
  csrfToken: sessionController.csrfToken,
2023
2024
  defaultLanAddressId: options.defaultLanAddressId,
2024
2025
  devContext: options.devContext,
@@ -11089,7 +11090,7 @@ function assertNodeRuntimeCapabilities(ctx, settings) {
11089
11090
  function createNodeRealtimeDriverRegistry() {
11090
11091
  const registry = createRuntimeRealtimeDriverRegistry();
11091
11092
  registry.registerLazy('node-websocket', async () => {
11092
- const mod = await Promise.resolve().then(function () { return require('./index.esm-_JWYoJDg.cjs'); });
11093
+ const mod = await Promise.resolve().then(function () { return require('./index.esm-Bj9uKrhv.cjs'); });
11093
11094
  return mod.createNodeWebSocketRuntimeDriver();
11094
11095
  });
11095
11096
  return registry;
@@ -15765,6 +15766,7 @@ async function runDevCommand(options, runtime = {}) {
15765
15766
  let browserDevHost;
15766
15767
  try {
15767
15768
  browserDevHost = await runDevStartupTask(logger, '正在启动浏览器调试页服务', () => startBrowserDevHostServer({
15769
+ openPlatformBaseUrl: session.resolveHeyboxOpenPlatformBaseUrl(runtime.env),
15768
15770
  appUrl,
15769
15771
  devContext: currentDevContext,
15770
15772
  fetchImpl,
@@ -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-BdI9e2M_.cjs');
6
+ var index = require('./index-CUebAm7J.cjs');
7
7
  require('node:module');
8
8
  require('node:fs');
9
9
  require('path');
@@ -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-BdI9e2M_.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-CUebAm7J.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-BdI9e2M_.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-CUebAm7J.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-BdI9e2M_.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-CUebAm7J.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-BdI9e2M_.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-CUebAm7J.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-BdI9e2M_.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-CUebAm7J.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';
13557
+ const BUILT_CLI_VERSION = '0.9.1-alpha.0';
13558
13558
  const PACKAGE_JSON_CANDIDATES = [
13559
13559
  path.resolve(__dirname, '..', '..', 'package.json'),
13560
13560
  path.resolve(__dirname, '..', 'package.json'),
@@ -13750,6 +13750,15 @@ function installRemoteCommands(program, handlers, resolveLogger) {
13750
13750
  miniProgramId: readStringArgument(miniProgramId, 'mini-program-id'),
13751
13751
  })));
13752
13752
  addRemotePublicOptions(remote.command('info').description('查看当前绑定的远程工坊小程序详情')).action(createRemoteAction(handlers, resolveLogger, 'info'));
13753
+ const permission = addRemotePublicOptions(remote.command('permission').description('申请平台权限并查看审核状态'));
13754
+ addRemotePublicOptions(permission.command('list').description('查看平台权限及最近申请状态')).action(createRemoteAction(handlers, resolveLogger, 'permission:list'));
13755
+ addRemotePublicOptions(permission.command('apply').description('提交平台权限申请')
13756
+ .argument('<key>', 'network 或 companion')
13757
+ .requiredOption('--reason <text>', '申请理由,不超过 500 字')
13758
+ .option('--domains <domains>', 'network 访问域名,多个用逗号分隔')).action(createRemoteAction(handlers, resolveLogger, 'permission:apply', (command, key) => {
13759
+ const options = readCommandOptionsWithAncestors(command);
13760
+ return { key: readStringArgument(key, 'key'), reason: readStringOption(options.reason), domains: readStringOption(options.domains) };
13761
+ }));
13753
13762
  const allowlist = addRemotePublicOptions(remote.command('allowlist').description('管理当前绑定小程序的预览白名单'));
13754
13763
  addRemotePublicOptions(allowlist.command('list').description('查看预览白名单')).action(createRemoteAction(handlers, resolveLogger, 'allowlist:list'));
13755
13764
  addRemotePublicOptions(allowlist.command('add').description('添加预览白名单 Heybox ID').argument('<heybox-id...>', 'Heybox ID')).action(createRemoteAction(handlers, resolveLogger, 'allowlist:add', (_command, heyboxIds) => ({
@@ -13913,39 +13922,39 @@ function createCommandLoggerResolver(options) {
13913
13922
  };
13914
13923
  }
13915
13924
  const defaultClearLoginStatus = async (...args) => {
13916
- const { clearLoginStatus } = await Promise.resolve().then(function () { return require('./login-QgLsbmLe.cjs'); });
13925
+ const { clearLoginStatus } = await Promise.resolve().then(function () { return require('./login-D8GoAMYG.cjs'); });
13917
13926
  return clearLoginStatus(...args);
13918
13927
  };
13919
13928
  const defaultLoginToHeybox = async (...args) => {
13920
- const { loginToHeybox } = await Promise.resolve().then(function () { return require('./login-QgLsbmLe.cjs'); });
13929
+ const { loginToHeybox } = await Promise.resolve().then(function () { return require('./login-D8GoAMYG.cjs'); });
13921
13930
  return loginToHeybox(...args);
13922
13931
  };
13923
13932
  const defaultPrintLoginStatus = async (...args) => {
13924
- const { printLoginStatus } = await Promise.resolve().then(function () { return require('./login-QgLsbmLe.cjs'); });
13933
+ const { printLoginStatus } = await Promise.resolve().then(function () { return require('./login-D8GoAMYG.cjs'); });
13925
13934
  return printLoginStatus(...args);
13926
13935
  };
13927
13936
  const defaultRunBuildCommand = async (...args) => {
13928
- const { runBuildCommand } = await Promise.resolve().then(function () { return require('./build-D01zUnqJ.cjs'); });
13937
+ const { runBuildCommand } = await Promise.resolve().then(function () { return require('./build-DqZ4DwUv.cjs'); });
13929
13938
  return runBuildCommand(...args);
13930
13939
  };
13931
13940
  const defaultRunCreateCommand = async (...args) => {
13932
- const { runCreateCommand } = await Promise.resolve().then(function () { return require('./create-0MZlL6Vb.cjs'); });
13941
+ const { runCreateCommand } = await Promise.resolve().then(function () { return require('./create-xNSgjouq.cjs'); });
13933
13942
  return runCreateCommand(...args);
13934
13943
  };
13935
13944
  const defaultRunDevCommand = async (...args) => {
13936
- const { runDevCommand } = await Promise.resolve().then(function () { return require('./dev-DRDvIKah.cjs'); }).then(function (n) { return n.dev; });
13945
+ const { runDevCommand } = await Promise.resolve().then(function () { return require('./dev-IsUsrbjC.cjs'); }).then(function (n) { return n.dev; });
13937
13946
  return runDevCommand(...args);
13938
13947
  };
13939
13948
  const defaultRunDoctorCommand = async (...args) => {
13940
- const { runDoctorCommand } = await Promise.resolve().then(function () { return require('./doctor-B6yYLEjK.cjs'); });
13949
+ const { runDoctorCommand } = await Promise.resolve().then(function () { return require('./doctor-BD-IXRyP.cjs'); });
13941
13950
  return runDoctorCommand(...args);
13942
13951
  };
13943
13952
  const defaultRunSkillInstallCommand = async (...args) => {
13944
- const { runSkillInstallCommand } = await Promise.resolve().then(function () { return require('./skill-D1Fm2RTs.cjs'); });
13953
+ const { runSkillInstallCommand } = await Promise.resolve().then(function () { return require('./skill-DZK8UAXb.cjs'); });
13945
13954
  return runSkillInstallCommand(...args);
13946
13955
  };
13947
13956
  const defaultRunRemoteCommand = async (...args) => {
13948
- const { runRemoteCommand } = await Promise.resolve().then(function () { return require('./remote-xLIgPix6.cjs'); });
13957
+ const { runRemoteCommand } = await Promise.resolve().then(function () { return require('./remote-nQq3nAUy.cjs'); });
13949
13958
  return runRemoteCommand(...args);
13950
13959
  };
13951
13960
  function resolveStandaloneLogger(options, verbose) {
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var index$2 = require('./index-BdI9e2M_.cjs');
3
+ var index$2 = require('./index-CUebAm7J.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-QrndVK72.cjs');
10
+ var runtimePermissionEnv = require('./runtime-permission-env-B_poIoGP.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');
@@ -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-BdI9e2M_.cjs');
15
- var dev = require('./dev-DRDvIKah.cjs');
14
+ var index = require('./index-CUebAm7J.cjs');
15
+ var dev = require('./dev-IsUsrbjC.cjs');
16
16
  require('node:module');
17
17
  require('node:fs');
18
18
  require('node:fs/promises');
@@ -23,14 +23,14 @@ require('node:crypto');
23
23
  require('readline');
24
24
  require('tty');
25
25
  require('assert');
26
- require('./context-BBfpZWvS.cjs');
27
- require('./runtime-permission-env-QrndVK72.cjs');
28
- require('./version-D8jlMg_C.cjs');
29
- require('node:async_hooks');
30
- require('sharp');
31
- require('./session-BilIrecv.cjs');
26
+ require('./session-DDNple9k.cjs');
32
27
  require('fs');
33
28
  require('constants');
29
+ require('./context-D_VhP5QF.cjs');
30
+ require('./runtime-permission-env-B_poIoGP.cjs');
31
+ require('./version-CNYpJdS7.cjs');
32
+ require('node:async_hooks');
33
+ require('sharp');
34
34
  require('node:os');
35
35
  require('node:net');
36
36
  require('node:dns/promises');
@@ -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-DiGyY9kQ.cjs');
45
+ require('./project-vite-CzIodp6y.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-BilIrecv.cjs');
6
+ var session = require('./session-DDNple9k.cjs');
7
7
  var browser = require('./browser-RAy8e8cV.cjs');
8
- var index = require('./index-BdI9e2M_.cjs');
8
+ var index = require('./index-CUebAm7J.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-BdI9e2M_.cjs');
8
+ var index = require('./index-CUebAm7J.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-QrndVK72.cjs');
4
- var context = require('./context-BBfpZWvS.cjs');
3
+ var runtimePermissionEnv = require('./runtime-permission-env-B_poIoGP.cjs');
4
+ var context = require('./context-D_VhP5QF.cjs');
5
5
  var promises = require('node:readline/promises');
6
- var index = require('./index-BdI9e2M_.cjs');
7
- var session = require('./session-BilIrecv.cjs');
6
+ var index = require('./index-CUebAm7J.cjs');
7
+ var session = require('./session-DDNple9k.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-AtTBauWV.cjs');
15
- require('./version-D8jlMg_C.cjs');
14
+ var runtimeGate = require('./runtime-gate-uTsNPu3U.cjs');
15
+ require('./version-CNYpJdS7.cjs');
16
16
  require('node:async_hooks');
17
17
  require('sharp');
18
18
  require('node:module');
@@ -318,7 +318,7 @@ function createDefaultCosClient(uploadToken, COS) {
318
318
  };
319
319
  }
320
320
  async function loadCosConstructor() {
321
- const cosModule = await Promise.resolve().then(function () { return require('./index-BcrpdqEl.cjs'); }).then(function (n) { return n.index; });
321
+ const cosModule = await Promise.resolve().then(function () { return require('./index-HUjK7vn8.cjs'); }).then(function (n) { return n.index; });
322
322
  return cosModule.default;
323
323
  }
324
324
  function formatSize(bytes) {
@@ -1121,6 +1121,10 @@ async function runRemoteCommand(options, runtime = {}) {
1121
1121
  }
1122
1122
  const context = await createRemoteCommandContext(options, runtime);
1123
1123
  switch (options.command) {
1124
+ case 'permission:list':
1125
+ return remotePermissionList(options, context, runtime);
1126
+ case 'permission:apply':
1127
+ return remotePermissionApply(options, context, runtime);
1124
1128
  case 'access':
1125
1129
  return remoteAccess(options, context, runtime);
1126
1130
  case 'entity:list':
@@ -1227,6 +1231,8 @@ async function createRemoteCommandContext(options, runtime) {
1227
1231
  }
1228
1232
  function adaptRemoteApiClient(api) {
1229
1233
  return {
1234
+ listPermissionApplications: (miniProgramId) => api.listPermissionApplications({ mini_program_id: miniProgramId }),
1235
+ submitPermissionApplication: ({ miniProgramId, key, reason, domains }) => api.submitPermissionApplication({ mini_program_id: miniProgramId, permission_key: key, reason, domains }),
1230
1236
  accessStatus: () => api.getDeveloperAccessStatus(),
1231
1237
  listMiniPrograms: ({ keyword, limit = 200, offset = 0, status }) => api.listUserMiniprograms({ keyword, status, offset, limit }),
1232
1238
  createMiniProgram: () => api.createUserMiniprogram(),
@@ -1446,6 +1452,47 @@ async function remoteAllowlistWrite(options, context, runtime) {
1446
1452
  }
1447
1453
  return finishRemoteCommand(options, runtime, output);
1448
1454
  }
1455
+ async function remotePermissionList(options, context, runtime) {
1456
+ const miniProgramId = requireBinding(context);
1457
+ const result = await context.api.listPermissionApplications(miniProgramId);
1458
+ if (!options.json) {
1459
+ for (const item of result.items) {
1460
+ const application = item.latest_application;
1461
+ const approval = result.runtime_permissions?.entries?.find(entry => entry.key === item.permission_key);
1462
+ context.logger.info(`${item.permission_key} (${item.permission_name}) 平台状态=${approval?.status ?? 'disabled'} 最近申请=${application?.status ?? '未申请'}`);
1463
+ if (application?.application_id)
1464
+ context.logger.info(`申请 ID:${application.application_id}`);
1465
+ if (application?.review_remark)
1466
+ context.logger.info(`审核意见:${application.review_remark}`);
1467
+ }
1468
+ }
1469
+ return finishRemoteCommand(options, runtime, { changed: false, miniProgramId, items: toCamelCaseDeep(result.items), runtimePermissions: toCamelCaseDeep(result.runtime_permissions) });
1470
+ }
1471
+ async function remotePermissionApply(options, context, runtime) {
1472
+ const miniProgramId = requireBinding(context);
1473
+ const key = requireNonEmpty(options.key, '请指定申请权限 network 或 companion');
1474
+ if (key !== 'network' && key !== 'companion')
1475
+ throw new Error('仅支持申请 network 或 companion 权限');
1476
+ const reason = requireNonEmpty(options.reason, '权限申请必须传 --reason');
1477
+ if (Array.from(reason).length > 500)
1478
+ throw new Error('申请理由不能超过 500 字');
1479
+ let domains;
1480
+ if (key === 'network') {
1481
+ const values = [...new Set(requireNonEmpty(options.domains, 'network 申请必须传 --domains,多个域名用逗号分隔').split(',').map(value => value.trim()).filter(Boolean))];
1482
+ if (!values.length || values.length > 20)
1483
+ throw new Error('请填写 1 至 20 个访问域名');
1484
+ if (values.some(value => /[\s/:?#@*\\]/.test(value)))
1485
+ throw new Error('请填写域名,不含协议、端口、路径或通配符');
1486
+ domains = values.join(',');
1487
+ }
1488
+ await assertBoundMiniProgramEntityMatchesCurrent(context, miniProgramId);
1489
+ const application = await context.api.submitPermissionApplication({ miniProgramId, key, reason, domains });
1490
+ if (!options.json) {
1491
+ context.logger.success(`权限申请已受理:${application.application_id}(${application.status})`);
1492
+ context.logger.info('使用 hb-sdk remote permission list 查看审核状态;平台批准后仍需在 Manifest 中声明权限。');
1493
+ }
1494
+ return finishRemoteCommand(options, runtime, { miniProgramId, application: toCamelCaseDeep(application) });
1495
+ }
1449
1496
  async function remoteLeaderboardCreate(options, context, runtime) {
1450
1497
  const miniProgramId = requireBinding(context);
1451
1498
  const order = requireNonEmpty(options.order, 'remote cloud leaderboard create 必须传 --order asc|desc');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var runtimePermissionEnv = require('./runtime-permission-env-QrndVK72.cjs');
3
+ var runtimePermissionEnv = require('./runtime-permission-env-B_poIoGP.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-D8jlMg_C.cjs');
5
+ var version = require('./version-CNYpJdS7.cjs');
6
6
  require('node:crypto');
7
7
  var node_async_hooks = require('node:async_hooks');
8
8
 
@@ -12708,6 +12708,10 @@ function compareBytes(left, right) {
12708
12708
  }
12709
12709
  return left.length - right.length;
12710
12710
  }
12711
+ /** 查询平台权限目录和最近申请。 */
12712
+ const LIST_USER_MINIPROGRAM_PERMISSION_APPLICATION_API_PATH = '/mall/developer/user_miniprogram/runtime_permission/application_list';
12713
+ /** 提交不绑定版本的平台权限申请。 */
12714
+ const SUBMIT_USER_MINIPROGRAM_PERMISSION_APPLICATION_API_PATH = '/mall/developer/user_miniprogram/runtime_permission/application_submit';
12711
12715
 
12712
12716
  function findNearestPackageJsonPath(startDir) {
12713
12717
  let current = path.resolve(startDir);
@@ -12886,6 +12890,7 @@ exports.DEVELOPER_ENTITY_LIST_API_PATH = DEVELOPER_ENTITY_LIST_API_PATH;
12886
12890
  exports.DEVELOPER_ENTITY_SWITCH_API_PATH = DEVELOPER_ENTITY_SWITCH_API_PATH;
12887
12891
  exports.LIST_USER_MINIPROGRAM_API_PATH = LIST_USER_MINIPROGRAM_API_PATH;
12888
12892
  exports.LIST_USER_MINIPROGRAM_LEADERBOARD_API_PATH = LIST_USER_MINIPROGRAM_LEADERBOARD_API_PATH;
12893
+ exports.LIST_USER_MINIPROGRAM_PERMISSION_APPLICATION_API_PATH = LIST_USER_MINIPROGRAM_PERMISSION_APPLICATION_API_PATH;
12889
12894
  exports.LIST_USER_MINIPROGRAM_VERSION_API_PATH = LIST_USER_MINIPROGRAM_VERSION_API_PATH;
12890
12895
  exports.MINIAPP_UPLOAD_BATCH_SIZE = MINIAPP_UPLOAD_BATCH_SIZE;
12891
12896
  exports.MINIAPP_UPLOAD_SCOPE = MINIAPP_UPLOAD_SCOPE;
@@ -12895,6 +12900,7 @@ exports.Parser = Parser;
12895
12900
  exports.RELEASE_USER_MINIPROGRAM_VERSION_API_PATH = RELEASE_USER_MINIPROGRAM_VERSION_API_PATH;
12896
12901
  exports.REOPEN_USER_MINIPROGRAM_API_PATH = REOPEN_USER_MINIPROGRAM_API_PATH;
12897
12902
  exports.SUBMIT_USER_MINIPROGRAM_AUDIT_API_PATH = SUBMIT_USER_MINIPROGRAM_AUDIT_API_PATH;
12903
+ exports.SUBMIT_USER_MINIPROGRAM_PERMISSION_APPLICATION_API_PATH = SUBMIT_USER_MINIPROGRAM_PERMISSION_APPLICATION_API_PATH;
12898
12904
  exports.TAKE_DOWN_USER_MINIPROGRAM_API_PATH = TAKE_DOWN_USER_MINIPROGRAM_API_PATH;
12899
12905
  exports.UPDATE_SQUARE_DISPLAY_API_PATH = UPDATE_SQUARE_DISPLAY_API_PATH;
12900
12906
  exports.UPDATE_USER_MINIPROGRAM_PREVIEW_ALLOWLIST_API_PATH = UPDATE_USER_MINIPROGRAM_PREVIEW_ALLOWLIST_API_PATH;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BdI9e2M_.cjs');
3
+ var index = require('./index-CUebAm7J.cjs');
4
4
  var node_crypto = require('node:crypto');
5
5
  var path = require('node:path');
6
6
  var require$$0$2 = require('fs');
@@ -66,6 +66,10 @@ function isTruthyEnvFlag(value) {
66
66
  .trim()
67
67
  .toLowerCase());
68
68
  }
69
+ /** 开放平台网页地址独立于 API 地址,避免跨环境申请。 */
70
+ function resolveHeyboxOpenPlatformBaseUrl(env = process.env) {
71
+ return normalizeHeyboxOriginUrl(env.HB_SDK_OPEN_PLATFORM_BASE_URL ?? 'https://open.xiaoheihe.cn', '开放平台 baseUrl');
72
+ }
69
73
 
70
74
  const SIGN_VERSION = '999.0.4';
71
75
  const SIGN_CHARSET = 'AB45STUVWZEFGJ6CH01D237IXYPQRKLMN89';
@@ -3394,5 +3398,6 @@ exports.readRedactedHeyboxAuthStatus = readRedactedHeyboxAuthStatus;
3394
3398
  exports.requireHeyboxAuthSession = requireHeyboxAuthSession;
3395
3399
  exports.resolveHeyboxApiBaseUrl = resolveHeyboxApiBaseUrl;
3396
3400
  exports.resolveHeyboxLoginBaseUrl = resolveHeyboxLoginBaseUrl;
3401
+ exports.resolveHeyboxOpenPlatformBaseUrl = resolveHeyboxOpenPlatformBaseUrl;
3397
3402
  exports.setSelectedDeveloperEntitySnapshot = setSelectedDeveloperEntitySnapshot;
3398
3403
  exports.writeHeyboxAuthSession = writeHeyboxAuthSession;
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var version = require('./version-D8jlMg_C.cjs');
3
+ var version = require('./version-CNYpJdS7.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-BdI9e2M_.cjs');
7
+ var index = require('./index-CUebAm7J.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';
6
+ : '0.9.1-alpha.0';
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-BdI9e2M_.cjs');
3
+ var index = require('./cli-chunks/index-CUebAm7J.cjs');
4
4
  require('node:module');
5
5
  require('node:fs');
6
6
  require('node:fs/promises');