appium-mcp 1.82.2 → 1.84.0

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 (114) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -0
  3. package/dist/create-server.d.ts.map +1 -1
  4. package/dist/create-server.js +4 -0
  5. package/dist/create-server.js.map +1 -1
  6. package/dist/server.d.ts.map +1 -1
  7. package/dist/server.js +7 -4
  8. package/dist/server.js.map +1 -1
  9. package/dist/tests/create-server.test.js +8 -0
  10. package/dist/tests/create-server.test.js.map +1 -1
  11. package/dist/tests/tools/evidence.test.d.ts +2 -0
  12. package/dist/tests/tools/evidence.test.d.ts.map +1 -0
  13. package/dist/tests/tools/evidence.test.js +158 -0
  14. package/dist/tests/tools/evidence.test.js.map +1 -0
  15. package/dist/tests/utils/paths.test.js +5 -6
  16. package/dist/tests/utils/paths.test.js.map +1 -1
  17. package/dist/tools/evidence.d.ts +82 -0
  18. package/dist/tools/evidence.d.ts.map +1 -0
  19. package/dist/tools/evidence.js +124 -0
  20. package/dist/tools/evidence.js.map +1 -0
  21. package/dist/tools/gestures/gesture.d.ts.map +1 -1
  22. package/dist/tools/gestures/gesture.js +47 -25
  23. package/dist/tools/gestures/gesture.js.map +1 -1
  24. package/dist/tools/interactions/find.d.ts.map +1 -1
  25. package/dist/tools/interactions/find.js +27 -4
  26. package/dist/tools/interactions/find.js.map +1 -1
  27. package/package.json +8 -19
  28. package/server.json +2 -2
  29. package/src/create-server.ts +4 -0
  30. package/src/server.ts +9 -4
  31. package/src/tools/evidence.ts +198 -0
  32. package/src/tools/gestures/gesture.ts +63 -26
  33. package/src/tools/interactions/find.ts +40 -6
  34. package/dist/scripts/eval-documentation-rag.d.ts +0 -50
  35. package/dist/scripts/eval-documentation-rag.d.ts.map +0 -1
  36. package/dist/scripts/eval-documentation-rag.js +0 -287
  37. package/dist/scripts/eval-documentation-rag.js.map +0 -1
  38. package/dist/scripts/generate-embeddings-cache.d.ts +0 -13
  39. package/dist/scripts/generate-embeddings-cache.d.ts.map +0 -1
  40. package/dist/scripts/generate-embeddings-cache.js +0 -24
  41. package/dist/scripts/generate-embeddings-cache.js.map +0 -1
  42. package/dist/scripts/rag-eval-dataset.json +0 -516
  43. package/dist/scripts/simple-index-documentation.d.ts +0 -21
  44. package/dist/scripts/simple-index-documentation.d.ts.map +0 -1
  45. package/dist/scripts/simple-index-documentation.js +0 -77
  46. package/dist/scripts/simple-index-documentation.js.map +0 -1
  47. package/dist/scripts/simple-query-documentation.d.ts +0 -13
  48. package/dist/scripts/simple-query-documentation.d.ts.map +0 -1
  49. package/dist/scripts/simple-query-documentation.js +0 -52
  50. package/dist/scripts/simple-query-documentation.js.map +0 -1
  51. package/dist/tests/tools/documentation/appium-skills.test.d.ts +0 -2
  52. package/dist/tests/tools/documentation/appium-skills.test.d.ts.map +0 -1
  53. package/dist/tests/tools/documentation/appium-skills.test.js +0 -106
  54. package/dist/tests/tools/documentation/appium-skills.test.js.map +0 -1
  55. package/dist/tests/tools/documentation/plugin.test.d.ts +0 -2
  56. package/dist/tests/tools/documentation/plugin.test.d.ts.map +0 -1
  57. package/dist/tests/tools/documentation/plugin.test.js +0 -34
  58. package/dist/tests/tools/documentation/plugin.test.js.map +0 -1
  59. package/dist/tests/tools/documentation/simple-pdf-indexer.test.d.ts +0 -2
  60. package/dist/tests/tools/documentation/simple-pdf-indexer.test.d.ts.map +0 -1
  61. package/dist/tests/tools/documentation/simple-pdf-indexer.test.js +0 -46
  62. package/dist/tests/tools/documentation/simple-pdf-indexer.test.js.map +0 -1
  63. package/dist/tools/documentation/answer-appium.d.ts +0 -8
  64. package/dist/tools/documentation/answer-appium.d.ts.map +0 -1
  65. package/dist/tools/documentation/answer-appium.js +0 -38
  66. package/dist/tools/documentation/answer-appium.js.map +0 -1
  67. package/dist/tools/documentation/appium-skills.d.ts +0 -5
  68. package/dist/tools/documentation/appium-skills.d.ts.map +0 -1
  69. package/dist/tools/documentation/appium-skills.js +0 -168
  70. package/dist/tools/documentation/appium-skills.js.map +0 -1
  71. package/dist/tools/documentation/index.d.ts +0 -29
  72. package/dist/tools/documentation/index.d.ts.map +0 -1
  73. package/dist/tools/documentation/index.js +0 -66
  74. package/dist/tools/documentation/index.js.map +0 -1
  75. package/dist/tools/documentation/markdown-header-splitter.d.ts +0 -32
  76. package/dist/tools/documentation/markdown-header-splitter.d.ts.map +0 -1
  77. package/dist/tools/documentation/markdown-header-splitter.js +0 -180
  78. package/dist/tools/documentation/markdown-header-splitter.js.map +0 -1
  79. package/dist/tools/documentation/plugin.d.ts +0 -14
  80. package/dist/tools/documentation/plugin.d.ts.map +0 -1
  81. package/dist/tools/documentation/plugin.js +0 -19
  82. package/dist/tools/documentation/plugin.js.map +0 -1
  83. package/dist/tools/documentation/reasoning-rag.d.ts +0 -89
  84. package/dist/tools/documentation/reasoning-rag.d.ts.map +0 -1
  85. package/dist/tools/documentation/reasoning-rag.js +0 -282
  86. package/dist/tools/documentation/reasoning-rag.js.map +0 -1
  87. package/dist/tools/documentation/sentence-transformers-embeddings.d.ts +0 -40
  88. package/dist/tools/documentation/sentence-transformers-embeddings.d.ts.map +0 -1
  89. package/dist/tools/documentation/sentence-transformers-embeddings.js +0 -119
  90. package/dist/tools/documentation/sentence-transformers-embeddings.js.map +0 -1
  91. package/dist/tools/documentation/simple-pdf-indexer.d.ts +0 -47
  92. package/dist/tools/documentation/simple-pdf-indexer.d.ts.map +0 -1
  93. package/dist/tools/documentation/simple-pdf-indexer.js +0 -572
  94. package/dist/tools/documentation/simple-pdf-indexer.js.map +0 -1
  95. package/dist/tools/documentation/uploads/documents.json +0 -1
  96. package/dist/tools/documentation/uploads/embeddings-Xenova-bge-small-en-v1.5.json +0 -1
  97. package/scripts/setup-submodules-sparse.sh +0 -53
  98. package/scripts/update-submodules.sh +0 -14
  99. package/scripts/zip-assets.mjs +0 -55
  100. package/src/resources/submodules.zip +0 -0
  101. package/src/scripts/eval-documentation-rag.ts +0 -433
  102. package/src/scripts/generate-embeddings-cache.ts +0 -24
  103. package/src/scripts/rag-eval-dataset.json +0 -516
  104. package/src/scripts/simple-index-documentation.ts +0 -93
  105. package/src/scripts/simple-query-documentation.ts +0 -61
  106. package/src/tools/documentation/answer-appium.ts +0 -47
  107. package/src/tools/documentation/appium-skills.ts +0 -244
  108. package/src/tools/documentation/index.ts +0 -99
  109. package/src/tools/documentation/markdown-header-splitter.ts +0 -209
  110. package/src/tools/documentation/plugin.ts +0 -21
  111. package/src/tools/documentation/reasoning-rag.ts +0 -438
  112. package/src/tools/documentation/sentence-transformers-embeddings.ts +0 -152
  113. package/src/tools/documentation/simple-pdf-indexer.ts +0 -755
  114. package/src/tools/documentation/uploads/documents.json +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"reasoning-rag.js","sourceRoot":"","sources":["../../../src/tools/documentation/reasoning-rag.ts"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- /**
2
- * Sentence Transformers Embeddings Provider
3
- *
4
- * Uses @xenova/transformers to provide local embeddings without requiring API keys.
5
- * This is perfect for self-hosted MCP servers and eliminates external dependencies.
6
- */
7
- /**
8
- * LangChain-compatible embeddings class using sentence-transformers
9
- */
10
- export declare class SentenceTransformersEmbeddings {
11
- private model;
12
- private modelName;
13
- private queryInstruction;
14
- private isInitialized;
15
- private transformers;
16
- constructor(options?: {
17
- modelName?: string;
18
- queryInstruction?: string;
19
- });
20
- /** Name of the underlying model (used to namespace the embeddings cache file). */
21
- getModelName(): string;
22
- /**
23
- * Generate embeddings for a single text (LangChain interface).
24
- * Applies queryInstruction prefix when set.
25
- */
26
- embedQuery(text: string): Promise<number[]>;
27
- /**
28
- * Generate embeddings for multiple texts (LangChain interface)
29
- */
30
- embedDocuments(texts: string[]): Promise<number[][]>;
31
- /**
32
- * Initialize the transformers library dynamically
33
- */
34
- private initializeTransformers;
35
- /**
36
- * Initialize the model lazily
37
- */
38
- private initializeModel;
39
- }
40
- //# sourceMappingURL=sentence-transformers-embeddings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sentence-transformers-embeddings.d.ts","sourceRoot":"","sources":["../../../src/tools/documentation/sentence-transformers-embeddings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,qBAAa,8BAA8B;IACzC,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,YAAY,CAAa;gBAErB,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAO;IAO3E,kFAAkF;IAClF,YAAY,IAAI,MAAM;IAItB;;;OAGG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA4BjD;;OAEG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAkC1D;;OAEG;YACW,sBAAsB;IAoBpC;;OAEG;YACW,eAAe;CAyB9B"}
@@ -1,119 +0,0 @@
1
- /**
2
- * Sentence Transformers Embeddings Provider
3
- *
4
- * Uses @xenova/transformers to provide local embeddings without requiring API keys.
5
- * This is perfect for self-hosted MCP servers and eliminates external dependencies.
6
- */
7
- import log from '../../logger.js';
8
- /**
9
- * LangChain-compatible embeddings class using sentence-transformers
10
- */
11
- export class SentenceTransformersEmbeddings {
12
- model = null;
13
- modelName;
14
- queryInstruction;
15
- isInitialized = false;
16
- transformers = null;
17
- constructor(options = {}) {
18
- this.modelName = options.modelName || 'Xenova/all-MiniLM-L6-v2';
19
- // Optional prefix prepended only to queries (not documents).
20
- // BGE models use this to close the question/passage style gap.
21
- this.queryInstruction = options.queryInstruction ?? '';
22
- }
23
- /** Name of the underlying model (used to namespace the embeddings cache file). */
24
- getModelName() {
25
- return this.modelName;
26
- }
27
- /**
28
- * Generate embeddings for a single text (LangChain interface).
29
- * Applies queryInstruction prefix when set.
30
- */
31
- async embedQuery(text) {
32
- await this.initializeModel();
33
- if (!this.model) {
34
- throw new Error('Model not initialized');
35
- }
36
- try {
37
- const input = this.queryInstruction
38
- ? `${this.queryInstruction}${text}`
39
- : text;
40
- const result = await this.model(input, {
41
- pooling: 'mean',
42
- normalize: true,
43
- });
44
- // Convert tensor to array
45
- const embeddings = Array.from(result.data);
46
- return embeddings;
47
- }
48
- catch (error) {
49
- log.error('Error generating embeddings:', error);
50
- throw new Error(`Failed to generate embeddings: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
51
- }
52
- }
53
- /**
54
- * Generate embeddings for multiple texts (LangChain interface)
55
- */
56
- async embedDocuments(texts) {
57
- await this.initializeModel();
58
- if (!this.model) {
59
- throw new Error('Model not initialized');
60
- }
61
- try {
62
- const embeddings = [];
63
- const logEvery = 50; // chunk-by-chunk progress would be too noisy
64
- for (let i = 0; i < texts.length; i++) {
65
- const result = await this.model(texts[i], {
66
- pooling: 'mean',
67
- normalize: true,
68
- });
69
- embeddings.push(Array.from(result.data));
70
- if (texts.length > logEvery &&
71
- (i + 1 === texts.length || (i + 1) % logEvery === 0)) {
72
- log.info(`Processed ${i + 1}/${texts.length} documents`);
73
- }
74
- }
75
- return embeddings;
76
- }
77
- catch (error) {
78
- log.error('Error generating document embeddings:', error);
79
- throw new Error(`Failed to generate document embeddings: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
80
- }
81
- }
82
- /**
83
- * Initialize the transformers library dynamically
84
- */
85
- async initializeTransformers() {
86
- if (this.transformers) {
87
- return;
88
- }
89
- try {
90
- // Use eval to avoid CommonJS/ESM conflict during compilation
91
- const importTransformers = new Function('return import("@xenova/transformers")');
92
- this.transformers = await importTransformers();
93
- }
94
- catch (error) {
95
- log.error('Error importing @xenova/transformers:', error);
96
- throw new Error(`Failed to import @xenova/transformers: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
97
- }
98
- }
99
- /**
100
- * Initialize the model lazily
101
- */
102
- async initializeModel() {
103
- if (this.isInitialized && this.model) {
104
- return;
105
- }
106
- await this.initializeTransformers();
107
- log.info(`Initializing sentence-transformers model: ${this.modelName}`);
108
- try {
109
- this.model = await this.transformers.pipeline('feature-extraction', this.modelName);
110
- this.isInitialized = true;
111
- log.info(`Successfully initialized sentence-transformers model: ${this.modelName}`);
112
- }
113
- catch (error) {
114
- log.error('Error initializing sentence-transformers model:', error);
115
- throw new Error(`Failed to initialize sentence-transformers model: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
116
- }
117
- }
118
- }
119
- //# sourceMappingURL=sentence-transformers-embeddings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sentence-transformers-embeddings.js","sourceRoot":"","sources":["../../../src/tools/documentation/sentence-transformers-embeddings.ts"],"names":[],"mappings":"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"}
@@ -1,47 +0,0 @@
1
- /**
2
- * Simple Markdown Indexer
3
- *
4
- * Indexes Markdown documents into an in-memory vector store using a
5
- * header-aware hybrid splitter and LangChain's MemoryVectorStore. The
6
- * vector store is persisted to a file for use across different script
7
- * executions.
8
- */
9
- import { Document } from '@langchain/core/documents';
10
- import { MemoryVectorStore } from '@langchain/classic/vectorstores/memory';
11
- /**
12
- * Initialize the vector store with Markdown content
13
- * @param markdownPath Path to the Markdown file
14
- * @param chunkSize Size of each chunk in characters
15
- * @param chunkOverlap Number of characters to overlap between chunks
16
- * @returns The initialized MemoryVectorStore
17
- */
18
- export declare function initializeVectorStore(markdownPath: string, chunkSize?: number, chunkOverlap?: number): Promise<MemoryVectorStore>;
19
- /**
20
- * Get all Markdown files in a directory recursively
21
- * @param dirPath Path to the directory
22
- * @returns Array of Markdown file paths
23
- */
24
- export declare function getMarkdownFilesInDirectory(dirPath: string): Promise<string[]>;
25
- /**
26
- * Index a Markdown file into the memory vector store
27
- * @param markdownPath Path to the Markdown file
28
- * @param chunkSize Size of each chunk in characters
29
- * @param chunkOverlap Number of characters to overlap between chunks
30
- */
31
- export declare function indexMarkdown(markdownPath: string, chunkSize?: number, chunkOverlap?: number): Promise<void>;
32
- /**
33
- * Index all Markdown files in a directory
34
- * @param dirPath Path to the directory containing Markdown files
35
- * @param chunkSize Size of each chunk in characters
36
- * @param chunkOverlap Number of characters to overlap between chunks
37
- * @returns Array of indexed Markdown file paths
38
- */
39
- export declare function indexAllMarkdownFiles(dirPath: string, chunkSize?: number, chunkOverlap?: number): Promise<string[]>;
40
- /**
41
- * Query the vector store for similar documents
42
- * @param query The query text
43
- * @param topK Number of results to return
44
- * @returns Array of documents with their content and metadata
45
- */
46
- export declare function queryVectorStore(query: string, topK?: number): Promise<Document[]>;
47
- //# sourceMappingURL=simple-pdf-indexer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simple-pdf-indexer.d.ts","sourceRoot":"","sources":["../../../src/tools/documentation/simple-pdf-indexer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAqG3E;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,MAAM,EACpB,SAAS,GAAE,MAAa,EACxB,YAAY,GAAE,MAAY,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAmD5B;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,EAAE,CAAC,CAyCnB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,YAAY,EAAE,MAAM,EACpB,SAAS,GAAE,MAAa,EACxB,YAAY,GAAE,MAAY,GACzB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAAa,EACxB,YAAY,GAAE,MAAY,GACzB,OAAO,CAAC,MAAM,EAAE,CAAC,CAmGnB;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,MAAW,GAChB,OAAO,CAAC,QAAQ,EAAE,CAAC,CA6CrB"}