@creatoria/miniapp-mcp 0.2.0 → 0.2.3

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 (253) hide show
  1. package/README.md +157 -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 +87 -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 +47 -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 +30 -0
  35. package/dist/capabilities/automator/handlers/launch.d.ts.map +1 -0
  36. package/dist/capabilities/automator/handlers/launch.js +91 -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/automator/schemas/launch.d.ts +3 -0
  47. package/dist/capabilities/automator/schemas/launch.d.ts.map +1 -1
  48. package/dist/capabilities/automator/schemas/launch.js +4 -0
  49. package/dist/capabilities/automator/schemas/launch.js.map +1 -1
  50. package/dist/capabilities/element/handlers/element-handlers.d.ts +212 -0
  51. package/dist/capabilities/element/handlers/element-handlers.d.ts.map +1 -0
  52. package/dist/capabilities/element/handlers/element-handlers.js +383 -0
  53. package/dist/capabilities/element/handlers/element-handlers.js.map +1 -0
  54. package/dist/capabilities/element/handlers/index.d.ts +7 -0
  55. package/dist/capabilities/element/handlers/index.d.ts.map +1 -0
  56. package/dist/capabilities/element/handlers/index.js +27 -0
  57. package/dist/capabilities/element/handlers/index.js.map +1 -0
  58. package/dist/capabilities/element/index.d.ts +17 -2
  59. package/dist/capabilities/element/index.d.ts.map +1 -1
  60. package/dist/capabilities/element/index.js +196 -2
  61. package/dist/capabilities/element/index.js.map +1 -1
  62. package/dist/capabilities/element/schemas/index.d.ts +325 -0
  63. package/dist/capabilities/element/schemas/index.d.ts.map +1 -0
  64. package/dist/capabilities/element/schemas/index.js +168 -0
  65. package/dist/capabilities/element/schemas/index.js.map +1 -0
  66. package/dist/capabilities/index.d.ts +23 -4
  67. package/dist/capabilities/index.d.ts.map +1 -1
  68. package/dist/capabilities/index.js +29 -3
  69. package/dist/capabilities/index.js.map +1 -1
  70. package/dist/capabilities/loader.d.ts +61 -0
  71. package/dist/capabilities/loader.d.ts.map +1 -0
  72. package/dist/capabilities/loader.js +164 -0
  73. package/dist/capabilities/loader.js.map +1 -0
  74. package/dist/capabilities/miniprogram/handlers/call-wx.d.ts +24 -0
  75. package/dist/capabilities/miniprogram/handlers/call-wx.d.ts.map +1 -0
  76. package/dist/capabilities/miniprogram/handlers/call-wx.js +42 -0
  77. package/dist/capabilities/miniprogram/handlers/call-wx.js.map +1 -0
  78. package/dist/capabilities/miniprogram/handlers/evaluate.d.ts +32 -0
  79. package/dist/capabilities/miniprogram/handlers/evaluate.d.ts.map +1 -0
  80. package/dist/capabilities/miniprogram/handlers/evaluate.js +56 -0
  81. package/dist/capabilities/miniprogram/handlers/evaluate.js.map +1 -0
  82. package/dist/capabilities/miniprogram/handlers/index.d.ts +12 -0
  83. package/dist/capabilities/miniprogram/handlers/index.d.ts.map +1 -0
  84. package/dist/capabilities/miniprogram/handlers/index.js +12 -0
  85. package/dist/capabilities/miniprogram/handlers/index.js.map +1 -0
  86. package/dist/capabilities/miniprogram/handlers/navigate.d.ts +26 -0
  87. package/dist/capabilities/miniprogram/handlers/navigate.d.ts.map +1 -0
  88. package/dist/capabilities/miniprogram/handlers/navigate.js +61 -0
  89. package/dist/capabilities/miniprogram/handlers/navigate.js.map +1 -0
  90. package/dist/capabilities/miniprogram/handlers/page-stack.d.ts +20 -0
  91. package/dist/capabilities/miniprogram/handlers/page-stack.d.ts.map +1 -0
  92. package/dist/capabilities/miniprogram/handlers/page-stack.js +42 -0
  93. package/dist/capabilities/miniprogram/handlers/page-stack.js.map +1 -0
  94. package/dist/capabilities/miniprogram/handlers/screenshot.d.ts +33 -0
  95. package/dist/capabilities/miniprogram/handlers/screenshot.d.ts.map +1 -0
  96. package/dist/capabilities/miniprogram/handlers/screenshot.js +146 -0
  97. package/dist/capabilities/miniprogram/handlers/screenshot.js.map +1 -0
  98. package/dist/capabilities/miniprogram/handlers/system-info.d.ts +17 -0
  99. package/dist/capabilities/miniprogram/handlers/system-info.d.ts.map +1 -0
  100. package/dist/capabilities/miniprogram/handlers/system-info.js +36 -0
  101. package/dist/capabilities/miniprogram/handlers/system-info.js.map +1 -0
  102. package/dist/capabilities/miniprogram/index.d.ts +12 -2
  103. package/dist/capabilities/miniprogram/index.d.ts.map +1 -1
  104. package/dist/capabilities/miniprogram/index.js +66 -2
  105. package/dist/capabilities/miniprogram/index.js.map +1 -1
  106. package/dist/capabilities/miniprogram/schemas/call-wx.d.ts +15 -0
  107. package/dist/capabilities/miniprogram/schemas/call-wx.d.ts.map +1 -0
  108. package/dist/capabilities/miniprogram/schemas/call-wx.js +11 -0
  109. package/dist/capabilities/miniprogram/schemas/call-wx.js.map +1 -0
  110. package/dist/capabilities/miniprogram/schemas/evaluate.d.ts +15 -0
  111. package/dist/capabilities/miniprogram/schemas/evaluate.d.ts.map +1 -0
  112. package/dist/capabilities/miniprogram/schemas/evaluate.js +11 -0
  113. package/dist/capabilities/miniprogram/schemas/evaluate.js.map +1 -0
  114. package/dist/capabilities/miniprogram/schemas/index.d.ts +10 -0
  115. package/dist/capabilities/miniprogram/schemas/index.d.ts.map +1 -0
  116. package/dist/capabilities/miniprogram/schemas/index.js +10 -0
  117. package/dist/capabilities/miniprogram/schemas/index.js.map +1 -0
  118. package/dist/capabilities/miniprogram/schemas/navigate.d.ts +18 -0
  119. package/dist/capabilities/miniprogram/schemas/navigate.d.ts.map +1 -0
  120. package/dist/capabilities/miniprogram/schemas/navigate.js +22 -0
  121. package/dist/capabilities/miniprogram/schemas/navigate.js.map +1 -0
  122. package/dist/capabilities/miniprogram/schemas/page-stack.d.ts +6 -0
  123. package/dist/capabilities/miniprogram/schemas/page-stack.d.ts.map +1 -0
  124. package/dist/capabilities/miniprogram/schemas/page-stack.js +6 -0
  125. package/dist/capabilities/miniprogram/schemas/page-stack.js.map +1 -0
  126. package/dist/capabilities/miniprogram/schemas/screenshot.d.ts +18 -0
  127. package/dist/capabilities/miniprogram/schemas/screenshot.d.ts.map +1 -0
  128. package/dist/capabilities/miniprogram/schemas/screenshot.js +21 -0
  129. package/dist/capabilities/miniprogram/schemas/screenshot.js.map +1 -0
  130. package/dist/capabilities/miniprogram/schemas/system-info.d.ts +6 -0
  131. package/dist/capabilities/miniprogram/schemas/system-info.d.ts.map +1 -0
  132. package/dist/capabilities/miniprogram/schemas/system-info.js +6 -0
  133. package/dist/capabilities/miniprogram/schemas/system-info.js.map +1 -0
  134. package/dist/capabilities/network/handlers/index.d.ts +7 -0
  135. package/dist/capabilities/network/handlers/index.d.ts.map +1 -0
  136. package/dist/capabilities/network/handlers/index.js +7 -0
  137. package/dist/capabilities/network/handlers/index.js.map +1 -0
  138. package/dist/capabilities/network/handlers/network-handlers.d.ts +53 -0
  139. package/dist/capabilities/network/handlers/network-handlers.d.ts.map +1 -0
  140. package/dist/capabilities/network/handlers/network-handlers.js +127 -0
  141. package/dist/capabilities/network/handlers/network-handlers.js.map +1 -0
  142. package/dist/capabilities/network/index.d.ts +12 -2
  143. package/dist/capabilities/network/index.d.ts.map +1 -1
  144. package/dist/capabilities/network/index.js +66 -2
  145. package/dist/capabilities/network/index.js.map +1 -1
  146. package/dist/capabilities/network/schemas/index.d.ts +53 -0
  147. package/dist/capabilities/network/schemas/index.d.ts.map +1 -0
  148. package/dist/capabilities/network/schemas/index.js +33 -0
  149. package/dist/capabilities/network/schemas/index.js.map +1 -0
  150. package/dist/capabilities/page/handlers/index.d.ts +7 -0
  151. package/dist/capabilities/page/handlers/index.d.ts.map +1 -0
  152. package/dist/capabilities/page/handlers/index.js +7 -0
  153. package/dist/capabilities/page/handlers/index.js.map +1 -0
  154. package/dist/capabilities/page/handlers/page-handlers.d.ts +165 -0
  155. package/dist/capabilities/page/handlers/page-handlers.d.ts.map +1 -0
  156. package/dist/capabilities/page/handlers/page-handlers.js +258 -0
  157. package/dist/capabilities/page/handlers/page-handlers.js.map +1 -0
  158. package/dist/capabilities/page/index.d.ts +12 -2
  159. package/dist/capabilities/page/index.d.ts.map +1 -1
  160. package/dist/capabilities/page/index.js +80 -2
  161. package/dist/capabilities/page/index.js.map +1 -1
  162. package/dist/capabilities/page/schemas/index.d.ts +91 -0
  163. package/dist/capabilities/page/schemas/index.d.ts.map +1 -0
  164. package/dist/capabilities/page/schemas/index.js +55 -0
  165. package/dist/capabilities/page/schemas/index.js.map +1 -0
  166. package/dist/capabilities/record/handlers/index.d.ts +7 -0
  167. package/dist/capabilities/record/handlers/index.d.ts.map +1 -0
  168. package/dist/capabilities/record/handlers/index.js +7 -0
  169. package/dist/capabilities/record/handlers/index.js.map +1 -0
  170. package/dist/capabilities/record/handlers/record-handlers.d.ts +76 -0
  171. package/dist/capabilities/record/handlers/record-handlers.d.ts.map +1 -0
  172. package/dist/capabilities/record/handlers/record-handlers.js +255 -0
  173. package/dist/capabilities/record/handlers/record-handlers.js.map +1 -0
  174. package/dist/capabilities/record/index.d.ts +12 -2
  175. package/dist/capabilities/record/index.d.ts.map +1 -1
  176. package/dist/capabilities/record/index.js +66 -2
  177. package/dist/capabilities/record/index.js.map +1 -1
  178. package/dist/capabilities/record/schemas/index.d.ts +47 -0
  179. package/dist/capabilities/record/schemas/index.d.ts.map +1 -0
  180. package/dist/capabilities/record/schemas/index.js +33 -0
  181. package/dist/capabilities/record/schemas/index.js.map +1 -0
  182. package/dist/capabilities/registry.d.ts +138 -0
  183. package/dist/capabilities/registry.d.ts.map +1 -0
  184. package/dist/capabilities/registry.js +261 -0
  185. package/dist/capabilities/registry.js.map +1 -0
  186. package/dist/capabilities/snapshot/handlers/index.d.ts +7 -0
  187. package/dist/capabilities/snapshot/handlers/index.d.ts.map +1 -0
  188. package/dist/capabilities/snapshot/handlers/index.js +7 -0
  189. package/dist/capabilities/snapshot/handlers/index.js.map +1 -0
  190. package/dist/capabilities/snapshot/handlers/snapshot-handlers.d.ts +75 -0
  191. package/dist/capabilities/snapshot/handlers/snapshot-handlers.d.ts.map +1 -0
  192. package/dist/capabilities/snapshot/handlers/snapshot-handlers.js +201 -0
  193. package/dist/capabilities/snapshot/handlers/snapshot-handlers.js.map +1 -0
  194. package/dist/capabilities/snapshot/index.d.ts +12 -2
  195. package/dist/capabilities/snapshot/index.d.ts.map +1 -1
  196. package/dist/capabilities/snapshot/index.js +45 -2
  197. package/dist/capabilities/snapshot/index.js.map +1 -1
  198. package/dist/capabilities/snapshot/schemas/index.d.ts +47 -0
  199. package/dist/capabilities/snapshot/schemas/index.d.ts.map +1 -0
  200. package/dist/capabilities/snapshot/schemas/index.js +28 -0
  201. package/dist/capabilities/snapshot/schemas/index.js.map +1 -0
  202. package/dist/config/defaults.d.ts +4 -0
  203. package/dist/config/defaults.d.ts.map +1 -1
  204. package/dist/config/defaults.js +8 -0
  205. package/dist/config/defaults.js.map +1 -1
  206. package/dist/config/loader.d.ts +3 -0
  207. package/dist/config/loader.d.ts.map +1 -1
  208. package/dist/config/loader.js +21 -0
  209. package/dist/config/loader.js.map +1 -1
  210. package/dist/runtime/concurrency/mutex.d.ts +29 -0
  211. package/dist/runtime/concurrency/mutex.d.ts.map +1 -0
  212. package/dist/runtime/concurrency/mutex.js +46 -0
  213. package/dist/runtime/concurrency/mutex.js.map +1 -0
  214. package/dist/runtime/index.d.ts +2 -1
  215. package/dist/runtime/index.d.ts.map +1 -1
  216. package/dist/runtime/index.js +2 -1
  217. package/dist/runtime/index.js.map +1 -1
  218. package/dist/runtime/logging/tool-logger.js +2 -2
  219. package/dist/runtime/logging/tool-logger.js.map +1 -1
  220. package/dist/runtime/network/probe-port.d.ts +15 -0
  221. package/dist/runtime/network/probe-port.d.ts.map +1 -0
  222. package/dist/runtime/network/probe-port.js +33 -0
  223. package/dist/runtime/network/probe-port.js.map +1 -0
  224. package/dist/runtime/retry/index.d.ts +5 -0
  225. package/dist/runtime/retry/index.d.ts.map +1 -0
  226. package/dist/runtime/retry/index.js +5 -0
  227. package/dist/runtime/retry/index.js.map +1 -0
  228. package/dist/runtime/retry/retry.d.ts +61 -0
  229. package/dist/runtime/retry/retry.d.ts.map +1 -0
  230. package/dist/runtime/retry/retry.js +90 -0
  231. package/dist/runtime/retry/retry.js.map +1 -0
  232. package/dist/runtime/timeout/timeout.d.ts +10 -0
  233. package/dist/runtime/timeout/timeout.d.ts.map +1 -1
  234. package/dist/runtime/timeout/timeout.js +17 -5
  235. package/dist/runtime/timeout/timeout.js.map +1 -1
  236. package/dist/server.d.ts.map +1 -1
  237. package/dist/server.js +7 -6
  238. package/dist/server.js.map +1 -1
  239. package/dist/tools/index.d.ts.map +1 -1
  240. package/dist/tools/index.js +7 -3
  241. package/dist/tools/index.js.map +1 -1
  242. package/dist/tools/miniprogram.d.ts +11 -1
  243. package/dist/tools/miniprogram.d.ts.map +1 -1
  244. package/dist/tools/miniprogram.js +102 -20
  245. package/dist/tools/miniprogram.js.map +1 -1
  246. package/dist/types.d.ts +5 -0
  247. package/dist/types.d.ts.map +1 -1
  248. package/docs/current/01-architecture-migration.md +337 -0
  249. package/docs/current/02-screenshot-timeout-fix.md +589 -0
  250. package/docs/current/03-connect-screenshot-timeout-diagnosis.md +168 -0
  251. package/docs/current/04-toolchain-version-baseline.md +123 -0
  252. package/docs/current/README.md +229 -0
  253. package/package.json +2 -2
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Navigate handler - Page navigation operations
3
+ */
4
+ import { withTimeout, getTimeout, DEFAULT_TIMEOUTS } from '../../../runtime/timeout/timeout.js';
5
+ import { withSessionLock } from '../../../runtime/concurrency/mutex.js';
6
+ /**
7
+ * Navigate to a page in the mini program
8
+ * Supports: navigateTo, redirectTo, reLaunch, switchTab, navigateBack
9
+ */
10
+ export async function navigate(session, args) {
11
+ // Serialize against all other SDK operations on this session (shared single WebSocket).
12
+ return withSessionLock(session.sessionId, () => navigateImpl(session, args));
13
+ }
14
+ async function navigateImpl(session, args) {
15
+ const { method, url, delta } = args;
16
+ const logger = session.logger;
17
+ try {
18
+ if (!session.miniProgram) {
19
+ throw new Error('MiniProgram not connected. Call miniprogram_launch or miniprogram_connect first.');
20
+ }
21
+ logger?.info(`Navigating using ${method}`, { url, delta });
22
+ // Get timeout for navigation operations
23
+ const timeoutMs = getTimeout(session.config?.timeout, DEFAULT_TIMEOUTS.navigation);
24
+ // Execute navigation method with timeout protection
25
+ switch (method) {
26
+ case 'navigateTo':
27
+ case 'redirectTo':
28
+ case 'reLaunch':
29
+ case 'switchTab':
30
+ if (!url) {
31
+ throw new Error(`URL is required for ${method}`);
32
+ }
33
+ await withTimeout(session.miniProgram[method](url), timeoutMs, `Navigation (${method})`);
34
+ break;
35
+ case 'navigateBack':
36
+ await withTimeout(session.miniProgram.navigateBack(delta), timeoutMs, 'Navigation (navigateBack)');
37
+ break;
38
+ default:
39
+ throw new Error(`Unknown navigation method: ${method}`);
40
+ }
41
+ // Get current page after navigation with timeout
42
+ const currentPage = await withTimeout(session.miniProgram.currentPage(), DEFAULT_TIMEOUTS.pageStack, 'Get current page');
43
+ const currentPath = currentPage?.path || 'unknown';
44
+ logger?.info(`Navigation successful, current page: ${currentPath}`);
45
+ return {
46
+ success: true,
47
+ message: `Successfully navigated using ${method}`,
48
+ currentPage: currentPath,
49
+ };
50
+ }
51
+ catch (error) {
52
+ const errorMessage = error instanceof Error ? error.message : String(error);
53
+ logger?.error(`Navigation failed`, {
54
+ error: errorMessage,
55
+ method,
56
+ url,
57
+ });
58
+ throw new Error(`Navigation failed: ${errorMessage}`);
59
+ }
60
+ }
61
+ //# sourceMappingURL=navigate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigate.js","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/navigate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAA;AAoBvE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAqB,EAAE,IAAkB;IACtE,wFAAwF;IACxF,OAAO,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;AAC9E,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAAqB,EAAE,IAAkB;IACnE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;IACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAE7B,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;QACH,CAAC;QAED,MAAM,EAAE,IAAI,CAAC,oBAAoB,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;QAE1D,wCAAwC;QACxC,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAA;QAElF,oDAAoD;QACpD,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,YAAY,CAAC;YAClB,KAAK,YAAY,CAAC;YAClB,KAAK,UAAU,CAAC;YAChB,KAAK,WAAW;gBACd,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAA;gBAClD,CAAC;gBACD,MAAM,WAAW,CACf,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAChC,SAAS,EACT,eAAe,MAAM,GAAG,CACzB,CAAA;gBACD,MAAK;YAEP,KAAK,cAAc;gBACjB,MAAM,WAAW,CACf,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,EACvC,SAAS,EACT,2BAA2B,CAC5B,CAAA;gBACD,MAAK;YAEP;gBACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAA;QAC3D,CAAC;QAED,iDAAiD;QACjD,MAAM,WAAW,GAAG,MAAM,WAAW,CACnC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,EACjC,gBAAgB,CAAC,SAAS,EAC1B,kBAAkB,CACS,CAAA;QAC7B,MAAM,WAAW,GAAG,WAAW,EAAE,IAAI,IAAI,SAAS,CAAA;QAElD,MAAM,EAAE,IAAI,CAAC,wCAAwC,WAAW,EAAE,CAAC,CAAA;QAEnE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,gCAAgC,MAAM,EAAE;YACjD,WAAW,EAAE,WAAW;SACzB,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,mBAAmB,EAAE;YACjC,KAAK,EAAE,YAAY;YACnB,MAAM;YACN,GAAG;SACJ,CAAC,CAAA;QAEF,MAAM,IAAI,KAAK,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAA;IACvD,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * PageStack handler - Get current page stack
3
+ */
4
+ import type { SessionState } from '../../../types.js';
5
+ /**
6
+ * PageStack result
7
+ */
8
+ export interface PageStackResult {
9
+ success: boolean;
10
+ message: string;
11
+ pages: Array<{
12
+ path: string;
13
+ query: Record<string, any>;
14
+ }>;
15
+ }
16
+ /**
17
+ * Get current page stack
18
+ */
19
+ export declare function getPageStack(session: SessionState): Promise<PageStackResult>;
20
+ //# sourceMappingURL=page-stack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-stack.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/page-stack.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAIrD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC,CAAA;CAC3D;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAGlF"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * PageStack handler - Get current page stack
3
+ */
4
+ import { withTimeout, getTimeout, DEFAULT_TIMEOUTS } from '../../../runtime/timeout/timeout.js';
5
+ import { withSessionLock } from '../../../runtime/concurrency/mutex.js';
6
+ /**
7
+ * Get current page stack
8
+ */
9
+ export async function getPageStack(session) {
10
+ // Serialize against all other SDK operations on this session (shared single WebSocket).
11
+ return withSessionLock(session.sessionId, () => getPageStackImpl(session));
12
+ }
13
+ async function getPageStackImpl(session) {
14
+ const logger = session.logger;
15
+ try {
16
+ if (!session.miniProgram) {
17
+ throw new Error('MiniProgram not connected. Call miniprogram_launch or miniprogram_connect first.');
18
+ }
19
+ logger?.info('Getting page stack');
20
+ // Get page stack with timeout protection
21
+ const timeoutMs = getTimeout(session.config?.timeout, DEFAULT_TIMEOUTS.pageStack);
22
+ const pageStack = await withTimeout(session.miniProgram.pageStack(), timeoutMs, 'Get page stack');
23
+ // Update session page stack
24
+ session.pages = pageStack;
25
+ const pages = pageStack.map((page) => ({
26
+ path: page.path,
27
+ query: page.query || {},
28
+ }));
29
+ logger?.info('Page stack retrieved', { count: pages.length });
30
+ return {
31
+ success: true,
32
+ message: 'Page stack retrieved successfully',
33
+ pages,
34
+ };
35
+ }
36
+ catch (error) {
37
+ const errorMessage = error instanceof Error ? error.message : String(error);
38
+ logger?.error('Failed to get page stack', { error: errorMessage });
39
+ throw new Error(`Failed to get page stack: ${errorMessage}`);
40
+ }
41
+ }
42
+ //# sourceMappingURL=page-stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-stack.js","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/page-stack.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAA;AAWvE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAqB;IACtD,wFAAwF;IACxF,OAAO,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAA;AAC5E,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,OAAqB;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAE7B,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;QACH,CAAC;QAED,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAA;QAElC,yCAAyC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAA;QACjF,MAAM,SAAS,GAAG,MAAM,WAAW,CACjC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,EAC/B,SAAS,EACT,gBAAgB,CACR,CAAA;QAEV,4BAA4B;QAC5B,OAAO,CAAC,KAAK,GAAG,SAAS,CAAA;QAEzB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;SACxB,CAAC,CAAC,CAAA;QAEH,MAAM,EAAE,IAAI,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;QAE7D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,mCAAmC;YAC5C,KAAK;SACN,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,0BAA0B,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAA;QAElE,MAAM,IAAI,KAAK,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAA;IAC9D,CAAC;AACH,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Screenshot handler - Capture mini program screenshots
3
+ */
4
+ import type { SessionState } from '../../../types.js';
5
+ /**
6
+ * Screenshot input arguments
7
+ */
8
+ export interface ScreenshotArgs {
9
+ filename?: string;
10
+ fullPage?: boolean;
11
+ returnBase64?: boolean;
12
+ }
13
+ /**
14
+ * Screenshot result
15
+ */
16
+ export interface ScreenshotResult {
17
+ success: boolean;
18
+ message: string;
19
+ path?: string;
20
+ base64?: string;
21
+ }
22
+ /**
23
+ * Take a screenshot of the mini program
24
+ * Returns base64 string if returnBase64 is true, otherwise saves to file
25
+ *
26
+ * @param session - Session state
27
+ * @param args - Screenshot options
28
+ * @param args.filename - Optional filename to save screenshot (auto-generated if not provided)
29
+ * @param args.fullPage - Whether to capture the full page including scroll area
30
+ * @param args.returnBase64 - Return screenshot as base64 string instead of saving to file
31
+ */
32
+ export declare function screenshot(session: SessionState, args?: ScreenshotArgs): Promise<ScreenshotResult>;
33
+ //# sourceMappingURL=screenshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/screenshot.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAKrD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,YAAY,EACrB,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAM3B"}
@@ -0,0 +1,146 @@
1
+ /**
2
+ * Screenshot handler - Capture mini program screenshots
3
+ */
4
+ import { join } from 'path';
5
+ import { withTimeout, getTimeout, DEFAULT_TIMEOUTS } from '../../../runtime/timeout/timeout.js';
6
+ import { withRetry, RetryPredicates } from '../../../runtime/retry/retry.js';
7
+ import { withSessionLock } from '../../../runtime/concurrency/mutex.js';
8
+ /**
9
+ * Take a screenshot of the mini program
10
+ * Returns base64 string if returnBase64 is true, otherwise saves to file
11
+ *
12
+ * @param session - Session state
13
+ * @param args - Screenshot options
14
+ * @param args.filename - Optional filename to save screenshot (auto-generated if not provided)
15
+ * @param args.fullPage - Whether to capture the full page including scroll area
16
+ * @param args.returnBase64 - Return screenshot as base64 string instead of saving to file
17
+ */
18
+ export async function screenshot(session, args = {}) {
19
+ // Serialize against ALL SDK operations on this session, not just other screenshots.
20
+ // The SDK multiplexes every request over one WebSocket, so a screenshot racing a
21
+ // concurrent navigate/evaluate would also hang. Queueing per session turns any
22
+ // concurrency into an orderly sequence (real-world test: concurrent 1/8 → 8/8).
23
+ return withSessionLock(session.sessionId, () => screenshotImpl(session, args));
24
+ }
25
+ async function screenshotImpl(session, args = {}) {
26
+ const { filename, fullPage = false, returnBase64 = false } = args;
27
+ const logger = session.logger;
28
+ const outputManager = session.outputManager;
29
+ const startTime = Date.now();
30
+ try {
31
+ if (!session.miniProgram) {
32
+ throw new Error('MiniProgram not connected. Call miniprogram_launch or miniprogram_connect first.');
33
+ }
34
+ // Calculate timeout: use longer timeout for fullPage screenshots
35
+ const baseTimeout = getTimeout(session.config?.screenshotTimeout, DEFAULT_TIMEOUTS.screenshot);
36
+ const timeoutMs = fullPage ? DEFAULT_TIMEOUTS.screenshotFullPage : baseTimeout;
37
+ logger?.info('Taking screenshot', { filename, fullPage, returnBase64, timeoutMs });
38
+ // If returnBase64 is true and no filename, return base64 directly (fast path)
39
+ if (returnBase64 && !filename) {
40
+ const buffer = (await withRetry(() => withTimeout(session.miniProgram.screenshot({ fullPage }), timeoutMs, 'Screenshot capture (base64)'), {
41
+ maxRetries: 2,
42
+ delayMs: 1000,
43
+ // Only retry on a dropped connection. Do NOT retry on timeout: under the
44
+ // session lock the underlying request isn't cancelled, so a retry just
45
+ // queues more work onto an already-busy WebSocket and makes things worse.
46
+ shouldRetry: RetryPredicates.onConnectionError,
47
+ onRetry: (attempt, error, delay) => {
48
+ logger?.warn(`Screenshot retry attempt ${attempt}`, {
49
+ error: error.message,
50
+ nextDelayMs: delay,
51
+ });
52
+ },
53
+ }));
54
+ const duration = Date.now() - startTime;
55
+ const bufferLength = buffer instanceof Buffer ? buffer.length : buffer?.length;
56
+ logger?.info('Screenshot captured (base64)', {
57
+ duration,
58
+ fullPage,
59
+ size: bufferLength,
60
+ });
61
+ // Handle both Buffer and string return types from SDK
62
+ const base64String = buffer instanceof Buffer ? buffer.toString('base64') : typeof buffer === 'string' ? buffer : String(buffer);
63
+ return {
64
+ success: true,
65
+ message: 'Screenshot captured successfully',
66
+ base64: base64String,
67
+ };
68
+ }
69
+ // File saving path
70
+ if (!outputManager) {
71
+ throw new Error('OutputManager not available. Set outputDir in config or use returnBase64=true.');
72
+ }
73
+ const { validateFilename } = await import('../../../runtime/validation/validation.js');
74
+ const resolvedFilename = filename
75
+ ? (() => {
76
+ validateFilename(filename, ['png', 'jpg', 'jpeg']);
77
+ return filename;
78
+ })()
79
+ : (() => {
80
+ const generated = outputManager.generateFilename('screenshot', 'png');
81
+ validateFilename(generated, ['png', 'jpg', 'jpeg']);
82
+ return generated;
83
+ })();
84
+ await outputManager.ensureOutputDir();
85
+ const fullPath = join(outputManager.getOutputDir(), resolvedFilename);
86
+ // Screenshot with timeout and retry protection
87
+ const screenshotBuffer = (await withRetry(() => withTimeout(session.miniProgram.screenshot({
88
+ path: fullPath,
89
+ fullPage,
90
+ }), timeoutMs, 'Screenshot capture'), {
91
+ maxRetries: 2,
92
+ delayMs: 1000,
93
+ // Only retry on a dropped connection. Do NOT retry on timeout: under the
94
+ // session lock the underlying request isn't cancelled, so a retry just
95
+ // queues more work onto an already-busy WebSocket and makes things worse.
96
+ shouldRetry: RetryPredicates.onConnectionError,
97
+ onRetry: (attempt, error, delay) => {
98
+ logger?.warn(`Screenshot retry attempt ${attempt}`, {
99
+ error: error.message,
100
+ nextDelayMs: delay,
101
+ });
102
+ },
103
+ }));
104
+ let finalPath = fullPath;
105
+ if (screenshotBuffer) {
106
+ const bufferData = screenshotBuffer instanceof Buffer ? screenshotBuffer : Buffer.from(screenshotBuffer);
107
+ finalPath = await outputManager.writeFile(resolvedFilename, bufferData);
108
+ }
109
+ const duration = Date.now() - startTime;
110
+ const bufferSize = screenshotBuffer instanceof Buffer ? screenshotBuffer.length : screenshotBuffer?.length;
111
+ logger?.info('Screenshot saved', {
112
+ path: finalPath,
113
+ duration,
114
+ fullPage,
115
+ size: bufferSize,
116
+ });
117
+ // If returnBase64 is also requested, include base64 in response
118
+ const result = {
119
+ success: true,
120
+ message: 'Screenshot saved to file',
121
+ path: finalPath,
122
+ };
123
+ if (returnBase64 && screenshotBuffer) {
124
+ result.base64 =
125
+ screenshotBuffer instanceof Buffer
126
+ ? screenshotBuffer.toString('base64')
127
+ : typeof screenshotBuffer === 'string'
128
+ ? screenshotBuffer
129
+ : String(screenshotBuffer);
130
+ }
131
+ return result;
132
+ }
133
+ catch (error) {
134
+ const duration = Date.now() - startTime;
135
+ const errorMessage = error instanceof Error ? error.message : String(error);
136
+ logger?.error('Screenshot failed', {
137
+ error: errorMessage,
138
+ filename,
139
+ fullPage,
140
+ returnBase64,
141
+ duration,
142
+ });
143
+ throw new Error(`Screenshot failed: ${errorMessage}`);
144
+ }
145
+ }
146
+ //# sourceMappingURL=screenshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/screenshot.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAC/F,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAA;AAqBvE;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAqB,EACrB,OAAuB,EAAE;IAEzB,oFAAoF;IACpF,iFAAiF;IACjF,+EAA+E;IAC/E,gFAAgF;IAChF,OAAO,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;AAChF,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,OAAqB,EACrB,OAAuB,EAAE;IAEzB,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE,YAAY,GAAG,KAAK,EAAE,GAAG,IAAI,CAAA;IACjE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAE5B,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;QACH,CAAC;QAED,iEAAiE;QACjE,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAA;QAC9F,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAA;QAE9E,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAA;QAElF,8EAA8E;QAC9E,IAAI,YAAY,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAC7B,GAAG,EAAE,CACH,WAAW,CACT,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,EAC5C,SAAS,EACT,6BAA6B,CAC9B,EACH;gBACE,UAAU,EAAE,CAAC;gBACb,OAAO,EAAE,IAAI;gBACb,yEAAyE;gBACzE,uEAAuE;gBACvE,0EAA0E;gBAC1E,WAAW,EAAE,eAAe,CAAC,iBAAiB;gBAC9C,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;oBACjC,MAAM,EAAE,IAAI,CAAC,4BAA4B,OAAO,EAAE,EAAE;wBAClD,KAAK,EAAE,KAAK,CAAC,OAAO;wBACpB,WAAW,EAAE,KAAK;qBACnB,CAAC,CAAA;gBACJ,CAAC;aACF,CACF,CAAoB,CAAA;YAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;YACvC,MAAM,YAAY,GAAG,MAAM,YAAY,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAA;YAC9E,MAAM,EAAE,IAAI,CAAC,8BAA8B,EAAE;gBAC3C,QAAQ;gBACR,QAAQ;gBACR,IAAI,EAAE,YAAY;aACnB,CAAC,CAAA;YAEF,sDAAsD;YACtD,MAAM,YAAY,GAChB,MAAM,YAAY,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAE7G,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,kCAAkC;gBAC3C,MAAM,EAAE,YAAY;aACrB,CAAA;QACH,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAA;QACnG,CAAC;QAED,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,2CAA2C,CAAC,CAAA;QAEtF,MAAM,gBAAgB,GAAG,QAAQ;YAC/B,CAAC,CAAC,CAAC,GAAG,EAAE;gBACJ,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;gBAClD,OAAO,QAAQ,CAAA;YACjB,CAAC,CAAC,EAAE;YACN,CAAC,CAAC,CAAC,GAAG,EAAE;gBACJ,MAAM,SAAS,GAAG,aAAa,CAAC,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;gBACrE,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;gBACnD,OAAO,SAAS,CAAA;YAClB,CAAC,CAAC,EAAE,CAAA;QAER,MAAM,aAAa,CAAC,eAAe,EAAE,CAAA;QAErC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,gBAAgB,CAAC,CAAA;QAErE,+CAA+C;QAC/C,MAAM,gBAAgB,GAAG,CAAC,MAAM,SAAS,CACvC,GAAG,EAAE,CACH,WAAW,CACT,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC;YAC7B,IAAI,EAAE,QAAQ;YACd,QAAQ;SACT,CAAC,EACF,SAAS,EACT,oBAAoB,CACrB,EACH;YACE,UAAU,EAAE,CAAC;YACb,OAAO,EAAE,IAAI;YACb,yEAAyE;YACzE,uEAAuE;YACvE,0EAA0E;YAC1E,WAAW,EAAE,eAAe,CAAC,iBAAiB;YAC9C,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACjC,MAAM,EAAE,IAAI,CAAC,4BAA4B,OAAO,EAAE,EAAE;oBAClD,KAAK,EAAE,KAAK,CAAC,OAAO;oBACpB,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAA;YACJ,CAAC;SACF,CACF,CAAgC,CAAA;QAEjC,IAAI,SAAS,GAAG,QAAQ,CAAA;QACxB,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,gBAAgB,YAAY,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YACxG,SAAS,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA;QACzE,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;QACvC,MAAM,UAAU,GAAG,gBAAgB,YAAY,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,EAAE,MAAM,CAAA;QAC1G,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE;YAC/B,IAAI,EAAE,SAAS;YACf,QAAQ;YACR,QAAQ;YACR,IAAI,EAAE,UAAU;SACjB,CAAC,CAAA;QAEF,gEAAgE;QAChE,MAAM,MAAM,GAAqB;YAC/B,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,0BAA0B;YACnC,IAAI,EAAE,SAAS;SAChB,CAAA;QAED,IAAI,YAAY,IAAI,gBAAgB,EAAE,CAAC;YACrC,MAAM,CAAC,MAAM;gBACX,gBAAgB,YAAY,MAAM;oBAChC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBACrC,CAAC,CAAC,OAAO,gBAAgB,KAAK,QAAQ;wBACpC,CAAC,CAAC,gBAAgB;wBAClB,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAClC,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;QACvC,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAE3E,MAAM,EAAE,KAAK,CAAC,mBAAmB,EAAE;YACjC,KAAK,EAAE,YAAY;YACnB,QAAQ;YACR,QAAQ;YACR,YAAY;YACZ,QAAQ;SACT,CAAC,CAAA;QAEF,MAAM,IAAI,KAAK,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAA;IACvD,CAAC;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * SystemInfo handler - Get system information
3
+ */
4
+ import type { SessionState } from '../../../types.js';
5
+ /**
6
+ * SystemInfo result
7
+ */
8
+ export interface SystemInfoResult {
9
+ success: boolean;
10
+ message: string;
11
+ systemInfo: any;
12
+ }
13
+ /**
14
+ * Get system information
15
+ */
16
+ export declare function getSystemInfo(session: SessionState): Promise<SystemInfoResult>;
17
+ //# sourceMappingURL=system-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-info.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/system-info.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAIrD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,GAAG,CAAA;CAChB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAGpF"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * SystemInfo handler - Get system information
3
+ */
4
+ import { withTimeout, getTimeout, DEFAULT_TIMEOUTS } from '../../../runtime/timeout/timeout.js';
5
+ import { withSessionLock } from '../../../runtime/concurrency/mutex.js';
6
+ /**
7
+ * Get system information
8
+ */
9
+ export async function getSystemInfo(session) {
10
+ // Serialize against all other SDK operations on this session (shared single WebSocket).
11
+ return withSessionLock(session.sessionId, () => getSystemInfoImpl(session));
12
+ }
13
+ async function getSystemInfoImpl(session) {
14
+ const logger = session.logger;
15
+ try {
16
+ if (!session.miniProgram) {
17
+ throw new Error('MiniProgram not connected. Call miniprogram_launch or miniprogram_connect first.');
18
+ }
19
+ logger?.info('Getting system information');
20
+ // Get system info with timeout protection
21
+ const timeoutMs = getTimeout(session.config?.timeout, DEFAULT_TIMEOUTS.systemInfo);
22
+ const systemInfo = await withTimeout(session.miniProgram.systemInfo(), timeoutMs, 'Get system info');
23
+ logger?.info('System information retrieved');
24
+ return {
25
+ success: true,
26
+ message: 'System information retrieved successfully',
27
+ systemInfo,
28
+ };
29
+ }
30
+ catch (error) {
31
+ const errorMessage = error instanceof Error ? error.message : String(error);
32
+ logger?.error('Failed to get system info', { error: errorMessage });
33
+ throw new Error(`Failed to get system info: ${errorMessage}`);
34
+ }
35
+ }
36
+ //# sourceMappingURL=system-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-info.js","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/system-info.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAA;AAWvE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAqB;IACvD,wFAAwF;IACxF,OAAO,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAA;AAC7E,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAqB;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAE7B,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;QACH,CAAC;QAED,MAAM,EAAE,IAAI,CAAC,4BAA4B,CAAC,CAAA;QAE1C,0CAA0C;QAC1C,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAA;QAClF,MAAM,UAAU,GAAG,MAAM,WAAW,CAClC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,EAChC,SAAS,EACT,iBAAiB,CAClB,CAAA;QAED,MAAM,EAAE,IAAI,CAAC,8BAA8B,CAAC,CAAA;QAE5C,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,2CAA2C;YACpD,UAAU;SACX,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,2BAA2B,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAA;QAEnE,MAAM,IAAI,KAAK,CAAC,8BAA8B,YAAY,EAAE,CAAC,CAAA;IAC/D,CAAC;AACH,CAAC"}
@@ -1,5 +1,15 @@
1
1
  /**
2
- * MiniProgram capability bridge to legacy tool implementations.
2
+ * MiniProgram Capability Module
3
+ *
4
+ * Provides tools for mini program-level operations including navigation,
5
+ * WeChat API calls, JavaScript evaluation, screenshots, and system info.
3
6
  */
