appium-novawindows2-driver 0.1.1

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 (192) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.yml +97 -0
  2. package/.github/ISSUE_TEMPLATE/feature_request.yml +33 -0
  3. package/.github/PULL_REQUEST_TEMPLATE.md +28 -0
  4. package/.github/workflows/lint-build.yml +30 -0
  5. package/.github/workflows/release.yml +39 -0
  6. package/.releaserc +41 -0
  7. package/CHANGELOG.md +33 -0
  8. package/LICENSE +202 -0
  9. package/README.md +557 -0
  10. package/build/eslint.config.d.mts +3 -0
  11. package/build/eslint.config.d.mts.map +1 -0
  12. package/build/eslint.config.mjs +6 -0
  13. package/build/eslint.config.mjs.map +1 -0
  14. package/build/lib/commands/actions.d.ts +11 -0
  15. package/build/lib/commands/actions.d.ts.map +1 -0
  16. package/build/lib/commands/actions.js +212 -0
  17. package/build/lib/commands/actions.js.map +1 -0
  18. package/build/lib/commands/app.d.ts +12 -0
  19. package/build/lib/commands/app.d.ts.map +1 -0
  20. package/build/lib/commands/app.js +195 -0
  21. package/build/lib/commands/app.js.map +1 -0
  22. package/build/lib/commands/device.d.ts +3 -0
  23. package/build/lib/commands/device.d.ts.map +1 -0
  24. package/build/lib/commands/device.js +31 -0
  25. package/build/lib/commands/device.js.map +1 -0
  26. package/build/lib/commands/element.d.ts +15 -0
  27. package/build/lib/commands/element.d.ts.map +1 -0
  28. package/build/lib/commands/element.js +213 -0
  29. package/build/lib/commands/element.js.map +1 -0
  30. package/build/lib/commands/extension.d.ts +87 -0
  31. package/build/lib/commands/extension.d.ts.map +1 -0
  32. package/build/lib/commands/extension.js +511 -0
  33. package/build/lib/commands/extension.js.map +1 -0
  34. package/build/lib/commands/functions.d.ts +3 -0
  35. package/build/lib/commands/functions.d.ts.map +1 -0
  36. package/build/lib/commands/functions.js +194 -0
  37. package/build/lib/commands/functions.js.map +1 -0
  38. package/build/lib/commands/index.d.ts +126 -0
  39. package/build/lib/commands/index.d.ts.map +1 -0
  40. package/build/lib/commands/index.js +54 -0
  41. package/build/lib/commands/index.js.map +1 -0
  42. package/build/lib/commands/powershell.d.ts +6 -0
  43. package/build/lib/commands/powershell.d.ts.map +1 -0
  44. package/build/lib/commands/powershell.js +204 -0
  45. package/build/lib/commands/powershell.js.map +1 -0
  46. package/build/lib/commands/system.d.ts +4 -0
  47. package/build/lib/commands/system.d.ts.map +1 -0
  48. package/build/lib/commands/system.js +8 -0
  49. package/build/lib/commands/system.js.map +1 -0
  50. package/build/lib/constants.d.ts +2 -0
  51. package/build/lib/constants.d.ts.map +1 -0
  52. package/build/lib/constants.js +5 -0
  53. package/build/lib/constants.js.map +1 -0
  54. package/build/lib/constraints.d.ts +40 -0
  55. package/build/lib/constraints.d.ts.map +1 -0
  56. package/build/lib/constraints.js +42 -0
  57. package/build/lib/constraints.js.map +1 -0
  58. package/build/lib/driver.d.ts +33 -0
  59. package/build/lib/driver.d.ts.map +1 -0
  60. package/build/lib/driver.js +181 -0
  61. package/build/lib/driver.js.map +1 -0
  62. package/build/lib/enums.d.ts +89 -0
  63. package/build/lib/enums.d.ts.map +1 -0
  64. package/build/lib/enums.js +83 -0
  65. package/build/lib/enums.js.map +1 -0
  66. package/build/lib/powershell/common.d.ts +39 -0
  67. package/build/lib/powershell/common.d.ts.map +1 -0
  68. package/build/lib/powershell/common.js +121 -0
  69. package/build/lib/powershell/common.js.map +1 -0
  70. package/build/lib/powershell/conditions.d.ts +24 -0
  71. package/build/lib/powershell/conditions.d.ts.map +1 -0
  72. package/build/lib/powershell/conditions.js +131 -0
  73. package/build/lib/powershell/conditions.js.map +1 -0
  74. package/build/lib/powershell/converter.d.ts +3 -0
  75. package/build/lib/powershell/converter.d.ts.map +1 -0
  76. package/build/lib/powershell/converter.js +273 -0
  77. package/build/lib/powershell/converter.js.map +1 -0
  78. package/build/lib/powershell/core.d.ts +8 -0
  79. package/build/lib/powershell/core.d.ts.map +1 -0
  80. package/build/lib/powershell/core.js +30 -0
  81. package/build/lib/powershell/core.js.map +1 -0
  82. package/build/lib/powershell/elements.d.ts +68 -0
  83. package/build/lib/powershell/elements.d.ts.map +1 -0
  84. package/build/lib/powershell/elements.js +515 -0
  85. package/build/lib/powershell/elements.js.map +1 -0
  86. package/build/lib/powershell/index.d.ts +8 -0
  87. package/build/lib/powershell/index.d.ts.map +1 -0
  88. package/build/lib/powershell/index.js +24 -0
  89. package/build/lib/powershell/index.js.map +1 -0
  90. package/build/lib/powershell/regex.d.ts +19 -0
  91. package/build/lib/powershell/regex.d.ts.map +1 -0
  92. package/build/lib/powershell/regex.js +68 -0
  93. package/build/lib/powershell/regex.js.map +1 -0
  94. package/build/lib/powershell/types.d.ts +155 -0
  95. package/build/lib/powershell/types.d.ts.map +1 -0
  96. package/build/lib/powershell/types.js +141 -0
  97. package/build/lib/powershell/types.js.map +1 -0
  98. package/build/lib/util.d.ts +10 -0
  99. package/build/lib/util.d.ts.map +1 -0
  100. package/build/lib/util.js +51 -0
  101. package/build/lib/util.js.map +1 -0
  102. package/build/lib/winapi/types/index.d.ts +8 -0
  103. package/build/lib/winapi/types/index.d.ts.map +1 -0
  104. package/build/lib/winapi/types/index.js +24 -0
  105. package/build/lib/winapi/types/index.js.map +1 -0
  106. package/build/lib/winapi/types/input.d.ts +11 -0
  107. package/build/lib/winapi/types/input.d.ts.map +1 -0
  108. package/build/lib/winapi/types/input.js +12 -0
  109. package/build/lib/winapi/types/input.js.map +1 -0
  110. package/build/lib/winapi/types/keyeventf.d.ts +13 -0
  111. package/build/lib/winapi/types/keyeventf.d.ts.map +1 -0
  112. package/build/lib/winapi/types/keyeventf.js +14 -0
  113. package/build/lib/winapi/types/keyeventf.js.map +1 -0
  114. package/build/lib/winapi/types/mouseeventf.d.ts +34 -0
  115. package/build/lib/winapi/types/mouseeventf.d.ts.map +1 -0
  116. package/build/lib/winapi/types/mouseeventf.js +37 -0
  117. package/build/lib/winapi/types/mouseeventf.js.map +1 -0
  118. package/build/lib/winapi/types/scancode.d.ts +95 -0
  119. package/build/lib/winapi/types/scancode.d.ts.map +1 -0
  120. package/build/lib/winapi/types/scancode.js +96 -0
  121. package/build/lib/winapi/types/scancode.js.map +1 -0
  122. package/build/lib/winapi/types/systemmetric.d.ts +214 -0
  123. package/build/lib/winapi/types/systemmetric.d.ts.map +1 -0
  124. package/build/lib/winapi/types/systemmetric.js +215 -0
  125. package/build/lib/winapi/types/systemmetric.js.map +1 -0
  126. package/build/lib/winapi/types/virtualkey.d.ts +353 -0
  127. package/build/lib/winapi/types/virtualkey.d.ts.map +1 -0
  128. package/build/lib/winapi/types/virtualkey.js +354 -0
  129. package/build/lib/winapi/types/virtualkey.js.map +1 -0
  130. package/build/lib/winapi/types/xmousebutton.d.ts +7 -0
  131. package/build/lib/winapi/types/xmousebutton.d.ts.map +1 -0
  132. package/build/lib/winapi/types/xmousebutton.js +8 -0
  133. package/build/lib/winapi/types/xmousebutton.js.map +1 -0
  134. package/build/lib/winapi/user32.d.ts +56 -0
  135. package/build/lib/winapi/user32.d.ts.map +1 -0
  136. package/build/lib/winapi/user32.js +591 -0
  137. package/build/lib/winapi/user32.js.map +1 -0
  138. package/build/lib/xpath/core.d.ts +8 -0
  139. package/build/lib/xpath/core.d.ts.map +1 -0
  140. package/build/lib/xpath/core.js +593 -0
  141. package/build/lib/xpath/core.js.map +1 -0
  142. package/build/lib/xpath/functions.d.ts +4 -0
  143. package/build/lib/xpath/functions.d.ts.map +1 -0
  144. package/build/lib/xpath/functions.js +271 -0
  145. package/build/lib/xpath/functions.js.map +1 -0
  146. package/build/lib/xpath/index.d.ts +3 -0
  147. package/build/lib/xpath/index.d.ts.map +1 -0
  148. package/build/lib/xpath/index.js +19 -0
  149. package/build/lib/xpath/index.js.map +1 -0
  150. package/eslint.config.mjs +11 -0
  151. package/examples/C#/CalculatorTest/CalculatorTest/CalculatorSession.cs +44 -0
  152. package/examples/C#/CalculatorTest/CalculatorTest/CalculatorTest.csproj +24 -0
  153. package/examples/C#/CalculatorTest/CalculatorTest/ScenarioStandard.cs +121 -0
  154. package/examples/C#/CalculatorTest/CalculatorTest/ScenarioStandardInvoke.cs +121 -0
  155. package/examples/C#/CalculatorTest/CalculatorTest.sln +16 -0
  156. package/lib/commands/actions.ts +229 -0
  157. package/lib/commands/app.ts +227 -0
  158. package/lib/commands/device.ts +41 -0
  159. package/lib/commands/element.ts +242 -0
  160. package/lib/commands/extension.ts +636 -0
  161. package/lib/commands/functions.ts +192 -0
  162. package/lib/commands/index.ts +28 -0
  163. package/lib/commands/powershell.ts +243 -0
  164. package/lib/commands/system.ts +7 -0
  165. package/lib/constants.ts +1 -0
  166. package/lib/constraints.ts +43 -0
  167. package/lib/driver.ts +247 -0
  168. package/lib/enums.ts +96 -0
  169. package/lib/powershell/common.ts +137 -0
  170. package/lib/powershell/conditions.ts +169 -0
  171. package/lib/powershell/converter.ts +373 -0
  172. package/lib/powershell/core.ts +29 -0
  173. package/lib/powershell/elements.ts +584 -0
  174. package/lib/powershell/index.ts +7 -0
  175. package/lib/powershell/regex.ts +77 -0
  176. package/lib/powershell/types.ts +208 -0
  177. package/lib/util.ts +52 -0
  178. package/lib/winapi/types/index.ts +7 -0
  179. package/lib/winapi/types/input.ts +12 -0
  180. package/lib/winapi/types/keyeventf.ts +14 -0
  181. package/lib/winapi/types/mouseeventf.ts +37 -0
  182. package/lib/winapi/types/scancode.ts +96 -0
  183. package/lib/winapi/types/systemmetric.ts +215 -0
  184. package/lib/winapi/types/virtualkey.ts +354 -0
  185. package/lib/winapi/types/xmousebutton.ts +8 -0
  186. package/lib/winapi/user32.ts +842 -0
  187. package/lib/xpath/core.ts +699 -0
  188. package/lib/xpath/functions.ts +366 -0
  189. package/lib/xpath/index.ts +2 -0
  190. package/package.json +61 -0
  191. package/tsconfig.json +13 -0
  192. package/verify_driver.js +96 -0
