appium-mcp 1.1.5 → 1.1.8

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 (43) hide show
  1. package/.github/workflows/publish.yml +6 -1
  2. package/CHANGELOG.md +19 -0
  3. package/dist/locators/generate-all-locators.js +2 -1
  4. package/dist/locators/generate-all-locators.js.map +1 -1
  5. package/dist/resources/index.js +2 -1
  6. package/dist/resources/index.js.map +1 -1
  7. package/dist/tools/answer-appium.js +2 -1
  8. package/dist/tools/answer-appium.js.map +1 -1
  9. package/dist/tools/boot-simulator.js +2 -1
  10. package/dist/tools/boot-simulator.js.map +1 -1
  11. package/dist/tools/delete-session.js +2 -1
  12. package/dist/tools/delete-session.js.map +1 -1
  13. package/dist/tools/documentation/index.js +7 -6
  14. package/dist/tools/documentation/index.js.map +1 -1
  15. package/dist/tools/documentation/reasoning-rag.js +16 -15
  16. package/dist/tools/documentation/reasoning-rag.js.map +1 -1
  17. package/dist/tools/documentation/sentence-transformers-embeddings.js +8 -7
  18. package/dist/tools/documentation/sentence-transformers-embeddings.js.map +1 -1
  19. package/dist/tools/documentation/simple-pdf-indexer.js +48 -47
  20. package/dist/tools/documentation/simple-pdf-indexer.js.map +1 -1
  21. package/dist/tools/install-wda.js +6 -5
  22. package/dist/tools/install-wda.js.map +1 -1
  23. package/dist/tools/locators.js +2 -3
  24. package/dist/tools/locators.js.map +1 -1
  25. package/dist/tools/scroll.js +5 -4
  26. package/dist/tools/scroll.js.map +1 -1
  27. package/dist/tools/session-store.js +6 -5
  28. package/dist/tools/session-store.js.map +1 -1
  29. package/package.json +9 -5
  30. package/src/locators/generate-all-locators.ts +2 -1
  31. package/src/resources/index.ts +2 -1
  32. package/src/tools/README.md +1 -1
  33. package/src/tools/answer-appium.ts +2 -1
  34. package/src/tools/boot-simulator.ts +2 -1
  35. package/src/tools/delete-session.ts +2 -1
  36. package/src/tools/documentation/index.ts +7 -6
  37. package/src/tools/documentation/reasoning-rag.ts +16 -15
  38. package/src/tools/documentation/sentence-transformers-embeddings.ts +9 -7
  39. package/src/tools/documentation/simple-pdf-indexer.ts +48 -51
  40. package/src/tools/install-wda.ts +6 -5
  41. package/src/tools/locators.ts +3 -4
  42. package/src/tools/scroll.ts +5 -4
  43. package/src/tools/session-store.ts +6 -5
@@ -12,6 +12,7 @@
12
12
  import { z } from 'zod';
13
13
  import { getDriver } from './session-store.js';
14
14
  import { generateAllElementLocators } from '../locators/generate-all-locators.js';
15
+ import log from '../locators/logger.js';
15
16
 
16
17
  export default function generateLocators(server: any): void {
17
18
  server.addTool({
@@ -34,8 +35,6 @@ export default function generateLocators(server: any): void {
34
35
  );
35
36
  }
36
37
 
37
- console.log('Getting page source');
38
-
39
38
  try {
40
39
  // Get the page source from the driver
41
40
  const pageSource = await driver.getPageSource();
@@ -71,11 +70,11 @@ export default function generateLocators(server: any): void {
71
70
  ],
72
71
  };
73
72
  } catch (parseError: any) {
74
- console.error('Error parsing XML:', parseError);
73
+ log.error('Error parsing XML:', parseError);
75
74
  throw new Error(`Failed to parse XML: ${parseError.message}`);
76
75
  }
77
76
  } catch (error: any) {
78
- console.error('Error getting page source:', error);
77
+ log.error('Error getting page source:', error);
79
78
  throw new Error(`Failed to get page source: ${error.message}`);
80
79
  }
81
80
  },
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { getDriver, getPlatformName } from './session-store.js';
3
+ import log from '../locators/logger.js';
3
4
 
4
5
  export default function scroll(server: any): void {
5
6
  server.addTool({
@@ -25,7 +26,7 @@ export default function scroll(server: any): void {
25
26
 
26
27
  try {
27
28
  const { width, height } = await driver.getWindowSize();
28
- console.log('Device screen size:', { width, height });
29
+ log.info('Device screen size:', { width, height });
29
30
  const startX = Math.floor(width / 2);
30
31
  // calculate start and end Y positions for scrolling depending on the direction
31
32
  // startY is at 80% of the height, endY is at 20% of the height for downward scroll
@@ -42,8 +43,8 @@ export default function scroll(server: any): void {
42
43
  ? Math.floor(height * 0.2)
43
44
  : Math.floor(height * 0.8);
44
45
 
45
- console.log('Going to scroll from:', { startX, startY });
46
- console.log('Going to scroll to:', { startX, endY });
46
+ log.info('Going to scroll from:', { startX, startY });
47
+ log.info('Going to scroll to:', { startX, endY });
47
48
 
48
49
  if (getPlatformName(driver) === 'Android') {
49
50
  await driver.performActions([
@@ -60,7 +61,7 @@ export default function scroll(server: any): void {
60
61
  ],
61
62
  },
62
63
  ]);
63
- console.log('Scroll action completed successfully.');
64
+ log.info('Scroll action completed successfully.');
64
65
  } else if (getPlatformName(driver) === 'iOS') {
65
66
  await driver.execute('mobile: scroll', {
66
67
  direction: args.direction,
@@ -1,5 +1,6 @@
1
1
  import { AndroidUiautomator2Driver } from 'appium-uiautomator2-driver';
2
2
  import { XCUITestDriver } from 'appium-xcuitest-driver';
3
+ import log from '../locators/logger.js';
3
4
 
4
5
  let driver: any = null;
5
6
  let sessionId: string | null = null;
@@ -33,13 +34,13 @@ export function hasActiveSession(): boolean {
33
34
  export async function safeDeleteSession(): Promise<boolean> {
34
35
  // Check if there's no session to delete
35
36
  if (!driver || !sessionId) {
36
- console.log('No active session to delete.');
37
+ log.info('No active session to delete.');
37
38
  return false;
38
39
  }
39
40
 
40
41
  // Check if deletion is already in progress
41
42
  if (isDeletingSession) {
42
- console.log('Session deletion already in progress, skipping...');
43
+ log.info('Session deletion already in progress, skipping...');
43
44
  return false;
44
45
  }
45
46
 
@@ -47,17 +48,17 @@ export async function safeDeleteSession(): Promise<boolean> {
47
48
  isDeletingSession = true;
48
49
 
49
50
  try {
50
- console.log('Deleting current session');
51
+ log.info('Deleting current session');
51
52
  await driver.deleteSession();
52
53
 
53
54
  // Clear the session from store
54
55
  driver = null;
55
56
  sessionId = null;
56
57
 
57
- console.log('Session deleted successfully.');
58
+ log.info('Session deleted successfully.');
58
59
  return true;
59
60
  } catch (error) {
60
- console.error('Error deleting session:', error);
61
+ log.error('Error deleting session:', error);
61
62
  throw error;
62
63
  } finally {
63
64
  // Always release lock