@heybox/hb-sdk 0.8.1-alpha.2 → 0.8.1-alpha.6

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 (65) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +58 -4
  3. package/dist/cli-chunks/{build-FQoALfGC.cjs → build-B0X9pazW.cjs} +16 -10
  4. package/dist/cli-chunks/{context-CA_Q1lyH.cjs → context-DVfWZ6d1.cjs} +8 -3
  5. package/dist/cli-chunks/{create-BjIl4hy4.cjs → create-CyQWVxCA.cjs} +1 -1
  6. package/dist/cli-chunks/{dev-CiPQYsW_.cjs → dev-DP7WtQOo.cjs} +465 -117
  7. package/dist/cli-chunks/{doctor-CS6c3n-W.cjs → doctor-D6l-ONq-.cjs} +1 -1
  8. package/dist/cli-chunks/{index-BEn7WaqA.cjs → index-CDwwaNvP.cjs} +87 -15
  9. package/dist/cli-chunks/{index-CsP_x6y6.cjs → index-DvOPzPxS.cjs} +2 -2
  10. package/dist/cli-chunks/{index.esm-DeEc_-uV.cjs → index.esm-B8pX0BrZ.cjs} +9 -8
  11. package/dist/cli-chunks/{login-BENCVgaQ.cjs → login-Dt-FHzpL.cjs} +2 -2
  12. package/dist/cli-chunks/{project-vite-BO8oOfcs.cjs → project-vite-CE7kyqxl.cjs} +1 -1
  13. package/dist/cli-chunks/{remote-IiVCXcSq.cjs → remote-Be6PeR-n.cjs} +41 -28
  14. package/dist/cli-chunks/{runtime-gate-BMSY22AL.cjs → runtime-gate-BWb8QIcX.cjs} +0 -107
  15. package/dist/cli-chunks/{runtime-permission-env-BPRwn4Yc.cjs → runtime-permission-env-DWSscWBT.cjs} +304 -23
  16. package/dist/cli-chunks/{session-C0eIKZ6V.cjs → session-DZXRQ4Dp.cjs} +1 -1
  17. package/dist/cli-chunks/{skill-DpInwbiA.cjs → skill-B8GWL2KT.cjs} +83 -27
  18. package/dist/cli-chunks/{version-BONZQWPR.cjs → version-D19lZmYN.cjs} +1 -1
  19. package/dist/cli.cjs +1 -1
  20. package/dist/devtools/browser-dev-host/assets/browser-dev-host-Bb43BPMS.js +101 -0
  21. package/dist/devtools/browser-dev-host/assets/desktop-app-launch-DnPRjCa3.js +6 -0
  22. package/dist/devtools/browser-dev-host/assets/index-D-aNERAr.css +1 -0
  23. package/dist/devtools/browser-dev-host/assets/index-Dh5wRj5c.js +567 -0
  24. package/dist/devtools/browser-dev-host/index.html +3 -3
  25. package/dist/index.cjs.js +1893 -1562
  26. package/dist/index.esm.js +1893 -1563
  27. package/dist/miniapp-publish.cjs.js +61 -0
  28. package/dist/miniapp-publish.esm.js +59 -1
  29. package/dist/protocol.cjs.js +64 -13
  30. package/dist/protocol.esm.js +64 -13
  31. package/dist/templates/vanilla-vite-js/README.md.ejs +1 -1
  32. package/dist/templates/vanilla-vite-js/package.json.ejs +1 -0
  33. package/dist/templates/vanilla-vite-js/vite.config.js +1 -1
  34. package/dist/vite.cjs.js +1333 -18
  35. package/dist/vite.esm.js +1334 -20
  36. package/package.json +8 -8
  37. package/skill/SKILL.md +10 -5
  38. package/skill/references/api-protocol.md +3 -3
  39. package/skill/references/api-root.md +225 -210
  40. package/skill/references/cli.md +9 -3
  41. package/skill/references/examples.md +13 -1
  42. package/skill/references/recipes.md +161 -0
  43. package/skill/references/safety-boundaries.md +7 -1
  44. package/skill/skill.json +5 -5
  45. package/types/core/client.d.ts +2 -0
  46. package/types/core/sdk.d.ts +3 -0
  47. package/types/core/singleton.d.ts +3 -0
  48. package/types/devtools/device-logs.d.ts +48 -0
  49. package/types/index.d.ts +3 -1
  50. package/types/miniapp-manifest/companion-directory.d.ts +2 -0
  51. package/types/miniapp-manifest/companion-executable.d.ts +4 -0
  52. package/types/miniapp-manifest/companion-types.d.ts +38 -0
  53. package/types/miniapp-manifest/companions.d.ts +17 -0
  54. package/types/miniapp-manifest/index.d.ts +2 -0
  55. package/types/miniapp-manifest/node.d.ts +9 -0
  56. package/types/miniapp-manifest/permissions.d.ts +1 -1
  57. package/types/miniapp-manifest/schema.d.ts +5 -1
  58. package/types/miniapp-publish/index.d.ts +17 -2
  59. package/types/modules/companion/index.d.ts +57 -0
  60. package/types/protocol/dev-session.d.ts +6 -0
  61. package/types/vite/index.d.ts +11 -4
  62. package/dist/devtools/browser-dev-host/assets/browser-dev-host-DzEst9n7.js +0 -99
  63. package/dist/devtools/browser-dev-host/assets/index-B-NHlLsr.js +0 -567
  64. package/dist/devtools/browser-dev-host/assets/index-P-ra4m1y.css +0 -1
  65. package/dist/devtools/browser-dev-host/assets/workbench-state-BwV7bm4n.js +0 -5
