@heybox/hb-sdk 0.7.5-alpha.0 → 0.8.0-alpha.2

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 (76) hide show
  1. package/CHANGELOG.md +86 -0
  2. package/README.md +69 -16
  3. package/THIRD_PARTY_NOTICES.md +1755 -0
  4. package/dist/cli-chunks/{build-V1YBdpzY.cjs → build-CCLWgXyA.cjs} +6 -5
  5. package/dist/cli-chunks/{context-Ba1Je-wT.cjs → context-Brh56h56.cjs} +2 -27
  6. package/dist/cli-chunks/{create-CKGjqo9E.cjs → create-BZ-hi2s1.cjs} +1 -1
  7. package/dist/cli-chunks/{dev-XopYKLYZ.cjs → dev-CoSXtEYa.cjs} +336 -517
  8. package/dist/cli-chunks/{doctor-BHbrYQqT.cjs → doctor-EsCYJGhV.cjs} +1 -1
  9. package/dist/cli-chunks/{index-C9mpajVG.cjs → index-BL5eEPap.cjs} +14 -14
  10. package/dist/cli-chunks/{index-DKWfX6Ut.cjs → index-CS6Q0o5C.cjs} +2 -2
  11. package/dist/cli-chunks/{index.esm-SXAQ3WVR.cjs → index.esm-BoBHPfpq.cjs} +6 -6
  12. package/dist/cli-chunks/{login-BVWicWqe.cjs → login-CILLxGuf.cjs} +2 -2
  13. package/dist/cli-chunks/{project-vite-CBb38HJ3.cjs → project-vite-Qu6Xe9Dn.cjs} +1 -1
  14. package/dist/cli-chunks/{remote-BG1u0NKT.cjs → remote-DRuTQ51u.cjs} +10 -8
  15. package/dist/cli-chunks/{runtime-gate-CtV7rWyX.cjs → runtime-gate-DFjw66kF.cjs} +20 -1
  16. package/dist/cli-chunks/{runtime-permission-env-D-8_jPG3.cjs → runtime-permission-env-CjsCe5bp.cjs} +13 -13
  17. package/dist/cli-chunks/{session-CJS_SEp9.cjs → session-D-_N3WVL.cjs} +1 -1
  18. package/dist/cli.cjs +1 -1
  19. package/dist/devtools/browser-dev-host/assets/browser-dev-host-uq-Wac6k.js +97 -0
  20. package/dist/devtools/browser-dev-host/assets/heybox-logo-CogNENsk.svg +6 -0
  21. package/dist/devtools/browser-dev-host/assets/index-CeP6SLB3.js +567 -0
  22. package/dist/devtools/browser-dev-host/assets/index-KD2f3Jdz.css +1 -0
  23. package/dist/devtools/browser-dev-host/assets/workbench-state-D-1U0JRq.js +5 -0
  24. package/dist/devtools/browser-dev-host/index.html +6 -435
  25. package/dist/index.cjs.js +1036 -90
  26. package/dist/index.esm.js +1036 -91
  27. package/dist/miniapp-publish.cjs.js +13 -13
  28. package/dist/miniapp-publish.esm.js +13 -13
  29. package/dist/protocol.cjs.js +208 -6
  30. package/dist/protocol.esm.js +182 -7
  31. package/dist/templates/vue3-vite-ts/README.md.ejs +2 -0
  32. package/dist/templates/vue3-vite-ts/vite.config.ts +1 -1
  33. package/dist/vite.cjs.js +31 -4
  34. package/dist/vite.esm.js +31 -5
  35. package/package.json +28 -11
  36. package/skill/SKILL.md +9 -5
  37. package/skill/references/api-protocol.md +111 -3
  38. package/skill/references/api-root.md +170 -22
  39. package/skill/references/cli.md +21 -17
  40. package/skill/references/examples.md +30 -1
  41. package/skill/references/recipes.md +105 -1
  42. package/skill/references/safety-boundaries.md +12 -1
  43. package/skill/scripts/sync-references.mjs +37 -3
  44. package/skill/skill.json +4 -4
  45. package/types/core/client.d.ts +17 -1
  46. package/types/core/errors.d.ts +5 -5
  47. package/types/core/sdk.d.ts +8 -5
  48. package/types/core/singleton.d.ts +59 -6
  49. package/types/index.d.ts +4 -2
  50. package/types/miniapp-manifest/schema.d.ts +5 -0
  51. package/types/miniapp-publish/index.d.ts +8 -8
  52. package/types/modules/auth/index.d.ts +15 -1
  53. package/types/modules/cloud/index.d.ts +75 -5
  54. package/types/modules/device/index.d.ts +31 -3
  55. package/types/modules/files/index.d.ts +5 -0
  56. package/types/modules/files/registry.d.ts +35 -0
  57. package/types/modules/files/types.d.ts +159 -0
  58. package/types/modules/navigation/index.d.ts +46 -4
  59. package/types/modules/network/index.d.ts +72 -14
  60. package/types/modules/share/copy-link.d.ts +3 -3
  61. package/types/modules/share/index.d.ts +61 -5
  62. package/types/modules/share/screenshot.d.ts +3 -3
  63. package/types/modules/share/show-share-menu.d.ts +3 -3
  64. package/types/modules/storage/index.d.ts +38 -10
  65. package/types/modules/ui/index.d.ts +46 -4
  66. package/types/modules/user/get-info.d.ts +1 -1
  67. package/types/modules/user/index.d.ts +46 -4
  68. package/types/modules/user/steam-game-list.d.ts +2 -2
  69. package/types/modules/viewport/index.d.ts +36 -8
  70. package/types/protocol/capabilities.d.ts +2 -2
  71. package/types/protocol/constants.d.ts +1 -1
  72. package/types/protocol/guards.d.ts +1 -1
  73. package/types/protocol/types.d.ts +1 -1
  74. package/types/protocol.d.ts +4 -3
  75. package/types/vite/index.d.ts +15 -7
  76. package/dist/devtools/browser-dev-host/main.js +0 -12158
