@heybox/hb-sdk 0.9.3-alpha.5 → 0.9.3-alpha.7

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 (41) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +1 -0
  3. package/dist/cli-chunks/{build-Pn4ywWZY.cjs → build-B9XZEK_R.cjs} +5 -5
  4. package/dist/cli-chunks/{context-BkqQrXwr.cjs → context-CY6UmS6w.cjs} +2 -2
  5. package/dist/cli-chunks/{create-D9TJ0rH0.cjs → create-CSSx01fq.cjs} +1 -1
  6. package/dist/cli-chunks/{deploy-lock-CZljn-8b.cjs → deploy-lock-BInxgM3y.cjs} +1 -1
  7. package/dist/cli-chunks/{dev-B0OQJx4y.cjs → dev-Bi3MUU47.cjs} +8 -8
  8. package/dist/cli-chunks/{doctor-BjeCwL0b.cjs → doctor-XAtOxtIt.cjs} +1 -1
  9. package/dist/cli-chunks/{games-BrhVCrnm.cjs → games-CvMMSu1X.cjs} +2 -2
  10. package/dist/cli-chunks/{index-D-8IXO0n.cjs → index-C8bWZvpT.cjs} +17 -17
  11. package/dist/cli-chunks/{index-BvM5AsMO.cjs → index-w-W9rcn8.cjs} +1 -1
  12. package/dist/cli-chunks/{index.esm-B4XiZERF.cjs → index.esm-Bjh3TUJs.cjs} +6 -6
  13. package/dist/cli-chunks/{login-Cl3VO6xC.cjs → login-DNoAeYQ3.cjs} +1 -1
  14. package/dist/cli-chunks/{project-vite-CPDYMw5b.cjs → project-vite-CJScpApQ.cjs} +1 -1
  15. package/dist/cli-chunks/{remote-BWQezxnR.cjs → remote-CAi6-fkg.cjs} +7 -7
  16. package/dist/cli-chunks/{runtime-gate-CNLagNgF.cjs → runtime-gate--4DLo73f.cjs} +2 -2
  17. package/dist/cli-chunks/{runtime-permission-env-CJR-o3w0.cjs → runtime-permission-env-CVUxO_C_.cjs} +13 -2
  18. package/dist/cli-chunks/{skill-B8qbj4Tc.cjs → skill-Dlnpj-5P.cjs} +2 -2
  19. package/dist/cli-chunks/{version-Bpd890Nm.cjs → version-Bykmu5x-.cjs} +1 -1
  20. package/dist/cli.cjs +1 -1
  21. package/dist/devtools/browser-dev-host/assets/browser-dev-host-KIddtFR-.js +102 -0
  22. package/dist/devtools/browser-dev-host/assets/desktop-app-launch-CGJofPDi.js +6 -0
  23. package/dist/devtools/browser-dev-host/assets/{index-_0y5rm2x.js → index-Bfk8J0Cy.js} +4 -4
  24. package/dist/devtools/browser-dev-host/assets/{index-7Cq8iNcD.css → index-h-fYisyX.css} +1 -1
  25. package/dist/devtools/browser-dev-host/index.html +3 -3
  26. package/dist/index.cjs.js +314 -28
  27. package/dist/index.esm.js +314 -29
  28. package/dist/miniapp-publish.cjs.js +11 -0
  29. package/dist/miniapp-publish.esm.js +11 -0
  30. package/dist/protocol.cjs.js +172 -0
  31. package/dist/protocol.esm.js +169 -1
  32. package/dist/vite.cjs.js +17 -3
  33. package/dist/vite.esm.js +17 -3
  34. package/package.json +4 -4
  35. package/skill/SKILL.md +6 -0
  36. package/skill/skill.json +5 -5
  37. package/types/index.d.ts +87 -2
  38. package/types/miniapp-publish/index.d.ts +1 -1
  39. package/types/protocol.d.ts +77 -2
  40. package/dist/devtools/browser-dev-host/assets/browser-dev-host-OpkCfneE.js +0 -102
  41. package/dist/devtools/browser-dev-host/assets/desktop-app-launch-lns4avol.js +0 -6
package/types/index.d.ts CHANGED
@@ -3017,6 +3017,81 @@ interface MiniProgramUserModule {
3017
3017
  getSteamGameList(options?: GetSteamGameListOptions): Promise<GetSteamGameListResult>;
3018
3018
  }
3019
3019
 
