@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.
- package/CHANGELOG.md +44 -1
- package/README.md +87 -14
- package/THIRD_PARTY_NOTICES.md +1755 -0
- package/dist/cli-chunks/{build-DJWFSM1B.cjs → build-qWzAbpS7.cjs} +2 -2
- package/dist/cli-chunks/{context-DV2UK1Nz.cjs → context-CtS2Thp0.cjs} +1 -26
- package/dist/cli-chunks/{create-2HfoB48V.cjs → create-PV5ua977.cjs} +1 -1
- package/dist/cli-chunks/{dev-Dgt2zS9k.cjs → dev-CwKbAm_H.cjs} +337 -522
- package/dist/cli-chunks/doctor-tJUGOYrm.cjs +65 -0
- package/dist/cli-chunks/{index-BjoSXl8C.cjs → index-DVuD75Hr.cjs} +1 -1
- package/dist/cli-chunks/{index-D62ANeBv.cjs → index-De687C6-.cjs} +33 -24
- package/dist/cli-chunks/{index.esm-CigcxJ2B.cjs → index.esm-B-4yrLNm.cjs} +6 -5
- package/dist/cli-chunks/{login-Cumknwdx.cjs → login-DolpqD8K.cjs} +2 -2
- package/dist/cli-chunks/{project-vite-CcE-HMmd.cjs → project-vite-1rvkK-M8.cjs} +1 -1
- package/dist/cli-chunks/{remote-DDdP3xcE.cjs → remote-rIAQE_G2.cjs} +4 -4
- package/dist/cli-chunks/{session-BDi_AZSv.cjs → session-CzaM2Cq3.cjs} +1 -1
- package/dist/cli-chunks/skill-CM40_9WH.cjs +83 -0
- package/dist/cli-chunks/version-Bz-AfXQU.cjs +8 -0
- package/dist/cli.cjs +1 -1
- package/dist/devtools/browser-dev-host/assets/browser-dev-host-uq-Wac6k.js +97 -0
- package/dist/devtools/browser-dev-host/assets/heybox-logo-CogNENsk.svg +6 -0
- package/dist/devtools/browser-dev-host/assets/index-CeP6SLB3.js +567 -0
- package/dist/devtools/browser-dev-host/assets/index-KD2f3Jdz.css +1 -0
- package/dist/devtools/browser-dev-host/assets/workbench-state-D-1U0JRq.js +5 -0
- package/dist/devtools/browser-dev-host/index.html +6 -435
- package/dist/index.cjs.js +924 -28
- package/dist/index.esm.js +924 -29
- package/dist/protocol.cjs.js +208 -6
- package/dist/protocol.esm.js +182 -7
- package/dist/vite.cjs.js +1 -1
- package/dist/vite.esm.js +1 -1
- package/package.json +29 -10
- package/skill/SKILL.md +16 -13
- package/skill/references/api-protocol.md +100 -4
- package/skill/references/api-root.md +142 -15
- package/skill/references/cli.md +27 -22
- package/skill/references/examples.md +30 -1
- package/skill/references/llms-index.md +1 -1
- package/skill/references/recipes.md +106 -2
- package/skill/references/safety-boundaries.md +12 -1
- package/skill/skill.json +10 -5
- package/types/core/client.d.ts +17 -1
- package/types/core/sdk.d.ts +3 -0
- package/types/core/singleton.d.ts +3 -0
- package/types/index.d.ts +4 -2
- package/types/modules/files/index.d.ts +5 -0
- package/types/modules/files/registry.d.ts +35 -0
- package/types/modules/files/types.d.ts +159 -0
- package/types/modules/network/index.d.ts +50 -3
- package/types/protocol/capabilities.d.ts +2 -2
- package/types/protocol/constants.d.ts +1 -1
- package/types/protocol/guards.d.ts +1 -1
- package/types/protocol/types.d.ts +1 -1
- package/types/protocol.d.ts +4 -3
- package/types/skill-metadata.d.ts +0 -4
- package/dist/cli-chunks/doctor-C95gIao_.cjs +0 -204
- package/dist/devtools/browser-dev-host/main.js +0 -12263
- package/skill/scripts/check-references.mjs +0 -14
- package/skill/scripts/markdown-sections.mjs +0 -36
- package/skill/scripts/package-skill.mjs +0 -60
- package/skill/scripts/package-skill.sh +0 -6
- package/skill/scripts/skill-metadata.mjs +0 -77
- package/skill/scripts/sync-agent-skills-payload.mjs +0 -359
- package/skill/scripts/sync-references.mjs +0 -794
- package/skill/scripts/validate-skill.mjs +0 -263
package/dist/protocol.cjs.js
CHANGED
|
@@ -12,6 +12,22 @@ const VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD = 'viewport.setNavigationBarStyle
|
|
|
12
12
|
const STORAGE_GET_STORAGE_METHOD = 'storage.getStorage';
|
|
13
13
|
const STORAGE_SET_STORAGE_METHOD = 'storage.setStorage';
|
|
14
14
|
const NETWORK_REQUEST_METHOD = 'network.request';
|
|
15
|
+
const NETWORK_DOWNLOAD_METHOD = 'network.download';
|
|
16
|
+
const FILES_PICK_FILES_METHOD = 'files.pickFiles';
|
|
17
|
+
const FILES_PICK_DIRECTORY_METHOD = 'files.pickDirectory';
|
|
18
|
+
const FILES_SAVE_FILE_METHOD = 'files.saveFile';
|
|
19
|
+
const FILE_CREATE_METHOD = 'file.create';
|
|
20
|
+
const FILE_REMOVE_METHOD = 'file.remove';
|
|
21
|
+
const FILE_EXISTS_METHOD = 'file.exists';
|
|
22
|
+
const FILE_READ_TEXT_METHOD = 'file.readText';
|
|
23
|
+
const FILE_WRITE_TEXT_METHOD = 'file.writeText';
|
|
24
|
+
const FILE_READ_BYTES_METHOD = 'file.readBytes';
|
|
25
|
+
const FILE_WRITE_BYTES_METHOD = 'file.writeBytes';
|
|
26
|
+
const FILE_STAT_METHOD = 'file.stat';
|
|
27
|
+
const DIRECTORY_CREATE_METHOD = 'directory.create';
|
|
28
|
+
const DIRECTORY_REMOVE_METHOD = 'directory.remove';
|
|
29
|
+
const DIRECTORY_EXISTS_METHOD = 'directory.exists';
|
|
30
|
+
const DIRECTORY_LIST_METHOD = 'directory.list';
|
|
15
31
|
const UI_SHOW_TOAST_METHOD = 'ui.showToast';
|
|
16
32
|
const UI_SHOW_LOADING_METHOD = 'ui.showLoading';
|
|
17
33
|
const UI_HIDE_LOADING_METHOD = 'ui.hideLoading';
|
|
@@ -62,6 +78,46 @@ const MINI_PROGRAM_PROTOCOL_CAPABILITIES = [
|
|
|
62
78
|
{ method: STORAGE_GET_STORAGE_METHOD, module: 'storage', capability: STORAGE_GET_STORAGE_METHOD, permission: 'storage.read', risk: 'low' },
|
|
63
79
|
{ method: STORAGE_SET_STORAGE_METHOD, module: 'storage', capability: STORAGE_SET_STORAGE_METHOD, permission: 'storage.write', risk: 'medium' },
|
|
64
80
|
{ method: NETWORK_REQUEST_METHOD, module: 'network', capability: NETWORK_REQUEST_METHOD, permission: 'network.request', risk: 'high' },
|
|
81
|
+
{ method: NETWORK_DOWNLOAD_METHOD, module: 'network', capability: NETWORK_DOWNLOAD_METHOD, permission: 'network.request', risk: 'high' },
|
|
82
|
+
{ method: FILES_PICK_FILES_METHOD, module: 'files', capability: FILES_PICK_FILES_METHOD, permission: 'files.external', risk: 'high' },
|
|
83
|
+
{
|
|
84
|
+
method: FILES_PICK_DIRECTORY_METHOD,
|
|
85
|
+
module: 'files',
|
|
86
|
+
capability: FILES_PICK_DIRECTORY_METHOD,
|
|
87
|
+
permission: 'files.external',
|
|
88
|
+
risk: 'high',
|
|
89
|
+
},
|
|
90
|
+
{ method: FILES_SAVE_FILE_METHOD, module: 'files', capability: FILES_SAVE_FILE_METHOD, permission: 'files.external', risk: 'high' },
|
|
91
|
+
{ method: FILE_CREATE_METHOD, module: 'file', capability: FILE_CREATE_METHOD, permission: 'files.access', risk: 'high' },
|
|
92
|
+
{ method: FILE_REMOVE_METHOD, module: 'file', capability: FILE_REMOVE_METHOD, permission: 'files.access', risk: 'high' },
|
|
93
|
+
{ method: FILE_EXISTS_METHOD, module: 'file', capability: FILE_EXISTS_METHOD, permission: 'files.access', risk: 'high' },
|
|
94
|
+
{ method: FILE_READ_TEXT_METHOD, module: 'file', capability: FILE_READ_TEXT_METHOD, permission: 'files.access', risk: 'high' },
|
|
95
|
+
{ method: FILE_WRITE_TEXT_METHOD, module: 'file', capability: FILE_WRITE_TEXT_METHOD, permission: 'files.access', risk: 'high' },
|
|
96
|
+
{ method: FILE_READ_BYTES_METHOD, module: 'file', capability: FILE_READ_BYTES_METHOD, permission: 'files.access', risk: 'high' },
|
|
97
|
+
{ method: FILE_WRITE_BYTES_METHOD, module: 'file', capability: FILE_WRITE_BYTES_METHOD, permission: 'files.access', risk: 'high' },
|
|
98
|
+
{ method: FILE_STAT_METHOD, module: 'file', capability: FILE_STAT_METHOD, permission: 'files.access', risk: 'high' },
|
|
99
|
+
{
|
|
100
|
+
method: DIRECTORY_CREATE_METHOD,
|
|
101
|
+
module: 'directory',
|
|
102
|
+
capability: DIRECTORY_CREATE_METHOD,
|
|
103
|
+
permission: 'files.access',
|
|
104
|
+
risk: 'high',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
method: DIRECTORY_REMOVE_METHOD,
|
|
108
|
+
module: 'directory',
|
|
109
|
+
capability: DIRECTORY_REMOVE_METHOD,
|
|
110
|
+
permission: 'files.access',
|
|
111
|
+
risk: 'high',
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
method: DIRECTORY_EXISTS_METHOD,
|
|
115
|
+
module: 'directory',
|
|
116
|
+
capability: DIRECTORY_EXISTS_METHOD,
|
|
117
|
+
permission: 'files.access',
|
|
118
|
+
risk: 'high',
|
|
119
|
+
},
|
|
120
|
+
{ method: DIRECTORY_LIST_METHOD, module: 'directory', capability: DIRECTORY_LIST_METHOD, permission: 'files.access', risk: 'high' },
|
|
65
121
|
{ method: UI_SHOW_TOAST_METHOD, module: 'ui', capability: UI_SHOW_TOAST_METHOD, permission: 'ui.toast', risk: 'low' },
|
|
66
122
|
{ method: UI_SHOW_LOADING_METHOD, module: 'ui', capability: UI_SHOW_LOADING_METHOD, permission: 'ui.loading', risk: 'low' },
|
|
67
123
|
{ method: UI_HIDE_LOADING_METHOD, module: 'ui', capability: UI_HIDE_LOADING_METHOD, permission: 'ui.loading', risk: 'low' },
|
|
@@ -126,15 +182,134 @@ const SDK_HANDSHAKE_METHOD = 'sdk.handshake';
|
|
|
126
182
|
const RUNTIME_LOCATION_PROBE_METHOD = 'runtime.location.probe';
|
|
127
183
|
const SDK_LOCATION_REPORT_METHOD = 'sdk.location.report';
|
|
128
184
|
const SDK_CSP_VIOLATION_METHOD = 'sdk.csp.violation';
|
|
185
|
+
const MINI_PROGRAM_OPERATION_PROGRESS_METHOD = 'operation.progress';
|
|
129
186
|
|
|
130
187
|
function isMiniProgramBridgeMessage(value) {
|
|
131
|
-
if (!value
|
|
188
|
+
if (!isRecord$1(value))
|
|
189
|
+
return false;
|
|
190
|
+
if (value.namespace !== MINI_PROGRAM_MESSAGE_NAMESPACE || (value.version !== 1 && value.version !== 2) || !isNonEmptyString(value.nonce)) {
|
|
132
191
|
return false;
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
(
|
|
136
|
-
|
|
137
|
-
|
|
192
|
+
}
|
|
193
|
+
if (value.type === 'handshake') {
|
|
194
|
+
return isNonEmptyString(value.id) && value.method === SDK_HANDSHAKE_METHOD && value.error === undefined && isSDKHandshakePayload(value.payload);
|
|
195
|
+
}
|
|
196
|
+
if (value.type === 'request') {
|
|
197
|
+
return isNonEmptyString(value.id) && isNonEmptyString(value.method) && value.error === undefined;
|
|
198
|
+
}
|
|
199
|
+
if (value.type === 'response') {
|
|
200
|
+
return (isNonEmptyString(value.id) &&
|
|
201
|
+
(value.method === undefined || isNonEmptyString(value.method)) &&
|
|
202
|
+
(value.error === undefined || isBridgeError(value.error)));
|
|
203
|
+
}
|
|
204
|
+
if (value.type === 'event') {
|
|
205
|
+
if (!isNonEmptyString(value.method) || value.error !== undefined)
|
|
206
|
+
return false;
|
|
207
|
+
if (value.method === MINI_PROGRAM_OPERATION_PROGRESS_METHOD) {
|
|
208
|
+
return value.version === 2 && isNonEmptyString(value.id) && isMiniProgramDownloadProgressPayload(value.payload);
|
|
209
|
+
}
|
|
210
|
+
return value.id === undefined || isNonEmptyString(value.id);
|
|
211
|
+
}
|
|
212
|
+
if (value.type === 'cancel') {
|
|
213
|
+
return (value.version === 2 && isNonEmptyString(value.id) && value.method === undefined && value.payload === undefined && value.error === undefined);
|
|
214
|
+
}
|
|
215
|
+
return false;
|
|
216
|
+
}
|
|
217
|
+
function isMiniProgramRelativePath(value) {
|
|
218
|
+
if (typeof value !== 'string' || !value || value.startsWith('/') || value.endsWith('/')) {
|
|
219
|
+
return false;
|
|
220
|
+
}
|
|
221
|
+
if (/[\\\u0000-\u001f\u007f]/.test(value))
|
|
222
|
+
return false;
|
|
223
|
+
return value.split('/').every((segment) => Boolean(segment) && segment !== '.' && segment !== '..');
|
|
224
|
+
}
|
|
225
|
+
function isMiniProgramPathRootRef(value) {
|
|
226
|
+
if (!isRecord$1(value))
|
|
227
|
+
return false;
|
|
228
|
+
if (value.kind === 'sandbox')
|
|
229
|
+
return hasOnlyKeys(value, ['kind']);
|
|
230
|
+
return value.kind === 'directory' && isNonEmptyString(value.handleId) && hasOnlyKeys(value, ['kind', 'handleId']);
|
|
231
|
+
}
|
|
232
|
+
function isMiniProgramFileRef(value) {
|
|
233
|
+
if (!isRecord$1(value) || value.kind !== 'file')
|
|
234
|
+
return false;
|
|
235
|
+
if (isNonEmptyString(value.handleId)) {
|
|
236
|
+
return hasOnlyKeys(value, ['kind', 'handleId']);
|
|
237
|
+
}
|
|
238
|
+
return (isMiniProgramPathRootRef(value.root) && isMiniProgramRelativePath(value.relativePath) && hasOnlyKeys(value, ['kind', 'root', 'relativePath']));
|
|
239
|
+
}
|
|
240
|
+
function isMiniProgramDirectoryRef(value) {
|
|
241
|
+
if (!isRecord$1(value) || value.kind !== 'directory')
|
|
242
|
+
return false;
|
|
243
|
+
if (isNonEmptyString(value.handleId)) {
|
|
244
|
+
return hasOnlyKeys(value, ['kind', 'handleId']);
|
|
245
|
+
}
|
|
246
|
+
return (isMiniProgramPathRootRef(value.root) && isMiniProgramRelativePath(value.relativePath) && hasOnlyKeys(value, ['kind', 'root', 'relativePath']));
|
|
247
|
+
}
|
|
248
|
+
function isMiniProgramFileDescriptor(value) {
|
|
249
|
+
return (isRecord$1(value) &&
|
|
250
|
+
value.kind === 'file' &&
|
|
251
|
+
isNonEmptyString(value.name) &&
|
|
252
|
+
isFileMode(value.mode) &&
|
|
253
|
+
isMiniProgramFileRef(value.ref) &&
|
|
254
|
+
hasOnlyKeys(value, ['kind', 'name', 'mode', 'ref']));
|
|
255
|
+
}
|
|
256
|
+
function isMiniProgramDirectoryDescriptor(value) {
|
|
257
|
+
return (isRecord$1(value) &&
|
|
258
|
+
value.kind === 'directory' &&
|
|
259
|
+
isNonEmptyString(value.name) &&
|
|
260
|
+
isFileMode(value.mode) &&
|
|
261
|
+
isMiniProgramDirectoryRef(value.ref) &&
|
|
262
|
+
hasOnlyKeys(value, ['kind', 'name', 'mode', 'ref']));
|
|
263
|
+
}
|
|
264
|
+
function isMiniProgramFileSystemEntityDescriptor(value) {
|
|
265
|
+
return isMiniProgramFileDescriptor(value) || isMiniProgramDirectoryDescriptor(value);
|
|
266
|
+
}
|
|
267
|
+
function isMiniProgramByteArray(value) {
|
|
268
|
+
return value instanceof Uint8Array && value.buffer instanceof ArrayBuffer;
|
|
269
|
+
}
|
|
270
|
+
function isMiniProgramFileStat(value) {
|
|
271
|
+
return (isRecord$1(value) &&
|
|
272
|
+
value.kind === 'file' &&
|
|
273
|
+
isNonNegativeSafeInteger(value.size) &&
|
|
274
|
+
(value.modifiedAt === undefined || isNonNegativeFiniteNumber(value.modifiedAt)) &&
|
|
275
|
+
(value.createdAt === undefined || isNonNegativeFiniteNumber(value.createdAt)) &&
|
|
276
|
+
hasOnlyKeys(value, ['kind', 'size', 'modifiedAt', 'createdAt']));
|
|
277
|
+
}
|
|
278
|
+
function isMiniProgramDownloadProgressPayload(value) {
|
|
279
|
+
if (!isRecord$1(value) ||
|
|
280
|
+
!isNonNegativeSafeInteger(value.loaded) ||
|
|
281
|
+
typeof value.lengthComputable !== 'boolean' ||
|
|
282
|
+
!hasOnlyKeys(value, ['loaded', 'total', 'lengthComputable'])) {
|
|
283
|
+
return false;
|
|
284
|
+
}
|
|
285
|
+
if (!value.lengthComputable)
|
|
286
|
+
return value.total === undefined;
|
|
287
|
+
return isNonNegativeSafeInteger(value.total) && value.loaded <= value.total;
|
|
288
|
+
}
|
|
289
|
+
function isSDKHandshakePayload(value) {
|
|
290
|
+
return isRecord$1(value) && isNonEmptyString(value.href) && typeof value.userAgent === 'string' && isNonEmptyString(value.sdkVersion);
|
|
291
|
+
}
|
|
292
|
+
function isBridgeError(value) {
|
|
293
|
+
return isRecord$1(value) && isNonEmptyString(value.code) && typeof value.message === 'string';
|
|
294
|
+
}
|
|
295
|
+
function isFileMode(value) {
|
|
296
|
+
return value === 'read' || value === 'readwrite';
|
|
297
|
+
}
|
|
298
|
+
function isNonNegativeSafeInteger(value) {
|
|
299
|
+
return typeof value === 'number' && Number.isSafeInteger(value) && value >= 0;
|
|
300
|
+
}
|
|
301
|
+
function isNonNegativeFiniteNumber(value) {
|
|
302
|
+
return typeof value === 'number' && Number.isFinite(value) && value >= 0;
|
|
303
|
+
}
|
|
304
|
+
function isNonEmptyString(value) {
|
|
305
|
+
return typeof value === 'string' && value.length > 0;
|
|
306
|
+
}
|
|
307
|
+
function hasOnlyKeys(value, allowedKeys) {
|
|
308
|
+
const allowed = new Set(allowedKeys);
|
|
309
|
+
return Object.keys(value).every((key) => allowed.has(key));
|
|
310
|
+
}
|
|
311
|
+
function isRecord$1(value) {
|
|
312
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
138
313
|
}
|
|
139
314
|
|
|
140
315
|
/** 当前用户信息与登录能力支持的完整 scope 目录。 */
|
|
@@ -187,13 +362,30 @@ exports.CLOUD_LEADERBOARD_GET_LIST_METHOD = CLOUD_LEADERBOARD_GET_LIST_METHOD;
|
|
|
187
362
|
exports.CLOUD_LEADERBOARD_SUBMIT_METHOD = CLOUD_LEADERBOARD_SUBMIT_METHOD;
|
|
188
363
|
exports.DEVICE_SET_CLIPBOARD_METHOD = DEVICE_SET_CLIPBOARD_METHOD;
|
|
189
364
|
exports.DEVICE_VIBRATE_METHOD = DEVICE_VIBRATE_METHOD;
|
|
365
|
+
exports.DIRECTORY_CREATE_METHOD = DIRECTORY_CREATE_METHOD;
|
|
366
|
+
exports.DIRECTORY_EXISTS_METHOD = DIRECTORY_EXISTS_METHOD;
|
|
367
|
+
exports.DIRECTORY_LIST_METHOD = DIRECTORY_LIST_METHOD;
|
|
368
|
+
exports.DIRECTORY_REMOVE_METHOD = DIRECTORY_REMOVE_METHOD;
|
|
369
|
+
exports.FILES_PICK_DIRECTORY_METHOD = FILES_PICK_DIRECTORY_METHOD;
|
|
370
|
+
exports.FILES_PICK_FILES_METHOD = FILES_PICK_FILES_METHOD;
|
|
371
|
+
exports.FILES_SAVE_FILE_METHOD = FILES_SAVE_FILE_METHOD;
|
|
372
|
+
exports.FILE_CREATE_METHOD = FILE_CREATE_METHOD;
|
|
373
|
+
exports.FILE_EXISTS_METHOD = FILE_EXISTS_METHOD;
|
|
374
|
+
exports.FILE_READ_BYTES_METHOD = FILE_READ_BYTES_METHOD;
|
|
375
|
+
exports.FILE_READ_TEXT_METHOD = FILE_READ_TEXT_METHOD;
|
|
376
|
+
exports.FILE_REMOVE_METHOD = FILE_REMOVE_METHOD;
|
|
377
|
+
exports.FILE_STAT_METHOD = FILE_STAT_METHOD;
|
|
378
|
+
exports.FILE_WRITE_BYTES_METHOD = FILE_WRITE_BYTES_METHOD;
|
|
379
|
+
exports.FILE_WRITE_TEXT_METHOD = FILE_WRITE_TEXT_METHOD;
|
|
190
380
|
exports.MINI_PROGRAM_BRIDGE_NONCE_PARAM = MINI_PROGRAM_BRIDGE_NONCE_PARAM;
|
|
191
381
|
exports.MINI_PROGRAM_MESSAGE_NAMESPACE = MINI_PROGRAM_MESSAGE_NAMESPACE;
|
|
192
382
|
exports.MINI_PROGRAM_MESSAGE_VERSION = MINI_PROGRAM_MESSAGE_VERSION;
|
|
383
|
+
exports.MINI_PROGRAM_OPERATION_PROGRESS_METHOD = MINI_PROGRAM_OPERATION_PROGRESS_METHOD;
|
|
193
384
|
exports.MINI_PROGRAM_PROTOCOL_CAPABILITIES = MINI_PROGRAM_PROTOCOL_CAPABILITIES;
|
|
194
385
|
exports.NAVIGATION_CLOSE_METHOD = NAVIGATION_CLOSE_METHOD;
|
|
195
386
|
exports.NAVIGATION_OPEN_APP_PAGE_METHOD = NAVIGATION_OPEN_APP_PAGE_METHOD;
|
|
196
387
|
exports.NAVIGATION_RELOAD_METHOD = NAVIGATION_RELOAD_METHOD;
|
|
388
|
+
exports.NETWORK_DOWNLOAD_METHOD = NETWORK_DOWNLOAD_METHOD;
|
|
197
389
|
exports.NETWORK_REQUEST_METHOD = NETWORK_REQUEST_METHOD;
|
|
198
390
|
exports.RUNTIME_LOCATION_PROBE_METHOD = RUNTIME_LOCATION_PROBE_METHOD;
|
|
199
391
|
exports.SDK_CSP_VIOLATION_METHOD = SDK_CSP_VIOLATION_METHOD;
|
|
@@ -215,4 +407,14 @@ exports.VIEWPORT_GET_WINDOW_INFO_METHOD = VIEWPORT_GET_WINDOW_INFO_METHOD;
|
|
|
215
407
|
exports.VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD = VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD;
|
|
216
408
|
exports.isManagedMiniProgramRuntimePermissionKey = isManagedMiniProgramRuntimePermissionKey;
|
|
217
409
|
exports.isMiniProgramBridgeMessage = isMiniProgramBridgeMessage;
|
|
410
|
+
exports.isMiniProgramByteArray = isMiniProgramByteArray;
|
|
411
|
+
exports.isMiniProgramDirectoryDescriptor = isMiniProgramDirectoryDescriptor;
|
|
412
|
+
exports.isMiniProgramDirectoryRef = isMiniProgramDirectoryRef;
|
|
413
|
+
exports.isMiniProgramDownloadProgressPayload = isMiniProgramDownloadProgressPayload;
|
|
414
|
+
exports.isMiniProgramFileDescriptor = isMiniProgramFileDescriptor;
|
|
415
|
+
exports.isMiniProgramFileRef = isMiniProgramFileRef;
|
|
416
|
+
exports.isMiniProgramFileStat = isMiniProgramFileStat;
|
|
417
|
+
exports.isMiniProgramFileSystemEntityDescriptor = isMiniProgramFileSystemEntityDescriptor;
|
|
418
|
+
exports.isMiniProgramPathRootRef = isMiniProgramPathRootRef;
|
|
419
|
+
exports.isMiniProgramRelativePath = isMiniProgramRelativePath;
|
|
218
420
|
exports.parseMiniProgramRuntimePermissions = parseMiniProgramRuntimePermissions;
|
package/dist/protocol.esm.js
CHANGED
|
@@ -10,6 +10,22 @@ const VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD = 'viewport.setNavigationBarStyle
|
|
|
10
10
|
const STORAGE_GET_STORAGE_METHOD = 'storage.getStorage';
|
|
11
11
|
const STORAGE_SET_STORAGE_METHOD = 'storage.setStorage';
|
|
12
12
|
const NETWORK_REQUEST_METHOD = 'network.request';
|
|
13
|
+
const NETWORK_DOWNLOAD_METHOD = 'network.download';
|
|
14
|
+
const FILES_PICK_FILES_METHOD = 'files.pickFiles';
|
|
15
|
+
const FILES_PICK_DIRECTORY_METHOD = 'files.pickDirectory';
|
|
16
|
+
const FILES_SAVE_FILE_METHOD = 'files.saveFile';
|
|
17
|
+
const FILE_CREATE_METHOD = 'file.create';
|
|
18
|
+
const FILE_REMOVE_METHOD = 'file.remove';
|
|
19
|
+
const FILE_EXISTS_METHOD = 'file.exists';
|
|
20
|
+
const FILE_READ_TEXT_METHOD = 'file.readText';
|
|
21
|
+
const FILE_WRITE_TEXT_METHOD = 'file.writeText';
|
|
22
|
+
const FILE_READ_BYTES_METHOD = 'file.readBytes';
|
|
23
|
+
const FILE_WRITE_BYTES_METHOD = 'file.writeBytes';
|
|
24
|
+
const FILE_STAT_METHOD = 'file.stat';
|
|
25
|
+
const DIRECTORY_CREATE_METHOD = 'directory.create';
|
|
26
|
+
const DIRECTORY_REMOVE_METHOD = 'directory.remove';
|
|
27
|
+
const DIRECTORY_EXISTS_METHOD = 'directory.exists';
|
|
28
|
+
const DIRECTORY_LIST_METHOD = 'directory.list';
|
|
13
29
|
const UI_SHOW_TOAST_METHOD = 'ui.showToast';
|
|
14
30
|
const UI_SHOW_LOADING_METHOD = 'ui.showLoading';
|
|
15
31
|
const UI_HIDE_LOADING_METHOD = 'ui.hideLoading';
|
|
@@ -60,6 +76,46 @@ const MINI_PROGRAM_PROTOCOL_CAPABILITIES = [
|
|
|
60
76
|
{ method: STORAGE_GET_STORAGE_METHOD, module: 'storage', capability: STORAGE_GET_STORAGE_METHOD, permission: 'storage.read', risk: 'low' },
|
|
61
77
|
{ method: STORAGE_SET_STORAGE_METHOD, module: 'storage', capability: STORAGE_SET_STORAGE_METHOD, permission: 'storage.write', risk: 'medium' },
|
|
62
78
|
{ method: NETWORK_REQUEST_METHOD, module: 'network', capability: NETWORK_REQUEST_METHOD, permission: 'network.request', risk: 'high' },
|
|
79
|
+
{ method: NETWORK_DOWNLOAD_METHOD, module: 'network', capability: NETWORK_DOWNLOAD_METHOD, permission: 'network.request', risk: 'high' },
|
|
80
|
+
{ method: FILES_PICK_FILES_METHOD, module: 'files', capability: FILES_PICK_FILES_METHOD, permission: 'files.external', risk: 'high' },
|
|
81
|
+
{
|
|
82
|
+
method: FILES_PICK_DIRECTORY_METHOD,
|
|
83
|
+
module: 'files',
|
|
84
|
+
capability: FILES_PICK_DIRECTORY_METHOD,
|
|
85
|
+
permission: 'files.external',
|
|
86
|
+
risk: 'high',
|
|
87
|
+
},
|
|
88
|
+
{ method: FILES_SAVE_FILE_METHOD, module: 'files', capability: FILES_SAVE_FILE_METHOD, permission: 'files.external', risk: 'high' },
|
|
89
|
+
{ method: FILE_CREATE_METHOD, module: 'file', capability: FILE_CREATE_METHOD, permission: 'files.access', risk: 'high' },
|
|
90
|
+
{ method: FILE_REMOVE_METHOD, module: 'file', capability: FILE_REMOVE_METHOD, permission: 'files.access', risk: 'high' },
|
|
91
|
+
{ method: FILE_EXISTS_METHOD, module: 'file', capability: FILE_EXISTS_METHOD, permission: 'files.access', risk: 'high' },
|
|
92
|
+
{ method: FILE_READ_TEXT_METHOD, module: 'file', capability: FILE_READ_TEXT_METHOD, permission: 'files.access', risk: 'high' },
|
|
93
|
+
{ method: FILE_WRITE_TEXT_METHOD, module: 'file', capability: FILE_WRITE_TEXT_METHOD, permission: 'files.access', risk: 'high' },
|
|
94
|
+
{ method: FILE_READ_BYTES_METHOD, module: 'file', capability: FILE_READ_BYTES_METHOD, permission: 'files.access', risk: 'high' },
|
|
95
|
+
{ method: FILE_WRITE_BYTES_METHOD, module: 'file', capability: FILE_WRITE_BYTES_METHOD, permission: 'files.access', risk: 'high' },
|
|
96
|
+
{ method: FILE_STAT_METHOD, module: 'file', capability: FILE_STAT_METHOD, permission: 'files.access', risk: 'high' },
|
|
97
|
+
{
|
|
98
|
+
method: DIRECTORY_CREATE_METHOD,
|
|
99
|
+
module: 'directory',
|
|
100
|
+
capability: DIRECTORY_CREATE_METHOD,
|
|
101
|
+
permission: 'files.access',
|
|
102
|
+
risk: 'high',
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
method: DIRECTORY_REMOVE_METHOD,
|
|
106
|
+
module: 'directory',
|
|
107
|
+
capability: DIRECTORY_REMOVE_METHOD,
|
|
108
|
+
permission: 'files.access',
|
|
109
|
+
risk: 'high',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
method: DIRECTORY_EXISTS_METHOD,
|
|
113
|
+
module: 'directory',
|
|
114
|
+
capability: DIRECTORY_EXISTS_METHOD,
|
|
115
|
+
permission: 'files.access',
|
|
116
|
+
risk: 'high',
|
|
117
|
+
},
|
|
118
|
+
{ method: DIRECTORY_LIST_METHOD, module: 'directory', capability: DIRECTORY_LIST_METHOD, permission: 'files.access', risk: 'high' },
|
|
63
119
|
{ method: UI_SHOW_TOAST_METHOD, module: 'ui', capability: UI_SHOW_TOAST_METHOD, permission: 'ui.toast', risk: 'low' },
|
|
64
120
|
{ method: UI_SHOW_LOADING_METHOD, module: 'ui', capability: UI_SHOW_LOADING_METHOD, permission: 'ui.loading', risk: 'low' },
|
|
65
121
|
{ method: UI_HIDE_LOADING_METHOD, module: 'ui', capability: UI_HIDE_LOADING_METHOD, permission: 'ui.loading', risk: 'low' },
|
|
@@ -124,15 +180,134 @@ const SDK_HANDSHAKE_METHOD = 'sdk.handshake';
|
|
|
124
180
|
const RUNTIME_LOCATION_PROBE_METHOD = 'runtime.location.probe';
|
|
125
181
|
const SDK_LOCATION_REPORT_METHOD = 'sdk.location.report';
|
|
126
182
|
const SDK_CSP_VIOLATION_METHOD = 'sdk.csp.violation';
|
|
183
|
+
const MINI_PROGRAM_OPERATION_PROGRESS_METHOD = 'operation.progress';
|
|
127
184
|
|
|
128
185
|
function isMiniProgramBridgeMessage(value) {
|
|
129
|
-
if (!value
|
|
186
|
+
if (!isRecord$1(value))
|
|
187
|
+
return false;
|
|
188
|
+
if (value.namespace !== MINI_PROGRAM_MESSAGE_NAMESPACE || (value.version !== 1 && value.version !== 2) || !isNonEmptyString(value.nonce)) {
|
|
130
189
|
return false;
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
(
|
|
134
|
-
|
|
135
|
-
|
|
190
|
+
}
|
|
191
|
+
if (value.type === 'handshake') {
|
|
192
|
+
return isNonEmptyString(value.id) && value.method === SDK_HANDSHAKE_METHOD && value.error === undefined && isSDKHandshakePayload(value.payload);
|
|
193
|
+
}
|
|
194
|
+
if (value.type === 'request') {
|
|
195
|
+
return isNonEmptyString(value.id) && isNonEmptyString(value.method) && value.error === undefined;
|
|
196
|
+
}
|
|
197
|
+
if (value.type === 'response') {
|
|
198
|
+
return (isNonEmptyString(value.id) &&
|
|
199
|
+
(value.method === undefined || isNonEmptyString(value.method)) &&
|
|
200
|
+
(value.error === undefined || isBridgeError(value.error)));
|
|
201
|
+
}
|
|
202
|
+
if (value.type === 'event') {
|
|
203
|
+
if (!isNonEmptyString(value.method) || value.error !== undefined)
|
|
204
|
+
return false;
|
|
205
|
+
if (value.method === MINI_PROGRAM_OPERATION_PROGRESS_METHOD) {
|
|
206
|
+
return value.version === 2 && isNonEmptyString(value.id) && isMiniProgramDownloadProgressPayload(value.payload);
|
|
207
|
+
}
|
|
208
|
+
return value.id === undefined || isNonEmptyString(value.id);
|
|
209
|
+
}
|
|
210
|
+
if (value.type === 'cancel') {
|
|
211
|
+
return (value.version === 2 && isNonEmptyString(value.id) && value.method === undefined && value.payload === undefined && value.error === undefined);
|
|
212
|
+
}
|
|
213
|
+
return false;
|
|
214
|
+
}
|
|
215
|
+
function isMiniProgramRelativePath(value) {
|
|
216
|
+
if (typeof value !== 'string' || !value || value.startsWith('/') || value.endsWith('/')) {
|
|
217
|
+
return false;
|
|
218
|
+
}
|
|
219
|
+
if (/[\\\u0000-\u001f\u007f]/.test(value))
|
|
220
|
+
return false;
|
|
221
|
+
return value.split('/').every((segment) => Boolean(segment) && segment !== '.' && segment !== '..');
|
|
222
|
+
}
|
|
223
|
+
function isMiniProgramPathRootRef(value) {
|
|
224
|
+
if (!isRecord$1(value))
|
|
225
|
+
return false;
|
|
226
|
+
if (value.kind === 'sandbox')
|
|
227
|
+
return hasOnlyKeys(value, ['kind']);
|
|
228
|
+
return value.kind === 'directory' && isNonEmptyString(value.handleId) && hasOnlyKeys(value, ['kind', 'handleId']);
|
|
229
|
+
}
|
|
230
|
+
function isMiniProgramFileRef(value) {
|
|
231
|
+
if (!isRecord$1(value) || value.kind !== 'file')
|
|
232
|
+
return false;
|
|
233
|
+
if (isNonEmptyString(value.handleId)) {
|
|
234
|
+
return hasOnlyKeys(value, ['kind', 'handleId']);
|
|
235
|
+
}
|
|
236
|
+
return (isMiniProgramPathRootRef(value.root) && isMiniProgramRelativePath(value.relativePath) && hasOnlyKeys(value, ['kind', 'root', 'relativePath']));
|
|
237
|
+
}
|
|
238
|
+
function isMiniProgramDirectoryRef(value) {
|
|
239
|
+
if (!isRecord$1(value) || value.kind !== 'directory')
|
|
240
|
+
return false;
|
|
241
|
+
if (isNonEmptyString(value.handleId)) {
|
|
242
|
+
return hasOnlyKeys(value, ['kind', 'handleId']);
|
|
243
|
+
}
|
|
244
|
+
return (isMiniProgramPathRootRef(value.root) && isMiniProgramRelativePath(value.relativePath) && hasOnlyKeys(value, ['kind', 'root', 'relativePath']));
|
|
245
|
+
}
|
|
246
|
+
function isMiniProgramFileDescriptor(value) {
|
|
247
|
+
return (isRecord$1(value) &&
|
|
248
|
+
value.kind === 'file' &&
|
|
249
|
+
isNonEmptyString(value.name) &&
|
|
250
|
+
isFileMode(value.mode) &&
|
|
251
|
+
isMiniProgramFileRef(value.ref) &&
|
|
252
|
+
hasOnlyKeys(value, ['kind', 'name', 'mode', 'ref']));
|
|
253
|
+
}
|
|
254
|
+
function isMiniProgramDirectoryDescriptor(value) {
|
|
255
|
+
return (isRecord$1(value) &&
|
|
256
|
+
value.kind === 'directory' &&
|
|
257
|
+
isNonEmptyString(value.name) &&
|
|
258
|
+
isFileMode(value.mode) &&
|
|
259
|
+
isMiniProgramDirectoryRef(value.ref) &&
|
|
260
|
+
hasOnlyKeys(value, ['kind', 'name', 'mode', 'ref']));
|
|
261
|
+
}
|
|
262
|
+
function isMiniProgramFileSystemEntityDescriptor(value) {
|
|
263
|
+
return isMiniProgramFileDescriptor(value) || isMiniProgramDirectoryDescriptor(value);
|
|
264
|
+
}
|
|
265
|
+
function isMiniProgramByteArray(value) {
|
|
266
|
+
return value instanceof Uint8Array && value.buffer instanceof ArrayBuffer;
|
|
267
|
+
}
|
|
268
|
+
function isMiniProgramFileStat(value) {
|
|
269
|
+
return (isRecord$1(value) &&
|
|
270
|
+
value.kind === 'file' &&
|
|
271
|
+
isNonNegativeSafeInteger(value.size) &&
|
|
272
|
+
(value.modifiedAt === undefined || isNonNegativeFiniteNumber(value.modifiedAt)) &&
|
|
273
|
+
(value.createdAt === undefined || isNonNegativeFiniteNumber(value.createdAt)) &&
|
|
274
|
+
hasOnlyKeys(value, ['kind', 'size', 'modifiedAt', 'createdAt']));
|
|
275
|
+
}
|
|
276
|
+
function isMiniProgramDownloadProgressPayload(value) {
|
|
277
|
+
if (!isRecord$1(value) ||
|
|
278
|
+
!isNonNegativeSafeInteger(value.loaded) ||
|
|
279
|
+
typeof value.lengthComputable !== 'boolean' ||
|
|
280
|
+
!hasOnlyKeys(value, ['loaded', 'total', 'lengthComputable'])) {
|
|
281
|
+
return false;
|
|
282
|
+
}
|
|
283
|
+
if (!value.lengthComputable)
|
|
284
|
+
return value.total === undefined;
|
|
285
|
+
return isNonNegativeSafeInteger(value.total) && value.loaded <= value.total;
|
|
286
|
+
}
|
|
287
|
+
function isSDKHandshakePayload(value) {
|
|
288
|
+
return isRecord$1(value) && isNonEmptyString(value.href) && typeof value.userAgent === 'string' && isNonEmptyString(value.sdkVersion);
|
|
289
|
+
}
|
|
290
|
+
function isBridgeError(value) {
|
|
291
|
+
return isRecord$1(value) && isNonEmptyString(value.code) && typeof value.message === 'string';
|
|
292
|
+
}
|
|
293
|
+
function isFileMode(value) {
|
|
294
|
+
return value === 'read' || value === 'readwrite';
|
|
295
|
+
}
|
|
296
|
+
function isNonNegativeSafeInteger(value) {
|
|
297
|
+
return typeof value === 'number' && Number.isSafeInteger(value) && value >= 0;
|
|
298
|
+
}
|
|
299
|
+
function isNonNegativeFiniteNumber(value) {
|
|
300
|
+
return typeof value === 'number' && Number.isFinite(value) && value >= 0;
|
|
301
|
+
}
|
|
302
|
+
function isNonEmptyString(value) {
|
|
303
|
+
return typeof value === 'string' && value.length > 0;
|
|
304
|
+
}
|
|
305
|
+
function hasOnlyKeys(value, allowedKeys) {
|
|
306
|
+
const allowed = new Set(allowedKeys);
|
|
307
|
+
return Object.keys(value).every((key) => allowed.has(key));
|
|
308
|
+
}
|
|
309
|
+
function isRecord$1(value) {
|
|
310
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
136
311
|
}
|
|
137
312
|
|
|
138
313
|
/** 当前用户信息与登录能力支持的完整 scope 目录。 */
|
|
@@ -177,4 +352,4 @@ function isRecord(value) {
|
|
|
177
352
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
178
353
|
}
|
|
179
354
|
|
|
180
|
-
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, DEVICE_SET_CLIPBOARD_METHOD, DEVICE_VIBRATE_METHOD, MINI_PROGRAM_BRIDGE_NONCE_PARAM, MINI_PROGRAM_MESSAGE_NAMESPACE, MINI_PROGRAM_MESSAGE_VERSION, MINI_PROGRAM_PROTOCOL_CAPABILITIES, NAVIGATION_CLOSE_METHOD, NAVIGATION_OPEN_APP_PAGE_METHOD, NAVIGATION_RELOAD_METHOD, NETWORK_REQUEST_METHOD, RUNTIME_LOCATION_PROBE_METHOD, 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, 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, VIEWPORT_GET_WINDOW_INFO_METHOD, VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD, isManagedMiniProgramRuntimePermissionKey, isMiniProgramBridgeMessage, parseMiniProgramRuntimePermissions };
|
|
355
|
+
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, DEVICE_SET_CLIPBOARD_METHOD, DEVICE_VIBRATE_METHOD, DIRECTORY_CREATE_METHOD, DIRECTORY_EXISTS_METHOD, DIRECTORY_LIST_METHOD, DIRECTORY_REMOVE_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_BRIDGE_NONCE_PARAM, MINI_PROGRAM_MESSAGE_NAMESPACE, MINI_PROGRAM_MESSAGE_VERSION, MINI_PROGRAM_OPERATION_PROGRESS_METHOD, MINI_PROGRAM_PROTOCOL_CAPABILITIES, NAVIGATION_CLOSE_METHOD, NAVIGATION_OPEN_APP_PAGE_METHOD, NAVIGATION_RELOAD_METHOD, NETWORK_DOWNLOAD_METHOD, NETWORK_REQUEST_METHOD, RUNTIME_LOCATION_PROBE_METHOD, 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, 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, VIEWPORT_GET_WINDOW_INFO_METHOD, VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD, isManagedMiniProgramRuntimePermissionKey, isMiniProgramBridgeMessage, isMiniProgramByteArray, isMiniProgramDirectoryDescriptor, isMiniProgramDirectoryRef, isMiniProgramDownloadProgressPayload, isMiniProgramFileDescriptor, isMiniProgramFileRef, isMiniProgramFileStat, isMiniProgramFileSystemEntityDescriptor, isMiniProgramPathRootRef, isMiniProgramRelativePath, parseMiniProgramRuntimePermissions };
|
package/dist/vite.cjs.js
CHANGED
package/dist/vite.esm.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@heybox/hb-sdk",
|
|
3
|
-
"version": "0.8.0-alpha",
|
|
3
|
+
"version": "0.8.0-alpha.3",
|
|
4
4
|
"sideEffects": [
|
|
5
5
|
"./src/index.ts",
|
|
6
6
|
"./src/core/singleton.ts",
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
"files": [
|
|
45
45
|
"README.md",
|
|
46
46
|
"CHANGELOG.md",
|
|
47
|
+
"THIRD_PARTY_NOTICES.md",
|
|
47
48
|
"bin",
|
|
48
49
|
"dist",
|
|
49
50
|
"skill",
|
|
@@ -52,12 +53,16 @@
|
|
|
52
53
|
"keywords": [],
|
|
53
54
|
"author": "",
|
|
54
55
|
"license": "ISC",
|
|
56
|
+
"engines": {
|
|
57
|
+
"node": ">=22.20.0"
|
|
58
|
+
},
|
|
55
59
|
"dependencies": {
|
|
56
60
|
"@msgpack/msgpack": "2.8.0",
|
|
57
61
|
"parse5": "^7.3.0",
|
|
62
|
+
"skills": "1.5.23",
|
|
58
63
|
"undici": "^7.28.0",
|
|
59
64
|
"ws": "^8.18.0",
|
|
60
|
-
"@heybox/hb-sdk-protocol": "0.8.0-alpha"
|
|
65
|
+
"@heybox/hb-sdk-protocol": "0.8.0-alpha.3"
|
|
61
66
|
},
|
|
62
67
|
"peerDependencies": {
|
|
63
68
|
"vite": ">=5"
|
|
@@ -73,7 +78,8 @@
|
|
|
73
78
|
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
74
79
|
"@heybox/hb-types": "^1.0.1",
|
|
75
80
|
"@playwright/test": "^1.55.1",
|
|
76
|
-
"@
|
|
81
|
+
"@sneas/telephone": "1.1.2",
|
|
82
|
+
"@vitejs/plugin-vue": "^6.0.1",
|
|
77
83
|
"@rollup/plugin-typescript": "^11.1.6",
|
|
78
84
|
"@types/ejs": "^3.1.5",
|
|
79
85
|
"@types/fs-extra": "^11.0.4",
|
|
@@ -82,6 +88,7 @@
|
|
|
82
88
|
"@types/semver": "^7.7.1",
|
|
83
89
|
"@types/ws": "^8.5.13",
|
|
84
90
|
"@vitest/coverage-v8": "^3.2.4",
|
|
91
|
+
"@vue/test-utils": "^2",
|
|
85
92
|
"commander": "^12.1.0",
|
|
86
93
|
"cos-nodejs-sdk-v5": "2.15.4",
|
|
87
94
|
"ejs": "^3.1.10",
|
|
@@ -89,22 +96,29 @@
|
|
|
89
96
|
"fs-extra": "^11.3.0",
|
|
90
97
|
"get-port": "^7.1.0",
|
|
91
98
|
"happy-dom": "^19.0.2",
|
|
99
|
+
"lucide-vue-next": "1.0.0",
|
|
92
100
|
"open": "^10.2.0",
|
|
93
101
|
"ora": "^5.4.1",
|
|
94
102
|
"picocolors": "^1.1.1",
|
|
95
103
|
"qrcode": "^1.5.4",
|
|
96
104
|
"rimraf": "^5.0.5",
|
|
105
|
+
"reka-ui": "2.10.4",
|
|
97
106
|
"rollup": "^4.52.4",
|
|
98
107
|
"semver": "^7.8.0",
|
|
108
|
+
"sass-embedded": "1.97.3",
|
|
109
|
+
"splitpanes": "^4.1.0",
|
|
99
110
|
"typescript": "^5.9.3",
|
|
100
|
-
"vue": "^
|
|
111
|
+
"vue": "^3.5.22",
|
|
112
|
+
"vue-tsc": "^3.3.7",
|
|
101
113
|
"vite": "^8.0.12",
|
|
102
114
|
"vitest": "^3.2.4",
|
|
115
|
+
"@heybox-domain/heybox-theme": "~0.1.0",
|
|
116
|
+
"@heybox-domain/heybox-vue3-ui": "~0.1.0",
|
|
117
|
+
"@heybox/hb-sdk-runtime": "~0.8.0-alpha.3",
|
|
103
118
|
"@heybox/hb-api": "~1.25.23",
|
|
104
|
-
"@heybox/hb-sdk-runtime": "~0.8.0-alpha",
|
|
105
|
-
"@heybox/runtime": "~0.2.0",
|
|
106
119
|
"@heybox/runtime-policy": "~0.2.0",
|
|
107
|
-
"@heybox/runtime-transport-fetch": "~0.2.0"
|
|
120
|
+
"@heybox/runtime-transport-fetch": "~0.2.0",
|
|
121
|
+
"@heybox/runtime": "~0.2.0"
|
|
108
122
|
},
|
|
109
123
|
"publishConfig": {
|
|
110
124
|
"registry": "https://registry.npmjs.org/",
|
|
@@ -117,6 +131,10 @@
|
|
|
117
131
|
"{projectRoot}/src/**/*",
|
|
118
132
|
"{projectRoot}/devtools/browser-dev-host/**/*",
|
|
119
133
|
"{projectRoot}/scripts/copy-browser-dev-host.cjs",
|
|
134
|
+
"{projectRoot}/scripts/check-browser-dev-host-assets.cjs",
|
|
135
|
+
"{projectRoot}/scripts/generate-browser-dev-host-notices.cjs",
|
|
136
|
+
"{projectRoot}/licenses/**/*",
|
|
137
|
+
"{projectRoot}/THIRD_PARTY_NOTICES.md",
|
|
120
138
|
"{projectRoot}/rollup.config.ts",
|
|
121
139
|
"{projectRoot}/tsconfig*.json",
|
|
122
140
|
"{workspaceRoot}/packages/hb-sdk-runtime/src/**/*",
|
|
@@ -144,17 +162,17 @@
|
|
|
144
162
|
"build:lib:bundle": "rollup -c rollup.config.ts --configPlugin 'typescript={\"tsconfig\":\"tsconfig.build.json\"}'",
|
|
145
163
|
"build:cli": "pnpm run build:hb-sdk-protocol && pnpm run build:hb-api-contract && pnpm run build:cli:bundle",
|
|
146
164
|
"build:cli:bundle": "rollup -c rollup.config.ts --environment HB_SDK_BUILD:cli --configPlugin 'typescript={\"tsconfig\":\"tsconfig.build.json\"}' && pnpm run build:browser-dev-host",
|
|
147
|
-
"build:browser-dev-host": "node scripts/
|
|
165
|
+
"build:browser-dev-host": "vite build --config vite.browser-dev-host.config.ts && node scripts/check-browser-dev-host-assets.cjs && node scripts/generate-browser-dev-host-notices.cjs",
|
|
148
166
|
"build:templates": "node scripts/copy-cli-templates.cjs",
|
|
149
167
|
"build:types": "tsc -p tsconfig.dts.json",
|
|
150
168
|
"check:boundary": "node scripts/check-boundary.cjs",
|
|
151
|
-
"check:docs-sync": "pnpm -
|
|
169
|
+
"check:docs-sync": "pnpm --filter @heybox-docs/docs-hb_sdk run check:reference && node scripts/skill/check-references.mjs && node scripts/skill/validate-skill.mjs",
|
|
152
170
|
"check:compatibility-evidence": "node scripts/validate-compatibility-evidence.mjs",
|
|
153
171
|
"check:api-semver": "node ../../ops/jobs/hb-sdk-docs-contract/semantic-diff.cjs",
|
|
154
172
|
"clean": "rimraf ./dist && rimraf ./types",
|
|
155
173
|
"test:unit": "NODE_OPTIONS='--conditions=heybox' vitest run",
|
|
156
174
|
"test:types:characterization": "tsc -p tsconfig.characterization.json --noEmit --pretty false",
|
|
157
|
-
"test:types:browser-dev-host": "tsc -p tsconfig.browser-dev-host.json --noEmit --pretty false",
|
|
175
|
+
"test:types:browser-dev-host": "vue-tsc -p tsconfig.browser-dev-host.json --noEmit --pretty false",
|
|
158
176
|
"test:types": "pnpm run test:types:characterization && pnpm run test:types:browser-dev-host",
|
|
159
177
|
"test:e2e:browser-dev-host": "pnpm run build:browser-dev-host && NODE_OPTIONS='--conditions=heybox' vitest run --config vitest.browser-dev-host-e2e.config.ts",
|
|
160
178
|
"test:unit:coverage": "NODE_OPTIONS='--conditions=heybox' vitest run --coverage",
|
|
@@ -162,6 +180,7 @@
|
|
|
162
180
|
"test:watch": "NODE_OPTIONS='--conditions=heybox' vitest",
|
|
163
181
|
"changelog:draft": "node scripts/changelog-draft.cjs",
|
|
164
182
|
"check:changelog": "node scripts/check-changelog.cjs",
|
|
183
|
+
"release:verify-tarball": "node scripts/skill/verify-tarball-install.mjs",
|
|
165
184
|
"test:release": "node --test scripts/release-family.test.cjs ../../ops/jobs/publish-changed-packages/publish.test.cjs ../../ops/jobs/release-hb-sdk/docs-release-contract.test.cjs",
|
|
166
185
|
"test:compatibility-evidence": "node --test scripts/validate-compatibility-evidence.test.mjs",
|
|
167
186
|
"release:prepare": "node scripts/release-prepare.cjs",
|