appium-mcp 1.8.10 → 1.8.12

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 (452) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/package.json +12 -3
  3. package/server.json +2 -2
  4. package/.github/dependabot.yml +0 -17
  5. package/.github/workflows/ci.yml +0 -44
  6. package/.github/workflows/pr-title.yml +0 -10
  7. package/.github/workflows/publish.yml +0 -66
  8. package/.gitmodules +0 -9
  9. package/.prettierignore +0 -29
  10. package/.prettierrc +0 -9
  11. package/.releaserc +0 -37
  12. package/docs/CONTRIBUTING.md +0 -424
  13. package/eslint.config.js +0 -23
  14. package/examples/android-gmail.md +0 -7
  15. package/examples/android-todo-app.md +0 -9
  16. package/jest.config.js +0 -23
  17. package/src/devicemanager/adb-manager.ts +0 -164
  18. package/src/devicemanager/ios-manager.ts +0 -145
  19. package/src/index.ts +0 -45
  20. package/src/locators/element-filter.ts +0 -136
  21. package/src/locators/generate-all-locators.ts +0 -150
  22. package/src/locators/locator-generation.ts +0 -657
  23. package/src/locators/source-parsing.ts +0 -149
  24. package/src/logger.ts +0 -11
  25. package/src/resources/caps.json +0 -697
  26. package/src/resources/index.ts +0 -8
  27. package/src/resources/java/template.ts +0 -83
  28. package/src/resources/submodules/appium/.github/PULL_REQUEST_TEMPLATE.md +0 -28
  29. package/src/resources/submodules/appium/CHANGELOG.md +0 -45
  30. package/src/resources/submodules/appium/CONDUCT.md +0 -48
  31. package/src/resources/submodules/appium/GOVERNANCE.md +0 -185
  32. package/src/resources/submodules/appium/IDEAS.md +0 -16
  33. package/src/resources/submodules/appium/README.md +0 -221
  34. package/src/resources/submodules/appium/ROADMAP.md +0 -30
  35. package/src/resources/submodules/appium/SPONSORS.md +0 -3
  36. package/src/resources/submodules/appium/docs/README.md +0 -6
  37. package/src/resources/submodules/appium/docs/payout.md +0 -35
  38. package/src/resources/submodules/appium/packages/appium/CHANGELOG.md +0 -1437
  39. package/src/resources/submodules/appium/packages/appium/README.md +0 -221
  40. package/src/resources/submodules/appium/packages/appium/docs/en/blog/index.md +0 -2
  41. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-appiumconf2024.md +0 -45
  42. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-browserstack-as-strategic-partner.md +0 -46
  43. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-headspin-as-development-partner.md +0 -47
  44. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-lambdatest-as-strategic-partner.md +0 -42
  45. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-sauce-labs-as-strategic-partner.md +0 -36
  46. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-sponsorship-program.md +0 -48
  47. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/appium3.md +0 -40
  48. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/hello-world.md +0 -15
  49. package/src/resources/submodules/appium/packages/appium/docs/en/contributing/index.md +0 -150
  50. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-docs.md +0 -86
  51. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-doctor-checks.md +0 -141
  52. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-drivers.md +0 -860
  53. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-plugins.md +0 -514
  54. package/src/resources/submodules/appium/packages/appium/docs/en/developing/config-system.md +0 -451
  55. package/src/resources/submodules/appium/packages/appium/docs/en/developing/index.md +0 -18
  56. package/src/resources/submodules/appium/packages/appium/docs/en/developing/sensitive.md +0 -49
  57. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/clients.md +0 -132
  58. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/drivers.md +0 -207
  59. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/index.md +0 -45
  60. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/plugins.md +0 -138
  61. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/tools.md +0 -83
  62. package/src/resources/submodules/appium/packages/appium/docs/en/guides/branch-testing.md +0 -57
  63. package/src/resources/submodules/appium/packages/appium/docs/en/guides/caching.md +0 -76
  64. package/src/resources/submodules/appium/packages/appium/docs/en/guides/caps.md +0 -275
  65. package/src/resources/submodules/appium/packages/appium/docs/en/guides/config.md +0 -98
  66. package/src/resources/submodules/appium/packages/appium/docs/en/guides/context.md +0 -44
  67. package/src/resources/submodules/appium/packages/appium/docs/en/guides/event-timing.md +0 -73
  68. package/src/resources/submodules/appium/packages/appium/docs/en/guides/execute-methods.md +0 -122
  69. package/src/resources/submodules/appium/packages/appium/docs/en/guides/grid.md +0 -166
  70. package/src/resources/submodules/appium/packages/appium/docs/en/guides/headers.md +0 -17
  71. package/src/resources/submodules/appium/packages/appium/docs/en/guides/log-filters.md +0 -86
  72. package/src/resources/submodules/appium/packages/appium/docs/en/guides/managing-exts.md +0 -87
  73. package/src/resources/submodules/appium/packages/appium/docs/en/guides/migrating-1-to-2.md +0 -368
  74. package/src/resources/submodules/appium/packages/appium/docs/en/guides/migrating-2-to-3.md +0 -464
  75. package/src/resources/submodules/appium/packages/appium/docs/en/guides/security.md +0 -89
  76. package/src/resources/submodules/appium/packages/appium/docs/en/guides/settings.md +0 -68
  77. package/src/resources/submodules/appium/packages/appium/docs/en/guides/tls.md +0 -42
  78. package/src/resources/submodules/appium/packages/appium/docs/en/index.md +0 -59
  79. package/src/resources/submodules/appium/packages/appium/docs/en/intro/appium.md +0 -202
  80. package/src/resources/submodules/appium/packages/appium/docs/en/intro/clients.md +0 -127
  81. package/src/resources/submodules/appium/packages/appium/docs/en/intro/drivers.md +0 -188
  82. package/src/resources/submodules/appium/packages/appium/docs/en/intro/history.md +0 -196
  83. package/src/resources/submodules/appium/packages/appium/docs/en/intro/index.md +0 -39
  84. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/index.md +0 -29
  85. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/install.md +0 -50
  86. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/next-steps.md +0 -23
  87. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/requirements.md +0 -29
  88. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-dotnet.md +0 -105
  89. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-java.md +0 -23
  90. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-js.md +0 -75
  91. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-py.md +0 -60
  92. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-rb.md +0 -83
  93. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/uiauto2-driver.md +0 -144
  94. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/appium.md +0 -394
  95. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/bidi.md +0 -70
  96. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/index.md +0 -30
  97. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/jsonwp.md +0 -214
  98. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/mjsonwp.md +0 -151
  99. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/others.md +0 -671
  100. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/plugins.md +0 -289
  101. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/webdriver.md +0 -1114
  102. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/env-vars.md +0 -31
  103. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/extensions.md +0 -239
  104. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/index.md +0 -35
  105. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/server.md +0 -76
  106. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/setup.md +0 -76
  107. package/src/resources/submodules/appium/packages/appium/docs/en/reference/index.md +0 -25
  108. package/src/resources/submodules/appium/packages/appium/docs/en/resources/index.md +0 -28
  109. package/src/resources/submodules/appium/packages/appium/docs/en/sponsors/index.md +0 -64
  110. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/index.md +0 -2
  111. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-appiumconf2024.md +0 -45
  112. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-browserstack-as-strategic-partner.md +0 -46
  113. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-headspin-as-development-partner.md +0 -47
  114. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-lambdatest-as-strategic-partner.md +0 -41
  115. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-sauce-labs-as-strategic-partner.md +0 -36
  116. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-sponsorship-program.md +0 -48
  117. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/appium3.md +0 -40
  118. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/hello-world.md +0 -15
  119. package/src/resources/submodules/appium/packages/appium/docs/ja/contributing/index.md +0 -158
  120. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-docs.md +0 -86
  121. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-doctor-checks.md +0 -141
  122. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-drivers.md +0 -866
  123. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-plugins.md +0 -520
  124. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/config-system.md +0 -468
  125. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/index.md +0 -18
  126. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/sensitive.md +0 -49
  127. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/clients.md +0 -143
  128. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/drivers.md +0 -219
  129. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/index.md +0 -45
  130. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/plugins.md +0 -140
  131. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/tools.md +0 -87
  132. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/branch-testing.md +0 -57
  133. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/caching.md +0 -78
  134. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/caps.md +0 -259
  135. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/config.md +0 -102
  136. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/context.md +0 -44
  137. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/event-timing.md +0 -75
  138. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/execute-methods.md +0 -142
  139. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/grid.md +0 -166
  140. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/headers.md +0 -17
  141. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/log-filters.md +0 -86
  142. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/managing-exts.md +0 -89
  143. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/migrating-1-to-2.md +0 -402
  144. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/migrating-2-to-3.md +0 -458
  145. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/security.md +0 -89
  146. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/settings.md +0 -70
  147. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/tls.md +0 -43
  148. package/src/resources/submodules/appium/packages/appium/docs/ja/index.md +0 -55
  149. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/appium.md +0 -191
  150. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/clients.md +0 -139
  151. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/drivers.md +0 -188
  152. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/history.md +0 -196
  153. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/index.md +0 -39
  154. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/index.md +0 -23
  155. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/install.md +0 -47
  156. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/next-steps.md +0 -19
  157. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/requirements.md +0 -29
  158. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-dotnet.md +0 -107
  159. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-java.md +0 -23
  160. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-js.md +0 -77
  161. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-py.md +0 -63
  162. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-rb.md +0 -85
  163. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/uiauto2-driver.md +0 -148
  164. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/appium.md +0 -395
  165. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/bidi.md +0 -71
  166. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/index.md +0 -30
  167. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/jsonwp.md +0 -215
  168. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/mjsonwp.md +0 -152
  169. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/others.md +0 -672
  170. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/plugins.md +0 -291
  171. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/webdriver.md +0 -1114
  172. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/env-vars.md +0 -31
  173. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/extensions.md +0 -240
  174. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/index.md +0 -35
  175. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/server.md +0 -76
  176. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/setup.md +0 -78
  177. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/index.md +0 -25
  178. package/src/resources/submodules/appium/packages/appium/docs/ja/resources/index.md +0 -28
  179. package/src/resources/submodules/appium/packages/appium/docs/ja/sponsors/index.md +0 -61
  180. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-horiz-white.png +0 -0
  181. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-horiz.png +0 -0
  182. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-white.png +0 -0
  183. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo.png +0 -0
  184. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-browserstack-dark.png +0 -0
  185. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-browserstack-light.png +0 -0
  186. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-lambdatest-dark.png +0 -0
  187. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-lambdatest-light.png +0 -0
  188. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-sauce.png +0 -0
  189. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/index.md +0 -2
  190. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-appiumconf2024.md +0 -45
  191. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-browserstack-as-strategic-partner.md +0 -46
  192. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-headspin-as-development-partner.md +0 -47
  193. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-lambdatest-as-strategic-partner.md +0 -41
  194. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-sauce-labs-as-strategic-partner.md +0 -36
  195. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-sponsorship-program.md +0 -48
  196. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/appium3.md +0 -40
  197. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/hello-world.md +0 -15
  198. package/src/resources/submodules/appium/packages/appium/docs/zh/contributing/index.md +0 -132
  199. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-docs.md +0 -86
  200. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-doctor-checks.md +0 -141
  201. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-drivers.md +0 -866
  202. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-plugins.md +0 -520
  203. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/config-system.md +0 -468
  204. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/index.md +0 -18
  205. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/sensitive.md +0 -49
  206. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/clients.md +0 -143
  207. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/drivers.md +0 -219
  208. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/index.md +0 -45
  209. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/plugins.md +0 -140
  210. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/tools.md +0 -87
  211. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/branch-testing.md +0 -57
  212. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/caching.md +0 -78
  213. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/caps.md +0 -284
  214. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/config.md +0 -102
  215. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/context.md +0 -44
  216. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/event-timing.md +0 -75
  217. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/execute-methods.md +0 -142
  218. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/grid.md +0 -166
  219. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/headers.md +0 -17
  220. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/log-filters.md +0 -86
  221. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/managing-exts.md +0 -89
  222. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/migrating-1-to-2.md +0 -410
  223. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/migrating-2-to-3.md +0 -459
  224. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/security.md +0 -89
  225. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/settings.md +0 -70
  226. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/tls.md +0 -43
  227. package/src/resources/submodules/appium/packages/appium/docs/zh/index.md +0 -54
  228. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/appium.md +0 -200
  229. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/clients.md +0 -139
  230. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/drivers.md +0 -188
  231. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/history.md +0 -196
  232. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/index.md +0 -39
  233. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/index.md +0 -23
  234. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/install.md +0 -47
  235. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/next-steps.md +0 -19
  236. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/requirements.md +0 -21
  237. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-dotnet.md +0 -99
  238. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-java.md +0 -20
  239. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-js.md +0 -62
  240. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-py.md +0 -57
  241. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-rb.md +0 -80
  242. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/uiauto2-driver.md +0 -148
  243. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/appium.md +0 -395
  244. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/bidi.md +0 -71
  245. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/index.md +0 -30
  246. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/jsonwp.md +0 -215
  247. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/mjsonwp.md +0 -152
  248. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/others.md +0 -672
  249. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/plugins.md +0 -291
  250. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/webdriver.md +0 -1114
  251. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/env-vars.md +0 -31
  252. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/extensions.md +0 -240
  253. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/index.md +0 -35
  254. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/server.md +0 -76
  255. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/setup.md +0 -78
  256. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/index.md +0 -25
  257. package/src/resources/submodules/appium/packages/appium/docs/zh/resources/index.md +0 -28
  258. package/src/resources/submodules/appium/packages/appium/docs/zh/sponsors/index.md +0 -61
  259. package/src/resources/submodules/appium/packages/appium/types/manifest/README.md +0 -30
  260. package/src/resources/submodules/appium/packages/base-driver/CHANGELOG.md +0 -1131
  261. package/src/resources/submodules/appium/packages/base-driver/README.md +0 -15
  262. package/src/resources/submodules/appium/packages/base-driver/docs/mjsonwp/errors.md +0 -82
  263. package/src/resources/submodules/appium/packages/base-driver/docs/mjsonwp/protocol-methods.md +0 -182
  264. package/src/resources/submodules/appium/packages/base-driver/static/appium.png +0 -0
  265. package/src/resources/submodules/appium/packages/base-plugin/CHANGELOG.md +0 -672
  266. package/src/resources/submodules/appium/packages/base-plugin/README.md +0 -15
  267. package/src/resources/submodules/appium/packages/docutils/CHANGELOG.md +0 -948
  268. package/src/resources/submodules/appium/packages/docutils/README.md +0 -27
  269. package/src/resources/submodules/appium/packages/driver-test-support/CHANGELOG.md +0 -717
  270. package/src/resources/submodules/appium/packages/driver-test-support/README.md +0 -112
  271. package/src/resources/submodules/appium/packages/eslint-config-appium-ts/CHANGELOG.md +0 -168
  272. package/src/resources/submodules/appium/packages/eslint-config-appium-ts/README.md +0 -33
  273. package/src/resources/submodules/appium/packages/execute-driver-plugin/CHANGELOG.md +0 -603
  274. package/src/resources/submodules/appium/packages/execute-driver-plugin/README.md +0 -42
  275. package/src/resources/submodules/appium/packages/fake-driver/CHANGELOG.md +0 -545
  276. package/src/resources/submodules/appium/packages/fake-driver/README.md +0 -7
  277. package/src/resources/submodules/appium/packages/fake-driver/lib/screen.png +0 -0
  278. package/src/resources/submodules/appium/packages/fake-plugin/CHANGELOG.md +0 -683
  279. package/src/resources/submodules/appium/packages/fake-plugin/README.md +0 -7
  280. package/src/resources/submodules/appium/packages/images-plugin/CHANGELOG.md +0 -602
  281. package/src/resources/submodules/appium/packages/images-plugin/README.md +0 -27
  282. package/src/resources/submodules/appium/packages/images-plugin/docs/find-by-image.md +0 -65
  283. package/src/resources/submodules/appium/packages/images-plugin/docs/image-comparison.md +0 -203
  284. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/appstore.png +0 -0
  285. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img1.png +0 -0
  286. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img2.png +0 -0
  287. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img2_part.png +0 -0
  288. package/src/resources/submodules/appium/packages/logger/CHANGELOG.md +0 -162
  289. package/src/resources/submodules/appium/packages/logger/README.md +0 -31
  290. package/src/resources/submodules/appium/packages/opencv/CHANGELOG.md +0 -384
  291. package/src/resources/submodules/appium/packages/opencv/README.md +0 -68
  292. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/appium-diagram.jpg +0 -0
  293. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc1.png +0 -0
  294. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc2.png +0 -0
  295. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc_rotated.png +0 -0
  296. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/findwaldo.jpg +0 -0
  297. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/number5.png +0 -0
  298. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/waldo.jpg +0 -0
  299. package/src/resources/submodules/appium/packages/plugin-test-support/CHANGELOG.md +0 -539
  300. package/src/resources/submodules/appium/packages/plugin-test-support/README.md +0 -49
  301. package/src/resources/submodules/appium/packages/relaxed-caps-plugin/CHANGELOG.md +0 -154
  302. package/src/resources/submodules/appium/packages/relaxed-caps-plugin/README.md +0 -35
  303. package/src/resources/submodules/appium/packages/schema/CHANGELOG.md +0 -271
  304. package/src/resources/submodules/appium/packages/schema/README.md +0 -50
  305. package/src/resources/submodules/appium/packages/storage-plugin/CHANGELOG.md +0 -73
  306. package/src/resources/submodules/appium/packages/storage-plugin/README.md +0 -83
  307. package/src/resources/submodules/appium/packages/strongbox/CHANGELOG.md +0 -94
  308. package/src/resources/submodules/appium/packages/strongbox/README.md +0 -96
  309. package/src/resources/submodules/appium/packages/support/CHANGELOG.md +0 -1054
  310. package/src/resources/submodules/appium/packages/support/README.md +0 -161
  311. package/src/resources/submodules/appium/packages/test-support/CHANGELOG.md +0 -712
  312. package/src/resources/submodules/appium/packages/test-support/README.md +0 -61
  313. package/src/resources/submodules/appium/packages/tsconfig/CHANGELOG.md +0 -131
  314. package/src/resources/submodules/appium/packages/tsconfig/README.md +0 -19
  315. package/src/resources/submodules/appium/packages/types/CHANGELOG.md +0 -793
  316. package/src/resources/submodules/appium/packages/types/README.md +0 -21
  317. package/src/resources/submodules/appium/packages/universal-xml-plugin/CHANGELOG.md +0 -435
  318. package/src/resources/submodules/appium/packages/universal-xml-plugin/README.md +0 -53
  319. package/src/resources/submodules/appium/renovate/README.md +0 -63
  320. package/src/resources/submodules/appium-uiautomator2-driver/CHANGELOG.md +0 -1204
  321. package/src/resources/submodules/appium-uiautomator2-driver/README.md +0 -2077
  322. package/src/resources/submodules/appium-uiautomator2-driver/docs/actions.md +0 -72
  323. package/src/resources/submodules/appium-uiautomator2-driver/docs/activity-startup.md +0 -47
  324. package/src/resources/submodules/appium-uiautomator2-driver/docs/android-appbundle.md +0 -69
  325. package/src/resources/submodules/appium-uiautomator2-driver/docs/android-mobile-gestures.md +0 -352
  326. package/src/resources/submodules/appium-uiautomator2-driver/docs/bidi.md +0 -50
  327. package/src/resources/submodules/appium-uiautomator2-driver/docs/capability-sets.md +0 -136
  328. package/src/resources/submodules/appium-uiautomator2-driver/docs/scheduled-actions.md +0 -155
  329. package/src/resources/submodules/appium-uiautomator2-driver/docs/uiautomator-uiselector.md +0 -51
  330. package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/main.md +0 -95
  331. package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/screen1.png +0 -0
  332. package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/screen2.png +0 -0
  333. package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/checkered-squares.png +0 -0
  334. package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/start-button.png +0 -0
  335. package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/stop-button.png +0 -0
  336. package/src/resources/submodules/appium-xcuitest-driver/.github/ISSUE_TEMPLATE.md +0 -4
  337. package/src/resources/submodules/appium-xcuitest-driver/CHANGELOG.md +0 -2594
  338. package/src/resources/submodules/appium-xcuitest-driver/README.md +0 -55
  339. package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-logo-white.png +0 -0
  340. package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-logo.png +0 -0
  341. package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-plus-xctest.png +0 -0
  342. package/src/resources/submodules/appium-xcuitest-driver/docs/contributing.md +0 -45
  343. package/src/resources/submodules/appium-xcuitest-driver/docs/endpoints-wda.md +0 -61
  344. package/src/resources/submodules/appium-xcuitest-driver/docs/endpoints.md +0 -98
  345. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/keynote.png +0 -0
  346. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/on_my_iphone.png +0 -0
  347. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/top_files.png +0 -0
  348. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/attach-to-running-wda.md +0 -43
  349. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/audio-capture.md +0 -78
  350. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/capability-sets.md +0 -169
  351. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/ci-setup.md +0 -47
  352. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/clipboard.md +0 -47
  353. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/elements-lookup-troubleshooting.md +0 -158
  354. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/file-transfer.md +0 -147
  355. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/gestures.md +0 -52
  356. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/hybrid.md +0 -137
  357. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/input-events.md +0 -67
  358. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/install-certificate.md +0 -19
  359. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/multiple-xcode-versions.md +0 -37
  360. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/parallel-tests.md +0 -39
  361. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/run-prebuilt-wda.md +0 -135
  362. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/run-preinstalled-wda.md +0 -178
  363. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/touch-id.md +0 -33
  364. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/troubleshooting.md +0 -191
  365. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/tvos.md +0 -114
  366. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/wda-custom-server.md +0 -283
  367. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/wda-slowness.md +0 -231
  368. package/src/resources/submodules/appium-xcuitest-driver/docs/index.md +0 -36
  369. package/src/resources/submodules/appium-xcuitest-driver/docs/installation/index.md +0 -137
  370. package/src/resources/submodules/appium-xcuitest-driver/docs/overview.md +0 -19
  371. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/check-prov-prof.png +0 -0
  372. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/create-new-project.png +0 -0
  373. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/create-single-page.png +0 -0
  374. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/no-prov-prof.png +0 -0
  375. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/project-prov-prof.png +0 -0
  376. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/set-up-bundle.png +0 -0
  377. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/untrusted-dev.png +0 -0
  378. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/xcode-bundle-id.png +0 -0
  379. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/xcode-config.png +0 -0
  380. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/xcode-facebook-fail.png +0 -0
  381. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/xcode-facebook-succeed.png +0 -0
  382. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/index.md +0 -51
  383. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/prov-profile-basic-auto.md +0 -49
  384. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/prov-profile-basic-manual.md +0 -40
  385. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/prov-profile-full-manual.md +0 -50
  386. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/prov-profile-generic-manual.md +0 -49
  387. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/real-device-config.md +0 -100
  388. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/assets/images/useXctestrunFile.png +0 -0
  389. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/bidi.md +0 -75
  390. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/capabilities.md +0 -165
  391. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/commands.md +0 -490
  392. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/element-attributes.md +0 -27
  393. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/execute-methods.md +0 -2206
  394. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/ios-predicate.md +0 -196
  395. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/locator-strategies.md +0 -19
  396. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/scripts.md +0 -29
  397. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/security-flags.md +0 -22
  398. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/server-args.md +0 -16
  399. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/settings.md +0 -49
  400. package/src/resources/submodules/appium-xcuitest-driver/test/assets/TestApp-iphonesimulator.app/Default-568h@2x.png +0 -0
  401. package/src/resources/submodules/appium-xcuitest-driver/test/assets/test.png +0 -0
  402. package/src/schema.ts +0 -5
  403. package/src/scripts/simple-index-documentation.ts +0 -93
  404. package/src/scripts/simple-query-documentation.ts +0 -61
  405. package/src/server.ts +0 -40
  406. package/src/session-store.ts +0 -117
  407. package/src/tests/README.md +0 -83
  408. package/src/tests/__mocks__/@appium/support.ts +0 -30
  409. package/src/tests/generate-all-locators.test.ts +0 -178
  410. package/src/tests/screenshot.test.ts +0 -279
  411. package/src/tests/test-setup-wda.ts +0 -255
  412. package/src/tools/README.md +0 -179
  413. package/src/tools/app-management/activate-app.ts +0 -46
  414. package/src/tools/app-management/install-app.ts +0 -54
  415. package/src/tools/app-management/list-apps.ts +0 -87
  416. package/src/tools/app-management/terminate-app.ts +0 -56
  417. package/src/tools/app-management/uninstall-app.ts +0 -56
  418. package/src/tools/context/get-contexts.ts +0 -78
  419. package/src/tools/context/switch-context.ts +0 -106
  420. package/src/tools/documentation/answer-appium.ts +0 -73
  421. package/src/tools/documentation/index.ts +0 -98
  422. package/src/tools/documentation/reasoning-rag.ts +0 -435
  423. package/src/tools/documentation/sentence-transformers-embeddings.ts +0 -144
  424. package/src/tools/documentation/simple-pdf-indexer.ts +0 -508
  425. package/src/tools/documentation/uploads/documents.json +0 -1
  426. package/src/tools/index.ts +0 -159
  427. package/src/tools/interactions/click.ts +0 -50
  428. package/src/tools/interactions/double-tap.ts +0 -99
  429. package/src/tools/interactions/drag-and-drop.ts +0 -238
  430. package/src/tools/interactions/find.ts +0 -61
  431. package/src/tools/interactions/get-page-source.ts +0 -65
  432. package/src/tools/interactions/get-text.ts +0 -50
  433. package/src/tools/interactions/long-press.ts +0 -120
  434. package/src/tools/interactions/screenshot.ts +0 -119
  435. package/src/tools/interactions/set-value.ts +0 -54
  436. package/src/tools/ios/boot-simulator.ts +0 -88
  437. package/src/tools/ios/install-wda.ts +0 -277
  438. package/src/tools/ios/setup-wda.ts +0 -217
  439. package/src/tools/navigations/scroll-to-element.ts +0 -198
  440. package/src/tools/navigations/scroll.ts +0 -113
  441. package/src/tools/navigations/swipe.ts +0 -368
  442. package/src/tools/session/create-session.ts +0 -379
  443. package/src/tools/session/delete-session.ts +0 -56
  444. package/src/tools/session/select-device.ts +0 -326
  445. package/src/tools/session/select-platform.ts +0 -250
  446. package/src/tools/test-generation/generate-tests.ts +0 -48
  447. package/src/tools/test-generation/locators.ts +0 -101
  448. package/src/types/appium-ios-device.d.ts +0 -8
  449. package/src/types/appium-xcuitest-driver.d.ts +0 -5
  450. package/src/ui/mcp-ui-utils.ts +0 -1630
  451. package/tsconfig.json +0 -15
  452. package/tsconfig.tsbuildinfo +0 -1
