@heybox/hb-sdk 0.9.1-alpha.4 → 0.9.1-alpha.5

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 (109) hide show
  1. package/CHANGELOG.md +10 -2
  2. package/README.md +11 -0
  3. package/dist/card-controller.cjs.js +194 -0
  4. package/dist/card-controller.esm.js +159 -0
  5. package/dist/cli-chunks/{build-BZg2rHkW.cjs → build-D91J_GAa.cjs} +13 -7
  6. package/dist/cli-chunks/{context-YrzmEOau.cjs → context-Xdd45FFd.cjs} +2 -2
  7. package/dist/cli-chunks/{create-fPvlqLbS.cjs → create-BzpdRC5r.cjs} +1 -1
  8. package/dist/cli-chunks/{dev-X8_kbp78.cjs → dev-C7acO3Kt.cjs} +55 -9
  9. package/dist/cli-chunks/{doctor-DdiucYs9.cjs → doctor-BgHRDQmG.cjs} +1 -1
  10. package/dist/cli-chunks/{index-BdbwsefW.cjs → index-CjhQXbxy.cjs} +4 -7
  11. package/dist/cli-chunks/{index-BGh-Izf8.cjs → index-TQwjvNjL.cjs} +32 -16
  12. package/dist/cli-chunks/{index.esm-WYIrPjkF.cjs → index.esm-dgqkvowo.cjs} +7 -7
  13. package/dist/cli-chunks/{login-DWmNuhWc.cjs → login-B14iGXHh.cjs} +2 -2
  14. package/dist/cli-chunks/{project-vite-BVDIeoHB.cjs → project-vite-CN6mMjzX.cjs} +1 -1
  15. package/dist/cli-chunks/{remote-BHJFxXyc.cjs → remote-C9RUiZxK.cjs} +22 -14
  16. package/dist/cli-chunks/runtime-gate-CfAkz0p-.cjs +201950 -0
  17. package/dist/cli-chunks/{runtime-permission-env-eiq8vE62.cjs → runtime-permission-env-L7OfyRcl.cjs} +9396 -2929
  18. package/dist/cli-chunks/{session-Dz1cGg0E.cjs → session-DZrr6RYK.cjs} +2 -1
  19. package/dist/cli-chunks/{skill-DC3cfPj2.cjs → skill-BHTVho1a.cjs} +2 -2
  20. package/dist/cli-chunks/{version-DYFkOykv.cjs → version-C_NaCZ8O.cjs} +1 -1
  21. package/dist/cli.cjs +1 -1
  22. package/dist/devtools/browser-dev-host/assets/browser-dev-host-KPFU0Lsa.js +102 -0
  23. package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-CZsodKbP.js → desktop-app-launch-BNF9Yk4P.js} +3 -3
  24. package/dist/devtools/browser-dev-host/assets/{index-B9tOX3zG.js → index-DRRtB9Nm.js} +4 -4
  25. package/dist/devtools/browser-dev-host/index.html +2 -2
  26. package/dist/index.cjs.js +6224 -275
  27. package/dist/index.esm.js +6224 -276
  28. package/dist/miniapp-publish.cjs.js +6612 -168
  29. package/dist/miniapp-publish.esm.js +6612 -169
  30. package/dist/protocol.cjs.js +5805 -0
  31. package/dist/protocol.esm.js +5805 -0
  32. package/dist/vite.cjs.js +7475 -217
  33. package/dist/vite.esm.js +7474 -218
  34. package/dist/workspace-card-build-sandbox-worker.mjs +72 -0
  35. package/package.json +25 -11
  36. package/skill/skill.json +4 -4
  37. package/types/card-controller.d.ts +3682 -0
  38. package/types/index.d.ts +7532 -35
  39. package/types/miniapp-publish/index.d.ts +542 -64
  40. package/types/protocol.d.ts +2083 -9
  41. package/types/vite/index.d.ts +25 -12
  42. package/dist/cli-chunks/runtime-gate-CR0dRMpQ.cjs +0 -65
  43. package/dist/devtools/browser-dev-host/assets/browser-dev-host-CO2_03W0.js +0 -102
  44. package/types/core/client.d.ts +0 -108
  45. package/types/core/csp-violation.d.ts +0 -5
  46. package/types/core/errors.d.ts +0 -78
  47. package/types/core/event-bus.d.ts +0 -11
  48. package/types/core/handshake-state.d.ts +0 -54
  49. package/types/core/history-observer.d.ts +0 -4
  50. package/types/core/mini-dev-console.d.ts +0 -36
  51. package/types/core/network-sanitize.d.ts +0 -31
  52. package/types/core/sdk.d.ts +0 -104
  53. package/types/core/singleton.d.ts +0 -372
  54. package/types/core/utils.d.ts +0 -10
  55. package/types/core/version.d.ts +0 -2
  56. package/types/devtools/device-logs.d.ts +0 -48
  57. package/types/miniapp-manifest/basic-info-browser.d.ts +0 -37
  58. package/types/miniapp-manifest/basic-info-image-header.d.ts +0 -6
  59. package/types/miniapp-manifest/basic-info-node.d.ts +0 -17
  60. package/types/miniapp-manifest/basic-info-placeholder.d.ts +0 -1
  61. package/types/miniapp-manifest/basic-info.d.ts +0 -33
  62. package/types/miniapp-manifest/bindings.d.ts +0 -70
  63. package/types/miniapp-manifest/category.d.ts +0 -11
  64. package/types/miniapp-manifest/companion-directory.d.ts +0 -2
  65. package/types/miniapp-manifest/companion-executable.d.ts +0 -4
  66. package/types/miniapp-manifest/companion-types.d.ts +0 -63
  67. package/types/miniapp-manifest/companions.d.ts +0 -17
  68. package/types/miniapp-manifest/index.d.ts +0 -7
  69. package/types/miniapp-manifest/node.d.ts +0 -22
  70. package/types/miniapp-manifest/permissions.d.ts +0 -48
  71. package/types/miniapp-manifest/runtime-gate.d.ts +0 -12
  72. package/types/miniapp-manifest/schema.d.ts +0 -302
  73. package/types/modules/auth/index.d.ts +0 -204
  74. package/types/modules/cloud/index.d.ts +0 -669
  75. package/types/modules/companion/index.d.ts +0 -1619
  76. package/types/modules/device/index.d.ts +0 -269
  77. package/types/modules/environment/index.d.ts +0 -238
  78. package/types/modules/files/index.d.ts +0 -5
  79. package/types/modules/files/registry.d.ts +0 -35
  80. package/types/modules/files/types.d.ts +0 -1548
  81. package/types/modules/navigation/app-pages/index.d.ts +0 -4
  82. package/types/modules/navigation/app-pages/types.d.ts +0 -135
  83. package/types/modules/navigation/index.d.ts +0 -312
  84. package/types/modules/network/index.d.ts +0 -457
  85. package/types/modules/network/observability.d.ts +0 -38
  86. package/types/modules/network/request-shape.d.ts +0 -44
  87. package/types/modules/share/copy-link.d.ts +0 -46
  88. package/types/modules/share/extra.d.ts +0 -5
  89. package/types/modules/share/index.d.ts +0 -294
  90. package/types/modules/share/screenshot.d.ts +0 -34
  91. package/types/modules/share/show-share-menu.d.ts +0 -29
  92. package/types/modules/share/types.d.ts +0 -201
  93. package/types/modules/storage/index.d.ts +0 -214
  94. package/types/modules/ui/index.d.ts +0 -315
  95. package/types/modules/user/get-info.d.ts +0 -44
  96. package/types/modules/user/index.d.ts +0 -245
  97. package/types/modules/user/revoke-authorization.d.ts +0 -31
  98. package/types/modules/user/steam-game-list.d.ts +0 -153
  99. package/types/modules/user/types.d.ts +0 -2
  100. package/types/modules/viewport/index.d.ts +0 -319
  101. package/types/protocol/capabilities.d.ts +0 -2
  102. package/types/protocol/constants.d.ts +0 -1
  103. package/types/protocol/dev-session.d.ts +0 -74
  104. package/types/protocol/guards.d.ts +0 -1
  105. package/types/protocol/runtime-permissions.d.ts +0 -2
  106. package/types/protocol/types.d.ts +0 -22
  107. package/types/skill-metadata.d.ts +0 -18
  108. package/types/vite/html-policy.d.ts +0 -6
  109. package/types/vite/runtime-permission-env.d.ts +0 -9
