weixin-devtools-mcp 0.0.1 → 0.1.1

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 (183) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +127 -128
  3. package/build/MiniProgramContext.d.ts +317 -0
  4. package/build/MiniProgramContext.d.ts.map +1 -0
  5. package/build/MiniProgramContext.js +696 -0
  6. package/build/MiniProgramContext.js.map +1 -0
  7. package/build/collectors/Collector.d.ts +127 -0
  8. package/build/collectors/Collector.d.ts.map +1 -0
  9. package/build/collectors/Collector.js +252 -0
  10. package/build/collectors/Collector.js.map +1 -0
  11. package/build/collectors/ConsoleCollector.d.ts +104 -0
  12. package/build/collectors/ConsoleCollector.d.ts.map +1 -0
  13. package/build/collectors/ConsoleCollector.js +157 -0
  14. package/build/collectors/ConsoleCollector.js.map +1 -0
  15. package/build/collectors/NetworkCollector.d.ts +167 -0
  16. package/build/collectors/NetworkCollector.d.ts.map +1 -0
  17. package/build/collectors/NetworkCollector.js +265 -0
  18. package/build/collectors/NetworkCollector.js.map +1 -0
  19. package/build/collectors/index.d.ts +13 -0
  20. package/build/collectors/index.d.ts.map +1 -0
  21. package/build/collectors/index.js +17 -0
  22. package/build/collectors/index.js.map +1 -0
  23. package/build/config/tool-profile.d.ts +30 -0
  24. package/build/config/tool-profile.d.ts.map +1 -0
  25. package/build/config/tool-profile.js +138 -0
  26. package/build/config/tool-profile.js.map +1 -0
  27. package/build/connection/adapters.d.ts +3 -0
  28. package/build/connection/adapters.d.ts.map +1 -0
  29. package/build/connection/adapters.js +134 -0
  30. package/build/connection/adapters.js.map +1 -0
  31. package/build/connection/errors.d.ts +34 -0
  32. package/build/connection/errors.d.ts.map +1 -0
  33. package/build/connection/errors.js +101 -0
  34. package/build/connection/errors.js.map +1 -0
  35. package/build/connection/health-probe.d.ts +4 -0
  36. package/build/connection/health-probe.d.ts.map +1 -0
  37. package/build/connection/health-probe.js +60 -0
  38. package/build/connection/health-probe.js.map +1 -0
  39. package/build/connection/index.d.ts +6 -0
  40. package/build/connection/index.d.ts.map +1 -0
  41. package/build/connection/index.js +6 -0
  42. package/build/connection/index.js.map +1 -0
  43. package/build/connection/manager.d.ts +19 -0
  44. package/build/connection/manager.d.ts.map +1 -0
  45. package/build/connection/manager.js +227 -0
  46. package/build/connection/manager.js.map +1 -0
  47. package/build/connection/resolver.d.ts +3 -0
  48. package/build/connection/resolver.d.ts.map +1 -0
  49. package/build/connection/resolver.js +99 -0
  50. package/build/connection/resolver.js.map +1 -0
  51. package/build/connection/types.d.ts +95 -0
  52. package/build/connection/types.d.ts.map +1 -0
  53. package/build/connection/types.js +16 -0
  54. package/build/connection/types.js.map +1 -0
  55. package/build/core/assertion.d.ts +22 -0
  56. package/build/core/assertion.d.ts.map +1 -0
  57. package/build/core/assertion.js +318 -0
  58. package/build/core/assertion.js.map +1 -0
  59. package/build/core/connection.d.ts +37 -0
  60. package/build/core/connection.d.ts.map +1 -0
  61. package/build/core/connection.js +745 -0
  62. package/build/core/connection.js.map +1 -0
  63. package/build/core/index.d.ts +13 -0
  64. package/build/core/index.d.ts.map +1 -0
  65. package/build/core/index.js +19 -0
  66. package/build/core/index.js.map +1 -0
  67. package/build/core/interaction.d.ts +22 -0
  68. package/build/core/interaction.d.ts.map +1 -0
  69. package/build/core/interaction.js +185 -0
  70. package/build/core/interaction.js.map +1 -0
  71. package/build/core/navigation.d.ts +26 -0
  72. package/build/core/navigation.d.ts.map +1 -0
  73. package/build/core/navigation.js +210 -0
  74. package/build/core/navigation.js.map +1 -0
  75. package/build/core/query.d.ts +14 -0
  76. package/build/core/query.d.ts.map +1 -0
  77. package/build/core/query.js +191 -0
  78. package/build/core/query.js.map +1 -0
  79. package/build/core/screenshot.d.ts +10 -0
  80. package/build/core/screenshot.d.ts.map +1 -0
  81. package/build/core/screenshot.js +93 -0
  82. package/build/core/screenshot.js.map +1 -0
  83. package/build/core/snapshot.d.ts +17 -0
  84. package/build/core/snapshot.d.ts.map +1 -0
  85. package/build/core/snapshot.js +225 -0
  86. package/build/core/snapshot.js.map +1 -0
  87. package/build/core/types.d.ts +250 -0
  88. package/build/core/types.d.ts.map +1 -0
  89. package/build/core/types.js +6 -0
  90. package/build/core/types.js.map +1 -0
  91. package/build/formatters/consoleFormatter.d.ts +50 -0
  92. package/build/formatters/consoleFormatter.d.ts.map +1 -0
  93. package/build/formatters/consoleFormatter.js +116 -0
  94. package/build/formatters/consoleFormatter.js.map +1 -0
  95. package/build/formatters/snapshotFormatter.d.ts +41 -0
  96. package/build/formatters/snapshotFormatter.d.ts.map +1 -0
  97. package/build/formatters/snapshotFormatter.js +156 -0
  98. package/build/formatters/snapshotFormatter.js.map +1 -0
  99. package/build/index.d.ts +11 -0
  100. package/build/index.d.ts.map +1 -0
  101. package/build/index.js +45 -9
  102. package/build/index.js.map +1 -0
  103. package/build/server.d.ts +7 -0
  104. package/build/server.d.ts.map +1 -0
  105. package/build/server.js +88 -32
  106. package/build/server.js.map +1 -0
  107. package/build/tools/ToolDefinition.d.ts +265 -0
  108. package/build/tools/ToolDefinition.d.ts.map +1 -0
  109. package/build/tools/ToolDefinition.js +16 -7
  110. package/build/tools/ToolDefinition.js.map +1 -0
  111. package/build/tools/assert.d.ts +17 -0
  112. package/build/tools/assert.d.ts.map +1 -0
  113. package/build/tools/assert.js +63 -103
  114. package/build/tools/assert.js.map +1 -0
  115. package/build/tools/connection.d.ts +13 -0
  116. package/build/tools/connection.d.ts.map +1 -0
  117. package/build/tools/connection.js +338 -611
  118. package/build/tools/connection.js.map +1 -0
  119. package/build/tools/console.d.ts +20 -0
  120. package/build/tools/console.d.ts.map +1 -0
  121. package/build/tools/console.js +162 -152
  122. package/build/tools/console.js.map +1 -0
  123. package/build/tools/diagnose.d.ts +22 -0
  124. package/build/tools/diagnose.d.ts.map +1 -0
  125. package/build/tools/diagnose.js +406 -13
  126. package/build/tools/diagnose.js.map +1 -0
  127. package/build/tools/index.d.ts +6 -0
  128. package/build/tools/index.d.ts.map +1 -0
  129. package/build/tools/index.js +3 -77
  130. package/build/tools/index.js.map +1 -0
  131. package/build/tools/input.d.ts +21 -0
  132. package/build/tools/input.d.ts.map +1 -0
  133. package/build/tools/input.js +73 -139
  134. package/build/tools/input.js.map +1 -0
  135. package/build/tools/navigate.d.ts +21 -0
  136. package/build/tools/navigate.d.ts.map +1 -0
  137. package/build/tools/navigate.js +63 -126
  138. package/build/tools/navigate.js.map +1 -0
  139. package/build/tools/network.d.ts +21 -0
  140. package/build/tools/network.d.ts.map +1 -0
  141. package/build/tools/network.js +214 -1044
  142. package/build/tools/network.js.map +1 -0
  143. package/build/tools/page.d.ts +13 -0
  144. package/build/tools/page.d.ts.map +1 -0
  145. package/build/tools/page.js +6 -3
  146. package/build/tools/page.js.map +1 -0
  147. package/build/tools/screenshot.d.ts +9 -0
  148. package/build/tools/screenshot.d.ts.map +1 -0
  149. package/build/tools/screenshot.js +3 -1
  150. package/build/tools/screenshot.js.map +1 -0
  151. package/build/tools/script.d.ts +6 -0
  152. package/build/tools/script.d.ts.map +1 -0
  153. package/build/tools/script.js +92 -0
  154. package/build/tools/script.js.map +1 -0
  155. package/build/tools/snapshot.d.ts +9 -0
  156. package/build/tools/snapshot.d.ts.map +1 -0
  157. package/build/tools/snapshot.js +78 -12
  158. package/build/tools/snapshot.js.map +1 -0
  159. package/build/tools/tools.d.ts +15 -0
  160. package/build/tools/tools.d.ts.map +1 -0
  161. package/build/tools/tools.js +63 -0
  162. package/build/tools/tools.js.map +1 -0
  163. package/build/tools.d.ts +431 -0
  164. package/build/tools.d.ts.map +1 -0
  165. package/build/tools.js +258 -118
  166. package/build/tools.js.map +1 -0
  167. package/build/types/errors.d.ts +189 -0
  168. package/build/types/errors.d.ts.map +1 -0
  169. package/build/types/errors.js +257 -0
  170. package/build/types/errors.js.map +1 -0
  171. package/build/utils/error.d.ts +6 -0
  172. package/build/utils/error.d.ts.map +1 -0
  173. package/build/utils/error.js +11 -0
  174. package/build/utils/error.js.map +1 -0
  175. package/build/utils/idGenerator.d.ts +21 -0
  176. package/build/utils/idGenerator.d.ts.map +1 -0
  177. package/build/utils/idGenerator.js +23 -0
  178. package/build/utils/idGenerator.js.map +1 -0
  179. package/build/version.d.ts +7 -0
  180. package/build/version.d.ts.map +1 -0
  181. package/build/version.js +10 -0
  182. package/build/version.js.map +1 -0
  183. package/package.json +31 -9
