@heybox/hb-sdk 0.2.0-alpha.0 → 0.2.0-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.
- package/README.md +193 -452
- package/bin/hb-sdk.cjs +1 -1
- package/dist/cli.cjs +71660 -3903
- package/dist/devtools/mock-host/index.html +13 -387
- package/dist/devtools/mock-host/main.js +975 -0
- package/dist/index.cjs.js +50 -63
- package/dist/index.esm.js +51 -50
- package/dist/miniapp-publish.cjs.js +77 -0
- package/dist/miniapp-publish.esm.js +66 -0
- package/dist/protocol.cjs.js +72 -13
- package/dist/protocol.esm.js +72 -14
- package/dist/templates/vue3-vite-ts/README.md.ejs +1 -5
- package/dist/templates/vue3-vite-ts/package.json.ejs +0 -1
- package/dist/templates/vue3-vite-ts/vite.config.ts +2 -1
- package/dist/vite.cjs.js +62 -0
- package/dist/vite.esm.js +60 -0
- package/package.json +30 -1
- package/skill/SKILL.md +106 -0
- package/skill/references/api-protocol.md +135 -0
- package/skill/references/api-root.md +474 -0
- package/skill/references/cli.md +376 -0
- package/skill/references/examples.md +119 -0
- package/skill/references/llms-index.md +44 -0
- package/skill/references/recipes.md +374 -0
- package/skill/references/safety-boundaries.md +30 -0
- package/skill/references/smoke-evaluation.md +24 -0
- package/skill/scripts/check-references.mjs +14 -0
- package/skill/scripts/package-skill.mjs +60 -0
- package/skill/scripts/package-skill.sh +6 -0
- package/skill/scripts/skill-metadata.mjs +74 -0
- package/skill/scripts/sync-references.mjs +565 -0
- package/skill/scripts/validate-skill.mjs +235 -0
- package/skill/skill.json +11 -0
- package/types/index.d.ts +8 -6
- package/types/miniapp-publish/index.d.ts +23 -0
- package/types/modules/auth/index.d.ts +2 -9
- package/types/modules/network/index.d.ts +6 -11
- package/types/modules/share/index.d.ts +3 -9
- package/types/modules/share/screenshot.d.ts +1 -7
- package/types/modules/share/show-share-menu.d.ts +1 -7
- package/types/modules/storage/index.d.ts +2 -16
- package/types/modules/user/get-info.d.ts +1 -7
- package/types/modules/user/index.d.ts +2 -8
- package/types/modules/viewport/index.d.ts +2 -9
- package/types/protocol/capabilities.d.ts +180 -0
- package/types/protocol.d.ts +8 -13
- package/types/vite/index.d.ts +17 -0
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import type { LoginPayload, LoginResult } from '../modules/auth';
|
|
2
|
+
import type { NetworkRequestPayload, NetworkResponsePayload } from '../modules/network';
|
|
3
|
+
import type { ScreenshotPayload, ScreenshotResult, ShowShareMenuPayload, ShowShareMenuResult } from '../modules/share';
|
|
4
|
+
import type { GetStoragePayload, GetStorageResult, SetStoragePayload } from '../modules/storage';
|
|
5
|
+
import type { GetUserInfoPayload, GetUserInfoResult } from '../modules/user';
|
|
6
|
+
import type { GetWindowInfoPayload, GetWindowInfoResult } from '../modules/viewport';
|
|
7
|
+
/**
|
|
8
|
+
* 登录授权能力方法名。
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* 供 SDK 与父容器 runtime 共享同一 bridge method 标识。
|
|
12
|
+
*/
|
|
13
|
+
export declare const AUTH_LOGIN_METHOD: "auth.login";
|
|
14
|
+
/**
|
|
15
|
+
* 用户信息能力方法名。
|
|
16
|
+
*
|
|
17
|
+
* @remarks
|
|
18
|
+
* 供 SDK 与父容器 runtime 共享同一 bridge method 标识。
|
|
19
|
+
*/
|
|
20
|
+
export declare const USER_GET_INFO_METHOD: "user.getInfo";
|
|
21
|
+
/**
|
|
22
|
+
* 展示分享面板能力方法名。
|
|
23
|
+
*
|
|
24
|
+
* @remarks
|
|
25
|
+
* 供 SDK 与父容器 runtime 共享同一 bridge method 标识。
|
|
26
|
+
*/
|
|
27
|
+
export declare const SHARE_SHOW_SHARE_MENU_METHOD: "share.showShareMenu";
|
|
28
|
+
/**
|
|
29
|
+
* 截图分享能力方法名。
|
|
30
|
+
*
|
|
31
|
+
* @remarks
|
|
32
|
+
* 供 SDK 与父容器 runtime 共享同一 bridge method 标识。
|
|
33
|
+
*/
|
|
34
|
+
export declare const SHARE_SCREENSHOT_METHOD: "share.screenshot";
|
|
35
|
+
/**
|
|
36
|
+
* 视口窗口信息能力方法名。
|
|
37
|
+
*
|
|
38
|
+
* @remarks
|
|
39
|
+
* 供 SDK 与父容器 runtime 共享同一 bridge method 标识。
|
|
40
|
+
*/
|
|
41
|
+
export declare const VIEWPORT_GET_WINDOW_INFO_METHOD: "viewport.getWindowInfo";
|
|
42
|
+
/**
|
|
43
|
+
* 读取小程序隔离 storage 能力方法名。
|
|
44
|
+
*
|
|
45
|
+
* @remarks
|
|
46
|
+
* 供 SDK 与父容器 runtime 共享同一 bridge method 标识。
|
|
47
|
+
*/
|
|
48
|
+
export declare const STORAGE_GET_STORAGE_METHOD: "storage.getStorage";
|
|
49
|
+
/**
|
|
50
|
+
* 写入小程序隔离 storage 能力方法名。
|
|
51
|
+
*
|
|
52
|
+
* @remarks
|
|
53
|
+
* 供 SDK 与父容器 runtime 共享同一 bridge method 标识。
|
|
54
|
+
*/
|
|
55
|
+
export declare const STORAGE_SET_STORAGE_METHOD: "storage.setStorage";
|
|
56
|
+
/**
|
|
57
|
+
* 发起网络请求能力方法名。
|
|
58
|
+
*
|
|
59
|
+
* @remarks
|
|
60
|
+
* 供 SDK 与父容器 runtime 共享同一 bridge method 标识。
|
|
61
|
+
*/
|
|
62
|
+
export declare const NETWORK_REQUEST_METHOD: "network.request";
|
|
63
|
+
/** 授权模块开放的方法名。 */
|
|
64
|
+
export type MiniProgramAuthMethod = typeof AUTH_LOGIN_METHOD;
|
|
65
|
+
/** 用户模块开放的方法名。 */
|
|
66
|
+
export type MiniProgramUserMethod = typeof USER_GET_INFO_METHOD;
|
|
67
|
+
/** 分享模块开放的方法名。 */
|
|
68
|
+
export type MiniProgramShareMethod = typeof SHARE_SHOW_SHARE_MENU_METHOD | typeof SHARE_SCREENSHOT_METHOD;
|
|
69
|
+
/** Viewport 模块开放的方法名。 */
|
|
70
|
+
export type MiniProgramViewportMethod = typeof VIEWPORT_GET_WINDOW_INFO_METHOD;
|
|
71
|
+
/** Storage 模块开放的方法名。 */
|
|
72
|
+
export type MiniProgramStorageMethod = typeof STORAGE_GET_STORAGE_METHOD | typeof STORAGE_SET_STORAGE_METHOD;
|
|
73
|
+
/** 网络模块开放的方法名。 */
|
|
74
|
+
export type MiniProgramNetworkMethod = typeof NETWORK_REQUEST_METHOD;
|
|
75
|
+
/** 父容器开放给小程序调用的 bridge method。 */
|
|
76
|
+
export type MiniProgramBridgeMethod = MiniProgramAuthMethod | MiniProgramUserMethod | MiniProgramShareMethod | MiniProgramViewportMethod | MiniProgramStorageMethod | MiniProgramNetworkMethod;
|
|
77
|
+
/** 小程序开放能力所属模块。 */
|
|
78
|
+
export type MiniProgramCapabilityModule = 'auth' | 'user' | 'share' | 'viewport' | 'storage' | 'network';
|
|
79
|
+
/** 小程序开放能力风险级别,用于权限、审计和灰度策略。 */
|
|
80
|
+
export type MiniProgramCapabilityRisk = 'low' | 'medium' | 'high';
|
|
81
|
+
/**
|
|
82
|
+
* 小程序开放能力定义。
|
|
83
|
+
*
|
|
84
|
+
* @remarks
|
|
85
|
+
* 这是 SDK 与 runtime 共享的能力目录元数据。runtime 可以在此基础上绑定 handler,
|
|
86
|
+
* 但 method、module、capability、permission 与 risk 不应在 runtime 侧重复维护。
|
|
87
|
+
*/
|
|
88
|
+
export interface MiniProgramCapabilityDefinition {
|
|
89
|
+
/** bridge method exposed to iframe SDK. */
|
|
90
|
+
method: MiniProgramBridgeMethod;
|
|
91
|
+
/** Module that owns this capability. */
|
|
92
|
+
module: MiniProgramCapabilityModule;
|
|
93
|
+
/** Runtime instance switch key. */
|
|
94
|
+
capability: MiniProgramBridgeMethod;
|
|
95
|
+
/** Platform permission key reserved for mini-program level authorization. */
|
|
96
|
+
permission: string;
|
|
97
|
+
/** Audit / rollout hint for policy composition. */
|
|
98
|
+
risk: MiniProgramCapabilityRisk;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* 小程序开放能力目录。
|
|
102
|
+
*
|
|
103
|
+
* @remarks
|
|
104
|
+
* 新增 bridge method 时应先更新这里,再分别补齐 SDK 模块、runtime handler 与测试。
|
|
105
|
+
*/
|
|
106
|
+
export declare const MINI_PROGRAM_PROTOCOL_CAPABILITIES: readonly [{
|
|
107
|
+
readonly method: "auth.login";
|
|
108
|
+
readonly module: "auth";
|
|
109
|
+
readonly capability: "auth.login";
|
|
110
|
+
readonly permission: "auth.login";
|
|
111
|
+
readonly risk: "medium";
|
|
112
|
+
}, {
|
|
113
|
+
readonly method: "user.getInfo";
|
|
114
|
+
readonly module: "user";
|
|
115
|
+
readonly capability: "user.getInfo";
|
|
116
|
+
readonly permission: "user.getInfo";
|
|
117
|
+
readonly risk: "medium";
|
|
118
|
+
}, {
|
|
119
|
+
readonly method: "share.showShareMenu";
|
|
120
|
+
readonly module: "share";
|
|
121
|
+
readonly capability: "share.showShareMenu";
|
|
122
|
+
readonly permission: "share.basic";
|
|
123
|
+
readonly risk: "low";
|
|
124
|
+
}, {
|
|
125
|
+
readonly method: "share.screenshot";
|
|
126
|
+
readonly module: "share";
|
|
127
|
+
readonly capability: "share.screenshot";
|
|
128
|
+
readonly permission: "share.screenshot";
|
|
129
|
+
readonly risk: "medium";
|
|
130
|
+
}, {
|
|
131
|
+
readonly method: "viewport.getWindowInfo";
|
|
132
|
+
readonly module: "viewport";
|
|
133
|
+
readonly capability: "viewport.getWindowInfo";
|
|
134
|
+
readonly permission: "viewport.windowInfo";
|
|
135
|
+
readonly risk: "low";
|
|
136
|
+
}, {
|
|
137
|
+
readonly method: "storage.getStorage";
|
|
138
|
+
readonly module: "storage";
|
|
139
|
+
readonly capability: "storage.getStorage";
|
|
140
|
+
readonly permission: "storage.read";
|
|
141
|
+
readonly risk: "low";
|
|
142
|
+
}, {
|
|
143
|
+
readonly method: "storage.setStorage";
|
|
144
|
+
readonly module: "storage";
|
|
145
|
+
readonly capability: "storage.setStorage";
|
|
146
|
+
readonly permission: "storage.write";
|
|
147
|
+
readonly risk: "medium";
|
|
148
|
+
}, {
|
|
149
|
+
readonly method: "network.request";
|
|
150
|
+
readonly module: "network";
|
|
151
|
+
readonly capability: "network.request";
|
|
152
|
+
readonly permission: "network.request";
|
|
153
|
+
readonly risk: "high";
|
|
154
|
+
}];
|
|
155
|
+
/** bridge method 到请求 payload 的映射。 */
|
|
156
|
+
export interface MiniProgramCapabilityPayloadMap {
|
|
157
|
+
[AUTH_LOGIN_METHOD]: LoginPayload;
|
|
158
|
+
[USER_GET_INFO_METHOD]: GetUserInfoPayload;
|
|
159
|
+
[SHARE_SHOW_SHARE_MENU_METHOD]: ShowShareMenuPayload;
|
|
160
|
+
[SHARE_SCREENSHOT_METHOD]: ScreenshotPayload;
|
|
161
|
+
[VIEWPORT_GET_WINDOW_INFO_METHOD]: GetWindowInfoPayload;
|
|
162
|
+
[STORAGE_GET_STORAGE_METHOD]: GetStoragePayload;
|
|
163
|
+
[STORAGE_SET_STORAGE_METHOD]: SetStoragePayload;
|
|
164
|
+
[NETWORK_REQUEST_METHOD]: NetworkRequestPayload;
|
|
165
|
+
}
|
|
166
|
+
/** bridge method 到标准化响应 payload 的映射。 */
|
|
167
|
+
export interface MiniProgramCapabilityResultMap {
|
|
168
|
+
[AUTH_LOGIN_METHOD]: LoginResult;
|
|
169
|
+
[USER_GET_INFO_METHOD]: GetUserInfoResult;
|
|
170
|
+
[SHARE_SHOW_SHARE_MENU_METHOD]: ShowShareMenuResult;
|
|
171
|
+
[SHARE_SCREENSHOT_METHOD]: ScreenshotResult;
|
|
172
|
+
[VIEWPORT_GET_WINDOW_INFO_METHOD]: GetWindowInfoResult;
|
|
173
|
+
[STORAGE_GET_STORAGE_METHOD]: GetStorageResult;
|
|
174
|
+
[STORAGE_SET_STORAGE_METHOD]: void;
|
|
175
|
+
[NETWORK_REQUEST_METHOD]: NetworkResponsePayload;
|
|
176
|
+
}
|
|
177
|
+
/** 指定 bridge method 的请求 payload。 */
|
|
178
|
+
export type MiniProgramCapabilityPayload<T extends MiniProgramBridgeMethod> = MiniProgramCapabilityPayloadMap[T];
|
|
179
|
+
/** 指定 bridge method 的标准化响应 payload。 */
|
|
180
|
+
export type MiniProgramCapabilityResult<T extends MiniProgramBridgeMethod> = MiniProgramCapabilityResultMap[T];
|
package/types/protocol.d.ts
CHANGED
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
export { MINI_PROGRAM_BRIDGE_NONCE_PARAM, MINI_PROGRAM_MESSAGE_NAMESPACE, MINI_PROGRAM_MESSAGE_VERSION, SDK_HANDSHAKE_METHOD, } from './protocol/constants';
|
|
2
2
|
export { isMiniProgramBridgeMessage } from './protocol/guards';
|
|
3
3
|
export type { MiniProgramBridgeError, MiniProgramBridgeMessage, MiniProgramBridgeMessageType, MiniProgramEventHandler, MiniProgramEventName, MiniProgramEventPayloadMap, } from './protocol/types';
|
|
4
|
-
export { AUTH_LOGIN_METHOD } from './
|
|
5
|
-
export type {
|
|
6
|
-
export {
|
|
7
|
-
export type { GetUserInfoPayload, GetUserInfoResult, MiniProgramUserInfo, MiniProgramUserInfoResult,
|
|
8
|
-
export { SHARE_SCREENSHOT_METHOD } from './modules/share/screenshot';
|
|
4
|
+
export { AUTH_LOGIN_METHOD, MINI_PROGRAM_PROTOCOL_CAPABILITIES, 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';
|
|
5
|
+
export type { MiniProgramAuthMethod, MiniProgramBridgeMethod, MiniProgramCapabilityDefinition, MiniProgramCapabilityModule, MiniProgramCapabilityPayload, MiniProgramCapabilityPayloadMap, MiniProgramCapabilityResult, MiniProgramCapabilityResultMap, MiniProgramCapabilityRisk, MiniProgramNetworkMethod, MiniProgramShareMethod, MiniProgramStorageMethod, MiniProgramUserMethod, MiniProgramViewportMethod, } from './protocol/capabilities';
|
|
6
|
+
export type { LoginPayload, LoginResult } from './modules/auth';
|
|
7
|
+
export type { GetUserInfoPayload, GetUserInfoResult, MiniProgramUserInfo, MiniProgramUserInfoResult, } from './modules/user';
|
|
9
8
|
export type { ScreenshotPayload, ScreenshotResult } from './modules/share/screenshot';
|
|
10
|
-
export { SHARE_SHOW_SHARE_MENU_METHOD } from './modules/share/show-share-menu';
|
|
11
9
|
export type { ShowShareMenuPayload, ShowShareMenuResult } from './modules/share/show-share-menu';
|
|
12
|
-
export type { MiniProgramScreenshotOptions, MiniProgramScreenshotRect, MiniProgramShareChannel,
|
|
13
|
-
export {
|
|
14
|
-
export type {
|
|
15
|
-
export {
|
|
16
|
-
export type { GetWindowInfoPayload, GetWindowInfoResult, MiniProgramSafeArea, MiniProgramViewportMethod, MiniProgramWindowInfoResult, } from './modules/viewport';
|
|
17
|
-
export { NETWORK_REQUEST_METHOD } from './modules/network';
|
|
18
|
-
export type { MiniProgramNetworkHeaders, MiniProgramNetworkMethod, MiniProgramNetworkParams, MiniProgramNetworkRequestConfig, MiniProgramNetworkResponse, MiniProgramNetworkValidateStatus, NetworkRequestPayload, NetworkResponsePayload, } from './modules/network';
|
|
10
|
+
export type { MiniProgramScreenshotOptions, MiniProgramScreenshotRect, MiniProgramShareChannel, MiniProgramShowShareMenuOptions, } from './modules/share';
|
|
11
|
+
export type { GetStoragePayload, GetStorageResult, SetStoragePayload, } from './modules/storage';
|
|
12
|
+
export type { GetWindowInfoPayload, GetWindowInfoResult, MiniProgramSafeArea, MiniProgramWindowInfoResult, } from './modules/viewport';
|
|
13
|
+
export type { MiniProgramNetworkHeaders, MiniProgramNetworkParams, MiniProgramNetworkRequestConfig, MiniProgramNetworkRequestMethod, MiniProgramNetworkResponse, MiniProgramNetworkValidateStatus, NetworkRequestPayload, NetworkResponsePayload, } from './modules/network';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type MiniappManifestPlugin = {
|
|
2
|
+
name: string;
|
|
3
|
+
apply: 'build';
|
|
4
|
+
configResolved: (resolved: MiniappManifestResolvedConfig) => void;
|
|
5
|
+
writeBundle: (this: MiniappManifestPluginContext) => void;
|
|
6
|
+
};
|
|
7
|
+
interface MiniappManifestPluginContext {
|
|
8
|
+
warn: (message: string) => void;
|
|
9
|
+
}
|
|
10
|
+
interface MiniappManifestResolvedConfig {
|
|
11
|
+
root: string;
|
|
12
|
+
build: {
|
|
13
|
+
outDir: string;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export declare function miniappManifest(): MiniappManifestPlugin;
|
|
17
|
+
export {};
|