@@ -3,442 +3,13 @@
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title>HB SDK Browser Dev Host</title>
7
- <style>
8
- * {
9
- box-sizing: border-box;
10
- }
11
-
12
- [hidden] {
13
- display: none !important;
14
- }
15
-
16
- body {
17
- margin: 0;
18
- height: 100vh;
19
- overflow: hidden;
20
- color: #1f2933;
21
- background: #eef2f6;
22
- font-family:
23
- Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
24
- }
25
-
26
- button,
27
- input,
28
- select {
29
- font: inherit;
30
- }
31
-
32
- .layout {
33
- display: grid;
34
- grid-template-columns: minmax(320px, 400px) minmax(360px, 1fr);
35
- height: 100vh;
36
- min-height: 0;
37
- }
38
-
39
- html[data-screenshot-chrome-hidden='true'] .layout {
40
- grid-template-columns: minmax(0, 1fr);
41
- }
42
-
43
- html[data-screenshot-chrome-hidden='true'] .panel {
44
- display: none;
45
- }
46
-
47
- .panel {
48
- display: flex;
49
- flex-direction: column;
50
- gap: 16px;
51
- min-height: 0;
52
- overflow-y: auto;
53
- overscroll-behavior: contain;
54
- padding: 18px;
55
- border-right: 1px solid #d7dee8;
56
- background: #fff;
57
- scrollbar-gutter: stable;
58
- }
59
-
60
- .panel h1 {
61
- margin: 0;
62
- font-size: 22px;
63
- line-height: 1.25;
64
- }
65
-
66
- .block {
67
- min-width: 0;
68
- border: 1px solid #d7dee8;
69
- border-radius: 8px;
70
- padding: 12px;
71
- background: #f8fafc;
72
- }
73
-
74
- .block span {
75
- display: block;
76
- color: #64748b;
77
- font-size: 12px;
78
- }
79
-
80
- .block strong {
81
- display: block;
82
- margin-top: 6px;
83
- overflow-wrap: anywhere;
84
- word-break: break-word;
85
- }
86
-
87
- .status {
88
- display: grid;
89
- gap: 8px;
90
- margin-top: 10px;
91
- color: #475569;
92
- font-size: 12px;
93
- line-height: 1.5;
94
- }
95
-
96
- .account,
97
- .mini-program {
98
- display: grid;
99
- grid-template-columns: 40px minmax(0, 1fr);
100
- align-items: center;
101
- gap: 10px;
102
- margin-top: 10px;
103
- }
104
-
105
- .account:has(img[hidden]),
106
- .mini-program:has(img[hidden]) {
107
- grid-template-columns: minmax(0, 1fr);
108
- }
109
-
110
- .account__avatar,
111
- .mini-program__icon {
112
- width: 40px;
113
- height: 40px;
114
- border: 1px solid #d7dee8;
115
- border-radius: 50%;
116
- object-fit: cover;
117
- background: #fff;
118
- }
119
-
120
- .mini-program__icon {
121
- border-radius: 8px;
122
- }
123
-
124
- .account__meta,
125
- .mini-program__meta {
126
- min-width: 0;
127
- }
128
-
129
- .account__meta strong,
130
- .mini-program__meta strong {
131
- margin-top: 0;
132
- }
133
-
134
- .account__meta span,
135
- .mini-program__meta span {
136
- margin-top: 2px;
137
- }
138
-
139
- .copy-status {
140
- min-height: 18px;
141
- color: #64748b;
142
- }
143
-
144
- .field {
145
- display: grid;
146
- gap: 6px;
147
- }
148
-
149
- .field input {
150
- min-height: 36px;
151
- width: 100%;
152
- border: 1px solid #cad5e2;
153
- border-radius: 6px;
154
- padding: 0 10px;
155
- }
156
-
157
- .field select {
158
- min-height: 36px;
159
- width: 100%;
160
- border: 1px solid #cad5e2;
161
- border-radius: 6px;
162
- padding: 0 10px;
163
- color: #1f2933;
164
- background: #fff;
165
- }
166
-
167
- .mobile-qr {
168
- display: grid;
169
- justify-items: center;
170
- gap: 8px;
171
- margin-top: 10px;
172
- }
173
-
174
- .mobile-qr img {
175
- width: 320px;
176
- height: 320px;
177
- border: 1px solid #d7dee8;
178
- border-radius: 6px;
179
- background: #fff;
180
- }
181
-
182
- #mobile-qr-status {
183
- max-width: 320px;
184
- text-align: center;
185
- font-size: 12px;
186
- color: #6b7280;
187
- }
188
-
189
- .logs {
190
- display: grid;
191
- gap: 8px;
192
- max-height: 38vh;
193
- overflow: auto;
194
- }
195
-
196
- .csp-violations {
197
- border: 1px solid #dc2626;
198
- border-radius: 8px;
199
- padding: 12px;
200
- color: #7f1d1d;
201
- background: #fef2f2;
202
- }
203
-
204
- .csp-violations[hidden] {
205
- display: none;
206
- }
207
-
208
- .csp-violations > strong {
209
- display: block;
210
- color: #991b1b;
211
- font-size: 14px;
212
- }
213
-
214
- .csp-violations ol {
215
- display: grid;
216
- gap: 8px;
217
- margin: 8px 0 0;
218
- padding-left: 20px;
219
- }
220
-
221
- .csp-violations li strong,
222
- .csp-violations li span {
223
- display: block;
224
- overflow-wrap: anywhere;
225
- }
226
-
227
- .csp-violations li span {
228
- margin-top: 2px;
229
- font-size: 12px;
230
- }
231
-
232
- .log {
233
- border: 1px solid #d7dee8;
234
- border-radius: 8px;
235
- padding: 10px;
236
- background: #fff;
237
- }
238
-
239
- .log strong {
240
- display: block;
241
- overflow-wrap: anywhere;
242
- font-size: 13px;
243
- }
244
-
245
- .log pre,
246
- .block pre {
247
- margin: 8px 0 0;
248
- overflow: auto;
249
- color: #475569;
250
- font-size: 12px;
251
- line-height: 1.45;
252
- white-space: pre-wrap;
253
- }
254
-
255
- .stage {
256
- display: grid;
257
- place-items: center;
258
- height: 100vh;
259
- min-height: 0;
260
- min-width: 0;
261
- overflow: hidden;
262
- padding: 22px;
263
- }
264
-
265
- .device {
266
- width: min(430px, 100%);
267
- height: min(860px, calc(100vh - 44px));
268
- overflow: hidden;
269
- border: 1px solid #cad5e2;
270
- border-radius: 22px;
271
- background: #fff;
272
- box-shadow: 0 20px 45px rgba(15, 23, 42, 0.15);
273
- }
274
-
275
- iframe {
276
- width: 100%;
277
- height: 100%;
278
- border: 0;
279
- background: #fff;
280
- }
281
-
282
- .error {
283
- padding: 24px;
284
- color: #991b1b;
285
- }
286
-
287
- .placeholder {
288
- display: grid;
289
- place-items: center;
290
- height: 100%;
291
- padding: 24px;
292
- color: #64748b;
293
- text-align: center;
294
- }
295
-
296
- .hb-sdk-auth-dialog {
297
- position: fixed;
298
- inset: 0;
299
- z-index: 40;
300
- display: grid;
301
- place-items: center;
302
- padding: 24px;
303
- background: rgba(15, 23, 42, 0.45);
304
- }
305
-
306
- .hb-sdk-auth-dialog__panel {
307
- width: min(360px, 100%);
308
- border-radius: 12px;
309
- padding: 20px;
310
- background: #fff;
311
- box-shadow: 0 20px 45px rgba(15, 23, 42, 0.2);
312
- }
313
-
314
- .hb-sdk-auth-dialog__panel h2 {
315
- margin: 0 0 8px;
316
- font-size: 18px;
317
- }
318
-
319
- .hb-sdk-auth-dialog__app,
320
- .hb-sdk-auth-dialog__profile {
321
- margin: 0 0 12px;
322
- color: #475569;
323
- line-height: 1.5;
324
- }
325
-
326
- .hb-sdk-auth-dialog__scopes {
327
- margin: 0 0 16px;
328
- padding-left: 18px;
329
- color: #1f2933;
330
- line-height: 1.6;
331
- }
332
-
333
- .hb-sdk-auth-dialog__actions {
334
- display: flex;
335
- justify-content: flex-end;
336
- gap: 8px;
337
- }
338
-
339
- .hb-sdk-auth-dialog__actions button {
340
- min-height: 36px;
341
- border: 1px solid #cad5e2;
342
- border-radius: 6px;
343
- padding: 0 12px;
344
- background: #fff;
345
- cursor: pointer;
346
- }
347
-
348
- .hb-sdk-auth-dialog__actions .primary {
349
- border-color: #2563eb;
350
- color: #fff;
351
- background: #2563eb;
352
- }
353
-
354
- @media (max-width: 860px) {
355
- body {
356
- height: auto;
357
- min-height: 100vh;
358
- overflow: auto;
359
- }
360
-
361
- .layout {
362
- grid-template-columns: 1fr;
363
- height: auto;
364
- min-height: 100vh;
365
- }
366
-
367
- .panel {
368
- overflow: visible;
369
- border-right: 0;
370
- border-bottom: 1px solid #d7dee8;
371
- }
372
-
373
- .stage {
374
- height: auto;
375
- min-height: 80vh;
376
- }
377
- }
378
- </style>
6
+ <meta name="theme-color" content="#f4f5f7" />
7
+ <title>小程序工坊调试台</title>
8
+ <script type="module" crossorigin src="/assets/index-CeP6SLB3.js"></script>
9
+ <link rel="modulepreload" crossorigin href="/assets/workbench-state-D-1U0JRq.js">
10
+ <link rel="stylesheet" crossorigin href="/assets/index-KD2f3Jdz.css">
379
11
  </head>
