@heybox/hb-sdk 0.8.1-alpha.15 → 0.8.1-alpha.16
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 +5 -0
- package/dist/cli-chunks/{build-6nkCiXV0.cjs → build-D3JxmtmD.cjs} +4 -4
- package/dist/cli-chunks/{context-DyeSJSqE.cjs → context-CcJDF3v_.cjs} +2 -2
- package/dist/cli-chunks/{create-wXBzkgmP.cjs → create-Cww0mYrn.cjs} +1 -1
- package/dist/cli-chunks/{dev-Caq_oO7n.cjs → dev-Dd2_LjFP.cjs} +9 -9
- package/dist/cli-chunks/{doctor-n4vISsD-.cjs → doctor-DTDwA9UZ.cjs} +1 -1
- package/dist/cli-chunks/{index-BTUkiKjC.cjs → index-B5jxW7GS.cjs} +15 -15
- package/dist/cli-chunks/{index-hyB5_A_G.cjs → index-BKbdNtX4.cjs} +2 -2
- package/dist/cli-chunks/{index.esm-DU-rsJ3-.cjs → index.esm-DxT8YC2x.cjs} +7 -7
- package/dist/cli-chunks/{login-CsXZXtCS.cjs → login-BZEWhweM.cjs} +2 -2
- package/dist/cli-chunks/{project-vite-87sg4Mnk.cjs → project-vite-DpQOovxh.cjs} +1 -1
- package/dist/cli-chunks/{remote-Cfr3wcGq.cjs → remote-zyWYZ-W8.cjs} +6 -6
- package/dist/cli-chunks/{runtime-permission-env-B3wQZF2c.cjs → runtime-permission-env-C7QvBZp0.cjs} +1 -1
- package/dist/cli-chunks/{session-YWsulrKF.cjs → session-DN0ZLQC2.cjs} +1 -1
- package/dist/cli-chunks/{skill-CS2JoOL8.cjs → skill-lsh9bXs0.cjs} +2 -2
- package/dist/cli-chunks/{version-DXjXtCXW.cjs → version-CoWxDzB4.cjs} +1 -1
- package/dist/cli.cjs +1 -1
- package/dist/devtools/browser-dev-host/assets/browser-dev-host-BgW__pJ2.js +101 -0
- package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-BUVHeuGC.js → desktop-app-launch-CvKi6AqK.js} +1 -1
- package/dist/devtools/browser-dev-host/assets/{index-C3EtSrqt.js → index-BqskekK_.js} +3 -3
- package/dist/devtools/browser-dev-host/index.html +2 -2
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/miniapp-publish.cjs.js +88 -0
- package/dist/miniapp-publish.esm.js +86 -1
- package/dist/vite.cjs.js +1 -1
- package/dist/vite.esm.js +1 -1
- package/package.json +4 -4
- package/skill/references/api-protocol.md +2 -2
- package/skill/references/api-root.md +1 -1
- package/skill/skill.json +5 -5
- package/types/miniapp-manifest/schema.d.ts +46 -0
- package/types/miniapp-publish/index.d.ts +1 -0
- package/dist/devtools/browser-dev-host/assets/browser-dev-host-GNgPrL3B.js +0 -101
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<meta name="theme-color" content="#f4f5f7" />
|
|
7
7
|
<title>小程序工坊调试台</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
9
|
-
<link rel="modulepreload" crossorigin href="/assets/desktop-app-launch-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-BqskekK_.js"></script>
|
|
9
|
+
<link rel="modulepreload" crossorigin href="/assets/desktop-app-launch-CvKi6AqK.js">
|
|
10
10
|
<link rel="stylesheet" crossorigin href="/assets/index-DXd5IZBz.css">
|
|
11
11
|
</head>
|
|
12
12
|
<body>
|
package/dist/index.cjs.js
CHANGED
|
@@ -835,7 +835,7 @@ function createMessageId() {
|
|
|
835
835
|
/** 构建时替换为当前发布包的实际版本。 */
|
|
836
836
|
const HB_SDK_VERSION = typeof undefined === 'string'
|
|
837
837
|
? undefined
|
|
838
|
-
: '0.8.1-alpha.
|
|
838
|
+
: '0.8.1-alpha.16';
|
|
839
839
|
|
|
840
840
|
const RUNTIME_MODES = new Set(['production', 'preview', 'development', 'unknown']);
|
|
841
841
|
const OPERATING_SYSTEM_NAMES = new Set(['android', 'ios', 'ohos', 'windows', 'macos', 'linux', 'unknown']);
|
package/dist/index.esm.js
CHANGED
|
@@ -831,7 +831,7 @@ function createMessageId() {
|
|
|
831
831
|
/** 构建时替换为当前发布包的实际版本。 */
|
|
832
832
|
const HB_SDK_VERSION = typeof undefined === 'string'
|
|
833
833
|
? undefined
|
|
834
|
-
: '0.8.1-alpha.
|
|
834
|
+
: '0.8.1-alpha.16';
|
|
835
835
|
|
|
836
836
|
const RUNTIME_MODES = new Set(['production', 'preview', 'development', 'unknown']);
|
|
837
837
|
const OPERATING_SYSTEM_NAMES = new Set(['android', 'ios', 'ohos', 'windows', 'macos', 'linux', 'unknown']);
|
|
@@ -2814,9 +2814,94 @@ function parseMiniappBindAppIds(value, options = {}) {
|
|
|
2814
2814
|
return Object.freeze(appIds);
|
|
2815
2815
|
}
|
|
2816
2816
|
|
|
2817
|
+
const MINIAPP_PLATFORM_VALUES = ['android', 'ios', 'ohos', 'windows', 'macos', 'linux'];
|
|
2818
|
+
/** 平台声明硬切点:产物 hb-sdk 版本达到该值时,必须显式声明非空 `platforms`。 */
|
|
2819
|
+
const MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION = '0.9.0';
|
|
2820
|
+
/**
|
|
2821
|
+
* 历史移动端兼容平台集合。
|
|
2822
|
+
*
|
|
2823
|
+
* @remarks
|
|
2824
|
+
* 仅在 `sdkVersion` 缺失或 SemVer precedence 低于 `MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION`,
|
|
2825
|
+
* 且 Manifest 完全没有 `platforms` 字段时生效,不是任何非法声明的兜底。
|
|
2826
|
+
*/
|
|
2827
|
+
const MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES = ['android', 'ios', 'ohos'];
|
|
2817
2828
|
function isValidMiniappManifestVersion(version) {
|
|
2818
2829
|
return getMiniappManifestVersionError(version) === undefined;
|
|
2819
2830
|
}
|
|
2831
|
+
function validateMiniappPlatforms(platforms, sourceLabel = 'platforms') {
|
|
2832
|
+
if (!Array.isArray(platforms) || platforms.length === 0) {
|
|
2833
|
+
throw new Error(`${sourceLabel} 必须是非空平台数组`);
|
|
2834
|
+
}
|
|
2835
|
+
const allowedPlatforms = new Set(MINIAPP_PLATFORM_VALUES);
|
|
2836
|
+
const seen = new Set();
|
|
2837
|
+
for (const platform of platforms) {
|
|
2838
|
+
if (typeof platform !== 'string' || !allowedPlatforms.has(platform)) {
|
|
2839
|
+
throw new Error(`${sourceLabel} 包含不支持的平台:${String(platform)}`);
|
|
2840
|
+
}
|
|
2841
|
+
if (seen.has(platform)) {
|
|
2842
|
+
throw new Error(`${sourceLabel} 包含重复平台:${platform}`);
|
|
2843
|
+
}
|
|
2844
|
+
seen.add(platform);
|
|
2845
|
+
}
|
|
2846
|
+
return Object.freeze(MINIAPP_PLATFORM_VALUES.filter((platform) => seen.has(platform)));
|
|
2847
|
+
}
|
|
2848
|
+
const NO_MINIAPP_PLATFORMS = Object.freeze([]);
|
|
2849
|
+
/**
|
|
2850
|
+
* 解析 Manifest 平台声明,是 `0.9.0` 硬切规则的唯一实现。
|
|
2851
|
+
*
|
|
2852
|
+
* @remarks
|
|
2853
|
+
* 规则与后端领域层保持一致:
|
|
2854
|
+
* - 无 `platforms` 字段:`sdkVersion` 缺失或 SemVer precedence 低于
|
|
2855
|
+
* `MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION` 时按历史移动端兼容;达到或高于硬切点即非法。
|
|
2856
|
+
* - 有 `platforms` 字段:复用 `validateMiniappPlatforms` 校验并规范化顺序;任何非法值
|
|
2857
|
+
* (空数组、非数组、未知值、重复值)都不回退到历史兼容,即使 `sdkVersion < 0.9.0`。
|
|
2858
|
+
* - 任何非法的 `sdkVersion` 都会抛出,不做字符串比较。
|
|
2859
|
+
* @param sdkVersion - 产物 hb-sdk 版本;历史产物可能缺失。
|
|
2860
|
+
* @param manifest - 待解析的 Manifest(不可信输入)。
|
|
2861
|
+
* @returns 冻结的平台解析结果。
|
|
2862
|
+
* @throws Manifest 不是对象、`sdkVersion` 不是合法 SemVer、达到硬切点仍缺失 `platforms`,
|
|
2863
|
+
* 或 `platforms` 声明非法时抛出。
|
|
2864
|
+
*/
|
|
2865
|
+
function resolveMiniappManifestPlatforms(sdkVersion, manifest) {
|
|
2866
|
+
if (!isRecord$1(manifest)) {
|
|
2867
|
+
throw new Error('manifest 必须是 JSON 对象');
|
|
2868
|
+
}
|
|
2869
|
+
// 与后端 ResolvePlatforms 对齐:空串/纯空白按“缺失 SDK 版本”处理(历史产物),不报错。
|
|
2870
|
+
const trimmedSdkVersion = typeof sdkVersion === 'string' ? sdkVersion.trim() : undefined;
|
|
2871
|
+
const normalizedSdkVersion = trimmedSdkVersion ? validateSdkVersion(trimmedSdkVersion) : undefined;
|
|
2872
|
+
if (Object.prototype.hasOwnProperty.call(manifest, 'platforms')) {
|
|
2873
|
+
const platforms = validateMiniappPlatforms(manifest.platforms, 'manifest.platforms');
|
|
2874
|
+
return Object.freeze({
|
|
2875
|
+
declared: platforms,
|
|
2876
|
+
effective: platforms,
|
|
2877
|
+
platformsDeclared: true,
|
|
2878
|
+
policy: 'explicit',
|
|
2879
|
+
});
|
|
2880
|
+
}
|
|
2881
|
+
if (normalizedSdkVersion === undefined || semverExports.lt(normalizedSdkVersion, MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION)) {
|
|
2882
|
+
return Object.freeze({
|
|
2883
|
+
declared: NO_MINIAPP_PLATFORMS,
|
|
2884
|
+
effective: MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES,
|
|
2885
|
+
platformsDeclared: false,
|
|
2886
|
+
policy: 'legacy_mobile_default',
|
|
2887
|
+
});
|
|
2888
|
+
}
|
|
2889
|
+
throw new Error(`manifest.platforms 缺失:hb-sdk ${MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION} 起必须显式声明非空 platforms(当前 ${normalizedSdkVersion})`);
|
|
2890
|
+
}
|
|
2891
|
+
function validateSdkVersion(version, sourceLabel = 'sdkVersion') {
|
|
2892
|
+
if (typeof version !== 'string' || version.trim() === '') {
|
|
2893
|
+
throw new Error(`${sourceLabel} 必须是合法 SemVer:${String(version)}`);
|
|
2894
|
+
}
|
|
2895
|
+
const normalized = version.trim();
|
|
2896
|
+
const parsed = semverExports.parse(normalized);
|
|
2897
|
+
if (!parsed || parsed.version !== normalized || parsed.build.length > 0) {
|
|
2898
|
+
throw new Error(`${sourceLabel} 必须是合法 SemVer:${normalized}`);
|
|
2899
|
+
}
|
|
2900
|
+
return normalized;
|
|
2901
|
+
}
|
|
2902
|
+
function isRecord$1(value) {
|
|
2903
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
2904
|
+
}
|
|
2820
2905
|
function getMiniappManifestVersionError(version) {
|
|
2821
2906
|
if (typeof version !== 'string' || version.trim() === '') {
|
|
2822
2907
|
return `必须是合法 SemVer:${String(version)}`;
|
|
@@ -3231,6 +3316,8 @@ exports.LIST_USER_MINIPROGRAM_API_PATH = LIST_USER_MINIPROGRAM_API_PATH;
|
|
|
3231
3316
|
exports.LIST_USER_MINIPROGRAM_LEADERBOARD_API_PATH = LIST_USER_MINIPROGRAM_LEADERBOARD_API_PATH;
|
|
3232
3317
|
exports.LIST_USER_MINIPROGRAM_VERSION_API_PATH = LIST_USER_MINIPROGRAM_VERSION_API_PATH;
|
|
3233
3318
|
exports.MINIAPP_COMPANION_UPLOAD_TEMPORARY_SIZE_LIMIT_BYTES = MINIAPP_COMPANION_UPLOAD_TEMPORARY_SIZE_LIMIT_BYTES;
|
|
3319
|
+
exports.MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES = MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES;
|
|
3320
|
+
exports.MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION = MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION;
|
|
3234
3321
|
exports.MINIAPP_UPLOAD_BATCH_SIZE = MINIAPP_UPLOAD_BATCH_SIZE;
|
|
3235
3322
|
exports.MINIAPP_UPLOAD_SCOPE = MINIAPP_UPLOAD_SCOPE;
|
|
3236
3323
|
exports.MINIAPP_UPLOAD_TOTAL_SIZE_LIMIT_BYTES = MINIAPP_UPLOAD_TOTAL_SIZE_LIMIT_BYTES;
|
|
@@ -3254,6 +3341,7 @@ exports.normalizeRelativePath = normalizeRelativePath;
|
|
|
3254
3341
|
exports.parseMiniappBindAppIds = parseMiniappBindAppIds;
|
|
3255
3342
|
exports.prepareMiniappArtifactFiles = prepareMiniappArtifactFiles;
|
|
3256
3343
|
exports.relativePathContainsNodeModulesSegment = relativePathContainsNodeModulesSegment;
|
|
3344
|
+
exports.resolveMiniappManifestPlatforms = resolveMiniappManifestPlatforms;
|
|
3257
3345
|
exports.resolveMiniappUploadSessionFiles = resolveMiniappUploadSessionFiles;
|
|
3258
3346
|
exports.shouldUploadDistFile = shouldUploadDistFile;
|
|
3259
3347
|
exports.validateMiniappCompanionFileReceipts = validateMiniappCompanionFileReceipts;
|
|
@@ -2812,9 +2812,94 @@ function parseMiniappBindAppIds(value, options = {}) {
|
|
|
2812
2812
|
return Object.freeze(appIds);
|
|
2813
2813
|
}
|
|
2814
2814
|
|
|
2815
|
+
const MINIAPP_PLATFORM_VALUES = ['android', 'ios', 'ohos', 'windows', 'macos', 'linux'];
|
|
2816
|
+
/** 平台声明硬切点:产物 hb-sdk 版本达到该值时,必须显式声明非空 `platforms`。 */
|
|
2817
|
+
const MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION = '0.9.0';
|
|
2818
|
+
/**
|
|
2819
|
+
* 历史移动端兼容平台集合。
|
|
2820
|
+
*
|
|
2821
|
+
* @remarks
|
|
2822
|
+
* 仅在 `sdkVersion` 缺失或 SemVer precedence 低于 `MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION`,
|
|
2823
|
+
* 且 Manifest 完全没有 `platforms` 字段时生效,不是任何非法声明的兜底。
|
|
2824
|
+
*/
|
|
2825
|
+
const MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES = ['android', 'ios', 'ohos'];
|
|
2815
2826
|
function isValidMiniappManifestVersion(version) {
|
|
2816
2827
|
return getMiniappManifestVersionError(version) === undefined;
|
|
2817
2828
|
}
|
|
2829
|
+
function validateMiniappPlatforms(platforms, sourceLabel = 'platforms') {
|
|
2830
|
+
if (!Array.isArray(platforms) || platforms.length === 0) {
|
|
2831
|
+
throw new Error(`${sourceLabel} 必须是非空平台数组`);
|
|
2832
|
+
}
|
|
2833
|
+
const allowedPlatforms = new Set(MINIAPP_PLATFORM_VALUES);
|
|
2834
|
+
const seen = new Set();
|
|
2835
|
+
for (const platform of platforms) {
|
|
2836
|
+
if (typeof platform !== 'string' || !allowedPlatforms.has(platform)) {
|
|
2837
|
+
throw new Error(`${sourceLabel} 包含不支持的平台:${String(platform)}`);
|
|
2838
|
+
}
|
|
2839
|
+
if (seen.has(platform)) {
|
|
2840
|
+
throw new Error(`${sourceLabel} 包含重复平台:${platform}`);
|
|
2841
|
+
}
|
|
2842
|
+
seen.add(platform);
|
|
2843
|
+
}
|
|
2844
|
+
return Object.freeze(MINIAPP_PLATFORM_VALUES.filter((platform) => seen.has(platform)));
|
|
2845
|
+
}
|
|
2846
|
+
const NO_MINIAPP_PLATFORMS = Object.freeze([]);
|
|
2847
|
+
/**
|
|
2848
|
+
* 解析 Manifest 平台声明,是 `0.9.0` 硬切规则的唯一实现。
|
|
2849
|
+
*
|
|
2850
|
+
* @remarks
|
|
2851
|
+
* 规则与后端领域层保持一致:
|
|
2852
|
+
* - 无 `platforms` 字段:`sdkVersion` 缺失或 SemVer precedence 低于
|
|
2853
|
+
* `MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION` 时按历史移动端兼容;达到或高于硬切点即非法。
|
|
2854
|
+
* - 有 `platforms` 字段:复用 `validateMiniappPlatforms` 校验并规范化顺序;任何非法值
|
|
2855
|
+
* (空数组、非数组、未知值、重复值)都不回退到历史兼容,即使 `sdkVersion < 0.9.0`。
|
|
2856
|
+
* - 任何非法的 `sdkVersion` 都会抛出,不做字符串比较。
|
|
2857
|
+
* @param sdkVersion - 产物 hb-sdk 版本;历史产物可能缺失。
|
|
2858
|
+
* @param manifest - 待解析的 Manifest(不可信输入)。
|
|
2859
|
+
* @returns 冻结的平台解析结果。
|
|
2860
|
+
* @throws Manifest 不是对象、`sdkVersion` 不是合法 SemVer、达到硬切点仍缺失 `platforms`,
|
|
2861
|
+
* 或 `platforms` 声明非法时抛出。
|
|
2862
|
+
*/
|
|
2863
|
+
function resolveMiniappManifestPlatforms(sdkVersion, manifest) {
|
|
2864
|
+
if (!isRecord$1(manifest)) {
|
|
2865
|
+
throw new Error('manifest 必须是 JSON 对象');
|
|
2866
|
+
}
|
|
2867
|
+
// 与后端 ResolvePlatforms 对齐:空串/纯空白按“缺失 SDK 版本”处理(历史产物),不报错。
|
|
2868
|
+
const trimmedSdkVersion = typeof sdkVersion === 'string' ? sdkVersion.trim() : undefined;
|
|
2869
|
+
const normalizedSdkVersion = trimmedSdkVersion ? validateSdkVersion(trimmedSdkVersion) : undefined;
|
|
2870
|
+
if (Object.prototype.hasOwnProperty.call(manifest, 'platforms')) {
|
|
2871
|
+
const platforms = validateMiniappPlatforms(manifest.platforms, 'manifest.platforms');
|
|
2872
|
+
return Object.freeze({
|
|
2873
|
+
declared: platforms,
|
|
2874
|
+
effective: platforms,
|
|
2875
|
+
platformsDeclared: true,
|
|
2876
|
+
policy: 'explicit',
|
|
2877
|
+
});
|
|
2878
|
+
}
|
|
2879
|
+
if (normalizedSdkVersion === undefined || semverExports.lt(normalizedSdkVersion, MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION)) {
|
|
2880
|
+
return Object.freeze({
|
|
2881
|
+
declared: NO_MINIAPP_PLATFORMS,
|
|
2882
|
+
effective: MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES,
|
|
2883
|
+
platformsDeclared: false,
|
|
2884
|
+
policy: 'legacy_mobile_default',
|
|
2885
|
+
});
|
|
2886
|
+
}
|
|
2887
|
+
throw new Error(`manifest.platforms 缺失:hb-sdk ${MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION} 起必须显式声明非空 platforms(当前 ${normalizedSdkVersion})`);
|
|
2888
|
+
}
|
|
2889
|
+
function validateSdkVersion(version, sourceLabel = 'sdkVersion') {
|
|
2890
|
+
if (typeof version !== 'string' || version.trim() === '') {
|
|
2891
|
+
throw new Error(`${sourceLabel} 必须是合法 SemVer:${String(version)}`);
|
|
2892
|
+
}
|
|
2893
|
+
const normalized = version.trim();
|
|
2894
|
+
const parsed = semverExports.parse(normalized);
|
|
2895
|
+
if (!parsed || parsed.version !== normalized || parsed.build.length > 0) {
|
|
2896
|
+
throw new Error(`${sourceLabel} 必须是合法 SemVer:${normalized}`);
|
|
2897
|
+
}
|
|
2898
|
+
return normalized;
|
|
2899
|
+
}
|
|
2900
|
+
function isRecord$1(value) {
|
|
2901
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
2902
|
+
}
|
|
2818
2903
|
function getMiniappManifestVersionError(version) {
|
|
2819
2904
|
if (typeof version !== 'string' || version.trim() === '') {
|
|
2820
2905
|
return `必须是合法 SemVer:${String(version)}`;
|
|
@@ -3216,4 +3301,4 @@ function compareBytes(left, right) {
|
|
|
3216
3301
|
return left.length - right.length;
|
|
3217
3302
|
}
|
|
3218
3303
|
|
|
3219
|
-
export { ACTIVITY_UPLOAD_KEY_MAX_LENGTH, CREATE_USER_MINIPROGRAM_API_PATH, CREATE_USER_MINIPROGRAM_LEADERBOARD_API_PATH, CREATE_USER_MINIPROGRAM_LOCAL_DEV_LAUNCH_TOKEN_API_PATH, DELETE_USER_MINIPROGRAM_LEADERBOARD_API_PATH, DETAIL_USER_MINIPROGRAM_API_PATH, DETAIL_USER_MINIPROGRAM_LEADERBOARD_API_PATH, DEVELOPER_ENTITY_LIST_API_PATH, DEVELOPER_ENTITY_SWITCH_API_PATH, LIST_USER_MINIPROGRAM_API_PATH, LIST_USER_MINIPROGRAM_LEADERBOARD_API_PATH, LIST_USER_MINIPROGRAM_VERSION_API_PATH, MINIAPP_COMPANION_UPLOAD_TEMPORARY_SIZE_LIMIT_BYTES, MINIAPP_UPLOAD_BATCH_SIZE, MINIAPP_UPLOAD_SCOPE, MINIAPP_UPLOAD_TOTAL_SIZE_LIMIT_BYTES, PRECHECK_USER_MINIPROGRAM_VERSION_API_PATH, RELEASE_USER_MINIPROGRAM_VERSION_API_PATH, REOPEN_USER_MINIPROGRAM_API_PATH, SUBMIT_USER_MINIPROGRAM_AUDIT_API_PATH, TAKE_DOWN_USER_MINIPROGRAM_API_PATH, UPDATE_SQUARE_DISPLAY_API_PATH, UPDATE_USER_MINIPROGRAM_PREVIEW_ALLOWLIST_API_PATH, USER_MINIPROGRAM_ACCESS_STATUS_API_PATH, USER_MINIPROGRAM_PREVIEW_ALLOWLIST_API_PATH, USER_MINIPROGRAM_VERSION_PREVIEW_INFO_API_PATH, WITHDRAW_USER_MINIPROGRAM_VERSION_API_PATH, createMiniappArtifactFileHeader, createMiniappArtifactSignatureHeader, getMiniProgramUploadAlias, getMiniappUploadKey, isValidMiniappManifestVersion as isValidVersion, normalizeRelativePath, parseMiniappBindAppIds, prepareMiniappArtifactFiles, relativePathContainsNodeModulesSegment, resolveMiniappUploadSessionFiles, shouldUploadDistFile, validateMiniappCompanionFileReceipts, validateMiniappUploadPathLengths, validateMiniappUploadSizeBudgets, validateUploadPaths, validateUploadTotalSize };
|
|
3304
|
+
export { ACTIVITY_UPLOAD_KEY_MAX_LENGTH, CREATE_USER_MINIPROGRAM_API_PATH, CREATE_USER_MINIPROGRAM_LEADERBOARD_API_PATH, CREATE_USER_MINIPROGRAM_LOCAL_DEV_LAUNCH_TOKEN_API_PATH, DELETE_USER_MINIPROGRAM_LEADERBOARD_API_PATH, DETAIL_USER_MINIPROGRAM_API_PATH, DETAIL_USER_MINIPROGRAM_LEADERBOARD_API_PATH, DEVELOPER_ENTITY_LIST_API_PATH, DEVELOPER_ENTITY_SWITCH_API_PATH, LIST_USER_MINIPROGRAM_API_PATH, LIST_USER_MINIPROGRAM_LEADERBOARD_API_PATH, LIST_USER_MINIPROGRAM_VERSION_API_PATH, MINIAPP_COMPANION_UPLOAD_TEMPORARY_SIZE_LIMIT_BYTES, MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES, MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION, MINIAPP_UPLOAD_BATCH_SIZE, MINIAPP_UPLOAD_SCOPE, MINIAPP_UPLOAD_TOTAL_SIZE_LIMIT_BYTES, PRECHECK_USER_MINIPROGRAM_VERSION_API_PATH, RELEASE_USER_MINIPROGRAM_VERSION_API_PATH, REOPEN_USER_MINIPROGRAM_API_PATH, SUBMIT_USER_MINIPROGRAM_AUDIT_API_PATH, TAKE_DOWN_USER_MINIPROGRAM_API_PATH, UPDATE_SQUARE_DISPLAY_API_PATH, UPDATE_USER_MINIPROGRAM_PREVIEW_ALLOWLIST_API_PATH, USER_MINIPROGRAM_ACCESS_STATUS_API_PATH, USER_MINIPROGRAM_PREVIEW_ALLOWLIST_API_PATH, USER_MINIPROGRAM_VERSION_PREVIEW_INFO_API_PATH, WITHDRAW_USER_MINIPROGRAM_VERSION_API_PATH, createMiniappArtifactFileHeader, createMiniappArtifactSignatureHeader, getMiniProgramUploadAlias, getMiniappUploadKey, isValidMiniappManifestVersion as isValidVersion, normalizeRelativePath, parseMiniappBindAppIds, prepareMiniappArtifactFiles, relativePathContainsNodeModulesSegment, resolveMiniappManifestPlatforms, resolveMiniappUploadSessionFiles, shouldUploadDistFile, validateMiniappCompanionFileReceipts, validateMiniappUploadPathLengths, validateMiniappUploadSizeBudgets, validateUploadPaths, validateUploadTotalSize };
|
package/dist/vite.cjs.js
CHANGED
|
@@ -11,7 +11,7 @@ var _documentCurrentScript = typeof document !== 'undefined' ? document.currentS
|
|
|
11
11
|
/** 构建时替换为当前发布包的实际版本。 */
|
|
12
12
|
const HB_SDK_VERSION = typeof undefined === 'string'
|
|
13
13
|
? undefined
|
|
14
|
-
: '0.8.1-alpha.
|
|
14
|
+
: '0.8.1-alpha.16';
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* iframe 与调试台页面的开发期 console 捕获转发。
|
package/dist/vite.esm.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@heybox/hb-sdk",
|
|
3
|
-
"version": "0.8.1-alpha.
|
|
3
|
+
"version": "0.8.1-alpha.16",
|
|
4
4
|
"sideEffects": [
|
|
5
5
|
"./src/index.ts",
|
|
6
6
|
"./src/core/singleton.ts",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"skills": "1.5.23",
|
|
63
63
|
"undici": "^7.28.0",
|
|
64
64
|
"ws": "^8.18.0",
|
|
65
|
-
"@heybox/hb-sdk-protocol": "0.8.1-alpha.
|
|
65
|
+
"@heybox/hb-sdk-protocol": "0.8.1-alpha.16"
|
|
66
66
|
},
|
|
67
67
|
"peerDependencies": {
|
|
68
68
|
"vite": ">=5"
|
|
@@ -113,10 +113,10 @@
|
|
|
113
113
|
"vue-tsc": "^3.3.7",
|
|
114
114
|
"vite": "^8.0.12",
|
|
115
115
|
"vitest": "^3.2.4",
|
|
116
|
+
"@heybox-domain/heybox-vue3-ui": "~0.1.0",
|
|
116
117
|
"@heybox-domain/heybox-theme": "~0.1.0",
|
|
118
|
+
"@heybox/hb-sdk-runtime": "~0.8.1-alpha.16",
|
|
117
119
|
"@heybox/hb-api": "~1.28.3",
|
|
118
|
-
"@heybox/hb-sdk-runtime": "~0.8.1-alpha.15",
|
|
119
|
-
"@heybox-domain/heybox-vue3-ui": "~0.1.0",
|
|
120
120
|
"@heybox/runtime": "~0.2.0",
|
|
121
121
|
"@heybox/runtime-policy": "~0.2.0",
|
|
122
122
|
"@heybox/runtime-transport-fetch": "~0.2.0"
|
|
@@ -301,10 +301,10 @@ Reference 由 `@heybox/hb-sdk` 的公开导出与源码注释自动生成,不
|
|
|
301
301
|
| --- | ---: | ---: | ---: | ---: | ---: |
|
|
302
302
|
| Root API | 2 | 4 | 75 | 73 | 3 |
|
|
303
303
|
| Protocol API | 0 | 13 | 58 | 90 | 47 |
|
|
304
|
-
| Miniapp Publish API | 0 |
|
|
304
|
+
| Miniapp Publish API | 0 | 7 | 4 | 1 | 2 |
|
|
305
305
|
| Vite API | 0 | 1 | 5 | 1 | 3 |
|
|
306
306
|
|
|
307
|
-
<!-- Generated by apps/docs/hb-sdk/scripts/generate-api-docs.ts; schemaVersion=4; fingerprint=
|
|
307
|
+
<!-- Generated by apps/docs/hb-sdk/scripts/generate-api-docs.ts; schemaVersion=4; fingerprint=67370783f01088c3ba37e6506e18d075924b7966e0b53aa3ce82b38bac1a33f3 -->
|
|
308
308
|
|
|
309
309
|
## SDK API
|
|
310
310
|
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
## Package metadata
|
|
28
28
|
|
|
29
29
|
- Package: `@heybox/hb-sdk`
|
|
30
|
-
- Version at generation time: `0.8.1-alpha.
|
|
30
|
+
- Version at generation time: `0.8.1-alpha.16`
|
|
31
31
|
- Public root export: `@heybox/hb-sdk`
|
|
32
32
|
- Protocol export: `@heybox/hb-sdk/protocol`
|
|
33
33
|
- Vite plugin export: `@heybox/hb-sdk/vite`
|
package/skill/skill.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hb-sdk",
|
|
3
|
-
"skillVersion": "0.8.1-alpha.
|
|
3
|
+
"skillVersion": "0.8.1-alpha.16+skill.40a9aaafe9bf",
|
|
4
4
|
"sdk": {
|
|
5
5
|
"package": "@heybox/hb-sdk",
|
|
6
|
-
"version": "0.8.1-alpha.
|
|
7
|
-
"compatibility": "0.8.1-alpha.
|
|
6
|
+
"version": "0.8.1-alpha.16",
|
|
7
|
+
"compatibility": "0.8.1-alpha.16"
|
|
8
8
|
},
|
|
9
9
|
"distribution": {
|
|
10
10
|
"type": "npm",
|
|
11
11
|
"package": "@heybox/hb-sdk",
|
|
12
|
-
"version": "0.8.1-alpha.
|
|
12
|
+
"version": "0.8.1-alpha.16",
|
|
13
13
|
"path": "skill"
|
|
14
14
|
},
|
|
15
|
-
"integrity": "sha256-
|
|
15
|
+
"integrity": "sha256-40a9aaafe9bf39ee033c27c149c7bcfff2f5e7c9674796d1b1ac24f7df9ea81c"
|
|
16
16
|
}
|
|
@@ -3,6 +3,16 @@ import type { MiniappCompanionManifestDeclarations } from './companion-types';
|
|
|
3
3
|
export declare const MINIAPP_TEMPLATE_VERSION = "0.0.0";
|
|
4
4
|
export declare const MINIAPP_PLATFORM_VALUES: readonly ["android", "ios", "ohos", "windows", "macos", "linux"];
|
|
5
5
|
export type MiniappPlatform = (typeof MINIAPP_PLATFORM_VALUES)[number];
|
|
6
|
+
/** 平台声明硬切点:产物 hb-sdk 版本达到该值时,必须显式声明非空 `platforms`。 */
|
|
7
|
+
export declare const MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION = "0.9.0";
|
|
8
|
+
/**
|
|
9
|
+
* 历史移动端兼容平台集合。
|
|
10
|
+
*
|
|
11
|
+
* @remarks
|
|
12
|
+
* 仅在 `sdkVersion` 缺失或 SemVer precedence 低于 `MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION`,
|
|
13
|
+
* 且 Manifest 完全没有 `platforms` 字段时生效,不是任何非法声明的兜底。
|
|
14
|
+
*/
|
|
15
|
+
export declare const MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES: readonly ["android", "ios", "ohos"];
|
|
6
16
|
/** 窗口尺寸字段的脏值兜底上限;真正的上限是宿主侧显示器 workArea。 */
|
|
7
17
|
export declare const MINIAPP_WINDOW_SIZE_MAX = 16384;
|
|
8
18
|
/**
|
|
@@ -65,6 +75,42 @@ export declare function validateMiniappManifestForDeploy(manifest: MiniappManife
|
|
|
65
75
|
};
|
|
66
76
|
export declare function validateMiniappPlatforms(platforms: unknown, sourceLabel?: string): readonly MiniappPlatform[];
|
|
67
77
|
export declare function areMiniappPlatformsEqual(left: readonly MiniappPlatform[], right: readonly MiniappPlatform[]): boolean;
|
|
78
|
+
/** 平台解析策略:显式声明,或历史产物缺少声明时的移动端兼容。 */
|
|
79
|
+
export type MiniappPlatformPolicy = 'explicit' | 'legacy_mobile_default';
|
|
80
|
+
/**
|
|
81
|
+
* Manifest 平台解析结果,供 CLI、开放平台网页、后端与 Runtime 共用。
|
|
82
|
+
*
|
|
83
|
+
* @remarks
|
|
84
|
+
* `declared` 是规范化后的显式声明,历史兼容场景为空数组;`effective` 是用于展示与运行
|
|
85
|
+
* 判断的最终平台集合。调用方不得自行比较 `0.9.0` 或补默认值,只能消费该结果。
|
|
86
|
+
*/
|
|
87
|
+
export interface MiniappPlatformResolution {
|
|
88
|
+
/** 规范化后的显式平台声明;历史兼容场景为空数组。 */
|
|
89
|
+
readonly declared: readonly MiniappPlatform[];
|
|
90
|
+
/** 最终生效的平台集合:显式声明原样使用,历史产物为移动端兼容集合。 */
|
|
91
|
+
readonly effective: readonly MiniappPlatform[];
|
|
92
|
+
/** 是否显式声明了 `platforms`,用于区分显式移动端声明与历史移动端默认。 */
|
|
93
|
+
readonly platformsDeclared: boolean;
|
|
94
|
+
/** 本次解析采用的策略。 */
|
|
95
|
+
readonly policy: MiniappPlatformPolicy;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* 解析 Manifest 平台声明,是 `0.9.0` 硬切规则的唯一实现。
|
|
99
|
+
*
|
|
100
|
+
* @remarks
|
|
101
|
+
* 规则与后端领域层保持一致:
|
|
102
|
+
* - 无 `platforms` 字段:`sdkVersion` 缺失或 SemVer precedence 低于
|
|
103
|
+
* `MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION` 时按历史移动端兼容;达到或高于硬切点即非法。
|
|
104
|
+
* - 有 `platforms` 字段:复用 `validateMiniappPlatforms` 校验并规范化顺序;任何非法值
|
|
105
|
+
* (空数组、非数组、未知值、重复值)都不回退到历史兼容,即使 `sdkVersion < 0.9.0`。
|
|
106
|
+
* - 任何非法的 `sdkVersion` 都会抛出,不做字符串比较。
|
|
107
|
+
* @param sdkVersion - 产物 hb-sdk 版本;历史产物可能缺失。
|
|
108
|
+
* @param manifest - 待解析的 Manifest(不可信输入)。
|
|
109
|
+
* @returns 冻结的平台解析结果。
|
|
110
|
+
* @throws Manifest 不是对象、`sdkVersion` 不是合法 SemVer、达到硬切点仍缺失 `platforms`,
|
|
111
|
+
* 或 `platforms` 声明非法时抛出。
|
|
112
|
+
*/
|
|
113
|
+
export declare function resolveMiniappManifestPlatforms(sdkVersion: string | undefined, manifest: unknown): MiniappPlatformResolution;
|
|
68
114
|
/**
|
|
69
115
|
* 校验并归一化 `package.json#heybox.window` / `manifest.window` 声明。
|
|
70
116
|
*
|
|
@@ -27,6 +27,7 @@ export declare const REOPEN_USER_MINIPROGRAM_API_PATH = "/mall/developer/user_mi
|
|
|
27
27
|
export declare const UPDATE_SQUARE_DISPLAY_API_PATH = "/mall/developer/user_miniprogram/square_display/update";
|
|
28
28
|
export declare const LIST_USER_MINIPROGRAM_VERSION_API_PATH = "/mall/developer/user_miniprogram/version/list";
|
|
29
29
|
export { isValidMiniappManifestVersion as isValidVersion } from '../miniapp-manifest/schema';
|
|
30
|
+
export { MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES, MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION, resolveMiniappManifestPlatforms, type MiniappPlatformPolicy, type MiniappPlatformResolution, } from '../miniapp-manifest/schema';
|
|
30
31
|
export { parseMiniappBindAppIds, type ParseMiniappBindAppIdsOptions } from '../miniapp-manifest/bindings';
|
|
31
32
|
export declare function normalizeRelativePath(relativePath: string): string;
|
|
32
33
|
export declare function relativePathContainsNodeModulesSegment(relativePath: string): boolean;
|