@creatoria/miniapp-mcp 0.2.0 → 0.2.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.
Files changed (228) hide show
  1. package/README.md +127 -73
  2. package/dist/capabilities/assert/handlers/assert-handlers.d.ts +98 -0
  3. package/dist/capabilities/assert/handlers/assert-handlers.d.ts.map +1 -0
  4. package/dist/capabilities/assert/handlers/assert-handlers.js +179 -0
  5. package/dist/capabilities/assert/handlers/assert-handlers.js.map +1 -0
  6. package/dist/capabilities/assert/handlers/index.d.ts +7 -0
  7. package/dist/capabilities/assert/handlers/index.d.ts.map +1 -0
  8. package/dist/capabilities/assert/handlers/index.js +7 -0
  9. package/dist/capabilities/assert/handlers/index.js.map +1 -0
  10. package/dist/capabilities/assert/index.d.ts +12 -2
  11. package/dist/capabilities/assert/index.d.ts.map +1 -1
  12. package/dist/capabilities/assert/index.js +87 -2
  13. package/dist/capabilities/assert/index.js.map +1 -1
  14. package/dist/capabilities/assert/schemas/index.d.ts +101 -0
  15. package/dist/capabilities/assert/schemas/index.d.ts.map +1 -0
  16. package/dist/capabilities/assert/schemas/index.js +62 -0
  17. package/dist/capabilities/assert/schemas/index.js.map +1 -0
  18. package/dist/capabilities/automator/handlers/close.d.ts +18 -0
  19. package/dist/capabilities/automator/handlers/close.d.ts.map +1 -0
  20. package/dist/capabilities/automator/handlers/close.js +45 -0
  21. package/dist/capabilities/automator/handlers/close.js.map +1 -0
  22. package/dist/capabilities/automator/handlers/connect.d.ts +24 -0
  23. package/dist/capabilities/automator/handlers/connect.d.ts.map +1 -0
  24. package/dist/capabilities/automator/handlers/connect.js +51 -0
  25. package/dist/capabilities/automator/handlers/connect.js.map +1 -0
  26. package/dist/capabilities/automator/handlers/disconnect.d.ts +16 -0
  27. package/dist/capabilities/automator/handlers/disconnect.d.ts.map +1 -0
  28. package/dist/capabilities/automator/handlers/disconnect.js +44 -0
  29. package/dist/capabilities/automator/handlers/disconnect.js.map +1 -0
  30. package/dist/capabilities/automator/handlers/index.d.ts +8 -0
  31. package/dist/capabilities/automator/handlers/index.d.ts.map +1 -0
  32. package/dist/capabilities/automator/handlers/index.js +8 -0
  33. package/dist/capabilities/automator/handlers/index.js.map +1 -0
  34. package/dist/capabilities/automator/handlers/launch.d.ts +25 -0
  35. package/dist/capabilities/automator/handlers/launch.d.ts.map +1 -0
  36. package/dist/capabilities/automator/handlers/launch.js +61 -0
  37. package/dist/capabilities/automator/handlers/launch.js.map +1 -0
  38. package/dist/capabilities/automator/index.d.ts +11 -2
  39. package/dist/capabilities/automator/index.d.ts.map +1 -1
  40. package/dist/capabilities/automator/index.js +51 -2
  41. package/dist/capabilities/automator/index.js.map +1 -1
  42. package/dist/capabilities/automator/schemas/index.d.ts +5 -0
  43. package/dist/capabilities/automator/schemas/index.d.ts.map +1 -1
  44. package/dist/capabilities/automator/schemas/index.js +6 -4
  45. package/dist/capabilities/automator/schemas/index.js.map +1 -1
  46. package/dist/capabilities/element/handlers/element-handlers.d.ts +212 -0
  47. package/dist/capabilities/element/handlers/element-handlers.d.ts.map +1 -0
  48. package/dist/capabilities/element/handlers/element-handlers.js +383 -0
  49. package/dist/capabilities/element/handlers/element-handlers.js.map +1 -0
  50. package/dist/capabilities/element/handlers/index.d.ts +7 -0
  51. package/dist/capabilities/element/handlers/index.d.ts.map +1 -0
  52. package/dist/capabilities/element/handlers/index.js +27 -0
  53. package/dist/capabilities/element/handlers/index.js.map +1 -0
  54. package/dist/capabilities/element/index.d.ts +17 -2
  55. package/dist/capabilities/element/index.d.ts.map +1 -1
  56. package/dist/capabilities/element/index.js +196 -2
  57. package/dist/capabilities/element/index.js.map +1 -1
  58. package/dist/capabilities/element/schemas/index.d.ts +325 -0
  59. package/dist/capabilities/element/schemas/index.d.ts.map +1 -0
  60. package/dist/capabilities/element/schemas/index.js +168 -0
  61. package/dist/capabilities/element/schemas/index.js.map +1 -0
  62. package/dist/capabilities/index.d.ts +23 -4
  63. package/dist/capabilities/index.d.ts.map +1 -1
  64. package/dist/capabilities/index.js +29 -3
  65. package/dist/capabilities/index.js.map +1 -1
  66. package/dist/capabilities/loader.d.ts +61 -0
  67. package/dist/capabilities/loader.d.ts.map +1 -0
  68. package/dist/capabilities/loader.js +164 -0
  69. package/dist/capabilities/loader.js.map +1 -0
  70. package/dist/capabilities/miniprogram/handlers/call-wx.d.ts +24 -0
  71. package/dist/capabilities/miniprogram/handlers/call-wx.d.ts.map +1 -0
  72. package/dist/capabilities/miniprogram/handlers/call-wx.js +37 -0
  73. package/dist/capabilities/miniprogram/handlers/call-wx.js.map +1 -0
  74. package/dist/capabilities/miniprogram/handlers/evaluate.d.ts +32 -0
  75. package/dist/capabilities/miniprogram/handlers/evaluate.d.ts.map +1 -0
  76. package/dist/capabilities/miniprogram/handlers/evaluate.js +51 -0
  77. package/dist/capabilities/miniprogram/handlers/evaluate.js.map +1 -0
  78. package/dist/capabilities/miniprogram/handlers/index.d.ts +12 -0
  79. package/dist/capabilities/miniprogram/handlers/index.d.ts.map +1 -0
  80. package/dist/capabilities/miniprogram/handlers/index.js +12 -0
  81. package/dist/capabilities/miniprogram/handlers/index.js.map +1 -0
  82. package/dist/capabilities/miniprogram/handlers/navigate.d.ts +26 -0
  83. package/dist/capabilities/miniprogram/handlers/navigate.d.ts.map +1 -0
  84. package/dist/capabilities/miniprogram/handlers/navigate.js +56 -0
  85. package/dist/capabilities/miniprogram/handlers/navigate.js.map +1 -0
  86. package/dist/capabilities/miniprogram/handlers/page-stack.d.ts +20 -0
  87. package/dist/capabilities/miniprogram/handlers/page-stack.d.ts.map +1 -0
  88. package/dist/capabilities/miniprogram/handlers/page-stack.js +37 -0
  89. package/dist/capabilities/miniprogram/handlers/page-stack.js.map +1 -0
  90. package/dist/capabilities/miniprogram/handlers/screenshot.d.ts +33 -0
  91. package/dist/capabilities/miniprogram/handlers/screenshot.d.ts.map +1 -0
  92. package/dist/capabilities/miniprogram/handlers/screenshot.js +132 -0
  93. package/dist/capabilities/miniprogram/handlers/screenshot.js.map +1 -0
  94. package/dist/capabilities/miniprogram/handlers/system-info.d.ts +17 -0
  95. package/dist/capabilities/miniprogram/handlers/system-info.d.ts.map +1 -0
  96. package/dist/capabilities/miniprogram/handlers/system-info.js +31 -0
  97. package/dist/capabilities/miniprogram/handlers/system-info.js.map +1 -0
  98. package/dist/capabilities/miniprogram/index.d.ts +12 -2
  99. package/dist/capabilities/miniprogram/index.d.ts.map +1 -1
  100. package/dist/capabilities/miniprogram/index.js +66 -2
  101. package/dist/capabilities/miniprogram/index.js.map +1 -1
  102. package/dist/capabilities/miniprogram/schemas/call-wx.d.ts +15 -0
  103. package/dist/capabilities/miniprogram/schemas/call-wx.d.ts.map +1 -0
  104. package/dist/capabilities/miniprogram/schemas/call-wx.js +11 -0
  105. package/dist/capabilities/miniprogram/schemas/call-wx.js.map +1 -0
  106. package/dist/capabilities/miniprogram/schemas/evaluate.d.ts +15 -0
  107. package/dist/capabilities/miniprogram/schemas/evaluate.d.ts.map +1 -0
  108. package/dist/capabilities/miniprogram/schemas/evaluate.js +11 -0
  109. package/dist/capabilities/miniprogram/schemas/evaluate.js.map +1 -0
  110. package/dist/capabilities/miniprogram/schemas/index.d.ts +10 -0
  111. package/dist/capabilities/miniprogram/schemas/index.d.ts.map +1 -0
  112. package/dist/capabilities/miniprogram/schemas/index.js +10 -0
  113. package/dist/capabilities/miniprogram/schemas/index.js.map +1 -0
  114. package/dist/capabilities/miniprogram/schemas/navigate.d.ts +18 -0
  115. package/dist/capabilities/miniprogram/schemas/navigate.d.ts.map +1 -0
  116. package/dist/capabilities/miniprogram/schemas/navigate.js +22 -0
  117. package/dist/capabilities/miniprogram/schemas/navigate.js.map +1 -0
  118. package/dist/capabilities/miniprogram/schemas/page-stack.d.ts +6 -0
  119. package/dist/capabilities/miniprogram/schemas/page-stack.d.ts.map +1 -0
  120. package/dist/capabilities/miniprogram/schemas/page-stack.js +6 -0
  121. package/dist/capabilities/miniprogram/schemas/page-stack.js.map +1 -0
  122. package/dist/capabilities/miniprogram/schemas/screenshot.d.ts +18 -0
  123. package/dist/capabilities/miniprogram/schemas/screenshot.d.ts.map +1 -0
  124. package/dist/capabilities/miniprogram/schemas/screenshot.js +21 -0
  125. package/dist/capabilities/miniprogram/schemas/screenshot.js.map +1 -0
  126. package/dist/capabilities/miniprogram/schemas/system-info.d.ts +6 -0
  127. package/dist/capabilities/miniprogram/schemas/system-info.d.ts.map +1 -0
  128. package/dist/capabilities/miniprogram/schemas/system-info.js +6 -0
  129. package/dist/capabilities/miniprogram/schemas/system-info.js.map +1 -0
  130. package/dist/capabilities/network/handlers/index.d.ts +7 -0
  131. package/dist/capabilities/network/handlers/index.d.ts.map +1 -0
  132. package/dist/capabilities/network/handlers/index.js +7 -0
  133. package/dist/capabilities/network/handlers/index.js.map +1 -0
  134. package/dist/capabilities/network/handlers/network-handlers.d.ts +53 -0
  135. package/dist/capabilities/network/handlers/network-handlers.d.ts.map +1 -0
  136. package/dist/capabilities/network/handlers/network-handlers.js +127 -0
  137. package/dist/capabilities/network/handlers/network-handlers.js.map +1 -0
  138. package/dist/capabilities/network/index.d.ts +12 -2
  139. package/dist/capabilities/network/index.d.ts.map +1 -1
  140. package/dist/capabilities/network/index.js +66 -2
  141. package/dist/capabilities/network/index.js.map +1 -1
  142. package/dist/capabilities/network/schemas/index.d.ts +53 -0
  143. package/dist/capabilities/network/schemas/index.d.ts.map +1 -0
  144. package/dist/capabilities/network/schemas/index.js +33 -0
  145. package/dist/capabilities/network/schemas/index.js.map +1 -0
  146. package/dist/capabilities/page/handlers/index.d.ts +7 -0
  147. package/dist/capabilities/page/handlers/index.d.ts.map +1 -0
  148. package/dist/capabilities/page/handlers/index.js +7 -0
  149. package/dist/capabilities/page/handlers/index.js.map +1 -0
  150. package/dist/capabilities/page/handlers/page-handlers.d.ts +165 -0
  151. package/dist/capabilities/page/handlers/page-handlers.d.ts.map +1 -0
  152. package/dist/capabilities/page/handlers/page-handlers.js +258 -0
  153. package/dist/capabilities/page/handlers/page-handlers.js.map +1 -0
  154. package/dist/capabilities/page/index.d.ts +12 -2
  155. package/dist/capabilities/page/index.d.ts.map +1 -1
  156. package/dist/capabilities/page/index.js +80 -2
  157. package/dist/capabilities/page/index.js.map +1 -1
  158. package/dist/capabilities/page/schemas/index.d.ts +91 -0
  159. package/dist/capabilities/page/schemas/index.d.ts.map +1 -0
  160. package/dist/capabilities/page/schemas/index.js +55 -0
  161. package/dist/capabilities/page/schemas/index.js.map +1 -0
  162. package/dist/capabilities/record/handlers/index.d.ts +7 -0
  163. package/dist/capabilities/record/handlers/index.d.ts.map +1 -0
  164. package/dist/capabilities/record/handlers/index.js +7 -0
  165. package/dist/capabilities/record/handlers/index.js.map +1 -0
  166. package/dist/capabilities/record/handlers/record-handlers.d.ts +76 -0
  167. package/dist/capabilities/record/handlers/record-handlers.d.ts.map +1 -0
  168. package/dist/capabilities/record/handlers/record-handlers.js +255 -0
  169. package/dist/capabilities/record/handlers/record-handlers.js.map +1 -0
  170. package/dist/capabilities/record/index.d.ts +12 -2
  171. package/dist/capabilities/record/index.d.ts.map +1 -1
  172. package/dist/capabilities/record/index.js +66 -2
  173. package/dist/capabilities/record/index.js.map +1 -1
  174. package/dist/capabilities/record/schemas/index.d.ts +47 -0
  175. package/dist/capabilities/record/schemas/index.d.ts.map +1 -0
  176. package/dist/capabilities/record/schemas/index.js +33 -0
  177. package/dist/capabilities/record/schemas/index.js.map +1 -0
  178. package/dist/capabilities/registry.d.ts +138 -0
  179. package/dist/capabilities/registry.d.ts.map +1 -0
  180. package/dist/capabilities/registry.js +261 -0
  181. package/dist/capabilities/registry.js.map +1 -0
  182. package/dist/capabilities/snapshot/handlers/index.d.ts +7 -0
  183. package/dist/capabilities/snapshot/handlers/index.d.ts.map +1 -0
  184. package/dist/capabilities/snapshot/handlers/index.js +7 -0
  185. package/dist/capabilities/snapshot/handlers/index.js.map +1 -0
  186. package/dist/capabilities/snapshot/handlers/snapshot-handlers.d.ts +75 -0
  187. package/dist/capabilities/snapshot/handlers/snapshot-handlers.d.ts.map +1 -0
  188. package/dist/capabilities/snapshot/handlers/snapshot-handlers.js +201 -0
  189. package/dist/capabilities/snapshot/handlers/snapshot-handlers.js.map +1 -0
  190. package/dist/capabilities/snapshot/index.d.ts +12 -2
  191. package/dist/capabilities/snapshot/index.d.ts.map +1 -1
  192. package/dist/capabilities/snapshot/index.js +45 -2
  193. package/dist/capabilities/snapshot/index.js.map +1 -1
  194. package/dist/capabilities/snapshot/schemas/index.d.ts +47 -0
  195. package/dist/capabilities/snapshot/schemas/index.d.ts.map +1 -0
  196. package/dist/capabilities/snapshot/schemas/index.js +28 -0
  197. package/dist/capabilities/snapshot/schemas/index.js.map +1 -0
  198. package/dist/runtime/index.d.ts +2 -1
  199. package/dist/runtime/index.d.ts.map +1 -1
  200. package/dist/runtime/index.js +2 -1
  201. package/dist/runtime/index.js.map +1 -1
  202. package/dist/runtime/logging/tool-logger.js +2 -2
  203. package/dist/runtime/logging/tool-logger.js.map +1 -1
  204. package/dist/runtime/retry/index.d.ts +5 -0
  205. package/dist/runtime/retry/index.d.ts.map +1 -0
  206. package/dist/runtime/retry/index.js +5 -0
  207. package/dist/runtime/retry/index.js.map +1 -0
  208. package/dist/runtime/retry/retry.d.ts +61 -0
  209. package/dist/runtime/retry/retry.d.ts.map +1 -0
  210. package/dist/runtime/retry/retry.js +90 -0
  211. package/dist/runtime/retry/retry.js.map +1 -0
  212. package/dist/runtime/timeout/timeout.d.ts +10 -0
  213. package/dist/runtime/timeout/timeout.d.ts.map +1 -1
  214. package/dist/runtime/timeout/timeout.js +10 -0
  215. package/dist/runtime/timeout/timeout.js.map +1 -1
  216. package/dist/server.js +4 -4
  217. package/dist/server.js.map +1 -1
  218. package/dist/tools/index.d.ts.map +1 -1
  219. package/dist/tools/index.js +7 -3
  220. package/dist/tools/index.js.map +1 -1
  221. package/dist/tools/miniprogram.d.ts +11 -1
  222. package/dist/tools/miniprogram.d.ts.map +1 -1
  223. package/dist/tools/miniprogram.js +102 -20
  224. package/dist/tools/miniprogram.js.map +1 -1
  225. package/docs/current/01-architecture-migration.md +337 -0
  226. package/docs/current/02-screenshot-timeout-fix.md +589 -0
  227. package/docs/current/README.md +226 -0
  228. package/package.json +1 -1
