@heybox/hb-sdk 0.2.0-alpha.2 → 0.3.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.
@@ -1,3 +1,4 @@
1
+ import type { MiniProgramBridgeMethod, MiniProgramCapabilityPayload, MiniProgramCapabilityResult } from '../protocol/capabilities';
1
2
  import type { MiniProgramEventHandler, MiniProgramEventName } from '../protocol/types';
2
3
  /**
3
4
  * 创建 SDK bridge client 的配置项。
@@ -17,22 +18,11 @@ export interface MiniProgramSDKOptions {
17
18
  /** 精准 postMessage 目标 origin;未传时尝试推断,失败则回退为 `*`。 */
18
19
  targetOrigin?: string;
19
20
  }
20
- /**
21
- * 模块 API 发起请求所需的最小能力。
22
- *
23
- * @remarks
24
- * 各公开模块只依赖该最小接口发起 bridge 请求,以保持模块层与底层实现解耦。
25
- */
21
+ type MiniProgramRequesterArgs<Method extends MiniProgramBridgeMethod> = MiniProgramCapabilityPayload<Method> extends void ? [payload?: MiniProgramCapabilityPayload<Method>] : [payload: MiniProgramCapabilityPayload<Method>];
22
+ /** 模块 API 发起请求所需的最小能力。 */
26
23
  export interface MiniProgramRequester {
27
- /**
28
- * 向父容器调用指定开放能力。
29
- *
30
- * @typeParam T 标准化后的返回值类型。
31
- * @param method bridge method 名称。
32
- * @param payload 可序列化请求载荷。
33
- * @returns 由父容器返回的标准化结果。
34
- */
35
- request<T>(method: string, payload?: unknown): Promise<T>;
24
+ /** 向父容器调用指定开放能力。 */
25
+ request<Method extends MiniProgramBridgeMethod>(method: Method, ...args: MiniProgramRequesterArgs<Method>): Promise<MiniProgramCapabilityResult<Method>>;
36
26
  }
37
27
  /** 底层 bridge client,负责握手、请求响应、事件分发与超时清理。 */
