appium-desktop-driver 1.2.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 (208) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +609 -0
  3. package/ROADMAP.md +175 -0
  4. package/build/lib/commands/actions.d.ts +12 -0
  5. package/build/lib/commands/actions.d.ts.map +1 -0
  6. package/build/lib/commands/actions.js +242 -0
  7. package/build/lib/commands/actions.js.map +1 -0
  8. package/build/lib/commands/app.d.ts +18 -0
  9. package/build/lib/commands/app.d.ts.map +1 -0
  10. package/build/lib/commands/app.js +280 -0
  11. package/build/lib/commands/app.js.map +1 -0
  12. package/build/lib/commands/device.d.ts +11 -0
  13. package/build/lib/commands/device.d.ts.map +1 -0
  14. package/build/lib/commands/device.js +236 -0
  15. package/build/lib/commands/device.js.map +1 -0
  16. package/build/lib/commands/element.d.ts +16 -0
  17. package/build/lib/commands/element.d.ts.map +1 -0
  18. package/build/lib/commands/element.js +233 -0
  19. package/build/lib/commands/element.js.map +1 -0
  20. package/build/lib/commands/extension.d.ts +124 -0
  21. package/build/lib/commands/extension.d.ts.map +1 -0
  22. package/build/lib/commands/extension.js +715 -0
  23. package/build/lib/commands/extension.js.map +1 -0
  24. package/build/lib/commands/functions.d.ts +3 -0
  25. package/build/lib/commands/functions.d.ts.map +1 -0
  26. package/build/lib/commands/functions.js +194 -0
  27. package/build/lib/commands/functions.js.map +1 -0
  28. package/build/lib/commands/index.d.ts +178 -0
  29. package/build/lib/commands/index.d.ts.map +1 -0
  30. package/build/lib/commands/index.js +54 -0
  31. package/build/lib/commands/index.js.map +1 -0
  32. package/build/lib/commands/powershell.d.ts +6 -0
  33. package/build/lib/commands/powershell.d.ts.map +1 -0
  34. package/build/lib/commands/powershell.js +202 -0
  35. package/build/lib/commands/powershell.js.map +1 -0
  36. package/build/lib/commands/screen-recorder.d.ts +40 -0
  37. package/build/lib/commands/screen-recorder.d.ts.map +1 -0
  38. package/build/lib/commands/screen-recorder.js +183 -0
  39. package/build/lib/commands/screen-recorder.js.map +1 -0
  40. package/build/lib/commands/system.d.ts +4 -0
  41. package/build/lib/commands/system.d.ts.map +1 -0
  42. package/build/lib/commands/system.js +8 -0
  43. package/build/lib/commands/system.js.map +1 -0
  44. package/build/lib/constants.d.ts +3 -0
  45. package/build/lib/constants.d.ts.map +1 -0
  46. package/build/lib/constants.js +6 -0
  47. package/build/lib/constants.js.map +1 -0
  48. package/build/lib/constraints.d.ts +58 -0
  49. package/build/lib/constraints.d.ts.map +1 -0
  50. package/build/lib/constraints.js +60 -0
  51. package/build/lib/constraints.js.map +1 -0
  52. package/build/lib/driver.d.ts +36 -0
  53. package/build/lib/driver.d.ts.map +1 -0
  54. package/build/lib/driver.js +209 -0
  55. package/build/lib/driver.js.map +1 -0
  56. package/build/lib/enums.d.ts +89 -0
  57. package/build/lib/enums.d.ts.map +1 -0
  58. package/build/lib/enums.js +83 -0
  59. package/build/lib/enums.js.map +1 -0
  60. package/build/lib/mcp/appium-manager.d.ts +8 -0
  61. package/build/lib/mcp/appium-manager.d.ts.map +1 -0
  62. package/build/lib/mcp/appium-manager.js +160 -0
  63. package/build/lib/mcp/appium-manager.js.map +1 -0
  64. package/build/lib/mcp/config.d.ts +7 -0
  65. package/build/lib/mcp/config.d.ts.map +1 -0
  66. package/build/lib/mcp/config.js +14 -0
  67. package/build/lib/mcp/config.js.map +1 -0
  68. package/build/lib/mcp/constants.d.ts +3 -0
  69. package/build/lib/mcp/constants.d.ts.map +1 -0
  70. package/build/lib/mcp/constants.js +6 -0
  71. package/build/lib/mcp/constants.js.map +1 -0
  72. package/build/lib/mcp/errors.d.ts +2 -0
  73. package/build/lib/mcp/errors.d.ts.map +1 -0
  74. package/build/lib/mcp/errors.js +10 -0
  75. package/build/lib/mcp/errors.js.map +1 -0
  76. package/build/lib/mcp/index.d.ts +3 -0
  77. package/build/lib/mcp/index.d.ts.map +1 -0
  78. package/build/lib/mcp/index.js +113 -0
  79. package/build/lib/mcp/index.js.map +1 -0
  80. package/build/lib/mcp/session.d.ts +24 -0
  81. package/build/lib/mcp/session.d.ts.map +1 -0
  82. package/build/lib/mcp/session.js +77 -0
  83. package/build/lib/mcp/session.js.map +1 -0
  84. package/build/lib/mcp/tools/advanced.d.ts +4 -0
  85. package/build/lib/mcp/tools/advanced.d.ts.map +1 -0
  86. package/build/lib/mcp/tools/advanced.js +119 -0
  87. package/build/lib/mcp/tools/advanced.js.map +1 -0
  88. package/build/lib/mcp/tools/app.d.ts +4 -0
  89. package/build/lib/mcp/tools/app.d.ts.map +1 -0
  90. package/build/lib/mcp/tools/app.js +64 -0
  91. package/build/lib/mcp/tools/app.js.map +1 -0
  92. package/build/lib/mcp/tools/clipboard.d.ts +4 -0
  93. package/build/lib/mcp/tools/clipboard.d.ts.map +1 -0
  94. package/build/lib/mcp/tools/clipboard.js +41 -0
  95. package/build/lib/mcp/tools/clipboard.js.map +1 -0
  96. package/build/lib/mcp/tools/find.d.ts +4 -0
  97. package/build/lib/mcp/tools/find.d.ts.map +1 -0
  98. package/build/lib/mcp/tools/find.js +119 -0
  99. package/build/lib/mcp/tools/find.js.map +1 -0
  100. package/build/lib/mcp/tools/index.d.ts +4 -0
  101. package/build/lib/mcp/tools/index.d.ts.map +1 -0
  102. package/build/lib/mcp/tools/index.js +24 -0
  103. package/build/lib/mcp/tools/index.js.map +1 -0
  104. package/build/lib/mcp/tools/inspect.d.ts +4 -0
  105. package/build/lib/mcp/tools/inspect.d.ts.map +1 -0
  106. package/build/lib/mcp/tools/inspect.js +106 -0
  107. package/build/lib/mcp/tools/inspect.js.map +1 -0
  108. package/build/lib/mcp/tools/interact.d.ts +4 -0
  109. package/build/lib/mcp/tools/interact.d.ts.map +1 -0
  110. package/build/lib/mcp/tools/interact.js +121 -0
  111. package/build/lib/mcp/tools/interact.js.map +1 -0
  112. package/build/lib/mcp/tools/patterns.d.ts +4 -0
  113. package/build/lib/mcp/tools/patterns.d.ts.map +1 -0
  114. package/build/lib/mcp/tools/patterns.js +136 -0
  115. package/build/lib/mcp/tools/patterns.js.map +1 -0
  116. package/build/lib/mcp/tools/session.d.ts +4 -0
  117. package/build/lib/mcp/tools/session.d.ts.map +1 -0
  118. package/build/lib/mcp/tools/session.js +55 -0
  119. package/build/lib/mcp/tools/session.js.map +1 -0
  120. package/build/lib/mcp/tools/window.d.ts +4 -0
  121. package/build/lib/mcp/tools/window.d.ts.map +1 -0
  122. package/build/lib/mcp/tools/window.js +134 -0
  123. package/build/lib/mcp/tools/window.js.map +1 -0
  124. package/build/lib/powershell/common.d.ts +39 -0
  125. package/build/lib/powershell/common.d.ts.map +1 -0
  126. package/build/lib/powershell/common.js +121 -0
  127. package/build/lib/powershell/common.js.map +1 -0
  128. package/build/lib/powershell/conditions.d.ts +24 -0
  129. package/build/lib/powershell/conditions.d.ts.map +1 -0
  130. package/build/lib/powershell/conditions.js +131 -0
  131. package/build/lib/powershell/conditions.js.map +1 -0
  132. package/build/lib/powershell/converter.d.ts +3 -0
  133. package/build/lib/powershell/converter.d.ts.map +1 -0
  134. package/build/lib/powershell/converter.js +273 -0
  135. package/build/lib/powershell/converter.js.map +1 -0
  136. package/build/lib/powershell/core.d.ts +8 -0
  137. package/build/lib/powershell/core.d.ts.map +1 -0
  138. package/build/lib/powershell/core.js +30 -0
  139. package/build/lib/powershell/core.js.map +1 -0
  140. package/build/lib/powershell/elements.d.ts +70 -0
  141. package/build/lib/powershell/elements.d.ts.map +1 -0
  142. package/build/lib/powershell/elements.js +523 -0
  143. package/build/lib/powershell/elements.js.map +1 -0
  144. package/build/lib/powershell/index.d.ts +8 -0
  145. package/build/lib/powershell/index.d.ts.map +1 -0
  146. package/build/lib/powershell/index.js +24 -0
  147. package/build/lib/powershell/index.js.map +1 -0
  148. package/build/lib/powershell/regex.d.ts +19 -0
  149. package/build/lib/powershell/regex.d.ts.map +1 -0
  150. package/build/lib/powershell/regex.js +68 -0
  151. package/build/lib/powershell/regex.js.map +1 -0
  152. package/build/lib/powershell/types.d.ts +155 -0
  153. package/build/lib/powershell/types.d.ts.map +1 -0
  154. package/build/lib/powershell/types.js +141 -0
  155. package/build/lib/powershell/types.js.map +1 -0
  156. package/build/lib/util.d.ts +17 -0
  157. package/build/lib/util.d.ts.map +1 -0
  158. package/build/lib/util.js +76 -0
  159. package/build/lib/util.js.map +1 -0
  160. package/build/lib/winapi/types/index.d.ts +8 -0
  161. package/build/lib/winapi/types/index.d.ts.map +1 -0
  162. package/build/lib/winapi/types/index.js +24 -0
  163. package/build/lib/winapi/types/index.js.map +1 -0
  164. package/build/lib/winapi/types/input.d.ts +11 -0
  165. package/build/lib/winapi/types/input.d.ts.map +1 -0
  166. package/build/lib/winapi/types/input.js +12 -0
  167. package/build/lib/winapi/types/input.js.map +1 -0
  168. package/build/lib/winapi/types/keyeventf.d.ts +13 -0
  169. package/build/lib/winapi/types/keyeventf.d.ts.map +1 -0
  170. package/build/lib/winapi/types/keyeventf.js +14 -0
  171. package/build/lib/winapi/types/keyeventf.js.map +1 -0
  172. package/build/lib/winapi/types/mouseeventf.d.ts +34 -0
  173. package/build/lib/winapi/types/mouseeventf.d.ts.map +1 -0
  174. package/build/lib/winapi/types/mouseeventf.js +37 -0
  175. package/build/lib/winapi/types/mouseeventf.js.map +1 -0
  176. package/build/lib/winapi/types/scancode.d.ts +95 -0
  177. package/build/lib/winapi/types/scancode.d.ts.map +1 -0
  178. package/build/lib/winapi/types/scancode.js +96 -0
  179. package/build/lib/winapi/types/scancode.js.map +1 -0
  180. package/build/lib/winapi/types/systemmetric.d.ts +214 -0
  181. package/build/lib/winapi/types/systemmetric.d.ts.map +1 -0
  182. package/build/lib/winapi/types/systemmetric.js +215 -0
  183. package/build/lib/winapi/types/systemmetric.js.map +1 -0
  184. package/build/lib/winapi/types/virtualkey.d.ts +353 -0
  185. package/build/lib/winapi/types/virtualkey.d.ts.map +1 -0
  186. package/build/lib/winapi/types/virtualkey.js +354 -0
  187. package/build/lib/winapi/types/virtualkey.js.map +1 -0
  188. package/build/lib/winapi/types/xmousebutton.d.ts +7 -0
  189. package/build/lib/winapi/types/xmousebutton.d.ts.map +1 -0
  190. package/build/lib/winapi/types/xmousebutton.js +8 -0
  191. package/build/lib/winapi/types/xmousebutton.js.map +1 -0
  192. package/build/lib/winapi/user32.d.ts +56 -0
  193. package/build/lib/winapi/user32.d.ts.map +1 -0
  194. package/build/lib/winapi/user32.js +592 -0
  195. package/build/lib/winapi/user32.js.map +1 -0
  196. package/build/lib/xpath/core.d.ts +8 -0
  197. package/build/lib/xpath/core.d.ts.map +1 -0
  198. package/build/lib/xpath/core.js +593 -0
  199. package/build/lib/xpath/core.js.map +1 -0
  200. package/build/lib/xpath/functions.d.ts +4 -0
  201. package/build/lib/xpath/functions.d.ts.map +1 -0
  202. package/build/lib/xpath/functions.js +271 -0
  203. package/build/lib/xpath/functions.js.map +1 -0
  204. package/build/lib/xpath/index.d.ts +3 -0
  205. package/build/lib/xpath/index.d.ts.map +1 -0
  206. package/build/lib/xpath/index.js +19 -0
  207. package/build/lib/xpath/index.js.map +1 -0
  208. package/package.json +71 -0
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerSessionTools = registerSessionTools;
4
+ const zod_1 = require("zod");
5
+ const errors_js_1 = require("../errors.js");
6
+ function registerSessionTools(server, session) {
7
+ server.registerTool('create_session', {
8
+ description: 'Start an Appium session by launching a Windows application. Must be called before any other tool. ' +
9
+ 'Provide either an executable path (e.g. "C:\\\\Windows\\\\notepad.exe") or a UWP App ID (e.g. "Microsoft.WindowsCalculator_8wekyb3d8bbwe!App").',
10
+ annotations: { destructiveHint: true },
11
+ inputSchema: {
12
+ app: zod_1.z.string().min(1).describe('Executable path (e.g. "C:\\\\Windows\\\\notepad.exe") or UWP App ID ' +
13
+ '(e.g. "Microsoft.WindowsCalculator_8wekyb3d8bbwe!App") or "Root" to attach to the desktop root.'),
14
+ appArguments: zod_1.z.string().optional().describe('Command-line arguments to pass to the app'),
15
+ appWorkingDir: zod_1.z.string().optional().describe('Working directory for the app process'),
16
+ waitForAppLaunch: zod_1.z.number().int().min(0).optional().describe('Milliseconds to wait after app launch before interacting'),
17
+ shouldCloseApp: zod_1.z.boolean().optional().default(true).describe('Whether to close the app when delete_session is called'),
18
+ implicitTimeout: zod_1.z.number().int().min(0).optional().default(1500).describe('Implicit element wait timeout in milliseconds'),
19
+ delayAfterClick: zod_1.z.number().int().min(0).optional().describe('Milliseconds to wait after each click'),
20
+ delayBeforeClick: zod_1.z.number().int().min(0).optional().describe('Milliseconds to wait before each click'),
21
+ smoothPointerMove: zod_1.z.string().optional().describe('Easing function name for smooth pointer movement'),
22
+ },
23
+ }, async (params) => {
24
+ try {
25
+ await session.create(params);
26
+ return { content: [{ type: 'text', text: `Session created. App "${params.app}" is ready for interaction.` }] };
27
+ }
28
+ catch (err) {
29
+ return { isError: true, content: [{ type: 'text', text: (0, errors_js_1.formatError)(err) }] };
30
+ }
31
+ });
32
+ server.registerTool('delete_session', {
33
+ description: 'End the current Appium session. Closes the app (unless shouldCloseApp was set to false when creating the session). Call this when testing is complete.',
34
+ annotations: { destructiveHint: true },
35
+ }, async () => {
36
+ try {
37
+ if (!session.isActive()) {
38
+ return { content: [{ type: 'text', text: 'No active session to delete.' }] };
39
+ }
40
+ await session.delete();
41
+ return { content: [{ type: 'text', text: 'Session deleted successfully.' }] };
42
+ }
43
+ catch (err) {
44
+ return { isError: true, content: [{ type: 'text', text: (0, errors_js_1.formatError)(err) }] };
45
+ }
46
+ });
47
+ server.registerTool('get_session_status', {
48
+ description: 'Check whether a session is currently active.',
49
+ annotations: { readOnlyHint: true },
50
+ }, async () => {
51
+ const active = session.isActive();
52
+ return { content: [{ type: 'text', text: active ? 'Session is active.' : 'No active session. Call create_session to start one.' }] };
53
+ });
54
+ }
55
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../lib/mcp/tools/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import type { AppiumSession } from '../session.js';
3
+ export declare function registerWindowTools(server: McpServer, session: AppiumSession): void;
4
+ //# sourceMappingURL=window.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../../../lib/mcp/tools/window.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAMnD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAiKnF"}
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerWindowTools = registerWindowTools;
4
+ const zod_1 = require("zod");
5
+ const errors_js_1 = require("../errors.js");
6
+ const elementIdSchema = zod_1.z.string().min(1).describe('Element ID returned by find_element or get_window_element');
7
+ const elementIdInput = { elementId: elementIdSchema };
8
+ function registerWindowTools(server, session) {
9
+ server.registerTool('take_screenshot', {
10
+ description: 'Capture a screenshot of the current app window as a PNG image.',
11
+ annotations: { readOnlyHint: true },
12
+ }, async () => {
13
+ try {
14
+ const driver = session.getDriver();
15
+ const base64 = await driver.takeScreenshot();
16
+ return { content: [{ type: 'image', data: base64, mimeType: 'image/png' }] };
17
+ }
18
+ catch (err) {
19
+ return { isError: true, content: [{ type: 'text', text: (0, errors_js_1.formatError)(err) }] };
20
+ }
21
+ });
22
+ server.registerTool('get_page_source', {
23
+ description: 'Get the XML representation of the current UI element tree. Useful for understanding the app structure before deciding what to interact with.',
24
+ annotations: { readOnlyHint: true },
25
+ }, async () => {
26
+ try {
27
+ const driver = session.getDriver();
28
+ const source = await driver.getPageSource();
29
+ return { content: [{ type: 'text', text: source }] };
30
+ }
31
+ catch (err) {
32
+ return { isError: true, content: [{ type: 'text', text: (0, errors_js_1.formatError)(err) }] };
33
+ }
34
+ });
35
+ server.registerTool('get_window_rect', {
36
+ description: 'Get the position and size of the current app window.',
37
+ annotations: { readOnlyHint: true },
38
+ }, async () => {
39
+ try {
40
+ const driver = session.getDriver();
41
+ const rect = await driver.getWindowRect();
42
+ return { content: [{ type: 'text', text: JSON.stringify(rect) }] };
43
+ }
44
+ catch (err) {
45
+ return { isError: true, content: [{ type: 'text', text: (0, errors_js_1.formatError)(err) }] };
46
+ }
47
+ });
48
+ server.registerTool('get_window_handles', {
49
+ description: 'Get all available window handles for the current session.',
50
+ annotations: { readOnlyHint: true },
51
+ }, async () => {
52
+ try {
53
+ const driver = session.getDriver();
54
+ const handles = await driver.getWindowHandles();
55
+ return { content: [{ type: 'text', text: JSON.stringify(handles) }] };
56
+ }
57
+ catch (err) {
58
+ return { isError: true, content: [{ type: 'text', text: (0, errors_js_1.formatError)(err) }] };
59
+ }
60
+ });
61
+ server.registerTool('switch_to_window', {
62
+ description: 'Switch focus to a different window by its handle.',
63
+ inputSchema: {
64
+ handle: zod_1.z.string().min(1).describe('Window handle to switch to (from get_window_handles)'),
65
+ },
66
+ }, async ({ handle }) => {
67
+ try {
68
+ const driver = session.getDriver();
69
+ await driver.switchToWindow(handle);
70
+ return { content: [{ type: 'text', text: `Switched to window: ${handle}` }] };
71
+ }
72
+ catch (err) {
73
+ return { isError: true, content: [{ type: 'text', text: (0, errors_js_1.formatError)(err) }] };
74
+ }
75
+ });
76
+ // Window-pattern tools (UIA Window pattern) — operate on a window element ID
77
+ server.registerTool('maximize_window', {
78
+ description: 'Maximize a window element via the UIA Window pattern.',
79
+ inputSchema: elementIdInput,
80
+ annotations: { idempotentHint: true },
81
+ }, async ({ elementId }) => {
82
+ try {
83
+ const driver = session.getDriver();
84
+ await driver.executeScript('windows: maximize', [{ elementId }]);
85
+ return { content: [{ type: 'text', text: 'maximized' }] };
86
+ }
87
+ catch (err) {
88
+ return { isError: true, content: [{ type: 'text', text: (0, errors_js_1.formatError)(err) }] };
89
+ }
90
+ });
91
+ server.registerTool('minimize_window', {
92
+ description: 'Minimize a window element via the UIA Window pattern.',
93
+ inputSchema: elementIdInput,
94
+ annotations: { idempotentHint: true },
95
+ }, async ({ elementId }) => {
96
+ try {
97
+ const driver = session.getDriver();
98
+ await driver.executeScript('windows: minimize', [{ elementId }]);
99
+ return { content: [{ type: 'text', text: 'minimized' }] };
100
+ }
101
+ catch (err) {
102
+ return { isError: true, content: [{ type: 'text', text: (0, errors_js_1.formatError)(err) }] };
103
+ }
104
+ });
105
+ server.registerTool('restore_window', {
106
+ description: 'Restore a minimized or maximized window to its normal state via the UIA Window pattern.',
107
+ inputSchema: elementIdInput,
108
+ annotations: { idempotentHint: true },
109
+ }, async ({ elementId }) => {
110
+ try {
111
+ const driver = session.getDriver();
112
+ await driver.executeScript('windows: restore', [{ elementId }]);
113
+ return { content: [{ type: 'text', text: 'restored' }] };
114
+ }
115
+ catch (err) {
116
+ return { isError: true, content: [{ type: 'text', text: (0, errors_js_1.formatError)(err) }] };
117
+ }
118
+ });
119
+ server.registerTool('close_window', {
120
+ description: 'Close a window element via the UIA Window pattern.',
121
+ inputSchema: elementIdInput,
122
+ annotations: { destructiveHint: true },
123
+ }, async ({ elementId }) => {
124
+ try {
125
+ const driver = session.getDriver();
126
+ await driver.executeScript('windows: close', [{ elementId }]);
127
+ return { content: [{ type: 'text', text: 'closed' }] };
128
+ }
129
+ catch (err) {
130
+ return { isError: true, content: [{ type: 'text', text: (0, errors_js_1.formatError)(err) }] };
131
+ }
132
+ });
133
+ }
134
+ //# sourceMappingURL=window.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window.js","sourceRoot":"","sources":["../../../../lib/mcp/tools/window.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { Element, Position, Rect } from '@appium/types';
2
+ import { PSObject } from './core';
3
+ export declare class PSString extends PSObject {
4
+ constructor(value: string);
5
+ }
6
+ export declare class PSBoolean extends PSObject {
7
+ constructor(value: boolean);
8
+ }
9
+ export declare class PSInt32 extends PSObject {
10
+ constructor(value: number);
11
+ }
12
+ export declare class PSInt32Array extends PSObject {
13
+ constructor(value: number[]);
14
+ }
15
+ export declare class PSAutomationHeadingLevel extends PSObject {
16
+ readonly originalValue: string;
17
+ constructor(value: string);
18
+ }
19
+ export declare class PSOrientationType extends PSObject {
20
+ readonly originalValue: string;
21
+ constructor(value: string);
22
+ }
23
+ export declare class PSControlType extends PSObject {
24
+ constructor(value: string);
25
+ }
26
+ export declare class PSPoint extends PSObject {
27
+ constructor(value: Position);
28
+ }
29
+ export declare class PSRect extends PSObject {
30
+ constructor(value: Rect);
31
+ }
32
+ export declare class PSAutomationElement extends PSObject {
33
+ constructor(value: Element);
34
+ }
35
+ export declare class PSCultureInfo extends PSObject {
36
+ constructor(name: string, useUserOverride?: boolean);
37
+ constructor(culture: number, useUserOverride?: boolean);
38
+ }
39
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../lib/powershell/common.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAQxD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,qBAAa,QAAS,SAAQ,QAAQ;gBACtB,KAAK,EAAE,MAAM;CAM5B;AAED,qBAAa,SAAU,SAAQ,QAAQ;gBACvB,KAAK,EAAE,OAAO;CAM7B;AAED,qBAAa,OAAQ,SAAQ,QAAQ;gBACrB,KAAK,EAAE,MAAM;CAM5B;AAED,qBAAa,YAAa,SAAQ,QAAQ;gBAC1B,KAAK,EAAE,MAAM,EAAE;CAO9B;AAED,qBAAa,wBAAyB,SAAQ,QAAQ;IAClD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAEnB,KAAK,EAAE,MAAM;CAQ5B;AAED,qBAAa,iBAAkB,SAAQ,QAAQ;IAC3C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAEnB,KAAK,EAAE,MAAM;CAQ5B;AAED,qBAAa,aAAc,SAAQ,QAAQ;gBAC3B,KAAK,EAAE,MAAM;CAiB5B;AAED,qBAAa,OAAQ,SAAQ,QAAQ;gBACrB,KAAK,EAAE,QAAQ;CAQ9B;AAED,qBAAa,MAAO,SAAQ,QAAQ;gBACpB,KAAK,EAAE,IAAI;CAQ1B;AAED,qBAAa,mBAAoB,SAAQ,QAAQ;gBACjC,KAAK,EAAE,OAAO;CAO7B;AAED,qBAAa,aAAc,SAAQ,QAAQ;gBAC3B,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO;gBACvC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO;CAQzD"}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PSCultureInfo = exports.PSAutomationElement = exports.PSRect = exports.PSPoint = exports.PSControlType = exports.PSOrientationType = exports.PSAutomationHeadingLevel = exports.PSInt32Array = exports.PSInt32 = exports.PSBoolean = exports.PSString = void 0;
4
+ const base_driver_1 = require("@appium/base-driver");
5
+ const types_1 = require("./types");
6
+ const elements_1 = require("./elements");
7
+ const core_1 = require("./core");
8
+ class PSString extends core_1.PSObject {
9
+ constructor(value) {
10
+ const escapedUnicodeString = value.split('')
11
+ .map((c) => /* ps1 */ `$([char]0x${c.charCodeAt(0).toString(16).padStart(4, '0')})`)
12
+ .join('');
13
+ super(`"${escapedUnicodeString}"`);
14
+ }
15
+ }
16
+ exports.PSString = PSString;
17
+ class PSBoolean extends core_1.PSObject {
18
+ constructor(value) {
19
+ if (typeof value !== 'boolean') {
20
+ throw new base_driver_1.errors.InvalidArgumentError(`PSBoolean accepts only boolean in the constructor, but got '${value}'.`);
21
+ }
22
+ super(value ? /* ps1 */ `$true` : /* ps1 */ `$false`);
23
+ }
24
+ }
25
+ exports.PSBoolean = PSBoolean;
26
+ class PSInt32 extends core_1.PSObject {
27
+ constructor(value) {
28
+ if (!Number.isInteger(value)) {
29
+ throw new base_driver_1.errors.InvalidArgumentError(`PSInt32 accepts only integer values in the constructor, but got '${value}'.`);
30
+ }
31
+ super(value.toString());
32
+ }
33
+ }
34
+ exports.PSInt32 = PSInt32;
35
+ class PSInt32Array extends core_1.PSObject {
36
+ constructor(value) {
37
+ if (!(Array.isArray(value) && value.every(Number.isInteger))) {
38
+ throw new base_driver_1.errors.InvalidArgumentError(`PSInt32Array accepts only array of integers in the constructor, but got ${Array.isArray(value) ? `[${value}]` : `'${value}'`}.`);
39
+ }
40
+ super(/* ps1 */ `[int32[]] @(${value.join(', ')})`);
41
+ }
42
+ }
43
+ exports.PSInt32Array = PSInt32Array;
44
+ class PSAutomationHeadingLevel extends core_1.PSObject {
45
+ originalValue;
46
+ constructor(value) {
47
+ if (!Object.values(types_1.AutomationHeadingLevel).includes(value.toLowerCase())) {
48
+ throw new base_driver_1.errors.InvalidArgumentError(`PSAutomationHeadingLevel accepts valid AutomationHeadingLevel enum value in the constructor, but got '${value}'.`);
49
+ }
50
+ super(/* ps1 */ `[AutomationHeadingLevel]::${value}`);
51
+ this.originalValue = value;
52
+ }
53
+ }
54
+ exports.PSAutomationHeadingLevel = PSAutomationHeadingLevel;
55
+ class PSOrientationType extends core_1.PSObject {
56
+ originalValue;
57
+ constructor(value) {
58
+ if (!Object.values(types_1.OrientationType).includes(value.toLowerCase())) {
59
+ throw new base_driver_1.errors.InvalidArgumentError(`PSOrientationType accepts valid OrientationType enum value in the constructor, but got '${value}'.`);
60
+ }
61
+ super(/* ps1 */ `[OrientationType]::${value}`);
62
+ this.originalValue = value;
63
+ }
64
+ }
65
+ exports.PSOrientationType = PSOrientationType;
66
+ class PSControlType extends core_1.PSObject {
67
+ constructor(value) {
68
+ if (![...Object.values(types_1.ControlType), ...Object.values(types_1.ExtraControlType)].includes(value.toLowerCase())) {
69
+ throw new base_driver_1.errors.InvalidArgumentError(`PSControlType accepts a valid ControlType in the constructor, but got '${value}'.`);
70
+ }
71
+ if (types_1.ExtraControlType.SEMANTIC_ZOOM === value.toLowerCase()) {
72
+ super('semantic zoom');
73
+ return;
74
+ }
75
+ if (types_1.ExtraControlType.APP_BAR === value.toLowerCase()) {
76
+ super('app bar');
77
+ return;
78
+ }
79
+ super(/* ps1 */ `[ControlType]::${value}`);
80
+ }
81
+ }
82
+ exports.PSControlType = PSControlType;
83
+ class PSPoint extends core_1.PSObject {
84
+ constructor(value) {
85
+ const requiredFields = ['x', 'y'];
86
+ if (!(requiredFields.every((f) => f in value) && typeof value.x === 'number' && typeof value.y === 'number')) {
87
+ throw new base_driver_1.errors.InvalidArgumentError('PSPoint accepts a Position object { x: number, y: number } in the constructor.');
88
+ }
89
+ super(/* ps1 */ `[System.Windows.Point]::new(${value.x}, ${value.y})`);
90
+ }
91
+ }
92
+ exports.PSPoint = PSPoint;
93
+ class PSRect extends core_1.PSObject {
94
+ constructor(value) {
95
+ const requiredFields = ['x', 'y', 'width', 'height'];
96
+ if (!(requiredFields.every((f) => f in value) && typeof value.x === 'number' && typeof value.y === 'number' && typeof value.width === 'number' && typeof value.height === 'number')) {
97
+ throw new base_driver_1.errors.InvalidArgumentError('PSRect accepts a Rect object { x: number, y: number, width: number, height: number } in the constructor.');
98
+ }
99
+ super(/* ps1 */ `[System.Windows.Rect]::new(${value.x}, ${value.y}, ${value.width}, ${value.height})`);
100
+ }
101
+ }
102
+ exports.PSRect = PSRect;
103
+ class PSAutomationElement extends core_1.PSObject {
104
+ constructor(value) {
105
+ if (!value[base_driver_1.W3C_ELEMENT_KEY]) {
106
+ throw new base_driver_1.errors.InvalidArgumentError('PSAutomationElement accepts a valid Appium Element in the constructor.');
107
+ }
108
+ super(new elements_1.FoundAutomationElement(value[base_driver_1.W3C_ELEMENT_KEY]).toString());
109
+ }
110
+ }
111
+ exports.PSAutomationElement = PSAutomationElement;
112
+ class PSCultureInfo extends core_1.PSObject {
113
+ constructor(nameOrCulture, useUserOverride) {
114
+ if (typeof nameOrCulture !== 'string' && (typeof nameOrCulture !== 'number' || nameOrCulture < 0)) {
115
+ throw new base_driver_1.errors.InvalidArgumentError('PSCultureInfo accepts a string or positive integer value in the constructor.');
116
+ }
117
+ super(/* ps1 */ `[System.Globalization.CultureInfo]::new(${typeof nameOrCulture === 'string' ? `'${nameOrCulture}'` : nameOrCulture}${useUserOverride !== undefined ? `$${useUserOverride}` : ''})`);
118
+ }
119
+ }
120
+ exports.PSCultureInfo = PSCultureInfo;
121
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../lib/powershell/common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { PSObject } from './core';
2
+ import { Property } from './types';
3
+ export declare abstract class Condition extends PSObject {
4
+ constructor(command: string);
5
+ }
6
+ export declare class PropertyCondition extends Condition {
7
+ constructor(property: Property, value: PSObject);
8
+ }
9
+ export declare class AndCondition extends Condition {
10
+ constructor(...conditions: Condition[]);
11
+ }
12
+ export declare class OrCondition extends Condition {
13
+ constructor(...conditions: Condition[]);
14
+ }
15
+ export declare class NotCondition extends Condition {
16
+ constructor(condition: Condition);
17
+ }
18
+ export declare class TrueCondition extends Condition {
19
+ constructor();
20
+ }
21
+ export declare class FalseCondition extends Condition {
22
+ constructor();
23
+ }
24
+ //# sourceMappingURL=conditions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditions.d.ts","sourceRoot":"","sources":["../../../lib/powershell/conditions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EACH,QAAQ,EAcX,MAAM,SAAS,CAAC;AAsBjB,8BAAsB,SAAU,SAAQ,QAAQ;gBAChC,OAAO,EAAE,MAAM;CAG9B;AAED,qBAAa,iBAAkB,SAAQ,SAAS;gBAChC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ;CAiElD;AAED,qBAAa,YAAa,SAAQ,SAAS;gBAC3B,GAAG,UAAU,EAAE,SAAS,EAAE;CAWzC;AAED,qBAAa,WAAY,SAAQ,SAAS;gBAC1B,GAAG,UAAU,EAAE,SAAS,EAAE;CAWzC;AAED,qBAAa,YAAa,SAAQ,SAAS;gBAC3B,SAAS,EAAE,SAAS;CAOnC;AAED,qBAAa,aAAc,SAAQ,SAAS;;CAI3C;AAED,qBAAa,cAAe,SAAQ,SAAS;;CAI5C"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FalseCondition = exports.TrueCondition = exports.NotCondition = exports.OrCondition = exports.AndCondition = exports.PropertyCondition = exports.Condition = void 0;
4
+ const base_driver_1 = require("@appium/base-driver");
5
+ const util_1 = require("../util");
6
+ const core_1 = require("./core");
7
+ const types_1 = require("./types");
8
+ const common_1 = require("./common");
9
+ const PROPERTY_CONDITION = (0, util_1.$ /* ps1 */) `[PropertyCondition]::new([AutomationElement]::${0}Property, ${1})`;
10
+ const AND_CONDITION = (0, util_1.$ /* ps1 */) `[AndCondition]::new(${0})`;
11
+ const OR_CONDITION = (0, util_1.$ /* ps1 */) `[OrCondition]::new(${0})`;
12
+ const NOT_CONDITION = (0, util_1.$ /* ps1 */) `[NotCondition]::new(${0})`;
13
+ const TRUE_CONDITION = /* ps1 */ `[Condition]::TrueCondition`;
14
+ const FALSE_CONDITION = /* ps1 */ `[Condition]::FalseCondition`;
15
+ class Condition extends core_1.PSObject {
16
+ constructor(command) {
17
+ super(command);
18
+ }
19
+ }
20
+ exports.Condition = Condition;
21
+ class PropertyCondition extends Condition {
22
+ constructor(property, value) {
23
+ property = property.toLowerCase().endsWith('property') ? property.slice(0, property.length - 8) : property;
24
+ if (Object.values(types_1.BooleanProperty).includes(property)) {
25
+ assertPSObjectType(value, common_1.PSBoolean);
26
+ }
27
+ if (Object.values(types_1.Int32Property).includes(property)) {
28
+ assertPSObjectType(value, common_1.PSInt32);
29
+ }
30
+ if (Object.values(types_1.StringProperty).includes(property)) {
31
+ assertPSObjectType(value, common_1.PSString);
32
+ }
33
+ if (Object.values(types_1.Int32ArrayProperty).includes(property)) {
34
+ assertPSObjectType(value, common_1.PSInt32Array);
35
+ }
36
+ if (Object.values(types_1.PointProperty).includes(property)) {
37
+ assertPSObjectType(value, common_1.PSPoint);
38
+ }
39
+ if (Object.values(types_1.RectProperty).includes(property)) {
40
+ assertPSObjectType(value, common_1.PSRect);
41
+ }
42
+ if (Object.values(types_1.ControlTypeProperty).includes(property)) {
43
+ assertPSObjectType(value, common_1.PSControlType);
44
+ }
45
+ if (Object.values(types_1.AutomationElementProperty).includes(property)) {
46
+ assertPSObjectType(value, common_1.PSAutomationElement);
47
+ }
48
+ if (Object.values(types_1.OrientationTypeProperty).includes(property)) {
49
+ try {
50
+ assertPSObjectType(value, common_1.PSOrientationType);
51
+ }
52
+ catch (e) {
53
+ if (value instanceof common_1.PSAutomationHeadingLevel && value.originalValue.toLowerCase() === types_1.AutomationHeadingLevel.NONE) {
54
+ value = new common_1.PSOrientationType(types_1.OrientationType.NONE);
55
+ }
56
+ else if (!(value instanceof common_1.PSInt32) || Number(value.toString()) < 0 || Number(value.toString()) >= Object.keys(types_1.AutomationHeadingLevel).length) {
57
+ throw e;
58
+ }
59
+ }
60
+ }
61
+ if (Object.values(types_1.AutomationHeadingLevelProperty).includes(property)) {
62
+ try {
63
+ assertPSObjectType(value, common_1.PSAutomationHeadingLevel);
64
+ }
65
+ catch (e) {
66
+ if (value instanceof common_1.PSOrientationType && value.originalValue.toLowerCase() === types_1.OrientationType.NONE) {
67
+ value = new common_1.PSAutomationHeadingLevel(types_1.AutomationHeadingLevel.NONE);
68
+ }
69
+ else if (!(value instanceof common_1.PSInt32) || Number(value.toString()) < 0 || Number(value.toString()) >= Object.keys(types_1.OrientationType).length) {
70
+ throw e;
71
+ }
72
+ }
73
+ }
74
+ if (Object.values(types_1.CultureInfoProperty).includes(property)) {
75
+ assertPSObjectType(value, common_1.PSCultureInfo);
76
+ }
77
+ super(PROPERTY_CONDITION.format(property, value));
78
+ }
79
+ }
80
+ exports.PropertyCondition = PropertyCondition;
81
+ class AndCondition extends Condition {
82
+ constructor(...conditions) {
83
+ if (!conditions.every((arg) => arg instanceof Condition)) {
84
+ throw new base_driver_1.errors.InvalidArgumentError(`AndCondition expects Conditions as args but received ${conditions.find((x) => !(x instanceof Condition))?.constructor.name}.`);
85
+ }
86
+ if (conditions.length < 2) {
87
+ throw new base_driver_1.errors.InvalidArgumentError(`AndCondition must have at least 2 conditions, but received ${conditions.length}.`);
88
+ }
89
+ super(AND_CONDITION.format(conditions.join(', ')));
90
+ }
91
+ }
92
+ exports.AndCondition = AndCondition;
93
+ class OrCondition extends Condition {
94
+ constructor(...conditions) {
95
+ if (!conditions.every((arg) => arg instanceof Condition)) {
96
+ throw new base_driver_1.errors.InvalidArgumentError(`OrCondition expects Conditions as args but received ${conditions.find((x) => !(x instanceof Condition))?.constructor.name}.`);
97
+ }
98
+ if (conditions.length < 2) {
99
+ throw new base_driver_1.errors.InvalidArgumentError(`OrCondition must have at least 2 conditions, but received ${conditions.length}.`);
100
+ }
101
+ super(OR_CONDITION.format(conditions.join(', ')));
102
+ }
103
+ }
104
+ exports.OrCondition = OrCondition;
105
+ class NotCondition extends Condition {
106
+ constructor(condition) {
107
+ if (!(condition instanceof Condition)) {
108
+ throw new base_driver_1.errors.InvalidArgumentError(`AndCondition expects Conditions as args but received ${condition?.constructor.name}.`);
109
+ }
110
+ super(NOT_CONDITION.format(condition));
111
+ }
112
+ }
113
+ exports.NotCondition = NotCondition;
114
+ class TrueCondition extends Condition {
115
+ constructor() {
116
+ super(TRUE_CONDITION);
117
+ }
118
+ }
119
+ exports.TrueCondition = TrueCondition;
120
+ class FalseCondition extends Condition {
121
+ constructor() {
122
+ super(FALSE_CONDITION);
123
+ }
124
+ }
125
+ exports.FalseCondition = FalseCondition;
126
+ function assertPSObjectType(obj, type) {
127
+ if (!(obj instanceof type)) {
128
+ throw new base_driver_1.errors.InvalidArgumentError(`Property expected type ${type.name} but got ${obj?.constructor.name}.`);
129
+ }
130
+ }
131
+ //# sourceMappingURL=conditions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../../lib/powershell/conditions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Condition } from './conditions';
2
+ export declare function convertStringToCondition(selector: string): Condition;
3
+ //# sourceMappingURL=converter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../../../lib/powershell/converter.ts"],"names":[],"mappings":"AAQA,OAAO,EAEH,SAAS,EAMZ,MAAM,cAAc,CAAC;AAwFtB,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CA4QpE"}