@@ -0,0 +1,57 @@
1
+ import { type CompanionCapability, type CompanionExit, type CompanionInfo, type CompanionNotificationCategory, type CompanionPreparationStatus, type CompanionPrepareProgress, type CompanionTarget } from '@heybox/hb-sdk-protocol';
2
+ import type { MiniProgramOperationRequester } from '../../core/client';
3
+ import type { MiniProgramEventHandler, MiniProgramEventName } from '../../protocol/types';
4
+ import type { FileHandle } from '../files';
5
+ interface CompanionRequester extends MiniProgramOperationRequester {
6
+ on<T extends MiniProgramEventName>(eventName: T, handler: MiniProgramEventHandler<T>): () => void;
7
+ }
8
+ export interface CompanionPrepareOptions {
9
+ signal?: AbortSignal;
10
+ onProgress?: (progress: CompanionPrepareProgress) => void;
11
+ }
12
+ export type CompanionOutputHandler = (data: Uint8Array) => void;
13
+ export type CompanionExitHandler = (exit: CompanionExit) => void;
14
+ export type CompanionOwnershipLostHandler = () => void;
15
+ export type CompanionState = 'running' | 'exited';
16
+ export type CompanionStateChangeHandler = (state: CompanionState) => void;
17
+ export interface CompanionNotification {
18
+ category: CompanionNotificationCategory;
19
+ }
20
+ export interface CompanionStdio {
21
+ write(data: Uint8Array): Promise<void>;
22
+ closeStdin(): Promise<void>;
23
+ onStdout(handler: CompanionOutputHandler): () => void;
24
+ onStderr(handler: CompanionOutputHandler): () => void;
25
+ }
26
+ export interface CompanionAttachments {
27
+ open(id: string): Promise<FileHandle>;
28
+ }
29
+ export interface CompanionNotifications {
30
+ show(input: CompanionNotification): Promise<void>;
31
+ }
32
+ export interface CompanionSession {
33
+ readonly id: string;
34
+ readonly alias: string;
35
+ readonly target: CompanionTarget;
36
+ readonly capabilities: readonly CompanionCapability[];
37
+ readonly state: CompanionState;
38
+ readonly stdio?: CompanionStdio;
39
+ readonly attachments?: CompanionAttachments;
40
+ readonly notifications?: CompanionNotifications;
41
+ terminate(): Promise<void>;
42
+ waitForExit(): Promise<CompanionExit>;
43
+ onStateChange(handler: CompanionStateChangeHandler): () => void;
44
+ onExit(handler: CompanionExitHandler): () => void;
45
+ onOwnershipLost(handler: CompanionOwnershipLostHandler): () => void;
46
+ }
47
+ export interface MiniProgramCompanionModule {
48
+ getInfo(alias: string): Promise<CompanionInfo>;
49
+ getPreparationStatus(alias: string): Promise<CompanionPreparationStatus>;
50
+ prepare(alias: string, options?: CompanionPrepareOptions): Promise<CompanionInfo>;
51
+ cancelPreparation(alias: string): Promise<void>;
52
+ launch(alias: string): Promise<CompanionSession>;
53
+ getActiveSession(alias: string): Promise<CompanionSession | undefined>;
54
+ }
55
+ /** 创建当前 SDK session 的 companion 模块。 */
56
+ export declare function createCompanionModule(requester: CompanionRequester): MiniProgramCompanionModule;
57
+ export type { CompanionCapability, CompanionExit, CompanionInfo, CompanionNotificationCategory, CompanionPreparationStatus, CompanionPrepareProgress, CompanionTarget, };
@@ -33,6 +33,12 @@ export interface MiniProgramDevLaunchSnapshot {
33
33
  sdk_version?: string;
34
34
  mini_program_id?: string;
35
35
  local_dev_launch_token?: string;
36
+ /** CLI 进程身份,重启后变化;不作为授权凭据。 */
37
+ dev_session_id?: string;
38
+ /** 启动票过期时间,Unix 毫秒。 */
39
+ expires_at?: number;
40
+ companion_manifest_sha256?: string;
41
+ companion_artifact_access_token?: string;
36
42
  dev_context_url?: string;
37
43
  runtime_permissions?: MiniProgramRuntimePermissionsSnapshot;
38
44
  }
