appium-mcp 1.72.6 → 1.72.7

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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [1.72.7](https://github.com/appium/appium-mcp/compare/v1.72.6...v1.72.7) (2026-05-05)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * remove lodash ([#320](https://github.com/appium/appium-mcp/issues/320)) ([9a82237](https://github.com/appium/appium-mcp/commit/9a822379d333cf94d47b2f1f9dc9e1b83e03b982))
6
+
1
7
  ## [1.72.6](https://github.com/appium/appium-mcp/compare/v1.72.5...v1.72.6) (2026-05-04)
2
8
 
3
9
  ### Bug Fixes
@@ -1,7 +1,7 @@
1
- import _ from 'lodash';
2
1
  import * as XPath from 'xpath';
3
2
  const xpathSelect = XPath.select;
4
3
  import log from '../logger.js';
4
+ import { isEmpty, omitNilValues } from '../utils/collection.js';
5
5
  import { childNodesOf, domToXML, findDOMNodeByPath, xmlToDOM, } from './source-parsing.js';
6
6
  // Attributes on nodes that are likely to be unique to the node so we should consider first when
7
7
  // suggesting xpath locators. These are considered IN ORDER.
@@ -39,7 +39,7 @@ const SIMPLE_STRATEGY_MAPPINGS = [
39
39
  */
40
40
  export function areAttrAndValueUnique(attrName, attrValue, sourceDoc) {
41
41
  // If no sourceDoc provided, assume it's unique
42
- if (!sourceDoc || _.isEmpty(sourceDoc)) {
42
+ if (!sourceDoc || isEmpty(sourceDoc)) {
43
43
  return true;
44
44
  }
45
45
  const result = xpathSelect(`//*[@${attrName}="${attrValue.replace(/"/g, '')}"]`, sourceDoc);
@@ -86,7 +86,7 @@ export function getComplexSuggestedLocators(path, sourceDoc, isNative, automatio
86
86
  }
87
87
  complexLocators.xpath = getOptimalXPath(sourceDoc, domNode);
88
88
  // Remove entries for locators where the optimal selector could not be found
89
- return _.omitBy(complexLocators, _.isNil);
89
+ return omitNilValues(complexLocators);
90
90
  }
91
91
  /**
92
92
  * Get suggested selectors for all locator strategies
@@ -133,7 +133,7 @@ export function getSuggestedLocators(selectedElement, sourceXML, isNative, autom
133
133
  }
134
134
  }
135
135
  // Add any remaining locators that weren't in the priority list (like 'id' for native contexts)
136
- for (const [strategy, value] of _.toPairs(allLocators)) {
136
+ for (const [strategy, value] of Object.entries(allLocators)) {
137
137
  if (!priorityOrder.includes(strategy)) {
138
138
  sortedLocators.push([strategy, value]);
139
139
  }
@@ -239,7 +239,7 @@ export function getOptimalClassChain(doc, domNode) {
239
239
  let classChain, othersWithAttr;
240
240
  for (const attrName of CHECKED_CLASS_CHAIN_ATTRIBUTES) {
241
241
  const attrValue = domNode.getAttribute?.(attrName);
242
- if (_.isEmpty(attrValue)) {
242
+ if (isEmpty(attrValue)) {
243
243
  continue;
244
244
  }
245
245
  const xpath = `//${domNode.nodeName || '*'}[@${attrName}="${attrValue}"]`;
@@ -301,7 +301,7 @@ export function getOptimalPredicateString(doc, domNode) {
301
301
  let othersWithAttr;
302
302
  for (const attrName of CHECKED_PREDICATE_ATTRIBUTES) {
303
303
  const attrValue = domNode.getAttribute?.(attrName);
304
- if (_.isEmpty(attrValue)) {
304
+ if (isEmpty(attrValue)) {
305
305
  continue;
306
306
  }
307
307
  xpathAttributes.push(`@${attrName}="${attrValue}"`);
@@ -344,10 +344,10 @@ export function getOptimalUiAutomatorSelector(doc, domNode, path) {
344
344
  // hierarchy is the child of doc (which is <xml/>), so need to get the children of its child
345
345
  // BASE CASE #2: If there is no hierarchy or its children, return null
346
346
  const docChildren = childNodesOf(doc);
347
- const hierarchyChildren = _.isEmpty(docChildren)
347
+ const hierarchyChildren = isEmpty(docChildren)
348
348
  ? []
349
349
  : childNodesOf(docChildren[0]);
350
- if (_.isEmpty(hierarchyChildren)) {
350
+ if (isEmpty(hierarchyChildren)) {
351
351
  return null;
352
352
  }
353
353
  // BASE CASE #3: If looking for an element that is not inside
@@ -373,7 +373,7 @@ export function getOptimalUiAutomatorSelector(doc, domNode, path) {
373
373
  let uiSelector, othersWithAttr, othersWithAttrMinCount, mostUniqueSelector;
374
374
  for (const [attrName, attrTranslation] of CHECKED_UIAUTOMATOR_ATTRIBUTES) {
375
375
  const attrValue = newDomNode.getAttribute?.(attrName);
376
- if (_.isEmpty(attrValue)) {
376
+ if (isEmpty(attrValue)) {
377
377
  continue;
378
378
  }
379
379
  const xpath = `//${newDomNode.nodeName}[@${attrName}="${attrValue}"]`;
@@ -439,7 +439,7 @@ function determineXpathUniqueness(xpath, doc, domNode) {
439
439
  function getUniqueXPath(doc, domNode, attrs) {
440
440
  let uniqueXpath, semiUniqueXpath;
441
441
  const tagForXpath = domNode.nodeName || '*';
442
- const isPairs = attrs.length > 0 && _.isArray(attrs[0]);
442
+ const isPairs = attrs.length > 0 && Array.isArray(attrs[0]);
443
443
  const isNodeName = attrs.length === 0;
444
444
  // If we're looking for a unique //<nodetype>, return it only if it's actually unique. No
445
445
  // semi-uniqueness here!
@@ -483,7 +483,7 @@ function getUniqueXPath(doc, domNode, attrs) {
483
483
  // if the xpath wasn't totally unique it might still be our best bet. Store a less unique
484
484
  // version qualified by an index for later in semiUniqueXpath. If we can't find a better
485
485
  // unique option down the road, we'll fall back to this
486
- if (!semiUniqueXpath && !_.isUndefined(indexIfNotUnique)) {
486
+ if (!semiUniqueXpath && indexIfNotUnique !== undefined) {
487
487
  semiUniqueXpath = `(${xpath})[${indexIfNotUnique + 1}]`;
488
488
  }
489
489
  }
@@ -1 +1 @@
1
- {"version":3,"file":"locator-generation.js","sourceRoot":"","sources":["../../src/locators/locator-generation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locator-generation.js","sourceRoot":"","sources":["../../src/locators/locator-generation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"source-parsing.d.ts","sourceRoot":"","sources":["../../src/locators/source-parsing.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,QAAQ,IAAI,WAAW,EACvB,IAAI,IAAI,OAAO,EAEhB,MAAM,gBAAgB,CAAC;AAMxB,eAAO,MAAM,QAAQ,GAAI,QAAQ,MAAM,KAAG,WACa,CAAC;AACxD,eAAO,MAAM,QAAQ,GAAI,KAAK,OAAO,KAAG,MACF,CAAC;AAEvC,UAAU,iBAAiB;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,UAAU,WAAW;IACnB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,CAKxD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,WAAW,GACrB,OAAO,CAaT;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,WAAW,GACtB,WAAW,CAMb;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAuDxD;AAED,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"source-parsing.d.ts","sourceRoot":"","sources":["../../src/locators/source-parsing.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,QAAQ,IAAI,WAAW,EACvB,IAAI,IAAI,OAAO,EAEhB,MAAM,gBAAgB,CAAC;AAKxB,eAAO,MAAM,QAAQ,GAAI,QAAQ,MAAM,KAAG,WACa,CAAC;AACxD,eAAO,MAAM,QAAQ,GAAI,KAAK,OAAO,KAAG,MACF,CAAC;AAEvC,UAAU,iBAAiB;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,UAAU,WAAW;IACnB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,CAOxD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,WAAW,GACrB,OAAO,CAaT;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,WAAW,GACtB,WAAW,CAMb;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAsDxD;AAED,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { DOMParser, MIME_TYPE, XMLSerializer, } from '@xmldom/xmldom';
2
- import _ from 'lodash';
3
2
  const domParser = new DOMParser();
4
3
  const xmlSerializer = new XMLSerializer();
5
4
  export const xmlToDOM = (string) => domParser.parseFromString(string, MIME_TYPE.XML_TEXT);
@@ -14,7 +13,7 @@ export function childNodesOf(domNode) {
14
13
  if (!domNode?.hasChildNodes()) {
15
14
  return [];
16
15
  }
17
- return _.filter(domNode.childNodes, ['nodeType', domNode.ELEMENT_NODE]);
16
+ return Array.from(domNode.childNodes).filter((childNode) => childNode.nodeType === domNode.ELEMENT_NODE);
18
17
  }
19
18
  /**
20
19
  * Look up an element in the Document source using the provided path
@@ -70,9 +69,7 @@ export function xmlToJSON(sourceXML) {
70
69
  }
71
70
  }
72
71
  // Dot Separated path of indices
73
- const path = _.isNil(index)
74
- ? ''
75
- : `${!parentPath ? '' : parentPath + '.'}${index}`;
72
+ const path = index == null ? '' : `${!parentPath ? '' : parentPath + '.'}${index}`;
76
73
  return {
77
74
  children: childNodesOf(domNode).map((childNode, childIndex) => translateRecursively(childNode, path, childIndex)),
78
75
  tagName: domNode.nodeName,
@@ -1 +1 @@
1
- {"version":3,"file":"source-parsing.js","sourceRoot":"","sources":["../../src/locators/source-parsing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-parsing.js","sourceRoot":"","sources":["../../src/locators/source-parsing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=collection.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection.test.d.ts","sourceRoot":"","sources":["../../../src/tests/utils/collection.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,87 @@
1
+ import { describe, expect, test } from '@jest/globals';
2
+ import { isEmpty, isNil, omitNilValues } from '../../utils/collection.js';
3
+ function createArgumentsObject(arg0) {
4
+ if (arguments.length === 0) {
5
+ return (function () {
6
+ // eslint-disable-next-line prefer-rest-params
7
+ return arguments;
8
+ })();
9
+ }
10
+ return (function (_arg0) {
11
+ // eslint-disable-next-line prefer-rest-params
12
+ return arguments;
13
+ })(arg0);
14
+ }
15
+ describe('collection utilities', () => {
16
+ describe('isNil', () => {
17
+ test('returns true for null and undefined', () => {
18
+ expect(isNil(null)).toBe(true);
19
+ expect(isNil(undefined)).toBe(true);
20
+ });
21
+ test('returns false for non-nil values', () => {
22
+ expect(isNil('')).toBe(false);
23
+ expect(isNil(0)).toBe(false);
24
+ expect(isNil(false)).toBe(false);
25
+ });
26
+ });
27
+ describe('isEmpty', () => {
28
+ test('returns true for nullish values', () => {
29
+ expect(isEmpty(null)).toBe(true);
30
+ expect(isEmpty(undefined)).toBe(true);
31
+ });
32
+ test('handles strings and arrays', () => {
33
+ expect(isEmpty('')).toBe(true);
34
+ expect(isEmpty('a')).toBe(false);
35
+ expect(isEmpty([])).toBe(true);
36
+ expect(isEmpty([1])).toBe(false);
37
+ });
38
+ test('handles objects and plain objects with length', () => {
39
+ expect(isEmpty({})).toBe(true);
40
+ expect(isEmpty({ a: 1 })).toBe(false);
41
+ expect(isEmpty({ length: 0 })).toBe(false);
42
+ expect(isEmpty({ length: 2, 0: 'x' })).toBe(false);
43
+ });
44
+ test('handles known array-like collections', () => {
45
+ expect(isEmpty(new Uint8Array())).toBe(true);
46
+ expect(isEmpty(new Uint8Array([1]))).toBe(false);
47
+ const emptyArgs = createArgumentsObject();
48
+ const nonEmptyArgs = createArgumentsObject(1);
49
+ expect(isEmpty(emptyArgs)).toBe(true);
50
+ expect(isEmpty(nonEmptyArgs)).toBe(false);
51
+ });
52
+ test('handles maps and sets by size', () => {
53
+ expect(isEmpty(new Map())).toBe(true);
54
+ expect(isEmpty(new Map([['k', 'v']]))).toBe(false);
55
+ expect(isEmpty(new Set())).toBe(true);
56
+ expect(isEmpty(new Set([1]))).toBe(false);
57
+ });
58
+ test('treats primitives and functions as empty', () => {
59
+ expect(isEmpty(true)).toBe(true);
60
+ expect(isEmpty(false)).toBe(true);
61
+ expect(isEmpty(1)).toBe(true);
62
+ expect(isEmpty(Symbol('x'))).toBe(true);
63
+ expect(isEmpty(() => { })).toBe(true);
64
+ });
65
+ });
66
+ describe('omitNilValues', () => {
67
+ test('omits null and undefined while preserving other values', () => {
68
+ const result = omitNilValues({
69
+ a: 'x',
70
+ b: null,
71
+ c: undefined,
72
+ d: '',
73
+ });
74
+ expect(result).toEqual({ a: 'x', d: '' });
75
+ });
76
+ test('works with non-string value types', () => {
77
+ const result = omitNilValues({
78
+ count: 1,
79
+ optionalCount: undefined,
80
+ enabled: false,
81
+ maybeEnabled: null,
82
+ });
83
+ expect(result).toEqual({ count: 1, enabled: false });
84
+ });
85
+ });
86
+ });
87
+ //# sourceMappingURL=collection.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection.test.js","sourceRoot":"","sources":["../../../src/tests/utils/collection.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"find-element.d.ts","sourceRoot":"","sources":["../../../../src/tools/ai/handlers/find-element.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAShE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAY3C,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,aAAa,CAAC,CA+CxB"}
1
+ {"version":3,"file":"find-element.d.ts","sourceRoot":"","sources":["../../../../src/tools/ai/handlers/find-element.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAShE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAK3C,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,aAAa,CAAC,CA+CxB"}
@@ -6,12 +6,6 @@ import { errorResult, textResultWithPrimaryElementId, toolErrorMessage, } from '
6
6
  // Module-level singleton: ensures the LRU cache persists across tool calls.
7
7
  // Creating a new AIVisionFinder() on every call would reset the cache each time.
8
8
  let _finderInstance = null;
9
- function getAIVisionFinder() {
10
- if (!_finderInstance) {
11
- _finderInstance = new AIVisionFinder();
12
- }
13
- return _finderInstance;
14
- }
15
9
  export async function handleFindElement(driver, args) {
16
10
  if (!args.instruction) {
17
11
  return errorResult('instruction is required for action=find_element. ' +
@@ -43,4 +37,10 @@ export async function handleFindElement(driver, args) {
43
37
  return errorResult(`AI find_element failed. Error: ${errorMessage}`);
44
38
  }
45
39
  }
40
+ function getAIVisionFinder() {
41
+ if (!_finderInstance) {
42
+ _finderInstance = new AIVisionFinder();
43
+ }
44
+ return _finderInstance;
45
+ }
46
46
  //# sourceMappingURL=find-element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"find-element.js","sourceRoot":"","sources":["../../../../src/tools/ai/handlers/find-element.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,GAAG,MAAM,oBAAoB,CAAC;AACrC,OAAO,EACL,WAAW,EACX,8BAA8B,EAC9B,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAGhC,4EAA4E;AAC5E,iFAAiF;AACjF,IAAI,eAAe,GAA0B,IAAI,CAAC;AAClD,SAAS,iBAAiB;IACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,eAAe,GAAG,IAAI,cAAc,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAsB,EACtB,IAAY;IAEZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtB,OAAO,WAAW,CAChB,mDAAmD;YACjD,oFAAoF,CACvF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,GAAG,CAAC,IAAI,CACN,+CAA+C,IAAI,CAAC,WAAW,GAAG,CACnE,CAAC;QAEF,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAErD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;QAErD,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAEnC,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,gBAAgB,EAChB,IAAI,CAAC,WAAW,EAChB,KAAK,EACL,MAAM,CACP,CAAC;QAEF,6EAA6E;QAC7E,MAAM,WAAW,GAAG,cAAc,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAEhG,IAAI,MAAM,GAAG,uBAAuB,MAAM,CAAC,MAAM,qBAAqB,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC;QAC9H,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC9B,MAAM,IAAI,kBAAkB,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC1D,CAAC;QAED,OAAO,8BAA8B,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC3C,GAAG,CAAC,KAAK,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;QACnD,OAAO,WAAW,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;IACvE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"find-element.js","sourceRoot":"","sources":["../../../../src/tools/ai/handlers/find-element.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,GAAG,MAAM,oBAAoB,CAAC;AACrC,OAAO,EACL,WAAW,EACX,8BAA8B,EAC9B,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAGhC,4EAA4E;AAC5E,iFAAiF;AACjF,IAAI,eAAe,GAA0B,IAAI,CAAC;AAClD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAsB,EACtB,IAAY;IAEZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtB,OAAO,WAAW,CAChB,mDAAmD;YACjD,oFAAoF,CACvF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,GAAG,CAAC,IAAI,CACN,+CAA+C,IAAI,CAAC,WAAW,GAAG,CACnE,CAAC;QAEF,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAErD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;QAErD,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAEnC,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,gBAAgB,EAChB,IAAI,CAAC,WAAW,EAChB,KAAK,EACL,MAAM,CACP,CAAC;QAEF,6EAA6E;QAC7E,MAAM,WAAW,GAAG,cAAc,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAEhG,IAAI,MAAM,GAAG,uBAAuB,MAAM,CAAC,MAAM,qBAAqB,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC;QAC9H,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC9B,MAAM,IAAI,kBAAkB,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC1D,CAAC;QAED,OAAO,8BAA8B,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC3C,GAAG,CAAC,KAAK,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;QACnD,OAAO,WAAW,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB;IACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,eAAe,GAAG,IAAI,cAAc,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function isNil(value: unknown): value is null | undefined;
2
+ export declare function isEmpty(value: unknown): boolean;
3
+ export declare function omitNilValues<T>(values: Record<string, T | null | undefined>): Record<string, T>;
4
+ //# sourceMappingURL=collection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../src/utils/collection.ts"],"names":[],"mappings":"AAAA,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,SAAS,CAE/D;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAqC/C;AAED,wBAAgB,aAAa,CAAC,CAAC,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GAC3C,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAUnB"}
@@ -0,0 +1,58 @@
1
+ export function isNil(value) {
2
+ return value == null;
3
+ }
4
+ export function isEmpty(value) {
5
+ if (value == null) {
6
+ return true;
7
+ }
8
+ // Keep behavior aligned with lodash: primitives/functions are treated as empty.
9
+ if (typeof value === 'boolean' ||
10
+ typeof value === 'number' ||
11
+ typeof value === 'bigint' ||
12
+ typeof value === 'symbol' ||
13
+ typeof value === 'function') {
14
+ return true;
15
+ }
16
+ if (typeof value === 'string') {
17
+ return value.length === 0;
18
+ }
19
+ if (Array.isArray(value)) {
20
+ return value.length === 0;
21
+ }
22
+ if (isArguments(value) || isTypedArrayLike(value)) {
23
+ return value.length === 0;
24
+ }
25
+ if (value instanceof Map || value instanceof Set) {
26
+ return value.size === 0;
27
+ }
28
+ if (typeof value === 'object') {
29
+ return Object.keys(value).length === 0;
30
+ }
31
+ return false;
32
+ }
33
+ export function omitNilValues(values) {
34
+ const filteredValues = {};
35
+ for (const [key, value] of Object.entries(values)) {
36
+ if (!isNil(value)) {
37
+ filteredValues[key] = value;
38
+ }
39
+ }
40
+ return filteredValues;
41
+ }
42
+ function isLength(value) {
43
+ return (typeof value === 'number' &&
44
+ value >= 0 &&
45
+ value % 1 === 0 &&
46
+ value <= Number.MAX_SAFE_INTEGER);
47
+ }
48
+ function isArguments(value) {
49
+ return Object.prototype.toString.call(value) === '[object Arguments]';
50
+ }
51
+ function isTypedArrayLike(value) {
52
+ if (!ArrayBuffer.isView(value)) {
53
+ return false;
54
+ }
55
+ const maybeLength = value.length;
56
+ return isLength(maybeLength);
57
+ }
58
+ //# sourceMappingURL=collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection.js","sourceRoot":"","sources":["../../src/utils/collection.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,KAAK,CAAC,KAAc;IAClC,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gFAAgF;IAChF,IACE,OAAO,KAAK,KAAK,SAAS;QAC1B,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,UAAU,EAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK,YAAY,GAAG,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,MAA4C;IAE5C,MAAM,cAAc,GAAsB,EAAE,CAAC;IAE7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAClB,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,IAAI,CAAC;QACV,KAAK,GAAG,CAAC,KAAK,CAAC;QACf,KAAK,IAAI,MAAM,CAAC,gBAAgB,CACjC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,oBAAoB,CAAC;AACxE,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,WAAW,GAAI,KAA8B,CAAC,MAAM,CAAC;IAC3D,OAAO,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC/B,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "appium-mcp",
3
3
  "mcpName": "io.github.appium/appium-mcp",
4
- "version": "1.72.6",
4
+ "version": "1.72.7",
5
5
  "type": "module",
6
6
  "repository": {
7
7
  "type": "git",
@@ -59,10 +59,9 @@
59
59
  "appium-xcuitest-driver": "^11.0.0",
60
60
  "applesign": "^5.0.0",
61
61
  "fast-xml-parser": "^5.2.3",
62
- "ios-mobileprovision-finder": "^1.2.1",
63
62
  "fastmcp": "^4.0.0",
63
+ "ios-mobileprovision-finder": "^1.2.1",
64
64
  "langchain": "^1.1.6",
65
- "lodash": "^4.17.21",
66
65
  "node-simctl": "^8.0.4",
67
66
  "rimraf": "^6.0.1",
68
67
  "webdriver": "^9.23.0",
@@ -75,7 +74,6 @@
75
74
  "@semantic-release/changelog": "^6.0.3",
76
75
  "@semantic-release/git": "^10.0.1",
77
76
  "@types/jest": "^30.0.0",
78
- "@types/lodash": "^4.17.17",
79
77
  "@types/node": "^25.0.9",
80
78
  "conventional-changelog-conventionalcommits": "^9.1.0",
81
79
  "husky": "^9.1.7",
package/server.json CHANGED
@@ -3,12 +3,12 @@
3
3
  "name": "io.github.appium/appium-mcp",
4
4
  "title": "MCP Appium - Mobile Development and Automation Server",
5
5
  "description": "MCP server for Appium mobile automation on iOS and Android devices with test creation tools.",
6
- "version": "1.72.6",
6
+ "version": "1.72.7",
7
7
  "packages": [
8
8
  {
9
9
  "registryType": "npm",
10
10
  "identifier": "appium-mcp",
11
- "version": "1.72.6",
11
+ "version": "1.72.7",
12
12
  "transport": {
13
13
  "type": "stdio"
14
14
  }
@@ -1,8 +1,8 @@
1
- import _ from 'lodash';
2
1
  import * as XPath from 'xpath';
3
2
  const xpathSelect = XPath.select;
4
3
 
5
4
  import log from '../logger.js';
5
+ import { isEmpty, omitNilValues } from '../utils/collection.js';
6
6
  import {
7
7
  childNodesOf,
8
8
  domToXML,
@@ -63,7 +63,7 @@ export function areAttrAndValueUnique(
63
63
  sourceDoc: XMLDocument
64
64
  ): boolean {
65
65
  // If no sourceDoc provided, assume it's unique
66
- if (!sourceDoc || _.isEmpty(sourceDoc)) {
66
+ if (!sourceDoc || isEmpty(sourceDoc)) {
67
67
  return true;
68
68
  }
69
69
  const result = xpathSelect(
@@ -132,7 +132,7 @@ export function getComplexSuggestedLocators(
132
132
  complexLocators.xpath = getOptimalXPath(sourceDoc, domNode);
133
133
 
134
134
  // Remove entries for locators where the optimal selector could not be found
135
- return _.omitBy(complexLocators, _.isNil) as Record<string, string>;
135
+ return omitNilValues(complexLocators);
136
136
  }
137
137
 
138
138
  /**
@@ -200,7 +200,7 @@ export function getSuggestedLocators(
200
200
  }
201
201
 
202
202
  // Add any remaining locators that weren't in the priority list (like 'id' for native contexts)
203
- for (const [strategy, value] of _.toPairs(allLocators)) {
203
+ for (const [strategy, value] of Object.entries(allLocators)) {
204
204
  if (!priorityOrder.includes(strategy)) {
205
205
  sortedLocators.push([strategy, value]);
206
206
  }
@@ -338,7 +338,7 @@ export function getOptimalClassChain(
338
338
 
339
339
  for (const attrName of CHECKED_CLASS_CHAIN_ATTRIBUTES) {
340
340
  const attrValue = (domNode as XMLElement).getAttribute?.(attrName);
341
- if (_.isEmpty(attrValue)) {
341
+ if (isEmpty(attrValue)) {
342
342
  continue;
343
343
  }
344
344
  const xpath = `//${domNode.nodeName || '*'}[@${attrName}="${attrValue}"]`;
@@ -415,7 +415,7 @@ export function getOptimalPredicateString(
415
415
 
416
416
  for (const attrName of CHECKED_PREDICATE_ATTRIBUTES) {
417
417
  const attrValue = (domNode as XMLElement).getAttribute?.(attrName);
418
- if (_.isEmpty(attrValue)) {
418
+ if (isEmpty(attrValue)) {
419
419
  continue;
420
420
  }
421
421
 
@@ -465,10 +465,10 @@ export function getOptimalUiAutomatorSelector(
465
465
  // hierarchy is the child of doc (which is <xml/>), so need to get the children of its child
466
466
  // BASE CASE #2: If there is no hierarchy or its children, return null
467
467
  const docChildren = childNodesOf(doc);
468
- const hierarchyChildren = _.isEmpty(docChildren)
468
+ const hierarchyChildren = isEmpty(docChildren)
469
469
  ? []
470
470
  : childNodesOf(docChildren[0]);
471
- if (_.isEmpty(hierarchyChildren)) {
471
+ if (isEmpty(hierarchyChildren)) {
472
472
  return null;
473
473
  }
474
474
 
@@ -502,7 +502,7 @@ export function getOptimalUiAutomatorSelector(
502
502
 
503
503
  for (const [attrName, attrTranslation] of CHECKED_UIAUTOMATOR_ATTRIBUTES) {
504
504
  const attrValue = (newDomNode as XMLElement).getAttribute?.(attrName);
505
- if (_.isEmpty(attrValue)) {
505
+ if (isEmpty(attrValue)) {
506
506
  continue;
507
507
  }
508
508
 
@@ -585,7 +585,7 @@ function getUniqueXPath(
585
585
  ): [string | undefined, boolean | undefined] {
586
586
  let uniqueXpath: string | undefined, semiUniqueXpath: string | undefined;
587
587
  const tagForXpath = domNode.nodeName || '*';
588
- const isPairs = attrs.length > 0 && _.isArray(attrs[0]);
588
+ const isPairs = attrs.length > 0 && Array.isArray(attrs[0]);
589
589
  const isNodeName = attrs.length === 0;
590
590
 
591
591
  // If we're looking for a unique //<nodetype>, return it only if it's actually unique. No
@@ -637,7 +637,7 @@ function getUniqueXPath(
637
637
  // if the xpath wasn't totally unique it might still be our best bet. Store a less unique
638
638
  // version qualified by an index for later in semiUniqueXpath. If we can't find a better
639
639
  // unique option down the road, we'll fall back to this
640
- if (!semiUniqueXpath && !_.isUndefined(indexIfNotUnique)) {
640
+ if (!semiUniqueXpath && indexIfNotUnique !== undefined) {
641
641
  semiUniqueXpath = `(${xpath})[${indexIfNotUnique + 1}]`;
642
642
  }
643
643
  }
@@ -6,7 +6,6 @@ import {
6
6
  Node as XMLNode,
7
7
  Element as XMLElement,
8
8
  } from '@xmldom/xmldom';
9
- import _ from 'lodash';
10
9
 
11
10
  const domParser = new DOMParser();
12
11
  const xmlSerializer = new XMLSerializer();
@@ -37,7 +36,9 @@ export function childNodesOf(domNode: XMLNode): XMLNode[] {
37
36
  if (!domNode?.hasChildNodes()) {
38
37
  return [];
39
38
  }
40
- return _.filter(domNode.childNodes, ['nodeType', domNode.ELEMENT_NODE]);
39
+ return Array.from(domNode.childNodes).filter(
40
+ (childNode) => childNode.nodeType === domNode.ELEMENT_NODE
41
+ );
41
42
  }
42
43
 
43
44
  /**
@@ -112,9 +113,8 @@ export function xmlToJSON(sourceXML: string): JSONElement {
112
113
  }
113
114
 
114
115
  // Dot Separated path of indices
115
- const path = _.isNil(index)
116
- ? ''
117
- : `${!parentPath ? '' : parentPath + '.'}${index}`;
116
+ const path =
117
+ index == null ? '' : `${!parentPath ? '' : parentPath + '.'}${index}`;
118
118
 
119
119
  return {
120
120
  children: childNodesOf(domNode).map((childNode, childIndex) =>
Binary file
@@ -14,13 +14,6 @@ import type { AIArgs } from '../schema.js';
14
14
  // Module-level singleton: ensures the LRU cache persists across tool calls.
15
15
  // Creating a new AIVisionFinder() on every call would reset the cache each time.
16
16
  let _finderInstance: AIVisionFinder | null = null;
17
- function getAIVisionFinder(): AIVisionFinder {
18
- if (!_finderInstance) {
19
- _finderInstance = new AIVisionFinder();
20
- }
21
- return _finderInstance;
22
- }
23
-
24
17
  export async function handleFindElement(
25
18
  driver: DriverInstance,
26
19
  args: AIArgs
@@ -72,3 +65,10 @@ export async function handleFindElement(
72
65
  return errorResult(`AI find_element failed. Error: ${errorMessage}`);
73
66
  }
74
67
  }
68
+
69
+ function getAIVisionFinder(): AIVisionFinder {
70
+ if (!_finderInstance) {
71
+ _finderInstance = new AIVisionFinder();
72
+ }
73
+ return _finderInstance;
74
+ }
@@ -0,0 +1,77 @@
1
+ export function isNil(value: unknown): value is null | undefined {
2
+ return value == null;
3
+ }
4
+
5
+ export function isEmpty(value: unknown): boolean {
6
+ if (value == null) {
7
+ return true;
8
+ }
9
+
10
+ // Keep behavior aligned with lodash: primitives/functions are treated as empty.
11
+ if (
12
+ typeof value === 'boolean' ||
13
+ typeof value === 'number' ||
14
+ typeof value === 'bigint' ||
15
+ typeof value === 'symbol' ||
16
+ typeof value === 'function'
17
+ ) {
18
+ return true;
19
+ }
20
+
21
+ if (typeof value === 'string') {
22
+ return value.length === 0;
23
+ }
24
+
25
+ if (Array.isArray(value)) {
26
+ return value.length === 0;
27
+ }
28
+
29
+ if (isArguments(value) || isTypedArrayLike(value)) {
30
+ return value.length === 0;
31
+ }
32
+
33
+ if (value instanceof Map || value instanceof Set) {
34
+ return value.size === 0;
35
+ }
36
+
37
+ if (typeof value === 'object') {
38
+ return Object.keys(value).length === 0;
39
+ }
40
+
41
+ return false;
42
+ }
43
+
44
+ export function omitNilValues<T>(
45
+ values: Record<string, T | null | undefined>
46
+ ): Record<string, T> {
47
+ const filteredValues: Record<string, T> = {};
48
+
49
+ for (const [key, value] of Object.entries(values)) {
50
+ if (!isNil(value)) {
51
+ filteredValues[key] = value;
52
+ }
53
+ }
54
+
55
+ return filteredValues;
56
+ }
57
+
58
+ function isLength(value: unknown): value is number {
59
+ return (
60
+ typeof value === 'number' &&
61
+ value >= 0 &&
62
+ value % 1 === 0 &&
63
+ value <= Number.MAX_SAFE_INTEGER
64
+ );
65
+ }
66
+
67
+ function isArguments(value: unknown): value is IArguments {
68
+ return Object.prototype.toString.call(value) === '[object Arguments]';
69
+ }
70
+
71
+ function isTypedArrayLike(value: unknown): value is { length: number } {
72
+ if (!ArrayBuffer.isView(value)) {
73
+ return false;
74
+ }
75
+ const maybeLength = (value as { length?: unknown }).length;
76
+ return isLength(maybeLength);
77
+ }