@heybox/hb-sdk 0.9.2-alpha.0 → 0.9.2-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 (35) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +16 -1
  3. package/dist/cli-chunks/{build-D_WFX7k0.cjs → build-CyswVc4b.cjs} +5 -5
  4. package/dist/cli-chunks/{context-9AzsNffz.cjs → context-Dr_SFRYa.cjs} +2 -2
  5. package/dist/cli-chunks/{create-Crb_TIGw.cjs → create-DY4e3-ai.cjs} +1 -1
  6. package/dist/cli-chunks/{dev-Bt7baZld.cjs → dev-DKuNXTMr.cjs} +9 -8
  7. package/dist/cli-chunks/{doctor-BDvcQDhr.cjs → doctor-FC9aE_Ku.cjs} +1 -1
  8. package/dist/cli-chunks/{index-HprlZ2zE.cjs → index-B8qBsp6f.cjs} +16 -16
  9. package/dist/cli-chunks/{index-COrp4A_r.cjs → index-B9xW1kud.cjs} +1 -1
  10. package/dist/cli-chunks/{index.esm-BWs3tf3O.cjs → index.esm-D7sYo7d4.cjs} +6 -6
  11. package/dist/cli-chunks/{login-Cx71xOGJ.cjs → login-D8w3N8jn.cjs} +1 -1
  12. package/dist/cli-chunks/{project-vite-B81ymoLT.cjs → project-vite-BDpkwL6C.cjs} +1 -1
  13. package/dist/cli-chunks/{remote-1w_i96x-.cjs → remote-kpeucBW7.cjs} +6 -6
  14. package/dist/cli-chunks/{runtime-gate-DwBSYQOE.cjs → runtime-gate-C3P-8VeT.cjs} +2 -2
  15. package/dist/cli-chunks/{runtime-permission-env-Dx1msYpN.cjs → runtime-permission-env-BBLrXaE_.cjs} +19 -19
  16. package/dist/cli-chunks/{skill-DuW-YJCy.cjs → skill-B4LVsoOx.cjs} +2 -2
  17. package/dist/cli-chunks/{version-0WiS_IOu.cjs → version-DgbarBxd.cjs} +1 -1
  18. package/dist/cli.cjs +1 -1
  19. package/dist/devtools/browser-dev-host/assets/browser-dev-host--bEdWcBx.js +102 -0
  20. package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-BsIjbmXH.js → desktop-app-launch-zP3CDynX.js} +1 -1
  21. package/dist/devtools/browser-dev-host/assets/{index-8RmhA6dc.js → index-BnkA-gEX.js} +3 -3
  22. package/dist/devtools/browser-dev-host/index.html +2 -2
  23. package/dist/index.cjs.js +24 -2
  24. package/dist/index.esm.js +24 -2
  25. package/dist/miniapp-publish.cjs.js +16 -17
  26. package/dist/miniapp-publish.esm.js +16 -17
  27. package/dist/protocol.cjs.js +43 -0
  28. package/dist/protocol.esm.js +40 -1
  29. package/dist/vite.cjs.js +17 -18
  30. package/dist/vite.esm.js +17 -18
  31. package/package.json +7 -5
  32. package/skill/skill.json +4 -4
  33. package/types/index.d.ts +68 -2
  34. package/types/protocol.d.ts +1 -1
  35. package/dist/devtools/browser-dev-host/assets/browser-dev-host-P4sQy5jb.js +0 -102
@@ -5,8 +5,8 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <meta name="theme-color" content="#f4f5f7" />
7
7
  <title>小程序工坊调试台</title>
8
- <script type="module" crossorigin src="/assets/index-8RmhA6dc.js"></script>
9
- <link rel="modulepreload" crossorigin href="/assets/desktop-app-launch-BsIjbmXH.js">
8
+ <script type="module" crossorigin src="/assets/index-BnkA-gEX.js"></script>
9
+ <link rel="modulepreload" crossorigin href="/assets/desktop-app-launch-zP3CDynX.js">
10
10
  <link rel="stylesheet" crossorigin href="/assets/index-7Cq8iNcD.css">
11
11
  </head>
12
12
  <body>
package/dist/index.cjs.js CHANGED
@@ -457,6 +457,10 @@ const CLOUD_LEADERBOARD_GET_LIST_METHOD = 'cloud.leaderboard.getList';
457
457
  const CLOUD_LEADERBOARD_GET_CURRENT_USER_ENTRY_METHOD = 'cloud.leaderboard.getCurrentUserEntry';
458
458
  const CLOUD_LEADERBOARD_DELETE_CURRENT_USER_ENTRY_METHOD = 'cloud.leaderboard.deleteCurrentUserEntry';
459
459
  const CLOUD_LEADERBOARD_GET_INFO_METHOD = 'cloud.leaderboard.getInfo';
460
+ const CLOUD_STORAGE_GET_STORAGE_METHOD = 'cloud.storage.getStorage';
461
+ const CLOUD_STORAGE_SET_STORAGE_METHOD = 'cloud.storage.setStorage';
462
+ const CLOUD_STORAGE_REMOVE_ITEM_METHOD = 'cloud.storage.removeItem';
463
+ const CLOUD_STORAGE_GET_KEYS_METHOD = 'cloud.storage.getKeys';
460
464
  const COMPANION_GET_INFO_METHOD = 'companion.getInfo';
461
465
  const COMPANION_GET_PREPARATION_STATUS_METHOD = 'companion.getPreparationStatus';
462
466
  const COMPANION_PREPARE_METHOD = 'companion.prepare';