@@ -1,319 +0,0 @@
1
- import type { SetDisplayPayload, SetDisplayResult } from '../../protocol';
2
- import type { MiniProgramOperationRequester, MiniProgramRequester } from '../../core/client';
3
- /**
4
- * 小程序安全区域信息。
5
- *
6
- * @remarks
7
- * 所有字段单位均为逻辑像素,坐标原点是当前小程序可用窗口的左上角。Runtime 会把
8
- * 四条边界夹取到窗口范围内,并保证 `right >= left`、`bottom >= top`;`width` 恒等于
9
- * `right - left`,`height` 恒等于 `bottom - top`。
10
- *
11
- * Host 未提供安全区域或某条边界无效时,Runtime 分别以 `left = 0`、
12
- * `right = windowWidth`、`top = statusBarHeight`、`bottom = windowHeight` 降级,再把结果
13
- * 夹取到当前窗口范围内。因此安全区域可能退化为零宽或零高矩形,但不会越过窗口边界。
14
- *
15
- * @see {@link MiniProgramWindowInfoResult}
16
- */
17
- export interface MiniProgramSafeArea {
18
- /** 安全区域左边界横坐标;从窗口左边缘起算,范围为 `0` 到 `windowWidth`。 */
19
- left: number;
20
- /** 安全区域右边界横坐标;从窗口左边缘起算,且不小于 `left`。 */
21
- right: number;
22
- /** 安全区域上边界纵坐标;从窗口上边缘起算,Host 未提供有效值时取 `statusBarHeight`。 */
23
- top: number;
24
- /** 安全区域下边界纵坐标;从窗口上边缘起算,且不小于 `top`。 */
25
- bottom: number;
26
- /** 安全区域宽度,恒等于 `right - left`,单位逻辑像素。 */
27
- width: number;
28
- /** 安全区域高度,恒等于 `bottom - top`,单位逻辑像素。 */
29
- height: number;
30
- }
31
- /**
32
- * 小程序窗口信息。
33
- *
34
- * @remarks
35
- * 该结构统一描述调用时的屏幕尺寸、可用窗口尺寸、安全区域与顶部偏移等容器信息。
36
- * 窗口可缩放的平台上,尺寸可能在后续用户拖拽后变化;需要最新值时重新调用
37
- * `viewport.getWindowInfo()`。
38
- *
39
- * Runtime 会把无效 `pixelRatio` 降级为 `1`,把无效屏幕尺寸降级为对应窗口尺寸,
40
- * 把无效窗口尺寸降级为 `0`。导航栏高度读取失败或返回无效值时,`statusBarHeight`
41
- * 与 `screenTop` 均降级为 `0`;安全区域再基于这些归一化值计算。
42
- *
43
- * @see {@link MiniProgramViewportModule.getWindowInfo}
44
- */
45
- export interface MiniProgramWindowInfoResult {
46
- /** 设备像素比;Host 返回非有限值或非正数时为 `1`。 */
47
- pixelRatio: number;
48
- /** 屏幕宽度,单位逻辑像素;Host 值无效时退回到 `windowWidth`。 */
49
- screenWidth: number;
50
- /** 屏幕高度,单位逻辑像素;Host 值无效时退回到 `windowHeight`。 */
51
- screenHeight: number;
52
- /** 当前小程序可使用的窗口内容宽度,单位逻辑像素;Host 值无效时为 `0`。 */
53
- windowWidth: number;
54
- /** 当前小程序可使用的窗口内容高度,单位逻辑像素;Host 值无效时为 `0`。 */
55
- windowHeight: number;
56
- /** 状态栏或顶部导航占用高度,单位逻辑像素;读取失败或值无效时为 `0`。 */
57
- statusBarHeight: number;
58
- /** 当前窗口内经过边界夹取并补齐 `width`、`height` 的安全区域。 */
59
- safeArea: MiniProgramSafeArea;
60
- /** 顶部可用偏移兼容值,单位逻辑像素;当前恒等于 `statusBarHeight`。 */
61
- screenTop: number;
62
- }
63
- export { VIEWPORT_SET_DISPLAY_METHOD } from '../../protocol/capabilities';
64
- export type { MiniProgramDisplayState, MiniProgramOrientationMode, SetDisplayPayload, SetDisplayResult } from '../../protocol';
65
- export { VIEWPORT_GET_WINDOW_INFO_METHOD } from '../../protocol/capabilities';
66
- export { VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD } from '../../protocol/capabilities';
67
- /** `viewport.getWindowInfo` 不接收 options 或 payload,调用时无需传入参数。 */
68
- export type GetWindowInfoPayload = void;
69
- /** `viewport.getWindowInfo` 返回调用时经过 Runtime 归一化的窗口快照。 */
70
- export type GetWindowInfoResult = MiniProgramWindowInfoResult;
71
- /**
72
- * 导航栏关闭按钮与状态栏图标/文字的前景样式。
73
- *
74
- * @remarks
75
- * `light` 请求 Host 使用白色或浅色前景,适合深色背景;`dark` 请求 Host 使用黑色
76
- * 或深色前景,适合浅色背景。该类型没有 `auto`、`system` 或恢复默认值;需要跟随
77
- * 页面主题时,应在主题变化后重新调用
78
- * {@link MiniProgramViewportModule.setNavigationBarStyle}。
79
- *
80
- * 取值表达的是对比度语义,不是固定色号。具体颜色、透明度以及状态栏和关闭按钮的
81
- * 渲染方式由当前 Host 与操作系统决定。
82
- *
83
- * @see {@link MiniProgramSetNavigationBarStyleOptions.foregroundStyle}
84
- */
85
- export type MiniProgramNavigationBarForegroundStyle = 'light' | 'dark';
86
- /**
87
- * 设置导航栏样式的配置。
88
- *
89
- * @remarks
90
- * `options` 必须是对象,且 `foregroundStyle` 是必填字段。Runtime 只接受精确的
91
- * `light` 或 `dark` 字符串;缺少字段、传入 `null`、数组或其他值都会以
92
- * `INVALID_PARAMS` 拒绝。
93
- *
94
- * 当前仅开放关闭按钮与状态栏图标/文字的前景明暗样式,不设置导航栏背景色。
95
- *
96
- * @see {@link MiniProgramNavigationBarForegroundStyle}
97
- */
98
- export interface MiniProgramSetNavigationBarStyleOptions {
99
- /**
100
- * 导航栏关闭按钮与状态栏图标/文字的前景样式。
101
- *
102
- * @remarks
103
- * 该字段必填且仅接受 `light` 或 `dark`。`light` 适合深色背景,`dark` 适合浅色
104
- * 背景;它不读取网页背景,也不会自动跟随 `prefers-color-scheme`。
105
- */
106
- foregroundStyle: MiniProgramNavigationBarForegroundStyle;
107
- }
108
- /**
109
- * `viewport.setNavigationBarStyle` 的必填入参。
110
- *
111
- * @see {@link MiniProgramSetNavigationBarStyleOptions}
112
- */
113
- export type SetNavigationBarStylePayload = MiniProgramSetNavigationBarStyleOptions;
114
- /**
115
- * `viewport.setNavigationBarStyle` 的结果;Host 完成设置后固定以 `undefined` resolve。
116
- *
117
- * @remarks
118
- * Host 内部返回的其他值不会透传给 Mini-program,该结果也不包含最终渲染色值。
119
- */
120
- export type SetNavigationBarStyleResult = void;
121
- export type { MiniProgramViewportMethod } from '../../protocol/capabilities';
122
- /** 外部小程序可调用的 Viewport 模块。 */
123
- export interface MiniProgramViewportModule {
124
- /**
125
- * 设置当前小程序的窗口方向和全屏状态。
126
- *
127
- * @param options - 方向与全屏目标,至少提供一个字段;省略的字段保持当前目标值。
128
- * @returns Host 完成原生方向与胶囊设置、布局稳定后返回 `{ supported: true }`;能力缺失或
129
- * 请求不受支持时返回 `{ supported: false }`,调用方仍应按实际窗口与安全区布局。
130
- * @throws {@link HbMiniProgramSDKError} `INVALID_PARAMS` 表示参数不合法;
131
- * `ORIENTATION_TIMEOUT` 表示展示操作超时,`ORIENTATION_FAILED` 表示执行失败,
132
- * `ORIENTATION_SUPERSEDED` 表示被后续不同目标替代,`REQUEST_CANCELLED` 表示操作已取消。
133
- * SDK 或 Runtime 销毁、握手失败等其他错误保留对应 SDK 错误码。
134
- *
135
- * @remarks
136
- * 新容器默认竖屏、非全屏。省略字段保持当前目标值,至少传一个字段;合并后横屏强制全屏,竖屏按 fullscreen 控制。
137
- * 全屏同时收起胶囊和宿主额外顶部栏,不保证原生内容铺满容器;页面应按实际 WebView 窗口和安全区适配。
138
- * 系统状态栏、手势条不保证隐藏,重要控件仍应按实际窗口与安全区信息避让。
139
- * 横屏时仅设置 fullscreen: false 不会退出全屏;退出需同时设置 orientation: portrait、fullscreen: false。
140
- * 宿主退出按钮恢复竖屏、非全屏;仅设置 orientation: portrait 则保留当前全屏目标。
141
- * 设置持续到下次调用或退出容器;SPA 路由应在进入时明确设置所需状态。
142
- * 后续设置先合并目标,再取消不同的旧设置;旧调用以 ORIENTATION_SUPERSEDED 失败。
143
- * 相同目标共用操作;方向和全屏一起确认,失败时一起恢复最后确认状态。
144
- * 本方法等待 Host 展示操作完成,由 Runtime 的操作截止时间控制,不使用普通 bridge 请求的独立超时计时器。
145
- * 操作超时或 SDK 销毁会向 Host 传递取消;不要依赖迟到的 Host 成功结果推进业务状态。
146
- * 窗口尺寸与安全区变化通过 viewport_change 事件通知。
147
- * 方向或全屏状态确认变化时通过 display_change 通知,包括用户点击宿主退出全屏按钮。
148
- * display_change 不回放初始状态;重复设置、不支持、失败或取消不会发出展示状态变化通知。
149
- * 返回 supported: true 表示原生方向与胶囊设置已完成;不支持时返回 supported: false,保留原生状态。
150
- * 降级时宿主仍尽力收起 H5 顶部栏,不能据此假定屏幕已旋转或胶囊已隐藏;布局始终按实际窗口适配。
151
- * SDK 统一处理能力缺失错误;超时、取消、参数或其他执行错误仍抛出。
152
- *
153
- * @example
154
- * ```ts
155
- * import hbSDK from '@heybox/hb-sdk'
156
- *
157
- * // 同时恢复竖屏和非全屏,避免保留之前的全屏目标。
158
- * const result = await hbSDK.viewport.setDisplay({ orientation: 'portrait', fullscreen: false })
159
- * if (!result.supported) console.log('Host 不支持原生展示设置')
160
- * ```
161
- *
162
- * @since 0.8.1-alpha.4
163
- * @hbPlatform android
164
- * @hbPlatform ios
165
- * @hbPlatform ohos
166
- * @hbClient android numeric-dot \>= 1.3.396
167
- * @hbClient ios numeric-dot \>= 1.3.396
168
- * @hbClient ohos none
169
- * @experimental
170
- */
171
- setDisplay(options: SetDisplayPayload): Promise<SetDisplayResult>;
172
- /**
173
- * 获取当前小程序窗口信息。
174
- *
175
- * @returns 调用时经过 Runtime 归一化的设备像素比、屏幕与窗口尺寸、安全区域及顶部偏移快照。
176
- * @throws {@link HbMiniProgramSDKError} 当前 Host 未开放窗口测量能力时以 `METHOD_FORBIDDEN`
177
- * 拒绝;握手失败、Runtime 已卸载、SDK 已销毁、请求超时或 Host 测量失败时抛出对应
178
- * bridge / Runtime 错误。
179
- *
180
- * @remarks
181
- * 该方法无入参,不触发用户授权,也无需在 `package.json#heybox.permissions` 中声明。
182
- * 每次调用都会重新读取当前窗口并返回一次性快照;它不订阅尺寸变化。PC 可缩放窗口
183
- * 可能在用户拖拽、Host 恢复窗口或系统缩放变化后得到新尺寸,需要最新值时应重新调用。
184
- *
185
- * `package.json#heybox.window` 的 `defaultWidth`、`defaultHeight`、`minWidth`、
186
- * `minHeight` 与 `resizable` 只控制开窗初值和用户拖拽约束,不能替代本 API 的运行时
187
- * 查询。该方法只读取几何信息;导航栏前景色由
188
- * {@link MiniProgramViewportModule.setNavigationBarStyle} 单独设置。
189
- *
190
- * @example
191
- * ```ts
192
- * import hbSDK from '@heybox/hb-sdk'
193
- *
194
- * const info = await hbSDK.viewport.getWindowInfo()
195
- * const safeInsets = {
196
- * top: info.safeArea.top,
197
- * right: info.windowWidth - info.safeArea.right,
198
- * bottom: info.windowHeight - info.safeArea.bottom,
199
- * left: info.safeArea.left,
200
- * }
201
- *
202
- * const root = document.documentElement
203
- * for (const [edge, value] of Object.entries(safeInsets)) {
204
- * root.style.setProperty(`--safe-area-${edge}`, `${value}px`)
205
- * }
206
- * // 窗口尺寸变化后重新调用 getWindowInfo(),不要长期缓存这次结果。
207
- * ```
208
- *
209
- * @see {@link MiniProgramWindowInfoResult}
210
- * @see {@link MiniProgramViewportModule.setNavigationBarStyle}
211
- * @see {@link https://docs.xiaoheihe.cn/hb_sdk/guide/window-size/ | 窗口尺寸与可缩放性}
212
- *
213
- * @since 0.2.0-alpha.0
214
- * @hbPlatform android
215
- * @hbPlatform ios
216
- * @hbPlatform ohos
217
- * @hbPlatform windows
218
- * @hbPlatform macos
219
- * @hbClient android none
220
- * @hbClient ios none
221
- * @hbClient ohos none
222
- * @hbClient windows none
223
- * @hbClient macos none
224
- */
225
- getWindowInfo(): Promise<GetWindowInfoResult>;
226
- /**
227
- * 设置导航栏关闭按钮与状态栏图标/文字的前景样式。
228
- *
229
- * @param options - 必填的前景样式配置。`foregroundStyle` 只能是 `light` 或 `dark`。
230
- * @returns Host 报告本次设置完成后以 `undefined` resolve;不会返回当前样式或实际渲染色值。
231
- * @throws {@link HbMiniProgramSDKError} `options` 不是对象,或 `foregroundStyle` 缺失、
232
- * 不是 `light`/`dark` 时以 `INVALID_PARAMS` 拒绝;当前 Host 未开放该能力时以
233
- * `METHOD_FORBIDDEN` 拒绝,Host 无法处理当前请求时以 `REQUEST_UNSUPPORTED` 拒绝。
234
- * 握手失败、SDK 或 Runtime 已销毁、bridge 请求超时以及 Host 设置失败时抛出对应
235
- * SDK 错误。
236
- *
237
- * @remarks
238
- * 该 API 无需在 `package.json#heybox.permissions` 中声明权限,也不要求可信用户手势
239
- * 或平台批准;仍需当前 Host 开放 `viewport.setNavigationBarStyle` capability。
240
- *
241
- * 该方法只控制关闭按钮和状态栏图标/文字的前景明暗,不修改导航栏背景色,也不
242
- * 改变网页自身的 `color-scheme`。它不提供读取接口、自动主题模式或恢复默认值;
243
- * 后续调用可以覆盖先前样式,Host 重建容器后也不应依赖先前调用继续生效。
244
- *
245
- * 移动端 Host 将该语义应用到 App 顶部容器和系统状态栏,PC Host 将其应用到桌面
246
- * 小程序窗口的导航控件;不同操作系统可以采用不同的实际颜色和渲染方式。Browser
247
- * Dev Host 只更新本地设备预览中的 Host chrome,不能替代真机或桌面客户端验收。
248
- *
249
- * {@link MiniProgramViewportModule.getWindowInfo} 只读取窗口几何与安全区域,既不会
250
- * 返回当前前景样式,也不是调用本方法的前置条件。`package.json#heybox.window` 只
251
- * 声明开窗尺寸和可缩放性,与导航栏前景样式互不覆盖。
252
- *
253
- * @example
254
- * ```ts
255
- * import hbSDK from '@heybox/hb-sdk'
256
- *
257
- * const colorScheme = window.matchMedia('(prefers-color-scheme: dark)')
258
- *
259
- * async function syncNavigationBarStyle() {
260
- * await hbSDK.viewport.setNavigationBarStyle({
261
- * // 深色页面使用浅色前景,浅色页面使用深色前景。
262
- * foregroundStyle: colorScheme.matches ? 'light' : 'dark',
263
- * })
264
- * }
265
- *
266
- * await syncNavigationBarStyle()
267
- * const handleColorSchemeChange = () => {
268
- * void syncNavigationBarStyle().catch(console.error)
269
- * }
270
- * colorScheme.addEventListener('change', handleColorSchemeChange)
271
- * window.addEventListener('pagehide', () => {
272
- * colorScheme.removeEventListener('change', handleColorSchemeChange)
273
- * }, { once: true })
274
- * ```
275
- *
276
- * @see {@link MiniProgramNavigationBarForegroundStyle}
277
- * @see {@link MiniProgramSetNavigationBarStyleOptions}
278
- * @see {@link MiniProgramViewportModule.getWindowInfo}
279
- * @see {@link https://docs.xiaoheihe.cn/hb_sdk/guide/window-size/ | 窗口尺寸与可缩放性}
280
- * @see {@link https://docs.xiaoheihe.cn/hb_sdk/guide/permissions | 权限声明}
281
- *
282
- * @since 0.4.0
283
- * @hbPlatform android
284
- * @hbPlatform ios
285
- * @hbPlatform ohos
286
- * @hbPlatform windows
287
- * @hbPlatform macos
288
- * @hbClient android none
289
- * @hbClient ios none
290
- * @hbClient ohos none
291
- * @hbClient windows none
292
- * @hbClient macos none
293
- */
294
- setNavigationBarStyle(options: MiniProgramSetNavigationBarStyleOptions): Promise<SetNavigationBarStyleResult>;
295
- }
296
- /**
297
- * 获取当前小程序窗口信息。
298
- *
299
- * @param requester - 底层 bridge 请求能力。
300
- * @returns 当前小程序可用窗口信息。
301
- * @throws {@link HbMiniProgramSDKError} 当 bridge、父容器或宿主能力调用失败时抛出。
302
- */
303
- export declare function getWindowInfo(requester: MiniProgramRequester): Promise<GetWindowInfoResult>;
304
- /**
305
- * 设置导航栏关闭按钮与状态栏图标/文字的前景样式。
306
- *
307
- * @param requester - 底层 bridge 请求能力。
308
- * @param options - 导航栏样式配置。
309
- * @returns 宿主接受设置后 resolve。
310
- * @throws {@link HbMiniProgramSDKError} 当 bridge、父容器或宿主能力调用失败时抛出。
311
- */
312
- export declare function setNavigationBarStyle(requester: MiniProgramRequester, options: MiniProgramSetNavigationBarStyleOptions): Promise<SetNavigationBarStyleResult>;
313
- /**
314
- * 创建 Viewport 模块。
315
- *
316
- * @param requester - 底层 bridge 请求能力。
317
- * @returns 面向业务层的 Viewport 模块对象。
318
- */
319
- export declare function createViewportModule(requester: MiniProgramOperationRequester): MiniProgramViewportModule;
@@ -1,2 +0,0 @@
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_EXECUTE_PROTOCOL_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_PROTOCOL_CAPABILITIES, NAVIGATION_CLOSE_METHOD, NAVIGATION_OPEN_APP_PAGE_METHOD, NAVIGATION_RELOAD_METHOD, NETWORK_REQUEST_METHOD, NETWORK_DOWNLOAD_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_GET_INFO_METHOD, USER_GET_STEAM_GAME_LIST_METHOD, USER_REVOKE_AUTHORIZATION_METHOD, VIEWPORT_SET_DISPLAY_METHOD, VIEWPORT_GET_WINDOW_INFO_METHOD, VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD, } from '@heybox/hb-sdk-protocol';
2
- export type { MiniProgramAuthMethod, MiniProgramBridgeMethod, MiniProgramCapabilityDefinition, MiniProgramCapabilityModule, MiniProgramCapabilityPayload, MiniProgramCapabilityPayloadMap, MiniProgramCapabilityResult, MiniProgramCapabilityResultMap, MiniProgramCapabilityRisk, MiniProgramCloudMethod, MiniProgramDeviceMethod, MiniProgramDirectoryMethod, MiniProgramFileMethod, MiniProgramFilesMethod, MiniProgramNavigationMethod, MiniProgramNetworkMethod, MiniProgramShareMethod, MiniProgramStorageMethod, MiniProgramUiMethod, MiniProgramUserMethod, MiniProgramViewportMethod, } from '@heybox/hb-sdk-protocol';
@@ -1 +0,0 @@
1
- export { MINI_PROGRAM_BRIDGE_NONCE_PARAM, MINI_PROGRAM_MESSAGE_NAMESPACE, MINI_PROGRAM_MESSAGE_VERSION, MINI_PROGRAM_OPERATION_PROGRESS_METHOD, RUNTIME_LOCATION_PROBE_METHOD, SDK_CSP_VIOLATION_METHOD, SDK_HANDSHAKE_METHOD, SDK_LOCATION_REPORT_METHOD, } from '@heybox/hb-sdk-protocol';
@@ -1,74 +0,0 @@
1
- import type { MiniProgramRuntimePermissionsSnapshot } from './runtime-permissions';
2
- import type { MiniProgramLocalDevGrant, MiniProgramLocalDevPermissionDeclarations } from '@heybox/hb-sdk-protocol';
3
- /**
4
- * 网关限流状态。
5
- *
6
- * 加性、向后兼容字段:老宿主页或老 Runtime 忽略即可。CLI 收到 403/429 后把状态透出给
7
- * 调试页与宿主页,让手机端停止「重连 → 打接口 → 被拒 → 再重连」的自激循环。
8
- */
9
- export interface MiniProgramDevRateLimitState {
10
- /** 是否处于限流中;仅在限流时下发,取值为 true。 */
11
- limited: boolean;
12
- /** 网关建议的等待时长(毫秒)。 */
13
- retryAfterMs?: number;
14
- /** 限流预计解除的绝对时间(Unix 毫秒)。 */
15
- untilTs?: number;
16
- /** 网关原文摘要,仅用于展示。 */
17
- message?: string;
18
- }
19
- export interface MiniProgramLocalDevContextFields {
20
- local_dev_grant?: MiniProgramLocalDevGrant;
21
- context_revision?: number;
22
- declared_permissions?: MiniProgramLocalDevPermissionDeclarations;
23
- platforms?: readonly string[];
24
- dev_session_id?: string;
25
- local_dev_launch_token?: string;
26
- mini_program_id?: string;
27
- companion_manifest_sha256?: string;
28
- /** 限流状态;正常时不下发该字段。 */
29
- rate_limit?: MiniProgramDevRateLimitState | null;
30
- }
31
- /** Dev Shell 读取局域网 Dev Session endpoint 的 query 参数。 */
32
- export declare const MINI_PROGRAM_DEV_CONTEXT_QUERY_PARAM = "dev_context_url";
33
- /** Browser Dev Host 创建和读取 Dev Session 的固定路径。 */
34
- export declare const MINI_PROGRAM_DEV_CONTEXT_PATH = "/__hb_sdk__/dev-context";
35
- /** 详情 H5 从 `mini_url` origin 发现其余启动参数的固定路径。 */
36
- export declare const MINI_PROGRAM_DEV_LAUNCH_PATH = "/__hb_sdk__/launch.json";
37
- /** Dev Session 当前使用的 schema 版本。 */
38
- export declare const MINI_PROGRAM_DEV_SESSION_SCHEMA_VERSION: 1;
39
- /** `launch.json` 当前使用的 schema 版本。 */
40
- export declare const MINI_PROGRAM_DEV_LAUNCH_SCHEMA_VERSION: 1;
41
- /** Browser Dev Host 创建 Dev Session 时接收的请求。 */
42
- export interface MiniProgramDevSessionCreatePayload {
43
- mini_url_origin: string;
44
- /** 仅用于兼容旧 Node 服务;当前服务端忽略该字段并自行读取远端权限。 */
45
- runtime_permissions?: MiniProgramRuntimePermissionsSnapshot;
46
- }
47
- /** Browser Dev Host 创建 Dev Session 后返回的短期引用。 */
48
- export interface MiniProgramDevSessionCreateResult {
49
- expires_at: number;
50
- token: string;
51
- }
52
- /** Runtime Host 通过短期引用读取的不可变 Dev Session 快照。 */
53
- export interface MiniProgramDevSessionSnapshot extends MiniProgramLocalDevContextFields {
54
- schema_version: typeof MINI_PROGRAM_DEV_SESSION_SCHEMA_VERSION;
55
- revision: number;
56
- expires_at: number;
57
- mini_url_origin: string;
58
- runtime_permissions: MiniProgramRuntimePermissionsSnapshot;
59
- }
60
- /** 详情 H5 在只带 `mini_url` 启动后拉取的其余调试参数。 */
61
- export interface MiniProgramDevLaunchSnapshot extends MiniProgramLocalDevContextFields {
62
- schema_version: typeof MINI_PROGRAM_DEV_LAUNCH_SCHEMA_VERSION;
63
- sdk_version?: string;
64
- mini_program_id?: string;
65
- local_dev_launch_token?: string;
66
- /** CLI 进程身份,重启后变化;不作为授权凭据。 */
67
- dev_session_id?: string;
68
- /** 启动票过期时间,Unix 毫秒。 */
69
- expires_at?: number;
70
- companion_manifest_sha256?: string;
71
- companion_artifact_access_token?: string;
72
- dev_context_url?: string;
73
- runtime_permissions?: MiniProgramRuntimePermissionsSnapshot;
74
- }
@@ -1 +0,0 @@
1
- export { isMiniProgramBridgeMessage, isMiniProgramByteArray, isMiniProgramDirectoryDescriptor, isMiniProgramDirectoryRef, isMiniProgramDownloadProgressPayload, isMiniProgramFileDescriptor, isMiniProgramFileRef, isMiniProgramFileStat, isMiniProgramFileSystemEntityDescriptor, isMiniProgramPathRootRef, isMiniProgramRelativePath, } from '@heybox/hb-sdk-protocol';
@@ -1,2 +0,0 @@
1
- export { isManagedMiniProgramRuntimePermissionKey, parseMiniProgramRuntimePermissions, } from '@heybox/hb-sdk-protocol';
2
- export type { MiniProgramRuntimePermissionEntry, MiniProgramRuntimePermissionsSnapshot, MiniProgramRuntimePermissionStatus, ParsedMiniProgramRuntimePermissions, } from '@heybox/hb-sdk-protocol';
@@ -1,22 +0,0 @@
1
- import type { MiniProgramEventName, MiniProgramEventPayloadMap } from '@heybox/hb-sdk-protocol';
2
- export type { MiniProgramBridgeError, MiniProgramBridgeCancelMessage, MiniProgramBridgeMessage, MiniProgramBridgeMessageType, MiniProgramBridgeProgressMessage, MiniProgramEventName, MiniProgramEventPayloadMap, RuntimeLocationProbePayload, SDKCSPBlockedResourceType, SDKCSPViolationPayload, SDKHandshakePayload, SDKLocationReportPayload, SDKLocationReportTrigger, } from '@heybox/hb-sdk-protocol';
3
- /**
4
- * 小程序生命周期或业务事件监听函数。
5
- *
6
- * @typeParam T - 受
7
- * [MiniProgramEventName](/reference/symbols/root/types/MiniProgramEventName) 约束的事件名;它决定
8
- * `payload` 的精确类型。
9
- * @param payload - 由
10
- * [MiniProgramEventPayloadMap](/reference/symbols/root/interfaces/MiniProgramEventPayloadMap) 按 `T`
11
- * 索引得到的事件载荷。
12
- *
13
- * @remarks
14
- * handler 在 event bus 派发时同步调用,返回值会被忽略且 Promise 不会被等待。普通事件 handler
15
- * 之间没有异常隔离:同步抛错会从当前派发传播,并可能阻止同一事件的后续 handler;异步 handler
16
- * 的 rejected Promise 也不会被 SDK 捕获。监听器应在自身边界处理同步和异步错误。
17
- *
18
- * 生命周期事件不会重放,只派发给事件到达时已经注册的监听器。需要查询当前握手状态时,使用
19
- * [getHandshakeState()](/reference/sdk/lifecycle/getHandshakeState) 或
20
- * [onHandshakeStateChange()](/reference/sdk/lifecycle/onHandshakeStateChange)。
21
- */
22
- export type MiniProgramEventHandler<T extends MiniProgramEventName = MiniProgramEventName> = (payload: MiniProgramEventPayloadMap[T]) => void;
@@ -1,18 +0,0 @@
1
- export declare const HB_SDK_PACKAGE_NAME = "@heybox/hb-sdk";
2
- export declare const HB_SDK_SKILL_NAME = "hb-sdk";
3
- export interface SkillContentFileEntry {
4
- /** 相对 Skill 根目录的路径,例如 `SKILL.md`。 */
5
- path: string;
6
- /** 原始文件字节;字符串按 UTF-8 处理,与 scripts/skill/skill-metadata.mjs 保持一致。 */
7
- content: string | Buffer;
8
- }
9
- /**
10
- * 计算 Skill 可分发内容(不含 `skill.json` manifest)的内容哈希。
11
- *
12
- * 该实现必须与 `scripts/skill/skill-metadata.mjs` 的 `createSkillContentHash` 语义完全一致:
13
- * 按 `path` 升序排序后依次写入 `path`、`\0`、`content`、`\0`,最后取 sha256 十六进制摘要。
14
- * 发布到 npm 的包内不含 `scripts/`,因此这里保留独立实现,供 CLI 运行期校验已安装 Skill。
15
- */
16
- export declare function createSkillContentHash(fileEntries: readonly SkillContentFileEntry[]): {
17
- hex: string;
18
- };
@@ -1,6 +0,0 @@
1
- export declare const PRODUCTION_CSP: string;
2
- export declare function enforceMiniappHtmlPolicy(html: string, options?: {
3
- deviceLogUploadUrls?: readonly string[];
4
- hmrWebSocketUrl?: string;
5
- skipPlatformCsp?: boolean;
6
- }): string;
@@ -1,9 +0,0 @@
1
- export declare const HB_SDK_RUNTIME_USE_OFFICIAL_DOMAIN_ENV = "HB_SDK_RUNTIME_USE_OFFICIAL_DOMAIN";
2
- export declare const HB_SDK_RUNTIME_PERMISSION_CONTEXT_ENV = "HB_SDK_RUNTIME_PERMISSION_CONTEXT";
3
- export declare function shouldSkipMiniappPlatformCspFromEnv(env?: NodeJS.ProcessEnv): boolean;
4
- export declare function createMiniappPlatformCspEnv(env: NodeJS.ProcessEnv, skipPlatformCsp: boolean): {
5
- HB_SDK_RUNTIME_PERMISSION_CONTEXT: string;
6
- HB_SDK_RUNTIME_USE_OFFICIAL_DOMAIN: string;
7
- TZ?: string | undefined;
8
- };
9
- export declare function withMiniappPlatformCspEnv<T>(skipPlatformCsp: boolean, action: () => Promise<T>, env?: NodeJS.ProcessEnv): Promise<T>;