appium-desktop-driver 1.2.0 → 1.4.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.
@@ -2,193 +2,193 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PAGE_SOURCE = exports.FIND_CHILDREN_RECURSIVELY = void 0;
4
4
  const powershell_1 = require("../powershell");
5
- exports.FIND_CHILDREN_RECURSIVELY = (0, powershell_1.pwsh /* ps1 */) `
6
- function Find-ChildrenRecursively {
7
- param (
8
- [Parameter(Mandatory=$true)]
9
- [AutomationElement]$element,
10
- [Parameter(Mandatory=$true)]
11
- [Condition]$condition,
12
- [Parameter(Mandatory=$false)]
13
- [bool]$includeSelf = $false
14
- )
15
-
16
- $scope = if ($includeSelf) {
17
- [TreeScope]::Element -bor [TreeScope]::Children
18
- } else {
19
- [TreeScope]::Children
20
- }
21
-
22
- $validChild = $element.FindFirst($scope, $condition)
23
-
24
- if ($validChild -ne $null) {
25
- return $validChild
26
- }
27
-
28
- $children = $element.FindAll([TreeScope]::Children, [Condition]::TrueCondition)
29
- foreach ($child in $children) {
30
- $result = Find-AllChildrenRecursively -element $child -condition $condition -returnFirstResult $true
31
- if ($result -ne $null) {
32
- return $result[0]
33
- }
34
- }
35
-
36
- return $null
37
- }
38
-
39
- function Find-AllChildrenRecursively {
40
- param (
41
- [Parameter(Mandatory=$true)]
42
- [AutomationElement]$element,
43
- [Parameter(Mandatory=$true)]
44
- [Condition]$condition,
45
- [bool]$returnFirstResult = $false,
46
- [Parameter(Mandatory=$false)]
47
- [bool]$includeSelf = $false
48
- )
49
-
50
- $children = $element.FindAll([TreeScope]::Children, [Condition]::TrueCondition)
51
- $validChildren = @($children | Where-Object { $_.FindFirst([TreeScope]::Element, $condition) -ne $null })
52
-
53
- if ($includeSelf) {
54
- $self = $element.FindFirst([TreeScope]::Element, $condition)
55
- }
56
-
57
- if ($null -ne $self) {
58
- $validChildren += $self
59
- }
60
-
61
- foreach ($child in $children) {
62
- $Allresults = Find-AllChildrenRecursively -element $child -condition $condition
63
- if ($returnFirstResult -and $Allresults.Count -gt 0) {
64
- return $Allresults
65
- }
66
-
67
- foreach ($result in $Allresults) {
68
- $validChildren += ($result | Where-Object { $_.FindFirst([TreeScope]::Element, $condition) -ne $null })
69
- }
70
- }
71
-
72
- return $validChildren
73
- }
5
+ exports.FIND_CHILDREN_RECURSIVELY = (0, powershell_1.pwsh /* ps1 */) `
6
+ function Find-ChildrenRecursively {
7
+ param (
8
+ [Parameter(Mandatory=$true)]
9
+ [AutomationElement]$element,
10
+ [Parameter(Mandatory=$true)]
11
+ [Condition]$condition,
12
+ [Parameter(Mandatory=$false)]
13
+ [bool]$includeSelf = $false
14
+ )
15
+
16
+ $scope = if ($includeSelf) {
17
+ [TreeScope]::Element -bor [TreeScope]::Children
18
+ } else {
19
+ [TreeScope]::Children
20
+ }
21
+
22
+ $validChild = $element.FindFirst($scope, $condition)
23
+
24
+ if ($validChild -ne $null) {
25
+ return $validChild
26
+ }
27
+
28
+ $children = $element.FindAll([TreeScope]::Children, [Condition]::TrueCondition)
29
+ foreach ($child in $children) {
30
+ $result = Find-AllChildrenRecursively -element $child -condition $condition -returnFirstResult $true
31
+ if ($result -ne $null) {
32
+ return $result[0]
33
+ }
34
+ }
35
+
36
+ return $null
37
+ }
38
+
39
+ function Find-AllChildrenRecursively {
40
+ param (
41
+ [Parameter(Mandatory=$true)]
42
+ [AutomationElement]$element,
43
+ [Parameter(Mandatory=$true)]
44
+ [Condition]$condition,
45
+ [bool]$returnFirstResult = $false,
46
+ [Parameter(Mandatory=$false)]
47
+ [bool]$includeSelf = $false
48
+ )
49
+
50
+ $children = $element.FindAll([TreeScope]::Children, [Condition]::TrueCondition)
51
+ $validChildren = @($children | Where-Object { $_.FindFirst([TreeScope]::Element, $condition) -ne $null })
52
+
53
+ if ($includeSelf) {
54
+ $self = $element.FindFirst([TreeScope]::Element, $condition)
55
+ }
56
+
57
+ if ($null -ne $self) {
58
+ $validChildren += $self
59
+ }
60
+
61
+ foreach ($child in $children) {
62
+ $Allresults = Find-AllChildrenRecursively -element $child -condition $condition
63
+ if ($returnFirstResult -and $Allresults.Count -gt 0) {
64
+ return $Allresults
65
+ }
66
+
67
+ foreach ($result in $Allresults) {
68
+ $validChildren += ($result | Where-Object { $_.FindFirst([TreeScope]::Element, $condition) -ne $null })
69
+ }
70
+ }
71
+
72
+ return $validChildren
73
+ }
74
74
  `;
75
- exports.PAGE_SOURCE = (0, powershell_1.pwsh /* ps1 */) `
76
- function Get-PageSource {
77
- param (
78
- [Parameter(Mandatory = $true)]
79
- [AutomationElement]$element,
80
- [Xml.XmlDocument]$xmlDoc,
81
- [Xml.XmlElement]$xmlElement
82
- )
83
-
84
- try {
85
- $localizedControlType = $element.GetCurrentPropertyValue([AutomationElement]::LocalizedControlTypeProperty)
86
- $controlType = $element.GetCurrentPropertyValue([AutomationElement]::ControlTypeProperty)
87
-
88
- $tagName = ''
89
- try {
90
- $tagName = $controlType.ProgrammaticName.Split('.')[-1]
91
- } catch {
92
- # fallback to LocalizedControlType ControlType is empty
93
- $tagName = -join ($localizedControlType -split ' ' | ForEach-Object {
94
- $_.Substring(0, 1).ToUpper() + $_.Substring(1).ToLower()
95
- })
96
- }
97
-
98
- $acceleratorKey = $element.GetCurrentPropertyValue([AutomationElement]::AcceleratorKeyProperty)
99
- $accessKey = $element.GetCurrentPropertyValue([AutomationElement]::AccessKeyProperty)
100
- $automationId = $element.GetCurrentPropertyValue([AutomationElement]::AutomationIdProperty)
101
- $className = $element.GetCurrentPropertyValue([AutomationElement]::ClassNameProperty)
102
- $frameworkId = $element.GetCurrentPropertyValue([AutomationElement]::FrameworkIdProperty)
103
- $hasKeyboardfocus = $element.GetCurrentPropertyValue([AutomationElement]::HasKeyboardfocusProperty)
104
- $helpText = $element.GetCurrentPropertyValue([AutomationElement]::HelpTextProperty)
105
- $isContentelement = $element.GetCurrentPropertyValue([AutomationElement]::IsContentelementProperty)
106
- $isControlelement = $element.GetCurrentPropertyValue([AutomationElement]::IsControlelementProperty)
107
- $isEnabled = $element.GetCurrentPropertyValue([AutomationElement]::IsEnabledProperty)
108
- $isKeyboardfocusable = $element.GetCurrentPropertyValue([AutomationElement]::IsKeyboardfocusableProperty)
109
- $isOffscreen = $element.GetCurrentPropertyValue([AutomationElement]::IsOffscreenProperty)
110
- $isPassword = $element.GetCurrentPropertyValue([AutomationElement]::IsPasswordProperty)
111
- $isRequiredforform = $element.GetCurrentPropertyValue([AutomationElement]::IsRequiredforformProperty)
112
- $itemStatus = $element.GetCurrentPropertyValue([AutomationElement]::ItemStatusProperty)
113
- $itemType = $element.GetCurrentPropertyValue([AutomationElement]::ItemTypeProperty)
114
- $name = $element.GetCurrentPropertyValue([AutomationElement]::NameProperty)
115
- $orientation = $element.GetCurrentPropertyValue([AutomationElement]::OrientationProperty)
116
- $processId = $element.GetCurrentPropertyValue([AutomationElement]::ProcessIdProperty)
117
- $runtimeId = $element.GetCurrentPropertyValue([AutomationElement]::RuntimeIdProperty) -join '.'
118
- $boundingRectangle = $element.Current.BoundingRectangle
119
- $x = $boundingRectangle.X - $rootElement.Current.BoundingRectangle.X
120
- $y = $boundingRectangle.Y - $rootElement.Current.BoundingRectangle.Y
121
- $width = $boundingRectangle.Width
122
- $height = $boundingRectangle.Height
123
-
124
- if ($null -eq $xmlDoc) { $xmlDoc = [Xml.XmlDocument]::new() }
125
-
126
- $newXmlElement = $xmlDoc.CreateElement($tagName)
127
- $newXmlElement.SetAttribute("AcceleratorKey", $acceleratorKey)
128
- $newXmlElement.SetAttribute("AccessKey", $accessKey)
129
- $newXmlElement.SetAttribute("AutomationId", $automationId)
130
- $newXmlElement.SetAttribute("ClassName", $className)
131
- $newXmlElement.SetAttribute("FrameworkId", $frameworkId)
132
- $newXmlElement.SetAttribute("HasKeyboardfocus", $hasKeyboardfocus)
133
- $newXmlElement.SetAttribute("HelpText", $helpText)
134
- $newXmlElement.SetAttribute("IsContentelement", $isContentelement)
135
- $newXmlElement.SetAttribute("IsControlelement", $isControlelement)
136
- $newXmlElement.SetAttribute("IsEnabled", $isEnabled)
137
- $newXmlElement.SetAttribute("IsKeyboardfocusable", $isKeyboardfocusable)
138
- $newXmlElement.SetAttribute("IsOffscreen", $isOffscreen)
139
- $newXmlElement.SetAttribute("IsPassword", $isPassword)
140
- $newXmlElement.SetAttribute("IsRequiredforform", $isRequiredforform)
141
- $newXmlElement.SetAttribute("ItemStatus", $itemStatus)
142
- $newXmlElement.SetAttribute("ItemType", $itemType)
143
- $newXmlElement.SetAttribute("LocalizedControlType", $localizedControlType)
144
- $newXmlElement.SetAttribute("Name", $name)
145
- $newXmlElement.SetAttribute("Orientation", $orientation)
146
- $newXmlElement.SetAttribute("ProcessId", $processId)
147
- $newXmlElement.SetAttribute("RuntimeId", $runtimeId)
148
- $newXmlElement.SetAttribute("x", $x)
149
- $newXmlElement.SetAttribute("y", $y)
150
- $newXmlElement.SetAttribute("width", $width)
151
- $newXmlElement.SetAttribute("height", $height)
152
-
153
- $pattern = $null
154
-
155
- if ($element.TryGetCurrentPattern([WindowPattern]::Pattern, [ref]$pattern)) {
156
- $newXmlElement.SetAttribute("CanMaximize", $pattern.Current.CanMaximize)
157
- $newXmlElement.SetAttribute("CanMinimize", $pattern.Current.CanMinimize)
158
- $newXmlElement.SetAttribute("IsModal", $pattern.Current.IsModal)
159
- $newXmlElement.SetAttribute("WindowVisualState", $pattern.Current.WindowVisualState)
160
- $newXmlElement.SetAttribute("WindowInteractionState", $pattern.Current.WindowInteractionState)
161
- $newXmlElement.SetAttribute("IsTopmost", $pattern.Current.IsTopmost)
162
- }
163
-
164
- if ($element.TryGetCurrentPattern([TransformPattern]::Pattern, [ref]$pattern)) {
165
- $newXmlElement.SetAttribute("CanRotate", $pattern.Current.CanRotate)
166
- $newXmlElement.SetAttribute("CanResize", $pattern.Current.CanResize)
167
- $newXmlElement.SetAttribute("CanMove", $pattern.Current.CanMove)
168
- }
169
-
170
- # TODO: more to be added depending on the available patterns
171
-
172
- if ($null -eq $xmlElement) {
173
- $xmlElement = $xmlDoc.AppendChild($newXmlElement)
174
- } else {
175
- $xmlElement = $xmlElement.AppendChild($newXmlElement)
176
- }
177
-
178
- $elementsToProcess = New-Object System.Collections.Queue
179
- $element.FindAll([TreeScope]::Children, $cacheRequest.TreeFilter) | ForEach-Object {
180
- $elementsToProcess.Enqueue($_)
181
- }
182
-
183
- while ($elementsToProcess.Count -gt 0) {
184
- $currentElement = $elementsToProcess.Dequeue()
185
- Get-PageSource $currentElement $xmlDoc $xmlElement | Out-Null
186
- }
187
- } catch {
188
- # noop
189
- }
190
-
191
- return $xmlElement
192
- }
75
+ exports.PAGE_SOURCE = (0, powershell_1.pwsh /* ps1 */) `
76
+ function Get-PageSource {
77
+ param (
78
+ [Parameter(Mandatory = $true)]
79
+ [AutomationElement]$element,
80
+ [Xml.XmlDocument]$xmlDoc,
81
+ [Xml.XmlElement]$xmlElement
82
+ )
83
+
84
+ try {
85
+ $localizedControlType = $element.GetCurrentPropertyValue([AutomationElement]::LocalizedControlTypeProperty)
86
+ $controlType = $element.GetCurrentPropertyValue([AutomationElement]::ControlTypeProperty)
87
+
88
+ $tagName = ''
89
+ try {
90
+ $tagName = $controlType.ProgrammaticName.Split('.')[-1]
91
+ } catch {
92
+ # fallback to LocalizedControlType ControlType is empty
93
+ $tagName = -join ($localizedControlType -split ' ' | ForEach-Object {
94
+ $_.Substring(0, 1).ToUpper() + $_.Substring(1).ToLower()
95
+ })
96
+ }
97
+
98
+ $acceleratorKey = $element.GetCurrentPropertyValue([AutomationElement]::AcceleratorKeyProperty)
99
+ $accessKey = $element.GetCurrentPropertyValue([AutomationElement]::AccessKeyProperty)
100
+ $automationId = $element.GetCurrentPropertyValue([AutomationElement]::AutomationIdProperty)
101
+ $className = $element.GetCurrentPropertyValue([AutomationElement]::ClassNameProperty)
102
+ $frameworkId = $element.GetCurrentPropertyValue([AutomationElement]::FrameworkIdProperty)
103
+ $hasKeyboardfocus = $element.GetCurrentPropertyValue([AutomationElement]::HasKeyboardfocusProperty)
104
+ $helpText = $element.GetCurrentPropertyValue([AutomationElement]::HelpTextProperty)
105
+ $isContentelement = $element.GetCurrentPropertyValue([AutomationElement]::IsContentelementProperty)
106
+ $isControlelement = $element.GetCurrentPropertyValue([AutomationElement]::IsControlelementProperty)
107
+ $isEnabled = $element.GetCurrentPropertyValue([AutomationElement]::IsEnabledProperty)
108
+ $isKeyboardfocusable = $element.GetCurrentPropertyValue([AutomationElement]::IsKeyboardfocusableProperty)
109
+ $isOffscreen = $element.GetCurrentPropertyValue([AutomationElement]::IsOffscreenProperty)
110
+ $isPassword = $element.GetCurrentPropertyValue([AutomationElement]::IsPasswordProperty)
111
+ $isRequiredforform = $element.GetCurrentPropertyValue([AutomationElement]::IsRequiredforformProperty)
112
+ $itemStatus = $element.GetCurrentPropertyValue([AutomationElement]::ItemStatusProperty)
113
+ $itemType = $element.GetCurrentPropertyValue([AutomationElement]::ItemTypeProperty)
114
+ $name = $element.GetCurrentPropertyValue([AutomationElement]::NameProperty)
115
+ $orientation = $element.GetCurrentPropertyValue([AutomationElement]::OrientationProperty)
116
+ $processId = $element.GetCurrentPropertyValue([AutomationElement]::ProcessIdProperty)
117
+ $runtimeId = $element.GetCurrentPropertyValue([AutomationElement]::RuntimeIdProperty) -join '.'
118
+ $boundingRectangle = $element.Current.BoundingRectangle
119
+ $x = $boundingRectangle.X - $rootElement.Current.BoundingRectangle.X
120
+ $y = $boundingRectangle.Y - $rootElement.Current.BoundingRectangle.Y
121
+ $width = $boundingRectangle.Width
122
+ $height = $boundingRectangle.Height
123
+
124
+ if ($null -eq $xmlDoc) { $xmlDoc = [Xml.XmlDocument]::new() }
125
+
126
+ $newXmlElement = $xmlDoc.CreateElement($tagName)
127
+ $newXmlElement.SetAttribute("AcceleratorKey", $acceleratorKey)
128
+ $newXmlElement.SetAttribute("AccessKey", $accessKey)
129
+ $newXmlElement.SetAttribute("AutomationId", $automationId)
130
+ $newXmlElement.SetAttribute("ClassName", $className)
131
+ $newXmlElement.SetAttribute("FrameworkId", $frameworkId)
132
+ $newXmlElement.SetAttribute("HasKeyboardfocus", $hasKeyboardfocus)
133
+ $newXmlElement.SetAttribute("HelpText", $helpText)
134
+ $newXmlElement.SetAttribute("IsContentelement", $isContentelement)
135
+ $newXmlElement.SetAttribute("IsControlelement", $isControlelement)
136
+ $newXmlElement.SetAttribute("IsEnabled", $isEnabled)
137
+ $newXmlElement.SetAttribute("IsKeyboardfocusable", $isKeyboardfocusable)
138
+ $newXmlElement.SetAttribute("IsOffscreen", $isOffscreen)
139
+ $newXmlElement.SetAttribute("IsPassword", $isPassword)
140
+ $newXmlElement.SetAttribute("IsRequiredforform", $isRequiredforform)
141
+ $newXmlElement.SetAttribute("ItemStatus", $itemStatus)
142
+ $newXmlElement.SetAttribute("ItemType", $itemType)
143
+ $newXmlElement.SetAttribute("LocalizedControlType", $localizedControlType)
144
+ $newXmlElement.SetAttribute("Name", $name)
145
+ $newXmlElement.SetAttribute("Orientation", $orientation)
146
+ $newXmlElement.SetAttribute("ProcessId", $processId)
147
+ $newXmlElement.SetAttribute("RuntimeId", $runtimeId)
148
+ $newXmlElement.SetAttribute("x", $x)
149
+ $newXmlElement.SetAttribute("y", $y)
150
+ $newXmlElement.SetAttribute("width", $width)
151
+ $newXmlElement.SetAttribute("height", $height)
152
+
153
+ $pattern = $null
154
+
155
+ if ($element.TryGetCurrentPattern([WindowPattern]::Pattern, [ref]$pattern)) {
156
+ $newXmlElement.SetAttribute("CanMaximize", $pattern.Current.CanMaximize)
157
+ $newXmlElement.SetAttribute("CanMinimize", $pattern.Current.CanMinimize)
158
+ $newXmlElement.SetAttribute("IsModal", $pattern.Current.IsModal)
159
+ $newXmlElement.SetAttribute("WindowVisualState", $pattern.Current.WindowVisualState)
160
+ $newXmlElement.SetAttribute("WindowInteractionState", $pattern.Current.WindowInteractionState)
161
+ $newXmlElement.SetAttribute("IsTopmost", $pattern.Current.IsTopmost)
162
+ }
163
+
164
+ if ($element.TryGetCurrentPattern([TransformPattern]::Pattern, [ref]$pattern)) {
165
+ $newXmlElement.SetAttribute("CanRotate", $pattern.Current.CanRotate)
166
+ $newXmlElement.SetAttribute("CanResize", $pattern.Current.CanResize)
167
+ $newXmlElement.SetAttribute("CanMove", $pattern.Current.CanMove)
168
+ }
169
+
170
+ # TODO: more to be added depending on the available patterns
171
+
172
+ if ($null -eq $xmlElement) {
173
+ $xmlElement = $xmlDoc.AppendChild($newXmlElement)
174
+ } else {
175
+ $xmlElement = $xmlElement.AppendChild($newXmlElement)
176
+ }
177
+
178
+ $elementsToProcess = New-Object System.Collections.Queue
179
+ $element.FindAll([TreeScope]::Children, $cacheRequest.TreeFilter) | ForEach-Object {
180
+ $elementsToProcess.Enqueue($_)
181
+ }
182
+
183
+ while ($elementsToProcess.Count -gt 0) {
184
+ $currentElement = $elementsToProcess.Dequeue()
185
+ Get-PageSource $currentElement $xmlDoc $xmlElement | Out-Null
186
+ }
187
+ } catch {
188
+ # noop
189
+ }
190
+
191
+ return $xmlElement
192
+ }
193
193
  `;