@@ -1145,6 +1149,8 @@ class $ZodEncodeError extends Error {
1145
1149
  (_a$1 = globalThis).__zod_globalConfig ?? (_a$1.__zod_globalConfig = {});
1146
1150
  const globalConfig = globalThis.__zod_globalConfig;
1147
1151
  function config(newConfig) {
1152
+ if (newConfig)
1153
+ Object.assign(globalConfig, newConfig);
1148
1154
  return globalConfig;
1149
1155
  }
1150
1156
 
@@ -6266,6 +6272,10 @@ function json(params) {
6266
6272
  });
6267
6273
  return jsonSchema;
6268
6274
  }
6275
+
6276
+ // 必须先于 view-contract 的 schema 创建执行,避免能力试探本身触发 CSP 违规。
6277
+ // 合同包面向禁止动态执行的运行环境,始终使用解释式校验,不依赖宿主探测。
6278
+ config({ jitless: true });
6269
6279
  var VIEW_BUDGET = {
6270
6280
  /** 节点树最大深度。 */
6271
6281
  maxDepth: 16,
@@ -7280,7 +7290,7 @@ function createMessageId() {
7280
7290
  /** 构建时替换为当前发布包的实际版本。 */
7281
7291
  const HB_SDK_VERSION = typeof undefined === 'string'
7282
7292
  ? undefined
7283
- : '0.9.2-alpha.0';
7293
+ : '0.9.2-alpha.2';
7284
7294
 
7285
7295
  const RUNTIME_MODES = new Set(['production', 'preview', 'development', 'unknown']);
7286
7296
  const OPERATING_SYSTEM_NAMES = new Set(['android', 'ios', 'ohos', 'windows', 'macos', 'linux', 'unknown']);
@@ -7873,6 +7883,12 @@ function createCloudModule(requester) {
7873
7883
  deleteCurrentUserEntry: (options) => requester.request(CLOUD_LEADERBOARD_DELETE_CURRENT_USER_ENTRY_METHOD, options),
7874
7884
  getInfo: (options) => requester.request(CLOUD_LEADERBOARD_GET_INFO_METHOD, options),
7875
7885
  },
7886
+ storage: {
7887
+ getStorage: (key) => requester.request(CLOUD_STORAGE_GET_STORAGE_METHOD, { key }),
7888
+ setStorage: (key, value) => requester.request(CLOUD_STORAGE_SET_STORAGE_METHOD, { key, value }),
7889
+ removeItem: (key) => requester.request(CLOUD_STORAGE_REMOVE_ITEM_METHOD, { key }),
7890
+ getKeys: () => requester.request(CLOUD_STORAGE_GET_KEYS_METHOD),
7891
+ },
7876
7892
  };
7877
7893
  }
7878
7894
 
@@ -11483,7 +11499,7 @@ function installMiniDevConsoleForwarding(consoleRef = console) {
11483
11499
 
11484
11500
  let defaultSDK = createMiniProgramSDK();
11485
11501
  if (typeof false !== 'undefined' && false && typeof window !== 'undefined') {
11486
- window.__hbSdkSandboxList = async (path) => (await getDefaultSDK().files.sandbox.directory(path).list({ limit: 200 })).map(entry => ({ name: entry.name, kind: entry.kind }));
11502
+ window.__hbSdkSandboxList = async (path) => (await getDefaultSDK().files.sandbox.directory(path).list({ limit: 200 })).map((entry) => ({ name: entry.name, kind: entry.kind }));
11487
11503
  }
11488
11504
  // 开发期调试台 console 捕获:双条件门控(vite serve 注入 define + 调试 iframe 标记),
11489
11505
  // 生产构建被死代码消除,正式环境无副作用。失败静默,绝不影响 SDK 初始化。
@@ -11906,6 +11922,12 @@ const cloud = {
11906
11922
  deleteCurrentUserEntry: (options) => getDefaultSDK().cloud.leaderboard.deleteCurrentUserEntry(options),
11907
11923
  getInfo: (options) => getDefaultSDK().cloud.leaderboard.getInfo(options),
11908
11924
  },
11925
+ storage: {
11926
+ getStorage: (key) => getDefaultSDK().cloud.storage.getStorage(key),
11927
+ setStorage: (key, value) => getDefaultSDK().cloud.storage.setStorage(key, value),
11928
+ removeItem: (key) => getDefaultSDK().cloud.storage.removeItem(key),
11929
+ getKeys: () => getDefaultSDK().cloud.storage.getKeys(),
11930
+ },
11909
11931
  };
11910
11932
  /** 默认 SDK 实例的受管桌面程序模块。 */
11911
11933
  const companion = {
package/dist/index.esm.js CHANGED
@@ -453,6 +453,10 @@ const CLOUD_LEADERBOARD_GET_LIST_METHOD = 'cloud.leaderboard.getList';
453
453
  const CLOUD_LEADERBOARD_GET_CURRENT_USER_ENTRY_METHOD = 'cloud.leaderboard.getCurrentUserEntry';
454
454
  const CLOUD_LEADERBOARD_DELETE_CURRENT_USER_ENTRY_METHOD = 'cloud.leaderboard.deleteCurrentUserEntry';
455
455
  const CLOUD_LEADERBOARD_GET_INFO_METHOD = 'cloud.leaderboard.getInfo';
456
+ const CLOUD_STORAGE_GET_STORAGE_METHOD = 'cloud.storage.getStorage';
457
+ const CLOUD_STORAGE_SET_STORAGE_METHOD = 'cloud.storage.setStorage';
458
+ const CLOUD_STORAGE_REMOVE_ITEM_METHOD = 'cloud.storage.removeItem';
459
+ const CLOUD_STORAGE_GET_KEYS_METHOD = 'cloud.storage.getKeys';
456
460
  const COMPANION_GET_INFO_METHOD = 'companion.getInfo';
457
461
  const COMPANION_GET_PREPARATION_STATUS_METHOD = 'companion.getPreparationStatus';
458
462
  const COMPANION_PREPARE_METHOD = 'companion.prepare';
@@ -1141,6 +1145,8 @@ class $ZodEncodeError extends Error {
1141
1145
  (_a$1 = globalThis).__zod_globalConfig ?? (_a$1.__zod_globalConfig = {});
1142
1146
  const globalConfig = globalThis.__zod_globalConfig;
1143
1147
  function config(newConfig) {
1148
+ if (newConfig)
1149
+ Object.assign(globalConfig, newConfig);
1144
1150
  return globalConfig;
1145
1151
  }
1146
1152
 
@@ -6262,6 +6268,10 @@ function json(params) {
6262
6268
  });
6263
6269
  return jsonSchema;
6264
6270
  }
