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

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 (48) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/README.md +25 -19
  3. package/dist/cli-chunks/{build-DkokKVNy.cjs → build-PYCNacya.cjs} +8 -5
  4. package/dist/cli-chunks/{context-CKzZxKbF.cjs → context-m2W2XbL0.cjs} +42 -59
  5. package/dist/cli-chunks/{create-BQy5Jdmu.cjs → create-BdAg3WGA.cjs} +1 -1
  6. package/dist/cli-chunks/{dev-Dik2zr5R.cjs → dev-CyZuw7Yn.cjs} +26 -15
  7. package/dist/cli-chunks/{doctor-Byr4uwKG.cjs → doctor-DU8rCfUF.cjs} +1 -1
  8. package/dist/cli-chunks/{index-Cl0XaX8e.cjs → index-DATObqzK.cjs} +2 -2
  9. package/dist/cli-chunks/{index-BwGBr1ZA.cjs → index-MMW2ibQm.cjs} +15 -15
  10. package/dist/cli-chunks/{index.esm-BYifBABc.cjs → index.esm-BiAaAUFC.cjs} +8 -8
  11. package/dist/cli-chunks/{login-Dr9lclu3.cjs → login-B3TThMss.cjs} +2 -2
  12. package/dist/cli-chunks/{project-vite-BIPrOtRO.cjs → project-vite-BQj8YLI4.cjs} +1 -1
  13. package/dist/cli-chunks/{remote-DXxyA14a.cjs → remote-DNvI7tHH.cjs} +57 -25
  14. package/dist/cli-chunks/{runtime-gate-DFjw66kF.cjs → runtime-gate-BEFp1w_s.cjs} +11 -3
  15. package/dist/cli-chunks/{runtime-permission-env-CjsCe5bp.cjs → runtime-permission-env-CtL8rsjB.cjs} +351 -0
  16. package/dist/cli-chunks/{session-B6Mo9eYW.cjs → session-DjBkjaF8.cjs} +1 -1
  17. package/dist/cli-chunks/{skill-f90sxv28.cjs → skill-cR_wnaw2.cjs} +2 -2
  18. package/dist/cli-chunks/{version-DDB_btOG.cjs → version-yEn1E2Bg.cjs} +1 -1
  19. package/dist/cli.cjs +1 -1
  20. package/dist/devtools/browser-dev-host/assets/browser-dev-host-TzYf9L6C.js +99 -0
  21. package/dist/devtools/browser-dev-host/assets/{index-DaqmTjSF.js → index-C5MZZDa5.js} +4 -4
  22. package/dist/devtools/browser-dev-host/assets/index-P-ra4m1y.css +1 -0
  23. package/dist/devtools/browser-dev-host/assets/{workbench-state-wHgWRb7I.js → workbench-state-BwV7bm4n.js} +2 -2
  24. package/dist/devtools/browser-dev-host/index.html +3 -3
  25. package/dist/index.cjs.js +99 -1
  26. package/dist/index.esm.js +99 -1
  27. package/dist/protocol.cjs.js +189 -47
  28. package/dist/protocol.esm.js +189 -47
  29. package/dist/templates/vanilla-vite-js/package.json.ejs +2 -1
  30. package/dist/vite.cjs.js +281 -13
  31. package/dist/vite.esm.js +281 -13
  32. package/package.json +5 -5
  33. package/skill/SKILL.md +8 -9
  34. package/skill/references/api-protocol.md +1 -1
  35. package/skill/references/api-root.md +63 -21
  36. package/skill/references/cli.md +6 -6
  37. package/skill/references/examples.md +3 -3
  38. package/skill/references/recipes.md +35 -38
  39. package/skill/references/safety-boundaries.md +9 -5
  40. package/skill/skill.json +5 -5
  41. package/types/core/mini-dev-console.d.ts +36 -0
  42. package/types/miniapp-manifest/index.d.ts +1 -0
  43. package/types/miniapp-manifest/node.d.ts +3 -0
  44. package/types/miniapp-manifest/permissions.d.ts +37 -0
  45. package/types/miniapp-manifest/schema.d.ts +5 -0
  46. package/types/vite/index.d.ts +3 -1
  47. package/dist/devtools/browser-dev-host/assets/browser-dev-host-CbhA4h8z.js +0 -97
  48. package/dist/devtools/browser-dev-host/assets/index-DJFB5ySU.css +0 -1