@@ -0,0 +1,511 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.execute = execute;
4
+ exports.pushCacheRequest = pushCacheRequest;
5
+ exports.patternInvoke = patternInvoke;
6
+ exports.patternExpand = patternExpand;
7
+ exports.patternCollapse = patternCollapse;
8
+ exports.patternScrollIntoView = patternScrollIntoView;
9
+ exports.patternIsMultiple = patternIsMultiple;
10
+ exports.patternGetSelectedItem = patternGetSelectedItem;
11
+ exports.patternGetAllSelectedItems = patternGetAllSelectedItems;
12
+ exports.patternAddToSelection = patternAddToSelection;
13
+ exports.patternRemoveFromSelection = patternRemoveFromSelection;
14
+ exports.patternSelect = patternSelect;
15
+ exports.patternToggle = patternToggle;
16
+ exports.patternSetValue = patternSetValue;
17
+ exports.patternGetValue = patternGetValue;
18
+ exports.patternMaximize = patternMaximize;
19
+ exports.patternMinimize = patternMinimize;
20
+ exports.patternRestore = patternRestore;
21
+ exports.patternClose = patternClose;
22
+ exports.focusElement = focusElement;
23
+ exports.getClipboardBase64 = getClipboardBase64;
24
+ exports.setClipboardFromBase64 = setClipboardFromBase64;
25
+ exports.executePowerShellScript = executePowerShellScript;
26
+ exports.executeKeys = executeKeys;
27
+ exports.executeClick = executeClick;
28
+ exports.executeHover = executeHover;
29
+ exports.executeScroll = executeScroll;
30
+ const base_driver_1 = require("@appium/base-driver");
31
+ const util_1 = require("../util");
32
+ const constants_1 = require("../constants");
33
+ const user32_1 = require("../winapi/user32");
34
+ const types_1 = require("../winapi/types");
35
+ const powershell_1 = require("../powershell");
36
+ const enums_1 = require("../enums");
37
+ const PLATFORM_COMMAND_PREFIX = 'windows:';
38
+ const EXTENSION_COMMANDS = Object.freeze({
39
+ cacheRequest: 'pushCacheRequest',
40
+ invoke: 'patternInvoke',
41
+ expand: 'patternExpand',
42
+ collapse: 'patternCollapse',
43
+ isMultiple: 'patternIsMultiple',
44
+ scrollIntoView: 'patternScrollIntoView',
45
+ selectedItem: 'patternGetSelectedItem',
46
+ allSelectedItems: 'patternGetAllSelectedItems',
47
+ addToSelection: 'patternAddToSelection',
48
+ removeFromSelection: 'patternRemoveFromSelection',
49
+ select: 'patternSelect',
50
+ toggle: 'patternToggle',
51
+ setValue: 'patternSetValue',
52
+ getValue: 'patternGetValue',
53
+ maximize: 'patternMaximize',
54
+ minimize: 'patternMinimize',
55
+ restore: 'patternRestore',
56
+ close: 'patternClose',
57
+ keys: 'executeKeys',
58
+ click: 'executeClick',
59
+ hover: 'executeHover',
60
+ scroll: 'executeScroll',
61
+ setFocus: 'focusElement',
62
+ getClipboard: 'getClipboardBase64',
63
+ setClipboard: 'setClipboardFromBase64',
64
+ });
65
+ const ContentType = Object.freeze({
66
+ PLAINTEXT: 'plaintext',
67
+ IMAGE: 'image',
68
+ });
69
+ const TREE_FILTER_COMMAND = (0, util_1.$ /* ps1 */) `$cacheRequest.Pop(); $cacheRequest.TreeFilter = ${0}; $cacheRequest.Push()`;
70
+ const TREE_SCOPE_COMMAND = (0, util_1.$ /* ps1 */) `$cacheRequest.Pop(); $cacheRequest.TreeScope = ${0}; $cacheRequest.Push()`;
71
+ const AUTOMATION_ELEMENT_MODE = (0, util_1.$ /* ps1 */) `$cacheRequest.Pop(); $cacheRequest.AutomationElementMode = ${0}; $cacheRequest.Push()`;
72
+ const SET_PLAINTEXT_CLIPBOARD_FROM_BASE64 = (0, util_1.$ /* ps1 */) `Set-Clipboard -Value [System.Text.Encoding]::UTF8.GetString([Convert]::FromBase64String(${0}))`;
73
+ const GET_PLAINTEXT_CLIPBOARD_BASE64 = /* ps1 */ `[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes((Get-Clipboard)))`;
74
+ const SET_IMAGE_CLIPBOARD_FROM_BASE64 = (0, util_1.$ /* ps1 */) `$b = [Convert]::FromBase64String(${0}); $s = New-Object IO.MemoryStream; $s.Write($b, 0, $b.Length); $s.Position = 0; $i = [System.Windows.Media.Imaging.BitmapFrame]::Create($s); [Windows.Clipboard]::SetImage($i); $s.Close()`;
75
+ const GET_IMAGE_CLIPBOARD_BASE64 = (0, powershell_1.pwsh /* ps1 */) `
76
+ [Windows.Clipboard]::GetImage() | ForEach-Object {
77
+ if ($_ -ne $null) {
78
+ $stream = New-Object IO.MemoryStream
79
+ $encoder = New-Object Windows.Media.Imaging.PngBitmapEncoder
80
+ $encoder.Frames.Add([Windows.Media.Imaging.BitmapFrame]::Create($_))
81
+ $encoder.Save($stream)
82
+ $stream.Position = 0
83
+ $bytes = $stream.ToArray()
84
+ $base64String = [Convert]::ToBase64String($bytes)
85
+ $stream.Close()
86
+ Write-Output $base64String
87
+ }
88
+ }
89
+ `;
90
+ async function execute(script, args) {
91
+ if (script.startsWith(PLATFORM_COMMAND_PREFIX)) {
92
+ script = script.replace(PLATFORM_COMMAND_PREFIX, '').trim();
93
+ this.log.info(`Executing command '${PLATFORM_COMMAND_PREFIX} ${script}'...`);
94
+ if (!Object.hasOwn(EXTENSION_COMMANDS, script)) {
95
+ throw new base_driver_1.errors.UnknownCommandError(`Unknown command '${PLATFORM_COMMAND_PREFIX} ${script}'.`);
96
+ }
97
+ return await this[EXTENSION_COMMANDS[script]](...args);
98
+ }
99
+ if (script === 'powerShell') {
100
+ this.assertFeatureEnabled(constants_1.POWER_SHELL_FEATURE);
101
+ return await this.executePowerShellScript(args[0]);
102
+ }
103
+ if (script === 'return window.name') {
104
+ return await this.sendPowerShellCommand(powershell_1.AutomationElement.automationRoot.buildGetPropertyCommand(powershell_1.Property.NAME));
105
+ }
106
+ throw new base_driver_1.errors.NotImplementedError();
107
+ }
108
+ ;
109
+ const TREE_SCOPE_REGEX = new powershell_1.PropertyRegexMatcher('System.Windows.Automation.TreeScope', ...Object.values(powershell_1.TreeScope)).toRegex('i');
110
+ const AUTOMATION_ELEMENT_MODE_REGEX = new powershell_1.PropertyRegexMatcher('System.Windows.Automation.AutomationElementMode', ...Object.values(powershell_1.AutomationElementMode)).toRegex('i');
111
+ async function pushCacheRequest(cacheRequest) {
112
+ if (Object.keys(cacheRequest).every((key) => cacheRequest[key] === undefined)) {
113
+ throw new base_driver_1.errors.InvalidArgumentError('At least one property of the cache request must be set.');
114
+ }
115
+ if (cacheRequest.treeFilter) {
116
+ await this.sendPowerShellCommand(TREE_FILTER_COMMAND.format((0, powershell_1.convertStringToCondition)(cacheRequest.treeFilter)));
117
+ }
118
+ if (cacheRequest.treeScope) {
119
+ const treeScope = TREE_SCOPE_REGEX.exec(cacheRequest.treeScope)?.groups?.[0];
120
+ if (!treeScope || (Number(cacheRequest.treeScope) < 1 && Number(cacheRequest.treeScope) > 16)) {
121
+ throw new base_driver_1.errors.InvalidArgumentError(`Invalid value '${cacheRequest.treeScope}' passed to TreeScope for cache request.`);
122
+ }
123
+ await this.sendPowerShellCommand(TREE_SCOPE_COMMAND.format(isNaN(Number(cacheRequest.treeScope)) ? /* ps1 */ `[TreeScope]::${cacheRequest.treeScope}` : cacheRequest.treeScope));
124
+ }
125
+ if (cacheRequest.automationElementMode) {
126
+ const treeScope = AUTOMATION_ELEMENT_MODE_REGEX.exec(cacheRequest.automationElementMode)?.groups?.[0];
127
+ if (!treeScope || (Number(cacheRequest.automationElementMode) < 0 && Number(cacheRequest.automationElementMode) > 1)) {
128
+ throw new base_driver_1.errors.InvalidArgumentError(`Invalid value '${cacheRequest.automationElementMode}' passed to AutomationElementMode for cache request.`);
129
+ }
130
+ let automationElementMode;
131
+ if (isNaN(Number(cacheRequest.automationElementMode))) {
132
+ automationElementMode = /* ps1 */ `[AutomationElementMode]::${cacheRequest.automationElementMode}`;
133
+ }
134
+ else {
135
+ automationElementMode = cacheRequest.automationElementMode;
136
+ }
137
+ await this.sendPowerShellCommand(AUTOMATION_ELEMENT_MODE.format(automationElementMode));
138
+ }
139
+ }
140
+ async function patternInvoke(element) {
141
+ await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(element[base_driver_1.W3C_ELEMENT_KEY]).buildInvokeCommand());
142
+ }
143
+ async function patternExpand(element) {
144
+ await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(element[base_driver_1.W3C_ELEMENT_KEY]).buildExpandCommand());
145
+ }
146
+ async function patternCollapse(element) {
147
+ await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(element[base_driver_1.W3C_ELEMENT_KEY]).buildCollapseCommand());
148
+ }
149
+ async function patternScrollIntoView(element) {
150
+ await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(element[base_driver_1.W3C_ELEMENT_KEY]).buildScrollIntoViewCommand());
151
+ }
152
+ async function patternIsMultiple(element) {
153
+ const result = await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(element[base_driver_1.W3C_ELEMENT_KEY]).buildIsMultipleSelectCommand());
154
+ return result.toLowerCase() === 'true' ? true : false;
155
+ }
156
+ async function patternGetSelectedItem(element) {
157
+ const result = await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(element[base_driver_1.W3C_ELEMENT_KEY]).buildGetSelectionCommand());
158
+ const elId = result.split('\n').filter(Boolean)[0];
159
+ if (!elId) {
160
+ throw new base_driver_1.errors.NoSuchElementError();
161
+ }
162
+ return { [base_driver_1.W3C_ELEMENT_KEY]: elId };
163
+ }
164
+ async function patternGetAllSelectedItems(element) {
165
+ const result = await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(element[base_driver_1.W3C_ELEMENT_KEY]).buildGetSelectionCommand());
166
+ return result.split('\n').filter(Boolean).map((elId) => ({ [base_driver_1.W3C_ELEMENT_KEY]: elId }));
167
+ }
168
+ async function patternAddToSelection(element) {
169
+ await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(element[base_driver_1.W3C_ELEMENT_KEY]).buildAddToSelectionCommand());
170
+ }
171
+ async function patternRemoveFromSelection(element) {
172
+ await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(element[base_driver_1.W3C_ELEMENT_KEY]).buildRemoveFromSelectionCommand());
173
+ }
174
+ async function patternSelect(element) {
175
+ await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(element[base_driver_1.W3C_ELEMENT_KEY]).buildSelectCommand());
176
+ }
177
+ async function patternToggle(element) {
178
+ await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(element[base_driver_1.W3C_ELEMENT_KEY]).buildToggleCommand());
179
+ }
180
+ async function patternSetValue(element, value) {
181
+ try {
182
+ await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(element[base_driver_1.W3C_ELEMENT_KEY]).buildSetValueCommand(value));
183
+ }
184
+ catch {
185
+ await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(element[base_driver_1.W3C_ELEMENT_KEY]).buildSetRangeValueCommand(value));
186
+ }
187
+ }
188
+ async function patternGetValue(element) {
189
+ await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(element[base_driver_1.W3C_ELEMENT_KEY]).buildGetValueCommand());
190
+ }
191
+ async function patternMaximize(element) {
192
+ await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(element[base_driver_1.W3C_ELEMENT_KEY]).buildMaximizeCommand());
193
+ }
194
+ async function patternMinimize(element) {
195
+ await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(element[base_driver_1.W3C_ELEMENT_KEY]).buildMinimizeCommand());
196
+ }
197
+ async function patternRestore(element) {
198
+ await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(element[base_driver_1.W3C_ELEMENT_KEY]).buildRestoreCommand());
199
+ }
200
+ async function patternClose(element) {
201
+ await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(element[base_driver_1.W3C_ELEMENT_KEY]).buildCloseCommand());
202
+ }
203
+ async function focusElement(element) {
204
+ await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(element[base_driver_1.W3C_ELEMENT_KEY]).buildSetFocusCommand());
205
+ }
206
+ async function getClipboardBase64(contentType) {
207
+ if (!contentType || (contentType && typeof contentType === 'object')) {
208
+ contentType = contentType?.contentType ?? ContentType.PLAINTEXT;
209
+ }
210
+ switch (contentType.toLowerCase()) {
211
+ case ContentType.PLAINTEXT:
212
+ return await this.sendPowerShellCommand(GET_PLAINTEXT_CLIPBOARD_BASE64);
213
+ case ContentType.IMAGE:
214
+ return await this.sendPowerShellCommand(GET_IMAGE_CLIPBOARD_BASE64);
215
+ default:
216
+ throw new base_driver_1.errors.InvalidArgumentError(`Unsupported content type '${contentType}'.`);
217
+ }
218
+ }
219
+ async function setClipboardFromBase64(args) {
220
+ if (!args || typeof args !== 'object' || !args.b64Content) {
221
+ throw new base_driver_1.errors.InvalidArgumentError(`'b64Content' must be provided.`);
222
+ }
223
+ const contentType = args.contentType ?? ContentType.PLAINTEXT;
224
+ switch (contentType.toLowerCase()) {
225
+ case ContentType.PLAINTEXT:
226
+ return await this.sendPowerShellCommand(SET_PLAINTEXT_CLIPBOARD_FROM_BASE64.format(args.b64Content));
227
+ case ContentType.IMAGE:
228
+ return await this.sendPowerShellCommand(SET_IMAGE_CLIPBOARD_FROM_BASE64.format(args.b64Content));
229
+ default:
230
+ throw new base_driver_1.errors.InvalidArgumentError(`Unsupported content type '${contentType}'.`);
231
+ }
232
+ }
233
+ async function executePowerShellScript(script) {
234
+ if (script && typeof script === 'object') {
235
+ if (script.script) {
236
+ script = script.script;
237
+ }
238
+ else if (script.command) {
239
+ script = script.command;
240
+ }
241
+ else {
242
+ throw new base_driver_1.errors.InvalidArgumentError('Either script or command must be provided.');
243
+ }
244
+ }
245
+ const scriptToExecute = (0, powershell_1.pwsh) `${script}`;
246
+ if (this.caps.isolatedScriptExecution) {
247
+ return await this.sendIsolatedPowerShellCommand(scriptToExecute);
248
+ }
249
+ else {
250
+ return await this.sendPowerShellCommand(scriptToExecute);
251
+ }
252
+ }
253
+ async function executeKeys(keyActions) {
254
+ if (!Array.isArray(keyActions.actions)) {
255
+ keyActions.actions = [keyActions.actions];
256
+ }
257
+ keyActions.forceUnicode ??= false;
258
+ for (const action of keyActions.actions) {
259
+ if (Number(!!action.pause) + Number(!!action.text) + Number(!!action.virtualKeyCode) !== 1) {
260
+ throw new base_driver_1.errors.InvalidArgumentError('Either pause, text or virtualKeyCode should be set.');
261
+ }
262
+ if (action.pause) {
263
+ await (0, util_1.sleep)(action.pause);
264
+ continue;
265
+ }
266
+ if (action.virtualKeyCode) {
267
+ if (action.down === undefined) {
268
+ (0, user32_1.sendKeyboardEvents)([{
269
+ wVk: action.virtualKeyCode,
270
+ wScan: 0,
271
+ dwFlags: 0,
272
+ time: 0,
273
+ dwExtraInfo: 0,
274
+ }, {
275
+ wVk: action.virtualKeyCode,
276
+ wScan: 0,
277
+ dwFlags: types_1.KeyEventFlags.KEYEVENTF_KEYUP,
278
+ time: 0,
279
+ dwExtraInfo: 0,
280
+ }]);
281
+ }
282
+ else {
283
+ (0, user32_1.sendKeyboardEvents)([{
284
+ wVk: action.virtualKeyCode,
285
+ wScan: 0,
286
+ dwFlags: action.down ? 0 : types_1.KeyEventFlags.KEYEVENTF_KEYUP,
287
+ time: 0,
288
+ dwExtraInfo: 0,
289
+ }]);
290
+ }
291
+ continue;
292
+ }
293
+ for (const key of action.text ?? []) {
294
+ if (action.down !== undefined) {
295
+ if (action.down) {
296
+ (0, user32_1.keyDown)(key, keyActions.forceUnicode);
297
+ }
298
+ else {
299
+ (0, user32_1.keyUp)(key, keyActions.forceUnicode);
300
+ }
301
+ }
302
+ else {
303
+ (0, user32_1.keyDown)(key, keyActions.forceUnicode);
304
+ (0, user32_1.keyUp)(key, keyActions.forceUnicode);
305
+ }
306
+ }
307
+ }
308
+ }
309
+ async function executeClick(clickArgs) {
310
+ const { elementId, x, y, button = enums_1.ClickType.LEFT, modifierKeys = [], durationMs = 0, times = 1, interClickDelayMs = 100, } = clickArgs;
311
+ if ((x != null) !== (y != null)) {
312
+ throw new base_driver_1.errors.InvalidArgumentError('Both x and y must be provided if either is set.');
313
+ }
314
+ let pos;
315
+ if (elementId) {
316
+ if (await this.sendPowerShellCommand(/* ps1 */ `$null -eq ${new powershell_1.FoundAutomationElement(elementId).toString()}`)) {
317
+ const condition = new powershell_1.PropertyCondition(powershell_1.Property.RUNTIME_ID, new powershell_1.PSInt32Array(elementId.split('.').map(Number)));
318
+ const elId = await this.sendPowerShellCommand(powershell_1.AutomationElement.automationRoot.findFirst(powershell_1.TreeScope.SUBTREE, condition).buildCommand());
319
+ if (elId.trim() === '') {
320
+ throw new base_driver_1.errors.NoSuchElementError();
321
+ }
322
+ }
323
+ const rectJson = await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(elementId).buildGetElementRectCommand());
324
+ const rect = JSON.parse(rectJson.replaceAll(/(?:infinity)/gi, 0x7FFFFFFF.toString()));
325
+ pos = [
326
+ rect.x + (x ?? Math.trunc(rect.width / 2)),
327
+ rect.y + (y ?? Math.trunc(rect.height / 2)),
328
+ ];
329
+ }
330
+ else {
331
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
332
+ pos = [x, y];
333
+ }
334
+ const clickTypeToButtonMapping = {
335
+ [enums_1.ClickType.LEFT]: 0,
336
+ [enums_1.ClickType.MIDDLE]: 1,
337
+ [enums_1.ClickType.RIGHT]: 2,
338
+ [enums_1.ClickType.BACK]: 3,
339
+ [enums_1.ClickType.FORWARD]: 4
340
+ };
341
+ const mouseButton = clickTypeToButtonMapping[button];
342
+ const processesModifierKeys = Array.isArray(modifierKeys) ? modifierKeys : [modifierKeys];
343
+ await (0, user32_1.mouseMoveAbsolute)(pos[0], pos[1], 0);
344
+ for (let i = 0; i < times; i++) {
345
+ if (i !== 0) {
346
+ await (0, util_1.sleep)(interClickDelayMs);
347
+ }
348
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'ctrl')) {
349
+ (0, user32_1.keyDown)(enums_1.Key.CONTROL);
350
+ }
351
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'alt')) {
352
+ (0, user32_1.keyDown)(enums_1.Key.ALT);
353
+ }
354
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'shift')) {
355
+ (0, user32_1.keyDown)(enums_1.Key.SHIFT);
356
+ }
357
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'win')) {
358
+ (0, user32_1.keyDown)(enums_1.Key.META);
359
+ }
360
+ (0, user32_1.mouseDown)(mouseButton);
361
+ if (durationMs > 0) {
362
+ await (0, util_1.sleep)(durationMs);
363
+ }
364
+ (0, user32_1.mouseUp)(mouseButton);
365
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'ctrl')) {
366
+ (0, user32_1.keyUp)(enums_1.Key.CONTROL);
367
+ }
368
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'alt')) {
369
+ (0, user32_1.keyUp)(enums_1.Key.ALT);
370
+ }
371
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'shift')) {
372
+ (0, user32_1.keyUp)(enums_1.Key.SHIFT);
373
+ }
374
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'win')) {
375
+ (0, user32_1.keyUp)(enums_1.Key.META);
376
+ }
377
+ }
378
+ if (this.caps.delayAfterClick) {
379
+ await (0, util_1.sleep)(this.caps.delayAfterClick ?? 0);
380
+ }
381
+ }
382
+ async function executeHover(hoverArgs) {
383
+ const { startElementId, startX, startY, endElementId, endX, endY, modifierKeys = [], durationMs = 500, } = hoverArgs;
384
+ if ((startX != null) !== (startY != null)) {
385
+ throw new base_driver_1.errors.InvalidArgumentError('Both startX and startY must be provided if either is set.');
386
+ }
387
+ if ((endX != null) !== (endY != null)) {
388
+ throw new base_driver_1.errors.InvalidArgumentError('Both endX and endY must be provided if either is set.');
389
+ }
390
+ const processesModifierKeys = Array.isArray(modifierKeys) ? modifierKeys : [modifierKeys];
391
+ let startPos;
392
+ if (startElementId) {
393
+ if (await this.sendPowerShellCommand(/* ps1 */ `$null -eq ${new powershell_1.FoundAutomationElement(startElementId).toString()}`)) {
394
+ const condition = new powershell_1.PropertyCondition(powershell_1.Property.RUNTIME_ID, new powershell_1.PSInt32Array(startElementId.split('.').map(Number)));
395
+ const elId = await this.sendPowerShellCommand(powershell_1.AutomationElement.automationRoot.findFirst(powershell_1.TreeScope.SUBTREE, condition).buildCommand());
396
+ if (elId.trim() === '') {
397
+ throw new base_driver_1.errors.NoSuchElementError();
398
+ }
399
+ }
400
+ const rectJson = await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(startElementId).buildGetElementRectCommand());
401
+ const rect = JSON.parse(rectJson.replaceAll(/(?:infinity)/gi, 0x7FFFFFFF.toString()));
402
+ startPos = [
403
+ rect.x + (startX ?? rect.width / 2),
404
+ rect.y + (startY ?? rect.height / 2)
405
+ ];
406
+ }
407
+ else {
408
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
409
+ startPos = [startX, startY];
410
+ }
411
+ let endPos;
412
+ if (endElementId) {
413
+ if (await this.sendPowerShellCommand(/* ps1 */ `$null -eq ${new powershell_1.FoundAutomationElement(endElementId).toString()}`)) {
414
+ const condition = new powershell_1.PropertyCondition(powershell_1.Property.RUNTIME_ID, new powershell_1.PSInt32Array(endElementId.split('.').map(Number)));
415
+ const elId = await this.sendPowerShellCommand(powershell_1.AutomationElement.automationRoot.findFirst(powershell_1.TreeScope.SUBTREE, condition).buildCommand());
416
+ if (elId.trim() === '') {
417
+ throw new base_driver_1.errors.NoSuchElementError();
418
+ }
419
+ }
420
+ const rectJson = await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(endElementId).buildGetElementRectCommand());
421
+ const rect = JSON.parse(rectJson.replaceAll(/(?:infinity)/gi, 0x7FFFFFFF.toString()));
422
+ endPos = [
423
+ rect.x + (endX ?? rect.width / 2),
424
+ rect.y + (endY ?? rect.height / 2)
425
+ ];
426
+ }
427
+ else {
428
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
429
+ endPos = [endX, endY];
430
+ }
431
+ await (0, user32_1.mouseMoveAbsolute)(startPos[0], startPos[1], 0);
432
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'ctrl')) {
433
+ (0, user32_1.keyDown)(enums_1.Key.CONTROL);
434
+ }
435
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'alt')) {
436
+ (0, user32_1.keyDown)(enums_1.Key.ALT);
437
+ }
438
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'shift')) {
439
+ (0, user32_1.keyDown)(enums_1.Key.SHIFT);
440
+ }
441
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'win')) {
442
+ (0, user32_1.keyDown)(enums_1.Key.META);
443
+ }
444
+ await (0, user32_1.mouseMoveAbsolute)(endPos[0], endPos[1], durationMs, this.caps.smoothPointerMove);
445
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'ctrl')) {
446
+ (0, user32_1.keyUp)(enums_1.Key.CONTROL);
447
+ }
448
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'alt')) {
449
+ (0, user32_1.keyUp)(enums_1.Key.ALT);
450
+ }
451
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'shift')) {
452
+ (0, user32_1.keyUp)(enums_1.Key.SHIFT);
453
+ }
454
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'win')) {
455
+ (0, user32_1.keyUp)(enums_1.Key.META);
456
+ }
457
+ }
458
+ async function executeScroll(scrollArgs) {
459
+ const { elementId, x, y, deltaX, deltaY, modifierKeys = [], } = scrollArgs;
460
+ if (!!elementId && ((x !== null && x !== undefined) || (y !== null && y !== undefined))) {
461
+ throw new base_driver_1.errors.InvalidArgumentError('Either elementId or x and y must be provided.');
462
+ }
463
+ if ((x !== null && x !== undefined) !== (y !== null && y !== undefined)) {
464
+ throw new base_driver_1.errors.InvalidArgumentError('Both x and y must be provided.');
465
+ }
466
+ const processesModifierKeys = Array.isArray(modifierKeys) ? modifierKeys : [modifierKeys];
467
+ let pos;
468
+ if (elementId) {
469
+ if (await this.sendPowerShellCommand(/* ps1 */ `$null -eq ${new powershell_1.FoundAutomationElement(elementId).toString()}`)) {
470
+ const condition = new powershell_1.PropertyCondition(powershell_1.Property.RUNTIME_ID, new powershell_1.PSInt32Array(elementId.split('.').map(Number)));
471
+ const elId = await this.sendPowerShellCommand(powershell_1.AutomationElement.automationRoot.findFirst(powershell_1.TreeScope.SUBTREE, condition).buildCommand());
472
+ if (elId.trim() === '') {
473
+ throw new base_driver_1.errors.NoSuchElementError();
474
+ }
475
+ }
476
+ const rectJson = await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(elementId).buildGetElementRectCommand());
477
+ const rect = JSON.parse(rectJson.replaceAll(/(?:infinity)/gi, 0x7FFFFFFF.toString()));
478
+ pos = [rect.x + (rect.width / 2), rect.y + (rect.height / 2)];
479
+ }
480
+ else {
481
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
482
+ pos = [x, y];
483
+ }
484
+ await (0, user32_1.mouseMoveAbsolute)(pos[0], pos[1], 0);
485
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'ctrl')) {
486
+ (0, user32_1.keyDown)(enums_1.Key.CONTROL);
487
+ }
488
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'alt')) {
489
+ (0, user32_1.keyDown)(enums_1.Key.ALT);
490
+ }
491
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'shift')) {
492
+ (0, user32_1.keyDown)(enums_1.Key.SHIFT);
493
+ }
494
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'win')) {
495
+ (0, user32_1.keyDown)(enums_1.Key.META);
496
+ }
497
+ (0, user32_1.mouseScroll)(deltaX ?? 0, deltaY ?? 0);
498
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'ctrl')) {
499
+ (0, user32_1.keyUp)(enums_1.Key.CONTROL);
500
+ }
501
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'alt')) {
502
+ (0, user32_1.keyUp)(enums_1.Key.ALT);
503
+ }
504
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'shift')) {
505
+ (0, user32_1.keyUp)(enums_1.Key.SHIFT);
506
+ }
507
+ if (processesModifierKeys.some((key) => key.toLowerCase() === 'win')) {
508
+ (0, user32_1.keyUp)(enums_1.Key.META);
509
+ }
510
+ }
511
+ //# sourceMappingURL=extension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../lib/commands/extension.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const FIND_CHILDREN_RECURSIVELY: string;
2
+ export declare const PAGE_SOURCE: string;
3
+ //# sourceMappingURL=functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../lib/commands/functions.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,QAqErC,CAAC;AAEF,eAAO,MAAM,WAAW,QAsHvB,CAAC"}