6271
+
6272
+ // 必须先于 view-contract 的 schema 创建执行,避免能力试探本身触发 CSP 违规。
6273
+ // 合同包面向禁止动态执行的运行环境,始终使用解释式校验,不依赖宿主探测。
6274
+ config({ jitless: true });
6265
6275
  var VIEW_BUDGET = {
6266
6276
  /** 节点树最大深度。 */
6267
6277
  maxDepth: 16,
@@ -7276,7 +7286,7 @@ function createMessageId() {
7276
7286
  /** 构建时替换为当前发布包的实际版本。 */
7277
7287
  const HB_SDK_VERSION = typeof undefined === 'string'
7278
7288
  ? undefined
7279
- : '0.9.2-alpha.0';
7289
+ : '0.9.2-alpha.2';
7280
7290
 
7281
7291
  const RUNTIME_MODES = new Set(['production', 'preview', 'development', 'unknown']);
7282
7292
  const OPERATING_SYSTEM_NAMES = new Set(['android', 'ios', 'ohos', 'windows', 'macos', 'linux', 'unknown']);
@@ -7869,6 +7879,12 @@ function createCloudModule(requester) {
7869
7879
  deleteCurrentUserEntry: (options) => requester.request(CLOUD_LEADERBOARD_DELETE_CURRENT_USER_ENTRY_METHOD, options),
7870
7880
  getInfo: (options) => requester.request(CLOUD_LEADERBOARD_GET_INFO_METHOD, options),
7871
7881
  },
7882
+ storage: {
7883
+ getStorage: (key) => requester.request(CLOUD_STORAGE_GET_STORAGE_METHOD, { key }),
7884
+ setStorage: (key, value) => requester.request(CLOUD_STORAGE_SET_STORAGE_METHOD, { key, value }),
7885
+ removeItem: (key) => requester.request(CLOUD_STORAGE_REMOVE_ITEM_METHOD, { key }),
7886
+ getKeys: () => requester.request(CLOUD_STORAGE_GET_KEYS_METHOD),
7887
+ },
7872
7888
  };
7873
7889
  }
7874
7890
 
@@ -11479,7 +11495,7 @@ function installMiniDevConsoleForwarding(consoleRef = console) {
11479
11495
 
11480
11496
  let defaultSDK = createMiniProgramSDK();
11481
11497
  if (typeof false !== 'undefined' && false && typeof window !== 'undefined') {
11482
- window.__hbSdkSandboxList = async (path) => (await getDefaultSDK().files.sandbox.directory(path).list({ limit: 200 })).map(entry => ({ name: entry.name, kind: entry.kind }));
11498
+ window.__hbSdkSandboxList = async (path) => (await getDefaultSDK().files.sandbox.directory(path).list({ limit: 200 })).map((entry) => ({ name: entry.name, kind: entry.kind }));
11483
11499
  }
11484
11500
  // 开发期调试台 console 捕获:双条件门控(vite serve 注入 define + 调试 iframe 标记),
11485
11501
  // 生产构建被死代码消除,正式环境无副作用。失败静默,绝不影响 SDK 初始化。
@@ -11902,6 +11918,12 @@ const cloud = {
11902
11918
  deleteCurrentUserEntry: (options) => getDefaultSDK().cloud.leaderboard.deleteCurrentUserEntry(options),
11903
11919
  getInfo: (options) => getDefaultSDK().cloud.leaderboard.getInfo(options),
11904
11920
  },
11921
+ storage: {
11922
+ getStorage: (key) => getDefaultSDK().cloud.storage.getStorage(key),
11923
+ setStorage: (key, value) => getDefaultSDK().cloud.storage.setStorage(key, value),
11924
+ removeItem: (key) => getDefaultSDK().cloud.storage.removeItem(key),
11925
+ getKeys: () => getDefaultSDK().cloud.storage.getKeys(),
11926
+ },
11905
11927
  };
11906
11928
  /** 默认 SDK 实例的受管桌面程序模块。 */