@@ -1,3 +1,4 @@
1
+ import type { IncomingMessage, Server, ServerResponse } from 'node:http';
1
2
  import { MINIAPP_PLATFORM_VALUES, type MiniappPlatform } from '../miniapp-manifest/schema';
2
3
  export interface MiniappManifestPlugin {
3
4
  name: string;
@@ -5,11 +6,19 @@ export interface MiniappManifestPlugin {
5
6
  command: 'build' | 'serve';
6
7
  }) => MiniappManifestUserConfig | void;
7
8
  configResolved: (resolved: MiniappManifestResolvedConfig) => void;
9
+ configureServer: (server: MiniappManifestDevServer) => void;
8
10
  /** Rollup 在构建失败后仍会跑 closeBundle;用 buildEnd 记录真实错误,避免二次校验掩盖原因。 */
9
11
  buildEnd: (error?: Error) => void;
10
12
  transformIndexHtml: (html: string) => string;
11
13
  closeBundle: (this: MiniappManifestPluginContext) => Promise<void>;
12
14
  }
15
+ export interface MiniappManifestDevServer {
16
+ httpServer?: Server | null;
17
+ restart?: (forceOptimize?: boolean) => Promise<void>;
18
+ middlewares: {
19
+ use: (handler: (request: IncomingMessage, response: ServerResponse, next: () => void) => void) => void;
20
+ };
21
+ }
13
22
  export interface MiniappManifestUserConfig {
14
23
  base?: string;
15
24
  define?: Record<string, string>;
@@ -40,7 +49,5 @@ export interface MiniappManifestResolvedConfig {
40
49
  }
41
50
  export { MINIAPP_PLATFORM_VALUES };
42
51
  export type { MiniappPlatform };
43
- export interface MiniappManifestOptions {
44
- platforms: readonly MiniappPlatform[];
45
- }
46
- export declare function miniappManifest(options: MiniappManifestOptions): MiniappManifestPlugin;
52
+ export declare const HB_SDK_COMPANION_ARTIFACT_ACCESS_TOKEN_ENV = "HB_SDK_COMPANION_ARTIFACT_ACCESS_TOKEN";
53
+ export declare function miniappManifest(): MiniappManifestPlugin;