@@ -0,0 +1,37 @@
1
+ import { type MiniProgramPermissionKey, type MiniProgramRuntimePermissionsSnapshot } from '@heybox/hb-sdk-protocol';
2
+ export declare const MINIAPP_PERMISSION_KEYS: readonly ["userInfo", "steamLibrary", "share", "storage", "filesystem", "clipboard", "leaderboard", "network"];
3
+ export type MiniappPermissionKey = MiniProgramPermissionKey;
4
+ export interface SimpleMiniappPermissionDeclaration {
5
+ enabled: true;
6
+ }
7
+ export interface NetworkMiniappPermissionDeclaration extends SimpleMiniappPermissionDeclaration {
8
+ useOfficialDomain: boolean;
9
+ }
10
+ export type MiniappPermissionDeclarations = Partial<Record<Exclude<MiniappPermissionKey, 'network'>, SimpleMiniappPermissionDeclaration> & {
11
+ network: NetworkMiniappPermissionDeclaration;
12
+ }>;
13
+ export interface ParsedMiniappPermissions {
14
+ declared: boolean;
15
+ permissions?: MiniappPermissionDeclarations;
16
+ }
17
+ export interface MiniappPermissionView {
18
+ key: MiniappPermissionKey;
19
+ access: 'declaration' | 'platform-approval';
20
+ declared: boolean;
21
+ approved: boolean | null;
22
+ requestedConfig?: Record<string, boolean>;
23
+ approvedConfig?: Record<string, boolean>;
24
+ effective: boolean;
25
+ effectiveConfig?: Record<string, boolean>;
26
+ }
27
+ export declare function parseMiniappPermissions(value: unknown, options: {
28
+ present: boolean;
29
+ sdkVersion: string;
30
+ sourceLabel?: string;
31
+ }): ParsedMiniappPermissions;
32
+ export declare function requiresExplicitPermissions(sdkVersion: string): boolean;
33
+ export declare function getMissingPermissionsWarning(sourceLabel?: string): string;
34
+ export declare function composeMiniappRuntimePermissions(local: ParsedMiniappPermissions, approvals: unknown): {
35
+ runtimePermissions: MiniProgramRuntimePermissionsSnapshot;
36
+ views: MiniappPermissionView[];
37
+ };
@@ -1,3 +1,4 @@
1
+ import { type MiniappPermissionDeclarations } from './permissions';
1
2
  export declare const MINIAPP_TEMPLATE_VERSION = "0.0.0";
2
3
  export declare const MINIAPP_PLATFORM_VALUES: readonly ["android", "ios", "ohos", "windows", "macos", "linux"];
3
4
  export type MiniappPlatform = (typeof MINIAPP_PLATFORM_VALUES)[number];
@@ -6,6 +7,7 @@ export interface MiniappManifest {
6
7
  sdkVersion: string;
7
8
  version: string;
8
9
  platforms: readonly MiniappPlatform[];
10
+ permissions?: MiniappPermissionDeclarations;
9
11
  }
10
12
  export interface ParseMiniappManifestResult {
11
13
  manifest: MiniappManifest;
@@ -17,6 +19,9 @@ export declare function validateMiniappManifestVersion(version: unknown, sourceL
17
19
  export declare function renderMiniappManifest(manifest: MiniappManifest): string;
18
20
  export declare function parseMiniappManifestJson(raw: string, sourceLabel?: string): ParseMiniappManifestResult;
19
21
  export declare function validateMiniappManifestForDeploy(manifest: MiniappManifest): {
22
+ permissions?: Partial<Record<"userInfo" | "steamLibrary" | "share" | "storage" | "filesystem" | "clipboard" | "leaderboard", import("./permissions").SimpleMiniappPermissionDeclaration> & {
23
+ network: import("./permissions").NetworkMiniappPermissionDeclaration;
24
+ }> | undefined;
20
25
  version: string;
21
26
  sdkVersion: string;
22
27
  platforms: readonly ("android" | "ios" | "ohos" | "windows" | "macos" | "linux")[];
@@ -1,7 +1,9 @@
1
1
  import { MINIAPP_PLATFORM_VALUES, type MiniappPlatform } from '../miniapp-manifest/schema';
2
2
  export interface MiniappManifestPlugin {
3
3
  name: string;
4
- config: (config: MiniappManifestUserConfig) => MiniappManifestUserConfig | void;
4
+ config: (config: MiniappManifestUserConfig, env?: {
5
+ command: 'build' | 'serve';
6
+ }) => MiniappManifestUserConfig | void;
5
7
  configResolved: (resolved: MiniappManifestResolvedConfig) => void;
6
8
  /** Rollup 在构建失败后仍会跑 closeBundle;用 buildEnd 记录真实错误,避免二次校验掩盖原因。 */
7
9
  buildEnd: (error?: Error) => void;