@heybox/hb-sdk 0.6.6-alpha.3 → 0.6.6-alpha.4
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/README.md +3 -1
- package/dist/cli-chunks/{build-De-QADpA.cjs → build-C54stoRf.cjs} +31 -26
- package/dist/cli-chunks/{context-CvZs9ZBf.cjs → context-DvTynj3F.cjs} +122 -23
- package/dist/cli-chunks/{create-B5gGBaSV.cjs → create-uQS30kS_.cjs} +1 -1
- package/dist/cli-chunks/{dev-BcCWCeac.cjs → dev-1wE8dNiL.cjs} +24 -113
- package/dist/cli-chunks/{doctor-BhBM4cWH.cjs → doctor-B2aCUOQ7.cjs} +1 -1
- package/dist/cli-chunks/{index-QAkYgxPI.cjs → index-19i3Dr5H.cjs} +14 -14
- package/dist/cli-chunks/{index-DyUo67lf.cjs → index-DypVMqsr.cjs} +3 -3
- package/dist/cli-chunks/{login-BNLH13Zd.cjs → login-BIIUGwoq.cjs} +2 -2
- package/dist/cli-chunks/{project-vite-VcJMyz1l.cjs → project-vite-Dl3OoQjL.cjs} +1 -1
- package/dist/cli-chunks/{remote-BE53wntR.cjs → remote-47MjCKhu.cjs} +40 -22
- package/dist/cli-chunks/{runtime-gate-B2MQf1vc.cjs → runtime-gate--rPXjiG6.cjs} +3 -3
- package/dist/cli-chunks/{index-BQm5XmMC.cjs → runtime-permission-env-BSs4uCNa.cjs} +71 -0
- package/dist/cli-chunks/{session-YJ8xNESM.cjs → session-DJEuhrgq.cjs} +1 -1
- package/dist/cli.cjs +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/vite.cjs.js +20 -3
- package/dist/vite.esm.js +20 -3
- package/package.json +2 -2
- package/skill/references/api-root.md +11 -4
- package/skill/skill.json +4 -4
- package/types/vite/html-policy.d.ts +1 -0
- package/types/vite/runtime-permission-env.d.ts +9 -0
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
## Package metadata
|
|
20
20
|
|
|
21
21
|
- Package: `@heybox/hb-sdk`
|
|
22
|
-
- Version at generation time: `0.6.6-alpha.
|
|
22
|
+
- Version at generation time: `0.6.6-alpha.4`
|
|
23
23
|
- Public root export: `@heybox/hb-sdk`
|
|
24
24
|
- Protocol export: `@heybox/hb-sdk/protocol`
|
|
25
25
|
- Vite plugin export: `@heybox/hb-sdk/vite`
|
|
@@ -204,6 +204,7 @@ import { HB_SDK_VERSION } from '../core/version';
|
|
|
204
204
|
import { renderMiniappManifest, validateMiniappPackageVersionForBuild } from '../miniapp-manifest/schema';
|
|
205
205
|
import { readMiniappVersionFromPackageJson } from '../miniapp-manifest/node';
|
|
206
206
|
import { enforceMiniappHtmlPolicy } from './html-policy';
|
|
207
|
+
import { shouldSkipMiniappPlatformCspFromEnv } from './runtime-permission-env';
|
|
207
208
|
|
|
208
209
|
type MiniappManifestPlugin = {
|
|
209
210
|
name: string;
|
|
@@ -248,6 +249,7 @@ const sdkVersionPlaceholder = ['__HB_SDK', 'VERSION__'].join('_');
|
|
|
248
249
|
const sdkVersionBuildConstant = ['__HB_SDK_BUILD', 'VERSION__'].join('_');
|
|
249
250
|
|
|
250
251
|
export function miniappManifest(): MiniappManifestPlugin {
|
|
252
|
+
const skipPlatformCsp = shouldSkipMiniappPlatformCspFromEnv();
|
|
251
253
|
let root = process.cwd();
|
|
252
254
|
let outDir = 'dist';
|
|
253
255
|
let command: 'build' | 'serve' = 'build';
|
|
@@ -278,7 +280,10 @@ export function miniappManifest(): MiniappManifestPlugin {
|
|
|
278
280
|
}
|
|
279
281
|
},
|
|
280
282
|
transformIndexHtml(html) {
|
|
281
|
-
return enforceMiniappHtmlPolicy(html,
|
|
283
|
+
return enforceMiniappHtmlPolicy(html, {
|
|
284
|
+
...(command === 'serve' ? { hmrWebSocketUrl } : {}),
|
|
285
|
+
skipPlatformCsp,
|
|
286
|
+
});
|
|
282
287
|
},
|
|
283
288
|
async closeBundle() {
|
|
284
289
|
// Rollup 在 buildStart/transform 失败后仍会调用 closeBundle。
|
|
@@ -303,7 +308,7 @@ export function miniappManifest(): MiniappManifestPlugin {
|
|
|
303
308
|
if (!htmlFiles.includes(indexHtmlPath)) {
|
|
304
309
|
throw new Error('构建产物必须包含入口 dist/index.html');
|
|
305
310
|
}
|
|
306
|
-
writeFileSync(indexHtmlPath, enforceMiniappHtmlPolicy(readFileSync(indexHtmlPath, 'utf8')));
|
|
311
|
+
writeFileSync(indexHtmlPath, enforceMiniappHtmlPolicy(readFileSync(indexHtmlPath, 'utf8'), { skipPlatformCsp }));
|
|
307
312
|
|
|
308
313
|
const manifestPath = path.join(outputRoot, 'manifest.json');
|
|
309
314
|
mkdirSync(path.dirname(manifestPath), { recursive: true });
|
|
@@ -381,7 +386,9 @@ export default defineConfig({
|
|
|
381
386
|
|
|
382
387
|
工坊小程序构建产物只能在兼容的小黑盒 Runtime 中启动。普通浏览器直接打开时不会执行标准业务脚本,并会提示在小黑盒 APP 内打开。项目应使用标准 Vite module 入口。
|
|
383
388
|
|
|
384
|
-
插件只接受单页应用:输出目录只能存在入口 `index.html
|
|
389
|
+
插件只接受单页应用:输出目录只能存在入口 `index.html`。`hb-sdk dev` 和 `hb-sdk remote deploy` 会读取绑定小程序的远端 Runtime 权限;仅当 `network.request` 已启用且 `useOfficialDomain=true` 时跳过平台 CSP,否则 build 会把平台 CSP 插入 `<head>` 首位。直接运行 `vite build`、匿名 dev、非法快照或远端权限读取失败时均继续注入。已有 CSP 始终原样保留;注入平台 CSP 时,两份策略按浏览器交集生效。
|
|
390
|
+
|
|
391
|
+
平台 CSP 会禁止 `fetch`、XHR、WebSocket、EventSource、Beacon、Worker、iframe、表单和对象加载等浏览器原生出口;dev 只额外放行当前 Vite 的精确 HMR WebSocket 地址。跳过平台 CSP 时,这些能力不再由 SDK 构建产物统一限制,但需要宿主授权的业务网络请求仍应使用 `network.request()`。本地 Mock 权限覆盖不会改变构建 CSP,构建判定始终以远端权限快照为准。
|
|
385
392
|
|
|
386
393
|
meta refresh、外部 anchor、`dns-prefetch`、`preconnect`、`prerender`、外部资源 URL 和额外 HTML 会使 build 失败。内联 script/style 允许,但 `unsafe-eval` 不允许。`dev`、`hb-sdk build` 和手动 Vite build 都不请求远端最低 SDK 版本;构建仍会把当前 `sdkVersion` 写入 Manifest,`hb-sdk remote deploy` 仍校验 Manifest 结构并经过服务端 precheck / submit-audit 策略。
|
|
387
394
|
|
package/skill/skill.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hb-sdk",
|
|
3
|
-
"skillVersion": "0.6.6-alpha.
|
|
3
|
+
"skillVersion": "0.6.6-alpha.4+skill.849ac4dd68e1",
|
|
4
4
|
"sdk": {
|
|
5
5
|
"package": "@heybox/hb-sdk",
|
|
6
|
-
"version": "0.6.6-alpha.
|
|
7
|
-
"compatibility": "0.6.6-alpha.
|
|
6
|
+
"version": "0.6.6-alpha.4",
|
|
7
|
+
"compatibility": "0.6.6-alpha.4"
|
|
8
8
|
},
|
|
9
9
|
"source": "https://open.xiaoheihe.cn/agent-skills/hb-sdk",
|
|
10
|
-
"integrity": "sha256-
|
|
10
|
+
"integrity": "sha256-849ac4dd68e1d39c13e686809d6a4e9c1bcfd90fbac899b45f43bd364db1fc68"
|
|
11
11
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const HB_SDK_RUNTIME_USE_OFFICIAL_DOMAIN_ENV = "HB_SDK_RUNTIME_USE_OFFICIAL_DOMAIN";
|
|
2
|
+
export declare const HB_SDK_RUNTIME_PERMISSION_CONTEXT_ENV = "HB_SDK_RUNTIME_PERMISSION_CONTEXT";
|
|
3
|
+
export declare function shouldSkipMiniappPlatformCspFromEnv(env?: NodeJS.ProcessEnv): boolean;
|
|
4
|
+
export declare function createMiniappPlatformCspEnv(env: NodeJS.ProcessEnv, skipPlatformCsp: boolean): {
|
|
5
|
+
HB_SDK_RUNTIME_PERMISSION_CONTEXT: string;
|
|
6
|
+
HB_SDK_RUNTIME_USE_OFFICIAL_DOMAIN: string;
|
|
7
|
+
TZ?: string | undefined;
|
|
8
|
+
};
|
|
9
|
+
export declare function withMiniappPlatformCspEnv<T>(skipPlatformCsp: boolean, action: () => Promise<T>, env?: NodeJS.ProcessEnv): Promise<T>;
|