4
- export * from '../../tools/miniprogram.js';
7
+ import type { CapabilityModule } from '../registry.js';
8
+ export * from './schemas/index.js';
9
+ export * from './handlers/index.js';
10
+ /**
11
+ * MiniProgram capability module
12
+ */
13
+ export declare const capability: CapabilityModule;
14
+ export default capability;
5
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/capabilities/miniprogram/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,4BAA4B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/capabilities/miniprogram/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,gBAAgB,CAAA;AAmBtE,cAAc,oBAAoB,CAAA;AAGlC,cAAc,qBAAqB,CAAA;AAoDnC;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,gBAIxB,CAAA;AAED,eAAe,UAAU,CAAA"}
@@ -1,5 +1,69 @@
1
1
  /**
2
- * MiniProgram capability bridge to legacy tool implementations.
2
+ * MiniProgram Capability Module
3
+ *
4
+ * Provides tools for mini program-level operations including navigation,
5
+ * WeChat API calls, JavaScript evaluation, screenshots, and system info.
3
6
  */
4
- export * from '../../tools/miniprogram.js';
7
+ import { navigateSchema, callWxSchema, evaluateSchema, screenshotSchema, pageStackSchema, systemInfoSchema, } from './schemas/index.js';
8
+ import { navigate, callWx, evaluate, screenshot, getPageStack, getSystemInfo, } 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
+ * MiniProgram tool definitions
15
+ */
16
+ const tools = [
17
+ {
18
+ name: 'miniprogram_navigate',
19
+ description: 'Navigate to a page using various navigation methods (navigateTo, redirectTo, reLaunch, switchTab, navigateBack)',
20
+ capability: 'miniprogram',
21
+ inputSchema: navigateSchema,
22
+ handler: navigate,
23
+ },
24
+ {
25
+ name: 'miniprogram_call_wx',
26
+ description: 'Call a WeChat API method (wx.*) in the mini program',
27
+ capability: 'miniprogram',
28
+ inputSchema: callWxSchema,
29
+ handler: callWx,
30
+ },
31
+ {
32
+ name: 'miniprogram_evaluate',
33
+ description: 'Evaluate JavaScript code in the mini program context',
34
+ capability: 'miniprogram',
35
+ inputSchema: evaluateSchema,
36
+ handler: evaluate,
37
+ },
38
+ {
39
+ name: 'miniprogram_screenshot',
40
+ description: 'Take a screenshot of the mini program. Use returnBase64=true for quick base64 response, or provide filename to save to file.',
41
+ capability: 'miniprogram',
42
+ inputSchema: screenshotSchema,
43
+ handler: screenshot,
44
+ },
45
+ {
46
+ name: 'miniprogram_get_page_stack',
47
+ description: 'Get the current page stack',
48
+ capability: 'miniprogram',
49
+ inputSchema: pageStackSchema,
50
+ handler: getPageStack,
51
+ },
52
+ {
53
+ name: 'miniprogram_get_system_info',
54
+ description: 'Get system information',
55
+ capability: 'miniprogram',
56
+ inputSchema: systemInfoSchema,
57
+ handler: getSystemInfo,
58
+ },
59
+ ];
60
+ /**
61
+ * MiniProgram capability module
62
+ */
63
+ export const capability = {
64
+ name: 'miniprogram',
65
+ description: 'Mini program-level operations (6 tools)',
66
+ tools,
67
+ };
68
+ export default capability;
5
69
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/capabilities/miniprogram/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,4BAA4B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/capabilities/miniprogram/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,cAAc,EACd,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GACjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,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,sBAAsB;QAC5B,WAAW,EACT,iHAAiH;QACnH,UAAU,EAAE,aAAa;QACzB,WAAW,EAAE,cAAc;QAC3B,OAAO,EAAE,QAAQ;KAClB;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,qDAAqD;QAClE,UAAU,EAAE,aAAa;QACzB,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,MAAM;KAChB;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,sDAAsD;QACnE,UAAU,EAAE,aAAa;QACzB,WAAW,EAAE,cAAc;QAC3B,OAAO,EAAE,QAAQ;KAClB;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,8HAA8H;QAChI,UAAU,EAAE,aAAa;QACzB,WAAW,EAAE,gBAAgB;QAC7B,OAAO,EAAE,UAAU;KACpB;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,4BAA4B;QACzC,UAAU,EAAE,aAAa;QACzB,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,YAAY;KACtB;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,wBAAwB;QACrC,UAAU,EAAE,aAAa;QACzB,WAAW,EAAE,gBAAgB;QAC7B,OAAO,EAAE,aAAa;KACvB;CACF,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAqB;IAC1C,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,yCAAyC;IACtD,KAAK;CACN,CAAA;AAED,eAAe,UAAU,CAAA"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Call WX schema - Call WeChat API methods
3
+ */
4
+ import { z } from 'zod';
5
+ export declare const callWxSchema: z.ZodObject<{
6
+ method: z.ZodString;
7
+ args: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ method: string;
10
+ args?: any[] | undefined;
11
+ }, {
12
+ method: string;
13
+ args?: any[] | undefined;
14
+ }>;
15
+ //# sourceMappingURL=call-wx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-wx.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/schemas/call-wx.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,YAAY;;;;;;;;;EAKyC,CAAA"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Call WX schema - Call WeChat API methods
3
+ */
4
+ import { z } from 'zod';
5
+ export const callWxSchema = z
6
+ .object({
7
+ method: z.string().min(1).describe('WeChat API method name (e.g., "showToast", "request")'),
8
+ args: z.array(z.any()).optional().describe('Arguments to pass to the wx method'),
9
+ })
10
+ .describe('Call a WeChat API method (wx.*) in the mini program');
11
+ //# sourceMappingURL=call-wx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-wx.js","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/schemas/call-wx.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IAC3F,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CACjF,CAAC;KACD,QAAQ,CAAC,qDAAqD,CAAC,CAAA"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Evaluate schema - Evaluate JavaScript code in the mini program context
3
+ */
4
+ import { z } from 'zod';
5
+ export declare const evaluateSchema: z.ZodObject<{
6
+ expression: z.ZodString;
7
+ args: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ expression: string;
10
+ args?: any[] | undefined;
11
+ }, {
12
+ expression: string;
13
+ args?: any[] | undefined;
14
+ }>;
15
+ //# sourceMappingURL=evaluate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/schemas/evaluate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,cAAc;;;;;;;;;EAKwC,CAAA"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Evaluate schema - Evaluate JavaScript code in the mini program context
3
+ */
4
+ import { z } from 'zod';
5
+ export const evaluateSchema = z
6
+ .object({
7
+ expression: z.string().min(1).describe('JavaScript expression or function to evaluate'),
8
+ args: z.array(z.any()).optional().describe('Arguments to pass to the expression'),
9
+ })
10
+ .describe('Evaluate JavaScript code in the mini program context');
11
+ //# sourceMappingURL=evaluate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/schemas/evaluate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IACvF,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;CAClF,CAAC;KACD,QAAQ,CAAC,sDAAsD,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * MiniProgram schemas exports
3
+ */
4
+ export { navigateSchema } from './navigate.js';
5
+ export { callWxSchema } from './call-wx.js';
6
+ export { evaluateSchema } from './evaluate.js';
7
+ export { screenshotSchema } from './screenshot.js';
8
+ export { pageStackSchema } from './page-stack.js';
9
+ export { systemInfoSchema } from './system-info.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/schemas/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * MiniProgram schemas exports
3
+ */
4
+ export { navigateSchema } from './navigate.js';
5
+ export { callWxSchema } from './call-wx.js';
6
+ export { evaluateSchema } from './evaluate.js';
7
+ export { screenshotSchema } from './screenshot.js';
8
+ export { pageStackSchema } from './page-stack.js';
9
+ export { systemInfoSchema } from './system-info.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/schemas/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Navigate schema - Navigation methods for the mini program
3
+ */
4
+ import { z } from 'zod';
5
+ export declare const navigateSchema: z.ZodObject<{
6
+ method: z.ZodEnum<["navigateTo", "redirectTo", "reLaunch", "switchTab", "navigateBack"]>;
7
+ url: z.ZodOptional<z.ZodString>;
8
+ delta: z.ZodOptional<z.ZodNumber>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ method: "navigateTo" | "redirectTo" | "reLaunch" | "switchTab" | "navigateBack";
11
+ url?: string | undefined;
12
+ delta?: number | undefined;
13
+ }, {
14
+ method: "navigateTo" | "redirectTo" | "reLaunch" | "switchTab" | "navigateBack";
15
+ url?: string | undefined;
16
+ delta?: number | undefined;
17
+ }>;
18
+ //# sourceMappingURL=navigate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/schemas/navigate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,cAAc;;;;;;;;;;;;EAgBuC,CAAA"}