@creatoria/miniapp-mcp 0.1.3 → 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 (414) hide show
  1. package/README.md +131 -66
  2. package/dist/app/cli/index.d.ts +6 -0
  3. package/dist/app/cli/index.d.ts.map +1 -0
  4. package/dist/app/cli/index.js +6 -0
  5. package/dist/app/cli/index.js.map +1 -0
  6. package/dist/app/index.d.ts +6 -0
  7. package/dist/app/index.d.ts.map +1 -0
  8. package/dist/app/index.js +6 -0
  9. package/dist/app/index.js.map +1 -0
  10. package/dist/app/server/index.d.ts +7 -0
  11. package/dist/app/server/index.d.ts.map +1 -0
  12. package/dist/app/server/index.js +6 -0
  13. package/dist/app/server/index.js.map +1 -0
  14. package/dist/capabilities/assert/handlers/assert-handlers.d.ts +98 -0
  15. package/dist/capabilities/assert/handlers/assert-handlers.d.ts.map +1 -0
  16. package/dist/capabilities/assert/handlers/assert-handlers.js +179 -0
  17. package/dist/capabilities/assert/handlers/assert-handlers.js.map +1 -0
  18. package/dist/capabilities/assert/handlers/index.d.ts +7 -0
  19. package/dist/capabilities/assert/handlers/index.d.ts.map +1 -0
  20. package/dist/capabilities/assert/handlers/index.js +7 -0
  21. package/dist/capabilities/assert/handlers/index.js.map +1 -0
  22. package/dist/capabilities/assert/index.d.ts +15 -0
  23. package/dist/capabilities/assert/index.d.ts.map +1 -0
  24. package/dist/capabilities/assert/index.js +90 -0
  25. package/dist/capabilities/assert/index.js.map +1 -0
  26. package/dist/capabilities/assert/schemas/index.d.ts +101 -0
  27. package/dist/capabilities/assert/schemas/index.d.ts.map +1 -0
  28. package/dist/capabilities/assert/schemas/index.js +62 -0
  29. package/dist/capabilities/assert/schemas/index.js.map +1 -0
  30. package/dist/capabilities/automator/handlers/close.d.ts +18 -0
  31. package/dist/capabilities/automator/handlers/close.d.ts.map +1 -0
  32. package/dist/capabilities/automator/handlers/close.js +45 -0
  33. package/dist/capabilities/automator/handlers/close.js.map +1 -0
  34. package/dist/capabilities/automator/handlers/connect.d.ts +24 -0
  35. package/dist/capabilities/automator/handlers/connect.d.ts.map +1 -0
  36. package/dist/capabilities/automator/handlers/connect.js +51 -0
  37. package/dist/capabilities/automator/handlers/connect.js.map +1 -0
  38. package/dist/capabilities/automator/handlers/disconnect.d.ts +16 -0
  39. package/dist/capabilities/automator/handlers/disconnect.d.ts.map +1 -0
  40. package/dist/capabilities/automator/handlers/disconnect.js +44 -0
  41. package/dist/capabilities/automator/handlers/disconnect.js.map +1 -0
  42. package/dist/capabilities/automator/handlers/index.d.ts +8 -0
  43. package/dist/capabilities/automator/handlers/index.d.ts.map +1 -0
  44. package/dist/capabilities/automator/handlers/index.js +8 -0
  45. package/dist/capabilities/automator/handlers/index.js.map +1 -0
  46. package/dist/capabilities/automator/handlers/launch.d.ts +25 -0
  47. package/dist/capabilities/automator/handlers/launch.d.ts.map +1 -0
  48. package/dist/capabilities/automator/handlers/launch.js +61 -0
  49. package/dist/capabilities/automator/handlers/launch.js.map +1 -0
  50. package/dist/capabilities/automator/index.d.ts +15 -0
  51. package/dist/capabilities/automator/index.d.ts.map +1 -0
  52. package/dist/capabilities/automator/index.js +55 -0
  53. package/dist/capabilities/automator/index.js.map +1 -0
  54. package/dist/capabilities/automator/schemas/close.d.ts +5 -0
  55. package/dist/capabilities/automator/schemas/close.d.ts.map +1 -0
  56. package/dist/capabilities/automator/schemas/close.js +11 -0
  57. package/dist/capabilities/automator/schemas/close.js.map +1 -0
  58. package/dist/capabilities/automator/schemas/connect.d.ts +11 -0
  59. package/dist/capabilities/automator/schemas/connect.d.ts.map +1 -0
  60. package/dist/capabilities/automator/schemas/connect.js +19 -0
  61. package/dist/capabilities/automator/schemas/connect.js.map +1 -0
  62. package/dist/capabilities/automator/schemas/disconnect.d.ts +5 -0
  63. package/dist/capabilities/automator/schemas/disconnect.d.ts.map +1 -0
  64. package/dist/capabilities/automator/schemas/disconnect.js +11 -0
  65. package/dist/capabilities/automator/schemas/disconnect.js.map +1 -0
  66. package/dist/capabilities/automator/schemas/index.d.ts +9 -0
  67. package/dist/capabilities/automator/schemas/index.d.ts.map +1 -0
  68. package/dist/capabilities/automator/schemas/index.js +14 -0
  69. package/dist/capabilities/automator/schemas/index.js.map +1 -0
  70. package/dist/capabilities/automator/schemas/launch.d.ts +17 -0
  71. package/dist/capabilities/automator/schemas/launch.d.ts.map +1 -0
  72. package/dist/capabilities/automator/schemas/launch.js +26 -0
  73. package/dist/capabilities/automator/schemas/launch.js.map +1 -0
  74. package/dist/capabilities/element/handlers/element-handlers.d.ts +212 -0
  75. package/dist/capabilities/element/handlers/element-handlers.d.ts.map +1 -0
  76. package/dist/capabilities/element/handlers/element-handlers.js +383 -0
  77. package/dist/capabilities/element/handlers/element-handlers.js.map +1 -0
  78. package/dist/capabilities/element/handlers/index.d.ts +7 -0
  79. package/dist/capabilities/element/handlers/index.d.ts.map +1 -0
  80. package/dist/capabilities/element/handlers/index.js +27 -0
  81. package/dist/capabilities/element/handlers/index.js.map +1 -0
  82. package/dist/capabilities/element/index.d.ts +20 -0
  83. package/dist/capabilities/element/index.d.ts.map +1 -0
  84. package/dist/capabilities/element/index.js +199 -0
  85. package/dist/capabilities/element/index.js.map +1 -0
  86. package/dist/capabilities/element/schemas/index.d.ts +325 -0
  87. package/dist/capabilities/element/schemas/index.d.ts.map +1 -0
  88. package/dist/capabilities/element/schemas/index.js +168 -0
  89. package/dist/capabilities/element/schemas/index.js.map +1 -0
  90. package/dist/capabilities/index.d.ts +34 -0
  91. package/dist/capabilities/index.d.ts.map +1 -0
  92. package/dist/capabilities/index.js +40 -0
  93. package/dist/capabilities/index.js.map +1 -0
  94. package/dist/capabilities/loader.d.ts +61 -0
  95. package/dist/capabilities/loader.d.ts.map +1 -0
  96. package/dist/capabilities/loader.js +164 -0
  97. package/dist/capabilities/loader.js.map +1 -0
  98. package/dist/capabilities/miniprogram/handlers/call-wx.d.ts +24 -0
  99. package/dist/capabilities/miniprogram/handlers/call-wx.d.ts.map +1 -0
  100. package/dist/capabilities/miniprogram/handlers/call-wx.js +37 -0
  101. package/dist/capabilities/miniprogram/handlers/call-wx.js.map +1 -0
  102. package/dist/capabilities/miniprogram/handlers/evaluate.d.ts +32 -0
  103. package/dist/capabilities/miniprogram/handlers/evaluate.d.ts.map +1 -0
  104. package/dist/capabilities/miniprogram/handlers/evaluate.js +51 -0
  105. package/dist/capabilities/miniprogram/handlers/evaluate.js.map +1 -0
  106. package/dist/capabilities/miniprogram/handlers/index.d.ts +12 -0
  107. package/dist/capabilities/miniprogram/handlers/index.d.ts.map +1 -0
  108. package/dist/capabilities/miniprogram/handlers/index.js +12 -0
  109. package/dist/capabilities/miniprogram/handlers/index.js.map +1 -0
  110. package/dist/capabilities/miniprogram/handlers/navigate.d.ts +26 -0
  111. package/dist/capabilities/miniprogram/handlers/navigate.d.ts.map +1 -0
  112. package/dist/capabilities/miniprogram/handlers/navigate.js +56 -0
  113. package/dist/capabilities/miniprogram/handlers/navigate.js.map +1 -0
  114. package/dist/capabilities/miniprogram/handlers/page-stack.d.ts +20 -0
  115. package/dist/capabilities/miniprogram/handlers/page-stack.d.ts.map +1 -0
  116. package/dist/capabilities/miniprogram/handlers/page-stack.js +37 -0
  117. package/dist/capabilities/miniprogram/handlers/page-stack.js.map +1 -0
  118. package/dist/capabilities/miniprogram/handlers/screenshot.d.ts +33 -0
  119. package/dist/capabilities/miniprogram/handlers/screenshot.d.ts.map +1 -0
  120. package/dist/capabilities/miniprogram/handlers/screenshot.js +132 -0
  121. package/dist/capabilities/miniprogram/handlers/screenshot.js.map +1 -0
  122. package/dist/capabilities/miniprogram/handlers/system-info.d.ts +17 -0
  123. package/dist/capabilities/miniprogram/handlers/system-info.d.ts.map +1 -0
  124. package/dist/capabilities/miniprogram/handlers/system-info.js +31 -0
  125. package/dist/capabilities/miniprogram/handlers/system-info.js.map +1 -0
  126. package/dist/capabilities/miniprogram/index.d.ts +15 -0
  127. package/dist/capabilities/miniprogram/index.d.ts.map +1 -0
  128. package/dist/capabilities/miniprogram/index.js +69 -0
  129. package/dist/capabilities/miniprogram/index.js.map +1 -0
  130. package/dist/capabilities/miniprogram/schemas/call-wx.d.ts +15 -0
  131. package/dist/capabilities/miniprogram/schemas/call-wx.d.ts.map +1 -0
  132. package/dist/capabilities/miniprogram/schemas/call-wx.js +11 -0
  133. package/dist/capabilities/miniprogram/schemas/call-wx.js.map +1 -0
  134. package/dist/capabilities/miniprogram/schemas/evaluate.d.ts +15 -0
  135. package/dist/capabilities/miniprogram/schemas/evaluate.d.ts.map +1 -0
  136. package/dist/capabilities/miniprogram/schemas/evaluate.js +11 -0
  137. package/dist/capabilities/miniprogram/schemas/evaluate.js.map +1 -0
  138. package/dist/capabilities/miniprogram/schemas/index.d.ts +10 -0
  139. package/dist/capabilities/miniprogram/schemas/index.d.ts.map +1 -0
  140. package/dist/capabilities/miniprogram/schemas/index.js +10 -0
  141. package/dist/capabilities/miniprogram/schemas/index.js.map +1 -0
  142. package/dist/capabilities/miniprogram/schemas/navigate.d.ts +18 -0
  143. package/dist/capabilities/miniprogram/schemas/navigate.d.ts.map +1 -0
  144. package/dist/capabilities/miniprogram/schemas/navigate.js +22 -0
  145. package/dist/capabilities/miniprogram/schemas/navigate.js.map +1 -0
  146. package/dist/capabilities/miniprogram/schemas/page-stack.d.ts +6 -0
  147. package/dist/capabilities/miniprogram/schemas/page-stack.d.ts.map +1 -0
  148. package/dist/capabilities/miniprogram/schemas/page-stack.js +6 -0
  149. package/dist/capabilities/miniprogram/schemas/page-stack.js.map +1 -0
  150. package/dist/capabilities/miniprogram/schemas/screenshot.d.ts +18 -0
  151. package/dist/capabilities/miniprogram/schemas/screenshot.d.ts.map +1 -0
  152. package/dist/capabilities/miniprogram/schemas/screenshot.js +21 -0
  153. package/dist/capabilities/miniprogram/schemas/screenshot.js.map +1 -0
  154. package/dist/capabilities/miniprogram/schemas/system-info.d.ts +6 -0
  155. package/dist/capabilities/miniprogram/schemas/system-info.d.ts.map +1 -0
  156. package/dist/capabilities/miniprogram/schemas/system-info.js +6 -0
  157. package/dist/capabilities/miniprogram/schemas/system-info.js.map +1 -0
  158. package/dist/capabilities/network/handlers/index.d.ts +7 -0
  159. package/dist/capabilities/network/handlers/index.d.ts.map +1 -0
  160. package/dist/capabilities/network/handlers/index.js +7 -0
  161. package/dist/capabilities/network/handlers/index.js.map +1 -0
  162. package/dist/capabilities/network/handlers/network-handlers.d.ts +53 -0
  163. package/dist/capabilities/network/handlers/network-handlers.d.ts.map +1 -0
  164. package/dist/capabilities/network/handlers/network-handlers.js +127 -0
  165. package/dist/capabilities/network/handlers/network-handlers.js.map +1 -0
  166. package/dist/capabilities/network/index.d.ts +15 -0
  167. package/dist/capabilities/network/index.d.ts.map +1 -0
  168. package/dist/capabilities/network/index.js +69 -0
  169. package/dist/capabilities/network/index.js.map +1 -0
  170. package/dist/capabilities/network/schemas/index.d.ts +53 -0
  171. package/dist/capabilities/network/schemas/index.d.ts.map +1 -0
  172. package/dist/capabilities/network/schemas/index.js +33 -0
  173. package/dist/capabilities/network/schemas/index.js.map +1 -0
  174. package/dist/capabilities/page/handlers/index.d.ts +7 -0
  175. package/dist/capabilities/page/handlers/index.d.ts.map +1 -0
  176. package/dist/capabilities/page/handlers/index.js +7 -0
  177. package/dist/capabilities/page/handlers/index.js.map +1 -0
  178. package/dist/capabilities/page/handlers/page-handlers.d.ts +165 -0
  179. package/dist/capabilities/page/handlers/page-handlers.d.ts.map +1 -0
  180. package/dist/capabilities/page/handlers/page-handlers.js +258 -0
  181. package/dist/capabilities/page/handlers/page-handlers.js.map +1 -0
  182. package/dist/capabilities/page/index.d.ts +15 -0
  183. package/dist/capabilities/page/index.d.ts.map +1 -0
  184. package/dist/capabilities/page/index.js +83 -0
  185. package/dist/capabilities/page/index.js.map +1 -0
  186. package/dist/capabilities/page/schemas/index.d.ts +91 -0
  187. package/dist/capabilities/page/schemas/index.d.ts.map +1 -0
  188. package/dist/capabilities/page/schemas/index.js +55 -0
  189. package/dist/capabilities/page/schemas/index.js.map +1 -0
  190. package/dist/capabilities/record/handlers/index.d.ts +7 -0
  191. package/dist/capabilities/record/handlers/index.d.ts.map +1 -0
  192. package/dist/capabilities/record/handlers/index.js +7 -0
  193. package/dist/capabilities/record/handlers/index.js.map +1 -0
  194. package/dist/capabilities/record/handlers/record-handlers.d.ts +76 -0
  195. package/dist/capabilities/record/handlers/record-handlers.d.ts.map +1 -0
  196. package/dist/capabilities/record/handlers/record-handlers.js +255 -0
  197. package/dist/capabilities/record/handlers/record-handlers.js.map +1 -0
  198. package/dist/capabilities/record/index.d.ts +15 -0
  199. package/dist/capabilities/record/index.d.ts.map +1 -0
  200. package/dist/capabilities/record/index.js +69 -0
  201. package/dist/capabilities/record/index.js.map +1 -0
  202. package/dist/capabilities/record/schemas/index.d.ts +47 -0
  203. package/dist/capabilities/record/schemas/index.d.ts.map +1 -0
  204. package/dist/capabilities/record/schemas/index.js +33 -0
  205. package/dist/capabilities/record/schemas/index.js.map +1 -0
  206. package/dist/capabilities/registry.d.ts +138 -0
  207. package/dist/capabilities/registry.d.ts.map +1 -0
  208. package/dist/capabilities/registry.js +261 -0
  209. package/dist/capabilities/registry.js.map +1 -0
  210. package/dist/capabilities/schema-registry.d.ts +4 -0
  211. package/dist/capabilities/schema-registry.d.ts.map +1 -0
  212. package/dist/capabilities/schema-registry.js +18 -0
  213. package/dist/capabilities/schema-registry.js.map +1 -0
  214. package/dist/capabilities/schema-types.d.ts +22 -0
  215. package/dist/capabilities/schema-types.d.ts.map +1 -0
  216. package/dist/capabilities/schema-types.js +2 -0
  217. package/dist/capabilities/schema-types.js.map +1 -0
  218. package/dist/capabilities/snapshot/handlers/index.d.ts +7 -0
  219. package/dist/capabilities/snapshot/handlers/index.d.ts.map +1 -0
  220. package/dist/capabilities/snapshot/handlers/index.js +7 -0
  221. package/dist/capabilities/snapshot/handlers/index.js.map +1 -0
  222. package/dist/capabilities/snapshot/handlers/snapshot-handlers.d.ts +75 -0
  223. package/dist/capabilities/snapshot/handlers/snapshot-handlers.d.ts.map +1 -0
  224. package/dist/capabilities/snapshot/handlers/snapshot-handlers.js +201 -0
  225. package/dist/capabilities/snapshot/handlers/snapshot-handlers.js.map +1 -0
  226. package/dist/capabilities/snapshot/index.d.ts +15 -0
  227. package/dist/capabilities/snapshot/index.d.ts.map +1 -0
  228. package/dist/capabilities/snapshot/index.js +48 -0
  229. package/dist/capabilities/snapshot/index.js.map +1 -0
  230. package/dist/capabilities/snapshot/schemas/index.d.ts +47 -0
  231. package/dist/capabilities/snapshot/schemas/index.d.ts.map +1 -0
  232. package/dist/capabilities/snapshot/schemas/index.js +28 -0
  233. package/dist/capabilities/snapshot/schemas/index.js.map +1 -0
  234. package/dist/config/loader.js +1 -1
  235. package/dist/config/loader.js.map +1 -1
  236. package/dist/core/element-ref.d.ts +1 -43
  237. package/dist/core/element-ref.d.ts.map +1 -1
  238. package/dist/core/element-ref.js +1 -212
  239. package/dist/core/element-ref.js.map +1 -1
  240. package/dist/core/logger.d.ts +1 -54
  241. package/dist/core/logger.d.ts.map +1 -1
  242. package/dist/core/logger.js +1 -377
  243. package/dist/core/logger.js.map +1 -1
  244. package/dist/core/output.d.ts +1 -20
  245. package/dist/core/output.d.ts.map +1 -1
  246. package/dist/core/output.js +1 -55
  247. package/dist/core/output.js.map +1 -1
  248. package/dist/core/report-generator.d.ts +1 -23
  249. package/dist/core/report-generator.d.ts.map +1 -1
  250. package/dist/core/report-generator.js +1 -211
  251. package/dist/core/report-generator.js.map +1 -1
  252. package/dist/core/session.d.ts +2 -82
  253. package/dist/core/session.d.ts.map +1 -1
  254. package/dist/core/session.js +2 -305
  255. package/dist/core/session.js.map +1 -1
  256. package/dist/core/timeout.d.ts +1 -48
  257. package/dist/core/timeout.d.ts.map +1 -1
  258. package/dist/core/timeout.js +1 -66
  259. package/dist/core/timeout.js.map +1 -1
  260. package/dist/core/tool-logger.d.ts +1 -82
  261. package/dist/core/tool-logger.d.ts.map +1 -1
  262. package/dist/core/tool-logger.js +1 -452
  263. package/dist/core/tool-logger.js.map +1 -1
  264. package/dist/core/validation.d.ts +1 -38
  265. package/dist/core/validation.d.ts.map +1 -1
  266. package/dist/core/validation.js +1 -92
  267. package/dist/core/validation.js.map +1 -1
  268. package/dist/runtime/element/element-ref.d.ts +44 -0
  269. package/dist/runtime/element/element-ref.d.ts.map +1 -0
  270. package/dist/runtime/element/element-ref.js +214 -0
  271. package/dist/runtime/element/element-ref.js.map +1 -0
  272. package/dist/runtime/element/index.d.ts +2 -0
  273. package/dist/runtime/element/index.d.ts.map +1 -0
  274. package/dist/runtime/element/index.js +2 -0
  275. package/dist/runtime/element/index.js.map +1 -0
  276. package/dist/runtime/index.d.ts +11 -0
  277. package/dist/runtime/index.d.ts.map +1 -0
  278. package/dist/runtime/index.js +11 -0
  279. package/dist/runtime/index.js.map +1 -0
  280. package/dist/runtime/logging/index.d.ts +3 -0
  281. package/dist/runtime/logging/index.d.ts.map +1 -0
  282. package/dist/runtime/logging/index.js +3 -0
  283. package/dist/runtime/logging/index.js.map +1 -0
  284. package/dist/runtime/logging/logger.d.ts +55 -0
  285. package/dist/runtime/logging/logger.d.ts.map +1 -0
  286. package/dist/runtime/logging/logger.js +379 -0
  287. package/dist/runtime/logging/logger.js.map +1 -0
  288. package/dist/runtime/logging/tool-logger.d.ts +83 -0
  289. package/dist/runtime/logging/tool-logger.d.ts.map +1 -0
  290. package/dist/runtime/logging/tool-logger.js +454 -0
  291. package/dist/runtime/logging/tool-logger.js.map +1 -0
  292. package/dist/runtime/outputs/index.d.ts +3 -0
  293. package/dist/runtime/outputs/index.d.ts.map +1 -0
  294. package/dist/runtime/outputs/index.js +3 -0
  295. package/dist/runtime/outputs/index.js.map +1 -0
  296. package/dist/runtime/outputs/output-manager.d.ts +12 -0
  297. package/dist/runtime/outputs/output-manager.d.ts.map +1 -0
  298. package/dist/runtime/outputs/output-manager.js +39 -0
  299. package/dist/runtime/outputs/output-manager.js.map +1 -0
  300. package/dist/runtime/outputs/report-generator.d.ts +5 -0
  301. package/dist/runtime/outputs/report-generator.d.ts.map +1 -0
  302. package/dist/runtime/outputs/report-generator.js +175 -0
  303. package/dist/runtime/outputs/report-generator.js.map +1 -0
  304. package/dist/runtime/retry/index.d.ts +5 -0
  305. package/dist/runtime/retry/index.d.ts.map +1 -0
  306. package/dist/runtime/retry/index.js +5 -0
  307. package/dist/runtime/retry/index.js.map +1 -0
  308. package/dist/runtime/retry/retry.d.ts +61 -0
  309. package/dist/runtime/retry/retry.d.ts.map +1 -0
  310. package/dist/runtime/retry/retry.js +90 -0
  311. package/dist/runtime/retry/retry.js.map +1 -0
  312. package/dist/runtime/session/index.d.ts +3 -0
  313. package/dist/runtime/session/index.d.ts.map +1 -0
  314. package/dist/runtime/session/index.js +3 -0
  315. package/dist/runtime/session/index.js.map +1 -0
  316. package/dist/runtime/session/store.d.ts +28 -0
  317. package/dist/runtime/session/store.d.ts.map +1 -0
  318. package/dist/runtime/session/store.js +154 -0
  319. package/dist/runtime/session/store.js.map +1 -0
  320. package/dist/runtime/session/utils/cleanup.d.ts +3 -0
  321. package/dist/runtime/session/utils/cleanup.d.ts.map +1 -0
  322. package/dist/runtime/session/utils/cleanup.js +78 -0
  323. package/dist/runtime/session/utils/cleanup.js.map +1 -0
  324. package/dist/runtime/timeout/index.d.ts +2 -0
  325. package/dist/runtime/timeout/index.d.ts.map +1 -0
  326. package/dist/runtime/timeout/index.js +2 -0
  327. package/dist/runtime/timeout/index.js.map +1 -0
  328. package/dist/runtime/timeout/timeout.d.ts +59 -0
  329. package/dist/runtime/timeout/timeout.d.ts.map +1 -0
  330. package/dist/runtime/timeout/timeout.js +77 -0
  331. package/dist/runtime/timeout/timeout.js.map +1 -0
  332. package/dist/runtime/validation/index.d.ts +2 -0
  333. package/dist/runtime/validation/index.d.ts.map +1 -0
  334. package/dist/runtime/validation/index.js +2 -0
  335. package/dist/runtime/validation/index.js.map +1 -0
  336. package/dist/runtime/validation/validation.d.ts +39 -0
  337. package/dist/runtime/validation/validation.d.ts.map +1 -0
  338. package/dist/runtime/validation/validation.js +93 -0
  339. package/dist/runtime/validation/validation.js.map +1 -0
  340. package/dist/schemas/automator/miniprogram_close.json +12 -0
  341. package/dist/schemas/automator/miniprogram_connect.json +19 -0
  342. package/dist/schemas/automator/miniprogram_disconnect.json +12 -0
  343. package/dist/schemas/automator/miniprogram_launch.json +30 -0
  344. package/dist/server.js +5 -5
  345. package/dist/server.js.map +1 -1
  346. package/dist/tools/index.d.ts.map +1 -1
  347. package/dist/tools/index.js +8 -4
  348. package/dist/tools/index.js.map +1 -1
  349. package/dist/tools/miniprogram.d.ts +11 -2
  350. package/dist/tools/miniprogram.d.ts.map +1 -1
  351. package/dist/tools/miniprogram.js +111 -41
  352. package/dist/tools/miniprogram.js.map +1 -1
  353. package/dist/tools/page.js +2 -2
  354. package/dist/tools/page.js.map +1 -1
  355. package/docs/current/01-architecture-migration.md +337 -0
  356. package/docs/current/02-screenshot-timeout-fix.md +589 -0
  357. package/docs/current/README.md +226 -0
  358. package/docs/directory-structure-and-code-style-best-practices.md +91 -0
  359. package/docs/migration/README.md +34 -0
  360. package/docs/migration/TC-ALIGN-01-notes.md +35 -0
  361. package/docs/migration/runtime-skeleton.md +50 -0
  362. package/docs/migration/tool-schema-strategy.md +75 -0
  363. package/docs//345/256/214/346/225/264/345/256/236/347/216/260/346/226/271/346/241/210.md +14 -14
  364. package/docs//347/254/254/344/270/200/347/211/210/346/234/254/346/226/271/346/241/210.md +7 -7
  365. package/package.json +4 -2
  366. package/docs/SIMPLE_USAGE.md +0 -210
  367. package/docs/architecture.E-Docs.md +0 -1359
  368. package/docs/architecture.F1.md +0 -720
  369. package/docs/architecture.F2.md +0 -871
  370. package/docs/architecture.F3.md +0 -905
  371. package/docs/architecture.md +0 -90
  372. package/docs/charter.A1.align.yaml +0 -170
  373. package/docs/charter.A2.align.yaml +0 -199
  374. package/docs/charter.A3.align.yaml +0 -242
  375. package/docs/charter.A4.align.yaml +0 -227
  376. package/docs/charter.B1.align.yaml +0 -179
  377. package/docs/charter.B2.align.yaml +0 -200
  378. package/docs/charter.B3.align.yaml +0 -200
  379. package/docs/charter.B4.align.yaml +0 -188
  380. package/docs/charter.C1.align.yaml +0 -190
  381. package/docs/charter.C2.align.yaml +0 -202
  382. package/docs/charter.C3.align.yaml +0 -211
  383. package/docs/charter.C4.align.yaml +0 -263
  384. package/docs/charter.C5.align.yaml +0 -220
  385. package/docs/charter.D1.align.yaml +0 -190
  386. package/docs/charter.D2.align.yaml +0 -234
  387. package/docs/charter.D3.align.yaml +0 -206
  388. package/docs/charter.E-Docs.align.yaml +0 -294
  389. package/docs/charter.F1.align.yaml +0 -193
  390. package/docs/charter.F2.align.yaml +0 -248
  391. package/docs/charter.F3.align.yaml +0 -287
  392. package/docs/charter.G.align.yaml +0 -174
  393. package/docs/charter.align.yaml +0 -111
  394. package/docs/maintenance.md +0 -682
  395. package/docs/playwright-mcp/350/260/203/347/240/224.md +0 -53
  396. package/docs/setup-guide.md +0 -775
  397. package/docs/tasks.A1.atomize.md +0 -296
  398. package/docs/tasks.A2.atomize.md +0 -408
  399. package/docs/tasks.A3.atomize.md +0 -564
  400. package/docs/tasks.A4.atomize.md +0 -496
  401. package/docs/tasks.B1.atomize.md +0 -352
  402. package/docs/tasks.B2.atomize.md +0 -561
  403. package/docs/tasks.B3.atomize.md +0 -508
  404. package/docs/tasks.B4.atomize.md +0 -504
  405. package/docs/tasks.C1.atomize.md +0 -540
  406. package/docs/tasks.C2.atomize.md +0 -665
  407. package/docs/tasks.C3.atomize.md +0 -745
  408. package/docs/tasks.C4.atomize.md +0 -908
  409. package/docs/tasks.C5.atomize.md +0 -755
  410. package/docs/tasks.D1.atomize.md +0 -547
  411. package/docs/tasks.D2.atomize.md +0 -619
  412. package/docs/tasks.D3.atomize.md +0 -790
  413. package/docs/tasks.E-Docs.atomize.md +0 -1204
  414. package/docs/tasks.atomize.md +0 -189
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/capabilities/element/schemas/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Capabilities Module - New Architecture Entry Point
3
+ *
4
+ * Each capability (automator, miniprogram, page, element, etc.) is a self-contained module:
5
+ * - schemas/: Zod schema definitions for tool inputs
6
+ * - handlers/: Handler implementations
7
+ * - index.ts: CapabilityModule export with tools array
8
+ *
9
+ * The ToolRegistry provides centralized tool management and the loader
10
+ * dynamically loads and registers capabilities with the MCP server.
11
+ */
12
+ export { ToolRegistry, globalRegistry } from './registry.js';
13
+ export type { ToolHandler, ToolDefinition, CapabilityModule } from './registry.js';
14
+ export { loadCapability, loadCapabilities, registerCapabilitiesWithServer, setupCapabilities, SUPPORTED_CAPABILITIES, } from './loader.js';
15
+ export type { LoaderOptions, CapabilityName } from './loader.js';
16
+ export { capability as automatorCapability } from './automator/index.js';
17
+ export { capability as miniprogramCapability } from './miniprogram/index.js';
18
+ export { capability as pageCapability } from './page/index.js';
19
+ export { capability as elementCapability } from './element/index.js';
20
+ export { capability as assertCapability } from './assert/index.js';
21
+ export { capability as snapshotCapability } from './snapshot/index.js';
22
+ export { capability as recordCapability } from './record/index.js';
23
+ export { capability as networkCapability } from './network/index.js';
24
+ export type { ToolSchemaDefinition, ToolSchemaRegistry, ToolSchemaLookupResult } from './schema-types.js';
25
+ export { getToolSchema, listToolSchemas } from './schema-registry.js';
26
+ export * as automator from './automator/index.js';
27
+ export * as miniprogram from './miniprogram/index.js';
28
+ export * as page from './page/index.js';
29
+ export * as element from './element/index.js';
30
+ export * as assert from './assert/index.js';
31
+ export * as snapshot from './snapshot/index.js';
32
+ export * as record from './record/index.js';
33
+ export * as network from './network/index.js';
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC5D,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAClF,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,8BAA8B,EAC9B,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAMhE,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,UAAU,IAAI,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACpE,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAMpE,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AACzG,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAMrE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Capabilities Module - New Architecture Entry Point
3
+ *
4
+ * Each capability (automator, miniprogram, page, element, etc.) is a self-contained module:
5
+ * - schemas/: Zod schema definitions for tool inputs
6
+ * - handlers/: Handler implementations
7
+ * - index.ts: CapabilityModule export with tools array
8
+ *
9
+ * The ToolRegistry provides centralized tool management and the loader
10
+ * dynamically loads and registers capabilities with the MCP server.
11
+ */
12
+ // ============================================================================
13
+ // Registry and Loader
14
+ // ============================================================================
15
+ export { ToolRegistry, globalRegistry } from './registry.js';
16
+ export { loadCapability, loadCapabilities, registerCapabilitiesWithServer, setupCapabilities, SUPPORTED_CAPABILITIES, } from './loader.js';
17
+ // ============================================================================
18
+ // Capability Modules
19
+ // ============================================================================
20
+ export { capability as automatorCapability } from './automator/index.js';
21
+ export { capability as miniprogramCapability } from './miniprogram/index.js';
22
+ export { capability as pageCapability } from './page/index.js';
23
+ export { capability as elementCapability } from './element/index.js';
24
+ export { capability as assertCapability } from './assert/index.js';
25
+ export { capability as snapshotCapability } from './snapshot/index.js';
26
+ export { capability as recordCapability } from './record/index.js';
27
+ export { capability as networkCapability } from './network/index.js';
28
+ export { getToolSchema, listToolSchemas } from './schema-registry.js';
29
+ // ============================================================================
30
+ // Capability Namespaces (for accessing individual capability exports)
31
+ // ============================================================================
32
+ export * as automator from './automator/index.js';
33
+ export * as miniprogram from './miniprogram/index.js';
34
+ export * as page from './page/index.js';
35
+ export * as element from './element/index.js';
36
+ export * as assert from './assert/index.js';
37
+ export * as snapshot from './snapshot/index.js';
38
+ export * as record from './record/index.js';
39
+ export * as network from './network/index.js';
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE5D,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,8BAA8B,EAC9B,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,aAAa,CAAA;AAGpB,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,UAAU,IAAI,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACpE,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAOpE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAErE,+EAA+E;AAC/E,sEAAsE;AACtE,+EAA+E;AAE/E,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Capability Loader for Dynamic Tool Registration
3
+ *
4
+ * Provides functions to load and register capabilities dynamically.
5
+ * Each capability module exports a CapabilityModule that can be loaded.
6
+ */
7
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
8
+ import { type Tool } from '@modelcontextprotocol/sdk/types.js';
9
+ import type { SessionState } from '../types.js';
10
+ import { ToolRegistry, type CapabilityModule } from './registry.js';
11
+ /**
12
+ * Options for loading and registering capabilities
13
+ */
14
+ export interface LoaderOptions {
15
+ /** List of capability names to load */
16
+ capabilities: string[];
17
+ /** Session ID for this server instance */
18
+ sessionId: string;
19
+ /** Function to get or create a session */
20
+ getSession: (sessionId: string) => SessionState;
21
+ /** Optional function to delete a session */
22
+ deleteSession?: (sessionId: string) => Promise<void>;
23
+ }
24
+ /**
25
+ * Supported capability names
26
+ */
27
+ export declare const SUPPORTED_CAPABILITIES: readonly ["core", "automator", "miniprogram", "page", "element", "assert", "snapshot", "record", "network"];
28
+ export type CapabilityName = (typeof SUPPORTED_CAPABILITIES)[number];
29
+ /**
30
+ * Load a single capability module by name
31
+ */
32
+ export declare function loadCapability(name: string): Promise<CapabilityModule | null>;
33
+ /**
34
+ * Load multiple capabilities and register them in the registry
35
+ */
36
+ export declare function loadCapabilities(registry: ToolRegistry, capabilityNames: string[]): Promise<void>;
37
+ /**
38
+ * Register tools with MCP server using the new registry
39
+ *
40
+ * This is a drop-in replacement for the old registerTools function
41
+ * from tools/index.ts, but uses the new capability-based architecture.
42
+ */
43
+ export declare function registerCapabilitiesWithServer(server: Server, registry: ToolRegistry, options: LoaderOptions): Tool[];
44
+ /**
45
+ * High-level function to set up capabilities for an MCP server
46
+ *
47
+ * Usage:
48
+ * ```typescript
49
+ * const tools = await setupCapabilities(server, {
50
+ * capabilities: ['core'],
51
+ * sessionId: 'session-123',
52
+ * getSession: (id) => sessionStore.getOrCreate(id),
53
+ * deleteSession: (id) => sessionStore.delete(id),
54
+ * })
55
+ * ```
56
+ */
57
+ export declare function setupCapabilities(server: Server, options: LoaderOptions): Promise<{
58
+ registry: ToolRegistry;
59
+ tools: Tool[];
60
+ }>;
61
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/capabilities/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAClE,OAAO,EAAyB,KAAK,IAAI,EAAE,MAAM,oCAAoC,CAAA;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAoB,MAAM,eAAe,CAAA;AAGrF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uCAAuC;IACvC,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB,0CAA0C;IAC1C,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,YAAY,CAAA;IAC/C,4CAA4C;IAC5C,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACrD;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,6GAUzB,CAAA;AAEV,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpE;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAsBnF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,YAAY,EACtB,eAAe,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,aAAa,GACrB,IAAI,EAAE,CA0ER;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC;IAAE,QAAQ,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,IAAI,EAAE,CAAA;CAAE,CAAC,CAkBpD"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Capability Loader for Dynamic Tool Registration
3
+ *
4
+ * Provides functions to load and register capabilities dynamically.
5
+ * Each capability module exports a CapabilityModule that can be loaded.
6
+ */
7
+ import { CallToolRequestSchema } from '@modelcontextprotocol/sdk/types.js';
8
+ import { ToolRegistry } from './registry.js';
9
+ import { ToolLogger } from '../runtime/logging/tool-logger.js';
10
+ /**
11
+ * Supported capability names
12
+ */
13
+ export const SUPPORTED_CAPABILITIES = [
14
+ 'core', // All tools (default)
15
+ 'automator', // Connection and lifecycle
16
+ 'miniprogram', // MiniProgram-level operations
17
+ 'page', // Page-level operations
18
+ 'element', // Element interactions
19
+ 'assert', // Testing and verification
20
+ 'snapshot', // State capture
21
+ 'record', // Recording and replay
22
+ 'network', // Network mocking
23
+ ];
24
+ /**
25
+ * Load a single capability module by name
26
+ */
27
+ export async function loadCapability(name) {
28
+ try {
29
+ // Dynamic import based on capability name
30
+ const module = await import(`./${name}/index.js`);
31
+ // Expect module to export a 'capability' object
32
+ if (module.capability && typeof module.capability === 'object') {
33
+ return module.capability;
34
+ }
35
+ // Fallback: check for default export
36
+ if (module.default && typeof module.default === 'object') {
37
+ return module.default;
38
+ }
39
+ console.error(`Capability ${name} does not export a valid capability module`);
40
+ return null;
41
+ }
42
+ catch (error) {
43
+ // Capability not found or failed to load
44
+ console.error(`Failed to load capability ${name}:`, error);
45
+ return null;
46
+ }
47
+ }
48
+ /**
49
+ * Load multiple capabilities and register them in the registry
50
+ */
51
+ export async function loadCapabilities(registry, capabilityNames) {
52
+ // If 'core' is specified, load all capabilities
53
+ const namesToLoad = capabilityNames.includes('core')
54
+ ? SUPPORTED_CAPABILITIES.filter((c) => c !== 'core')
55
+ : capabilityNames;
56
+ for (const name of namesToLoad) {
57
+ const capability = await loadCapability(name);
58
+ if (capability) {
59
+ registry.registerCapability(capability);
60
+ }
61
+ }
62
+ }
63
+ /**
64
+ * Register tools with MCP server using the new registry
65
+ *
66
+ * This is a drop-in replacement for the old registerTools function
67
+ * from tools/index.ts, but uses the new capability-based architecture.
68
+ */
69
+ export function registerCapabilitiesWithServer(server, registry, options) {
70
+ const { capabilities, sessionId, getSession, deleteSession } = options;
71
+ // Get tools and handlers for the specified capabilities
72
+ const tools = registry.toMCPToolsForCapabilities(capabilities);
73
+ const handlers = registry.getHandlersForCapabilities(capabilities);
74
+ // Log registration stats
75
+ const stats = registry.getStats();
76
+ console.error(`Registering ${tools.length} tools (capabilities: ${capabilities.join(', ')}):`);
77
+ for (const [cap, count] of Object.entries(stats.byCapability)) {
78
+ if (capabilities.includes('core') || capabilities.includes(cap)) {
79
+ console.error(` - ${cap}: ${count}`);
80
+ }
81
+ }
82
+ // Register CallToolRequest handler
83
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
84
+ const { name, arguments: args } = request.params;
85
+ // Get session using the unique session ID for this server instance
86
+ const session = getSession(sessionId);
87
+ try {
88
+ // Get handler for this tool
89
+ const handler = handlers.get(name);
90
+ if (!handler) {
91
+ throw new Error(`Unknown tool: ${name}`);
92
+ }
93
+ // Wrap handler with automatic logging if logger is available
94
+ let wrappedHandler = handler;
95
+ if (session.logger) {
96
+ const toolLogger = new ToolLogger(session.logger, session.loggerConfig);
97
+ wrappedHandler = toolLogger.wrap(name, handler);
98
+ }
99
+ // Execute handler
100
+ const result = await wrappedHandler(session, args);
101
+ // Handle session deletion for close tool
102
+ if (name === 'miniprogram_close' && deleteSession) {
103
+ try {
104
+ await deleteSession(sessionId);
105
+ console.error(`Session ${sessionId} deleted after close`);
106
+ }
107
+ catch (error) {
108
+ console.error(`Failed to delete session ${sessionId} after close:`, error);
109
+ }
110
+ }
111
+ // Return formatted response
112
+ return {
113
+ content: [
114
+ {
115
+ type: 'text',
116
+ text: JSON.stringify(result, null, 2),
117
+ },
118
+ ],
119
+ };
120
+ }
121
+ catch (error) {
122
+ const errorMessage = error instanceof Error ? error.message : String(error);
123
+ return {
124
+ content: [
125
+ {
126
+ type: 'text',
127
+ text: `Error executing tool ${name}: ${errorMessage}`,
128
+ },
129
+ ],
130
+ isError: true,
131
+ };
132
+ }
133
+ });
134
+ return tools;
135
+ }
136
+ /**
137
+ * High-level function to set up capabilities for an MCP server
138
+ *
139
+ * Usage:
140
+ * ```typescript
141
+ * const tools = await setupCapabilities(server, {
142
+ * capabilities: ['core'],
143
+ * sessionId: 'session-123',
144
+ * getSession: (id) => sessionStore.getOrCreate(id),
145
+ * deleteSession: (id) => sessionStore.delete(id),
146
+ * })
147
+ * ```
148
+ */
149
+ export async function setupCapabilities(server, options) {
150
+ const registry = new ToolRegistry();
151
+ // Load all requested capabilities
152
+ await loadCapabilities(registry, options.capabilities);
153
+ // Validate registration
154
+ const validation = registry.validate();
155
+ if (!validation.valid) {
156
+ console.error('Tool registration validation failed:');
157
+ validation.errors.forEach((err) => console.error(` - ${err}`));
158
+ throw new Error('Tool registration validation failed');
159
+ }
160
+ // Register with server
161
+ const tools = registerCapabilitiesWithServer(server, registry, options);
162
+ return { registry, tools };
163
+ }
164
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/capabilities/loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * CallWx handler - Call WeChat API methods (wx.*)
3
+ */
4
+ import type { SessionState } from '../../../types.js';
5
+ /**
6
+ * CallWx input arguments
7
+ */
8
+ export interface CallWxArgs {
9
+ method: string;
10
+ args?: any[];
11
+ }
12
+ /**
13
+ * CallWx result
14
+ */
15
+ export interface CallWxResult {
16
+ success: boolean;
17
+ message: string;
18
+ result?: any;
19
+ }
20
+ /**
21
+ * Call a WeChat API method (wx.*)
22
+ */
23
+ export declare function callWx(session: SessionState, args: CallWxArgs): Promise<CallWxResult>;
24
+ //# sourceMappingURL=call-wx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-wx.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/call-wx.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,GAAG,CAAA;CACb;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAwC3F"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * CallWx handler - Call WeChat API methods (wx.*)
3
+ */
4
+ import { withTimeout, getTimeout, DEFAULT_TIMEOUTS } from '../../../runtime/timeout/timeout.js';
5
+ /**
6
+ * Call a WeChat API method (wx.*)
7
+ */
8
+ export async function callWx(session, args) {
9
+ const { method, args: wxArgs = [] } = args;
10
+ const logger = session.logger;
11
+ try {
12
+ if (!session.miniProgram) {
13
+ throw new Error('MiniProgram not connected. Call miniprogram_launch or miniprogram_connect first.');
14
+ }
15
+ logger?.info(`Calling wx.${method}`, { args: wxArgs });
16
+ // Get timeout for wx API calls
17
+ const timeoutMs = getTimeout(session.config?.timeout, DEFAULT_TIMEOUTS.callWx);
18
+ // Call WX API method with timeout protection
19
+ const result = await withTimeout(session.miniProgram.callWxMethod(method, ...wxArgs), timeoutMs, `wx.${method} call`);
20
+ logger?.info(`wx.${method} call successful`, { result });
21
+ return {
22
+ success: true,
23
+ message: `Successfully called wx.${method}`,
24
+ result,
25
+ };
26
+ }
27
+ catch (error) {
28
+ const errorMessage = error instanceof Error ? error.message : String(error);
29
+ logger?.error(`wx.${method} call failed`, {
30
+ error: errorMessage,
31
+ method,
32
+ args: wxArgs,
33
+ });
34
+ throw new Error(`wx.${method} call failed: ${errorMessage}`);
35
+ }
36
+ }
37
+ //# sourceMappingURL=call-wx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-wx.js","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/call-wx.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAmB/F;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAqB,EAAE,IAAgB;IAClE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,IAAI,CAAA;IAC1C,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,cAAc,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;QAEtD,+BAA+B;QAC/B,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAE9E,6CAA6C;QAC7C,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,EACnD,SAAS,EACT,MAAM,MAAM,OAAO,CACpB,CAAA;QAED,MAAM,EAAE,IAAI,CAAC,MAAM,MAAM,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAExD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,0BAA0B,MAAM,EAAE;YAC3C,MAAM;SACP,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,MAAM,MAAM,cAAc,EAAE;YACxC,KAAK,EAAE,YAAY;YACnB,MAAM;YACN,IAAI,EAAE,MAAM;SACb,CAAC,CAAA;QAEF,MAAM,IAAI,KAAK,CAAC,MAAM,MAAM,iBAAiB,YAAY,EAAE,CAAC,CAAA;IAC9D,CAAC;AACH,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Evaluate handler - Execute JavaScript in mini program context
3
+ *
4
+ * ⚠️ SECURITY WARNING:
5
+ * This tool executes arbitrary JavaScript code in the mini program context.
6
+ * Use with caution:
7
+ * - All evaluations are logged for audit
8
+ * - Evaluations are limited by timeout (default: 5s)
9
+ * - Consider restricting this tool in production environments
10
+ * - Never pass untrusted user input directly to this function
11
+ */
12
+ import type { SessionState } from '../../../types.js';
13
+ /**
14
+ * Evaluate input arguments
15
+ */
16
+ export interface EvaluateArgs {
17
+ expression: string;
18
+ args?: any[];
19
+ }
20
+ /**
21
+ * Evaluate result
22
+ */
23
+ export interface EvaluateResult {
24
+ success: boolean;
25
+ message: string;
26
+ result?: any;
27
+ }
28
+ /**
29
+ * Evaluate JavaScript code in the mini program context
30
+ */
31
+ export declare function evaluate(session: SessionState, args: EvaluateArgs): Promise<EvaluateResult>;
32
+ //# sourceMappingURL=evaluate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,GAAG,CAAA;CACb;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CA+CjG"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Evaluate handler - Execute JavaScript in mini program context
3
+ *
4
+ * ⚠️ SECURITY WARNING:
5
+ * This tool executes arbitrary JavaScript code in the mini program context.
6
+ * Use with caution:
7
+ * - All evaluations are logged for audit
8
+ * - Evaluations are limited by timeout (default: 5s)
9
+ * - Consider restricting this tool in production environments
10
+ * - Never pass untrusted user input directly to this function
11
+ */
12
+ import { withTimeout, getTimeout, DEFAULT_TIMEOUTS } from '../../../runtime/timeout/timeout.js';
13
+ /**
14
+ * Evaluate JavaScript code in the mini program context
15
+ */
16
+ export async function evaluate(session, args) {
17
+ const { expression, args: evalArgs = [] } = args;
18
+ const logger = session.logger;
19
+ try {
20
+ if (!session.miniProgram) {
21
+ throw new Error('MiniProgram not connected. Call miniprogram_launch or miniprogram_connect first.');
22
+ }
23
+ // Security: Log all evaluate calls for audit
24
+ logger?.info('[SECURITY] Evaluating expression', {
25
+ expression,
26
+ argsCount: evalArgs.length,
27
+ timestamp: new Date().toISOString(),
28
+ });
29
+ // Get timeout from config or use default (5 seconds for evaluate)
30
+ const timeoutMs = getTimeout(session.config?.evaluateTimeout, DEFAULT_TIMEOUTS.evaluate);
31
+ // Evaluate expression with timeout protection
32
+ const result = await withTimeout(session.miniProgram.evaluate(expression, ...evalArgs), timeoutMs, 'Evaluate expression');
33
+ logger?.info('Evaluation successful', { result });
34
+ return {
35
+ success: true,
36
+ message: 'Expression evaluated successfully',
37
+ result,
38
+ };
39
+ }
40
+ catch (error) {
41
+ const errorMessage = error instanceof Error ? error.message : String(error);
42
+ // Security: Log failed evaluations
43
+ logger?.error('[SECURITY] Evaluation failed', {
44
+ error: errorMessage,
45
+ expression,
46
+ timestamp: new Date().toISOString(),
47
+ });
48
+ throw new Error(`Evaluation failed: ${errorMessage}`);
49
+ }
50
+ }
51
+ //# sourceMappingURL=evaluate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAmB/F;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAqB,EAAE,IAAkB;IACtE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,IAAI,CAAA;IAChD,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,6CAA6C;QAC7C,MAAM,EAAE,IAAI,CAAC,kCAAkC,EAAE;YAC/C,UAAU;YACV,SAAS,EAAE,QAAQ,CAAC,MAAM;YAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAA;QAEF,kEAAkE;QAClE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAExF,8CAA8C;QAC9C,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,QAAQ,CAAC,EACrD,SAAS,EACT,qBAAqB,CACtB,CAAA;QAED,MAAM,EAAE,IAAI,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAEjD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,mCAAmC;YAC5C,MAAM;SACP,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;QAE3E,mCAAmC;QACnC,MAAM,EAAE,KAAK,CAAC,8BAA8B,EAAE;YAC5C,KAAK,EAAE,YAAY;YACnB,UAAU;YACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAA;QAEF,MAAM,IAAI,KAAK,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAA;IACvD,CAAC;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * MiniProgram handlers exports
3
+ *
4
+ * All handlers are now independently implemented in this directory.
5
+ */
6
+ export { navigate, type NavigateArgs, type NavigateResult } from './navigate.js';
7
+ export { callWx, type CallWxArgs, type CallWxResult } from './call-wx.js';
8
+ export { evaluate, type EvaluateArgs, type EvaluateResult } from './evaluate.js';
9
+ export { screenshot, type ScreenshotArgs, type ScreenshotResult } from './screenshot.js';
10
+ export { getPageStack, type PageStackResult } from './page-stack.js';
11
+ export { getSystemInfo, type SystemInfoResult } from './system-info.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAChF,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAChF,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACxF,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * MiniProgram handlers exports
3
+ *
4
+ * All handlers are now independently implemented in this directory.
5
+ */
6
+ export { navigate } from './navigate.js';
7
+ export { callWx } from './call-wx.js';
8
+ export { evaluate } from './evaluate.js';
9
+ export { screenshot } from './screenshot.js';
10
+ export { getPageStack } from './page-stack.js';
11
+ export { getSystemInfo } from './system-info.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAA0C,MAAM,eAAe,CAAA;AAChF,OAAO,EAAE,MAAM,EAAsC,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,QAAQ,EAA0C,MAAM,eAAe,CAAA;AAChF,OAAO,EAAE,UAAU,EAA8C,MAAM,iBAAiB,CAAA;AACxF,OAAO,EAAE,YAAY,EAAwB,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAE,aAAa,EAAyB,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Navigate handler - Page navigation operations
3
+ */
4
+ import type { SessionState } from '../../../types.js';
5
+ /**
6
+ * Navigate input arguments
7
+ */
8
+ export interface NavigateArgs {
9
+ method: 'navigateTo' | 'redirectTo' | 'reLaunch' | 'switchTab' | 'navigateBack';
10
+ url?: string;
11
+ delta?: number;
12
+ }
13
+ /**
14
+ * Navigate result
15
+ */
16
+ export interface NavigateResult {
17
+ success: boolean;
18
+ message: string;
19
+ currentPage?: string;
20
+ }
21
+ /**
22
+ * Navigate to a page in the mini program
23
+ * Supports: navigateTo, redirectTo, reLaunch, switchTab, navigateBack
24
+ */
25
+ export declare function navigate(session: SessionState, args: NavigateArgs): Promise<NavigateResult>;
26
+ //# sourceMappingURL=navigate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/navigate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAA;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAqEjG"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Navigate handler - Page navigation operations
3
+ */
4
+ import { withTimeout, getTimeout, DEFAULT_TIMEOUTS } from '../../../runtime/timeout/timeout.js';
5
+ /**
6
+ * Navigate to a page in the mini program
7
+ * Supports: navigateTo, redirectTo, reLaunch, switchTab, navigateBack
8
+ */
9
+ export async function navigate(session, args) {
10
+ const { method, url, delta } = args;
11
+ const logger = session.logger;
12
+ try {
13
+ if (!session.miniProgram) {
14
+ throw new Error('MiniProgram not connected. Call miniprogram_launch or miniprogram_connect first.');
15
+ }
16
+ logger?.info(`Navigating using ${method}`, { url, delta });
17
+ // Get timeout for navigation operations
18
+ const timeoutMs = getTimeout(session.config?.timeout, DEFAULT_TIMEOUTS.navigation);
19
+ // Execute navigation method with timeout protection
20
+ switch (method) {
21
+ case 'navigateTo':
22
+ case 'redirectTo':
23
+ case 'reLaunch':
24
+ case 'switchTab':
25
+ if (!url) {
26
+ throw new Error(`URL is required for ${method}`);
27
+ }
28
+ await withTimeout(session.miniProgram[method](url), timeoutMs, `Navigation (${method})`);
29
+ break;
30
+ case 'navigateBack':
31
+ await withTimeout(session.miniProgram.navigateBack(delta), timeoutMs, 'Navigation (navigateBack)');
32
+ break;
33
+ default:
34
+ throw new Error(`Unknown navigation method: ${method}`);
35
+ }
36
+ // Get current page after navigation with timeout
37
+ const currentPage = await withTimeout(session.miniProgram.currentPage(), DEFAULT_TIMEOUTS.pageStack, 'Get current page');
38
+ const currentPath = currentPage?.path || 'unknown';
39
+ logger?.info(`Navigation successful, current page: ${currentPath}`);
40
+ return {
41
+ success: true,
42
+ message: `Successfully navigated using ${method}`,
43
+ currentPage: currentPath,
44
+ };
45
+ }
46
+ catch (error) {
47
+ const errorMessage = error instanceof Error ? error.message : String(error);
48
+ logger?.error(`Navigation failed`, {
49
+ error: errorMessage,
50
+ method,
51
+ url,
52
+ });
53
+ throw new Error(`Navigation failed: ${errorMessage}`);
54
+ }
55
+ }
56
+ //# 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;AAoB/F;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAqB,EAAE,IAAkB;IACtE,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"}