@creatoria/miniapp-mcp 0.1.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 (160) hide show
  1. package/README.md +469 -0
  2. package/dist/cli.d.ts +6 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +144 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/config/defaults.d.ts +73 -0
  7. package/dist/config/defaults.d.ts.map +1 -0
  8. package/dist/config/defaults.js +118 -0
  9. package/dist/config/defaults.js.map +1 -0
  10. package/dist/config/loader.d.ts +50 -0
  11. package/dist/config/loader.d.ts.map +1 -0
  12. package/dist/config/loader.js +189 -0
  13. package/dist/config/loader.js.map +1 -0
  14. package/dist/core/element-ref.d.ts +44 -0
  15. package/dist/core/element-ref.d.ts.map +1 -0
  16. package/dist/core/element-ref.js +213 -0
  17. package/dist/core/element-ref.js.map +1 -0
  18. package/dist/core/logger.d.ts +55 -0
  19. package/dist/core/logger.d.ts.map +1 -0
  20. package/dist/core/logger.js +378 -0
  21. package/dist/core/logger.js.map +1 -0
  22. package/dist/core/output.d.ts +21 -0
  23. package/dist/core/output.d.ts.map +1 -0
  24. package/dist/core/output.js +56 -0
  25. package/dist/core/output.js.map +1 -0
  26. package/dist/core/report-generator.d.ts +24 -0
  27. package/dist/core/report-generator.d.ts.map +1 -0
  28. package/dist/core/report-generator.js +212 -0
  29. package/dist/core/report-generator.js.map +1 -0
  30. package/dist/core/session.d.ts +83 -0
  31. package/dist/core/session.d.ts.map +1 -0
  32. package/dist/core/session.js +306 -0
  33. package/dist/core/session.js.map +1 -0
  34. package/dist/core/timeout.d.ts +49 -0
  35. package/dist/core/timeout.d.ts.map +1 -0
  36. package/dist/core/timeout.js +67 -0
  37. package/dist/core/timeout.js.map +1 -0
  38. package/dist/core/tool-logger.d.ts +83 -0
  39. package/dist/core/tool-logger.d.ts.map +1 -0
  40. package/dist/core/tool-logger.js +453 -0
  41. package/dist/core/tool-logger.js.map +1 -0
  42. package/dist/core/validation.d.ts +39 -0
  43. package/dist/core/validation.d.ts.map +1 -0
  44. package/dist/core/validation.js +93 -0
  45. package/dist/core/validation.js.map +1 -0
  46. package/dist/index.d.ts +7 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +6 -0
  49. package/dist/index.js.map +1 -0
  50. package/dist/server.d.ts +7 -0
  51. package/dist/server.d.ts.map +1 -0
  52. package/dist/server.js +85 -0
  53. package/dist/server.js.map +1 -0
  54. package/dist/tools/assert.d.ts +108 -0
  55. package/dist/tools/assert.d.ts.map +1 -0
  56. package/dist/tools/assert.js +291 -0
  57. package/dist/tools/assert.js.map +1 -0
  58. package/dist/tools/automator.d.ts +45 -0
  59. package/dist/tools/automator.d.ts.map +1 -0
  60. package/dist/tools/automator.js +186 -0
  61. package/dist/tools/automator.js.map +1 -0
  62. package/dist/tools/element.d.ts +253 -0
  63. package/dist/tools/element.d.ts.map +1 -0
  64. package/dist/tools/element.js +615 -0
  65. package/dist/tools/element.js.map +1 -0
  66. package/dist/tools/index.d.ts +97 -0
  67. package/dist/tools/index.d.ts.map +1 -0
  68. package/dist/tools/index.js +1565 -0
  69. package/dist/tools/index.js.map +1 -0
  70. package/dist/tools/miniprogram.d.ts +79 -0
  71. package/dist/tools/miniprogram.d.ts.map +1 -0
  72. package/dist/tools/miniprogram.js +245 -0
  73. package/dist/tools/miniprogram.js.map +1 -0
  74. package/dist/tools/network.d.ts +65 -0
  75. package/dist/tools/network.d.ts.map +1 -0
  76. package/dist/tools/network.js +205 -0
  77. package/dist/tools/network.js.map +1 -0
  78. package/dist/tools/page.d.ts +108 -0
  79. package/dist/tools/page.d.ts.map +1 -0
  80. package/dist/tools/page.js +307 -0
  81. package/dist/tools/page.js.map +1 -0
  82. package/dist/tools/record.d.ts +86 -0
  83. package/dist/tools/record.d.ts.map +1 -0
  84. package/dist/tools/record.js +316 -0
  85. package/dist/tools/record.js.map +1 -0
  86. package/dist/tools/snapshot.d.ts +82 -0
  87. package/dist/tools/snapshot.d.ts.map +1 -0
  88. package/dist/tools/snapshot.js +258 -0
  89. package/dist/tools/snapshot.js.map +1 -0
  90. package/dist/types.d.ts +240 -0
  91. package/dist/types.d.ts.map +1 -0
  92. package/dist/types.js +5 -0
  93. package/dist/types.js.map +1 -0
  94. package/docs/SIMPLE_USAGE.md +210 -0
  95. package/docs/api/README.md +244 -0
  96. package/docs/api/assert.md +1015 -0
  97. package/docs/api/automator.md +345 -0
  98. package/docs/api/element.md +1454 -0
  99. package/docs/api/miniprogram.md +558 -0
  100. package/docs/api/network.md +883 -0
  101. package/docs/api/page.md +909 -0
  102. package/docs/api/record.md +963 -0
  103. package/docs/api/snapshot.md +792 -0
  104. package/docs/architecture.E-Docs.md +1359 -0
  105. package/docs/architecture.F1.md +720 -0
  106. package/docs/architecture.F2.md +871 -0
  107. package/docs/architecture.F3.md +905 -0
  108. package/docs/architecture.md +90 -0
  109. package/docs/charter.A1.align.yaml +170 -0
  110. package/docs/charter.A2.align.yaml +199 -0
  111. package/docs/charter.A3.align.yaml +242 -0
  112. package/docs/charter.A4.align.yaml +227 -0
  113. package/docs/charter.B1.align.yaml +179 -0
  114. package/docs/charter.B2.align.yaml +200 -0
  115. package/docs/charter.B3.align.yaml +200 -0
  116. package/docs/charter.B4.align.yaml +188 -0
  117. package/docs/charter.C1.align.yaml +190 -0
  118. package/docs/charter.C2.align.yaml +202 -0
  119. package/docs/charter.C3.align.yaml +211 -0
  120. package/docs/charter.C4.align.yaml +263 -0
  121. package/docs/charter.C5.align.yaml +220 -0
  122. package/docs/charter.D1.align.yaml +190 -0
  123. package/docs/charter.D2.align.yaml +234 -0
  124. package/docs/charter.D3.align.yaml +206 -0
  125. package/docs/charter.E-Docs.align.yaml +294 -0
  126. package/docs/charter.F1.align.yaml +193 -0
  127. package/docs/charter.F2.align.yaml +248 -0
  128. package/docs/charter.F3.align.yaml +287 -0
  129. package/docs/charter.G.align.yaml +174 -0
  130. package/docs/charter.align.yaml +111 -0
  131. package/docs/examples/session-report-usage.md +449 -0
  132. package/docs/maintenance.md +682 -0
  133. package/docs/playwright-mcp/350/260/203/347/240/224.md +53 -0
  134. package/docs/setup-guide.md +775 -0
  135. package/docs/tasks.A1.atomize.md +296 -0
  136. package/docs/tasks.A2.atomize.md +408 -0
  137. package/docs/tasks.A3.atomize.md +564 -0
  138. package/docs/tasks.A4.atomize.md +496 -0
  139. package/docs/tasks.B1.atomize.md +352 -0
  140. package/docs/tasks.B2.atomize.md +561 -0
  141. package/docs/tasks.B3.atomize.md +508 -0
  142. package/docs/tasks.B4.atomize.md +504 -0
  143. package/docs/tasks.C1.atomize.md +540 -0
  144. package/docs/tasks.C2.atomize.md +665 -0
  145. package/docs/tasks.C3.atomize.md +745 -0
  146. package/docs/tasks.C4.atomize.md +908 -0
  147. package/docs/tasks.C5.atomize.md +755 -0
  148. package/docs/tasks.D1.atomize.md +547 -0
  149. package/docs/tasks.D2.atomize.md +619 -0
  150. package/docs/tasks.D3.atomize.md +790 -0
  151. package/docs/tasks.E-Docs.atomize.md +1204 -0
  152. package/docs/tasks.atomize.md +189 -0
  153. package/docs/troubleshooting.md +855 -0
  154. package/docs//345/256/214/346/225/264/345/256/236/347/216/260/346/226/271/346/241/210.md +155 -0
  155. package/docs//345/274/200/345/217/221/344/273/273/345/212/241/350/256/241/345/210/222.md +110 -0
  156. package/docs//345/276/256/344/277/241/345/260/217/347/250/213/345/272/217/350/207/252/345/212/250/345/214/226API/345/256/214/346/225/264/346/226/207/346/241/243.md +894 -0
  157. package/docs//345/276/256/344/277/241/345/260/217/347/250/213/345/272/217/350/207/252/345/212/250/345/214/226/345/256/214/346/225/264/346/223/215/344/275/234/346/211/213/345/206/214.md +1885 -0
  158. package/docs//346/216/245/345/217/243/346/226/271/346/241/210.md +565 -0
  159. package/docs//347/254/254/344/270/200/347/211/210/346/234/254/346/226/271/346/241/210.md +380 -0
  160. package/package.json +87 -0
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Automator tool implementations
3
+ * Handles launch, connect, disconnect, and close operations
4
+ */
5
+ import automator from 'miniprogram-automator';
6
+ /**
7
+ * Default automation port for WeChat DevTools
8
+ */
9
+ const DEFAULT_PORT = 9420;
10
+ /**
11
+ * Default CLI path for macOS
12
+ */
13
+ const DEFAULT_CLI_PATH = '/Applications/wechatwebdevtools.app/Contents/MacOS/cli';
14
+ /**
15
+ * Launch WeChat DevTools and connect to miniprogram
16
+ */
17
+ export async function launch(session, args) {
18
+ const { projectPath, cliPath = DEFAULT_CLI_PATH, port = DEFAULT_PORT } = args;
19
+ const logger = session.logger;
20
+ try {
21
+ logger?.info('Launching miniprogram', {
22
+ projectPath,
23
+ cliPath,
24
+ port,
25
+ });
26
+ // Check if already connected
27
+ if (session.miniProgram) {
28
+ logger?.warn('MiniProgram already connected, disconnecting first');
29
+ await disconnect(session);
30
+ }
31
+ // Launch using miniprogram-automator
32
+ const miniProgram = await automator.launch({
33
+ projectPath,
34
+ cliPath,
35
+ port,
36
+ });
37
+ // Store in session (use 'as any' to bypass type incompatibility between official types and our interface)
38
+ session.miniProgram = miniProgram;
39
+ session.config = {
40
+ ...session.config,
41
+ projectPath,
42
+ cliPath,
43
+ port,
44
+ };
45
+ logger?.info('MiniProgram launched successfully', { port });
46
+ return {
47
+ success: true,
48
+ message: `MiniProgram launched successfully on port ${port}`,
49
+ port,
50
+ };
51
+ }
52
+ catch (error) {
53
+ const errorMessage = error instanceof Error ? error.message : String(error);
54
+ logger?.error('Failed to launch miniprogram', {
55
+ error: errorMessage,
56
+ projectPath,
57
+ });
58
+ throw new Error(`Failed to launch miniprogram: ${errorMessage}`);
59
+ }
60
+ }
61
+ /**
62
+ * Connect to an already running WeChat DevTools instance
63
+ * Note: The port must be configured in WeChat DevTools settings before connecting
64
+ */
65
+ export async function connect(session, args = {}) {
66
+ const { port } = args;
67
+ const logger = session.logger;
68
+ try {
69
+ logger?.info('Connecting to existing DevTools instance', { port });
70
+ // Check if already connected
71
+ if (session.miniProgram) {
72
+ logger?.warn('MiniProgram already connected, disconnecting first');
73
+ await disconnect(session);
74
+ }
75
+ // Connect using miniprogram-automator
76
+ // Note: automator.connect() uses the port configured in WeChat DevTools
77
+ const miniProgram = await automator.connect({
78
+ wsEndpoint: port ? `ws://localhost:${port}` : undefined,
79
+ });
80
+ // Store in session (use 'as any' to bypass type incompatibility between official types and our interface)
81
+ session.miniProgram = miniProgram;
82
+ if (port) {
83
+ session.config = {
84
+ ...session.config,
85
+ port,
86
+ };
87
+ }
88
+ logger?.info('Connected to DevTools successfully', { port });
89
+ return {
90
+ success: true,
91
+ message: port
92
+ ? `Connected to DevTools on port ${port}`
93
+ : 'Connected to DevTools successfully',
94
+ port,
95
+ };
96
+ }
97
+ catch (error) {
98
+ const errorMessage = error instanceof Error ? error.message : String(error);
99
+ logger?.error('Failed to connect to DevTools', {
100
+ error: errorMessage,
101
+ port,
102
+ });
103
+ throw new Error(`Failed to connect to DevTools: ${errorMessage}`);
104
+ }
105
+ }
106
+ /**
107
+ * Disconnect from miniprogram but keep IDE process running
108
+ */
109
+ export async function disconnect(session) {
110
+ const logger = session.logger;
111
+ try {
112
+ if (!session.miniProgram) {
113
+ logger?.warn('No active miniProgram connection to disconnect');
114
+ return {
115
+ success: true,
116
+ message: 'No active connection',
117
+ };
118
+ }
119
+ logger?.info('Disconnecting from miniprogram');
120
+ // Disconnect from miniprogram-automator
121
+ await session.miniProgram.disconnect();
122
+ // Clear miniProgram reference but keep session
123
+ session.miniProgram = undefined;
124
+ // Clear element cache
125
+ session.elements.clear();
126
+ // Clear page stack
127
+ session.pages = [];
128
+ logger?.info('Disconnected from miniprogram successfully');
129
+ return {
130
+ success: true,
131
+ message: 'Disconnected from miniprogram successfully',
132
+ };
133
+ }
134
+ catch (error) {
135
+ const errorMessage = error instanceof Error ? error.message : String(error);
136
+ logger?.error('Error disconnecting from miniprogram', {
137
+ error: errorMessage,
138
+ });
139
+ // Even if disconnect fails, clear the session state
140
+ session.miniProgram = undefined;
141
+ session.elements.clear();
142
+ session.pages = [];
143
+ throw new Error(`Error disconnecting from miniprogram: ${errorMessage}`);
144
+ }
145
+ }
146
+ /**
147
+ * Close miniprogram session completely
148
+ * This will disconnect and cleanup all resources
149
+ * The session itself will be deleted by the caller
150
+ */
151
+ export async function close(session) {
152
+ const logger = session.logger;
153
+ try {
154
+ logger?.info('Closing miniprogram session', {
155
+ sessionId: session.sessionId,
156
+ });
157
+ // Disconnect if connected
158
+ if (session.miniProgram) {
159
+ await disconnect(session);
160
+ }
161
+ // Kill IDE process if we launched it
162
+ if (session.ideProcess && typeof session.ideProcess.kill === 'function') {
163
+ logger?.info('Killing IDE process');
164
+ session.ideProcess.kill();
165
+ session.ideProcess = undefined;
166
+ }
167
+ logger?.info('Miniprogram session closed successfully');
168
+ return {
169
+ success: true,
170
+ message: 'Miniprogram session closed successfully',
171
+ };
172
+ }
173
+ catch (error) {
174
+ const errorMessage = error instanceof Error ? error.message : String(error);
175
+ logger?.error('Error closing miniprogram session', {
176
+ error: errorMessage,
177
+ });
178
+ // Best effort cleanup
179
+ session.miniProgram = undefined;
180
+ session.ideProcess = undefined;
181
+ session.elements.clear();
182
+ session.pages = [];
183
+ throw new Error(`Error closing miniprogram session: ${errorMessage}`);
184
+ }
185
+ }
186
+ //# sourceMappingURL=automator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automator.js","sourceRoot":"","sources":["../../src/tools/automator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,253 @@
1
+ /**
2
+ * Element tool implementations
3
+ * Handles element-level operations: interactions, attributes, properties
4
+ */
5
+ import type { SessionState } from '../types.js';
6
+ /**
7
+ * Tap (click) an element
8
+ */
9
+ export declare function tap(session: SessionState, args: {
10
+ refId: string;
11
+ }): Promise<{
12
+ success: boolean;
13
+ message: string;
14
+ }>;
15
+ /**
16
+ * Long press an element
17
+ */
18
+ export declare function longpress(session: SessionState, args: {
19
+ refId: string;
20
+ }): Promise<{
21
+ success: boolean;
22
+ message: string;
23
+ }>;
24
+ /**
25
+ * Input text into an element (input/textarea only)
26
+ */
27
+ export declare function input(session: SessionState, args: {
28
+ refId: string;
29
+ value: string;
30
+ }): Promise<{
31
+ success: boolean;
32
+ message: string;
33
+ }>;
34
+ /**
35
+ * Get element text content
36
+ */
37
+ export declare function getText(session: SessionState, args: {
38
+ refId: string;
39
+ }): Promise<{
40
+ success: boolean;
41
+ message: string;
42
+ text: string;
43
+ }>;
44
+ /**
45
+ * Get element attribute (特性)
46
+ */
47
+ export declare function getAttribute(session: SessionState, args: {
48
+ refId: string;
49
+ name: string;
50
+ }): Promise<{
51
+ success: boolean;
52
+ message: string;
53
+ value: string | null;
54
+ }>;
55
+ /**
56
+ * Get element property (属性)
57
+ */
58
+ export declare function getProperty(session: SessionState, args: {
59
+ refId: string;
60
+ name: string;
61
+ }): Promise<{
62
+ success: boolean;
63
+ message: string;
64
+ value: any;
65
+ }>;
66
+ /**
67
+ * Get element value
68
+ */
69
+ export declare function getValue(session: SessionState, args: {
70
+ refId: string;
71
+ }): Promise<{
72
+ success: boolean;
73
+ message: string;
74
+ value: string;
75
+ }>;
76
+ /**
77
+ * Get element size
78
+ */
79
+ export declare function getSize(session: SessionState, args: {
80
+ refId: string;
81
+ }): Promise<{
82
+ success: boolean;
83
+ message: string;
84
+ size: {
85
+ width: number;
86
+ height: number;
87
+ };
88
+ }>;
89
+ /**
90
+ * Get element offset (position)
91
+ */
92
+ export declare function getOffset(session: SessionState, args: {
93
+ refId: string;
94
+ }): Promise<{
95
+ success: boolean;
96
+ message: string;
97
+ offset: {
98
+ left: number;
99
+ top: number;
100
+ };
101
+ }>;
102
+ /**
103
+ * Trigger an event on the element
104
+ */
105
+ export declare function trigger(session: SessionState, args: {
106
+ refId: string;
107
+ type: string;
108
+ detail?: Record<string, any>;
109
+ }): Promise<{
110
+ success: boolean;
111
+ message: string;
112
+ }>;
113
+ /**
114
+ * Get element style value
115
+ */
116
+ export declare function getStyle(session: SessionState, args: {
117
+ refId: string;
118
+ name: string;
119
+ }): Promise<{
120
+ success: boolean;
121
+ message: string;
122
+ value: string;
123
+ }>;
124
+ /**
125
+ * Touch start on element
126
+ */
127
+ export declare function touchstart(session: SessionState, args: {
128
+ refId: string;
129
+ touches: any[];
130
+ changedTouches: any[];
131
+ }): Promise<{
132
+ success: boolean;
133
+ message: string;
134
+ }>;
135
+ /**
136
+ * Touch move on element
137
+ */
138
+ export declare function touchmove(session: SessionState, args: {
139
+ refId: string;
140
+ touches: any[];
141
+ changedTouches: any[];
142
+ }): Promise<{
143
+ success: boolean;
144
+ message: string;
145
+ }>;
146
+ /**
147
+ * Touch end on element
148
+ */
149
+ export declare function touchend(session: SessionState, args: {
150
+ refId: string;
151
+ touches: any[];
152
+ changedTouches: any[];
153
+ }): Promise<{
154
+ success: boolean;
155
+ message: string;
156
+ }>;
157
+ /**
158
+ * Scroll to position (ScrollView only)
159
+ */
160
+ export declare function scrollTo(session: SessionState, args: {
161
+ refId: string;
162
+ x: number;
163
+ y: number;
164
+ }): Promise<{
165
+ success: boolean;
166
+ message: string;
167
+ }>;
168
+ /**
169
+ * Get scroll width (ScrollView only)
170
+ */
171
+ export declare function scrollWidth(session: SessionState, args: {
172
+ refId: string;
173
+ }): Promise<{
174
+ success: boolean;
175
+ message: string;
176
+ width: number;
177
+ }>;
178
+ /**
179
+ * Get scroll height (ScrollView only)
180
+ */
181
+ export declare function scrollHeight(session: SessionState, args: {
182
+ refId: string;
183
+ }): Promise<{
184
+ success: boolean;
185
+ message: string;
186
+ height: number;
187
+ }>;
188
+ /**
189
+ * Swipe to index (Swiper only)
190
+ */
191
+ export declare function swipeTo(session: SessionState, args: {
192
+ refId: string;
193
+ index: number;
194
+ }): Promise<{
195
+ success: boolean;
196
+ message: string;
197
+ }>;
198
+ /**
199
+ * Move to position (MovableView only)
200
+ */
201
+ export declare function moveTo(session: SessionState, args: {
202
+ refId: string;
203
+ x: number;
204
+ y: number;
205
+ }): Promise<{
206
+ success: boolean;
207
+ message: string;
208
+ }>;
209
+ /**
210
+ * Slide to value (Slider only)
211
+ */
212
+ export declare function slideTo(session: SessionState, args: {
213
+ refId: string;
214
+ value: number;
215
+ }): Promise<{
216
+ success: boolean;
217
+ message: string;
218
+ }>;
219
+ /**
220
+ * Call context method (ContextElement only)
221
+ */
222
+ export declare function callContextMethod(session: SessionState, args: {
223
+ refId: string;
224
+ method: string;
225
+ args?: any[];
226
+ }): Promise<{
227
+ success: boolean;
228
+ message: string;
229
+ result?: any;
230
+ }>;
231
+ /**
232
+ * Set data on custom element (CustomElement only)
233
+ */
234
+ export declare function setData(session: SessionState, args: {
235
+ refId: string;
236
+ data: Record<string, any>;
237
+ }): Promise<{
238
+ success: boolean;
239
+ message: string;
240
+ }>;
241
+ /**
242
+ * Call method on custom element (CustomElement only)
243
+ */
244
+ export declare function callMethod(session: SessionState, args: {
245
+ refId: string;
246
+ method: string;
247
+ args?: any[];
248
+ }): Promise<{
249
+ success: boolean;
250
+ message: string;
251
+ result?: any;
252
+ }>;
253
+ //# sourceMappingURL=element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../src/tools/element.ts"],"names":[],"mappings":"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"}