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,379 +0,0 @@
1
- /**
2
- * Tool to create a new mobile session (Android or iOS)
3
- */
4
- import { z } from 'zod';
5
- import { access, readFile } from 'node:fs/promises';
6
- import { constants } from 'node:fs';
7
- import { URL } from 'node:url';
8
- import { AndroidUiautomator2Driver } from 'appium-uiautomator2-driver';
9
- import { XCUITestDriver } from 'appium-xcuitest-driver';
10
- import {
11
- setSession,
12
- hasActiveSession,
13
- safeDeleteSession,
14
- } from '../../session-store.js';
15
- import {
16
- getSelectedDevice,
17
- getSelectedDeviceType,
18
- getSelectedDeviceInfo,
19
- clearSelectedDevice,
20
- } from './select-device.js';
21
- import { IOSManager } from '../../devicemanager/ios-manager.js';
22
- import log from '../../logger.js';
23
- import {
24
- createUIResource,
25
- createSessionDashboardUI,
26
- addUIResourceToResponse,
27
- } from '../../ui/mcp-ui-utils.js';
28
- import WebDriver from 'webdriver';
29
-
30
- // Define capabilities type
31
- interface Capabilities {
32
- platformName: string;
33
- 'appium:automationName': string;
34
- 'appium:deviceName'?: string;
35
- [key: string]: any;
36
- }
37
-
38
- // Define capabilities config type
39
- interface CapabilitiesConfig {
40
- android: Record<string, any>;
41
- ios: Record<string, any>;
42
- }
43
-
44
- /**
45
- * Load capabilities configuration from file if specified in environment
46
- */
47
- async function loadCapabilitiesConfig(): Promise<CapabilitiesConfig> {
48
- const configPath = process.env.CAPABILITIES_CONFIG;
49
- if (!configPath) {
50
- return { android: {}, ios: {} };
51
- }
52
-
53
- try {
54
- await access(configPath, constants.F_OK);
55
- const configContent = await readFile(configPath, 'utf8');
56
- return JSON.parse(configContent);
57
- } catch (error) {
58
- log.warn(`Failed to parse capabilities config: ${error}`);
59
- return { android: {}, ios: {} };
60
- }
61
- }
62
-
63
- /**
64
- * Remove empty string values from capabilities object
65
- */
66
- function filterEmptyCapabilities(capabilities: Capabilities): Capabilities {
67
- const filtered = { ...capabilities };
68
- Object.keys(filtered).forEach((key) => {
69
- if (filtered[key] === '') {
70
- delete filtered[key];
71
- }
72
- });
73
- return filtered;
74
- }
75
-
76
- /**
77
- * Build Android capabilities by merging defaults, config, device selection, and custom capabilities
78
- */
79
- function buildAndroidCapabilities(
80
- configCaps: Record<string, any>,
81
- customCaps: Record<string, any> | undefined,
82
- isRemoteServer: boolean
83
- ): Capabilities {
84
- const defaultCaps: Capabilities = {
85
- platformName: 'Android',
86
- 'appium:automationName': 'UiAutomator2',
87
- 'appium:deviceName': 'Android Device',
88
- };
89
-
90
- const selectedDeviceUdid = isRemoteServer ? undefined : getSelectedDevice();
91
-
92
- const capabilities = {
93
- ...defaultCaps,
94
- ...configCaps,
95
- ...(selectedDeviceUdid && { 'appium:udid': selectedDeviceUdid }),
96
- ...customCaps,
97
- };
98
-
99
- if (selectedDeviceUdid) {
100
- clearSelectedDevice();
101
- }
102
-
103
- return filterEmptyCapabilities(capabilities);
104
- }
105
-
106
- /**
107
- * Validate iOS device selection when multiple devices are available
108
- */
109
- async function validateIOSDeviceSelection(
110
- deviceType: 'simulator' | 'real' | null
111
- ): Promise<void> {
112
- if (!deviceType) {
113
- return;
114
- }
115
-
116
- const iosManager = IOSManager.getInstance();
117
- const devices = await iosManager.getDevicesByType(deviceType);
118
-
119
- if (devices.length > 1) {
120
- const selectedDevice = getSelectedDevice();
121
- if (!selectedDevice) {
122
- throw new Error(
123
- `Multiple iOS ${deviceType === 'simulator' ? 'simulators' : 'devices'} found (${devices.length}). Please use the select_device tool to choose which device to use before creating a session.`
124
- );
125
- }
126
- }
127
- }
128
-
129
- /**
130
- * Build iOS capabilities by merging defaults, config, device selection, and custom capabilities
131
- */
132
- async function buildIOSCapabilities(
133
- configCaps: Record<string, any>,
134
- customCaps: Record<string, any> | undefined,
135
- isRemoteServer: boolean
136
- ): Promise<Capabilities> {
137
- const deviceType = isRemoteServer ? null : getSelectedDeviceType();
138
- await validateIOSDeviceSelection(deviceType);
139
-
140
- // Get selected device info BEFORE constructing defaultCaps so we can use the actual device name
141
- const selectedDeviceUdid = isRemoteServer ? undefined : getSelectedDevice();
142
- const selectedDeviceInfo = isRemoteServer
143
- ? undefined
144
- : getSelectedDeviceInfo();
145
-
146
- log.debug('Selected device info:', selectedDeviceInfo);
147
-
148
- const defaultCaps: Capabilities = {
149
- platformName: 'iOS',
150
- 'appium:automationName': 'XCUITest',
151
- 'appium:deviceName': selectedDeviceInfo?.name || 'iPhone Simulator',
152
- };
153
-
154
- const platformVersion =
155
- selectedDeviceInfo?.platform && selectedDeviceInfo.platform.trim() !== ''
156
- ? selectedDeviceInfo.platform
157
- : undefined;
158
-
159
- log.debug('Platform version:', platformVersion);
160
-
161
- const capabilities = {
162
- ...defaultCaps,
163
- // Auto-detected platform version as fallback (before config)
164
- ...(platformVersion && { 'appium:platformVersion': platformVersion }),
165
- ...configCaps,
166
- ...(selectedDeviceUdid && { 'appium:udid': selectedDeviceUdid }),
167
- ...(deviceType === 'simulator' && {
168
- 'appium:usePrebuiltWDA': true,
169
- 'appium:wdaStartupRetries': 4,
170
- 'appium:wdaStartupRetryInterval': 20000,
171
- }),
172
- ...customCaps,
173
- };
174
-
175
- if (selectedDeviceUdid) {
176
- clearSelectedDevice();
177
- }
178
-
179
- return filterEmptyCapabilities(capabilities);
180
- }
181
-
182
- /**
183
- * Create the appropriate driver instance for the given platform
184
- */
185
- function createDriverForPlatform(platform: 'android' | 'ios'): any {
186
- if (platform === 'android') {
187
- return new AndroidUiautomator2Driver();
188
- }
189
- if (platform === 'ios') {
190
- return new XCUITestDriver();
191
- }
192
- throw new Error(
193
- `Unsupported platform: ${platform}. Please choose 'android' or 'ios'.`
194
- );
195
- }
196
-
197
- /**
198
- * Create a new session with the given driver and capabilities
199
- */
200
- async function createDriverSession(
201
- driver: any,
202
- capabilities: Capabilities
203
- ): Promise<string> {
204
- // @ts-ignore
205
- const sessionId = await driver.createSession(null, {
206
- alwaysMatch: capabilities,
207
- firstMatch: [{}],
208
- });
209
- return sessionId;
210
- }
211
-
212
- /**
213
- * Registers a tool for creating a new mobile session with Android or iOS devices.
214
- *
215
- * This function adds a 'create_session' tool to the provided server that handles
216
- * mobile session creation with support for both local and remote Appium servers.
217
- *
218
- * @param server - The server instance to which the create_session tool will be added
219
- *
220
- * @tool create_session
221
- * @description Creates a new mobile session with Android or iOS device. Requires prior
222
- * platform selection via the select_platform tool. Supports both local and remote
223
- * Appium server connections.
224
- *
225
- * @param {Object} args - Tool execution arguments
226
- * @param {'ios' | 'android'} args.platform - REQUIRED. The target platform, must match
227
- * the platform explicitly selected via select_platform tool
228
- * @param {Object} [args.capabilities] - Optional custom W3C format capabilities
229
- * @param {string} [args.remoteServerUrl] - Optional remote Appium server URL
230
- * (e.g., http://localhost:4723). If not provided, uses local Appium server
231
- *
232
- * @returns {Promise<Object>} Response object containing:
233
- * - text: Success message with session ID and device details
234
- * - ui: Interactive session dashboard UI component
235
- *
236
- * @throws {Error} If session creation fails or platform capabilities cannot be loaded
237
- *
238
- * @example
239
- * // Register the tool
240
- * createSession(server);
241
- */
242
- export default function createSession(server: any): void {
243
- server.addTool({
244
- name: 'create_session',
245
- description: `Create a new mobile session with Android or iOS device.
246
- WORKFLOW FOR LOCAL SERVERS (no remoteServerUrl):
247
- - Use select_platform tool FIRST to ask the user which platform they want
248
- - Then optionally use select_device tool if multiple devices are available
249
- - Finally call create_session with the selected platform and device
250
- - DO NOT assume or default to any platform
251
- WORKFLOW FOR REMOTE SERVERS (remoteServerUrl provided):
252
- - SKIP select_platform tool entirely
253
- - Infer the platform from the user's request (e.g., 'ios', 'android')
254
- - Infer device type from context when possible (e.g., 'simulator', 'real device')
255
- - Call create_session directly with platform, remoteServerUrl, and any other capabilities from the user's request
256
- - Example: User says 'start session with http://localhost:4723 for ios with iphone 17' → infer platform='ios' and call create_session with remoteServerUrl and platform parameters
257
- `,
258
- parameters: z.object({
259
- platform: z.enum(['ios', 'android']).describe(
260
- `REQUIRED: Platform to use. For local servers, this must match the platform the user explicitly selected via the select_platform tool.
261
- If remoteServerUrl is provided, the assistant should ask the user to confirm or infer the platform from the conversation; do not assume a default.`
262
- ),
263
- capabilities: z
264
- .object({})
265
- .optional()
266
- .describe(
267
- 'Optional custom W3C format capabilities for the session. Common options include appium:app (app path), appium:deviceName, appium:platformVersion, appium:bundleId, appium:autoGrantPermissions, etc. Custom capabilities override default and config file settings.'
268
- ),
269
- remoteServerUrl: z
270
- .string()
271
- .optional()
272
- .describe(
273
- 'Remote Appium server URL (e.g., http://localhost:4723 or http://192.168.1.100:4723). If not provided, uses local Appium server.'
274
- ),
275
- }),
276
- annotations: {
277
- readOnlyHint: false,
278
- openWorldHint: false,
279
- },
280
- execute: async (args: any, context: any): Promise<any> => {
281
- try {
282
- if (hasActiveSession()) {
283
- log.info(
284
- 'Existing session detected, cleaning up before creating new session...'
285
- );
286
- try {
287
- await safeDeleteSession();
288
- } catch {
289
- // ok to ignore
290
- }
291
- }
292
-
293
- const {
294
- platform,
295
- capabilities: customCapabilities,
296
- remoteServerUrl,
297
- } = args;
298
-
299
- const configCapabilities = await loadCapabilitiesConfig();
300
- const platformCaps =
301
- platform === 'android'
302
- ? configCapabilities.android
303
- : configCapabilities.ios;
304
- const finalCapabilities =
305
- platform === 'android'
306
- ? buildAndroidCapabilities(
307
- platformCaps,
308
- customCapabilities,
309
- !!remoteServerUrl
310
- )
311
- : await buildIOSCapabilities(
312
- platformCaps,
313
- customCapabilities,
314
- !!remoteServerUrl
315
- );
316
-
317
- let sessionId;
318
- if (remoteServerUrl) {
319
- const remoteUrl = new URL(remoteServerUrl);
320
- const client = await WebDriver.newSession({
321
- protocol: remoteUrl.protocol.replace(':', ''),
322
- hostname: remoteUrl.hostname,
323
- port: parseInt(remoteUrl.port, 10),
324
- path: remoteUrl.pathname,
325
- capabilities: finalCapabilities,
326
- });
327
- sessionId = client.sessionId;
328
- setSession(client, client.sessionId);
329
- } else {
330
- log.info(
331
- `Creating new ${platform.toUpperCase()} session with capabilities:`,
332
- JSON.stringify(finalCapabilities, null, 2)
333
- );
334
-
335
- const driver = createDriverForPlatform(platform);
336
- sessionId = await createDriverSession(driver, finalCapabilities);
337
- setSession(driver, sessionId);
338
- }
339
-
340
- // Safely convert sessionId to string for display
341
- const sessionIdStr =
342
- typeof sessionId === 'string'
343
- ? sessionId
344
- : String(sessionId || 'Unknown');
345
-
346
- log.info(
347
- `${platform.toUpperCase()} session created successfully with ID: ${sessionIdStr}`
348
- );
349
-
350
- const textResponse = {
351
- content: [
352
- {
353
- type: 'text',
354
- text: `${platform.toUpperCase()} session created successfully with ID: ${sessionIdStr}\nPlatform: ${finalCapabilities.platformName}\nAutomation: ${finalCapabilities['appium:automationName']}\nDevice: ${finalCapabilities['appium:deviceName']}`,
355
- },
356
- ],
357
- };
358
-
359
- // Add interactive session dashboard UI
360
- const uiResource = createUIResource(
361
- `ui://appium-mcp/session-dashboard/${sessionIdStr}`,
362
- createSessionDashboardUI({
363
- sessionId: sessionIdStr,
364
- platform: finalCapabilities.platformName,
365
- automationName: finalCapabilities['appium:automationName'],
366
- deviceName: finalCapabilities['appium:deviceName'],
367
- platformVersion: finalCapabilities['appium:platformVersion'],
368
- udid: finalCapabilities['appium:udid'],
369
- })
370
- );
371
-
372
- return addUIResourceToResponse(textResponse, uiResource);
373
- } catch (error: any) {
374
- log.error('Error creating session:', error);
375
- throw new Error(`Failed to create session: ${error.message}`);
376
- }
377
- },
378
- });
379
- }
@@ -1,56 +0,0 @@
1
- /**
2
- * Tool to delete the current mobile session and clean up resources
3
- */
4
- import { z } from 'zod';
5
- import { safeDeleteSession } from '../../session-store.js';
6
- import log from '../../logger.js';
7
-
8
- export default function deleteSession(server: any): void {
9
- server.addTool({
10
- name: 'delete_session',
11
- description: 'Delete the current mobile session and clean up resources.',
12
- parameters: z.object({}),
13
- annotations: {
14
- destructiveHint: true,
15
- readOnlyHint: false,
16
- openWorldHint: false,
17
- },
18
- execute: async (): Promise<any> => {
19
- try {
20
- const deleted = await safeDeleteSession();
21
-
22
- if (deleted) {
23
- return {
24
- content: [
25
- {
26
- type: 'text',
27
- text: 'Session deleted successfully.',
28
- },
29
- ],
30
- };
31
- } else {
32
- return {
33
- content: [
34
- {
35
- type: 'text',
36
- text: 'No active session found or deletion already in progress.',
37
- },
38
- ],
39
- };
40
- }
41
- } catch (error: any) {
42
- log.error(`Error deleting session`, error);
43
- // don't need to raise an error since session end means anyway we should create a new session
44
- // to proceed further requests.
45
- return {
46
- content: [
47
- {
48
- type: 'text',
49
- text: `Session delete might fail as error ${error}`,
50
- },
51
- ],
52
- };
53
- }
54
- },
55
- });
56
- }