appium-mcp 1.8.11 → 1.8.13

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 (517) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/command.d.ts +107 -0
  3. package/dist/command.d.ts.map +1 -0
  4. package/dist/command.js +214 -0
  5. package/dist/command.js.map +1 -0
  6. package/dist/session-store.d.ts +30 -3
  7. package/dist/session-store.d.ts.map +1 -1
  8. package/dist/session-store.js +29 -0
  9. package/dist/session-store.js.map +1 -1
  10. package/dist/tools/app-management/activate-app.d.ts.map +1 -1
  11. package/dist/tools/app-management/activate-app.js +2 -1
  12. package/dist/tools/app-management/activate-app.js.map +1 -1
  13. package/dist/tools/app-management/install-app.d.ts.map +1 -1
  14. package/dist/tools/app-management/install-app.js +4 -7
  15. package/dist/tools/app-management/install-app.js.map +1 -1
  16. package/dist/tools/app-management/terminate-app.d.ts.map +1 -1
  17. package/dist/tools/app-management/terminate-app.js +4 -7
  18. package/dist/tools/app-management/terminate-app.js.map +1 -1
  19. package/dist/tools/app-management/uninstall-app.d.ts.map +1 -1
  20. package/dist/tools/app-management/uninstall-app.js +4 -7
  21. package/dist/tools/app-management/uninstall-app.js.map +1 -1
  22. package/dist/tools/context/get-contexts.d.ts.map +1 -1
  23. package/dist/tools/context/get-contexts.js +4 -3
  24. package/dist/tools/context/get-contexts.js.map +1 -1
  25. package/dist/tools/context/switch-context.d.ts.map +1 -1
  26. package/dist/tools/context/switch-context.js +6 -5
  27. package/dist/tools/context/switch-context.js.map +1 -1
  28. package/dist/tools/interactions/click.d.ts.map +1 -1
  29. package/dist/tools/interactions/click.js +3 -4
  30. package/dist/tools/interactions/click.js.map +1 -1
  31. package/dist/tools/interactions/double-tap.d.ts.map +1 -1
  32. package/dist/tools/interactions/double-tap.js +13 -16
  33. package/dist/tools/interactions/double-tap.js.map +1 -1
  34. package/dist/tools/interactions/drag-and-drop.d.ts.map +1 -1
  35. package/dist/tools/interactions/drag-and-drop.js +4 -3
  36. package/dist/tools/interactions/drag-and-drop.js.map +1 -1
  37. package/dist/tools/interactions/find.d.ts +2 -2
  38. package/dist/tools/interactions/find.d.ts.map +1 -1
  39. package/dist/tools/interactions/find.js +1 -1
  40. package/dist/tools/interactions/find.js.map +1 -1
  41. package/dist/tools/interactions/get-page-source.d.ts.map +1 -1
  42. package/dist/tools/interactions/get-page-source.js +2 -1
  43. package/dist/tools/interactions/get-page-source.js.map +1 -1
  44. package/dist/tools/interactions/get-text.d.ts.map +1 -1
  45. package/dist/tools/interactions/get-text.js +3 -4
  46. package/dist/tools/interactions/get-text.js.map +1 -1
  47. package/dist/tools/interactions/long-press.d.ts.map +1 -1
  48. package/dist/tools/interactions/long-press.js +16 -20
  49. package/dist/tools/interactions/long-press.js.map +1 -1
  50. package/dist/tools/interactions/screenshot.d.ts +2 -4
  51. package/dist/tools/interactions/screenshot.d.ts.map +1 -1
  52. package/dist/tools/interactions/screenshot.js +3 -4
  53. package/dist/tools/interactions/screenshot.js.map +1 -1
  54. package/dist/tools/interactions/set-value.d.ts.map +1 -1
  55. package/dist/tools/interactions/set-value.js +3 -4
  56. package/dist/tools/interactions/set-value.js.map +1 -1
  57. package/dist/tools/navigations/scroll-to-element.js.map +1 -1
  58. package/dist/tools/navigations/scroll.d.ts.map +1 -1
  59. package/dist/tools/navigations/scroll.js +16 -23
  60. package/dist/tools/navigations/scroll.js.map +1 -1
  61. package/dist/tools/navigations/swipe.d.ts.map +1 -1
  62. package/dist/tools/navigations/swipe.js +13 -17
  63. package/dist/tools/navigations/swipe.js.map +1 -1
  64. package/dist/tools/test-generation/locators.d.ts.map +1 -1
  65. package/dist/tools/test-generation/locators.js +14 -6
  66. package/dist/tools/test-generation/locators.js.map +1 -1
  67. package/package.json +12 -3
  68. package/server.json +2 -2
  69. package/.github/dependabot.yml +0 -17
  70. package/.github/workflows/ci.yml +0 -44
  71. package/.github/workflows/pr-title.yml +0 -10
  72. package/.github/workflows/publish.yml +0 -66
  73. package/.gitmodules +0 -9
  74. package/.prettierignore +0 -29
  75. package/.prettierrc +0 -9
  76. package/.releaserc +0 -37
  77. package/docs/CONTRIBUTING.md +0 -424
  78. package/eslint.config.js +0 -23
  79. package/examples/android-gmail.md +0 -7
  80. package/examples/android-todo-app.md +0 -9
  81. package/jest.config.js +0 -23
  82. package/src/devicemanager/adb-manager.ts +0 -164
  83. package/src/devicemanager/ios-manager.ts +0 -145
  84. package/src/index.ts +0 -45
  85. package/src/locators/element-filter.ts +0 -136
  86. package/src/locators/generate-all-locators.ts +0 -150
  87. package/src/locators/locator-generation.ts +0 -657
  88. package/src/locators/source-parsing.ts +0 -149
  89. package/src/logger.ts +0 -11
  90. package/src/resources/caps.json +0 -697
  91. package/src/resources/index.ts +0 -8
  92. package/src/resources/java/template.ts +0 -83
  93. package/src/resources/submodules/appium/.github/PULL_REQUEST_TEMPLATE.md +0 -28
  94. package/src/resources/submodules/appium/CHANGELOG.md +0 -45
  95. package/src/resources/submodules/appium/CONDUCT.md +0 -48
  96. package/src/resources/submodules/appium/GOVERNANCE.md +0 -185
  97. package/src/resources/submodules/appium/IDEAS.md +0 -16
  98. package/src/resources/submodules/appium/README.md +0 -221
  99. package/src/resources/submodules/appium/ROADMAP.md +0 -30
  100. package/src/resources/submodules/appium/SPONSORS.md +0 -3
  101. package/src/resources/submodules/appium/docs/README.md +0 -6
  102. package/src/resources/submodules/appium/docs/payout.md +0 -35
  103. package/src/resources/submodules/appium/packages/appium/CHANGELOG.md +0 -1437
  104. package/src/resources/submodules/appium/packages/appium/README.md +0 -221
  105. package/src/resources/submodules/appium/packages/appium/docs/en/blog/index.md +0 -2
  106. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-appiumconf2024.md +0 -45
  107. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-browserstack-as-strategic-partner.md +0 -46
  108. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-headspin-as-development-partner.md +0 -47
  109. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-lambdatest-as-strategic-partner.md +0 -42
  110. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-sauce-labs-as-strategic-partner.md +0 -36
  111. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-sponsorship-program.md +0 -48
  112. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/appium3.md +0 -40
  113. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/hello-world.md +0 -15
  114. package/src/resources/submodules/appium/packages/appium/docs/en/contributing/index.md +0 -150
  115. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-docs.md +0 -86
  116. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-doctor-checks.md +0 -141
  117. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-drivers.md +0 -860
  118. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-plugins.md +0 -514
  119. package/src/resources/submodules/appium/packages/appium/docs/en/developing/config-system.md +0 -451
  120. package/src/resources/submodules/appium/packages/appium/docs/en/developing/index.md +0 -18
  121. package/src/resources/submodules/appium/packages/appium/docs/en/developing/sensitive.md +0 -49
  122. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/clients.md +0 -132
  123. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/drivers.md +0 -207
  124. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/index.md +0 -45
  125. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/plugins.md +0 -138
  126. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/tools.md +0 -83
  127. package/src/resources/submodules/appium/packages/appium/docs/en/guides/branch-testing.md +0 -57
  128. package/src/resources/submodules/appium/packages/appium/docs/en/guides/caching.md +0 -76
  129. package/src/resources/submodules/appium/packages/appium/docs/en/guides/caps.md +0 -275
  130. package/src/resources/submodules/appium/packages/appium/docs/en/guides/config.md +0 -98
  131. package/src/resources/submodules/appium/packages/appium/docs/en/guides/context.md +0 -44
  132. package/src/resources/submodules/appium/packages/appium/docs/en/guides/event-timing.md +0 -73
  133. package/src/resources/submodules/appium/packages/appium/docs/en/guides/execute-methods.md +0 -122
  134. package/src/resources/submodules/appium/packages/appium/docs/en/guides/grid.md +0 -166
  135. package/src/resources/submodules/appium/packages/appium/docs/en/guides/headers.md +0 -17
  136. package/src/resources/submodules/appium/packages/appium/docs/en/guides/log-filters.md +0 -86
  137. package/src/resources/submodules/appium/packages/appium/docs/en/guides/managing-exts.md +0 -87
  138. package/src/resources/submodules/appium/packages/appium/docs/en/guides/migrating-1-to-2.md +0 -368
  139. package/src/resources/submodules/appium/packages/appium/docs/en/guides/migrating-2-to-3.md +0 -464
  140. package/src/resources/submodules/appium/packages/appium/docs/en/guides/security.md +0 -89
  141. package/src/resources/submodules/appium/packages/appium/docs/en/guides/settings.md +0 -68
  142. package/src/resources/submodules/appium/packages/appium/docs/en/guides/tls.md +0 -42
  143. package/src/resources/submodules/appium/packages/appium/docs/en/index.md +0 -59
  144. package/src/resources/submodules/appium/packages/appium/docs/en/intro/appium.md +0 -202
  145. package/src/resources/submodules/appium/packages/appium/docs/en/intro/clients.md +0 -127
  146. package/src/resources/submodules/appium/packages/appium/docs/en/intro/drivers.md +0 -188
  147. package/src/resources/submodules/appium/packages/appium/docs/en/intro/history.md +0 -196
  148. package/src/resources/submodules/appium/packages/appium/docs/en/intro/index.md +0 -39
  149. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/index.md +0 -29
  150. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/install.md +0 -50
  151. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/next-steps.md +0 -23
  152. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/requirements.md +0 -29
  153. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-dotnet.md +0 -105
  154. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-java.md +0 -23
  155. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-js.md +0 -75
  156. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-py.md +0 -60
  157. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-rb.md +0 -83
  158. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/uiauto2-driver.md +0 -144
  159. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/appium.md +0 -394
  160. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/bidi.md +0 -70
  161. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/index.md +0 -30
  162. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/jsonwp.md +0 -214
  163. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/mjsonwp.md +0 -151
  164. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/others.md +0 -671
  165. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/plugins.md +0 -289
  166. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/webdriver.md +0 -1114
  167. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/env-vars.md +0 -31
  168. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/extensions.md +0 -239
  169. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/index.md +0 -35
  170. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/server.md +0 -76
  171. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/setup.md +0 -76
  172. package/src/resources/submodules/appium/packages/appium/docs/en/reference/index.md +0 -25
  173. package/src/resources/submodules/appium/packages/appium/docs/en/resources/index.md +0 -28
  174. package/src/resources/submodules/appium/packages/appium/docs/en/sponsors/index.md +0 -64
  175. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/index.md +0 -2
  176. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-appiumconf2024.md +0 -45
  177. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-browserstack-as-strategic-partner.md +0 -46
  178. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-headspin-as-development-partner.md +0 -47
  179. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-lambdatest-as-strategic-partner.md +0 -41
  180. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-sauce-labs-as-strategic-partner.md +0 -36
  181. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-sponsorship-program.md +0 -48
  182. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/appium3.md +0 -40
  183. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/hello-world.md +0 -15
  184. package/src/resources/submodules/appium/packages/appium/docs/ja/contributing/index.md +0 -158
  185. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-docs.md +0 -86
  186. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-doctor-checks.md +0 -141
  187. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-drivers.md +0 -866
  188. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-plugins.md +0 -520
  189. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/config-system.md +0 -468
  190. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/index.md +0 -18
  191. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/sensitive.md +0 -49
  192. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/clients.md +0 -143
  193. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/drivers.md +0 -219
  194. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/index.md +0 -45
  195. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/plugins.md +0 -140
  196. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/tools.md +0 -87
  197. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/branch-testing.md +0 -57
  198. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/caching.md +0 -78
  199. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/caps.md +0 -259
  200. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/config.md +0 -102
  201. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/context.md +0 -44
  202. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/event-timing.md +0 -75
  203. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/execute-methods.md +0 -142
  204. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/grid.md +0 -166
  205. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/headers.md +0 -17
  206. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/log-filters.md +0 -86
  207. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/managing-exts.md +0 -89
  208. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/migrating-1-to-2.md +0 -402
  209. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/migrating-2-to-3.md +0 -458
  210. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/security.md +0 -89
  211. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/settings.md +0 -70
  212. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/tls.md +0 -43
  213. package/src/resources/submodules/appium/packages/appium/docs/ja/index.md +0 -55
  214. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/appium.md +0 -191
  215. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/clients.md +0 -139
  216. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/drivers.md +0 -188
  217. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/history.md +0 -196
  218. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/index.md +0 -39
  219. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/index.md +0 -23
  220. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/install.md +0 -47
  221. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/next-steps.md +0 -19
  222. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/requirements.md +0 -29
  223. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-dotnet.md +0 -107
  224. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-java.md +0 -23
  225. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-js.md +0 -77
  226. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-py.md +0 -63
  227. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-rb.md +0 -85
  228. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/uiauto2-driver.md +0 -148
  229. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/appium.md +0 -395
  230. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/bidi.md +0 -71
  231. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/index.md +0 -30
  232. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/jsonwp.md +0 -215
  233. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/mjsonwp.md +0 -152
  234. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/others.md +0 -672
  235. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/plugins.md +0 -291
  236. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/webdriver.md +0 -1114
  237. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/env-vars.md +0 -31
  238. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/extensions.md +0 -240
  239. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/index.md +0 -35
  240. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/server.md +0 -76
  241. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/setup.md +0 -78
  242. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/index.md +0 -25
  243. package/src/resources/submodules/appium/packages/appium/docs/ja/resources/index.md +0 -28
  244. package/src/resources/submodules/appium/packages/appium/docs/ja/sponsors/index.md +0 -61
  245. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-horiz-white.png +0 -0
  246. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-horiz.png +0 -0
  247. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-white.png +0 -0
  248. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo.png +0 -0
  249. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-browserstack-dark.png +0 -0
  250. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-browserstack-light.png +0 -0
  251. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-lambdatest-dark.png +0 -0
  252. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-lambdatest-light.png +0 -0
  253. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-sauce.png +0 -0
  254. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/index.md +0 -2
  255. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-appiumconf2024.md +0 -45
  256. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-browserstack-as-strategic-partner.md +0 -46
  257. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-headspin-as-development-partner.md +0 -47
  258. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-lambdatest-as-strategic-partner.md +0 -41
  259. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-sauce-labs-as-strategic-partner.md +0 -36
  260. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-sponsorship-program.md +0 -48
  261. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/appium3.md +0 -40
  262. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/hello-world.md +0 -15
  263. package/src/resources/submodules/appium/packages/appium/docs/zh/contributing/index.md +0 -132
  264. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-docs.md +0 -86
  265. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-doctor-checks.md +0 -141
  266. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-drivers.md +0 -866
  267. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-plugins.md +0 -520
  268. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/config-system.md +0 -468
  269. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/index.md +0 -18
  270. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/sensitive.md +0 -49
  271. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/clients.md +0 -143
  272. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/drivers.md +0 -219
  273. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/index.md +0 -45
  274. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/plugins.md +0 -140
  275. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/tools.md +0 -87
  276. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/branch-testing.md +0 -57
  277. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/caching.md +0 -78
  278. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/caps.md +0 -284
  279. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/config.md +0 -102
  280. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/context.md +0 -44
  281. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/event-timing.md +0 -75
  282. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/execute-methods.md +0 -142
  283. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/grid.md +0 -166
  284. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/headers.md +0 -17
  285. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/log-filters.md +0 -86
  286. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/managing-exts.md +0 -89
  287. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/migrating-1-to-2.md +0 -410
  288. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/migrating-2-to-3.md +0 -459
  289. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/security.md +0 -89
  290. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/settings.md +0 -70
  291. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/tls.md +0 -43
  292. package/src/resources/submodules/appium/packages/appium/docs/zh/index.md +0 -54
  293. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/appium.md +0 -200
  294. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/clients.md +0 -139
  295. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/drivers.md +0 -188
  296. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/history.md +0 -196
  297. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/index.md +0 -39
  298. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/index.md +0 -23
  299. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/install.md +0 -47
  300. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/next-steps.md +0 -19
  301. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/requirements.md +0 -21
  302. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-dotnet.md +0 -99
  303. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-java.md +0 -20
  304. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-js.md +0 -62
  305. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-py.md +0 -57
  306. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-rb.md +0 -80
  307. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/uiauto2-driver.md +0 -148
  308. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/appium.md +0 -395
  309. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/bidi.md +0 -71
  310. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/index.md +0 -30
  311. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/jsonwp.md +0 -215
  312. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/mjsonwp.md +0 -152
  313. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/others.md +0 -672
  314. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/plugins.md +0 -291
  315. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/webdriver.md +0 -1114
  316. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/env-vars.md +0 -31
  317. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/extensions.md +0 -240
  318. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/index.md +0 -35
  319. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/server.md +0 -76
  320. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/setup.md +0 -78
  321. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/index.md +0 -25
  322. package/src/resources/submodules/appium/packages/appium/docs/zh/resources/index.md +0 -28
  323. package/src/resources/submodules/appium/packages/appium/docs/zh/sponsors/index.md +0 -61
  324. package/src/resources/submodules/appium/packages/appium/types/manifest/README.md +0 -30
  325. package/src/resources/submodules/appium/packages/base-driver/CHANGELOG.md +0 -1131
  326. package/src/resources/submodules/appium/packages/base-driver/README.md +0 -15
  327. package/src/resources/submodules/appium/packages/base-driver/docs/mjsonwp/errors.md +0 -82
  328. package/src/resources/submodules/appium/packages/base-driver/docs/mjsonwp/protocol-methods.md +0 -182
  329. package/src/resources/submodules/appium/packages/base-driver/static/appium.png +0 -0
  330. package/src/resources/submodules/appium/packages/base-plugin/CHANGELOG.md +0 -672
  331. package/src/resources/submodules/appium/packages/base-plugin/README.md +0 -15
  332. package/src/resources/submodules/appium/packages/docutils/CHANGELOG.md +0 -948
  333. package/src/resources/submodules/appium/packages/docutils/README.md +0 -27
  334. package/src/resources/submodules/appium/packages/driver-test-support/CHANGELOG.md +0 -717
  335. package/src/resources/submodules/appium/packages/driver-test-support/README.md +0 -112
  336. package/src/resources/submodules/appium/packages/eslint-config-appium-ts/CHANGELOG.md +0 -168
  337. package/src/resources/submodules/appium/packages/eslint-config-appium-ts/README.md +0 -33
  338. package/src/resources/submodules/appium/packages/execute-driver-plugin/CHANGELOG.md +0 -603
  339. package/src/resources/submodules/appium/packages/execute-driver-plugin/README.md +0 -42
  340. package/src/resources/submodules/appium/packages/fake-driver/CHANGELOG.md +0 -545
  341. package/src/resources/submodules/appium/packages/fake-driver/README.md +0 -7
  342. package/src/resources/submodules/appium/packages/fake-driver/lib/screen.png +0 -0
  343. package/src/resources/submodules/appium/packages/fake-plugin/CHANGELOG.md +0 -683
  344. package/src/resources/submodules/appium/packages/fake-plugin/README.md +0 -7
  345. package/src/resources/submodules/appium/packages/images-plugin/CHANGELOG.md +0 -602
  346. package/src/resources/submodules/appium/packages/images-plugin/README.md +0 -27
  347. package/src/resources/submodules/appium/packages/images-plugin/docs/find-by-image.md +0 -65
  348. package/src/resources/submodules/appium/packages/images-plugin/docs/image-comparison.md +0 -203
  349. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/appstore.png +0 -0
  350. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img1.png +0 -0
  351. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img2.png +0 -0
  352. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img2_part.png +0 -0
  353. package/src/resources/submodules/appium/packages/logger/CHANGELOG.md +0 -162
  354. package/src/resources/submodules/appium/packages/logger/README.md +0 -31
  355. package/src/resources/submodules/appium/packages/opencv/CHANGELOG.md +0 -384
  356. package/src/resources/submodules/appium/packages/opencv/README.md +0 -68
  357. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/appium-diagram.jpg +0 -0
  358. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc1.png +0 -0
  359. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc2.png +0 -0
  360. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc_rotated.png +0 -0
  361. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/findwaldo.jpg +0 -0
  362. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/number5.png +0 -0
  363. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/waldo.jpg +0 -0
  364. package/src/resources/submodules/appium/packages/plugin-test-support/CHANGELOG.md +0 -539
  365. package/src/resources/submodules/appium/packages/plugin-test-support/README.md +0 -49
  366. package/src/resources/submodules/appium/packages/relaxed-caps-plugin/CHANGELOG.md +0 -154
  367. package/src/resources/submodules/appium/packages/relaxed-caps-plugin/README.md +0 -35
  368. package/src/resources/submodules/appium/packages/schema/CHANGELOG.md +0 -271
  369. package/src/resources/submodules/appium/packages/schema/README.md +0 -50
  370. package/src/resources/submodules/appium/packages/storage-plugin/CHANGELOG.md +0 -73
  371. package/src/resources/submodules/appium/packages/storage-plugin/README.md +0 -83
  372. package/src/resources/submodules/appium/packages/strongbox/CHANGELOG.md +0 -94
  373. package/src/resources/submodules/appium/packages/strongbox/README.md +0 -96
  374. package/src/resources/submodules/appium/packages/support/CHANGELOG.md +0 -1054
  375. package/src/resources/submodules/appium/packages/support/README.md +0 -161
  376. package/src/resources/submodules/appium/packages/test-support/CHANGELOG.md +0 -712
  377. package/src/resources/submodules/appium/packages/test-support/README.md +0 -61
  378. package/src/resources/submodules/appium/packages/tsconfig/CHANGELOG.md +0 -131
  379. package/src/resources/submodules/appium/packages/tsconfig/README.md +0 -19
  380. package/src/resources/submodules/appium/packages/types/CHANGELOG.md +0 -793
  381. package/src/resources/submodules/appium/packages/types/README.md +0 -21
  382. package/src/resources/submodules/appium/packages/universal-xml-plugin/CHANGELOG.md +0 -435
  383. package/src/resources/submodules/appium/packages/universal-xml-plugin/README.md +0 -53
  384. package/src/resources/submodules/appium/renovate/README.md +0 -63
  385. package/src/resources/submodules/appium-uiautomator2-driver/CHANGELOG.md +0 -1204
  386. package/src/resources/submodules/appium-uiautomator2-driver/README.md +0 -2077
  387. package/src/resources/submodules/appium-uiautomator2-driver/docs/actions.md +0 -72
  388. package/src/resources/submodules/appium-uiautomator2-driver/docs/activity-startup.md +0 -47
  389. package/src/resources/submodules/appium-uiautomator2-driver/docs/android-appbundle.md +0 -69
  390. package/src/resources/submodules/appium-uiautomator2-driver/docs/android-mobile-gestures.md +0 -352
  391. package/src/resources/submodules/appium-uiautomator2-driver/docs/bidi.md +0 -50
  392. package/src/resources/submodules/appium-uiautomator2-driver/docs/capability-sets.md +0 -136
  393. package/src/resources/submodules/appium-uiautomator2-driver/docs/scheduled-actions.md +0 -155
  394. package/src/resources/submodules/appium-uiautomator2-driver/docs/uiautomator-uiselector.md +0 -51
  395. package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/main.md +0 -95
  396. package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/screen1.png +0 -0
  397. package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/screen2.png +0 -0
  398. package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/checkered-squares.png +0 -0
  399. package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/start-button.png +0 -0
  400. package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/stop-button.png +0 -0
  401. package/src/resources/submodules/appium-xcuitest-driver/.github/ISSUE_TEMPLATE.md +0 -4
  402. package/src/resources/submodules/appium-xcuitest-driver/CHANGELOG.md +0 -2594
  403. package/src/resources/submodules/appium-xcuitest-driver/README.md +0 -55
  404. package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-logo-white.png +0 -0
  405. package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-logo.png +0 -0
  406. package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-plus-xctest.png +0 -0
  407. package/src/resources/submodules/appium-xcuitest-driver/docs/contributing.md +0 -45
  408. package/src/resources/submodules/appium-xcuitest-driver/docs/endpoints-wda.md +0 -61
  409. package/src/resources/submodules/appium-xcuitest-driver/docs/endpoints.md +0 -98
  410. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/keynote.png +0 -0
  411. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/on_my_iphone.png +0 -0
  412. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/top_files.png +0 -0
  413. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/attach-to-running-wda.md +0 -43
  414. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/audio-capture.md +0 -78
  415. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/capability-sets.md +0 -169
  416. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/ci-setup.md +0 -47
  417. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/clipboard.md +0 -47
  418. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/elements-lookup-troubleshooting.md +0 -158
  419. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/file-transfer.md +0 -147
  420. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/gestures.md +0 -52
  421. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/hybrid.md +0 -137
  422. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/input-events.md +0 -67
  423. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/install-certificate.md +0 -19
  424. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/multiple-xcode-versions.md +0 -37
  425. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/parallel-tests.md +0 -39
  426. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/run-prebuilt-wda.md +0 -135
  427. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/run-preinstalled-wda.md +0 -178
  428. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/touch-id.md +0 -33
  429. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/troubleshooting.md +0 -191
  430. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/tvos.md +0 -114
  431. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/wda-custom-server.md +0 -283
  432. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/wda-slowness.md +0 -231
  433. package/src/resources/submodules/appium-xcuitest-driver/docs/index.md +0 -36
  434. package/src/resources/submodules/appium-xcuitest-driver/docs/installation/index.md +0 -137
  435. package/src/resources/submodules/appium-xcuitest-driver/docs/overview.md +0 -19
  436. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/check-prov-prof.png +0 -0
  437. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/create-new-project.png +0 -0
  438. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/create-single-page.png +0 -0
  439. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/no-prov-prof.png +0 -0
  440. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/project-prov-prof.png +0 -0
  441. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/set-up-bundle.png +0 -0
  442. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/untrusted-dev.png +0 -0
  443. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/xcode-bundle-id.png +0 -0
  444. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/xcode-config.png +0 -0
  445. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/xcode-facebook-fail.png +0 -0
  446. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/xcode-facebook-succeed.png +0 -0
  447. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/index.md +0 -51
  448. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/prov-profile-basic-auto.md +0 -49
  449. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/prov-profile-basic-manual.md +0 -40
  450. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/prov-profile-full-manual.md +0 -50
  451. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/prov-profile-generic-manual.md +0 -49
  452. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/real-device-config.md +0 -100
  453. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/assets/images/useXctestrunFile.png +0 -0
  454. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/bidi.md +0 -75
  455. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/capabilities.md +0 -165
  456. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/commands.md +0 -490
  457. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/element-attributes.md +0 -27
  458. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/execute-methods.md +0 -2206
  459. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/ios-predicate.md +0 -196
  460. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/locator-strategies.md +0 -19
  461. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/scripts.md +0 -29
  462. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/security-flags.md +0 -22
  463. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/server-args.md +0 -16
  464. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/settings.md +0 -49
  465. package/src/resources/submodules/appium-xcuitest-driver/test/assets/TestApp-iphonesimulator.app/Default-568h@2x.png +0 -0
  466. package/src/resources/submodules/appium-xcuitest-driver/test/assets/test.png +0 -0
  467. package/src/schema.ts +0 -5
  468. package/src/scripts/simple-index-documentation.ts +0 -93
  469. package/src/scripts/simple-query-documentation.ts +0 -61
  470. package/src/server.ts +0 -40
  471. package/src/session-store.ts +0 -117
  472. package/src/tests/README.md +0 -83
  473. package/src/tests/__mocks__/@appium/support.ts +0 -30
  474. package/src/tests/generate-all-locators.test.ts +0 -178
  475. package/src/tests/screenshot.test.ts +0 -279
  476. package/src/tests/test-setup-wda.ts +0 -255
  477. package/src/tools/README.md +0 -179
  478. package/src/tools/app-management/activate-app.ts +0 -46
  479. package/src/tools/app-management/install-app.ts +0 -54
  480. package/src/tools/app-management/list-apps.ts +0 -87
  481. package/src/tools/app-management/terminate-app.ts +0 -56
  482. package/src/tools/app-management/uninstall-app.ts +0 -56
  483. package/src/tools/context/get-contexts.ts +0 -78
  484. package/src/tools/context/switch-context.ts +0 -106
  485. package/src/tools/documentation/answer-appium.ts +0 -73
  486. package/src/tools/documentation/index.ts +0 -98
  487. package/src/tools/documentation/reasoning-rag.ts +0 -435
  488. package/src/tools/documentation/sentence-transformers-embeddings.ts +0 -144
  489. package/src/tools/documentation/simple-pdf-indexer.ts +0 -508
  490. package/src/tools/documentation/uploads/documents.json +0 -1
  491. package/src/tools/index.ts +0 -159
  492. package/src/tools/interactions/click.ts +0 -50
  493. package/src/tools/interactions/double-tap.ts +0 -99
  494. package/src/tools/interactions/drag-and-drop.ts +0 -238
  495. package/src/tools/interactions/find.ts +0 -61
  496. package/src/tools/interactions/get-page-source.ts +0 -65
  497. package/src/tools/interactions/get-text.ts +0 -50
  498. package/src/tools/interactions/long-press.ts +0 -120
  499. package/src/tools/interactions/screenshot.ts +0 -119
  500. package/src/tools/interactions/set-value.ts +0 -54
  501. package/src/tools/ios/boot-simulator.ts +0 -88
  502. package/src/tools/ios/install-wda.ts +0 -277
  503. package/src/tools/ios/setup-wda.ts +0 -217
  504. package/src/tools/navigations/scroll-to-element.ts +0 -198
  505. package/src/tools/navigations/scroll.ts +0 -113
  506. package/src/tools/navigations/swipe.ts +0 -368
  507. package/src/tools/session/create-session.ts +0 -379
  508. package/src/tools/session/delete-session.ts +0 -56
  509. package/src/tools/session/select-device.ts +0 -326
  510. package/src/tools/session/select-platform.ts +0 -250
  511. package/src/tools/test-generation/generate-tests.ts +0 -48
  512. package/src/tools/test-generation/locators.ts +0 -101
  513. package/src/types/appium-ios-device.d.ts +0 -8
  514. package/src/types/appium-xcuitest-driver.d.ts +0 -5
  515. package/src/ui/mcp-ui-utils.ts +0 -1630
  516. package/tsconfig.json +0 -15
  517. package/tsconfig.tsbuildinfo +0 -1
