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

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 (64) hide show
  1. package/CHANGELOG.md +44 -1
  2. package/README.md +87 -14
  3. package/THIRD_PARTY_NOTICES.md +1755 -0
  4. package/dist/cli-chunks/{build-DJWFSM1B.cjs → build-qWzAbpS7.cjs} +2 -2
  5. package/dist/cli-chunks/{context-DV2UK1Nz.cjs → context-CtS2Thp0.cjs} +1 -26
  6. package/dist/cli-chunks/{create-2HfoB48V.cjs → create-PV5ua977.cjs} +1 -1
  7. package/dist/cli-chunks/{dev-Dgt2zS9k.cjs → dev-CwKbAm_H.cjs} +337 -522
  8. package/dist/cli-chunks/doctor-tJUGOYrm.cjs +65 -0
  9. package/dist/cli-chunks/{index-BjoSXl8C.cjs → index-DVuD75Hr.cjs} +1 -1
  10. package/dist/cli-chunks/{index-D62ANeBv.cjs → index-De687C6-.cjs} +33 -24
  11. package/dist/cli-chunks/{index.esm-CigcxJ2B.cjs → index.esm-B-4yrLNm.cjs} +6 -5
  12. package/dist/cli-chunks/{login-Cumknwdx.cjs → login-DolpqD8K.cjs} +2 -2
  13. package/dist/cli-chunks/{project-vite-CcE-HMmd.cjs → project-vite-1rvkK-M8.cjs} +1 -1
  14. package/dist/cli-chunks/{remote-DDdP3xcE.cjs → remote-rIAQE_G2.cjs} +4 -4
  15. package/dist/cli-chunks/{session-BDi_AZSv.cjs → session-CzaM2Cq3.cjs} +1 -1
  16. package/dist/cli-chunks/skill-CM40_9WH.cjs +83 -0
  17. package/dist/cli-chunks/version-Bz-AfXQU.cjs +8 -0
  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 +924 -28
  26. package/dist/index.esm.js +924 -29
  27. package/dist/protocol.cjs.js +208 -6
  28. package/dist/protocol.esm.js +182 -7
  29. package/dist/vite.cjs.js +1 -1
  30. package/dist/vite.esm.js +1 -1
  31. package/package.json +29 -10
  32. package/skill/SKILL.md +16 -13
  33. package/skill/references/api-protocol.md +100 -4
  34. package/skill/references/api-root.md +142 -15
  35. package/skill/references/cli.md +27 -22
  36. package/skill/references/examples.md +30 -1
  37. package/skill/references/llms-index.md +1 -1
  38. package/skill/references/recipes.md +106 -2
  39. package/skill/references/safety-boundaries.md +12 -1
  40. package/skill/skill.json +10 -5
  41. package/types/core/client.d.ts +17 -1
  42. package/types/core/sdk.d.ts +3 -0
  43. package/types/core/singleton.d.ts +3 -0
  44. package/types/index.d.ts +4 -2
  45. package/types/modules/files/index.d.ts +5 -0
  46. package/types/modules/files/registry.d.ts +35 -0
  47. package/types/modules/files/types.d.ts +159 -0
  48. package/types/modules/network/index.d.ts +50 -3
  49. package/types/protocol/capabilities.d.ts +2 -2
  50. package/types/protocol/constants.d.ts +1 -1
  51. package/types/protocol/guards.d.ts +1 -1
  52. package/types/protocol/types.d.ts +1 -1
  53. package/types/protocol.d.ts +4 -3
  54. package/types/skill-metadata.d.ts +0 -4
  55. package/dist/cli-chunks/doctor-C95gIao_.cjs +0 -204
  56. package/dist/devtools/browser-dev-host/main.js +0 -12263
  57. package/skill/scripts/check-references.mjs +0 -14
  58. package/skill/scripts/markdown-sections.mjs +0 -36
  59. package/skill/scripts/package-skill.mjs +0 -60
  60. package/skill/scripts/package-skill.sh +0 -6
  61. package/skill/scripts/skill-metadata.mjs +0 -77
  62. package/skill/scripts/sync-agent-skills-payload.mjs +0 -359
  63. package/skill/scripts/sync-references.mjs +0 -794
  64. 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-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>