38
28
  export declare class MiniProgramBridgeClient implements MiniProgramRequester {
@@ -60,7 +50,7 @@ export declare class MiniProgramBridgeClient implements MiniProgramRequester {
60
50
  /** 移除小程序事件监听。 */
61
51
  off<T extends MiniProgramEventName>(eventName: T, handler: MiniProgramEventHandler<T>): void;
62
52
  /** 调用父容器开放能力。 */
63
- request<T>(method: string, payload?: unknown): Promise<T>;
53
+ request<Method extends MiniProgramBridgeMethod>(method: Method, ...args: MiniProgramRequesterArgs<Method>): Promise<MiniProgramCapabilityResult<Method>>;
64
54
  /** 销毁 SDK 实例,并拒绝尚未完成的请求。 */
65
55
  destroy(): void;
66
56
  private ensureStarted;
@@ -74,3 +64,4 @@ export declare class MiniProgramBridgeClient implements MiniProgramRequester {
74
64
  private clearReadyTimers;
75
65
  private rejectAllPending;
76
66
  }
67
+ export {};
package/types/index.d.ts CHANGED
@@ -1,12 +1,8 @@
1
1
  export { createMiniProgramSDK, MiniProgramSDK } from './core/sdk';
2
2
  export { HbMiniProgramSDKError, HbMiniProgramNetworkError } from './core/errors';
3
- export type { MiniProgramRequester, MiniProgramSDKOptions } from './core/client';
3
+ export type { MiniProgramSDKOptions } from './core/client';
4
4
  export { ready, on, off, auth, user, share, viewport, storage, network } from './core/singleton';
5
- export { MINI_PROGRAM_BRIDGE_NONCE_PARAM, MINI_PROGRAM_MESSAGE_NAMESPACE, MINI_PROGRAM_MESSAGE_VERSION, SDK_HANDSHAKE_METHOD, } from './protocol/constants';
6
- export { isMiniProgramBridgeMessage } from './protocol/guards';
7
- export type { MiniProgramBridgeError, MiniProgramBridgeMessage, MiniProgramBridgeMessageType, MiniProgramEventHandler, MiniProgramEventName, MiniProgramEventPayloadMap, } from './protocol/types';
8
- export { AUTH_LOGIN_METHOD, NETWORK_REQUEST_METHOD, SHARE_SCREENSHOT_METHOD, SHARE_SHOW_SHARE_MENU_METHOD, STORAGE_GET_STORAGE_METHOD, STORAGE_SET_STORAGE_METHOD, USER_GET_INFO_METHOD, VIEWPORT_GET_WINDOW_INFO_METHOD, } from './protocol/capabilities';
9
- export type { MiniProgramAuthMethod, MiniProgramBridgeMethod, MiniProgramCapabilityDefinition, MiniProgramCapabilityModule, MiniProgramCapabilityPayload, MiniProgramCapabilityPayloadMap, MiniProgramCapabilityResult, MiniProgramCapabilityResultMap, MiniProgramCapabilityRisk, MiniProgramNetworkMethod, MiniProgramShareMethod, MiniProgramStorageMethod, MiniProgramUserMethod, MiniProgramViewportMethod, } from './protocol/capabilities';
5
+ export type { MiniProgramEventHandler, MiniProgramEventName, MiniProgramEventPayloadMap, } from './protocol/types';
10
6
  export type { LoginPayload, LoginResult, MiniProgramAuthModule } from './modules/auth';
11
7
  export type { GetUserInfoPayload, GetUserInfoResult, MiniProgramUserInfo, MiniProgramUserInfoResult, MiniProgramUserModule, } from './modules/user';
12
8
  export type { MiniProgramScreenshotOptions, MiniProgramScreenshotRect, MiniProgramShareChannel, MiniProgramShareModule, MiniProgramShowShareMenuOptions, ScreenshotPayload, ScreenshotResult, ShowShareMenuPayload, ShowShareMenuResult, } from './modules/share';
@@ -0,0 +1,2 @@
1
+ export * from './schema';
2
+ export * from './node';
@@ -0,0 +1 @@
1
+ export declare function readMiniappVersionFromPackageJson(root: string): string;
@@ -0,0 +1,14 @@
1
+ export declare const MINIAPP_TEMPLATE_VERSION = "0.0.0";
2
+ export interface MiniappManifest {
3
+ [key: string]: unknown;
4
+ version: string;
5
+ }
6
+ export interface ParseMiniappManifestResult {
7
+ manifest: MiniappManifest;
8
+ hadBom: boolean;
9
+ }
10
+ export declare function isValidMiniappManifestVersion(version: string): boolean;
11
+ export declare function getMiniappManifestBuildWarning(version: string): string | undefined;
12
+ export declare function renderMiniappManifest(manifest: MiniappManifest): string;
13
+ export declare function parseMiniappManifestJson(raw: string, sourceLabel?: string): ParseMiniappManifestResult;
14
+ export declare function validateMiniappManifestForDeploy(manifest: MiniappManifest): string;
@@ -1,7 +1,7 @@
1
1
  export declare const MINIAPP_UPLOAD_SCOPE = "activity";
2
2
  export declare const ACTIVITY_UPLOAD_KEY_MAX_LENGTH = 64;
3
3
  export declare const PUBLISH_USER_MINIPROGRAM_API_PATH = "/mall/developer/user_miniprogram/publish";
4
- export declare function isValidVersion(version: string): boolean;
4
+ export { isValidMiniappManifestVersion as isValidVersion } from '../miniapp-manifest/schema';
5
5
  export declare function normalizeRelativePath(relativePath: string): string;
6
6
  export declare function relativePathContainsNodeModulesSegment(relativePath: string): boolean;
7
7
  export declare function getMiniProgramUploadAlias(miniProgramId: string): string;
@@ -0,0 +1,6 @@
1
+ export declare const HB_SDK_PACKAGE_NAME = "@heybox/hb-sdk";
2
+ export declare const HB_SDK_SKILL_NAME = "hb-sdk";
3
+ export declare const HB_SDK_AGENT_SKILLS_BASE_URL = "https://open.xiaoheihe.cn/agent-skills";
4
+ export declare const HB_SDK_SKILL_SOURCE = "https://open.xiaoheihe.cn/agent-skills/hb-sdk";
5
+ export declare const HB_SDK_SKILL_INDEX_URL = "https://open.xiaoheihe.cn/agent-skills/.well-known/agent-skills/index.json";
6
+ export declare const HB_SDK_SKILL_INSTALL_COMMAND = "npx skills add https://open.xiaoheihe.cn/agent-skills/hb-sdk";