@heybox/hb-sdk 0.8.0 → 0.8.1-alpha.10

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 (69) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/README.md +80 -7
  3. package/dist/cli-chunks/{build-PYCNacya.cjs → build-CtqIXxDL.cjs} +16 -10
  4. package/dist/cli-chunks/{context-m2W2XbL0.cjs → context-t57bMfbr.cjs} +17 -3
  5. package/dist/cli-chunks/{create-BdAg3WGA.cjs → create-BDOPSacf.cjs} +1 -1
  6. package/dist/cli-chunks/{dev-CyZuw7Yn.cjs → dev-VxjconYc.cjs} +628 -147
  7. package/dist/cli-chunks/{doctor-DU8rCfUF.cjs → doctor-BkfYdlnZ.cjs} +1 -1
  8. package/dist/cli-chunks/{index-MMW2ibQm.cjs → index-DDrytLTX.cjs} +87 -15
  9. package/dist/cli-chunks/{index-DATObqzK.cjs → index-lLaHzwfT.cjs} +2 -2
  10. package/dist/cli-chunks/{index.esm-BiAaAUFC.cjs → index.esm-Dy4qRhuo.cjs} +9 -8
  11. package/dist/cli-chunks/{login-B3TThMss.cjs → login-D2EX4R5_.cjs} +2 -2
  12. package/dist/cli-chunks/{project-vite-BQj8YLI4.cjs → project-vite-CFhz2THK.cjs} +1 -1
  13. package/dist/cli-chunks/{remote-DNvI7tHH.cjs → remote-CfESZxO2.cjs} +41 -28
  14. package/dist/cli-chunks/{runtime-gate-BEFp1w_s.cjs → runtime-gate-BWb8QIcX.cjs} +0 -107
  15. package/dist/cli-chunks/{runtime-permission-env-CtL8rsjB.cjs → runtime-permission-env-BtTDFqEL.cjs} +304 -23
  16. package/dist/cli-chunks/{session-DjBkjaF8.cjs → session-Dkhwjqhm.cjs} +1 -1
  17. package/dist/cli-chunks/{skill-cR_wnaw2.cjs → skill-DOveC5jt.cjs} +83 -27
  18. package/dist/cli-chunks/{version-yEn1E2Bg.cjs → version-C4nE66sX.cjs} +1 -1
  19. package/dist/cli.cjs +1 -1
  20. package/dist/devtools/browser-dev-host/assets/browser-dev-host-BM9Qo_Ta.js +101 -0
  21. package/dist/devtools/browser-dev-host/assets/desktop-app-launch-C2I333Yn.js +6 -0
  22. package/dist/devtools/browser-dev-host/assets/index-Bnb6MMTv.js +567 -0
  23. package/dist/devtools/browser-dev-host/assets/index-D-aNERAr.css +1 -0
  24. package/dist/devtools/browser-dev-host/index.html +3 -3
  25. package/dist/index.cjs.js +1970 -1567
  26. package/dist/index.esm.js +1969 -1568
  27. package/dist/miniapp-publish.cjs.js +61 -0
  28. package/dist/miniapp-publish.esm.js +59 -1
  29. package/dist/protocol.cjs.js +64 -13
  30. package/dist/protocol.esm.js +64 -13
  31. package/dist/templates/vanilla-vite-js/README.md.ejs +1 -1
  32. package/dist/templates/vanilla-vite-js/package.json.ejs +1 -0
  33. package/dist/templates/vanilla-vite-js/vite.config.js +1 -1
  34. package/dist/vite.cjs.js +1333 -18
  35. package/dist/vite.esm.js +1334 -20
  36. package/package.json +9 -11
  37. package/skill/SKILL.md +11 -3
  38. package/skill/references/api-protocol.md +8 -4
  39. package/skill/references/api-root.md +328 -210
  40. package/skill/references/cli.md +11 -3
  41. package/skill/references/examples.md +13 -1
  42. package/skill/references/recipes.md +162 -0
  43. package/skill/references/safety-boundaries.md +9 -3
  44. package/skill/skill.json +5 -5
  45. package/types/core/client.d.ts +9 -1
  46. package/types/core/sdk.d.ts +6 -0
  47. package/types/core/singleton.d.ts +6 -0
  48. package/types/devtools/device-logs.d.ts +48 -0
  49. package/types/index.d.ts +5 -1
  50. package/types/miniapp-manifest/companion-directory.d.ts +2 -0
  51. package/types/miniapp-manifest/companion-executable.d.ts +4 -0
  52. package/types/miniapp-manifest/companion-types.d.ts +38 -0
  53. package/types/miniapp-manifest/companions.d.ts +17 -0
  54. package/types/miniapp-manifest/index.d.ts +2 -0
  55. package/types/miniapp-manifest/node.d.ts +9 -0
  56. package/types/miniapp-manifest/permissions.d.ts +1 -1
  57. package/types/miniapp-manifest/schema.d.ts +5 -1
  58. package/types/miniapp-publish/index.d.ts +17 -2
  59. package/types/modules/companion/index.d.ts +57 -0
  60. package/types/modules/environment/index.d.ts +70 -0
  61. package/types/modules/network/index.d.ts +1 -4
  62. package/types/modules/network/observability.d.ts +0 -1
  63. package/types/protocol/dev-session.d.ts +8 -1
  64. package/types/protocol.d.ts +1 -1
  65. package/types/vite/index.d.ts +11 -4
  66. package/dist/devtools/browser-dev-host/assets/browser-dev-host-TzYf9L6C.js +0 -99
  67. package/dist/devtools/browser-dev-host/assets/index-C5MZZDa5.js +0 -567
  68. package/dist/devtools/browser-dev-host/assets/index-P-ra4m1y.css +0 -1
  69. package/dist/devtools/browser-dev-host/assets/workbench-state-BwV7bm4n.js +0 -5