3020
+ /** 可选择的媒体类型。 */
3021
+ type MediaType = 'image' | 'video';
3022
+ /**
3023
+ * 系统选择器的媒体类型筛选。
3024
+ *
3025
+ * `all` 只表示图片与视频,**不包含音频或任意文件**。
3026
+ */
3027
+ type MediaSelectionType = MediaType | 'all';
3028
+ /**
3029
+ * `media.pick()` 的选择选项。
3030
+ *
3031
+ * @remarks
3032
+ * 省略 options 或传 `{}` 等同于 `{ source: 'album', mediaType: 'all', maxCount: 1 }`。
3033
+ * `camera` 分支最多只能选择一项,因此 `maxCount` 只能是 `1` 或省略。
3034
+ */
3035
+ type PickMediaOptions = {
3036
+ /** 媒体来源,缺省 `'album'` 打开系统图库。 */
3037
+ source?: 'album';
3038
+ /** 媒体类型筛选,缺省 `'all'`。 */
3039
+ mediaType?: MediaSelectionType;
3040
+ /** 最多可选数量,缺省 `1`,取值范围为 1–20 的安全整数。 */
3041
+ maxCount?: number;
3042
+ } | {
3043
+ /** 打开系统相机,成功时恰好返回一项。 */
3044
+ source: 'camera';
3045
+ /** 媒体类型筛选,缺省 `'all'`;`all` 表示用户可在系统界面内选择拍照或录像。 */
3046
+ mediaType?: MediaSelectionType;
3047
+ /** 相机最多只能选择一项,只能为 `1` 或省略。 */
3048
+ maxCount?: 1;
3049
+ };
3050
+ interface MediaItemBase {
3051
+ /** 对应的文件句柄,`mode` 固定为 `read`。 */
3052
+ readonly file: FileHandle;
3053
+ /** 实际交付的媒体表示对应的 MIME type,非空。 */
3054
+ readonly mimeType: string;
3055
+ /** 文件字节数,非负安全整数。 */
3056
+ readonly size: number;
3057
+ /** 已考虑方向信息后的显示宽度(像素),正安全整数。 */
3058
+ readonly width: number;
3059
+ /** 已考虑方向信息后的显示高度(像素),正安全整数。 */
3060
+ readonly height: number;
3061
+ /** 受控、绑定当前会话的预览地址,非空。 */
3062
+ readonly previewUrl: string;
3063
+ }
3064
+ /** 选择的图片项。 */
3065
+ interface MediaImageItem extends MediaItemBase {
3066
+ readonly type: 'image';
3067
+ }
3068
+ /** 选择的视频项,额外携带时长。 */
3069
+ interface MediaVideoItem extends MediaItemBase {
3070
+ readonly type: 'video';
3071
+ /** 视频时长(毫秒),非负安全整数。 */
3072
+ readonly durationMs: number;
3073
+ }
3074
+ /** 单次媒体选择的返回项。 */
3075
+ type MediaItem = MediaImageItem | MediaVideoItem;
3076
+ /** 当前 SDK session 的媒体选择模块。 */
3077
+ interface MediaModule {
3078
+ /**
3079
+ * 打开系统图库或相机并返回用户确认的媒体文件。
3080
+ *
3081
+ * @param options - 媒体来源、类型筛选与数量上限,省略时使用全部缺省值。
3082
+ * @returns 冻结的只读媒体项数组;每项的 `file` 是只读 `FileHandle` 代理。
3083
+ * @since 0.9.3
3084
+ * @hbPlatform android
3085
+ * @hbPlatform ios
3086
+ * @hbPlatform ohos
3087
+ * @hbClient android numeric-dot \>= 1.3.398
3088
+ * @hbClient ios numeric-dot \>= 1.3.398
3089
+ * @hbClient ohos numeric-dot \>= 1.3.396
3090
+ * @experimental
3091
+ */
3092
+ pick(options?: PickMediaOptions): Promise<readonly MediaItem[]>;
3093
+ }
3094
+
3020
3095
  /**
3021
3096
  * 小程序可选分享渠道。
3022
3097
  *
@@ -3685,6 +3760,13 @@ interface MiniProgramViewportModule {
3685
3760
  /**
3686
3761
  * 设置当前小程序的窗口方向和全屏状态。
3687
3762
  *
3763
+ * SDK `1.0.0` 计划将本方法调整为 `Promise<void>`:设置完成时正常返回,不支持时抛出明确错误;
3764
+ * 切换失败、超时或取消仍抛出对应错误。当前仍返回 `{ supported: boolean }`,现有行为保持不变。
3765
+ *
3766
+ * 请提前补齐 `try/catch`,过渡期保留 `supported: false` 判断,并先检查返回值是否存在再读取该字段;
3767
+ * 避免直接解构返回值或将未来的空返回值当作失败。仅在确认设置成功后继续依赖该设置的操作。
3768
+ * 不支持时的错误码与适配期限会在 `1.0.0` 正式发布前公告,并提供预发布版本验证。
3769
+ *
3688
3770
  * @param options - 方向与全屏目标,至少提供一个字段;省略的字段保持当前目标值。
3689
3771
  * @returns Host 完成原生方向与胶囊设置、布局稳定后返回 `{ supported: true }`;能力缺失或
3690
3772
  * 请求不受支持时返回 `{ supported: false }`,调用方仍应按实际窗口与安全区布局。
@@ -7738,6 +7820,8 @@ declare const storage: MiniProgramStorageModule;
7738
7820
  declare const network: MiniProgramNetworkModule;
7739
7821
  /** 默认 SDK 实例的 files 模块。 */
7740
7822
  declare const files: FilesModule;
7823
+ /** 默认 SDK 实例的 media 模块。 */
7824
+ declare const media: MediaModule;
7741
7825
  /** 默认 SDK 实例的 UI 模块。 */
7742
7826
  declare const ui: MiniProgramUiModule;
7743
7827
  /** 默认 SDK 实例的 device 模块。 */
