@heybox/hb-sdk 0.8.1-alpha.14 → 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.
Files changed (40) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +13 -0
  3. package/dist/cli-chunks/{build-D-VaxzAE.cjs → build-D3JxmtmD.cjs} +17 -7
  4. package/dist/cli-chunks/{context-BH7BZPoY.cjs → context-CcJDF3v_.cjs} +2 -2
  5. package/dist/cli-chunks/{create-Bmp9E1n8.cjs → create-Cww0mYrn.cjs} +1 -1
  6. package/dist/cli-chunks/{dev-BntAFyWR.cjs → dev-Dd2_LjFP.cjs} +9 -9
  7. package/dist/cli-chunks/{doctor-t3YMD3qv.cjs → doctor-DTDwA9UZ.cjs} +1 -1
  8. package/dist/cli-chunks/{index-VP8boR-7.cjs → index-B5jxW7GS.cjs} +15 -15
  9. package/dist/cli-chunks/{index-CjP8Qye_.cjs → index-BKbdNtX4.cjs} +2 -2
  10. package/dist/cli-chunks/{index.esm-B_5UnniK.cjs → index.esm-DxT8YC2x.cjs} +7 -7
  11. package/dist/cli-chunks/{login-p38-WSHx.cjs → login-BZEWhweM.cjs} +2 -2
  12. package/dist/cli-chunks/{project-vite-BfJ5TGoA.cjs → project-vite-DpQOovxh.cjs} +1 -1
  13. package/dist/cli-chunks/{remote-CBH04z6v.cjs → remote-zyWYZ-W8.cjs} +69 -10
  14. package/dist/cli-chunks/{runtime-permission-env-CVYOOxPB.cjs → runtime-permission-env-C7QvBZp0.cjs} +38 -1
  15. package/dist/cli-chunks/{session-BEpV8CZQ.cjs → session-DN0ZLQC2.cjs} +1 -1
  16. package/dist/cli-chunks/{skill-DuVDTrA2.cjs → skill-lsh9bXs0.cjs} +2 -2
  17. package/dist/cli-chunks/{version-Df-F-uhW.cjs → version-CoWxDzB4.cjs} +1 -1
  18. package/dist/cli.cjs +1 -1
  19. package/dist/devtools/browser-dev-host/assets/browser-dev-host-BgW__pJ2.js +101 -0
  20. package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-C1GHFN_L.js → desktop-app-launch-CvKi6AqK.js} +1 -1
  21. package/dist/devtools/browser-dev-host/assets/{index-mfGqyKpq.js → index-BqskekK_.js} +3 -3
  22. package/dist/devtools/browser-dev-host/index.html +2 -2
  23. package/dist/index.cjs.js +1 -1
  24. package/dist/index.esm.js +1 -1
  25. package/dist/miniapp-publish.cjs.js +118 -0
  26. package/dist/miniapp-publish.esm.js +115 -1
  27. package/dist/vite.cjs.js +39 -1
  28. package/dist/vite.esm.js +39 -1
  29. package/package.json +4 -4
  30. package/skill/SKILL.md +15 -14
  31. package/skill/references/api-protocol.md +2 -2
  32. package/skill/references/api-root.md +3 -1
  33. package/skill/references/cli.md +2 -0
  34. package/skill/skill.json +5 -5
  35. package/types/miniapp-manifest/bindings.d.ts +5 -0
  36. package/types/miniapp-manifest/index.d.ts +1 -0
  37. package/types/miniapp-manifest/node.d.ts +1 -0
  38. package/types/miniapp-manifest/schema.d.ts +48 -0
  39. package/types/miniapp-publish/index.d.ts +2 -0
  40. package/dist/devtools/browser-dev-host/assets/browser-dev-host-D_nC-Zex.js +0 -101
@@ -3,3 +3,4 @@ export * from './node';
3
3
  export * from './permissions';
4
4
  export * from './companions';
5
5
  export * from './companion-types';
6
+ export * from './bindings';
@@ -17,4 +17,5 @@ export declare function readMiniappPlatformsFromPackageJson(root: string): reado
17
17
  */
18
18
  export declare function readMiniappWindowFromPackageJson(root: string): MiniappWindowDeclaration | undefined;
19
19
  export declare function readMiniappPermissionsFromPackageJson(root: string, sdkVersion: string): ParsedMiniappPermissions;
20
+ export declare function readMiniappBindAppIdsFromPackageJson(root: string): readonly string[];
20
21
  export declare function resolveMiniappSdkVersion(): string;
@@ -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
  /**
@@ -41,6 +51,7 @@ export interface MiniappManifest {
41
51
  permissions?: MiniappPermissionDeclarations;
42
52
  companions?: MiniappCompanionManifestDeclarations;
43
53
  window?: MiniappWindowDeclaration;
54
+ bindAppIds?: readonly string[];
44
55
  }
45
56
  export interface ParseMiniappManifestResult {
46
57
  manifest: MiniappManifest;
@@ -52,6 +63,7 @@ export declare function validateMiniappManifestVersion(version: unknown, sourceL
52
63
  export declare function renderMiniappManifest(manifest: MiniappManifest): string;
53
64
  export declare function parseMiniappManifestJson(raw: string, sourceLabel?: string): ParseMiniappManifestResult;
54
65
  export declare function validateMiniappManifestForDeploy(manifest: MiniappManifest): {
66
+ bindAppIds?: readonly string[] | undefined;
55
67
  window?: MiniappWindowDeclaration | undefined;
56
68
  companions?: MiniappCompanionManifestDeclarations | undefined;
57
69
  permissions?: Partial<Record<"userInfo" | "steamLibrary" | "share" | "storage" | "filesystem" | "clipboard" | "leaderboard" | "companion", import("./permissions").SimpleMiniappPermissionDeclaration> & {
@@ -63,6 +75,42 @@ export declare function validateMiniappManifestForDeploy(manifest: MiniappManife
63
75
  };
64
76
  export declare function validateMiniappPlatforms(platforms: unknown, sourceLabel?: string): readonly MiniappPlatform[];
65
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;
66
114
  /**
67
115
  * 校验并归一化 `package.json#heybox.window` / `manifest.window` 声明。
68
116
  *
@@ -27,6 +27,8 @@ 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';
31
+ export { parseMiniappBindAppIds, type ParseMiniappBindAppIdsOptions } from '../miniapp-manifest/bindings';
30
32
  export declare function normalizeRelativePath(relativePath: string): string;
31
33
  export declare function relativePathContainsNodeModulesSegment(relativePath: string): boolean;
32
34
  export declare function getMiniProgramUploadAlias(miniProgramId: string): string;