@@ -1,5 +1,90 @@
1
1
  /**
2
- * Assert capability bridge to legacy tool implementations.
2
+ * Assert Capability Module
3
+ *
4
+ * Provides tools for testing and verification including element assertions,
5
+ * text validation, attribute/property checks, and data assertions.
3
6
  */
4
- export * from '../../tools/assert.js';
7
+ import { assertExistsSchema, assertNotExistsSchema, assertTextSchema, assertTextContainsSchema, assertValueSchema, assertAttributeSchema, assertPropertySchema, assertDataSchema, assertVisibleSchema, } from './schemas/index.js';
8
+ import { assertExists, assertNotExists, assertText, assertTextContains, assertValue, assertAttribute, assertProperty, assertData, assertVisible, } from './handlers/index.js';
9
+ // Re-export schemas for external use
10
+ export * from './schemas/index.js';
11
+ // Re-export handlers for external use
12
+ export * from './handlers/index.js';
13
+ /**
14
+ * Assert tool definitions - 9 tools
15
+ */
16
+ const tools = [
17
+ {
18
+ name: 'assert_exists',
19
+ description: 'Assert that an element exists on the page',
20
+ capability: 'assert',
21
+ inputSchema: assertExistsSchema,
22
+ handler: assertExists,
23
+ },
24
+ {
25
+ name: 'assert_not_exists',
26
+ description: 'Assert that an element does not exist on the page',
27
+ capability: 'assert',
28
+ inputSchema: assertNotExistsSchema,
29
+ handler: assertNotExists,
30
+ },
31
+ {
32
+ name: 'assert_text',
33
+ description: 'Assert element text equals expected value',
34
+ capability: 'assert',
35
+ inputSchema: assertTextSchema,
36
+ handler: assertText,
37
+ },
38
+ {
39
+ name: 'assert_text_contains',
40
+ description: 'Assert element text contains expected substring',
41
+ capability: 'assert',
42
+ inputSchema: assertTextContainsSchema,
43
+ handler: assertTextContains,
44
+ },
45
+ {
46
+ name: 'assert_value',
47
+ description: 'Assert element value equals expected value',
48
+ capability: 'assert',
49
+ inputSchema: assertValueSchema,
50
+ handler: assertValue,
51
+ },
52
+ {
53
+ name: 'assert_attribute',
54
+ description: 'Assert element attribute equals expected value',
55
+ capability: 'assert',
56
+ inputSchema: assertAttributeSchema,
57
+ handler: assertAttribute,
58
+ },
59
+ {
60
+ name: 'assert_property',
61
+ description: 'Assert element property equals expected value',
62
+ capability: 'assert',
63
+ inputSchema: assertPropertySchema,
64
+ handler: assertProperty,
65
+ },
66
+ {
67
+ name: 'assert_data',
68
+ description: 'Assert page data equals expected value',
69
+ capability: 'assert',
70
+ inputSchema: assertDataSchema,
71
+ handler: assertData,
72
+ },
73
+ {
74
+ name: 'assert_visible',
75
+ description: 'Assert element is visible (has non-zero size)',
76
+ capability: 'assert',
77
+ inputSchema: assertVisibleSchema,
78
+ handler: assertVisible,
79
+ },
80
+ ];
81
+ /**
82
+ * Assert capability module
83
+ */
84
+ export const capability = {
85
+ name: 'assert',
86
+ description: 'Testing and verification utilities (9 tools)',
87
+ tools,
88
+ };
89
+ export default capability;
5
90
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/capabilities/assert/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/capabilities/assert/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,YAAY,EACZ,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,cAAc,EACd,UAAU,EACV,aAAa,GACd,MAAM,qBAAqB,CAAA;AAE5B,qCAAqC;AACrC,cAAc,oBAAoB,CAAA;AAElC,sCAAsC;AACtC,cAAc,qBAAqB,CAAA;AAEnC;;GAEG;AACH,MAAM,KAAK,GAAqB;IAC9B;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,2CAA2C;QACxD,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,YAAY;KACtB;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,mDAAmD;QAChE,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,eAAe;KACzB;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,2CAA2C;QACxD,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,gBAAgB;QAC7B,OAAO,EAAE,UAAU;KACpB;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,iDAAiD;QAC9D,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,wBAAwB;QACrC,OAAO,EAAE,kBAAkB;KAC5B;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,4CAA4C;QACzD,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,WAAW;KACrB;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,gDAAgD;QAC7D,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,eAAe;KACzB;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,+CAA+C;QAC5D,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,oBAAoB;QACjC,OAAO,EAAE,cAAc;KACxB;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,wCAAwC;QACrD,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,gBAAgB;QAC7B,OAAO,EAAE,UAAU;KACpB;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,+CAA+C;QAC5D,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,aAAa;KACvB;CACF,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAqB;IAC1C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,8CAA8C;IAC3D,KAAK;CACN,CAAA;AAED,eAAe,UAAU,CAAA"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Assert schemas exports - 9 assertion tool schemas
3
+ */
4
+ import { z } from 'zod';
5
+ export declare const assertExistsSchema: z.ZodObject<{
6
+ selector: z.ZodString;
7
+ pagePath: z.ZodOptional<z.ZodString>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ selector: string;
10
+ pagePath?: string | undefined;
11
+ }, {
12
+ selector: string;
13
+ pagePath?: string | undefined;
14
+ }>;
15
+ export declare const assertNotExistsSchema: z.ZodObject<{
16
+ selector: z.ZodString;
17
+ pagePath: z.ZodOptional<z.ZodString>;
18
+ }, "strip", z.ZodTypeAny, {
19
+ selector: string;
20
+ pagePath?: string | undefined;
21
+ }, {
22
+ selector: string;
23
+ pagePath?: string | undefined;
24
+ }>;
25
+ export declare const assertTextSchema: z.ZodObject<{
26
+ refId: z.ZodString;
27
+ expected: z.ZodString;
28
+ }, "strip", z.ZodTypeAny, {
29
+ refId: string;
30
+ expected: string;
31
+ }, {
32
+ refId: string;
33
+ expected: string;
34
+ }>;
35
+ export declare const assertTextContainsSchema: z.ZodObject<{
36
+ refId: z.ZodString;
37
+ expected: z.ZodString;
38
+ }, "strip", z.ZodTypeAny, {
39
+ refId: string;
40
+ expected: string;
41
+ }, {
42
+ refId: string;
43
+ expected: string;
44
+ }>;
45
+ export declare const assertValueSchema: z.ZodObject<{
46
+ refId: z.ZodString;
47
+ expected: z.ZodString;
48
+ }, "strip", z.ZodTypeAny, {
49
+ refId: string;
50
+ expected: string;
51
+ }, {
52
+ refId: string;
53
+ expected: string;
54
+ }>;
55
+ export declare const assertAttributeSchema: z.ZodObject<{
56
+ refId: z.ZodString;
57
+ name: z.ZodString;
58
+ expected: z.ZodString;
59
+ }, "strip", z.ZodTypeAny, {
60
+ refId: string;
61
+ name: string;
62
+ expected: string;
63
+ }, {
64
+ refId: string;
65
+ name: string;
66
+ expected: string;
67
+ }>;
68
+ export declare const assertPropertySchema: z.ZodObject<{
69
+ refId: z.ZodString;
70
+ name: z.ZodString;
71
+ expected: z.ZodAny;
72
+ }, "strip", z.ZodTypeAny, {
73
+ refId: string;
74
+ name: string;
75
+ expected?: any;
76
+ }, {
77
+ refId: string;
78
+ name: string;
79
+ expected?: any;
80
+ }>;
81
+ export declare const assertDataSchema: z.ZodObject<{
82
+ path: z.ZodOptional<z.ZodString>;
83
+ expected: z.ZodAny;
84
+ pagePath: z.ZodOptional<z.ZodString>;
85
+ }, "strip", z.ZodTypeAny, {
86
+ path?: string | undefined;
87
+ pagePath?: string | undefined;
88
+ expected?: any;
89
+ }, {
90
+ path?: string | undefined;
91
+ pagePath?: string | undefined;
92
+ expected?: any;
93
+ }>;
94
+ export declare const assertVisibleSchema: z.ZodObject<{
95
+ refId: z.ZodString;
96
+ }, "strip", z.ZodTypeAny, {
97
+ refId: string;
98
+ }, {
99
+ refId: string;
100
+ }>;
101
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/assert/schemas/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,kBAAkB;;;;;;;;;EAKyB,CAAA;AAExD,eAAO,MAAM,qBAAqB;;;;;;;;;EAK8B,CAAA;AAEhE,eAAO,MAAM,gBAAgB;;;;;;;;;EAK2B,CAAA;AAExD,eAAO,MAAM,wBAAwB;;;;;;;;;EAKyB,CAAA;AAE9D,eAAO,MAAM,iBAAiB;;;;;;;;;EAK2B,CAAA;AAEzD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAM2B,CAAA;AAE7D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAM2B,CAAA;AAE5D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAMwB,CAAA;AAErD,eAAO,MAAM,mBAAmB;;;;;;EAI4B,CAAA"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Assert schemas exports - 9 assertion tool schemas
3
+ */
4
+ import { z } from 'zod';
5
+ const refIdSchema = z.string().min(1).describe('Element reference ID from page_query');
6
+ export const assertExistsSchema = z
7
+ .object({
8
+ selector: z.string().min(1).describe('CSS selector for the element'),
9
+ pagePath: z.string().optional().describe('Page path (optional, defaults to current page)'),
10
+ })
11
+ .describe('Assert that an element exists on the page');
12
+ export const assertNotExistsSchema = z
13
+ .object({
14
+ selector: z.string().min(1).describe('CSS selector for the element'),
15
+ pagePath: z.string().optional().describe('Page path (optional, defaults to current page)'),
16
+ })
17
+ .describe('Assert that an element does not exist on the page');
18
+ export const assertTextSchema = z
19
+ .object({
20
+ refId: refIdSchema,
21
+ expected: z.string().describe('Expected text value'),
22
+ })
23
+ .describe('Assert element text equals expected value');
24
+ export const assertTextContainsSchema = z
25
+ .object({
26
+ refId: refIdSchema,
27
+ expected: z.string().describe('Expected substring'),
28
+ })
29
+ .describe('Assert element text contains expected substring');
30
+ export const assertValueSchema = z
31
+ .object({
32
+ refId: refIdSchema,
33
+ expected: z.string().describe('Expected value'),
34
+ })
35
+ .describe('Assert element value equals expected value');
36
+ export const assertAttributeSchema = z
37
+ .object({
38
+ refId: refIdSchema,
39
+ name: z.string().min(1).describe('Attribute name'),
40
+ expected: z.string().describe('Expected attribute value'),
41
+ })
42
+ .describe('Assert element attribute equals expected value');
43
+ export const assertPropertySchema = z
44
+ .object({
45
+ refId: refIdSchema,
46
+ name: z.string().min(1).describe('Property name'),
47
+ expected: z.any().describe('Expected property value (any type)'),
48
+ })
49
+ .describe('Assert element property equals expected value');
50
+ export const assertDataSchema = z
51
+ .object({
52
+ path: z.string().optional().describe('Data path (optional, for nested data)'),
53
+ expected: z.any().describe('Expected data value (any type)'),
54
+ pagePath: z.string().optional().describe('Page path (optional, defaults to current page)'),
55
+ })
56
+ .describe('Assert page data equals expected value');
57
+ export const assertVisibleSchema = z
58
+ .object({
59
+ refId: refIdSchema,
60
+ })
61
+ .describe('Assert element is visible (has non-zero size)');
62
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/capabilities/assert/schemas/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Close handler - Closes miniprogram session completely
3
+ */
4
+ import type { SessionState } from '../../../types.js';
5
+ /**
6
+ * Close result
7
+ */
8
+ export interface CloseResult {
9
+ success: boolean;
10
+ message: string;
11
+ }
12
+ /**
13
+ * Close miniprogram session completely
14
+ * This will disconnect and cleanup all resources
15
+ * The session itself will be deleted by the caller
16
+ */
17
+ export declare function close(session: SessionState): Promise<CloseResult>;
18
+ //# sourceMappingURL=close.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"close.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/automator/handlers/close.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;GAIG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAwCvE"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Close handler - Closes miniprogram session completely
3
+ */
4
+ import { disconnect } from './disconnect.js';
5
+ /**
6
+ * Close miniprogram session completely
7
+ * This will disconnect and cleanup all resources
8
+ * The session itself will be deleted by the caller
9
+ */
10
+ export async function close(session) {
11
+ const logger = session.logger;
12
+ try {
13
+ logger?.info('Closing miniprogram session', {
14
+ sessionId: session.sessionId,
15
+ });
16
+ // Disconnect if connected
17
+ if (session.miniProgram) {
18
+ await disconnect(session);
19
+ }
20
+ // Kill IDE process if we launched it
21
+ if (session.ideProcess && typeof session.ideProcess.kill === 'function') {
22
+ logger?.info('Killing IDE process');
23
+ session.ideProcess.kill();
24
+ session.ideProcess = undefined;
25
+ }
26
+ logger?.info('Miniprogram session closed successfully');
27
+ return {
28
+ success: true,
29
+ message: 'Miniprogram session closed successfully',
30
+ };
31
+ }
32
+ catch (error) {
33
+ const errorMessage = error instanceof Error ? error.message : String(error);
34
+ logger?.error('Error closing miniprogram session', {
35
+ error: errorMessage,
36
+ });
37
+ // Best effort cleanup
38
+ session.miniProgram = undefined;
39
+ session.ideProcess = undefined;
40
+ session.elements.clear();
41
+ session.pages = [];
42
+ throw new Error(`Error closing miniprogram session: ${errorMessage}`);
43
+ }
44
+ }
45
+ //# sourceMappingURL=close.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"close.js","sourceRoot":"","sources":["../../../../src/capabilities/automator/handlers/close.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAU5C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAqB;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAE7B,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,CAAC,6BAA6B,EAAE;YAC1C,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAA;QAEF,0BAA0B;QAC1B,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,UAAU,CAAC,OAAO,CAAC,CAAA;QAC3B,CAAC;QAED,qCAAqC;QACrC,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACxE,MAAM,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAA;YACnC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;YACzB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAA;QAChC,CAAC;QAED,MAAM,EAAE,IAAI,CAAC,yCAAyC,CAAC,CAAA;QAEvD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,yCAAyC;SACnD,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3E,MAAM,EAAE,KAAK,CAAC,mCAAmC,EAAE;YACjD,KAAK,EAAE,YAAY;SACpB,CAAC,CAAA;QAEF,sBAAsB;QACtB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAA;QAC/B,OAAO,CAAC,UAAU,GAAG,SAAS,CAAA;QAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QACxB,OAAO,CAAC,KAAK,GAAG,EAAE,CAAA;QAElB,MAAM,IAAI,KAAK,CAAC,sCAAsC,YAAY,EAAE,CAAC,CAAA;IACvE,CAAC;AACH,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Connect handler - Connects to an already running WeChat DevTools instance
3
+ */
4
+ import type { SessionState } from '../../../types.js';
5
+ /**
6
+ * Connect input arguments
7
+ */
8
+ export interface ConnectArgs {
9
+ port?: number;
10
+ }
11
+ /**
12
+ * Connect result
13
+ */
14
+ export interface ConnectResult {
15
+ success: boolean;
16
+ message: string;
17
+ port?: number;
18
+ }
19
+ /**
20
+ * Connect to an already running WeChat DevTools instance
21
+ * Note: The port must be configured in WeChat DevTools settings before connecting
22
+ */
23
+ export declare function connect(session: SessionState, args?: ConnectArgs): Promise<ConnectResult>;
24
+ //# sourceMappingURL=connect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/automator/handlers/connect.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,YAAY,EACrB,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,aAAa,CAAC,CA8CxB"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Connect handler - Connects to an already running WeChat DevTools instance
3
+ */
4
+ import automator from 'miniprogram-automator';
5
+ import { disconnect } from './disconnect.js';
6
+ /**
7
+ * Connect to an already running WeChat DevTools instance
8
+ * Note: The port must be configured in WeChat DevTools settings before connecting
9
+ */
10
+ export async function connect(session, args = {}) {
11
+ const { port } = args;
12
+ const logger = session.logger;
13
+ try {
14
+ logger?.info('Connecting to existing DevTools instance', { port });
15
+ // Check if already connected
16
+ if (session.miniProgram) {
17
+ logger?.warn('MiniProgram already connected, disconnecting first');
18
+ await disconnect(session);
19
+ }
20
+ // Connect using miniprogram-automator
21
+ // Note: automator.connect() uses the port configured in WeChat DevTools
22
+ const miniProgram = await automator.connect({
23
+ wsEndpoint: port ? `ws://localhost:${port}` : undefined,
24
+ });
25
+ // Store in session (use 'as any' to bypass type incompatibility between official types and our interface)
26
+ session.miniProgram = miniProgram;
27
+ if (port) {
28
+ session.config = {
29
+ ...session.config,
30
+ port,
31
+ };
32
+ }
33
+ logger?.info('Connected to DevTools successfully', { port });
34
+ return {
35
+ success: true,
36
+ message: port
37
+ ? `Connected to DevTools on port ${port}`
38
+ : 'Connected to DevTools successfully',
39
+ port,
40
+ };
41
+ }
42
+ catch (error) {
43
+ const errorMessage = error instanceof Error ? error.message : String(error);
44
+ logger?.error('Failed to connect to DevTools', {
45
+ error: errorMessage,
46
+ port,
47
+ });
48
+ throw new Error(`Failed to connect to DevTools: ${errorMessage}`);
49
+ }
50
+ }
51
+ //# sourceMappingURL=connect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../../src/capabilities/automator/handlers/connect.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,SAAS,MAAM,uBAAuB,CAAA;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAkB5C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,OAAqB,EACrB,OAAoB,EAAE;IAEtB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;IACrB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAE7B,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,CAAC,0CAA0C,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QAElE,6BAA6B;QAC7B,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,EAAE,IAAI,CAAC,oDAAoD,CAAC,CAAA;YAClE,MAAM,UAAU,CAAC,OAAO,CAAC,CAAA;QAC3B,CAAC;QAED,sCAAsC;QACtC,wEAAwE;QACxE,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC;YAC1C,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;SACjD,CAAC,CAAA;QAET,0GAA0G;QAC1G,OAAO,CAAC,WAAW,GAAG,WAAkB,CAAA;QACxC,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,MAAM,GAAG;gBACf,GAAG,OAAO,CAAC,MAAM;gBACjB,IAAI;aACL,CAAA;QACH,CAAC;QAED,MAAM,EAAE,IAAI,CAAC,oCAAoC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QAE5D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;gBACX,CAAC,CAAC,iCAAiC,IAAI,EAAE;gBACzC,CAAC,CAAC,oCAAoC;YACxC,IAAI;SACL,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3E,MAAM,EAAE,KAAK,CAAC,+BAA+B,EAAE;YAC7C,KAAK,EAAE,YAAY;YACnB,IAAI;SACL,CAAC,CAAA;QAEF,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAA;IACnE,CAAC;AACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Disconnect handler - Disconnects from miniprogram but keeps IDE running
3
+ */
4
+ import type { SessionState } from '../../../types.js';
5
+ /**
6
+ * Disconnect result
7
+ */
8
+ export interface DisconnectResult {
9
+ success: boolean;
10
+ message: string;
11
+ }
12
+ /**
13
+ * Disconnect from miniprogram but keep IDE process running
14
+ */
15
+ export declare function disconnect(session: SessionState): Promise<DisconnectResult>;
16
+ //# sourceMappingURL=disconnect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disconnect.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/automator/handlers/disconnect.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6CjF"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Disconnect handler - Disconnects from miniprogram but keeps IDE running
3
+ */
4
+ /**
5
+ * Disconnect from miniprogram but keep IDE process running
6
+ */
7
+ export async function disconnect(session) {
8
+ const logger = session.logger;
9
+ try {
10
+ if (!session.miniProgram) {
11
+ logger?.warn('No active miniProgram connection to disconnect');
12
+ return {
13
+ success: true,
14
+ message: 'No active connection',
15
+ };
16
+ }
17
+ logger?.info('Disconnecting from miniprogram');
18
+ // Disconnect from miniprogram-automator
19
+ await session.miniProgram.disconnect();
20
+ // Clear miniProgram reference but keep session
21
+ session.miniProgram = undefined;
22
+ // Clear element cache
23
+ session.elements.clear();
24
+ // Clear page stack
25
+ session.pages = [];
26
+ logger?.info('Disconnected from miniprogram successfully');
27
+ return {
28
+ success: true,
29
+ message: 'Disconnected from miniprogram successfully',
30
+ };
31
+ }
32
+ catch (error) {
33
+ const errorMessage = error instanceof Error ? error.message : String(error);
34
+ logger?.error('Error disconnecting from miniprogram', {
35
+ error: errorMessage,
36
+ });
37
+ // Even if disconnect fails, clear the session state
38
+ session.miniProgram = undefined;
39
+ session.elements.clear();
40
+ session.pages = [];
41
+ throw new Error(`Error disconnecting from miniprogram: ${errorMessage}`);
42
+ }
43
+ }
44
+ //# sourceMappingURL=disconnect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disconnect.js","sourceRoot":"","sources":["../../../../src/capabilities/automator/handlers/disconnect.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAqB;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAE7B,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,EAAE,IAAI,CAAC,gDAAgD,CAAC,CAAA;YAC9D,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,sBAAsB;aAChC,CAAA;QACH,CAAC;QAED,MAAM,EAAE,IAAI,CAAC,gCAAgC,CAAC,CAAA;QAE9C,wCAAwC;QACxC,MAAM,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,CAAA;QAEtC,+CAA+C;QAC/C,OAAO,CAAC,WAAW,GAAG,SAAS,CAAA;QAE/B,sBAAsB;QACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QAExB,mBAAmB;QACnB,OAAO,CAAC,KAAK,GAAG,EAAE,CAAA;QAElB,MAAM,EAAE,IAAI,CAAC,4CAA4C,CAAC,CAAA;QAE1D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,4CAA4C;SACtD,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3E,MAAM,EAAE,KAAK,CAAC,sCAAsC,EAAE;YACpD,KAAK,EAAE,YAAY;SACpB,CAAC,CAAA;QAEF,oDAAoD;QACpD,OAAO,CAAC,WAAW,GAAG,SAAS,CAAA;QAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QACxB,OAAO,CAAC,KAAK,GAAG,EAAE,CAAA;QAElB,MAAM,IAAI,KAAK,CAAC,yCAAyC,YAAY,EAAE,CAAC,CAAA;IAC1E,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Automator handlers exports
3
+ */
4
+ export { launch, type LaunchArgs, type LaunchResult } from './launch.js';
5
+ export { connect, type ConnectArgs, type ConnectResult } from './connect.js';
6
+ export { disconnect, type DisconnectResult } from './disconnect.js';
7
+ export { close, type CloseResult } from './close.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/automator/handlers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACnE,OAAO,EAAE,KAAK,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Automator handlers exports
3
+ */
4
+ export { launch } from './launch.js';
5
+ export { connect } from './connect.js';
6
+ export { disconnect } from './disconnect.js';
7
+ export { close } from './close.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/capabilities/automator/handlers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAsC,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,OAAO,EAAwC,MAAM,cAAc,CAAA;AAC5E,OAAO,EAAE,UAAU,EAAyB,MAAM,iBAAiB,CAAA;AACnE,OAAO,EAAE,KAAK,EAAoB,MAAM,YAAY,CAAA"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Launch handler - Launches WeChat DevTools and connects to miniprogram
3
+ */
4
+ import type { SessionState } from '../../../types.js';
5
+ /**
6
+ * Launch input arguments
7
+ */
8
+ export interface LaunchArgs {
9
+ projectPath: string;
10
+ cliPath?: string;
11
+ port?: number;
12
+ }
13
+ /**
14
+ * Launch result
15
+ */
16
+ export interface LaunchResult {
17
+ success: boolean;
18
+ message: string;
19
+ port?: number;
20
+ }
21
+ /**
22
+ * Launch WeChat DevTools and connect to miniprogram
23
+ */
24
+ export declare function launch(session: SessionState, args: LaunchArgs): Promise<LaunchResult>;
25
+ //# sourceMappingURL=launch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/automator/handlers/launch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAarD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAiD3F"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Launch handler - Launches WeChat DevTools and connects to miniprogram
3
+ */
4
+ import automator from 'miniprogram-automator';
5
+ import { disconnect } from './disconnect.js';
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
+ //# sourceMappingURL=launch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launch.js","sourceRoot":"","sources":["../../../../src/capabilities/automator/handlers/launch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,SAAS,MAAM,uBAAuB,CAAA;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C;;GAEG;AACH,MAAM,YAAY,GAAG,IAAI,CAAA;AAEzB;;GAEG;AACH,MAAM,gBAAgB,GAAG,wDAAwD,CAAA;AAoBjF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAqB,EAAE,IAAgB;IAClE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,gBAAgB,EAAE,IAAI,GAAG,YAAY,EAAE,GAAG,IAAI,CAAA;IAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAE7B,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,CAAC,uBAAuB,EAAE;YACpC,WAAW;YACX,OAAO;YACP,IAAI;SACL,CAAC,CAAA;QAEF,6BAA6B;QAC7B,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,EAAE,IAAI,CAAC,oDAAoD,CAAC,CAAA;YAClE,MAAM,UAAU,CAAC,OAAO,CAAC,CAAA;QAC3B,CAAC;QAED,qCAAqC;QACrC,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC;YACzC,WAAW;YACX,OAAO;YACP,IAAI;SACL,CAAC,CAAA;QAEF,0GAA0G;QAC1G,OAAO,CAAC,WAAW,GAAG,WAAkB,CAAA;QACxC,OAAO,CAAC,MAAM,GAAG;YACf,GAAG,OAAO,CAAC,MAAM;YACjB,WAAW;YACX,OAAO;YACP,IAAI;SACL,CAAA;QAED,MAAM,EAAE,IAAI,CAAC,mCAAmC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QAE3D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,6CAA6C,IAAI,EAAE;YAC5D,IAAI;SACL,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3E,MAAM,EAAE,KAAK,CAAC,8BAA8B,EAAE;YAC5C,KAAK,EAAE,YAAY;YACnB,WAAW;SACZ,CAAC,CAAA;QAEF,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAA;IAClE,CAAC;AACH,CAAC"}
@@ -1,6 +1,15 @@
1
1
  /**
2
- * Automator capability bridge to legacy tool implementations.
2
+ * Automator Capability Module
3
+ *
4
+ * Provides tools for launching, connecting, disconnecting, and closing
5
+ * WeChat Mini Program DevTools sessions.
3
6
  */
4
- export * from '../../tools/automator.js';
7
+ import type { CapabilityModule } from '../registry.js';
5
8
  export { automatorSchemaRegistry, automatorSchemas } from './schemas/index.js';
9
+ export * from './handlers/index.js';
10
+ /**
11
+ * Automator capability module
12
+ */
13
+ export declare const capability: CapabilityModule;
14
+ export default capability;
6
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/capabilities/automator/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/capabilities/automator/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,gBAAgB,CAAA;AAUtE,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAG9E,cAAc,qBAAqB,CAAA;AAoCnC;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,gBAIxB,CAAA;AAED,eAAe,UAAU,CAAA"}