@@ -7764,6 +7848,7 @@ declare const hbSDK: {
7764
7848
  viewport: MiniProgramViewportModule;
7765
7849
  storage: MiniProgramStorageModule;
7766
7850
  files: FilesModule;
7851
+ media: MediaModule;
7767
7852
  network: MiniProgramNetworkModule;
7768
7853
  ui: MiniProgramUiModule;
7769
7854
  device: MiniProgramDeviceModule;
@@ -7774,5 +7859,5 @@ declare const hbSDK: {
7774
7859
  workspaceCards: WorkspaceCardsModule;
7775
7860
  };
7776
7861
 
7777
- export { HbMiniProgramNetworkError, HbMiniProgramSDKError, auth, cloud, companion, hbSDK as default, device, environment, files, getHandshakeState, navigation, network, off, on, onHandshakeStateChange, share, storage, ui, user, viewport, workspaceCards };
7778
- export type { ClosePayload, CloseResult, CompanionAttachments, CompanionExitHandler, CompanionNotification, CompanionNotifications, CompanionOutputHandler, CompanionOwnershipLostHandler, CompanionPrepareOptions, CompanionSession, CompanionState, CompanionStateChangeHandler, CompanionStdio, CopyLinkPayload, CopyLinkResult, CreateOptions, DeleteCurrentUserLeaderboardEntryPayload, DeleteCurrentUserLeaderboardEntryResult, DirectoryHandle, DownloadBaseOptions, DownloadOptions, DownloadProgress, FileHandle, FileMode, FileStat, FileSystem, FileSystemEntity, FilesModule, GetCurrentUserLeaderboardEntryPayload, GetCurrentUserLeaderboardEntryResult, GetLeaderboardInfoPayload, GetLeaderboardInfoResult, GetLeaderboardListPayload, GetLeaderboardListResult, GetSteamGameListOptions, GetSteamGameListPayload, GetSteamGameListResult, GetStoragePayload, GetStorageResult, GetUserInfoPayload, GetUserInfoResult, GetWindowInfoPayload, GetWindowInfoResult, HideLoadingPayload, HideLoadingResult, LeaderboardEntry, LeaderboardOrder, ListOptions, LoginOptions, LoginPayload, LoginResult, LoginScope, MiniProgramAppPageTarget, MiniProgramAuthModule, MiniProgramCloudLeaderboardModule, MiniProgramCloudModule, MiniProgramCloudStorageModule, MiniProgramCompanionModule, MiniProgramCopyLinkOptions, MiniProgramDeviceModule, MiniProgramEnvironmentInfo, MiniProgramEnvironmentModule, MiniProgramEventHandler, MiniProgramGameDetailGameType, MiniProgramGameDetailPage, MiniProgramNavigationBarForegroundStyle, MiniProgramNavigationModule, MiniProgramNetworkHeaders, MiniProgramNetworkModule, MiniProgramNetworkParams, MiniProgramNetworkRequestConfig, MiniProgramNetworkRequestMethod, MiniProgramNetworkResponse, MiniProgramNetworkValidateStatus, MiniProgramSDKHandshakeState, MiniProgramSDKHandshakeStateHandler, MiniProgramSafeArea, MiniProgramScreenshotOptions, MiniProgramScreenshotRect, MiniProgramSetNavigationBarStyleOptions, MiniProgramShareChannel, MiniProgramShareExtraValue, MiniProgramShareModule, MiniProgramSharePostOptions, MiniProgramShowShareMenuOptions, MiniProgramStorageModule, MiniProgramToastStatus, MiniProgramUiModule, MiniProgramUserModule, MiniProgramVibrateIntensity, MiniProgramViewportModule, MiniProgramWindowInfoResult, NetworkRequestPayload, NetworkResponsePayload, OpenAppPageOptions, OpenAppPagePayload, OpenAppPageResult, OpenGameDetailAppPageOptions, OpenGameDetailAppPagePayload, OpenMiniProgramAppPageOptions, OpenMiniProgramAppPagePayload, OpenPostDetailAppPageOptions, OpenPostDetailAppPagePayload, OpenUserDetailAppPageOptions, OpenUserDetailAppPagePayload, PathRoot, PickDirectoryOptions, PickFilesOptions, ReloadPayload, ReloadResult, RemoveOptions, RevokeAuthorizationPayload, RevokeAuthorizationResult, SaveFileOptions, ScreenshotPayload, ScreenshotResult, SetClipboardPayload, SetClipboardResult, SetNavigationBarStylePayload, SetNavigationBarStyleResult, SetStoragePayload, ShowLoadingPayload, ShowLoadingResult, ShowShareMenuPayload, ShowShareMenuResult, ShowToastPayload, ShowToastResult, SteamGameListData, SteamGameListItem, SteamGameListSort, SubmitLeaderboardEntryPayload, SubmitLeaderboardEntryResult, UploadBaseOptions, UploadOptions, UploadProgress, UploadResponse, VibratePayload, VibrateResult, WorkspaceCardsModule };
7862
+ export { HbMiniProgramNetworkError, HbMiniProgramSDKError, auth, cloud, companion, hbSDK as default, device, environment, files, getHandshakeState, media, navigation, network, off, on, onHandshakeStateChange, share, storage, ui, user, viewport, workspaceCards };
7863
+ export type { ClosePayload, CloseResult, CompanionAttachments, CompanionExitHandler, CompanionNotification, CompanionNotifications, CompanionOutputHandler, CompanionOwnershipLostHandler, CompanionPrepareOptions, CompanionSession, CompanionState, CompanionStateChangeHandler, CompanionStdio, CopyLinkPayload, CopyLinkResult, CreateOptions, DeleteCurrentUserLeaderboardEntryPayload, DeleteCurrentUserLeaderboardEntryResult, DirectoryHandle, DownloadBaseOptions, DownloadOptions, DownloadProgress, FileHandle, FileMode, FileStat, FileSystem, FileSystemEntity, FilesModule, GetCurrentUserLeaderboardEntryPayload, GetCurrentUserLeaderboardEntryResult, GetLeaderboardInfoPayload, GetLeaderboardInfoResult, GetLeaderboardListPayload, GetLeaderboardListResult, GetSteamGameListOptions, GetSteamGameListPayload, GetSteamGameListResult, GetStoragePayload, GetStorageResult, GetUserInfoPayload, GetUserInfoResult, GetWindowInfoPayload, GetWindowInfoResult, HideLoadingPayload, HideLoadingResult, LeaderboardEntry, LeaderboardOrder, ListOptions, LoginOptions, LoginPayload, LoginResult, LoginScope, MediaImageItem, MediaItem, MediaModule, MediaSelectionType, MediaType, MediaVideoItem, MiniProgramAppPageTarget, MiniProgramAuthModule, MiniProgramCloudLeaderboardModule, MiniProgramCloudModule, MiniProgramCloudStorageModule, MiniProgramCompanionModule, MiniProgramCopyLinkOptions, MiniProgramDeviceModule, MiniProgramEnvironmentInfo, MiniProgramEnvironmentModule, MiniProgramEventHandler, MiniProgramGameDetailGameType, MiniProgramGameDetailPage, MiniProgramNavigationBarForegroundStyle, MiniProgramNavigationModule, MiniProgramNetworkHeaders, MiniProgramNetworkModule, MiniProgramNetworkParams, MiniProgramNetworkRequestConfig, MiniProgramNetworkRequestMethod, MiniProgramNetworkResponse, MiniProgramNetworkValidateStatus, MiniProgramSDKHandshakeState, MiniProgramSDKHandshakeStateHandler, MiniProgramSafeArea, MiniProgramScreenshotOptions, MiniProgramScreenshotRect, MiniProgramSetNavigationBarStyleOptions, MiniProgramShareChannel, MiniProgramShareExtraValue, MiniProgramShareModule, MiniProgramSharePostOptions, MiniProgramShowShareMenuOptions, MiniProgramStorageModule, MiniProgramToastStatus, MiniProgramUiModule, MiniProgramUserModule, MiniProgramVibrateIntensity, MiniProgramViewportModule, MiniProgramWindowInfoResult, NetworkRequestPayload, NetworkResponsePayload, OpenAppPageOptions, OpenAppPagePayload, OpenAppPageResult, OpenGameDetailAppPageOptions, OpenGameDetailAppPagePayload, OpenMiniProgramAppPageOptions, OpenMiniProgramAppPagePayload, OpenPostDetailAppPageOptions, OpenPostDetailAppPagePayload, OpenUserDetailAppPageOptions, OpenUserDetailAppPagePayload, PathRoot, PickDirectoryOptions, PickFilesOptions, PickMediaOptions, ReloadPayload, ReloadResult, RemoveOptions, RevokeAuthorizationPayload, RevokeAuthorizationResult, SaveFileOptions, ScreenshotPayload, ScreenshotResult, SetClipboardPayload, SetClipboardResult, SetNavigationBarStylePayload, SetNavigationBarStyleResult, SetStoragePayload, ShowLoadingPayload, ShowLoadingResult, ShowShareMenuPayload, ShowShareMenuResult, ShowToastPayload, ShowToastResult, SteamGameListData, SteamGameListItem, SteamGameListSort, SubmitLeaderboardEntryPayload, SubmitLeaderboardEntryResult, UploadBaseOptions, UploadOptions, UploadProgress, UploadResponse, VibratePayload, VibrateResult, WorkspaceCardsModule };
@@ -222,7 +222,7 @@ declare function validateMiniappManifestForDeploy(manifest: MiniappManifest): {
222
222
  window?: MiniappWindowDeclaration | undefined;
223
223
  workspaceCards?: WorkspaceCardsManifest | undefined;
224
224
  companions?: MiniappCompanionManifestDeclarations | undefined;
225
- permissions?: Partial<Record<"storage" | "workspaceCards" | "userInfo" | "steamLibrary" | "share" | "cloud_storage" | "filesystem" | "clipboard" | "leaderboard" | "companion" | "appProtocol", SimpleMiniappPermissionDeclaration> & {
225
+ permissions?: Partial<Record<"storage" | "workspaceCards" | "userInfo" | "steamLibrary" | "share" | "cloud_storage" | "filesystem" | "media" | "clipboard" | "leaderboard" | "companion" | "appProtocol", SimpleMiniappPermissionDeclaration> & {
226
226
  network: NetworkMiniappPermissionDeclaration;
227
227
  }> | undefined;
228
228
  platforms: readonly ("windows" | "macos" | "android" | "ios" | "ohos" | "linux")[];
@@ -1,5 +1,5 @@
1
1
  import { MiniProgramEventName, MiniProgramEventPayloadMap, LoginScope as LoginScope$1 } from '@heybox/hb-sdk-protocol';
2
- export { AUTH_GET_ACCOUNT_STATE_METHOD, AUTH_LOGIN_METHOD, AccountState, AuthorizedUserInfo, 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, CLOUD_STORAGE_GET_KEYS_METHOD, CLOUD_STORAGE_GET_STORAGE_METHOD, CLOUD_STORAGE_REMOVE_ITEM_METHOD, CLOUD_STORAGE_SET_STORAGE_METHOD, ClosePayload, CloseResult, CopyLinkPayload, CopyLinkResult, DEVICE_EXECUTE_PROTOCOL_METHOD, DEVICE_SET_CLIPBOARD_METHOD, DEVICE_VIBRATE_METHOD, DIRECTORY_CREATE_METHOD, DIRECTORY_EXISTS_METHOD, DIRECTORY_LIST_METHOD, DIRECTORY_REMOVE_METHOD, DeleteCurrentUserLeaderboardEntryPayload, DeleteCurrentUserLeaderboardEntryResult, DirectoryCreatePayload, DirectoryCreateResult, DirectoryExistsPayload, DirectoryExistsResult, DirectoryListPayload, DirectoryListResult, DirectoryRemovePayload, DirectoryRemoveResult, DownloadProgressPayload, 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, FileCreatePayload, FileCreateResult, FileExistsPayload, FileExistsResult, FileReadBytesPayload, FileReadBytesResult, FileReadTextPayload, FileReadTextResult, FileRemovePayload, FileRemoveResult, FileStatPayload, FileStatResult, FileWriteBytesPayload, FileWriteBytesResult, FileWriteTextPayload, FileWriteTextResult, GetAccountStatePayload, GetCurrentUserLeaderboardEntryPayload, GetCurrentUserLeaderboardEntryResult, GetLeaderboardInfoPayload, GetLeaderboardInfoResult, GetLeaderboardListPayload, GetLeaderboardListResult, GetSteamGameListPayload, GetSteamGameListResult, GetStoragePayload, GetStorageResult, GetUserInfoPayload, GetUserInfoResult, GetWindowInfoPayload, GetWindowInfoResult, HideLoadingPayload, HideLoadingResult, LeaderboardEntry, LeaderboardOrder, LoginPayload, LoginResult, LoginScope, MINI_PROGRAM_BRIDGE_NONCE_PARAM, MINI_PROGRAM_MESSAGE_NAMESPACE, MINI_PROGRAM_MESSAGE_VERSION, MINI_PROGRAM_OPERATION_PROGRESS_METHOD, MINI_PROGRAM_PROTOCOL_CAPABILITIES, MiniProgramAuthMethod, MiniProgramBridgeCancelMessage, MiniProgramBridgeError, MiniProgramBridgeMessage, MiniProgramBridgeMessageType, MiniProgramBridgeMethod, MiniProgramBridgeProgressMessage, MiniProgramCapabilityDefinition, MiniProgramCapabilityModule, MiniProgramCapabilityPayload, MiniProgramCapabilityPayloadMap, MiniProgramCapabilityResult, MiniProgramCapabilityResultMap, MiniProgramCapabilityRisk, MiniProgramCloudMethod, MiniProgramDeviceMethod, MiniProgramDirectDirectoryRef, MiniProgramDirectFileRef, MiniProgramDirectoryDescriptor, MiniProgramDirectoryMethod, MiniProgramDirectoryRef, MiniProgramDisplayState, MiniProgramEventName, MiniProgramEventPayloadMap, MiniProgramFileDescriptor, MiniProgramFileMethod, MiniProgramFileMode, MiniProgramFileRef, MiniProgramFileStat, MiniProgramFileSystemEntityDescriptor, MiniProgramFileSystemEntityRef, MiniProgramFilesMethod, MiniProgramNavigationBarForegroundStyle, MiniProgramNavigationMethod, MiniProgramNetworkHeaders, MiniProgramNetworkMethod, MiniProgramNetworkParams, MiniProgramNetworkRequestMethod, MiniProgramOperatingSystemName, MiniProgramOrientationMode, MiniProgramPathRootRef, MiniProgramRuntimeEnvironmentInfo, MiniProgramRuntimeMode, MiniProgramRuntimePermissionEntry, MiniProgramRuntimePermissionStatus, MiniProgramRuntimePermissionsSnapshot, MiniProgramSafeArea, MiniProgramSandboxRootRef, MiniProgramScreenshotRect, MiniProgramShareChannel, MiniProgramShareMethod, MiniProgramSharePostOptions, MiniProgramStorageMethod, MiniProgramToastStatus, MiniProgramUiMethod, MiniProgramUserInfoResult, MiniProgramUserMethod, MiniProgramVibrateIntensity, MiniProgramViewportMethod, MiniProgramWindowInfoResult, NAVIGATION_CLOSE_METHOD, NAVIGATION_OPEN_APP_PAGE_METHOD, NAVIGATION_RELOAD_METHOD, NETWORK_DOWNLOAD_METHOD, NETWORK_REQUEST_METHOD, NETWORK_UPLOAD_METHOD, NetworkDownloadPayload, NetworkDownloadResult, NetworkRequestPayload, NetworkResponsePayload, NetworkUploadPayload, OpenAppPagePayload, OpenAppPageResult, OpenGameDetailAppPagePayload, OpenMiniProgramAppPagePayload, OpenPostDetailAppPagePayload, OpenUserDetailAppPagePayload, ParsedMiniProgramRuntimePermissions, PickDirectoryPayload, PickDirectoryResult, PickFilesPayload, PickFilesResult, RUNTIME_LOCATION_PROBE_METHOD, ReloadPayload, ReloadResult, RevokeAuthorizationPayload, RevokeAuthorizationResult, RuntimeLocationProbePayload, SDKCSPBlockedResourceType, SDKCSPViolationPayload, SDKHandshakePayload, SDKHandshakeResult, SDKLocationReportPayload, SDKLocationReportTrigger, 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, SaveFilePayload, SaveFileResult, ScreenshotPayload, ScreenshotResult, SetClipboardPayload, SetClipboardResult, SetDisplayPayload, SetDisplayResult, SetNavigationBarStylePayload, SetNavigationBarStyleResult, SetStoragePayload, ShowLoadingPayload, ShowLoadingResult, ShowShareMenuPayload, ShowShareMenuResult, ShowToastPayload, ShowToastResult, SteamGameListData, SteamGameListItem, SteamGameListSort, SubmitLeaderboardEntryPayload, SubmitLeaderboardEntryResult, UI_HIDE_LOADING_METHOD, UI_SHOW_LOADING_METHOD, UI_SHOW_TOAST_METHOD, USER_GET_INFO_METHOD, USER_GET_STEAM_GAME_LIST_METHOD, USER_INFO_AUTHORIZATION_SCOPES, USER_REVOKE_AUTHORIZATION_METHOD, UploadProgressPayload, UserInfoAuthorization, UserInfoAuthorizationScope, UserInfoAuthorizationStatus, VIEWPORT_GET_WINDOW_INFO_METHOD, VIEWPORT_SET_DISPLAY_METHOD, VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD, VibratePayload, VibrateResult, isManagedMiniProgramRuntimePermissionKey, isMiniProgramBridgeMessage, isMiniProgramByteArray, isMiniProgramDirectoryDescriptor, isMiniProgramDirectoryRef, isMiniProgramDownloadProgressPayload, isMiniProgramFileDescriptor, isMiniProgramFileRef, isMiniProgramFileStat, isMiniProgramFileSystemEntityDescriptor, isMiniProgramPathRootRef, isMiniProgramRelativePath, parseMiniProgramRuntimePermissions } from '@heybox/hb-sdk-protocol';
2
+ export { AUTH_GET_ACCOUNT_STATE_METHOD, AUTH_LOGIN_METHOD, AccountState, AuthorizedUserInfo, 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, CLOUD_STORAGE_GET_KEYS_METHOD, CLOUD_STORAGE_GET_STORAGE_METHOD, CLOUD_STORAGE_REMOVE_ITEM_METHOD, CLOUD_STORAGE_SET_STORAGE_METHOD, ClosePayload, CloseResult, CopyLinkPayload, CopyLinkResult, DEVICE_EXECUTE_PROTOCOL_METHOD, DEVICE_SET_CLIPBOARD_METHOD, DEVICE_VIBRATE_METHOD, DIRECTORY_CREATE_METHOD, DIRECTORY_EXISTS_METHOD, DIRECTORY_LIST_METHOD, DIRECTORY_REMOVE_METHOD, DeleteCurrentUserLeaderboardEntryPayload, DeleteCurrentUserLeaderboardEntryResult, DirectoryCreatePayload, DirectoryCreateResult, DirectoryExistsPayload, DirectoryExistsResult, DirectoryListPayload, DirectoryListResult, DirectoryRemovePayload, DirectoryRemoveResult, DownloadProgressPayload, 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, FileCreatePayload, FileCreateResult, FileExistsPayload, FileExistsResult, FileReadBytesPayload, FileReadBytesResult, FileReadTextPayload, FileReadTextResult, FileRemovePayload, FileRemoveResult, FileStatPayload, FileStatResult, FileWriteBytesPayload, FileWriteBytesResult, FileWriteTextPayload, FileWriteTextResult, GetAccountStatePayload, GetCurrentUserLeaderboardEntryPayload, GetCurrentUserLeaderboardEntryResult, GetLeaderboardInfoPayload, GetLeaderboardInfoResult, GetLeaderboardListPayload, GetLeaderboardListResult, GetSteamGameListPayload, GetSteamGameListResult, GetStoragePayload, GetStorageResult, GetUserInfoPayload, GetUserInfoResult, GetWindowInfoPayload, GetWindowInfoResult, HideLoadingPayload, HideLoadingResult, LeaderboardEntry, LeaderboardOrder, LoginPayload, LoginResult, LoginScope, MEDIA_PICK_METHOD, MINI_PROGRAM_BRIDGE_NONCE_PARAM, MINI_PROGRAM_MESSAGE_NAMESPACE, MINI_PROGRAM_MESSAGE_VERSION, MINI_PROGRAM_OPERATION_PROGRESS_METHOD, MINI_PROGRAM_PROTOCOL_CAPABILITIES, MediaPickImageItem, MediaPickItem, MediaPickItemBase, MediaPickPayload, MediaPickResult, MediaPickVideoItem, MiniProgramAuthMethod, MiniProgramBridgeCancelMessage, MiniProgramBridgeError, MiniProgramBridgeMessage, MiniProgramBridgeMessageType, MiniProgramBridgeMethod, MiniProgramBridgeProgressMessage, MiniProgramCapabilityDefinition, MiniProgramCapabilityModule, MiniProgramCapabilityPayload, MiniProgramCapabilityPayloadMap, MiniProgramCapabilityResult, MiniProgramCapabilityResultMap, MiniProgramCapabilityRisk, MiniProgramCloudMethod, MiniProgramDeviceMethod, MiniProgramDirectDirectoryRef, MiniProgramDirectFileRef, MiniProgramDirectoryDescriptor, MiniProgramDirectoryMethod, MiniProgramDirectoryRef, MiniProgramDisplayState, MiniProgramEventName, MiniProgramEventPayloadMap, MiniProgramFileDescriptor, MiniProgramFileMethod, MiniProgramFileMode, MiniProgramFileRef, MiniProgramFileStat, MiniProgramFileSystemEntityDescriptor, MiniProgramFileSystemEntityRef, MiniProgramFilesMethod, MiniProgramMediaMethod, MiniProgramMediaSelectionType, MiniProgramMediaSource, MiniProgramNavigationBarForegroundStyle, MiniProgramNavigationMethod, MiniProgramNetworkHeaders, MiniProgramNetworkMethod, MiniProgramNetworkParams, MiniProgramNetworkRequestMethod, MiniProgramOperatingSystemName, MiniProgramOrientationMode, MiniProgramPathRootRef, MiniProgramRuntimeEnvironmentInfo, MiniProgramRuntimeMode, MiniProgramRuntimePermissionEntry, MiniProgramRuntimePermissionStatus, MiniProgramRuntimePermissionsSnapshot, MiniProgramSafeArea, MiniProgramSandboxRootRef, MiniProgramScreenshotRect, MiniProgramShareChannel, MiniProgramShareMethod, MiniProgramSharePostOptions, MiniProgramStorageMethod, MiniProgramToastStatus, MiniProgramUiMethod, MiniProgramUserInfoResult, MiniProgramUserMethod, MiniProgramVibrateIntensity, MiniProgramViewportMethod, MiniProgramWindowInfoResult, NAVIGATION_CLOSE_METHOD, NAVIGATION_OPEN_APP_PAGE_METHOD, NAVIGATION_RELOAD_METHOD, NETWORK_DOWNLOAD_METHOD, NETWORK_REQUEST_METHOD, NETWORK_UPLOAD_METHOD, NetworkDownloadPayload, NetworkDownloadResult, NetworkRequestPayload, NetworkResponsePayload, NetworkUploadPayload, OpenAppPagePayload, OpenAppPageResult, OpenGameDetailAppPagePayload, OpenMiniProgramAppPagePayload, OpenPostDetailAppPagePayload, OpenUserDetailAppPagePayload, ParsedMiniProgramRuntimePermissions, PickDirectoryPayload, PickDirectoryResult, PickFilesPayload, PickFilesResult, RUNTIME_LOCATION_PROBE_METHOD, ReloadPayload, ReloadResult, RevokeAuthorizationPayload, RevokeAuthorizationResult, RuntimeLocationProbePayload, SDKCSPBlockedResourceType, SDKCSPViolationPayload, SDKHandshakePayload, SDKHandshakeResult, SDKLocationReportPayload, SDKLocationReportTrigger, 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, SaveFilePayload, SaveFileResult, ScreenshotPayload, ScreenshotResult, SetClipboardPayload, SetClipboardResult, SetDisplayPayload, SetDisplayResult, SetNavigationBarStylePayload, SetNavigationBarStyleResult, SetStoragePayload, ShowLoadingPayload, ShowLoadingResult, ShowShareMenuPayload, ShowShareMenuResult, ShowToastPayload, ShowToastResult, SteamGameListData, SteamGameListItem, SteamGameListSort, SubmitLeaderboardEntryPayload, SubmitLeaderboardEntryResult, UI_HIDE_LOADING_METHOD, UI_SHOW_LOADING_METHOD, UI_SHOW_TOAST_METHOD, USER_GET_INFO_METHOD, USER_GET_STEAM_GAME_LIST_METHOD, USER_INFO_AUTHORIZATION_SCOPES, USER_REVOKE_AUTHORIZATION_METHOD, UploadProgressPayload, UserInfoAuthorization, UserInfoAuthorizationScope, UserInfoAuthorizationStatus, VIEWPORT_GET_WINDOW_INFO_METHOD, VIEWPORT_SET_DISPLAY_METHOD, VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD, VibratePayload, VibrateResult, isManagedMiniProgramRuntimePermissionKey, isMiniProgramBridgeMessage, isMiniProgramByteArray, isMiniProgramDirectoryDescriptor, isMiniProgramDirectoryRef, isMiniProgramDownloadProgressPayload, isMiniProgramFileDescriptor, isMiniProgramFileRef, isMiniProgramFileStat, isMiniProgramFileSystemEntityDescriptor, isMiniProgramMediaPickItem, isMiniProgramMediaPickPayload, isMiniProgramMediaPickResult, isMiniProgramPathRootRef, isMiniProgramRelativePath, parseMiniProgramRuntimePermissions } from '@heybox/hb-sdk-protocol';
3
3
 
4
4
  /**
5
5
  * 小程序生命周期或业务事件监听函数。
@@ -1884,6 +1884,81 @@ interface GetSteamGameListOptions {
1884
1884
  includeHidden?: boolean;
1885
1885
  }
1886
1886
 
1887
+ /** 可选择的媒体类型。 */
1888
+ type MediaType = 'image' | 'video';
1889
+ /**
1890
+ * 系统选择器的媒体类型筛选。
1891
+ *
1892
+ * `all` 只表示图片与视频,**不包含音频或任意文件**。
1893
+ */
1894
+ type MediaSelectionType = MediaType | 'all';
1895
+ /**
1896
+ * `media.pick()` 的选择选项。
1897
+ *
1898
+ * @remarks
1899
+ * 省略 options 或传 `{}` 等同于 `{ source: 'album', mediaType: 'all', maxCount: 1 }`。
1900
+ * `camera` 分支最多只能选择一项,因此 `maxCount` 只能是 `1` 或省略。
1901
+ */
1902
+ type PickMediaOptions = {
1903
+ /** 媒体来源,缺省 `'album'` 打开系统图库。 */
1904
+ source?: 'album';
1905
+ /** 媒体类型筛选,缺省 `'all'`。 */
1906
+ mediaType?: MediaSelectionType;
1907
+ /** 最多可选数量,缺省 `1`,取值范围为 1–20 的安全整数。 */
1908
+ maxCount?: number;
1909
+ } | {
1910
+ /** 打开系统相机,成功时恰好返回一项。 */
1911
+ source: 'camera';
1912
+ /** 媒体类型筛选,缺省 `'all'`;`all` 表示用户可在系统界面内选择拍照或录像。 */
1913
+ mediaType?: MediaSelectionType;
1914
+ /** 相机最多只能选择一项,只能为 `1` 或省略。 */
1915
+ maxCount?: 1;
1916
+ };
1917
+ interface MediaItemBase {
1918
+ /** 对应的文件句柄,`mode` 固定为 `read`。 */
1919
+ readonly file: FileHandle;
1920
+ /** 实际交付的媒体表示对应的 MIME type,非空。 */
1921
+ readonly mimeType: string;
1922
+ /** 文件字节数,非负安全整数。 */
1923
+ readonly size: number;
1924
+ /** 已考虑方向信息后的显示宽度(像素),正安全整数。 */
1925
+ readonly width: number;
1926
+ /** 已考虑方向信息后的显示高度(像素),正安全整数。 */
1927
+ readonly height: number;
1928
+ /** 受控、绑定当前会话的预览地址,非空。 */
1929
+ readonly previewUrl: string;
1930
+ }
1931
+ /** 选择的图片项。 */
1932
+ interface MediaImageItem extends MediaItemBase {
1933
+ readonly type: 'image';
1934
+ }
1935
+ /** 选择的视频项,额外携带时长。 */
1936
+ interface MediaVideoItem extends MediaItemBase {
1937
+ readonly type: 'video';
1938
+ /** 视频时长(毫秒),非负安全整数。 */
1939
+ readonly durationMs: number;
1940
+ }
1941
+ /** 单次媒体选择的返回项。 */
1942
+ type MediaItem = MediaImageItem | MediaVideoItem;
1943
+ /** 当前 SDK session 的媒体选择模块。 */
1944
+ interface MediaModule {
1945
+ /**
1946
+ * 打开系统图库或相机并返回用户确认的媒体文件。
1947
+ *
1948
+ * @param options - 媒体来源、类型筛选与数量上限,省略时使用全部缺省值。
1949
+ * @returns 冻结的只读媒体项数组;每项的 `file` 是只读 `FileHandle` 代理。
1950
+ * @since 0.9.3
1951
+ * @hbPlatform android
1952
+ * @hbPlatform ios
1953
+ * @hbPlatform ohos
1954
+ * @hbClient android numeric-dot \>= 1.3.398
1955
+ * @hbClient ios numeric-dot \>= 1.3.398
1956
+ * @hbClient ohos numeric-dot \>= 1.3.396
1957
+ * @experimental
1958
+ */
1959
+ pick(options?: PickMediaOptions): Promise<readonly MediaItem[]>;
1960
+ }
1961
+
1887
1962
  /**
1888
1963
  * 小程序可选分享渠道。
1889
1964
  *
@@ -2105,4 +2180,4 @@ interface MiniProgramSetNavigationBarStyleOptions {
2105
2180
  foregroundStyle: MiniProgramNavigationBarForegroundStyle;
2106
2181
  }
2107
2182
 
2108
- export type { CreateOptions, DirectoryHandle, DownloadBaseOptions, DownloadOptions, DownloadProgress, FileHandle, FileMode, FileStat, FileSystem, FileSystemEntity, FilesModule, GetSteamGameListOptions, ListOptions, LoginOptions, MiniProgramEventHandler, MiniProgramNetworkRequestConfig, MiniProgramNetworkResponse, MiniProgramNetworkValidateStatus, MiniProgramScreenshotOptions, MiniProgramSetNavigationBarStyleOptions, MiniProgramShowShareMenuOptions, PathRoot, PickDirectoryOptions, PickFilesOptions, RemoveOptions, SaveFileOptions };
2183
+ export type { CreateOptions, DirectoryHandle, DownloadBaseOptions, DownloadOptions, DownloadProgress, FileHandle, FileMode, FileStat, FileSystem, FileSystemEntity, FilesModule, GetSteamGameListOptions, ListOptions, LoginOptions, MediaImageItem, MediaItem, MediaModule, MediaSelectionType, MediaType, MediaVideoItem, MiniProgramEventHandler, MiniProgramNetworkRequestConfig, MiniProgramNetworkResponse, MiniProgramNetworkValidateStatus, MiniProgramScreenshotOptions, MiniProgramSetNavigationBarStyleOptions, MiniProgramShowShareMenuOptions, PathRoot, PickDirectoryOptions, PickFilesOptions, PickMediaOptions, RemoveOptions, SaveFileOptions };