@@ -1,217 +0,0 @@
1
- /**
2
- * Tool to download and setup WebDriverAgent (WDA) for iOS simulators
3
- */
4
- import { z } from 'zod';
5
- import { exec } from 'child_process';
6
- import { promisify } from 'util';
7
- import path from 'path';
8
- import { access, mkdir, unlink } from 'fs/promises';
9
- import { constants, createWriteStream } from 'fs';
10
- import { pipeline } from 'stream/promises';
11
- import os from 'os';
12
- import axios from 'axios';
13
- import log from '../../logger.js';
14
-
15
- const execAsync = promisify(exec);
16
-
17
- function cachePath(folder: string): string {
18
- return path.join(os.homedir(), '.cache', 'appium-mcp', folder);
19
- }
20
-
21
- async function getLatestWDAVersion(): Promise<string> {
22
- try {
23
- const response = await axios.get(
24
- 'https://api.github.com/repos/appium/WebDriverAgent/releases/latest',
25
- {
26
- headers: {
27
- 'User-Agent': 'mcp-appium',
28
- Accept: 'application/vnd.github.v3+json',
29
- },
30
- }
31
- );
32
-
33
- const release = response.data;
34
- if (release.tag_name) {
35
- return release.tag_name.replace(/^v/, '');
36
- } else {
37
- throw new Error('No tag_name found in release data');
38
- }
39
- } catch (error: any) {
40
- if (error.response) {
41
- throw new Error(
42
- `Failed to fetch WDA version: ${error.response.status} ${error.response.statusText}`
43
- );
44
- }
45
- throw error;
46
- }
47
- }
48
-
49
- async function cleanupFile(path: string): Promise<void> {
50
- try {
51
- await access(path, constants.F_OK);
52
- await unlink(path);
53
- } catch {
54
- // File doesn't exist or already deleted
55
- }
56
- }
57
-
58
- async function downloadFile(url: string, destPath: string): Promise<void> {
59
- try {
60
- const response = await axios({
61
- url,
62
- method: 'GET',
63
- responseType: 'stream',
64
- maxRedirects: 5,
65
- });
66
-
67
- const writer = createWriteStream(destPath);
68
-
69
- try {
70
- await pipeline(response.data, writer);
71
- } catch (streamError: any) {
72
- writer.close();
73
- await cleanupFile(destPath);
74
- throw streamError;
75
- }
76
- } catch (error: any) {
77
- // Clean up partial file on error
78
- await cleanupFile(destPath);
79
-
80
- if (error.response) {
81
- throw new Error(
82
- `Failed to download: ${error.response.status} ${error.response.statusText}`
83
- );
84
- }
85
- throw error;
86
- }
87
- }
88
-
89
- async function unzipFile(zipPath: string, destDir: string): Promise<void> {
90
- await execAsync(`unzip -q "${zipPath}" -d "${destDir}"`);
91
- }
92
-
93
- export default function setupWDA(server: any): void {
94
- server.addTool({
95
- name: 'setup_wda',
96
- description: `Download and setup prebuilt WebDriverAgent (WDA) for iOS/tvOS simulators only (not for real devices).
97
- This significantly speeds up the first Appium session by avoiding the need to build WDA from source.
98
- Downloads the latest version from GitHub and caches it locally.
99
- `,
100
- parameters: z.object({
101
- platform: z
102
- .enum(['ios', 'tvos'])
103
- .optional()
104
- .default('ios')
105
- .describe(
106
- `The simulator platform to download WDA for.
107
- Default is "ios".
108
- Use "tvos" for Apple TV simulators.
109
- Note: This tool only works with simulators, not real devices.`
110
- ),
111
- }),
112
- annotations: {
113
- readOnlyHint: false,
114
- openWorldHint: false,
115
- },
116
- execute: async (args: any, context: any): Promise<any> => {
117
- try {
118
- const { platform = 'ios' } = args;
119
-
120
- // Verify it's a macOS system
121
- if (process.platform !== 'darwin') {
122
- throw new Error(
123
- 'WebDriverAgent setup is only supported on macOS systems'
124
- );
125
- }
126
-
127
- // Get the architecture
128
- const arch = os.arch();
129
- const archStr = arch === 'arm64' ? 'arm64' : 'x86_64';
130
-
131
- // Fetch latest WDA version from GitHub
132
- const wdaVersion = await getLatestWDAVersion();
133
-
134
- // Create cache directory structure
135
- const versionCacheDir = cachePath(`wda/${wdaVersion}`);
136
- const extractDir = path.join(versionCacheDir, 'extracted');
137
- const zipPath = path.join(
138
- versionCacheDir,
139
- `WebDriverAgentRunner-Build-Sim-${archStr}.zip`
140
- );
141
- const appPath = path.join(
142
- extractDir,
143
- 'WebDriverAgentRunner-Runner.app'
144
- );
145
-
146
- // Check if this version is already cached
147
- try {
148
- await access(appPath, constants.F_OK);
149
- return {
150
- content: [
151
- {
152
- type: 'text',
153
- text: `✅ WebDriverAgent is already set up!\n\nVersion: ${wdaVersion}\nPlatform: ${platform} (simulator only)\nArchitecture: ${archStr}\nLocation: ${appPath}\nCache: ~/.cache/appium-mcp/wda/${wdaVersion}\n\n🚀 You can now create an Appium session without needing to build WDA from source.`,
154
- },
155
- ],
156
- };
157
- } catch {
158
- // File doesn't exist, continue to download
159
- }
160
-
161
- // Version not cached, download it
162
- const startTime = Date.now();
163
-
164
- // Create cache directories
165
- await mkdir(versionCacheDir, { recursive: true });
166
- await mkdir(extractDir, { recursive: true });
167
-
168
- // Download URL - use architecture-specific filename
169
- const downloadUrl = `https://github.com/appium/WebDriverAgent/releases/download/v${wdaVersion}/WebDriverAgentRunner-Build-Sim-${archStr}.zip`;
170
-
171
- log.info(
172
- `Downloading prebuilt WDA v${wdaVersion} for ${platform} simulator...`
173
- );
174
-
175
- await downloadFile(downloadUrl, zipPath);
176
-
177
- log.info('Extracting WebDriverAgent...');
178
- await unzipFile(zipPath, extractDir);
179
-
180
- const duration = ((Date.now() - startTime) / 1000).toFixed(1);
181
-
182
- // Verify extraction
183
- try {
184
- await access(appPath, constants.F_OK);
185
- } catch {
186
- throw new Error(
187
- 'WebDriverAgent extraction failed - app bundle not found'
188
- );
189
- }
190
-
191
- return {
192
- content: [
193
- {
194
- type: 'text',
195
- text: `${JSON.stringify(
196
- {
197
- version: wdaVersion,
198
- platform,
199
- architecture: archStr,
200
- wdaAppPath: appPath,
201
- wdaCachePath: `~/.cache/appium-mcp/wda/${wdaVersion}`,
202
- simulatorOnly: true,
203
- ready: true,
204
- },
205
- null,
206
- 2
207
- )}`,
208
- },
209
- ],
210
- };
211
- } catch (error: any) {
212
- log.error('Error setting up WDA:', error);
213
- throw new Error(`Failed to setup WebDriverAgent: ${error.message}`);
214
- }
215
- },
216
- });
217
- }
@@ -1,198 +0,0 @@
1
- import { getDriver, getPlatformName } from '../../session-store.js';
2
- import { z } from 'zod';
3
-
4
- const scrollToElementSchema = z.object({
5
- strategy: z.enum([
6
- 'xpath',
7
- 'id',
8
- 'name',
9
- 'class name',
10
- 'accessibility id',
11
- 'css selector',
12
- '-android uiautomator',
13
- '-ios predicate string',
14
- '-ios class chain',
15
- ]),
16
- selector: z.string().describe('The selector to find the element'),
17
- direction: z
18
- .enum(['up', 'down'])
19
- .default('down')
20
- .describe('Direction to scroll when searching for the element'),
21
- });
22
-
23
- const getValue = (xpath: string, expression: string): string => {
24
- // Extracts the value from an XPath expression.
25
- let start = xpath.indexOf(expression) + expression.length;
26
- start = xpath.indexOf("'", start) + 1;
27
- const end = xpath.indexOf("'", start);
28
- return xpath.substring(start, end);
29
- };
30
-
31
- const transformXPath = (
32
- xpath: string
33
- ): { strategy: string; selector: string } => {
34
- // normalize xpath expression by replacing " by '
35
- xpath = xpath.replace(/"/g, "'");
36
- if (xpath.includes('@text=')) {
37
- return { strategy: 'text', selector: getValue(xpath, '@text=') };
38
- }
39
-
40
- if (xpath.includes('@content-desc=')) {
41
- return {
42
- strategy: 'description',
43
- selector: getValue(xpath, '@content-desc='),
44
- };
45
- }
46
-
47
- if (xpath.includes('contains(@text,')) {
48
- return {
49
- strategy: 'textContains',
50
- selector: getValue(xpath, 'contains(@text,'),
51
- };
52
- }
53
-
54
- if (xpath.includes('contains(@content-desc,')) {
55
- return {
56
- strategy: 'descriptionContains',
57
- selector: getValue(xpath, 'contains(@content-desc,'),
58
- };
59
- }
60
-
61
- throw new Error(
62
- `Unsupported XPath expression: ${xpath}. Supported expressions are: @text, @content-desc, contains(@text, ...), contains(@content-desc, ...)`
63
- );
64
- };
65
-
66
- const transformLocator = (
67
- strategy: string,
68
- selector: string
69
- ): { strategy: string; selector: string } => {
70
- if (strategy === 'id') {
71
- return { strategy: 'resourceId', selector };
72
- }
73
- if (strategy === 'xpath') {
74
- return transformXPath(selector);
75
- }
76
- if (strategy === 'class name') {
77
- return { strategy: 'className', selector };
78
- }
79
-
80
- return { strategy, selector };
81
- };
82
-
83
- async function performAndroidScroll(
84
- driver: any,
85
- args: any,
86
- direction: string
87
- ): Promise<void> {
88
- // Use UiAutomator scroll gestures for Android
89
- const scrollDirection =
90
- direction === 'up' ? 'scrollBackward' : 'scrollForward';
91
- const scrollCommand = `new UiScrollable(new UiSelector().scrollable(true)).${scrollDirection}()`;
92
-
93
- try {
94
- await driver.findElement('-android uiautomator', scrollCommand);
95
- } catch (error) {
96
- // If UiScrollable fails, try touch actions
97
- const { width, height } = await driver.getWindowRect();
98
- const startX = width / 2;
99
- const startY = direction === 'up' ? height * 0.3 : height * 0.7;
100
- const endY = direction === 'up' ? height * 0.7 : height * 0.3;
101
-
102
- await driver.touchAction([
103
- { action: 'press', x: startX, y: startY },
104
- { action: 'wait', ms: 500 },
105
- { action: 'moveTo', x: startX, y: endY },
106
- { action: 'release' },
107
- ]);
108
- }
109
- }
110
-
111
- async function performiOSScroll(driver: any, direction: string): Promise<void> {
112
- // Use iOS mobile commands for scrolling
113
- const { width, height } = await driver.getWindowRect();
114
-
115
- await driver.execute('mobile: scroll', {
116
- direction,
117
- startX: width / 2,
118
- startY: direction === 'up' ? height * 0.3 : height * 0.7,
119
- endX: width / 2,
120
- endY: direction === 'up' ? height * 0.7 : height * 0.3,
121
- });
122
- }
123
-
124
- export default function scrollToElement(server: any): void {
125
- server.addTool({
126
- name: 'appium_scroll_to_element',
127
- description: 'Scrolls the current screen till a certain element is visible',
128
- parameters: scrollToElementSchema,
129
- annotations: {
130
- readOnlyHint: false,
131
- openWorldHint: false,
132
- },
133
- execute: async (args: any, context: any): Promise<any> => {
134
- const driver = getDriver();
135
- if (!driver) {
136
- throw new Error(
137
- 'No active driver session. Please create a session first.'
138
- );
139
- }
140
-
141
- try {
142
- const platform = getPlatformName(driver);
143
-
144
- // First try to find the element directly (it might already be in viewport)
145
- try {
146
- const element = await (driver as any).findElement(
147
- args.strategy,
148
- args.selector
149
- );
150
- return {
151
- content: [
152
- {
153
- type: 'text',
154
- text: `Element ${args.selector} is already visible on screen.`,
155
- },
156
- ],
157
- };
158
- } catch (error) {
159
- const direction = args.direction || 'down';
160
- switch (platform) {
161
- case 'Android':
162
- await performAndroidScroll(driver, args, direction);
163
- break;
164
- case 'iOS':
165
- await performiOSScroll(driver, direction);
166
- break;
167
- default:
168
- throw new Error(
169
- 'Unsupported driver type. This tool only supports Android and iOS drivers.'
170
- );
171
- }
172
-
173
- const element = await (driver as any).findElement(
174
- args.strategy,
175
- args.selector
176
- );
177
- return {
178
- content: [
179
- {
180
- type: 'text',
181
- text: `Successfully scrolled found element ${args.selector} after initial scroll.`,
182
- },
183
- ],
184
- };
185
- }
186
- } catch (err: any) {
187
- return {
188
- content: [
189
- {
190
- type: 'text',
191
- text: `Failed to scroll and find element. Error: ${err.toString()}`,
192
- },
193
- ],
194
- };
195
- }
196
- },
197
- });
198
- }
@@ -1,113 +0,0 @@
1
- import { z } from 'zod';
2
- import {
3
- getDriver,
4
- getPlatformName,
5
- isRemoteDriverSession,
6
- } from '../../session-store.js';
7
- import log from '../../logger.js';
8
- import type { Client } from 'webdriver';
9
-
10
- export default function scroll(server: any): void {
11
- server.addTool({
12
- name: 'appium_scroll',
13
- description: 'Scrolls the current screen up or down',
14
- parameters: z.object({
15
- direction: z
16
- .enum(['up', 'down'])
17
- .default('down')
18
- .describe('Scroll direction'),
19
- }),
20
- annotations: {
21
- readOnlyHint: false,
22
- openWorldHint: false,
23
- },
24
- execute: async (args: any, context: any): Promise<any> => {
25
- const driver = getDriver();
26
- if (!driver) {
27
- throw new Error(
28
- 'No active driver session. Please create a session first.'
29
- );
30
- }
31
-
32
- try {
33
- const { width, height } = await (driver as any).getWindowRect();
34
- log.info('Device screen size:', { width, height });
35
- const startX = Math.floor(width / 2);
36
- // calculate start and end Y positions for scrolling depending on the direction
37
- // startY is at 80% of the height, endY is at 20% of the height for downward scroll
38
- // and vice versa for upward scroll
39
- // this ensures that the scroll starts from the bottom of the screen and goes to the top
40
- // or starts from the top and goes to the bottom
41
- // Adjust these percentages as needed for your specific use case
42
- const startY =
43
- args.direction === 'down'
44
- ? Math.floor(height * 0.8)
45
- : Math.floor(height * 0.2);
46
- const endY =
47
- args.direction === 'down'
48
- ? Math.floor(height * 0.2)
49
- : Math.floor(height * 0.8);
50
-
51
- log.info('Going to scroll from:', { startX, startY });
52
- log.info('Going to scroll to:', { startX, endY });
53
-
54
- if (getPlatformName(driver) === 'Android') {
55
- await (driver as any).performActions([
56
- {
57
- type: 'pointer',
58
- id: 'finger1',
59
- parameters: { pointerType: 'touch' },
60
- actions: [
61
- { type: 'pointerMove', duration: 0, x: startX, y: startY },
62
- { type: 'pointerDown', button: 0 },
63
- { type: 'pause', duration: 250 },
64
- { type: 'pointerMove', duration: 600, x: startX, y: endY },
65
- { type: 'pointerUp', button: 0 },
66
- ],
67
- },
68
- ]);
69
- log.info('Scroll action completed successfully.');
70
- } else if (getPlatformName(driver) === 'iOS') {
71
- const _ok = isRemoteDriverSession(driver)
72
- ? await (driver as Client).executeScript('mobile: scroll', [
73
- {
74
- direction: args.direction,
75
- startX,
76
- startY,
77
- endX: startX,
78
- endY,
79
- },
80
- ])
81
- : await (driver as any).execute('mobile: scroll', {
82
- direction: args.direction,
83
- startX,
84
- startY,
85
- endX: startX,
86
- endY,
87
- });
88
- } else {
89
- throw new Error(
90
- `Unsupported platform: ${getPlatformName(driver)}. Only Android and iOS are supported.`
91
- );
92
- }
93
- return {
94
- content: [
95
- {
96
- type: 'text',
97
- text: `Scrolled ${args.direction} successfully.`,
98
- },
99
- ],
100
- };
101
- } catch (err: any) {
102
- return {
103
- content: [
104
- {
105
- type: 'text',
106
- text: `Failed to scroll ${args.direction}. Error: ${err.toString()}`,
107
- },
108
- ],
109
- };
110
- }
111
- },
112
- });
113
- }