@@ -1,4 +1,5 @@
1
1
  import { type MiniappPermissionDeclarations } from './permissions';
2
+ import type { MiniappCompanionManifestDeclarations } from './companion-types';
2
3
  export declare const MINIAPP_TEMPLATE_VERSION = "0.0.0";
3
4
  export declare const MINIAPP_PLATFORM_VALUES: readonly ["android", "ios", "ohos", "windows", "macos", "linux"];
4
5
  export type MiniappPlatform = (typeof MINIAPP_PLATFORM_VALUES)[number];
@@ -8,6 +9,7 @@ export interface MiniappManifest {
8
9
  version: string;
9
10
  platforms: readonly MiniappPlatform[];
10
11
  permissions?: MiniappPermissionDeclarations;
12
+ companions?: MiniappCompanionManifestDeclarations;
11
13
  }
12
14
  export interface ParseMiniappManifestResult {
13
15
  manifest: MiniappManifest;
@@ -19,7 +21,8 @@ export declare function validateMiniappManifestVersion(version: unknown, sourceL
19
21
  export declare function renderMiniappManifest(manifest: MiniappManifest): string;
20
22
  export declare function parseMiniappManifestJson(raw: string, sourceLabel?: string): ParseMiniappManifestResult;
21
23
  export declare function validateMiniappManifestForDeploy(manifest: MiniappManifest): {
22
- permissions?: Partial<Record<"userInfo" | "steamLibrary" | "share" | "storage" | "filesystem" | "clipboard" | "leaderboard", import("./permissions").SimpleMiniappPermissionDeclaration> & {
24
+ companions?: MiniappCompanionManifestDeclarations | undefined;
25
+ permissions?: Partial<Record<"userInfo" | "steamLibrary" | "share" | "storage" | "filesystem" | "clipboard" | "leaderboard" | "companion", import("./permissions").SimpleMiniappPermissionDeclaration> & {
23
26
  network: import("./permissions").NetworkMiniappPermissionDeclaration;
24
27
  }> | undefined;
25
28
  version: string;
@@ -27,4 +30,5 @@ export declare function validateMiniappManifestForDeploy(manifest: MiniappManife
27
30
  platforms: readonly ("android" | "ios" | "ohos" | "windows" | "macos" | "linux")[];
28
31
  };
29
32
  export declare function validateMiniappPlatforms(platforms: unknown, sourceLabel?: string): readonly MiniappPlatform[];
33
+ export declare function areMiniappPlatformsEqual(left: readonly MiniappPlatform[], right: readonly MiniappPlatform[]): boolean;
30
34
  export declare function validateSdkVersion(version: unknown, sourceLabel?: string): string;
@@ -2,6 +2,8 @@ export declare const MINIAPP_UPLOAD_SCOPE = "activity";
2
2
  export declare const ACTIVITY_UPLOAD_KEY_MAX_LENGTH = 64;
3
3
  export declare const MINIAPP_UPLOAD_BATCH_SIZE = 50;
4
4
  export declare const MINIAPP_UPLOAD_TOTAL_SIZE_LIMIT_BYTES: number;
5
+ /** 与 Activity 上传后端合同一致的 Companion 归档总大小上限。 */
6
+ export declare const MINIAPP_COMPANION_UPLOAD_TEMPORARY_SIZE_LIMIT_BYTES: number;
5
7
  export declare const USER_MINIPROGRAM_ACCESS_STATUS_API_PATH = "/mall/developer/user_miniprogram/access_status";
6
8
  export declare const DEVELOPER_ENTITY_LIST_API_PATH = "/mall/developer/entity/list";
7
9
  export declare const DEVELOPER_ENTITY_SWITCH_API_PATH = "/mall/developer/entity/switch";
@@ -51,6 +53,10 @@ export interface ValidateUploadTotalSizeOptions {
51
53
  limitBytes?: number;
52
54
  }
53
55
  export declare function validateUploadTotalSize(items: UploadSizeItem[], options?: ValidateUploadTotalSizeOptions): "构建产物总大小超过 100MB,请删除未引用资源或压缩图片后重新 deploy" | undefined;
56
+ export declare function validateMiniappUploadSizeBudgets(items: UploadSizeItem[], options?: {
57
+ webLimitBytes?: number;
58
+ companionLimitBytes?: number;
59
+ }): "构建产物总大小超过 100MB,请删除未引用资源或压缩图片后重新 deploy" | "Companion 归档总大小超过 500MiB 上限,请缩减归档后重新 deploy" | undefined;
54
60
  export declare function shouldUploadDistFile(relativePath: string): boolean;
55
61
  /** 参与整包签名和上传会话映射的构建产物文件。 */
56
62
  export interface MiniappArtifactFile {
@@ -59,6 +65,11 @@ export interface MiniappArtifactFile {
59
65
  /** 文件字节数。 */
60
66
  size: number;
61
67
  }
68
+ /** 上传会话 v1 使用的逐文件完整性凭据。 */
69
+ export interface MiniappArtifactFileReceipt extends MiniappArtifactFile {
70
+ /** 文件内容 SHA-256,小写十六进制。 */
71
+ sha256: string;
72
+ }
62
73
  /** 服务端上传会话返回的文件映射。 */
63
74
  export interface MiniappUploadSessionFile {
64
75
  /** 与创建会话时提交值一致的相对路径。 */
@@ -67,6 +78,8 @@ export interface MiniappUploadSessionFile {
67
78
  key: string;
68
79
  /** 服务端记录的文件字节数。 */
69
80
  size: number;
81
+ /** 服务端固化的文件内容 SHA-256。 */
82
+ sha256: string;
70
83
  }
71
84
  /**
72
85
  * 校验构建产物路径和大小,并按路径 UTF-8 字节序排序。
@@ -118,14 +131,16 @@ export declare function resolveMiniappUploadSessionFiles<T extends MiniappArtifa
118
131
  files: {
119
132
  file: T & {
120
133
  relativePath: string;
121
- };
134
+ } & Record<"sha256", unknown>;
122
135
  key: string;
123
136
  }[];
124
137
  missingFiles: {
125
138
  file: T & {
126
139
  relativePath: string;
127
- };
140
+ } & Record<"sha256", unknown>;
128
141
  key: string;
129
142
  }[];
130
143
  uploadedKeys: string[];
131
144
  };
145
+ /** 校验 Manifest 中所有 Companion 归档都精确属于当前上传 receipt。 */
146
+ export declare function validateMiniappCompanionFileReceipts(companions: unknown, files: readonly MiniappArtifactFileReceipt[]): void;
@@ -0,0 +1,57 @@
1
+ import { type CompanionCapability, type CompanionExit, type CompanionInfo, type CompanionNotificationCategory, type CompanionPreparationStatus, type CompanionPrepareProgress, type CompanionTarget } from '@heybox/hb-sdk-protocol';
2
+ import type { MiniProgramOperationRequester } from '../../core/client';
3
+ import type { MiniProgramEventHandler, MiniProgramEventName } from '../../protocol/types';
4
+ import type { FileHandle } from '../files';
5
+ interface CompanionRequester extends MiniProgramOperationRequester {
6
+ on<T extends MiniProgramEventName>(eventName: T, handler: MiniProgramEventHandler<T>): () => void;
7
+ }
8
+ export interface CompanionPrepareOptions {
9
+ signal?: AbortSignal;
10
+ onProgress?: (progress: CompanionPrepareProgress) => void;
11
+ }
12
+ export type CompanionOutputHandler = (data: Uint8Array) => void;
13
+ export type CompanionExitHandler = (exit: CompanionExit) => void;
14
+ export type CompanionOwnershipLostHandler = () => void;
15
+ export type CompanionState = 'running' | 'exited';
16
+ export type CompanionStateChangeHandler = (state: CompanionState) => void;
17
+ export interface CompanionNotification {
18
+ category: CompanionNotificationCategory;
19
+ }
20
+ export interface CompanionStdio {
21
+ write(data: Uint8Array): Promise<void>;
22
+ closeStdin(): Promise<void>;
23
+ onStdout(handler: CompanionOutputHandler): () => void;
24
+ onStderr(handler: CompanionOutputHandler): () => void;
25
+ }
26
+ export interface CompanionAttachments {
27
+ open(id: string): Promise<FileHandle>;
28
+ }
29
+ export interface CompanionNotifications {
30
+ show(input: CompanionNotification): Promise<void>;
31
+ }
32
+ export interface CompanionSession {
33
+ readonly id: string;
34
+ readonly alias: string;
35
+ readonly target: CompanionTarget;
36
+ readonly capabilities: readonly CompanionCapability[];
37
+ readonly state: CompanionState;
38
+ readonly stdio?: CompanionStdio;
39
+ readonly attachments?: CompanionAttachments;
40
+ readonly notifications?: CompanionNotifications;
41
+ terminate(): Promise<void>;
42
+ waitForExit(): Promise<CompanionExit>;
43
+ onStateChange(handler: CompanionStateChangeHandler): () => void;
44
+ onExit(handler: CompanionExitHandler): () => void;
45
+ onOwnershipLost(handler: CompanionOwnershipLostHandler): () => void;
46
+ }
47
+ export interface MiniProgramCompanionModule {
48
+ getInfo(alias: string): Promise<CompanionInfo>;
49
+ getPreparationStatus(alias: string): Promise<CompanionPreparationStatus>;
50
+ prepare(alias: string, options?: CompanionPrepareOptions): Promise<CompanionInfo>;
51
+ cancelPreparation(alias: string): Promise<void>;
52
+ launch(alias: string): Promise<CompanionSession>;
53
+ getActiveSession(alias: string): Promise<CompanionSession | undefined>;
54
+ }
55
+ /** 创建当前 SDK session 的 companion 模块。 */
56
+ export declare function createCompanionModule(requester: CompanionRequester): MiniProgramCompanionModule;
57
+ export type { CompanionCapability, CompanionExit, CompanionInfo, CompanionNotificationCategory, CompanionPreparationStatus, CompanionPrepareProgress, CompanionTarget, };
@@ -0,0 +1,70 @@
1
+ import type { MiniProgramOperatingSystemName, MiniProgramRuntimeMode } from '@heybox/hb-sdk-protocol';
2
+ /** 小程序环境信息中的运行模式。 */
3
+ export type { MiniProgramRuntimeMode } from '@heybox/hb-sdk-protocol';
4
+ /** 小程序环境信息中的操作系统名称。 */
5
+ export type { MiniProgramOperatingSystemName } from '@heybox/hb-sdk-protocol';
6
+ /** 当前小程序实例的只读环境快照。 */
7
+ export interface MiniProgramEnvironmentInfo {
8
+ readonly runtime: {
9
+ readonly mode: MiniProgramRuntimeMode;
10
+ };
11
+ readonly host: {
12
+ readonly appVersion: string | null;
13
+ };
14
+ readonly miniProgram: {
15
+ readonly id: string | null;
16
+ readonly version: string | null;
17
+ };
18
+ readonly operatingSystem: {
19
+ readonly name: MiniProgramOperatingSystemName;
20
+ readonly version: string | null;
21
+ };
22
+ readonly sdk: {
23
+ readonly version: string;
24
+ };
25
+ }
26
+ /** SDK 内部读取环境快照所需的最小能力。 */
27
+ export interface MiniProgramEnvironmentReader {
28
+ getEnvironmentInfo(): Promise<MiniProgramEnvironmentInfo>;
29
+ getEnvironmentInfoSync(): MiniProgramEnvironmentInfo;
30
+ }
31
+ /** 外部小程序可调用的 environment 模块。 */
32
+ export interface MiniProgramEnvironmentModule {
33
+ /**
34
+ * 获取当前小程序实例的环境快照,并在必要时自动等待 SDK 握手。
35
+ *
36
+ * @since 0.8.1-alpha.2
37
+ * @hbPlatform android
38
+ * @hbPlatform ios
39
+ * @hbPlatform ohos
40
+ * @hbPlatform windows
41
+ * @hbPlatform macos
42
+ * @hbClient android none
43
+ * @hbClient ios none
44
+ * @hbClient ohos none
45
+ * @hbClient windows none
46
+ * @hbClient macos none
47
+ */
48
+ getInfo(): Promise<MiniProgramEnvironmentInfo>;
49
+ /**
50
+ * 同步读取握手完成后缓存的环境快照。
51
+ *
52
+ * @throws {@link HbMiniProgramSDKError} SDK 尚未 ready 时抛出 `ENVIRONMENT_NOT_READY`。
53
+ * @since 0.8.1-alpha.2
54
+ * @hbPlatform android
55
+ * @hbPlatform ios
56
+ * @hbPlatform ohos
57
+ * @hbPlatform windows
58
+ * @hbPlatform macos
59
+ * @hbClient android none
60
+ * @hbClient ios none
61
+ * @hbClient ohos none
62
+ * @hbClient windows none
63
+ * @hbClient macos none
64
+ */
65
+ getInfoSync(): MiniProgramEnvironmentInfo;
66
+ }
67
+ /** 创建环境信息模块。 */
68
+ export declare function createEnvironmentModule(reader: MiniProgramEnvironmentReader): MiniProgramEnvironmentModule;
69
+ /** 将不可信 wire 值逐字段降级为固定、深度冻结的公开快照。 */
70
+ export declare function normalizeMiniProgramEnvironmentInfo(value: unknown): MiniProgramEnvironmentInfo;
@@ -38,8 +38,6 @@ export interface MiniProgramNetworkRequestConfig {
38
38
  headers?: MiniProgramNetworkHeaders;
39
39
  /** 超时时间,单位毫秒。 */
40
40
  timeout?: number;
41
- /** 是否携带凭据意图;具体策略由宿主运行时决定。 */
42
- withCredentials?: boolean;
43
41
  /** SDK 侧状态校验;不会跨 bridge 传输函数值。 */
44
42
  validateStatus?: MiniProgramNetworkValidateStatus;
45
43
  }
@@ -54,7 +52,6 @@ export interface DownloadBaseOptions {
54
52
  params?: MiniProgramNetworkParams;
55
53
  headers?: MiniProgramNetworkHeaders;
56
54
  timeout?: number;
57
- withCredentials?: boolean;
58
55
  maxBytes?: number;
59
56
  signal?: AbortSignal;
60
57
  onProgress?: (progress: DownloadProgress) => void;
@@ -82,7 +79,6 @@ export interface NetworkRequestPayload {
82
79
  data?: unknown;
83
80
  headers?: MiniProgramNetworkHeaders;
84
81
  timeout?: number;
85
- withCredentials?: boolean;
86
82
  }
87
83
  /**
88
84
  * bridge / runtime 返回的标准化 HTTP 响应。
@@ -114,6 +110,7 @@ export interface MiniProgramNetworkModule {
114
110
  * @returns 标准化网络响应;HTTP 2xx 默认返回 resolve。
115
111
  * @throws 当请求已完成但 HTTP 状态不满足 `validateStatus` 时抛出 `HbMiniProgramNetworkError`。
116
112
  * @throws 当 bridge、运行时或宿主能力调用失败时抛出 `HbMiniProgramSDKError`。
113
+ * @deprecated Since 0.8.1-alpha.7. 暂无替代接口;现有调用仍可使用,请移除 withCredentials 配置。Native Cookie 由 Host 按目标域名决定。
117
114
  * @since 0.2.0-alpha.0
118
115
  * @hbPlatform android
119
116
  * @hbPlatform ios
@@ -12,7 +12,6 @@ export interface NetworkRequestFailureLog {
12
12
  headers?: MiniProgramNetworkHeaders;
13
13
  dataPreview?: unknown;
14
14
  timeout?: number;
15
- withCredentials?: boolean;
16
15
  }
17
16
  /**
18
17
  * 记录 `network.request` 失败,保证异常路径在开发者控制台可观测。
@@ -12,7 +12,8 @@ export declare const MINI_PROGRAM_DEV_LAUNCH_SCHEMA_VERSION: 1;
12
12
  /** Browser Dev Host 创建 Dev Session 时接收的请求。 */
13
13
  export interface MiniProgramDevSessionCreatePayload {
14
14
  mini_url_origin: string;
15
- runtime_permissions: MiniProgramRuntimePermissionsSnapshot;
15
+ /** 仅用于兼容旧 Node 服务;当前服务端忽略该字段并自行读取远端权限。 */
16
+ runtime_permissions?: MiniProgramRuntimePermissionsSnapshot;
16
17
  }
17
18
  /** Browser Dev Host 创建 Dev Session 后返回的短期引用。 */
18
19
  export interface MiniProgramDevSessionCreateResult {
@@ -33,6 +34,12 @@ export interface MiniProgramDevLaunchSnapshot {
33
34
  sdk_version?: string;
34
35
  mini_program_id?: string;
35
36
  local_dev_launch_token?: string;
37
+ /** CLI 进程身份,重启后变化;不作为授权凭据。 */
38
+ dev_session_id?: string;
39
+ /** 启动票过期时间,Unix 毫秒。 */
40
+ expires_at?: number;
41
+ companion_manifest_sha256?: string;
42
+ companion_artifact_access_token?: string;
36
43
  dev_context_url?: string;
37
44
  runtime_permissions?: MiniProgramRuntimePermissionsSnapshot;
38
45
  }
@@ -1,5 +1,5 @@
1
1
  export { AUTH_LOGIN_METHOD, CLOUD_LEADERBOARD_DELETE_CURRENT_USER_ENTRY_METHOD, CLOUD_LEADERBOARD_GET_CURRENT_USER_ENTRY_METHOD, CLOUD_LEADERBOARD_GET_INFO_METHOD, CLOUD_LEADERBOARD_GET_LIST_METHOD, CLOUD_LEADERBOARD_SUBMIT_METHOD, DIRECTORY_CREATE_METHOD, DIRECTORY_EXISTS_METHOD, DIRECTORY_LIST_METHOD, DIRECTORY_REMOVE_METHOD, DEVICE_SET_CLIPBOARD_METHOD, DEVICE_VIBRATE_METHOD, FILES_PICK_DIRECTORY_METHOD, FILES_PICK_FILES_METHOD, FILES_SAVE_FILE_METHOD, FILE_CREATE_METHOD, FILE_EXISTS_METHOD, FILE_READ_BYTES_METHOD, FILE_READ_TEXT_METHOD, FILE_REMOVE_METHOD, FILE_STAT_METHOD, FILE_WRITE_BYTES_METHOD, FILE_WRITE_TEXT_METHOD, MINI_PROGRAM_BRIDGE_NONCE_PARAM, MINI_PROGRAM_MESSAGE_NAMESPACE, MINI_PROGRAM_MESSAGE_VERSION, MINI_PROGRAM_OPERATION_PROGRESS_METHOD, MINI_PROGRAM_PROTOCOL_CAPABILITIES, NAVIGATION_CLOSE_METHOD, NAVIGATION_OPEN_APP_PAGE_METHOD, NAVIGATION_RELOAD_METHOD, NETWORK_REQUEST_METHOD, NETWORK_DOWNLOAD_METHOD, RUNTIME_LOCATION_PROBE_METHOD, SDK_CSP_VIOLATION_METHOD, SDK_HANDSHAKE_METHOD, SDK_LOCATION_REPORT_METHOD, SHARE_COPY_LINK_METHOD, SHARE_SCREENSHOT_METHOD, SHARE_SHOW_SHARE_MENU_METHOD, STORAGE_GET_STORAGE_METHOD, STORAGE_SET_STORAGE_METHOD, UI_HIDE_LOADING_METHOD, UI_SHOW_LOADING_METHOD, UI_SHOW_TOAST_METHOD, USER_INFO_AUTHORIZATION_SCOPES, USER_GET_INFO_METHOD, USER_GET_STEAM_GAME_LIST_METHOD, USER_REVOKE_AUTHORIZATION_METHOD, VIEWPORT_GET_WINDOW_INFO_METHOD, VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD, isManagedMiniProgramRuntimePermissionKey, isMiniProgramByteArray, isMiniProgramBridgeMessage, isMiniProgramDirectoryDescriptor, isMiniProgramDirectoryRef, isMiniProgramDownloadProgressPayload, isMiniProgramFileDescriptor, isMiniProgramFileRef, isMiniProgramFileStat, isMiniProgramFileSystemEntityDescriptor, isMiniProgramPathRootRef, isMiniProgramRelativePath, parseMiniProgramRuntimePermissions, } from '@heybox/hb-sdk-protocol';
2
- export type { AuthorizedUserInfo, ClosePayload, CloseResult, CopyLinkPayload, CopyLinkResult, DirectoryCreatePayload, DirectoryCreateResult, DirectoryExistsPayload, DirectoryExistsResult, DirectoryListPayload, DirectoryListResult, DirectoryRemovePayload, DirectoryRemoveResult, DeleteCurrentUserLeaderboardEntryPayload, DeleteCurrentUserLeaderboardEntryResult, GetCurrentUserLeaderboardEntryPayload, GetCurrentUserLeaderboardEntryResult, GetLeaderboardInfoPayload, GetLeaderboardInfoResult, GetLeaderboardListPayload, GetLeaderboardListResult, GetSteamGameListPayload, GetSteamGameListResult, GetStoragePayload, GetStorageResult, GetUserInfoPayload, GetUserInfoResult, GetWindowInfoPayload, GetWindowInfoResult, DownloadProgressPayload, HideLoadingPayload, HideLoadingResult, FileCreatePayload, FileCreateResult, FileExistsPayload, FileExistsResult, FileReadBytesPayload, FileReadBytesResult, FileReadTextPayload, FileReadTextResult, FileRemovePayload, FileRemoveResult, FileStatPayload, FileStatResult, FileWriteBytesPayload, FileWriteBytesResult, FileWriteTextPayload, FileWriteTextResult, LeaderboardEntry, LeaderboardOrder, LoginPayload, LoginResult, LoginScope, MiniProgramAuthMethod, MiniProgramBridgeError, MiniProgramBridgeCancelMessage, MiniProgramBridgeMessage, MiniProgramBridgeMessageType, MiniProgramBridgeProgressMessage, MiniProgramBridgeMethod, MiniProgramCapabilityDefinition, MiniProgramCapabilityModule, MiniProgramCapabilityPayload, MiniProgramCapabilityPayloadMap, MiniProgramCapabilityResult, MiniProgramCapabilityResultMap, MiniProgramCapabilityRisk, MiniProgramCloudMethod, MiniProgramDeviceMethod, MiniProgramDirectoryDescriptor, MiniProgramDirectoryMethod, MiniProgramDirectoryRef, MiniProgramDirectDirectoryRef, MiniProgramDirectFileRef, MiniProgramEventName, MiniProgramEventPayloadMap, MiniProgramFileDescriptor, MiniProgramFileMode, MiniProgramFileMethod, MiniProgramFileRef, MiniProgramFilesMethod, MiniProgramFileStat, MiniProgramFileSystemEntityDescriptor, MiniProgramFileSystemEntityRef, MiniProgramPathRootRef, MiniProgramSandboxRootRef, MiniProgramNavigationBarForegroundStyle, MiniProgramNavigationMethod, MiniProgramNetworkHeaders, MiniProgramNetworkMethod, MiniProgramNetworkParams, MiniProgramNetworkRequestMethod, MiniProgramRuntimePermissionEntry, MiniProgramRuntimePermissionsSnapshot, MiniProgramRuntimePermissionStatus, MiniProgramSafeArea, MiniProgramScreenshotRect, MiniProgramShareChannel, MiniProgramShareMethod, MiniProgramSharePostOptions, MiniProgramStorageMethod, MiniProgramToastStatus, MiniProgramUiMethod, MiniProgramUserInfoResult, MiniProgramUserMethod, MiniProgramVibrateIntensity, MiniProgramViewportMethod, MiniProgramWindowInfoResult, NetworkRequestPayload, NetworkResponsePayload, NetworkDownloadPayload, NetworkDownloadResult, OpenAppPagePayload, OpenAppPageResult, OpenGameDetailAppPagePayload, OpenPostDetailAppPagePayload, OpenUserDetailAppPagePayload, PickDirectoryPayload, PickDirectoryResult, PickFilesPayload, PickFilesResult, ParsedMiniProgramRuntimePermissions, ReloadPayload, ReloadResult, RevokeAuthorizationPayload, RevokeAuthorizationResult, RuntimeLocationProbePayload, ScreenshotPayload, ScreenshotResult, SaveFilePayload, SaveFileResult, SDKCSPBlockedResourceType, SDKCSPViolationPayload, SDKHandshakePayload, SDKLocationReportPayload, SDKLocationReportTrigger, SetClipboardPayload, SetClipboardResult, SetNavigationBarStylePayload, SetNavigationBarStyleResult, SetStoragePayload, ShowLoadingPayload, ShowLoadingResult, ShowShareMenuPayload, ShowShareMenuResult, ShowToastPayload, ShowToastResult, SteamGameListData, SteamGameListItem, SteamGameListSort, SteamGamePrice, SubmitLeaderboardEntryPayload, SubmitLeaderboardEntryResult, UserInfoAuthorization, UserInfoAuthorizationScope, UserInfoAuthorizationStatus, VibratePayload, VibrateResult, } from '@heybox/hb-sdk-protocol';
2
+ export type { AuthorizedUserInfo, ClosePayload, CloseResult, CopyLinkPayload, CopyLinkResult, DirectoryCreatePayload, DirectoryCreateResult, DirectoryExistsPayload, DirectoryExistsResult, DirectoryListPayload, DirectoryListResult, DirectoryRemovePayload, DirectoryRemoveResult, DeleteCurrentUserLeaderboardEntryPayload, DeleteCurrentUserLeaderboardEntryResult, GetCurrentUserLeaderboardEntryPayload, GetCurrentUserLeaderboardEntryResult, GetLeaderboardInfoPayload, GetLeaderboardInfoResult, GetLeaderboardListPayload, GetLeaderboardListResult, GetSteamGameListPayload, GetSteamGameListResult, GetStoragePayload, GetStorageResult, GetUserInfoPayload, GetUserInfoResult, GetWindowInfoPayload, GetWindowInfoResult, DownloadProgressPayload, HideLoadingPayload, HideLoadingResult, FileCreatePayload, FileCreateResult, FileExistsPayload, FileExistsResult, FileReadBytesPayload, FileReadBytesResult, FileReadTextPayload, FileReadTextResult, FileRemovePayload, FileRemoveResult, FileStatPayload, FileStatResult, FileWriteBytesPayload, FileWriteBytesResult, FileWriteTextPayload, FileWriteTextResult, LeaderboardEntry, LeaderboardOrder, LoginPayload, LoginResult, LoginScope, MiniProgramAuthMethod, MiniProgramBridgeError, MiniProgramBridgeCancelMessage, MiniProgramBridgeMessage, MiniProgramBridgeMessageType, MiniProgramBridgeProgressMessage, MiniProgramBridgeMethod, MiniProgramCapabilityDefinition, MiniProgramCapabilityModule, MiniProgramCapabilityPayload, MiniProgramCapabilityPayloadMap, MiniProgramCapabilityResult, MiniProgramCapabilityResultMap, MiniProgramCapabilityRisk, MiniProgramCloudMethod, MiniProgramDeviceMethod, MiniProgramDirectoryDescriptor, MiniProgramDirectoryMethod, MiniProgramDirectoryRef, MiniProgramDirectDirectoryRef, MiniProgramDirectFileRef, MiniProgramEventName, MiniProgramEventPayloadMap, MiniProgramFileDescriptor, MiniProgramFileMode, MiniProgramFileMethod, MiniProgramFileRef, MiniProgramFilesMethod, MiniProgramFileStat, MiniProgramFileSystemEntityDescriptor, MiniProgramFileSystemEntityRef, MiniProgramPathRootRef, MiniProgramSandboxRootRef, MiniProgramNavigationBarForegroundStyle, MiniProgramNavigationMethod, MiniProgramNetworkHeaders, MiniProgramNetworkMethod, MiniProgramNetworkParams, MiniProgramNetworkRequestMethod, MiniProgramOperatingSystemName, MiniProgramRuntimePermissionEntry, MiniProgramRuntimeEnvironmentInfo, MiniProgramRuntimeMode, MiniProgramRuntimePermissionsSnapshot, MiniProgramRuntimePermissionStatus, MiniProgramSafeArea, MiniProgramScreenshotRect, MiniProgramShareChannel, MiniProgramShareMethod, MiniProgramSharePostOptions, MiniProgramStorageMethod, MiniProgramToastStatus, MiniProgramUiMethod, MiniProgramUserInfoResult, MiniProgramUserMethod, MiniProgramVibrateIntensity, MiniProgramViewportMethod, MiniProgramWindowInfoResult, NetworkRequestPayload, NetworkResponsePayload, NetworkDownloadPayload, NetworkDownloadResult, OpenAppPagePayload, OpenAppPageResult, OpenGameDetailAppPagePayload, OpenPostDetailAppPagePayload, OpenUserDetailAppPagePayload, PickDirectoryPayload, PickDirectoryResult, PickFilesPayload, PickFilesResult, ParsedMiniProgramRuntimePermissions, ReloadPayload, ReloadResult, RevokeAuthorizationPayload, RevokeAuthorizationResult, RuntimeLocationProbePayload, ScreenshotPayload, ScreenshotResult, SaveFilePayload, SaveFileResult, SDKCSPBlockedResourceType, SDKCSPViolationPayload, SDKHandshakePayload, SDKHandshakeResult, SDKLocationReportPayload, SDKLocationReportTrigger, SetClipboardPayload, SetClipboardResult, SetNavigationBarStylePayload, SetNavigationBarStyleResult, SetStoragePayload, ShowLoadingPayload, ShowLoadingResult, ShowShareMenuPayload, ShowShareMenuResult, ShowToastPayload, ShowToastResult, SteamGameListData, SteamGameListItem, SteamGameListSort, SteamGamePrice, SubmitLeaderboardEntryPayload, SubmitLeaderboardEntryResult, UserInfoAuthorization, UserInfoAuthorizationScope, UserInfoAuthorizationStatus, VibratePayload, VibrateResult, } from '@heybox/hb-sdk-protocol';
3
3
  export type { LoginOptions } from './modules/auth';
4
4
  export type { GetSteamGameListOptions } from './modules/user';
5
5
  export type { MiniProgramEventHandler } from './protocol/types';
@@ -1,3 +1,4 @@
1
+ import type { IncomingMessage, Server, ServerResponse } from 'node:http';
1
2
  import { MINIAPP_PLATFORM_VALUES, type MiniappPlatform } from '../miniapp-manifest/schema';
2
3
  export interface MiniappManifestPlugin {
3
4
  name: string;
@@ -5,11 +6,19 @@ export interface MiniappManifestPlugin {
5
6
  command: 'build' | 'serve';
6
7
  }) => MiniappManifestUserConfig | void;
7
8
  configResolved: (resolved: MiniappManifestResolvedConfig) => void;
9
+ configureServer: (server: MiniappManifestDevServer) => void;
8
10
  /** Rollup 在构建失败后仍会跑 closeBundle;用 buildEnd 记录真实错误,避免二次校验掩盖原因。 */
9
11
  buildEnd: (error?: Error) => void;
10
12
  transformIndexHtml: (html: string) => string;
11
13
  closeBundle: (this: MiniappManifestPluginContext) => Promise<void>;
12
14
  }
15
+ export interface MiniappManifestDevServer {
16
+ httpServer?: Server | null;
17
+ restart?: (forceOptimize?: boolean) => Promise<void>;
18
+ middlewares: {
19
+ use: (handler: (request: IncomingMessage, response: ServerResponse, next: () => void) => void) => void;
20
+ };
21
+ }
13
22
  export interface MiniappManifestUserConfig {
14
23
  base?: string;
15
24
  define?: Record<string, string>;
@@ -40,7 +49,5 @@ export interface MiniappManifestResolvedConfig {
40
49
  }
41
50
  export { MINIAPP_PLATFORM_VALUES };
42
51
  export type { MiniappPlatform };
43
- export interface MiniappManifestOptions {
44
- platforms: readonly MiniappPlatform[];
45
- }
46
- export declare function miniappManifest(options: MiniappManifestOptions): MiniappManifestPlugin;
52
+ export declare const HB_SDK_COMPANION_ARTIFACT_ACCESS_TOKEN_ENV = "HB_SDK_COMPANION_ARTIFACT_ACCESS_TOKEN";
53
+ export declare function miniappManifest(): MiniappManifestPlugin;