@heybox/hb-sdk 0.8.0-alpha → 0.8.0-alpha.12

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 (96) hide show
  1. package/CHANGELOG.md +106 -395
  2. package/README.md +107 -24
  3. package/THIRD_PARTY_NOTICES.md +1755 -0
  4. package/dist/cli-chunks/{build-DJWFSM1B.cjs → build-DNtjBmyy.cjs} +8 -5
  5. package/dist/cli-chunks/{context-DV2UK1Nz.cjs → context-CO_3KgM_.cjs} +39 -81
  6. package/dist/cli-chunks/{create-2HfoB48V.cjs → create-DG8JxrPU.cjs} +2 -2
  7. package/dist/cli-chunks/{dev-Dgt2zS9k.cjs → dev-C5U1Lo4e.cjs} +404 -577
  8. package/dist/cli-chunks/doctor-B50OXvrj.cjs +65 -0
  9. package/dist/cli-chunks/{index-D62ANeBv.cjs → index-B4nFqf-3.cjs} +50 -30
  10. package/dist/cli-chunks/{index-BjoSXl8C.cjs → index-B8FK1ojC.cjs} +2 -2
  11. package/dist/cli-chunks/{index.esm-CigcxJ2B.cjs → index.esm-DiX5WKSp.cjs} +8 -7
  12. package/dist/cli-chunks/{login-Cumknwdx.cjs → login-CBwmxsEK.cjs} +2 -2
  13. package/dist/cli-chunks/{project-vite-CcE-HMmd.cjs → project-vite-DWpmHOsV.cjs} +1 -1
  14. package/dist/cli-chunks/{remote-DDdP3xcE.cjs → remote-Dt-U4gDD.cjs} +57 -25
  15. package/dist/cli-chunks/{runtime-gate-DFjw66kF.cjs → runtime-gate-CMnGCdfq.cjs} +11 -3
  16. package/dist/cli-chunks/{runtime-permission-env-CjsCe5bp.cjs → runtime-permission-env-BcUsO3nG.cjs} +351 -0
  17. package/dist/cli-chunks/{session-BDi_AZSv.cjs → session-yy543BIB.cjs} +1 -1
  18. package/dist/cli-chunks/skill-B4SWt2o6.cjs +83 -0
  19. package/dist/cli-chunks/version-CmizPu7D.cjs +8 -0
  20. package/dist/cli.cjs +1 -1
  21. package/dist/devtools/browser-dev-host/assets/browser-dev-host-TzYf9L6C.js +99 -0
  22. package/dist/devtools/browser-dev-host/assets/heybox-logo-CogNENsk.svg +6 -0
  23. package/dist/devtools/browser-dev-host/assets/index-C5MZZDa5.js +567 -0
  24. package/dist/devtools/browser-dev-host/assets/index-P-ra4m1y.css +1 -0
  25. package/dist/devtools/browser-dev-host/assets/workbench-state-BwV7bm4n.js +5 -0
  26. package/dist/devtools/browser-dev-host/index.html +6 -435
  27. package/dist/index.cjs.js +1023 -29
  28. package/dist/index.esm.js +1023 -30
  29. package/dist/protocol.cjs.js +381 -37
  30. package/dist/protocol.esm.js +355 -38
  31. package/dist/templates/{vue3-vite-ts → vanilla-vite-js}/.gitignore.ejs +0 -1
  32. package/dist/templates/vanilla-vite-js/README.md.ejs +14 -0
  33. package/dist/templates/vanilla-vite-js/index.html.ejs +20 -0
  34. package/dist/templates/vanilla-vite-js/package.json.ejs +22 -0
  35. package/dist/templates/vanilla-vite-js/src/assets/heybox-logo.svg +8 -0
  36. package/dist/templates/vanilla-vite-js/src/main.js +39 -0
  37. package/dist/templates/vanilla-vite-js/src/styles.css +155 -0
  38. package/dist/templates/{vue3-vite-ts/vite.config.ts → vanilla-vite-js/vite.config.js} +1 -2
  39. package/dist/vite.cjs.js +281 -13
  40. package/dist/vite.esm.js +281 -13
  41. package/package.json +34 -11
  42. package/skill/SKILL.md +22 -20
  43. package/skill/references/api-protocol.md +100 -6
  44. package/skill/references/api-root.md +199 -28
  45. package/skill/references/cli.md +41 -24
  46. package/skill/references/examples.md +30 -1
  47. package/skill/references/llms-index.md +1 -1
  48. package/skill/references/recipes.md +139 -36
  49. package/skill/references/safety-boundaries.md +20 -5
  50. package/skill/skill.json +10 -5
  51. package/types/core/client.d.ts +17 -1
  52. package/types/core/mini-dev-console.d.ts +36 -0
  53. package/types/core/sdk.d.ts +3 -0
  54. package/types/core/singleton.d.ts +3 -0
  55. package/types/index.d.ts +4 -2
  56. package/types/miniapp-manifest/index.d.ts +1 -0
  57. package/types/miniapp-manifest/node.d.ts +3 -0
  58. package/types/miniapp-manifest/permissions.d.ts +37 -0
  59. package/types/miniapp-manifest/schema.d.ts +5 -0
  60. package/types/modules/files/index.d.ts +5 -0
  61. package/types/modules/files/registry.d.ts +35 -0
  62. package/types/modules/files/types.d.ts +159 -0
  63. package/types/modules/network/index.d.ts +50 -3
  64. package/types/modules/share/index.d.ts +1 -1
  65. package/types/modules/share/show-share-menu.d.ts +1 -1
  66. package/types/modules/share/types.d.ts +2 -4
  67. package/types/protocol/capabilities.d.ts +2 -2
  68. package/types/protocol/constants.d.ts +1 -1
  69. package/types/protocol/guards.d.ts +1 -1
  70. package/types/protocol/types.d.ts +1 -1
  71. package/types/protocol.d.ts +4 -3
  72. package/types/skill-metadata.d.ts +0 -4
  73. package/types/vite/index.d.ts +3 -1
  74. package/dist/cli-chunks/doctor-C95gIao_.cjs +0 -204
  75. package/dist/devtools/browser-dev-host/main.js +0 -12263
  76. package/dist/templates/vue3-vite-ts/README.md.ejs +0 -47
  77. package/dist/templates/vue3-vite-ts/index.html.ejs +0 -12
  78. package/dist/templates/vue3-vite-ts/package.json.ejs +0 -33
  79. package/dist/templates/vue3-vite-ts/src/App.vue +0 -78
  80. package/dist/templates/vue3-vite-ts/src/__tests__/App.spec.ts +0 -148
  81. package/dist/templates/vue3-vite-ts/src/auth-handoff.ts +0 -46
  82. package/dist/templates/vue3-vite-ts/src/main.ts +0 -5
  83. package/dist/templates/vue3-vite-ts/src/styles.css +0 -60
  84. package/dist/templates/vue3-vite-ts/src/vite-env.d.ts +0 -1
  85. package/dist/templates/vue3-vite-ts/tsconfig.app.json +0 -17
  86. package/dist/templates/vue3-vite-ts/tsconfig.json +0 -11
  87. package/dist/templates/vue3-vite-ts/tsconfig.node.json +0 -11
  88. package/dist/templates/vue3-vite-ts/vitest.config.ts +0 -10
  89. package/skill/scripts/check-references.mjs +0 -14
  90. package/skill/scripts/markdown-sections.mjs +0 -36
  91. package/skill/scripts/package-skill.mjs +0 -60
  92. package/skill/scripts/package-skill.sh +0 -6
  93. package/skill/scripts/skill-metadata.mjs +0 -77
  94. package/skill/scripts/sync-agent-skills-payload.mjs +0 -359
  95. package/skill/scripts/sync-references.mjs +0 -794
  96. package/skill/scripts/validate-skill.mjs +0 -263
@@ -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-C5MZZDa5.js"></script>
9
+ <link rel="modulepreload" crossorigin href="/assets/workbench-state-BwV7bm4n.js">
10
+ <link rel="stylesheet" crossorigin href="/assets/index-P-ra4m1y.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>