11907
11929
  const companion = {
@@ -62,6 +62,16 @@ const MINI_PROGRAM_PERMISSION_CATALOG = [
62
62
  methods: ['storage.getStorage', 'storage.setStorage'],
63
63
  conditions: ['仅用于简单键值存储,不包含文件系统。'],
64
64
  },
65
+ {
66
+ key: 'cloud_storage',
67
+ name: '云端存储',
68
+ description: '读写按小程序和当前登录用户隔离的云端键值数据。',
69
+ access: 'declaration',
70
+ risk: 'medium',
71
+ config: {},
72
+ methods: ['cloud.storage.getStorage', 'cloud.storage.setStorage', 'cloud.storage.removeItem', 'cloud.storage.getKeys'],
73
+ conditions: ['云端存储按登录用户隔离并受容量配额限制。'],
74
+ },
65
75
  {
66
76
  key: 'filesystem',
67
77
  name: '文件系统',
@@ -156,23 +166,6 @@ const MINI_PROGRAM_PERMISSION_CATALOG = [
156
166
  ],
157
167
  conditions: ['声明后仍需平台批准,并继续执行可信用户手势、Host 能力和当前版本 Manifest 校验。'],
158
168
  },
159
- {
160
- "key": "cloud_storage",
161
- "name": "云端存储",
162
- "description": "读写按小程序和当前登录用户隔离的云端键值数据。",
163
- "access": "declaration",
164
- "risk": "medium",
165
- "config": {},
166
- "methods": [
167
- "cloud.storage.getItem",
168
- "cloud.storage.setItem",
169
- "cloud.storage.removeItem",
170
- "cloud.storage.getKeys"
171
- ],
172
- "conditions": [
173
- "云端存储按登录用户隔离并受容量配额限制。"
174
- ]
175
- },
176
169
  {
177
170
  key: 'appProtocol',
178
171
  name: '应用协议执行',
@@ -263,6 +256,8 @@ class $ZodEncodeError extends Error {
263
256
  (_a$1 = globalThis).__zod_globalConfig ?? (_a$1.__zod_globalConfig = {});
264
257
  const globalConfig = globalThis.__zod_globalConfig;
265
258
  function config(newConfig) {
259
+ if (newConfig)
260
+ Object.assign(globalConfig, newConfig);
266
261
  return globalConfig;
267
262
  }
268
263
 
@@ -5385,6 +5380,10 @@ function json(params) {
5385
5380
  return jsonSchema;
5386
5381
  }
5387
5382
 
5383
+ // 必须先于 view-contract 的 schema 创建执行,避免能力试探本身触发 CSP 违规。
5384
+ // 合同包面向禁止动态执行的运行环境,始终使用解释式校验,不依赖宿主探测。
5385
+ config({ jitless: true });
5386
+
5388
5387
  // ../view-contract/src/schema.ts
5389
5388
  var VIEW_SCHEMA_VERSION = 1;
5390
5389
  var VIEW_BUDGET = {
@@ -60,6 +60,16 @@ const MINI_PROGRAM_PERMISSION_CATALOG = [
60
60
  methods: ['storage.getStorage', 'storage.setStorage'],
61
61
  conditions: ['仅用于简单键值存储,不包含文件系统。'],
62
62
  },
63
+ {
64
+ key: 'cloud_storage',
65
+ name: '云端存储',
66
+ description: '读写按小程序和当前登录用户隔离的云端键值数据。',
67
+ access: 'declaration',
68
+ risk: 'medium',
69
+ config: {},
70
+ methods: ['cloud.storage.getStorage', 'cloud.storage.setStorage', 'cloud.storage.removeItem', 'cloud.storage.getKeys'],
71
+ conditions: ['云端存储按登录用户隔离并受容量配额限制。'],
72
+ },
63
73
  {
64
74
  key: 'filesystem',
65
75
  name: '文件系统',
@@ -154,23 +164,6 @@ const MINI_PROGRAM_PERMISSION_CATALOG = [
154
164
  ],
155
165
  conditions: ['声明后仍需平台批准,并继续执行可信用户手势、Host 能力和当前版本 Manifest 校验。'],
156
166
  },
157
- {
158
- "key": "cloud_storage",
159
- "name": "云端存储",
160
- "description": "读写按小程序和当前登录用户隔离的云端键值数据。",
161
- "access": "declaration",
162
- "risk": "medium",
163
- "config": {},
164
- "methods": [
165
- "cloud.storage.getItem",
166
- "cloud.storage.setItem",
167
- "cloud.storage.removeItem",
168
- "cloud.storage.getKeys"
169
- ],
170
- "conditions": [
171
- "云端存储按登录用户隔离并受容量配额限制。"
172
- ]
173
- },
174
167
  {
175
168
  key: 'appProtocol',
176
169
  name: '应用协议执行',
@@ -261,6 +254,8 @@ class $ZodEncodeError extends Error {
261
254
  (_a$1 = globalThis).__zod_globalConfig ?? (_a$1.__zod_globalConfig = {});
262
255
  const globalConfig = globalThis.__zod_globalConfig;
263
256
  function config(newConfig) {
257
+ if (newConfig)
258
+ Object.assign(globalConfig, newConfig);
264
259
  return globalConfig;
265
260
  }
266
261
 
@@ -5383,6 +5378,10 @@ function json(params) {
5383
5378
  return jsonSchema;
5384
5379
  }
5385
5380
 
5381
+ // 必须先于 view-contract 的 schema 创建执行,避免能力试探本身触发 CSP 违规。
5382
+ // 合同包面向禁止动态执行的运行环境,始终使用解释式校验,不依赖宿主探测。
5383
+ config({ jitless: true });
5384
+
5386
5385
  // ../view-contract/src/schema.ts
5387
5386
  var VIEW_SCHEMA_VERSION = 1;
5388
5387
  var VIEW_BUDGET = {
@@ -76,6 +76,10 @@ const CLOUD_LEADERBOARD_GET_LIST_METHOD = 'cloud.leaderboard.getList';
76
76
  const CLOUD_LEADERBOARD_GET_CURRENT_USER_ENTRY_METHOD = 'cloud.leaderboard.getCurrentUserEntry';
77
77
  const CLOUD_LEADERBOARD_DELETE_CURRENT_USER_ENTRY_METHOD = 'cloud.leaderboard.deleteCurrentUserEntry';
78
78
  const CLOUD_LEADERBOARD_GET_INFO_METHOD = 'cloud.leaderboard.getInfo';
79
+ const CLOUD_STORAGE_GET_STORAGE_METHOD = 'cloud.storage.getStorage';
80
+ const CLOUD_STORAGE_SET_STORAGE_METHOD = 'cloud.storage.setStorage';
81
+ const CLOUD_STORAGE_REMOVE_ITEM_METHOD = 'cloud.storage.removeItem';
82
+ const CLOUD_STORAGE_GET_KEYS_METHOD = 'cloud.storage.getKeys';
79
83
  const COMPANION_GET_INFO_METHOD = 'companion.getInfo';
80
84
  const COMPANION_GET_PREPARATION_STATUS_METHOD = 'companion.getPreparationStatus';
81
85
  const COMPANION_PREPARE_METHOD = 'companion.prepare';
@@ -373,6 +377,34 @@ const MINI_PROGRAM_PROTOCOL_CAPABILITIES = [
373
377
  requirement: { kind: 'all', permissions: ['leaderboard'] },
374
378
  risk: 'low',
375
379
  },
380
+ {
381
+ method: CLOUD_STORAGE_GET_STORAGE_METHOD,
382
+ module: 'cloud',
383
+ capability: CLOUD_STORAGE_GET_STORAGE_METHOD,
384
+ requirement: { kind: 'all', permissions: ['cloud_storage'] },
385
+ risk: 'low',
386
+ },
387
+ {
388
+ method: CLOUD_STORAGE_SET_STORAGE_METHOD,
389
+ module: 'cloud',
390
+ capability: CLOUD_STORAGE_SET_STORAGE_METHOD,
391
+ requirement: { kind: 'all', permissions: ['cloud_storage'] },
392
+ risk: 'medium',
393
+ },
394
+ {
395
+ method: CLOUD_STORAGE_REMOVE_ITEM_METHOD,
396
+ module: 'cloud',
397
+ capability: CLOUD_STORAGE_REMOVE_ITEM_METHOD,
398
+ requirement: { kind: 'all', permissions: ['cloud_storage'] },
399
+ risk: 'medium',
400
+ },
401
+ {
402
+ method: CLOUD_STORAGE_GET_KEYS_METHOD,
403
+ module: 'cloud',
404
+ capability: CLOUD_STORAGE_GET_KEYS_METHOD,
405
+ requirement: { kind: 'all', permissions: ['cloud_storage'] },
406
+ risk: 'low',
407
+ },
376
408
  ...[
377
409
  COMPANION_GET_INFO_METHOD,
378
410
  COMPANION_GET_PREPARATION_STATUS_METHOD,
@@ -1217,6 +1249,7 @@ const MANAGED_RUNTIME_PERMISSION_KEYS = new Set(MINI_PROGRAM_PERMISSION_KEYS);
1217
1249
  * - `steamLibrary`
1218
1250
  * - `share`
1219
1251
  * - `storage`
1252
+ * - `cloud_storage`
1220
1253
  * - `filesystem`
1221
1254
  * - `clipboard`
1222
1255
  * - `leaderboard`
@@ -1453,6 +1486,8 @@ class $ZodEncodeError extends Error {
1453
1486
  (_a$1 = globalThis).__zod_globalConfig ?? (_a$1.__zod_globalConfig = {});
1454
1487
  const globalConfig = globalThis.__zod_globalConfig;
1455
1488
  function config(newConfig) {
1489
+ if (newConfig)
1490
+ Object.assign(globalConfig, newConfig);
1456
1491
  return globalConfig;
1457
1492
  }
1458
1493
 
@@ -6574,6 +6609,10 @@ function json(params) {
6574
6609
  });
6575
6610
  return jsonSchema;
6576
6611
  }
6612
+
6613
+ // 必须先于 view-contract 的 schema 创建执行,避免能力试探本身触发 CSP 违规。
6614
+ // 合同包面向禁止动态执行的运行环境,始终使用解释式校验,不依赖宿主探测。
6615
+ config({ jitless: true });
6577
6616
  var VIEW_BUDGET = {
6578
6617
  /** 节点树最大深度。 */
6579
6618
  maxDepth: 16,
@@ -7188,6 +7227,10 @@ exports.CLOUD_LEADERBOARD_GET_CURRENT_USER_ENTRY_METHOD = CLOUD_LEADERBOARD_GET_
7188
7227
  exports.CLOUD_LEADERBOARD_GET_INFO_METHOD = CLOUD_LEADERBOARD_GET_INFO_METHOD;
7189
7228
  exports.CLOUD_LEADERBOARD_GET_LIST_METHOD = CLOUD_LEADERBOARD_GET_LIST_METHOD;
7190
7229
  exports.CLOUD_LEADERBOARD_SUBMIT_METHOD = CLOUD_LEADERBOARD_SUBMIT_METHOD;
7230
+ exports.CLOUD_STORAGE_GET_KEYS_METHOD = CLOUD_STORAGE_GET_KEYS_METHOD;
7231
+ exports.CLOUD_STORAGE_GET_STORAGE_METHOD = CLOUD_STORAGE_GET_STORAGE_METHOD;
7232
+ exports.CLOUD_STORAGE_REMOVE_ITEM_METHOD = CLOUD_STORAGE_REMOVE_ITEM_METHOD;
7233
+ exports.CLOUD_STORAGE_SET_STORAGE_METHOD = CLOUD_STORAGE_SET_STORAGE_METHOD;
7191
7234
  exports.DEVICE_EXECUTE_PROTOCOL_METHOD = DEVICE_EXECUTE_PROTOCOL_METHOD;
7192
7235
  exports.DEVICE_SET_CLIPBOARD_METHOD = DEVICE_SET_CLIPBOARD_METHOD;
7193
7236
  exports.DEVICE_VIBRATE_METHOD = DEVICE_VIBRATE_METHOD;
@@ -74,6 +74,10 @@ const CLOUD_LEADERBOARD_GET_LIST_METHOD = 'cloud.leaderboard.getList';
74
74
  const CLOUD_LEADERBOARD_GET_CURRENT_USER_ENTRY_METHOD = 'cloud.leaderboard.getCurrentUserEntry';
75
75
  const CLOUD_LEADERBOARD_DELETE_CURRENT_USER_ENTRY_METHOD = 'cloud.leaderboard.deleteCurrentUserEntry';
76
76
  const CLOUD_LEADERBOARD_GET_INFO_METHOD = 'cloud.leaderboard.getInfo';
77
+ const CLOUD_STORAGE_GET_STORAGE_METHOD = 'cloud.storage.getStorage';
78
+ const CLOUD_STORAGE_SET_STORAGE_METHOD = 'cloud.storage.setStorage';
79
+ const CLOUD_STORAGE_REMOVE_ITEM_METHOD = 'cloud.storage.removeItem';
80
+ const CLOUD_STORAGE_GET_KEYS_METHOD = 'cloud.storage.getKeys';
77
81
  const COMPANION_GET_INFO_METHOD = 'companion.getInfo';
78
82
  const COMPANION_GET_PREPARATION_STATUS_METHOD = 'companion.getPreparationStatus';
79
83
  const COMPANION_PREPARE_METHOD = 'companion.prepare';
@@ -371,6 +375,34 @@ const MINI_PROGRAM_PROTOCOL_CAPABILITIES = [
371
375
  requirement: { kind: 'all', permissions: ['leaderboard'] },
372
376
  risk: 'low',
373
377
  },
378
+ {
379
+ method: CLOUD_STORAGE_GET_STORAGE_METHOD,
380
+ module: 'cloud',
381
+ capability: CLOUD_STORAGE_GET_STORAGE_METHOD,
382
+ requirement: { kind: 'all', permissions: ['cloud_storage'] },
383
+ risk: 'low',
384
+ },
385
+ {
386
+ method: CLOUD_STORAGE_SET_STORAGE_METHOD,
387
+ module: 'cloud',
388
+ capability: CLOUD_STORAGE_SET_STORAGE_METHOD,
389
+ requirement: { kind: 'all', permissions: ['cloud_storage'] },
390
+ risk: 'medium',
391
+ },
392
+ {
393
+ method: CLOUD_STORAGE_REMOVE_ITEM_METHOD,
394
+ module: 'cloud',
395
+ capability: CLOUD_STORAGE_REMOVE_ITEM_METHOD,
396
+ requirement: { kind: 'all', permissions: ['cloud_storage'] },
397
+ risk: 'medium',
398
+ },
399
+ {
400
+ method: CLOUD_STORAGE_GET_KEYS_METHOD,
401
+ module: 'cloud',
402
+ capability: CLOUD_STORAGE_GET_KEYS_METHOD,
403
+ requirement: { kind: 'all', permissions: ['cloud_storage'] },
404
+ risk: 'low',
405
+ },
374
406
  ...[
375
407
  COMPANION_GET_INFO_METHOD,
376
408
  COMPANION_GET_PREPARATION_STATUS_METHOD,
@@ -1215,6 +1247,7 @@ const MANAGED_RUNTIME_PERMISSION_KEYS = new Set(MINI_PROGRAM_PERMISSION_KEYS);
1215
1247
  * - `steamLibrary`
1216
1248
  * - `share`
1217
1249
  * - `storage`
1250
+ * - `cloud_storage`
1218
1251
  * - `filesystem`
1219
1252
  * - `clipboard`
1220
1253
  * - `leaderboard`
@@ -1451,6 +1484,8 @@ class $ZodEncodeError extends Error {
1451
1484
  (_a$1 = globalThis).__zod_globalConfig ?? (_a$1.__zod_globalConfig = {});
1452
1485
  const globalConfig = globalThis.__zod_globalConfig;
1453
1486
  function config(newConfig) {
1487
+ if (newConfig)
1488
+ Object.assign(globalConfig, newConfig);
1454
1489
  return globalConfig;
1455
1490
  }
1456
1491
 
@@ -6572,6 +6607,10 @@ function json(params) {
6572
6607
  });
6573
6608
  return jsonSchema;
6574
6609
  }
6610
+
6611
+ // 必须先于 view-contract 的 schema 创建执行,避免能力试探本身触发 CSP 违规。
6612
+ // 合同包面向禁止动态执行的运行环境,始终使用解释式校验,不依赖宿主探测。
6613
+ config({ jitless: true });
6575
6614
  var VIEW_BUDGET = {
6576
6615
  /** 节点树最大深度。 */
6577
6616
  maxDepth: 16,
@@ -7180,4 +7219,4 @@ object({
7180
7219
  regions: array(viewRegionSchema).max(VIEW_BUDGET.maxRegions)
7181
7220
  });
7182
7221
 
7183
- 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_EXECUTE_PROTOCOL_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, NETWORK_UPLOAD_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_DISPLAY_METHOD, VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD, isManagedMiniProgramRuntimePermissionKey, isMiniProgramBridgeMessage, isMiniProgramByteArray, isMiniProgramDirectoryDescriptor, isMiniProgramDirectoryRef, isMiniProgramDownloadProgressPayload, isMiniProgramFileDescriptor, isMiniProgramFileRef, isMiniProgramFileStat, isMiniProgramFileSystemEntityDescriptor, isMiniProgramPathRootRef, isMiniProgramRelativePath, parseMiniProgramRuntimePermissions };
7222
+ 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, CLOUD_STORAGE_GET_KEYS_METHOD, CLOUD_STORAGE_GET_STORAGE_METHOD, CLOUD_STORAGE_REMOVE_ITEM_METHOD, CLOUD_STORAGE_SET_STORAGE_METHOD, DEVICE_EXECUTE_PROTOCOL_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, NETWORK_UPLOAD_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_DISPLAY_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
@@ -91,6 +91,16 @@ const MINI_PROGRAM_PERMISSION_CATALOG = [
91
91
  methods: ['storage.getStorage', 'storage.setStorage'],
92
92
  conditions: ['仅用于简单键值存储,不包含文件系统。'],
93
93
  },
94
+ {
95
+ key: 'cloud_storage',
96
+ name: '云端存储',
97
+ description: '读写按小程序和当前登录用户隔离的云端键值数据。',
98
+ access: 'declaration',
99
+ risk: 'medium',
100
+ config: {},
101
+ methods: ['cloud.storage.getStorage', 'cloud.storage.setStorage', 'cloud.storage.removeItem', 'cloud.storage.getKeys'],
102
+ conditions: ['云端存储按登录用户隔离并受容量配额限制。'],
103
+ },
94
104
  {
95
105
  key: 'filesystem',
96
106
  name: '文件系统',
@@ -185,23 +195,6 @@ const MINI_PROGRAM_PERMISSION_CATALOG = [
185
195
  ],
186
196
  conditions: ['声明后仍需平台批准,并继续执行可信用户手势、Host 能力和当前版本 Manifest 校验。'],
187
197
  },
188
- {
189
- "key": "cloud_storage",
190
- "name": "云端存储",
191
- "description": "读写按小程序和当前登录用户隔离的云端键值数据。",
192
- "access": "declaration",
193
- "risk": "medium",
194
- "config": {},
195
- "methods": [
196
- "cloud.storage.getItem",
197
- "cloud.storage.setItem",
198
- "cloud.storage.removeItem",
199
- "cloud.storage.getKeys"
200
- ],
201
- "conditions": [
202
- "云端存储按登录用户隔离并受容量配额限制。"
203
- ]
204
- },
205
198
  {
206
199
  key: 'appProtocol',
207
200
  name: '应用协议执行',
@@ -294,6 +287,8 @@ class $ZodEncodeError extends Error {
294
287
  (_a$1 = globalThis).__zod_globalConfig ?? (_a$1.__zod_globalConfig = {});
295
288
  const globalConfig = globalThis.__zod_globalConfig;
296
289
  function config(newConfig) {
290
+ if (newConfig)
291
+ Object.assign(globalConfig, newConfig);
297
292
  return globalConfig;
298
293
  }
299
294
 
@@ -5416,6 +5411,10 @@ function json(params) {
5416
5411
  return jsonSchema;
5417
5412
  }
5418
5413
 
5414
+ // 必须先于 view-contract 的 schema 创建执行,避免能力试探本身触发 CSP 违规。
5415
+ // 合同包面向禁止动态执行的运行环境,始终使用解释式校验,不依赖宿主探测。
5416
+ config({ jitless: true });
5417
+
5419
5418
  // ../view-contract/src/schema.ts
5420
5419
  var VIEW_SCHEMA_VERSION = 1;
5421
5420
  var VIEW_BUDGET = {
@@ -10282,7 +10281,7 @@ async function ensureBasicInfoDirectory(rootPath, relative) {
10282
10281
  /** 构建时替换为当前发布包的实际版本。 */
10283
10282
  const HB_SDK_VERSION = typeof undefined === 'string'
10284
10283
  ? undefined
10285
- : '0.9.2-alpha.0';
10284
+ : '0.9.2-alpha.2';
10286
10285
 
10287
10286
  /**
10288
10287
  * iframe 与调试台页面的开发期 console 捕获转发。
package/dist/vite.esm.js CHANGED
@@ -88,6 +88,16 @@ const MINI_PROGRAM_PERMISSION_CATALOG = [
88
88
  methods: ['storage.getStorage', 'storage.setStorage'],
89
89
  conditions: ['仅用于简单键值存储,不包含文件系统。'],
90
90
  },
91
+ {
92
+ key: 'cloud_storage',
93
+ name: '云端存储',
94
+ description: '读写按小程序和当前登录用户隔离的云端键值数据。',
95
+ access: 'declaration',
96
+ risk: 'medium',
97
+ config: {},
98
+ methods: ['cloud.storage.getStorage', 'cloud.storage.setStorage', 'cloud.storage.removeItem', 'cloud.storage.getKeys'],
99
+ conditions: ['云端存储按登录用户隔离并受容量配额限制。'],
100
+ },
91
101
  {
92
102
  key: 'filesystem',
93
103
  name: '文件系统',
@@ -182,23 +192,6 @@ const MINI_PROGRAM_PERMISSION_CATALOG = [
182
192
  ],
183
193
  conditions: ['声明后仍需平台批准,并继续执行可信用户手势、Host 能力和当前版本 Manifest 校验。'],
184
194
  },
185
- {
186
- "key": "cloud_storage",
187
- "name": "云端存储",
188
- "description": "读写按小程序和当前登录用户隔离的云端键值数据。",
189
- "access": "declaration",
190
- "risk": "medium",
191
- "config": {},
192
- "methods": [
193
- "cloud.storage.getItem",
194
- "cloud.storage.setItem",
195
- "cloud.storage.removeItem",
196
- "cloud.storage.getKeys"
197
- ],
198
- "conditions": [
199
- "云端存储按登录用户隔离并受容量配额限制。"
200
- ]
201
- },
202
195
  {
203
196
  key: 'appProtocol',
204
197
  name: '应用协议执行',
@@ -291,6 +284,8 @@ class $ZodEncodeError extends Error {
291
284
  (_a$1 = globalThis).__zod_globalConfig ?? (_a$1.__zod_globalConfig = {});
292
285
  const globalConfig = globalThis.__zod_globalConfig;
293
286
  function config(newConfig) {
287
+ if (newConfig)
288
+ Object.assign(globalConfig, newConfig);
294
289
  return globalConfig;
295
290
  }
296
291
 
@@ -5413,6 +5408,10 @@ function json(params) {
5413
5408
  return jsonSchema;
5414
5409
  }
5415
5410
 
5411
+ // 必须先于 view-contract 的 schema 创建执行,避免能力试探本身触发 CSP 违规。
5412
+ // 合同包面向禁止动态执行的运行环境,始终使用解释式校验,不依赖宿主探测。
5413
+ config({ jitless: true });
5414
+
5416
5415
  // ../view-contract/src/schema.ts
5417
5416
  var VIEW_SCHEMA_VERSION = 1;
5418
5417
  var VIEW_BUDGET = {
@@ -10279,7 +10278,7 @@ async function ensureBasicInfoDirectory(rootPath, relative) {
10279
10278
  /** 构建时替换为当前发布包的实际版本。 */
10280
10279
  const HB_SDK_VERSION = typeof undefined === 'string'
10281
10280
  ? undefined
10282
- : '0.9.2-alpha.0';
10281
+ : '0.9.2-alpha.2';
10283
10282
 
10284
10283
  /**
10285
10284
  * iframe 与调试台页面的开发期 console 捕获转发。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@heybox/hb-sdk",
3
- "version": "0.9.2-alpha.0",
3
+ "version": "0.9.2-alpha.2",
4
4
  "sideEffects": [
5
5
  "./src/index.ts",
6
6
  "./src/core/singleton.ts",
@@ -76,7 +76,7 @@
76
76
  "undici": "^7.28.0",
77
77
  "ws": "^8.18.0",
78
78
  "sharp": "^0.34.5",
79
- "@heybox/hb-sdk-protocol": "0.9.2-alpha.0"
79
+ "@heybox/hb-sdk-protocol": "0.9.2-alpha.2"
80
80
  },
81
81
  "peerDependencies": {
82
82
  "vite": ">=5"
@@ -128,10 +128,10 @@
128
128
  "vitest": "^3.2.4",
129
129
  "@ai-desktop/view-contract": "file:../hb-sdk-protocol/vendor/view-contract-2.2.2-6ac49bbf6410.tgz",
130
130
  "rollup-plugin-dts": "6.4.0",
131
- "@heybox-domain/heybox-vue3-ui": "~0.1.0",
132
131
  "@heybox-domain/heybox-theme": "~0.1.0",
133
- "@heybox/hb-sdk-runtime": "~0.9.2-alpha.0",
134
132
  "@heybox/hb-api": "~1.28.14",
133
+ "@heybox/hb-sdk-runtime": "~0.9.2-alpha.2",
134
+ "@heybox-domain/heybox-vue3-ui": "~0.1.0",
135
135
  "@heybox/runtime": "~0.2.1",
136
136
  "@heybox/runtime-policy": "~0.2.1",
137
137
  "@heybox/runtime-transport-fetch": "~0.2.1"
@@ -152,6 +152,7 @@
152
152
  "{projectRoot}/licenses/**/*",
153
153
  "{projectRoot}/THIRD_PARTY_NOTICES.md",
154
154
  "{projectRoot}/rollup.config.ts",
155
+ "{projectRoot}/scripts/check-csp-startup.mjs",
155
156
  "{projectRoot}/tsconfig*.json",
156
157
  "{workspaceRoot}/packages/hb-sdk-runtime/src/**/*",
157
158
  "{workspaceRoot}/packages/hb-sdk-runtime/package.json",
@@ -175,13 +176,14 @@
175
176
  "build:hb-api-contract": "pnpm --dir ../hb-api run build:lib",
176
177
  "build:hb-sdk-protocol": "pnpm --filter @heybox/hb-sdk-protocol run build:package",
177
178
  "build:lib": "pnpm run build:lib:bundle",
178
- "build:lib:bundle": "node scripts/check-workspace-builds.cjs && rollup -c rollup.config.ts --configPlugin 'typescript={\"tsconfig\":\"tsconfig.build.json\"}'",
179
+ "build:lib:bundle": "node scripts/check-workspace-builds.cjs && rollup -c rollup.config.ts --configPlugin 'typescript={\"tsconfig\":\"tsconfig.build.json\"}' && pnpm run check:csp-startup",
179
180
  "build:cli": "pnpm run build:cli:bundle",
180
181
  "build:cli:bundle": "node scripts/check-workspace-builds.cjs && rollup -c rollup.config.ts --environment HB_SDK_BUILD:cli --configPlugin 'typescript={\"tsconfig\":\"tsconfig.build.json\"}' && pnpm run build:browser-dev-host",
181
182
  "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",
182
183
  "build:templates": "node scripts/copy-cli-templates.cjs",
183
184
  "build:types": "tsc -p tsconfig.dts.json && node ../hb-sdk-protocol/scripts/bundle-declarations.mjs",
184
185
  "check:boundary": "node scripts/check-boundary.cjs",
186
+ "check:csp-startup": "node scripts/check-csp-startup.mjs",
185
187
  "check:docs-sync": "pnpm --filter @heybox-docs/docs-hb_sdk run check:reference && node scripts/skill/generate-manifest.mjs --check && node scripts/skill/validate-skill.mjs",
186
188
  "check:compatibility-evidence": "node scripts/validate-compatibility-evidence.mjs",
187
189
  "check:api-semver": "node ../../ops/jobs/hb-sdk-docs-contract/semantic-diff.cjs",
package/skill/skill.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "hb-sdk",
3
- "skillVersion": "0.9.2-alpha.0+skill.c3a240ca503a",
3
+ "skillVersion": "0.9.2-alpha.2+skill.c3a240ca503a",
4
4
  "sdk": {
5
5
  "package": "@heybox/hb-sdk",
6
- "version": "0.9.2-alpha.0",
7
- "compatibility": "0.9.2-alpha.0"
6
+ "version": "0.9.2-alpha.2",
7
+ "compatibility": "0.9.2-alpha.2"
8
8
  },
9
9
  "distribution": {
10
10
  "type": "npm",
11
11
  "package": "@heybox/hb-sdk",
12
- "version": "0.9.2-alpha.0",
12
+ "version": "0.9.2-alpha.2",
13
13
  "path": "skill"
14
14
  },
15
15
  "integrity": "sha256-c3a240ca503a1e5f3b15033e091f1fa79a8b70585aa0d8d8fa0b332daec60ac5"