@heybox/hb-sdk 0.8.1-alpha.10 → 0.8.1-alpha.12
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.
- package/CHANGELOG.md +17 -0
- package/README.md +3 -3
- package/dist/cli-chunks/{build-CtqIXxDL.cjs → build-CZ5V15O8.cjs} +4 -4
- package/dist/cli-chunks/{context-t57bMfbr.cjs → context-Dtt13TVH.cjs} +2 -2
- package/dist/cli-chunks/{create-BDOPSacf.cjs → create-BH8rUeVn.cjs} +1 -1
- package/dist/cli-chunks/{dev-VxjconYc.cjs → dev-DlwR0N4E.cjs} +15 -10
- package/dist/cli-chunks/{doctor-BkfYdlnZ.cjs → doctor-BYj8lz7p.cjs} +1 -1
- package/dist/cli-chunks/{index-DDrytLTX.cjs → index-Dbep6fgT.cjs} +15 -15
- package/dist/cli-chunks/{index-lLaHzwfT.cjs → index-vPfFOCOM.cjs} +2 -2
- package/dist/cli-chunks/{index.esm-Dy4qRhuo.cjs → index.esm-BRKWKNSB.cjs} +7 -7
- package/dist/cli-chunks/{login-D2EX4R5_.cjs → login-CLVmbKuy.cjs} +2 -2
- package/dist/cli-chunks/{project-vite-CFhz2THK.cjs → project-vite-CSpSpfAR.cjs} +1 -1
- package/dist/cli-chunks/{remote-CfESZxO2.cjs → remote-BWAdpu4q.cjs} +6 -6
- package/dist/cli-chunks/{runtime-permission-env-BtTDFqEL.cjs → runtime-permission-env-B03m_ABy.cjs} +15 -1
- package/dist/cli-chunks/{session-Dkhwjqhm.cjs → session-B596v9X3.cjs} +1 -1
- package/dist/cli-chunks/{skill-DOveC5jt.cjs → skill-B-QW6Z7A.cjs} +2 -2
- package/dist/cli-chunks/{version-C4nE66sX.cjs → version-CNLhzVfO.cjs} +1 -1
- package/dist/cli.cjs +1 -1
- package/dist/devtools/browser-dev-host/assets/{browser-dev-host-BM9Qo_Ta.js → browser-dev-host-R1mwU2Tm.js} +9 -9
- package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-C2I333Yn.js → desktop-app-launch-Nb5ZvAEU.js} +2 -2
- package/dist/devtools/browser-dev-host/assets/{index-Bnb6MMTv.js → index-BNVF7wG6.js} +4 -4
- package/dist/devtools/browser-dev-host/assets/{index-D-aNERAr.css → index-DXd5IZBz.css} +1 -1
- package/dist/devtools/browser-dev-host/index.html +3 -3
- package/dist/index.cjs.js +24 -24
- package/dist/index.esm.js +24 -24
- package/dist/protocol.cjs.js +27 -27
- package/dist/protocol.esm.js +27 -27
- package/dist/vite.cjs.js +1 -1
- package/dist/vite.esm.js +1 -1
- package/package.json +7 -7
- package/skill/SKILL.md +1 -1
- package/skill/references/api-root.md +6 -5
- package/skill/references/cli.md +1 -1
- package/skill/references/examples.md +2 -2
- package/skill/references/recipes.md +5 -4
- package/skill/references/safety-boundaries.md +2 -2
- package/skill/skill.json +5 -5
- package/types/miniapp-manifest/schema.d.ts +9 -0
- package/types/modules/files/types.d.ts +10 -11
- package/types/modules/network/index.d.ts +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
本文件随 `@heybox/hb-sdk` npm 包公开分发,只记录外部小程序开发者可观察到的变化。内部集成、实现策略和审查证据不在此维护。
|
|
4
4
|
|
|
5
|
+
## 0.8.1-alpha.12
|
|
6
|
+
|
|
7
|
+
- 摘要:Android/iOS 移动端在 Native Host contract 下新增受控文件与流式下载能力,并修复 Files/Download 的释放、配额与访问边界。
|
|
8
|
+
- 影响级别:常规
|
|
9
|
+
- 开发者动作:将 SDK family 升级到 `0.8.1-alpha.12`;Android/iOS 客户端需升级到 `1.3.396`,能力按 `system.describe` 协商结果逐项启用。
|
|
10
|
+
- 兼容范围:官方 `network.request` 继续由 Host 按目标域名决定凭据;下载与第三方 Native 请求不携带产品凭据,`withCredentials` 仍不被支持。
|
|
11
|
+
- 新增能力
|
|
12
|
+
- Android/iOS 支持 `files.sandbox.file()`、`files.sandbox.directory()`、`files.pickFiles()` 与 `files.pickDirectory()`;`files.saveFile()` 仅 iOS 开放,Android 精确 SAF 文件保持只读。
|
|
13
|
+
- Mobile 支持带进度和取消的 `network.download()`,由 Native 网络直接写入文件目标。
|
|
14
|
+
- 问题修复
|
|
15
|
+
- 新增 Native Host contract、payload 与 `system.describe` 协商;缺失 handler、握手超时或 operation 不完整时逐项 fail closed。
|
|
16
|
+
- 修复沙箱根路径、下载配额、写入释放、重定向与内网地址限制、取消终态等边界问题。
|
|
17
|
+
|
|
18
|
+
## 0.8.1-alpha.11
|
|
19
|
+
|
|
20
|
+
- `hb-sdk dev` 调试台右上角的桌面端入口只在项目声明了桌面平台时展示;`package.json#heybox.platforms` 未包含 `windows`、`macos` 或 `linux` 的小程序不再显示该入口,手机扫码调试不受影响。
|
|
21
|
+
|
|
5
22
|
## 0.8.1-alpha.10
|
|
6
23
|
|
|
7
24
|
- `hb-sdk remote deploy` 现在将 Companion 归档总大小限制为 500 MiB;超限项目需先缩减桌面辅助应用产物再重新部署。
|
package/README.md
CHANGED
|
@@ -262,8 +262,8 @@ SDK 还提供 `getHandshakeState()` / `onHandshakeStateChange()` 管理持久握
|
|
|
262
262
|
- 公开 `network.request()` 与 `network.download()` 均使用 no-follow redirect policy;3xx 不会在 Host 内静默跳转。
|
|
263
263
|
- `network.request()` 不能访问平台保留的 runtime auth 与 OpenAPI 内部路径;页面不得持有或交换服务端应用凭据。
|
|
264
264
|
- `network.request` 不支持 `multipart/form-data`;App Host 仅支持 form(`application/x-www-form-urlencoded`)与 JSON。表单请用 `URLSearchParams#toString()` 作为 `data`,文件上传请走专用上传能力。
|
|
265
|
-
- 新 PC 开放持久 sandbox、单文件/目录 picker、精确 File 保存与公网 `network.download()
|
|
266
|
-
- `withCredentials` 不再是支持的配置字段,也不会进入新 SDK、协议或 Host contract;旧 SDK 构建产物的 wire 字段仅由 Runtime 兼容忽略。Mobile 对官方 HTTPS 默认端口目标自动启用 Native Cookie,第三方关闭;应用可显式提供 `Cookie`、`Authorization` 等请求头。`Origin`、`Referer`、`User-Agent` 由 Host 接管;`Host`、分帧及逐跳请求头由传输层管理,不能由小程序设置。Web Host 使用浏览器 Fetch,无法发送显式 `Cookie` 等浏览器禁止的头,会返回 `REQUEST_UNSUPPORTED`;需要第三方 Cookie 会话时请在支持原始请求头的 Mobile/PC Host
|
|
265
|
+
- 新 PC 开放持久 sandbox、单文件/目录 picker、精确 File 保存与公网 `network.download()`;Android/iOS `1.3.396+` 通过独立 Native host contract 提供 Files/Download,并用 `system.describe` 的实际 operation 集逐项启用,缺失 handler、握手超时或 operation 不完整时对应能力 fail closed。多选和小黑盒域名流式下载暂不支持;Web 与 Browser Dev Host 仍未开放这些 primitive。
|
|
266
|
+
- `withCredentials` 不再是支持的配置字段,也不会进入新 SDK、协议或 Host contract;旧 SDK 构建产物的 wire 字段仅由 Runtime 兼容忽略。Mobile 对官方 HTTPS 默认端口目标自动启用 Native Cookie,第三方关闭;应用可显式提供 `Cookie`、`Authorization` 等请求头。`Origin`、`Referer`、`User-Agent` 由 Host 接管;`Host`、分帧及逐跳请求头由传输层管理,不能由小程序设置。Web Host 使用浏览器 Fetch,无法发送显式 `Cookie` 等浏览器禁止的头,会返回 `REQUEST_UNSUPPORTED`;需要第三方 Cookie 会话时请在支持原始请求头的 Mobile/PC Host 验收。已启用的 Mobile 下载走无凭据 Native transfer;需要鉴权的下载请使用服务端签发的限时 URL。
|
|
267
267
|
- 新 PC 不支持振动、分享菜单和截图分享;`navigation.openAppPage` 仅支持 `game_detail`,用户/帖子详情会明确失败。调用平台相关能力时应处理 `METHOD_FORBIDDEN` 或 `REQUEST_UNSUPPORTED`。
|
|
268
268
|
- picker 必须来自可信用户手势;取消选择返回 `FILE_PICKER_CANCELLED`。`saveFile()` 只接受 `suggestedName`,不接受 `accept`。
|
|
269
269
|
- `pickFiles()` / `pickDirectory()` 默认只读;`pickFiles()` 仅在显式传入 `multiple: true` 时允许 Host 返回多个文件。要写入或作为下载目标时显式请求 `mode: 'readwrite'`。
|
|
@@ -353,7 +353,7 @@ hb-sdk remote deploy --release-note "本次更新说明"
|
|
|
353
353
|
|
|
354
354
|
配置 `package.json#heybox.companions` 并启用 `miniappManifest({ platforms })` 后,dev server 只向 loopback 提供 canonical Companion Manifest 和固定 ZIP 路由。CLI 在每次签发或刷新本地启动票前绑定该 Manifest 摘要;普通 Web HMR 不改变 snapshot,Companion 配置或产物更新后会校验并切换到新快照,已有 Session 固定原有产物。调试台分别展示浏览器、手机和 PC Companion 就绪状态、本地 alias、target 与摘要短前缀。未配置 Companion 时启动票仍可用于本地 identity/detail,真实 PC Companion 会 fail closed,Browser Fake 可继续用于未上传状态联调。
|
|
355
355
|
|
|
356
|
-
|
|
356
|
+
右上角的桌面图标与二维码按钮使用相同样式。桌面图标只在该项目于 `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 版。
|
|
357
357
|
|
|
358
358
|
浏览器调试入口不要求 CLI 登录或项目绑定;需要账号或远端配置的能力会按当前可用上下文返回结果或明确失败。调试台不提供权限修改入口,远端权限快照始终是 Runtime 的规范输入。手机 Dev Session 只使用当前版本声明与平台批准结果求交后的有效权限;两者均允许 `useOfficialDomain: true` 时会保留官方域名权限,浏览器端不能本地覆盖。手机验收统一从右上角二维码入口进入,选择手机可达的局域网网卡后扫码;二维码使用 `open_inapp` 与 `heybox://` `openWindow` 包装的短链。完整操作见 [CLI 指南](https://docs.xiaoheihe.cn/hb_sdk/guide/cli),实现与安全边界由 [Runtime Host 迁移](./docs/runtime-host-migration.md) 维护。
|
|
359
359
|
|
|
@@ -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-
|
|
6
|
+
var runtimePermissionEnv = require('./runtime-permission-env-B03m_ABy.cjs');
|
|
7
7
|
require('node:crypto');
|
|
8
8
|
require('node:zlib');
|
|
9
9
|
var runtimeGate = require('./runtime-gate-BWb8QIcX.cjs');
|
|
10
|
-
var index = require('./index-
|
|
11
|
-
var projectVite = require('./project-vite-
|
|
12
|
-
require('./version-
|
|
10
|
+
var index = require('./index-Dbep6fgT.cjs');
|
|
11
|
+
var projectVite = require('./project-vite-CSpSpfAR.cjs');
|
|
12
|
+
require('./version-CNLhzVfO.cjs');
|
|
13
13
|
require('node:async_hooks');
|
|
14
14
|
require('node:module');
|
|
15
15
|
require('path');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var runtimePermissionEnv = require('./runtime-permission-env-
|
|
4
|
-
var session = require('./session-
|
|
3
|
+
var runtimePermissionEnv = require('./runtime-permission-env-B03m_ABy.cjs');
|
|
4
|
+
var session = require('./session-B596v9X3.cjs');
|
|
5
5
|
var fs$1 = require('node:fs');
|
|
6
6
|
var fs = require('node:fs/promises');
|
|
7
7
|
var path = require('node:path');
|
|
@@ -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-
|
|
8
|
+
var index = require('./index-Dbep6fgT.cjs');
|
|
9
9
|
require('node:module');
|
|
10
10
|
require('os');
|
|
11
11
|
require('readline');
|
|
@@ -8,17 +8,17 @@ var net = require('node:net');
|
|
|
8
8
|
var promises = require('node:dns/promises');
|
|
9
9
|
var node_http = require('node:http');
|
|
10
10
|
var node_module = require('node:module');
|
|
11
|
-
var context = require('./context-
|
|
12
|
-
var runtimePermissionEnv = require('./runtime-permission-env-
|
|
11
|
+
var context = require('./context-Dtt13TVH.cjs');
|
|
12
|
+
var runtimePermissionEnv = require('./runtime-permission-env-B03m_ABy.cjs');
|
|
13
13
|
var undici = require('undici');
|
|
14
14
|
var fs$1 = require('node:fs/promises');
|
|
15
|
-
var index = require('./index-
|
|
15
|
+
var index = require('./index-Dbep6fgT.cjs');
|
|
16
16
|
var require$$0$1 = require('crypto');
|
|
17
17
|
var require$$0 = require('buffer');
|
|
18
|
-
var session = require('./session-
|
|
18
|
+
var session = require('./session-B596v9X3.cjs');
|
|
19
19
|
var browser = require('./browser-RAy8e8cV.cjs');
|
|
20
|
-
var projectVite = require('./project-vite-
|
|
21
|
-
var version = require('./version-
|
|
20
|
+
var projectVite = require('./project-vite-CSpSpfAR.cjs');
|
|
21
|
+
var version = require('./version-CNLhzVfO.cjs');
|
|
22
22
|
require('node:zlib');
|
|
23
23
|
|
|
24
24
|
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
@@ -1950,8 +1950,8 @@ const DEFAULT_CHANNEL_TRANSPORT = {
|
|
|
1950
1950
|
};
|
|
1951
1951
|
const IPV4_LOOPBACK_ADDRESSES = new net.BlockList();
|
|
1952
1952
|
IPV4_LOOPBACK_ADDRESSES.addSubnet('127.0.0.0', 8, 'ipv4');
|
|
1953
|
-
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-
|
|
1954
|
-
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-
|
|
1953
|
+
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-DlwR0N4E.cjs', document.baseURI).href)))('ws');
|
|
1954
|
+
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-DlwR0N4E.cjs', document.baseURI).href)))('parse5');
|
|
1955
1955
|
const BROWSER_DEV_HOST_ROOT_CANDIDATES = [
|
|
1956
1956
|
path.resolve(__dirname, 'devtools/browser-dev-host'),
|
|
1957
1957
|
path.resolve(__dirname, '../devtools/browser-dev-host'),
|
|
@@ -1982,6 +1982,7 @@ async function startBrowserDevHostServer(options) {
|
|
|
1982
1982
|
lanAddresses: options.lanAddresses ?? [],
|
|
1983
1983
|
loginAvailable: options.loginService !== undefined,
|
|
1984
1984
|
miniProgram: options.miniProgram,
|
|
1985
|
+
miniProgramSupportsDesktop: options.miniProgramSupportsDesktop,
|
|
1985
1986
|
mobileLaunchRedirect: initialMobileLaunchRedirect,
|
|
1986
1987
|
nativeAppLaunchUnavailableReason: options.nativeAppLaunchUnavailableReason,
|
|
1987
1988
|
runtimePermissions: options.runtimePermissions,
|
|
@@ -2070,6 +2071,8 @@ async function startBrowserDevHostServer(options) {
|
|
|
2070
2071
|
}
|
|
2071
2072
|
if (next.miniProgram !== undefined)
|
|
2072
2073
|
bootstrap.miniProgram = next.miniProgram;
|
|
2074
|
+
if (next.miniProgramSupportsDesktop !== undefined)
|
|
2075
|
+
bootstrap.miniProgramSupportsDesktop = next.miniProgramSupportsDesktop;
|
|
2073
2076
|
bootstrapJson = serializeBrowserDevHostBootstrap(bootstrap);
|
|
2074
2077
|
},
|
|
2075
2078
|
networkUrls: createBrowserDevHostNetworkUrls({
|
|
@@ -11045,7 +11048,7 @@ function assertNodeRuntimeCapabilities(ctx, settings) {
|
|
|
11045
11048
|
function createNodeRealtimeDriverRegistry() {
|
|
11046
11049
|
const registry = createRuntimeRealtimeDriverRegistry();
|
|
11047
11050
|
registry.registerLazy('node-websocket', async () => {
|
|
11048
|
-
const mod = await Promise.resolve().then(function () { return require('./index.esm-
|
|
11051
|
+
const mod = await Promise.resolve().then(function () { return require('./index.esm-BRKWKNSB.cjs'); });
|
|
11049
11052
|
return mod.createNodeWebSocketRuntimeDriver();
|
|
11050
11053
|
});
|
|
11051
11054
|
return registry;
|
|
@@ -15167,7 +15170,7 @@ async function runDevCommand(options, runtime = {}) {
|
|
|
15167
15170
|
const projectRoot = projectVite.findProjectRoot(runtime.cwd ?? process.cwd());
|
|
15168
15171
|
const companionArtifactAccessToken = (runtime.randomBytes ?? node_crypto.randomBytes)(32).toString('base64url');
|
|
15169
15172
|
const devSessionId = node_crypto.randomBytes(16).toString('hex');
|
|
15170
|
-
runtimePermissionEnv.readMiniappPlatformsFromPackageJson(projectRoot);
|
|
15173
|
+
const miniProgramPlatforms = runtimePermissionEnv.readMiniappPlatformsFromPackageJson(projectRoot);
|
|
15171
15174
|
const { context: devLaunchContext, miniProgram } = await loadDevLaunchContext({
|
|
15172
15175
|
env: runtime.env,
|
|
15173
15176
|
fetchImpl,
|
|
@@ -15254,6 +15257,8 @@ async function runDevCommand(options, runtime = {}) {
|
|
|
15254
15257
|
lookupHostname: runtime.lookupHostname,
|
|
15255
15258
|
loginService: runtime.loginService,
|
|
15256
15259
|
miniProgram,
|
|
15260
|
+
// 只在项目声明了桌面平台时向调试台暴露「在桌面端打开」入口。
|
|
15261
|
+
miniProgramSupportsDesktop: runtimePermissionEnv.hasMiniappDesktopPlatform(miniProgramPlatforms),
|
|
15257
15262
|
cliAuth: runtime.cliAuth ?? createBrowserDevHostCliAuth({ env: runtime.env, fetchImpl }),
|
|
15258
15263
|
onMobileDevSessionCreated: ({ devContextUrl, miniUrlOrigin }) => {
|
|
15259
15264
|
mobileDevContextUrlsByOrigin.set(miniUrlOrigin, devContextUrl);
|
|
@@ -234,19 +234,19 @@ function requireArgument () {
|
|
|
234
234
|
|
|
235
235
|
var command = {};
|
|
236
236
|
|
|
237
|
-
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-
|
|
237
|
+
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-Dbep6fgT.cjs', document.baseURI).href)));
|
|
238
238
|
function __require$4() { return require$5("node:events"); }
|
|
239
239
|
|
|
240
|
-
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-
|
|
240
|
+
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-Dbep6fgT.cjs', document.baseURI).href)));
|
|
241
241
|
function __require$3() { return require$4("node:child_process"); }
|
|
242
242
|
|
|
243
|
-
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-
|
|
243
|
+
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-Dbep6fgT.cjs', document.baseURI).href)));
|
|
244
244
|
function __require$2() { return require$3("node:path"); }
|
|
245
245
|
|
|
246
|
-
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-
|
|
246
|
+
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-Dbep6fgT.cjs', document.baseURI).href)));
|
|
247
247
|
function __require$1() { return require$2("node:fs"); }
|
|
248
248
|
|
|
249
|
-
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-
|
|
249
|
+
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-Dbep6fgT.cjs', document.baseURI).href)));
|
|
250
250
|
function __require() { return require$1("node:process"); }
|
|
251
251
|
|
|
252
252
|
var help = {};
|
|
@@ -13424,7 +13424,7 @@ function getPathname(pathWithQuery) {
|
|
|
13424
13424
|
}
|
|
13425
13425
|
|
|
13426
13426
|
const CLI_VERSION_PLACEHOLDER = ['__HB', 'SDK', 'CLI', 'VERSION__'].join('_');
|
|
13427
|
-
const BUILT_CLI_VERSION = '0.8.1-alpha.
|
|
13427
|
+
const BUILT_CLI_VERSION = '0.8.1-alpha.12';
|
|
13428
13428
|
const PACKAGE_JSON_CANDIDATES = [
|
|
13429
13429
|
path.resolve(__dirname, '..', '..', 'package.json'),
|
|
13430
13430
|
path.resolve(__dirname, '..', 'package.json'),
|
|
@@ -13773,39 +13773,39 @@ function createCommandLoggerResolver(options) {
|
|
|
13773
13773
|
};
|
|
13774
13774
|
}
|
|
13775
13775
|
const defaultClearLoginStatus = async (...args) => {
|
|
13776
|
-
const { clearLoginStatus } = await Promise.resolve().then(function () { return require('./login-
|
|
13776
|
+
const { clearLoginStatus } = await Promise.resolve().then(function () { return require('./login-CLVmbKuy.cjs'); });
|
|
13777
13777
|
return clearLoginStatus(...args);
|
|
13778
13778
|
};
|
|
13779
13779
|
const defaultLoginToHeybox = async (...args) => {
|
|
13780
|
-
const { loginToHeybox } = await Promise.resolve().then(function () { return require('./login-
|
|
13780
|
+
const { loginToHeybox } = await Promise.resolve().then(function () { return require('./login-CLVmbKuy.cjs'); });
|
|
13781
13781
|
return loginToHeybox(...args);
|
|
13782
13782
|
};
|
|
13783
13783
|
const defaultPrintLoginStatus = async (...args) => {
|
|
13784
|
-
const { printLoginStatus } = await Promise.resolve().then(function () { return require('./login-
|
|
13784
|
+
const { printLoginStatus } = await Promise.resolve().then(function () { return require('./login-CLVmbKuy.cjs'); });
|
|
13785
13785
|
return printLoginStatus(...args);
|
|
13786
13786
|
};
|
|
13787
13787
|
const defaultRunBuildCommand = async (...args) => {
|
|
13788
|
-
const { runBuildCommand } = await Promise.resolve().then(function () { return require('./build-
|
|
13788
|
+
const { runBuildCommand } = await Promise.resolve().then(function () { return require('./build-CZ5V15O8.cjs'); });
|
|
13789
13789
|
return runBuildCommand(...args);
|
|
13790
13790
|
};
|
|
13791
13791
|
const defaultRunCreateCommand = async (...args) => {
|
|
13792
|
-
const { runCreateCommand } = await Promise.resolve().then(function () { return require('./create-
|
|
13792
|
+
const { runCreateCommand } = await Promise.resolve().then(function () { return require('./create-BH8rUeVn.cjs'); });
|
|
13793
13793
|
return runCreateCommand(...args);
|
|
13794
13794
|
};
|
|
13795
13795
|
const defaultRunDevCommand = async (...args) => {
|
|
13796
|
-
const { runDevCommand } = await Promise.resolve().then(function () { return require('./dev-
|
|
13796
|
+
const { runDevCommand } = await Promise.resolve().then(function () { return require('./dev-DlwR0N4E.cjs'); }).then(function (n) { return n.dev; });
|
|
13797
13797
|
return runDevCommand(...args);
|
|
13798
13798
|
};
|
|
13799
13799
|
const defaultRunDoctorCommand = async (...args) => {
|
|
13800
|
-
const { runDoctorCommand } = await Promise.resolve().then(function () { return require('./doctor-
|
|
13800
|
+
const { runDoctorCommand } = await Promise.resolve().then(function () { return require('./doctor-BYj8lz7p.cjs'); });
|
|
13801
13801
|
return runDoctorCommand(...args);
|
|
13802
13802
|
};
|
|
13803
13803
|
const defaultRunSkillInstallCommand = async (...args) => {
|
|
13804
|
-
const { runSkillInstallCommand } = await Promise.resolve().then(function () { return require('./skill-
|
|
13804
|
+
const { runSkillInstallCommand } = await Promise.resolve().then(function () { return require('./skill-B-QW6Z7A.cjs'); });
|
|
13805
13805
|
return runSkillInstallCommand(...args);
|
|
13806
13806
|
};
|
|
13807
13807
|
const defaultRunRemoteCommand = async (...args) => {
|
|
13808
|
-
const { runRemoteCommand } = await Promise.resolve().then(function () { return require('./remote-
|
|
13808
|
+
const { runRemoteCommand } = await Promise.resolve().then(function () { return require('./remote-BWAdpu4q.cjs'); });
|
|
13809
13809
|
return runRemoteCommand(...args);
|
|
13810
13810
|
};
|
|
13811
13811
|
function resolveStandaloneLogger(options, verbose) {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index$2 = require('./index-
|
|
3
|
+
var index$2 = require('./index-Dbep6fgT.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-
|
|
10
|
+
var runtimePermissionEnv = require('./runtime-permission-env-B03m_ABy.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-
|
|
15
|
-
var dev = require('./dev-
|
|
14
|
+
var index = require('./index-Dbep6fgT.cjs');
|
|
15
|
+
var dev = require('./dev-DlwR0N4E.cjs');
|
|
16
16
|
require('node:module');
|
|
17
17
|
require('node:fs');
|
|
18
18
|
require('node:fs/promises');
|
|
@@ -27,11 +27,11 @@ require('node:os');
|
|
|
27
27
|
require('node:net');
|
|
28
28
|
require('node:dns/promises');
|
|
29
29
|
require('node:http');
|
|
30
|
-
require('./context-
|
|
31
|
-
require('./runtime-permission-env-
|
|
32
|
-
require('./version-
|
|
30
|
+
require('./context-Dtt13TVH.cjs');
|
|
31
|
+
require('./runtime-permission-env-B03m_ABy.cjs');
|
|
32
|
+
require('./version-CNLhzVfO.cjs');
|
|
33
33
|
require('node:async_hooks');
|
|
34
|
-
require('./session-
|
|
34
|
+
require('./session-B596v9X3.cjs');
|
|
35
35
|
require('fs');
|
|
36
36
|
require('constants');
|
|
37
37
|
require('undici');
|
|
@@ -41,7 +41,7 @@ require('node:buffer');
|
|
|
41
41
|
require('node:url');
|
|
42
42
|
require('node:util');
|
|
43
43
|
require('node:child_process');
|
|
44
|
-
require('./project-vite-
|
|
44
|
+
require('./project-vite-CSpSpfAR.cjs');
|
|
45
45
|
require('node:zlib');
|
|
46
46
|
|
|
47
47
|
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-
|
|
6
|
+
var session = require('./session-B596v9X3.cjs');
|
|
7
7
|
var browser = require('./browser-RAy8e8cV.cjs');
|
|
8
|
-
var index = require('./index-
|
|
8
|
+
var index = require('./index-Dbep6fgT.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-
|
|
8
|
+
var index = require('./index-Dbep6fgT.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
3
|
var promises = require('node:readline/promises');
|
|
4
|
-
var index = require('./index-
|
|
5
|
-
var session = require('./session-
|
|
4
|
+
var index = require('./index-Dbep6fgT.cjs');
|
|
5
|
+
var session = require('./session-B596v9X3.cjs');
|
|
6
6
|
var childProcess = require('node:child_process');
|
|
7
7
|
var fs = require('node:fs');
|
|
8
8
|
var fs$1 = require('node:fs/promises');
|
|
9
9
|
var path = require('node:path');
|
|
10
|
-
var runtimePermissionEnv = require('./runtime-permission-env-
|
|
10
|
+
var runtimePermissionEnv = require('./runtime-permission-env-B03m_ABy.cjs');
|
|
11
11
|
var node_crypto = require('node:crypto');
|
|
12
12
|
require('node:zlib');
|
|
13
13
|
var runtimeGate = require('./runtime-gate-BWb8QIcX.cjs');
|
|
14
|
-
var context = require('./context-
|
|
14
|
+
var context = require('./context-Dtt13TVH.cjs');
|
|
15
15
|
require('node:module');
|
|
16
16
|
require('path');
|
|
17
17
|
require('os');
|
|
@@ -24,7 +24,7 @@ require('buffer');
|
|
|
24
24
|
require('util');
|
|
25
25
|
require('fs');
|
|
26
26
|
require('constants');
|
|
27
|
-
require('./version-
|
|
27
|
+
require('./version-CNLhzVfO.cjs');
|
|
28
28
|
require('node:async_hooks');
|
|
29
29
|
|
|
30
30
|
async function getCDNUploadInfo(options, runtime = {}) {
|
|
@@ -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-
|
|
277
|
+
const cosModule = await Promise.resolve().then(function () { return require('./index-vPfFOCOM.cjs'); }).then(function (n) { return n.index; });
|
|
278
278
|
return cosModule.default;
|
|
279
279
|
}
|
|
280
280
|
function formatSize(bytes) {
|
package/dist/cli-chunks/{runtime-permission-env-BtTDFqEL.cjs → runtime-permission-env-B03m_ABy.cjs}
RENAMED
|
@@ -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-
|
|
5
|
+
var version = require('./version-CNLhzVfO.cjs');
|
|
6
6
|
require('node:crypto');
|
|
7
7
|
var node_async_hooks = require('node:async_hooks');
|
|
8
8
|
|
|
@@ -3108,6 +3108,19 @@ function isRecord$3(value) {
|
|
|
3108
3108
|
}
|
|
3109
3109
|
|
|
3110
3110
|
const MINIAPP_PLATFORM_VALUES = ['android', 'ios', 'ohos', 'windows', 'macos', 'linux'];
|
|
3111
|
+
/**
|
|
3112
|
+
* 桌面平台子集:从唯一平台词表 `MINIAPP_PLATFORM_VALUES` 派生,`satisfies` 阻止它漂移出词表。
|
|
3113
|
+
* 小程序声明其中任一平台,即视为该项目承诺适配 PC / 桌面端;调试台据此取舍桌面调试入口。
|
|
3114
|
+
*
|
|
3115
|
+
* 注意:子集只表达「声明为桌面」,不保证已有可用的客户端基线——例如 `linux` 目前既没有 `@hbPlatform` 声明,
|
|
3116
|
+
* 也没有 Companion target,仅声明 `linux` 的项目会展示入口但未必能真正打开。
|
|
3117
|
+
*/
|
|
3118
|
+
const MINIAPP_DESKTOP_PLATFORM_VALUES = ['windows', 'macos', 'linux'];
|
|
3119
|
+
function hasMiniappDesktopPlatform(platforms) {
|
|
3120
|
+
if (!platforms)
|
|
3121
|
+
return false;
|
|
3122
|
+
return MINIAPP_DESKTOP_PLATFORM_VALUES.some((platform) => platforms.includes(platform));
|
|
3123
|
+
}
|
|
3111
3124
|
function isValidMiniappManifestVersion(version) {
|
|
3112
3125
|
return getMiniappManifestVersionError(version) === undefined;
|
|
3113
3126
|
}
|
|
@@ -3781,6 +3794,7 @@ exports.createMiniappArtifactFileHeader = createMiniappArtifactFileHeader;
|
|
|
3781
3794
|
exports.createMiniappArtifactSignatureHeader = createMiniappArtifactSignatureHeader;
|
|
3782
3795
|
exports.createMiniappPlatformCspEnv = createMiniappPlatformCspEnv;
|
|
3783
3796
|
exports.getMissingPermissionsWarning = getMissingPermissionsWarning;
|
|
3797
|
+
exports.hasMiniappDesktopPlatform = hasMiniappDesktopPlatform;
|
|
3784
3798
|
exports.isValidMiniappManifestVersion = isValidMiniappManifestVersion;
|
|
3785
3799
|
exports.normalizeRelativePath = normalizeRelativePath;
|
|
3786
3800
|
exports.parseMiniProgramRuntimePermissions = parseMiniProgramRuntimePermissions;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var version = require('./version-
|
|
3
|
+
var version = require('./version-CNLhzVfO.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-
|
|
7
|
+
var index = require('./index-Dbep6fgT.cjs');
|
|
8
8
|
require('node:module');
|
|
9
9
|
require('node:fs');
|
|
10
10
|
require('path');
|