380
12
  <body>
381
- <div class="layout">
382
- <aside class="panel">
383
- <h1>HB SDK Browser Dev Host</h1>
384
-
385
- <section class="block">
386
- <span>开发者</span>
387
- <div class="account">
388
- <img class="account__avatar" id="developer-avatar" alt="" hidden />
389
- <div class="account__meta">
390
- <strong id="developer-name"></strong>
391
- <span id="developer-hint"></span>
392
- </div>
393
- </div>
394
- </section>
395
-
396
- <section class="block">
397
- <span>小程序</span>
398
- <div class="mini-program" id="mini-program-summary" hidden>
399
- <img class="mini-program__icon" id="mini-program-icon" alt="" hidden />
400
- <div class="mini-program__meta">
401
- <strong id="mini-program-name"></strong>
402
- <span id="mini-program-id"></span>
403
- </div>
404
- </div>
405
- <div class="status" id="mini-program-empty" hidden>
406
- 当前项目未绑定小程序,请运行 hb-sdk remote create 或 hb-sdk remote bind &lt;mini-program-id&gt;。
407
- </div>
408
- </section>
409
-
410
- <section class="block">
411
- <span>Mobile App</span>
412
- <label class="field" style="margin-top: 10px">
413
- <span>Network</span>
414
- <select id="mobile-lan-select"></select>
415
- </label>
416
- <div class="mobile-qr">
417
- <img id="mobile-qr-image" alt="手机扫码调试二维码" />
418
- <div class="copy-status" id="mobile-qr-status"></div>
419
- </div>
420
- </section>
421
-
422
- <section class="csp-violations" id="csp-violations" hidden>
423
- <strong>网络或资源请求已被 CSP 阻止</strong>
424
- </section>
425
-
426
- <section class="block">
427
- <span>Storage Snapshot</span>
428
- <pre id="storage-snapshot">{}</pre>
429
- </section>
430
-
431
- <section class="block">
432
- <span>Call Logs</span>
433
- <div class="logs" id="logs"></div>
434
- </section>
435
- </aside>
436
-
437
- <main class="stage">
438
- <div class="device" id="device"></div>
439
- </main>
440
- </div>
441
-
442
- <script type="module" src="./main.js"></script>
13
+ <div id="app"></div>
443
14
  </body>
444
15
  </html>