@@ -0,0 +1,317 @@
1
+ /**
2
+ * MiniProgramContext - 小程序自动化上下文管理类
3
+ *
4
+ * 参考 chrome-devtools-mcp 的 McpContext 设计模式
5
+ * 统一管理所有状态,提供类型安全的访问方法
6
+ *
7
+ * 使用 Collector 模式管理 Console 和 Network 数据
8
+ */
9
+ import type { MiniProgram, Page, Element } from 'miniprogram-automator';
10
+ import { ConsoleCollector, NetworkCollector } from './collectors/index.js';
11
+ import type { ConsoleEntry, NetworkRequest } from './collectors/index.js';
12
+ import { type ConnectionConnectResult, type ConnectionRequest, type ConnectionStatusSnapshot } from './connection/index.js';
13
+ import type { ToolContext, ConsoleStorage, NetworkStorage, ConsoleMessage, ExceptionMessage } from './tools/ToolDefinition.js';
14
+ import { type ElementMapInfo, type PageSnapshot } from './tools.js';
15
+ /**
16
+ * MiniProgramContext 配置选项
17
+ */
18
+ export interface MiniProgramContextOptions {
19
+ /** 最大保留的导航会话数 */
20
+ maxNavigations?: number;
21
+ /** 是否启用详细日志 */
22
+ verbose?: boolean;
23
+ /** 快照缓存 TTL(毫秒),默认 5000ms */
24
+ snapshotCacheTtl?: number;
25
+ }
26
+ /**
27
+ * MiniProgramContext 类
28
+ *
29
+ * 统一管理小程序自动化的所有状态:
30
+ * - miniProgram 实例
31
+ * - currentPage 当前页面
32
+ * - elementMap 元素映射
33
+ * - consoleCollector Console 数据收集器
34
+ * - networkCollector 网络请求收集器
35
+ */
36
+ export declare class MiniProgramContext implements ToolContext {
37
+ #private;
38
+ /**
39
+ * 私有构造函数,使用工厂方法创建实例
40
+ */
41
+ private constructor();
42
+ /**
43
+ * 工厂方法:创建 MiniProgramContext 实例
44
+ */
45
+ static create(options?: MiniProgramContextOptions): MiniProgramContext;
46
+ /**
47
+ * 工厂方法:从已有的 MiniProgram 实例创建上下文
48
+ */
49
+ static from(miniProgram: MiniProgram, options?: MiniProgramContextOptions): Promise<MiniProgramContext>;
50
+ /**
51
+ * 获取 MiniProgram 实例
52
+ * @throws 如果未连接则抛出错误
53
+ */
54
+ getMiniProgram(): MiniProgram;
55
+ bindConsoleAndExceptionListeners(handlers: {
56
+ consoleHandler: (msg: {
57
+ type?: string;
58
+ args?: unknown[];
59
+ }) => void;
60
+ exceptionHandler: (err: {
61
+ message?: string;
62
+ stack?: string;
63
+ }) => void;
64
+ }): void;
65
+ /**
66
+ * 设置 MiniProgram 实例
67
+ */
68
+ setMiniProgram(miniProgram: MiniProgram): Promise<void>;
69
+ /**
70
+ * 检查是否已连接
71
+ */
72
+ isConnected(): boolean;
73
+ /**
74
+ * 断开连接,重置状态
75
+ */
76
+ disconnect(): void;
77
+ connectDevtools(request: ConnectionRequest): Promise<ConnectionConnectResult>;
78
+ reconnectDevtools(request?: ConnectionRequest): Promise<ConnectionConnectResult>;
79
+ disconnectDevtools(): Promise<ConnectionStatusSnapshot>;
80
+ getConnectionStatus(options?: {
81
+ refreshHealth?: boolean;
82
+ }): Promise<ConnectionStatusSnapshot>;
83
+ /**
84
+ * 获取当前页面
85
+ * @throws 如果未连接或没有当前页面则抛出错误
86
+ */
87
+ getCurrentPage(): Page;
88
+ /**
89
+ * 设置当前页面
90
+ */
91
+ setCurrentPage(page: Page): void;
92
+ /**
93
+ * 刷新当前页面引用
94
+ */
95
+ refreshCurrentPage(): Promise<Page>;
96
+ /**
97
+ * 获取元素映射表(只读)
98
+ */
99
+ getElementMap(): ReadonlyMap<string, ElementMapInfo>;
100
+ /**
101
+ * 设置元素映射
102
+ */
103
+ setElementMapEntry(uid: string, info: ElementMapInfo): void;
104
+ /**
105
+ * 批量设置元素映射
106
+ */
107
+ setElementMap(map: Map<string, ElementMapInfo>): void;
108
+ /**
109
+ * 清空元素映射
110
+ */
111
+ clearElementMap(): void;
112
+ /**
113
+ * 通过 UID 获取元素
114
+ * 统一处理:连接检查、快照检查、元素查找、索引定位
115
+ */
116
+ getElementByUid(uid: string): Promise<Element>;
117
+ /**
118
+ * 获取页面快照(带缓存)
119
+ *
120
+ * 缓存策略:
121
+ * - 在 TTL 内返回缓存的快照(避免重复调用 getPageSnapshot)
122
+ * - 页面路径变化时自动刷新缓存
123
+ * - 支持强制刷新
124
+ *
125
+ * @param options.forceRefresh 强制刷新缓存
126
+ * @param options.ttl 覆盖默认 TTL(毫秒)
127
+ * @returns 页面快照和元素映射
128
+ */
129
+ getPageSnapshotCached(options?: {
130
+ forceRefresh?: boolean;
131
+ ttl?: number;
132
+ }): Promise<{
133
+ snapshot: PageSnapshot;
134
+ elementMap: Map<string, ElementMapInfo>;
135
+ }>;
136
+ /**
137
+ * 使缓存失效
138
+ * 在导航后或 DOM 发生变化时调用
139
+ */
140
+ invalidateSnapshotCache(): void;
141
+ /**
142
+ * 获取缓存状态信息(用于调试)
143
+ */
144
+ getSnapshotCacheStatus(): {
145
+ isCached: boolean;
146
+ path: string;
147
+ age: number;
148
+ elementCount: number;
149
+ ttl: number;
150
+ };
151
+ /**
152
+ * 获取 Console 收集器(新 API)
153
+ */
154
+ getConsoleCollector(): ConsoleCollector;
155
+ /**
156
+ * 开始 Console 监听
157
+ */
158
+ startConsoleMonitoring(): void;
159
+ /**
160
+ * 停止 Console 监听
161
+ */
162
+ stopConsoleMonitoring(): void;
163
+ /**
164
+ * 检查是否正在监听 Console
165
+ */
166
+ isConsoleMonitoring(): boolean;
167
+ /**
168
+ * 添加 Console 消息
169
+ * @returns 分配的 msgid
170
+ */
171
+ addConsoleMessage(message: Omit<ConsoleMessage, 'msgid'>): number;
172
+ /**
173
+ * 添加异常消息
174
+ * @returns 分配的 msgid
175
+ */
176
+ addExceptionMessage(exception: Omit<ExceptionMessage, 'msgid'>): number;
177
+ /**
178
+ * 通过 ID 获取消息
179
+ */
180
+ getConsoleMessageById(msgid: number): ConsoleEntry | undefined;
181
+ /**
182
+ * 获取所有消息(支持分页和过滤)
183
+ */
184
+ getConsoleMessages(options?: {
185
+ includePreserved?: boolean;
186
+ types?: string[];
187
+ pageSize?: number;
188
+ pageIdx?: number;
189
+ }): ConsoleEntry[];
190
+ /**
191
+ * 在导航时分割存储(保留历史)
192
+ */
193
+ splitConsoleAfterNavigation(): void;
194
+ /**
195
+ * 清空 Console 消息
196
+ */
197
+ clearConsoleMessages(): void;
198
+ /**
199
+ * 获取 Network 收集器(新 API)
200
+ */
201
+ getNetworkCollector(): NetworkCollector;
202
+ /**
203
+ * 开始网络监听
204
+ */
205
+ startNetworkMonitoring(): void;
206
+ /**
207
+ * 停止网络监听
208
+ */
209
+ stopNetworkMonitoring(): void;
210
+ /**
211
+ * 检查是否正在监听网络
212
+ */
213
+ isNetworkMonitoring(): boolean;
214
+ /**
215
+ * 添加网络请求
216
+ */
217
+ addNetworkRequest(request: NetworkRequest): number;
218
+ /**
219
+ * 更新网络请求
220
+ */
221
+ updateNetworkRequest(id: string, updates: Partial<Pick<NetworkRequest, 'statusCode' | 'response' | 'responseHeaders' | 'error' | 'duration' | 'completedAt' | 'success' | 'pending'>>): boolean;
222
+ /**
223
+ * 完成网络请求
224
+ */
225
+ completeNetworkRequest(id: string, response: {
226
+ statusCode?: number;
227
+ data?: unknown;
228
+ headers?: Record<string, string>;
229
+ error?: string;
230
+ }): boolean;
231
+ /**
232
+ * 获取网络请求
233
+ */
234
+ getNetworkRequests(options?: {
235
+ type?: 'request' | 'uploadFile' | 'downloadFile' | 'all';
236
+ urlPattern?: string;
237
+ successOnly?: boolean;
238
+ failedOnly?: boolean;
239
+ since?: string;
240
+ limit?: number;
241
+ }): NetworkRequest[];
242
+ /**
243
+ * 清空网络请求
244
+ */
245
+ clearNetworkRequests(): void;
246
+ /**
247
+ * 在导航时分割存储(保留历史)
248
+ */
249
+ splitNetworkAfterNavigation(): void;
250
+ /**
251
+ * ToolContext 接口:获取 miniProgram
252
+ */
253
+ get miniProgram(): MiniProgram | null;
254
+ /**
255
+ * ToolContext 接口:设置 miniProgram
256
+ */
257
+ set miniProgram(value: MiniProgram | null);
258
+ /**
259
+ * ToolContext 接口:获取 currentPage
260
+ */
261
+ get currentPage(): Page | null;
262
+ /**
263
+ * ToolContext 接口:设置 currentPage
264
+ */
265
+ set currentPage(value: Page | null);
266
+ /**
267
+ * ToolContext 接口:获取 elementMap
268
+ */
269
+ get elementMap(): Map<string, ElementMapInfo>;
270
+ /**
271
+ * ToolContext 接口:设置 elementMap
272
+ */
273
+ set elementMap(value: Map<string, ElementMapInfo>);
274
+ /**
275
+ * ToolContext 接口:获取 consoleStorage(向后兼容适配器)
276
+ * 将 Collector 数据转换为 ConsoleStorage 格式
277
+ */
278
+ get consoleStorage(): ConsoleStorage;
279
+ /**
280
+ * ToolContext 接口:设置 consoleStorage(向后兼容适配器)
281
+ * 注意:这个 setter 主要用于兼容性,新代码应直接使用 Collector
282
+ */
283
+ set consoleStorage(value: ConsoleStorage);
284
+ /**
285
+ * ToolContext 接口:获取 networkStorage(向后兼容适配器)
286
+ * 将 Collector 数据转换为 NetworkStorage 格式
287
+ */
288
+ get networkStorage(): NetworkStorage;
289
+ /**
290
+ * ToolContext 接口:设置 networkStorage(向后兼容适配器)
291
+ * 注意:这个 setter 主要用于兼容性,新代码应直接使用 Collector
292
+ */
293
+ set networkStorage(value: NetworkStorage);
294
+ /**
295
+ * ToolContext 接口:获取 connectionStatus
296
+ */
297
+ get connectionStatus(): ConnectionStatusSnapshot;
298
+ /**
299
+ * ToolContext 接口:设置 connectionStatus(兼容层)
300
+ */
301
+ set connectionStatus(value: ConnectionStatusSnapshot);
302
+ /**
303
+ * 获取上下文状态摘要(用于调试)
304
+ */
305
+ getStatusSummary(): {
306
+ connected: boolean;
307
+ hasCurrentPage: boolean;
308
+ elementCount: number;
309
+ consoleMonitoring: boolean;
310
+ consoleMessageCount: number;
311
+ networkMonitoring: boolean;
312
+ networkRequestCount: number;
313
+ snapshotCached: boolean;
314
+ snapshotCacheAge: number;
315
+ };
316
+ }
317
+ //# sourceMappingURL=MiniProgramContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MiniProgramContext.d.ts","sourceRoot":"","sources":["../src/MiniProgramContext.ts"],"names":[],"mappings":"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"}