194
194
  //# sourceMappingURL=functions.js.map
@@ -50,11 +50,11 @@ declare const commands: {
50
50
  windowsCloseApp(this: import("../driver").NovaWindowsDriver): Promise<void>;
51
51
  windowsLaunchApp(this: import("../driver").NovaWindowsDriver): Promise<void>;
52
52
  focusElement(this: import("../driver").NovaWindowsDriver, element: import("@appium/types").Element): Promise<void>;
53
- getClipboardBase64(this: import("../driver").NovaWindowsDriver, contentType?: ("plaintext" | "image") | {
54
- contentType?: "plaintext" | "image";
53
+ getClipboardBase64(this: import("../driver").NovaWindowsDriver, contentType?: ("image" | "plaintext") | {
54
+ contentType?: "image" | "plaintext";
55
55
  }): Promise<string>;
56
56
  setClipboardFromBase64(this: import("../driver").NovaWindowsDriver, args: {
57
- contentType?: "plaintext" | "image";
57
+ contentType?: "image" | "plaintext";
58
58
  b64Content: string;
59
59
  }): Promise<string>;
60
60
  executePowerShellScript(this: import("../driver").NovaWindowsDriver, script: string | {
@@ -140,6 +140,7 @@ declare const commands: {
140
140
  format?: string;
141
141
  }): Promise<string>;
142
142
  getWindowElement(this: import("../driver").NovaWindowsDriver): Promise<import("@appium/types").Element>;
143
+ windowsGetMonitors(this: import("../driver").NovaWindowsDriver): Promise<object[]>;
143
144
  getProperty(this: import("../driver").NovaWindowsDriver, propertyName: string, elementId: string): Promise<string>;
144
145
  getAttribute(this: import("../driver").NovaWindowsDriver, propertyName: string, elementId: string): Promise<string>;
145
146
  active(this: import("../driver").NovaWindowsDriver): Promise<import("@appium/types").Element>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/commands/index.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAmBkhX,CAAC;;;mBAAsrB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;iBAA6nH,CAAC;SAAgB,CAAC;SAAgB,CAAC;cAAqB,CAAC;oBAA8B,CAAC;kBAA+G,CAAC;aAAoB,CAAC;yBAAgC,CAAC;;;sBAA8yG,CAAC;cAAqB,CAAC;cAAqB,CAAC;oBAA2B,CAAC;YAAmB,CAAC;YAAmB,CAAC;oBAA2B,CAAC;kBAA4F,CAAC;;;iBAAy4H,CAAC;SAAgB,CAAC;SAAgB,CAAC;cAAqB,CAAC;cAAqB,CAAC;oBAA2B,CAAC;;;kBAAivF,CAAC;iBAAwB,CAAC;gBAAuB,CAAC;mBAA0B,CAAC;cAAqB,CAAC;qBAA4B,CAAC;qBAA6B,CAAC;kBAA0B,CAAC;oBAA2B,CAAC;;;;;;;;iBAAg+F,CAAC;;;sBAAgvB,CAAC;cAAqB,CAAC;cAAqB,CAAC;oBAA2B,CAAC;YAAmB,CAAC;YAAmB,CAAC;oBAA2B,CAAC;kBAA4F,CAAC;cAAqB,CAAC;;;cAAo8I,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAV17lC,CAAC;AAEF,KAAK,QAAQ,GAAG;KACX,GAAG,IAAI,MAAM,OAAO,QAAQ,GAAG,OAAO,QAAQ,CAAC,GAAG,CAAC;CACvD,CAAC;AAEF,OAAO,QAAQ,WAAW,CAAC;IACvB,UAAU,iBAAkB,SAAQ,QAAQ;KAAG;CAClD;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/commands/index.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAmBq0W,CAAC;;;mBAAuqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;iBAA6hH,CAAC;SAAe,CAAC;SAAe,CAAC;cAAoB,CAAC;oBAA6B,CAAC;kBAA8G,CAAC;aAAmB,CAAC;yBAA+B,CAAC;;;sBAAitG,CAAC;cAAoB,CAAC;cAAoB,CAAC;oBAA0B,CAAC;YAAkB,CAAC;YAAkB,CAAC;oBAA0B,CAAC;kBAA2F,CAAC;;;iBAAyyH,CAAC;SAAe,CAAC;SAAe,CAAC;cAAoB,CAAC;cAAoB,CAAC;oBAA0B,CAAC;;;kBAA4qF,CAAC;iBAAuB,CAAC;gBAAsB,CAAC;mBAAyB,CAAC;cAAoB,CAAC;qBAA2B,CAAC;qBAA4B,CAAC;kBAAyB,CAAC;oBAA0B,CAAC;;;;;;;;iBAA84F,CAAC;;;sBAAkuB,CAAC;cAAoB,CAAC;cAAoB,CAAC;oBAA0B,CAAC;YAAkB,CAAC;YAAkB,CAAC;oBAA0B,CAAC;kBAA2F,CAAC;cAAoB,CAAC;;;cAAq1I,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAV1okC,CAAC;AAEF,KAAK,QAAQ,GAAG;KACX,GAAG,IAAI,MAAM,OAAO,QAAQ,GAAG,OAAO,QAAQ,CAAC,GAAG,CAAC;CACvD,CAAC;AAEF,OAAO,QAAQ,WAAW,CAAC;IACvB,UAAU,iBAAkB,SAAQ,QAAQ;KAAG;CAClD;AAED,eAAe,QAAQ,CAAC"}
@@ -155,11 +155,11 @@ class NovaWindowsDriver extends base_driver_1.BaseDriver {
155
155
  if (this.caps.shouldCloseApp && this.caps.app && this.caps.app.toLowerCase() !== 'root') {
156
156
  try {
157
157
  if (this.caps['ms:forcequit'] === true) {
158
- await this.sendPowerShellCommand(/* ps1 */ `
159
- if ($null -ne $rootElement) {
160
- $processId = $rootElement.Current.ProcessId
161
- Stop-Process -Id $processId -Force -ErrorAction SilentlyContinue
162
- }
158
+ await this.sendPowerShellCommand(/* ps1 */ `
159
+ if ($null -ne $rootElement) {
160
+ $processId = $rootElement.Current.ProcessId
161
+ Stop-Process -Id $processId -Force -ErrorAction SilentlyContinue
162
+ }
163
163
  `);
164
164
  }
165
165
  else {
@@ -1 +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"}
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,CAkLnF"}
@@ -130,5 +130,18 @@ function registerWindowTools(server, session) {
130
130
  return { isError: true, content: [{ type: 'text', text: (0, errors_js_1.formatError)(err) }] };
131
131
  }
132
132
  });
133
+ server.registerTool('get_monitors', {
134
+ description: 'List all connected monitors with their bounds, working area, device name, and whether each is the primary display.',
135
+ annotations: { readOnlyHint: true },
136
+ }, async () => {
137
+ try {
138
+ const driver = session.getDriver();
139
+ const monitors = await driver.executeScript('windows: getMonitors', []);
140
+ return { content: [{ type: 'text', text: JSON.stringify(monitors, null, 2) }] };
141
+ }
142
+ catch (err) {
143
+ return { isError: true, content: [{ type: 'text', text: (0, errors_js_1.formatError)(err) }] };
144
+ }
145
+ });
133
146
  }
134
147
  //# sourceMappingURL=window.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"window.js","sourceRoot":"","sources":["../../../../lib/mcp/tools/window.ts"],"names":[],"mappings":";;AAQA,kDAiKC;AAxKD,6BAAwB;AAExB,4CAA2C;AAE3C,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2DAA2D,CAAC,CAAC;AAChH,MAAM,cAAc,GAAG,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;AAEtD,SAAgB,mBAAmB,CAAC,MAAiB,EAAE,OAAsB;IACzE,MAAM,CAAC,YAAY,CACf,iBAAiB,EACjB;QACI,WAAW,EAAE,gEAAgE;QAC7E,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACtC,EACD,KAAK,IAAI,EAAE;QACP,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;YAC7C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAC1F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAA,uBAAW,EAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3F,CAAC;IACL,CAAC,CACJ,CAAC;IAEF,MAAM,CAAC,YAAY,CACf,iBAAiB,EACjB;QACI,WAAW,EAAE,8IAA8I;QAC3J,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACtC,EACD,KAAK,IAAI,EAAE;QACP,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;YAC5C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAClE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAA,uBAAW,EAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3F,CAAC;IACL,CAAC,CACJ,CAAC;IAEF,MAAM,CAAC,YAAY,CACf,iBAAiB,EACjB;QACI,WAAW,EAAE,sDAAsD;QACnE,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACtC,EACD,KAAK,IAAI,EAAE;QACP,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAChF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAA,uBAAW,EAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3F,CAAC;IACL,CAAC,CACJ,CAAC;IAEF,MAAM,CAAC,YAAY,CACf,oBAAoB,EACpB;QACI,WAAW,EAAE,2DAA2D;QACxE,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACtC,EACD,KAAK,IAAI,EAAE;QACP,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAChD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QACnF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAA,uBAAW,EAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3F,CAAC;IACL,CAAC,CACJ,CAAC;IAEF,MAAM,CAAC,YAAY,CACf,kBAAkB,EAClB;QACI,WAAW,EAAE,mDAAmD;QAChE,WAAW,EAAE;YACT,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sDAAsD,CAAC;SAC7F;KACJ,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACjB,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YACnC,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,uBAAuB,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAC3F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAA,uBAAW,EAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3F,CAAC;IACL,CAAC,CACJ,CAAC;IAEF,6EAA6E;IAE7E,MAAM,CAAC,YAAY,CACf,iBAAiB,EACjB;QACI,WAAW,EAAE,uDAAuD;QACpE,WAAW,EAAE,cAAc;QAC3B,WAAW,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;KACxC,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QACpB,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YACnC,MAAM,MAAM,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YACjE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACvE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAA,uBAAW,EAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3F,CAAC;IACL,CAAC,CACJ,CAAC;IAEF,MAAM,CAAC,YAAY,CACf,iBAAiB,EACjB;QACI,WAAW,EAAE,uDAAuD;QACpE,WAAW,EAAE,cAAc;QAC3B,WAAW,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;KACxC,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QACpB,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YACnC,MAAM,MAAM,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YACjE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACvE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAA,uBAAW,EAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3F,CAAC;IACL,CAAC,CACJ,CAAC;IAEF,MAAM,CAAC,YAAY,CACf,gBAAgB,EAChB;QACI,WAAW,EAAE,yFAAyF;QACtG,WAAW,EAAE,cAAc;QAC3B,WAAW,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;KACxC,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QACpB,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YACnC,MAAM,MAAM,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAChE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QACtE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAA,uBAAW,EAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3F,CAAC;IACL,CAAC,CACJ,CAAC;IAEF,MAAM,CAAC,YAAY,CACf,cAAc,EACd;QACI,WAAW,EAAE,oDAAoD;QACjE,WAAW,EAAE,cAAc;QAC3B,WAAW,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;KACzC,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QACpB,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YACnC,MAAM,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAC9D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACpE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAA,uBAAW,EAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3F,CAAC;IACL,CAAC,CACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"window.js","sourceRoot":"","sources":["../../../../lib/mcp/tools/window.ts"],"names":[],"mappings":"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"}