@@ -1,255 +0,0 @@
1
- /**
2
- * Test file for setup-wda tool
3
- * Run with: npx tsx src/tests/test-setup-wda.ts
4
- */
5
- import path from 'path';
6
- import fs from 'fs';
7
- import os from 'os';
8
- import { createRequire } from 'module';
9
- import https from 'https';
10
- import { exec } from 'child_process';
11
- import { promisify } from 'util';
12
-
13
- const execAsync = promisify(exec);
14
-
15
- // Mock server object to test the tool
16
- class MockServer {
17
- private tools: Map<string, any> = new Map();
18
-
19
- addTool(tool: any) {
20
- this.tools.set(tool.name, tool);
21
- console.log(`✅ Tool registered: ${tool.name}`);
22
- }
23
-
24
- getTool(name: string) {
25
- return this.tools.get(name);
26
- }
27
- }
28
-
29
- async function downloadFile(url: string, destPath: string): Promise<void> {
30
- return new Promise((resolve, reject) => {
31
- const file = fs.createWriteStream(destPath);
32
-
33
- https
34
- .get(url, async (response) => {
35
- // Handle redirects
36
- if (response.statusCode === 302 || response.statusCode === 301) {
37
- file.close();
38
- fs.unlinkSync(destPath);
39
- try {
40
- await downloadFile(response.headers.location!, destPath);
41
- resolve();
42
- } catch (err) {
43
- reject(err);
44
- }
45
- return;
46
- }
47
-
48
- if (response.statusCode !== 200) {
49
- file.close();
50
- fs.unlinkSync(destPath);
51
- return reject(
52
- new Error(`Failed to download: ${response.statusCode}`)
53
- );
54
- }
55
-
56
- const totalSize = parseInt(
57
- response.headers['content-length'] || '0',
58
- 10
59
- );
60
- let downloadedSize = 0;
61
-
62
- response.on('data', (chunk) => {
63
- downloadedSize += chunk.length;
64
- const percent = ((downloadedSize / totalSize) * 100).toFixed(1);
65
- process.stdout.write(
66
- `\r Downloading... ${percent}% (${Math.round(downloadedSize / 1024 / 1024)}MB / ${Math.round(totalSize / 1024 / 1024)}MB)`
67
- );
68
- });
69
-
70
- response.pipe(file);
71
-
72
- file.on('finish', () => {
73
- file.close();
74
- process.stdout.write('\n');
75
- resolve();
76
- });
77
- })
78
- .on('error', (err) => {
79
- file.close();
80
- fs.unlinkSync(destPath);
81
- reject(err);
82
- });
83
- });
84
- }
85
-
86
- async function unzipFile(zipPath: string, destDir: string): Promise<void> {
87
- console.log(` Extracting to: ${destDir}`);
88
- await execAsync(`unzip -q "${zipPath}" -d "${destDir}"`);
89
- console.log(' ✅ Extraction complete');
90
- }
91
-
92
- function cachePath(folder: string): string {
93
- return path.join(os.homedir(), '.cache', 'appium-mcp', folder);
94
- }
95
-
96
- async function getLatestWDAVersion(): Promise<string> {
97
- return new Promise((resolve, reject) => {
98
- const options = {
99
- hostname: 'api.github.com',
100
- path: '/repos/appium/WebDriverAgent/releases/latest',
101
- method: 'GET',
102
- headers: {
103
- 'User-Agent': 'mcp-appium-test',
104
- Accept: 'application/vnd.github.v3+json',
105
- },
106
- };
107
-
108
- https
109
- .get(options, (response) => {
110
- let data = '';
111
-
112
- response.on('data', (chunk) => {
113
- data += chunk;
114
- });
115
-
116
- response.on('end', () => {
117
- try {
118
- const release = JSON.parse(data);
119
- if (release.tag_name) {
120
- // Remove 'v' prefix if present
121
- const version = release.tag_name.replace(/^v/, '');
122
- resolve(version);
123
- } else {
124
- reject(new Error('No tag_name found in release data'));
125
- }
126
- } catch (error) {
127
- reject(error);
128
- }
129
- });
130
- })
131
- .on('error', (err) => {
132
- reject(err);
133
- });
134
- });
135
- }
136
-
137
- async function main() {
138
- console.log('🧪 Testing WDA Download and Setup\n');
139
- console.log('='.repeat(60));
140
-
141
- try {
142
- // Fetch latest WDA version from GitHub releases API
143
- console.log('\n🔍 Fetching latest WDA version from GitHub...');
144
- const wdaVersion = await getLatestWDAVersion();
145
- console.log(`✅ Latest WDA Version: v${wdaVersion}`);
146
- console.log(
147
- ' Source: https://github.com/appium/WebDriverAgent/releases/latest'
148
- );
149
-
150
- // Create cache directory structure using home directory
151
- const versionCacheDir = cachePath(`wda/${wdaVersion}`);
152
- const extractDir = path.join(versionCacheDir, 'extracted');
153
- const zipPath = path.join(
154
- versionCacheDir,
155
- 'WebDriverAgentRunner-Runner.zip'
156
- );
157
- const appPath = path.join(extractDir, 'WebDriverAgentRunner-Runner.app');
158
-
159
- console.log('\n📁 Cache Directory:', versionCacheDir);
160
- console.log(` (~/.cache/appium-device-farm/wda/${wdaVersion})`);
161
-
162
- // Check if this version is already cached
163
- if (fs.existsSync(appPath)) {
164
- console.log('\n✅ WDA version already cached! Skipping download.');
165
- console.log(` Location: ${appPath}`);
166
-
167
- // Show app contents
168
- const appContents = fs.readdirSync(appPath);
169
- console.log('\n📋 Cached App bundle contents:');
170
- appContents.forEach((item) => {
171
- console.log(` - ${item}`);
172
- });
173
-
174
- console.log('\n' + '='.repeat(60));
175
- console.log('🎉 Using cached WDA!');
176
- console.log(`💡 Cache location: ${versionCacheDir}`);
177
- return;
178
- }
179
-
180
- // Version not cached, proceed with download
181
- console.log('\n⚠️ Version not found in cache. Downloading...');
182
-
183
- // Create cache directories
184
- fs.mkdirSync(versionCacheDir, { recursive: true });
185
- fs.mkdirSync(extractDir, { recursive: true });
186
-
187
- // Download URL
188
- const downloadUrl = `https://github.com/appium/WebDriverAgent/releases/download/v${wdaVersion}/WebDriverAgentRunner-Runner.zip`;
189
-
190
- console.log('\n⬇️ Downloading WDA from GitHub releases...');
191
- console.log(` URL: ${downloadUrl}`);
192
-
193
- const startTime = Date.now();
194
- await downloadFile(downloadUrl, zipPath);
195
- const downloadTime = ((Date.now() - startTime) / 1000).toFixed(1);
196
-
197
- console.log(` ✅ Download complete (${downloadTime}s)`);
198
-
199
- // Check file size
200
- const stats = fs.statSync(zipPath);
201
- const fileSizeMB = (stats.size / 1024 / 1024).toFixed(2);
202
- console.log(` 📦 File size: ${fileSizeMB} MB`);
203
-
204
- // Unzip the file
205
- console.log('\n📂 Extracting WDA bundle...');
206
- await unzipFile(zipPath, extractDir);
207
-
208
- // List contents
209
- console.log('\n📋 Extracted contents:');
210
- const contents = fs.readdirSync(extractDir);
211
- contents.forEach((item) => {
212
- const itemPath = path.join(extractDir, item);
213
- const isDir = fs.statSync(itemPath).isDirectory();
214
- console.log(` ${isDir ? '📁' : '📄'} ${item}`);
215
- });
216
-
217
- // Check if WebDriverAgentRunner-Runner.app exists
218
- if (fs.existsSync(appPath)) {
219
- console.log('\n✅ WebDriverAgentRunner-Runner.app found!');
220
- console.log(` Location: ${appPath}`);
221
-
222
- // Show app contents
223
- const appContents = fs.readdirSync(appPath);
224
- console.log('\n App bundle contents:');
225
- appContents.forEach((item) => {
226
- console.log(` - ${item}`);
227
- });
228
- } else {
229
- console.log('\n⚠️ WebDriverAgentRunner-Runner.app not found');
230
- }
231
-
232
- console.log('\n' + '='.repeat(60));
233
- console.log('🎉 Download and setup completed successfully!');
234
- console.log(`\n💡 Cached location: ${versionCacheDir}`);
235
- console.log(
236
- ' This version will be reused on subsequent runs (no re-download needed)'
237
- );
238
- } catch (error: any) {
239
- console.error('\n❌ Test failed:', error.message);
240
- if (error.stack) {
241
- console.error('\nStack trace:', error.stack);
242
- }
243
- process.exit(1);
244
- }
245
- }
246
-
247
- // Run main function
248
- (async () => {
249
- try {
250
- await main();
251
- } catch (error: any) {
252
- console.error('\n💥 Unexpected error:', error);
253
- process.exit(1);
254
- }
255
- })();
@@ -1,179 +0,0 @@
1
- # Tools Directory
2
-
3
- This directory contains all MCP tools available in MCP Appium.
4
-
5
- ## Tool Categories
6
-
7
- ### Session Management (`session/`)
8
-
9
- - `create-session.ts` - Create mobile automation sessions
10
- - `delete-session.ts` - Clean up sessions
11
- - `select-platform.ts` - Choose Android or iOS
12
- - `select-device.ts` - Choose specific device
13
-
14
- ### iOS Setup (`ios/`)
15
-
16
- - `boot-simulator.ts` - Boot iOS simulators
17
- - `setup-wda.ts` - Setup WebDriverAgent
18
- - `install-wda.ts` - Install WebDriverAgent
19
-
20
- ### Navigation (`navigations/`)
21
-
22
- - `scroll.ts` - Scroll screens
23
- - `scroll-to-element.ts` - Scroll until element found
24
- - `swipe.ts` - Swipe screens in any direction or between custom coordinates
25
-
26
- ### Element Interactions (`interactions/`)
27
-
28
- - `find.ts` - Find elements
29
- - `click.ts` - Click elements
30
- - `double-tap.ts` - Double tap elements
31
- - `long-press.ts` - Long press (press and hold) elements
32
- - `drag-and-drop.ts` - Drag and drop elements or coordinates
33
- - `set-value.ts` - Enter text
34
- - `get-text.ts` - Get element text
35
- - `get-page-source.ts` - Get page source (XML) from current screen
36
- - `screenshot.ts` - Capture screenshots
37
-
38
- ### App Management (`app-management/`)
39
-
40
- - `activate-app.ts` - Activate apps
41
- - `terminate-app.ts` - Terminate apps
42
- - `install-app.ts` - Install apps
43
- - `uninstall-app.ts` - Uninstall apps
44
- - `list-apps.ts` - List installed apps
45
-
46
- ### Test Generation (`test-generation/`)
47
-
48
- - `locators.ts` - Generate page locators
49
- - `generate-tests.ts` - Generate test code from scenarios
50
-
51
- ### Documentation (`documentation/`)
52
-
53
- - `answer-appium.ts` - Answer Appium questions using RAG
54
-
55
- ## Adding a New Tool
56
-
57
- See [docs/CONTRIBUTING.md](../../docs/CONTRIBUTING.md) for detailed instructions.
58
-
59
- Quick steps:
60
-
61
- 1. Create a new file in the appropriate subdirectory (e.g., `interactions/my-tool.ts`)
62
- 2. Define the tool following the template
63
- 3. Import and register it in `index.ts`
64
- 4. Test with `npm run build && npm start`
65
-
66
- ### Tool Template
67
-
68
- ```typescript
69
- import { FastMCP } from 'fastmcp/dist/FastMCP.js';
70
- import { z } from 'zod';
71
- import { getDriver } from '../../session-store.js';
72
-
73
- export default function myTool(server: FastMCP): void {
74
- server.addTool({
75
- name: 'appium_my_tool',
76
- description: 'What this tool does',
77
- parameters: z.object({
78
- param: z.string().describe('Parameter description'),
79
- }),
80
- annotations: {
81
- readOnlyHint: false,
82
- openWorldHint: false,
83
- },
84
- execute: async (args: any, context: any): Promise<any> => {
85
- const driver = getDriver();
86
- if (!driver) {
87
- throw new Error('No active session');
88
- }
89
-
90
- // Implementation
91
-
92
- return {
93
- content: [
94
- {
95
- type: 'text',
96
- text: 'Success',
97
- },
98
- ],
99
- };
100
- },
101
- });
102
- }
103
- ```
104
-
105
- ### Registering a Tool
106
-
107
- Add to `src/tools/index.ts`:
108
-
109
- ```typescript
110
- import myTool from './interactions/my-tool.js';
111
-
112
- export default function registerTools(server: FastMCP): void {
113
- // ... existing tools ...
114
- myTool(server);
115
- // ...
116
- }
117
- ```
118
-
119
- ## Best Practices
120
-
121
- 1. **Always check for active session**: Use `getDriver()` and check for null
122
- 2. **Provide helpful errors**: Give clear error messages
123
- 3. **Use proper types**: Leverage TypeScript and Zod for type safety
124
- 4. **Add logging**: Use the logger from `logger.js` for debugging. Import with: `import log from 'logger.js'`. Use `log.info()`, `log.error()`, `log.warn()` instead of `console.log/error/warn` to maintain JSON-RPC compatibility
125
- 5. **Handle errors**: Always wrap risky operations in try-catch
126
- 6. **Return proper format**: Always return content in expected MCP format
127
-
128
- ## Session Store
129
-
130
- Tools interact with the session through `session-store.ts`:
131
-
132
- ```typescript
133
- import {
134
- getDriver,
135
- hasActiveSession,
136
- safeDeleteSession,
137
- } from '../../session-store.js';
138
-
139
- // Check if session exists
140
- if (!hasActiveSession()) {
141
- throw new Error('No active session');
142
- }
143
-
144
- // Get the driver
145
- const driver = getDriver();
146
-
147
- // Use the driver
148
- await driver.someMethod();
149
- ```
150
-
151
- ## Common Patterns
152
-
153
- ### Platform-Specific Logic
154
-
155
- ```typescript
156
- import { getPlatformName } from '../../session-store.js';
157
-
158
- if (getPlatformName(driver) === 'Android') {
159
- // Android implementation
160
- } else if (getPlatformName(driver) === 'iOS') {
161
- // iOS implementation
162
- }
163
- ```
164
-
165
- ## Testing
166
-
167
- After adding a new tool:
168
-
169
- 1. Build: `npm run build`
170
- 2. Run linter: `npm run lint`
171
- 3. Test with an MCP client
172
- 4. Verify tool appears in tools list
173
-
174
- ## Need Help?
175
-
176
- - Check existing tools for examples
177
- - Read [docs/CONTRIBUTING.md](../../docs/CONTRIBUTING.md)
178
- - Look at examples in `examples/` directory
179
- - Open an issue for questions
@@ -1,46 +0,0 @@
1
- import { FastMCP } from 'fastmcp';
2
- import { getDriver } from '../../session-store.js';
3
- import { z } from 'zod';
4
-
5
- export default function activateApp(server: FastMCP): void {
6
- const activateAppSchema = z.object({
7
- id: z.string().describe('The app id'),
8
- });
9
-
10
- server.addTool({
11
- name: 'appium_activate_app',
12
- description: 'Activate app by id',
13
- parameters: activateAppSchema,
14
- annotations: {
15
- readOnlyHint: false,
16
- openWorldHint: false,
17
- },
18
- execute: async (args: { id: string }, context: any): Promise<any> => {
19
- const driver = getDriver();
20
- if (!driver) {
21
- throw new Error('No driver found');
22
- }
23
-
24
- try {
25
- await (driver as any).activateApp(args.id);
26
- return {
27
- content: [
28
- {
29
- type: 'text',
30
- text: `App ${args.id} activated correctly.`,
31
- },
32
- ],
33
- };
34
- } catch (err: any) {
35
- return {
36
- content: [
37
- {
38
- type: 'text',
39
- text: `Error activating the app ${args.id}: ${err.toString()}`,
40
- },
41
- ],
42
- };
43
- }
44
- },
45
- });
46
- }
@@ -1,54 +0,0 @@
1
- import { FastMCP } from 'fastmcp';
2
- import { z } from 'zod';
3
- import {
4
- getDriver,
5
- getPlatformName,
6
- isRemoteDriverSession,
7
- } from '../../session-store.js';
8
- import type { Client } from 'webdriver';
9
-
10
- export default function installApp(server: FastMCP): void {
11
- const schema = z.object({
12
- path: z.string().describe('Path to the app file to install'),
13
- });
14
-
15
- server.addTool({
16
- name: 'appium_install_app',
17
- description: 'Install an app on the device from a file path.',
18
- parameters: schema,
19
- execute: async (args: z.infer<typeof schema>) => {
20
- const { path } = args;
21
- const driver = await getDriver();
22
- if (!driver) {
23
- throw new Error('No driver found');
24
- }
25
- try {
26
- const platform = getPlatformName(driver);
27
- const params =
28
- platform === 'Android' ? { appPath: path } : { app: path };
29
- const _ok = isRemoteDriverSession(driver)
30
- ? await (driver as Client).executeScript('mobile: installApp', [
31
- params,
32
- ])
33
- : await (driver as any).execute('mobile: installApp', params);
34
- return {
35
- content: [
36
- {
37
- type: 'text',
38
- text: 'App installed successfully',
39
- },
40
- ],
41
- };
42
- } catch (err: any) {
43
- return {
44
- content: [
45
- {
46
- type: 'text',
47
- text: `Failed to install app. err: ${err.toString()}`,
48
- },
49
- ],
50
- };
51
- }
52
- },
53
- });
54
- }
@@ -1,87 +0,0 @@
1
- import { FastMCP } from 'fastmcp';
2
- import { z } from 'zod';
3
- import {
4
- getDriver,
5
- getPlatformName,
6
- isRemoteDriverSession,
7
- } from '../../session-store.js';
8
- import {
9
- createUIResource,
10
- createAppListUI,
11
- addUIResourceToResponse,
12
- } from '../../ui/mcp-ui-utils.js';
13
- import type { AndroidUiautomator2Driver } from 'appium-uiautomator2-driver';
14
-
15
- async function listAppsFromDevice(): Promise<any[]> {
16
- const driver = await getDriver();
17
- if (!driver) {
18
- throw new Error('No driver found');
19
- }
20
-
21
- if (isRemoteDriverSession(driver)) {
22
- throw new Error('listApps is not yet implemented for the remote driver');
23
- }
24
-
25
- const platform = getPlatformName(driver);
26
- if (platform === 'iOS') {
27
- throw new Error('listApps is not yet implemented for iOS');
28
- }
29
-
30
- const appPackages = await (driver as AndroidUiautomator2Driver).adb.adbExec([
31
- 'shell',
32
- 'cmd',
33
- 'package',
34
- 'list',
35
- 'packages',
36
- ]);
37
-
38
- const apps: any[] = appPackages
39
- .split('package:')
40
- .filter((s: any) => s.trim())
41
- .map((s: any) => ({
42
- packageName: s.trim(),
43
- appName: '',
44
- }));
45
-
46
- return apps;
47
- }
48
-
49
- export default function listApps(server: FastMCP): void {
50
- const schema = z.object({});
51
-
52
- server.addTool({
53
- name: 'appium_list_apps',
54
- description: 'List all installed apps on the device.',
55
- parameters: schema,
56
- execute: async () => {
57
- try {
58
- const apps = await listAppsFromDevice();
59
- const textResponse = {
60
- content: [
61
- {
62
- type: 'text',
63
- text: `Installed apps: ${JSON.stringify(apps, null, 2)}`,
64
- },
65
- ],
66
- };
67
-
68
- // Add interactive app list UI
69
- const uiResource = createUIResource(
70
- `ui://appium-mcp/app-list/${Date.now()}`,
71
- createAppListUI(apps)
72
- );
73
-
74
- return addUIResourceToResponse(textResponse, uiResource);
75
- } catch (err: any) {
76
- return {
77
- content: [
78
- {
79
- type: 'text',
80
- text: `Failed to list apps. err: ${err.toString()}`,
81
- },
82
- ],
83
- };
84
- }
85
- },
86
- });
87
- }
@@ -1,56 +0,0 @@
1
- import { FastMCP } from 'fastmcp';
2
- import { z } from 'zod';
3
- import {
4
- getDriver,
5
- getPlatformName,
6
- isRemoteDriverSession,
7
- } from '../../session-store.js';
8
- import type { Client } from 'webdriver';
9
-
10
- export default function terminateApp(server: FastMCP): void {
11
- const schema = z.object({
12
- id: z
13
- .string()
14
- .describe('App identifier (package name for Android, bundle ID for iOS)'),
15
- });
16
-
17
- server.addTool({
18
- name: 'appium_terminate_app',
19
- description: 'Terminate an app on the device.',
20
- parameters: schema,
21
- execute: async (args: z.infer<typeof schema>) => {
22
- const { id } = args;
23
- const driver = await getDriver();
24
- if (!driver) {
25
- throw new Error('No driver found');
26
- }
27
- try {
28
- const platform = getPlatformName(driver);
29
- const params =
30
- platform === 'Android' ? { appId: id } : { bundleId: id };
31
- const _ok = isRemoteDriverSession(driver)
32
- ? await (driver as Client).executeScript('mobile: terminateApp', [
33
- params,
34
- ])
35
- : await (driver as any).execute('mobile: terminateApp', params);
36
- return {
37
- content: [
38
- {
39
- type: 'text',
40
- text: 'App terminated successfully',
41
- },
42
- ],
43
- };
44
- } catch (err: any) {
45
- return {
46
- content: [
47
- {
48
- type: 'text',
49
- text: `Failed to terminate app. err: ${err.toString()}`,
50
- },
51
- ],
52
- };
53
- }
54
- },
55
- });
56
- }