codeloop-mcp-server 0.1.95 → 0.1.96
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/evidence/binary_freshness.d.ts +27 -0
- package/dist/evidence/binary_freshness.d.ts.map +1 -1
- package/dist/evidence/binary_freshness.js +100 -22
- package/dist/evidence/binary_freshness.js.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/runners/modal_detector.d.ts +13 -0
- package/dist/runners/modal_detector.d.ts.map +1 -1
- package/dist/runners/modal_detector.js +101 -2
- package/dist/runners/modal_detector.js.map +1 -1
- package/dist/runners/uia_resolver.d.ts.map +1 -1
- package/dist/runners/uia_resolver.js +32 -0
- package/dist/runners/uia_resolver.js.map +1 -1
- package/dist/runners/window_manager.d.ts +23 -0
- package/dist/runners/window_manager.d.ts.map +1 -1
- package/dist/runners/window_manager.js +66 -3
- package/dist/runners/window_manager.js.map +1 -1
- package/package.json +1 -1
|
@@ -65,6 +65,19 @@ export interface ModalDetectionResult {
|
|
|
65
65
|
/** 0.1.63 H12 — confirm / alert title heuristics shared by the detector. */
|
|
66
66
|
export declare const CONFIRM_NAME_PATTERN: RegExp;
|
|
67
67
|
export declare const ALERT_NAME_PATTERN: RegExp;
|
|
68
|
+
/**
|
|
69
|
+
* 0.1.96 — true when a window class can never be an app modal dialog and so
|
|
70
|
+
* must be excluded from every modal-selection pass. Exported for unit tests.
|
|
71
|
+
*/
|
|
72
|
+
export declare function isNonDialogWindowClass(className?: string): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* 0.1.96 — process names of IDEs / editors / terminals / shells whose
|
|
75
|
+
* window title routinely *contains* an unrelated app name (e.g. the file
|
|
76
|
+
* being edited is "<x> - <App> - Cursor"). The Windows modal/identity probes
|
|
77
|
+
* must NOT adopt these as "the app" via a title-substring match — only an
|
|
78
|
+
* exact process-name match counts for them. Lowercased, whitespace-stripped.
|
|
79
|
+
*/
|
|
80
|
+
export declare const NON_APP_SHELL_PROCESS_NAMES: string[];
|
|
68
81
|
/** 0.1.54 E1 — exported so codeloop_handle_modal can reuse the same heuristic. */
|
|
69
82
|
export declare function classifyModalKind(name: string, className?: string): ModalKind;
|
|
70
83
|
export declare function detectModal(opts: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal_detector.d.ts","sourceRoot":"","sources":["../../src/runners/modal_detector.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEvE,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uFAAuF;IACvF,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+FAA+F;IAC/F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,WAAW,EAAE,SAAS,GAAG,SAAS,GAAG,kBAAkB,GAAG,eAAe,GAAG,SAAS,CAAC;CACvF;AAqDD,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,QACkF,CAAC;AACpH,eAAO,MAAM,kBAAkB,QACuD,CAAC;
|
|
1
|
+
{"version":3,"file":"modal_detector.d.ts","sourceRoot":"","sources":["../../src/runners/modal_detector.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEvE,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uFAAuF;IACvF,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+FAA+F;IAC/F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,WAAW,EAAE,SAAS,GAAG,SAAS,GAAG,kBAAkB,GAAG,eAAe,GAAG,SAAS,CAAC;CACvF;AAqDD,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,QACkF,CAAC;AACpH,eAAO,MAAM,kBAAkB,QACuD,CAAC;AA4CvF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAOlE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,UA+BvC,CAAC;AAEF,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAgB7E;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE;IACtC,WAAW,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,kBAAkB,GAAG,eAAe,CAAC;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAiBhC;AA4BD,yEAAyE;AACzE,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,oCAAoC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;0EACsE;IACtE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;wCAEwC;AACxC,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACvC;;0CAEsC;IACtC,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACnC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,oBAAoB,CA6K/F;AAoKD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAiB5D"}
|
|
@@ -53,6 +53,98 @@ export const CONFIRM_NAME_PATTERN = /\b(confirm|are you sure|do you want|delete\
|
|
|
53
53
|
export const ALERT_NAME_PATTERN = /\b(error|warning|alert|attention|failed|exception|invalid|cannot|unable|denied)\b/i;
|
|
54
54
|
/** 0.1.63 H12 — generic Win32 dialog classes that an in-app MessageBox uses. */
|
|
55
55
|
const GENERIC_DIALOG_CLASS_NAMES = new Set(["#32770", "DirectUIHWND"]);
|
|
56
|
+
/**
|
|
57
|
+
* 0.1.96 — window classes that are NEVER an actionable app modal dialog.
|
|
58
|
+
*
|
|
59
|
+
* Photometry-DB Windows E2E (#14): a `PseudoConsoleWindow` was flagged as a
|
|
60
|
+
* 0.92-confidence "owned dialog" on EVERY interaction, emitting a HARD [F4]
|
|
61
|
+
* "stop and handle the modal" directive that told the agent to abort the
|
|
62
|
+
* journey. Root cause: the app-name probe matched the Cursor EDITOR window
|
|
63
|
+
* (its title was "ProductCodeAutoFill.cs - Photometry DB - Cursor", which
|
|
64
|
+
* *contains* the app name), pulling the IDE's process + window handles into
|
|
65
|
+
* the app identity. The IDE's integrated-terminal ConPTY host
|
|
66
|
+
* (`PseudoConsoleWindow`) is owned by that handle, so the owner-chain pass
|
|
67
|
+
* mistook it for an app dialog.
|
|
68
|
+
*
|
|
69
|
+
* These classes are terminal / console hosts and hidden, message-only
|
|
70
|
+
* system windows (IME, OLE, .NET broadcast sinks, tooltips, menus) that
|
|
71
|
+
* never carry a user-actionable dialog. We drop them from modal candidacy
|
|
72
|
+
* regardless of ownership, so neither a loose app match nor a genuinely
|
|
73
|
+
* app-owned helper window can ever masquerade as a blocking modal.
|
|
74
|
+
*
|
|
75
|
+
* Deliberately conservative: real WPF/WinForms/.NET dialogs use `#32770`,
|
|
76
|
+
* `HwndWrapper[...]`, `WinUIDesktopWin32WindowClass`, custom window classes,
|
|
77
|
+
* etc. — none of which appear here. UWP main windows
|
|
78
|
+
* (`Windows.UI.Core.CoreWindow`) are also excluded from the denylist so we
|
|
79
|
+
* never blind ourselves to a real UWP surface.
|
|
80
|
+
*/
|
|
81
|
+
const NON_DIALOG_CLASS_NAMES = new Set([
|
|
82
|
+
"pseudoconsolewindow",
|
|
83
|
+
"consolewindowclass",
|
|
84
|
+
"cascadia_hosting_window_class",
|
|
85
|
+
"default ime",
|
|
86
|
+
"msctfime ui",
|
|
87
|
+
"ime",
|
|
88
|
+
"olemainthreadwndclass",
|
|
89
|
+
"tooltips_class32",
|
|
90
|
+
"#32768", // menu popup
|
|
91
|
+
"systemtray_main",
|
|
92
|
+
"xaml_windowedpopupclass",
|
|
93
|
+
]);
|
|
94
|
+
/**
|
|
95
|
+
* 0.1.96 — true when a window class can never be an app modal dialog and so
|
|
96
|
+
* must be excluded from every modal-selection pass. Exported for unit tests.
|
|
97
|
+
*/
|
|
98
|
+
export function isNonDialogWindowClass(className) {
|
|
99
|
+
const c = (className ?? "").trim().toLowerCase();
|
|
100
|
+
if (!c)
|
|
101
|
+
return false;
|
|
102
|
+
if (NON_DIALOG_CLASS_NAMES.has(c))
|
|
103
|
+
return true;
|
|
104
|
+
// .NET hidden broadcast windows carry a per-process hex suffix.
|
|
105
|
+
if (c.startsWith(".net-broadcasteventwindow"))
|
|
106
|
+
return true;
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* 0.1.96 — process names of IDEs / editors / terminals / shells whose
|
|
111
|
+
* window title routinely *contains* an unrelated app name (e.g. the file
|
|
112
|
+
* being edited is "<x> - <App> - Cursor"). The Windows modal/identity probes
|
|
113
|
+
* must NOT adopt these as "the app" via a title-substring match — only an
|
|
114
|
+
* exact process-name match counts for them. Lowercased, whitespace-stripped.
|
|
115
|
+
*/
|
|
116
|
+
export const NON_APP_SHELL_PROCESS_NAMES = [
|
|
117
|
+
"cursor",
|
|
118
|
+
"code",
|
|
119
|
+
"code-insiders",
|
|
120
|
+
"codium",
|
|
121
|
+
"vscodium",
|
|
122
|
+
"devenv",
|
|
123
|
+
"rider64",
|
|
124
|
+
"idea64",
|
|
125
|
+
"pycharm64",
|
|
126
|
+
"webstorm64",
|
|
127
|
+
"goland64",
|
|
128
|
+
"clion64",
|
|
129
|
+
"studio64",
|
|
130
|
+
"sublime_text",
|
|
131
|
+
"notepad++",
|
|
132
|
+
"windowsterminal",
|
|
133
|
+
"wt",
|
|
134
|
+
"conhost",
|
|
135
|
+
"openconsole",
|
|
136
|
+
"powershell",
|
|
137
|
+
"pwsh",
|
|
138
|
+
"cmd",
|
|
139
|
+
"bash",
|
|
140
|
+
"wsl",
|
|
141
|
+
"wslhost",
|
|
142
|
+
"conemu",
|
|
143
|
+
"conemu64",
|
|
144
|
+
"alacritty",
|
|
145
|
+
"hyper",
|
|
146
|
+
"explorer",
|
|
147
|
+
];
|
|
56
148
|
/** 0.1.54 E1 — exported so codeloop_handle_modal can reuse the same heuristic. */
|
|
57
149
|
export function classifyModalKind(name, className) {
|
|
58
150
|
const cls = (className ?? "").trim();
|
|
@@ -139,7 +231,10 @@ export function selectWindowsModal(probe, appName) {
|
|
|
139
231
|
const appPids = new Set((probe.app_pids ?? []).map((p) => Number(p)));
|
|
140
232
|
const mainHwnds = new Set((probe.app_main_hwnds ?? []).map((h) => String(h)));
|
|
141
233
|
const fgHwnd = probe.foreground_hwnd != null ? String(probe.foreground_hwnd) : null;
|
|
142
|
-
|
|
234
|
+
// 0.1.96 — drop terminal/console hosts and hidden system windows up front so
|
|
235
|
+
// an IDE-owned PseudoConsoleWindow (or any message-only helper) can never be
|
|
236
|
+
// selected as a modal, no matter how it matched the app identity.
|
|
237
|
+
const wins = (probe.windows ?? []).filter((w) => !isNonDialogWindowClass(w.class_name));
|
|
143
238
|
const nm = (w) => w.name ?? "";
|
|
144
239
|
const cls = (w) => (w.class_name ?? "").trim();
|
|
145
240
|
const matchesAppFilter = (name) => {
|
|
@@ -336,10 +431,14 @@ async function detectWindowsModal(opts) {
|
|
|
336
431
|
"}",
|
|
337
432
|
`$appTarget = '${psLiteral}'`,
|
|
338
433
|
"$appNorm = ($appTarget -replace '\\s','').ToLowerInvariant()",
|
|
434
|
+
// 0.1.96 — IDE/editor/terminal shells whose window TITLE routinely embeds
|
|
435
|
+
// an unrelated app name ("<file> - <App> - Cursor"). Only an EXACT
|
|
436
|
+
// process-name match adopts these as the app; never a title substring.
|
|
437
|
+
`$shellNames = @(${NON_APP_SHELL_PROCESS_NAMES.map((n) => `'${n}'`).join(",")})`,
|
|
339
438
|
"$appPids = @()",
|
|
340
439
|
"$appMain = @()",
|
|
341
440
|
"if ($appNorm.Length -gt 0) {",
|
|
342
|
-
" $apps = Get-Process | Where-Object { $_.MainWindowHandle -ne 0 -and ( (($_.ProcessName -replace '\\s','').ToLowerInvariant() -eq $appNorm) -or ($_.MainWindowTitle -and ((($_.MainWindowTitle -replace '\\s','').ToLowerInvariant()).Contains($appNorm))) ) }",
|
|
441
|
+
" $apps = Get-Process | Where-Object { $_.MainWindowHandle -ne 0 -and ( (($_.ProcessName -replace '\\s','').ToLowerInvariant() -eq $appNorm) -or ($_.MainWindowTitle -and ((($_.MainWindowTitle -replace '\\s','').ToLowerInvariant()).Contains($appNorm)) -and (-not ($shellNames -contains ($_.ProcessName.ToLowerInvariant())))) ) }",
|
|
343
442
|
" $appPids = @($apps | Select-Object -ExpandProperty Id)",
|
|
344
443
|
" $appMain = @($apps | ForEach-Object { [int64]$_.MainWindowHandle })",
|
|
345
444
|
"}",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal_detector.js","sourceRoot":"","sources":["../../src/runners/modal_detector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"modal_detector.js","sourceRoot":"","sources":["../../src/runners/modal_detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uia_resolver.d.ts","sourceRoot":"","sources":["../../src/runners/uia_resolver.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,6DAA6D;IAC7D,OAAO,CAAC,EAAE,cAAc,GAAG,YAAY,GAAG,eAAe,GAAG,aAAa,CAAC;IAC1E,gEAAgE;IAChE,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"uia_resolver.d.ts","sourceRoot":"","sources":["../../src/runners/uia_resolver.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,6DAA6D;IAC7D,OAAO,CAAC,EAAE,cAAc,GAAG,YAAY,GAAG,eAAe,GAAG,aAAa,CAAC;IAC1E,gEAAgE;IAChE,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmN5F;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAQzE"}
|
|
@@ -41,8 +41,40 @@ Add-Type -AssemblyName UIAutomationClient
|
|
|
41
41
|
Add-Type -AssemblyName UIAutomationTypes
|
|
42
42
|
|
|
43
43
|
$root = [System.Windows.Automation.AutomationElement]::RootElement
|
|
44
|
+
$clNorm = ('${psApp}' -replace '\\s','').ToLowerInvariant()
|
|
45
|
+
$app = $null
|
|
46
|
+
|
|
47
|
+
# 1. exact Name match (fast path — unchanged 0.1.50 contract).
|
|
44
48
|
$appCondition = New-Object System.Windows.Automation.PropertyCondition([System.Windows.Automation.AutomationElement]::NameProperty, '${psApp}')
|
|
45
49
|
$app = $root.FindFirst([System.Windows.Automation.TreeScope]::Children, $appCondition)
|
|
50
|
+
|
|
51
|
+
# 2. 0.1.96 — whitespace-insensitive equals / starts-with across top-level
|
|
52
|
+
# windows. WPF titles rarely equal app_name exactly (E2E #14: the window
|
|
53
|
+
# was "Photometry Data Manager …" while app_name was "Photometry DB"). We
|
|
54
|
+
# use equals/starts-with (NOT contains) so an editor tab titled
|
|
55
|
+
# "<file> - <App> - Cursor" can never be mistaken for the app window.
|
|
56
|
+
if (-not $app -and $clNorm.Length -gt 0) {
|
|
57
|
+
try {
|
|
58
|
+
$children = $root.FindAll([System.Windows.Automation.TreeScope]::Children, [System.Windows.Automation.Condition]::TrueCondition)
|
|
59
|
+
foreach ($w in $children) {
|
|
60
|
+
try {
|
|
61
|
+
$wn = ($w.Current.Name -replace '\\s','').ToLowerInvariant()
|
|
62
|
+
if ($wn -and ($wn -eq $clNorm -or $wn.StartsWith($clNorm))) { $app = $w; break }
|
|
63
|
+
} catch {}
|
|
64
|
+
}
|
|
65
|
+
} catch {}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
# 3. 0.1.96 — owning-process fallback by EXACT process name. Resolves the app
|
|
69
|
+
# window from its MainWindowHandle when the title doesn't embed app_name at
|
|
70
|
+
# all. Exact process-name match only, so shells/IDEs are never adopted.
|
|
71
|
+
if (-not $app -and $clNorm.Length -gt 0) {
|
|
72
|
+
try {
|
|
73
|
+
$proc = Get-Process | Where-Object { $_.MainWindowHandle -ne 0 -and ((($_.ProcessName -replace '\\s','').ToLowerInvariant()) -eq $clNorm) } | Select-Object -First 1
|
|
74
|
+
if ($proc) { $app = [System.Windows.Automation.AutomationElement]::FromHandle([IntPtr]$proc.MainWindowHandle) }
|
|
75
|
+
} catch {}
|
|
76
|
+
}
|
|
77
|
+
|
|
46
78
|
if (-not $app) {
|
|
47
79
|
Write-Output (ConvertTo-Json @{ found = $false; reason = 'app-not-found' } -Compress)
|
|
48
80
|
exit 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uia_resolver.js","sourceRoot":"","sources":["../../src/runners/uia_resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AA8C3D;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAuB;IAC/D,IAAI,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC9C,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QAC9C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACnD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAC5D,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACjD,CAAC;IAED,8DAA8D;IAC9D,mDAAmD;IACnD,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1C,MAAM,MAAM,GAAG;;;;;;
|
|
1
|
+
{"version":3,"file":"uia_resolver.js","sourceRoot":"","sources":["../../src/runners/uia_resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -191,6 +191,29 @@ export declare function normalizeKeyName(keyName: string): string;
|
|
|
191
191
|
export declare function getAvailableKeyNames(): string[];
|
|
192
192
|
export declare function sendKeyByName(keyName: string): Promise<boolean>;
|
|
193
193
|
export declare function typeText(text: string): Promise<boolean>;
|
|
194
|
+
/**
|
|
195
|
+
* 0.1.96 — pure Windows wheel encoding (unit-testable without a Win32 host).
|
|
196
|
+
*
|
|
197
|
+
* Photometry-DB Windows E2E (#14): the agent could never reach the saved-
|
|
198
|
+
* configs DataGrid because `scrollAtPosition` injected wheel motion via
|
|
199
|
+
* `mouse_event(MOUSEEVENTF_WHEEL)` — which a WPF `ScrollViewer` routinely
|
|
200
|
+
* IGNORES (the synthetic wheel is delivered to the foreground/focused window,
|
|
201
|
+
* and WPF only scrolls the control under a real hover). Every scroll returned
|
|
202
|
+
* success:true while the page never moved, so the journey stalled.
|
|
203
|
+
*
|
|
204
|
+
* The reliable fix is to PostMessage `WM_MOUSEWHEEL` / `WM_MOUSEHWHEEL`
|
|
205
|
+
* directly to the window under the point: WPF's HwndSource window proc
|
|
206
|
+
* hit-tests the lParam point and routes the wheel to the ScrollViewer there.
|
|
207
|
+
* This helper computes the message id and the signed per-notch delta; the
|
|
208
|
+
* sign convention matches Win32 (positive = up / right, negative = down /
|
|
209
|
+
* left), and GET_WHEEL_DELTA_WPARAM reads it back as a signed short from the
|
|
210
|
+
* HIWORD of wParam.
|
|
211
|
+
*/
|
|
212
|
+
export declare function buildWindowsWheelParams(direction: "up" | "down" | "left" | "right", amount: number): {
|
|
213
|
+
msg: number;
|
|
214
|
+
delta: number;
|
|
215
|
+
notches: number;
|
|
216
|
+
};
|
|
194
217
|
export declare function scrollAtPosition(x: number, y: number, direction: "up" | "down" | "left" | "right", amount?: number): Promise<boolean>;
|
|
195
218
|
export declare function doubleClickAtPosition(x: number, y: number): Promise<boolean>;
|
|
196
219
|
export declare function rightClickAtPosition(x: number, y: number): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window_manager.d.ts","sourceRoot":"","sources":["../../src/runners/window_manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"window_manager.d.ts","sourceRoot":"","sources":["../../src/runners/window_manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1149,6 +1149,38 @@ export async function typeText(text) {
|
|
|
1149
1149
|
}
|
|
1150
1150
|
return false;
|
|
1151
1151
|
}
|
|
1152
|
+
/**
|
|
1153
|
+
* 0.1.96 — pure Windows wheel encoding (unit-testable without a Win32 host).
|
|
1154
|
+
*
|
|
1155
|
+
* Photometry-DB Windows E2E (#14): the agent could never reach the saved-
|
|
1156
|
+
* configs DataGrid because `scrollAtPosition` injected wheel motion via
|
|
1157
|
+
* `mouse_event(MOUSEEVENTF_WHEEL)` — which a WPF `ScrollViewer` routinely
|
|
1158
|
+
* IGNORES (the synthetic wheel is delivered to the foreground/focused window,
|
|
1159
|
+
* and WPF only scrolls the control under a real hover). Every scroll returned
|
|
1160
|
+
* success:true while the page never moved, so the journey stalled.
|
|
1161
|
+
*
|
|
1162
|
+
* The reliable fix is to PostMessage `WM_MOUSEWHEEL` / `WM_MOUSEHWHEEL`
|
|
1163
|
+
* directly to the window under the point: WPF's HwndSource window proc
|
|
1164
|
+
* hit-tests the lParam point and routes the wheel to the ScrollViewer there.
|
|
1165
|
+
* This helper computes the message id and the signed per-notch delta; the
|
|
1166
|
+
* sign convention matches Win32 (positive = up / right, negative = down /
|
|
1167
|
+
* left), and GET_WHEEL_DELTA_WPARAM reads it back as a signed short from the
|
|
1168
|
+
* HIWORD of wParam.
|
|
1169
|
+
*/
|
|
1170
|
+
export function buildWindowsWheelParams(direction, amount) {
|
|
1171
|
+
const horizontal = direction === "left" || direction === "right";
|
|
1172
|
+
const WM_MOUSEWHEEL = 0x020a;
|
|
1173
|
+
const WM_MOUSEHWHEEL = 0x020e;
|
|
1174
|
+
// WHEEL_DELTA (120) per notch. Vertical: up positive, down negative.
|
|
1175
|
+
// Horizontal (Win32 convention): right positive, left negative.
|
|
1176
|
+
const delta = direction === "up" || direction === "right"
|
|
1177
|
+
? 120
|
|
1178
|
+
: direction === "down" || direction === "left"
|
|
1179
|
+
? -120
|
|
1180
|
+
: 0;
|
|
1181
|
+
const notches = Math.max(1, Math.min(60, Math.round(amount || 1)));
|
|
1182
|
+
return { msg: horizontal ? WM_MOUSEHWHEEL : WM_MOUSEWHEEL, delta, notches };
|
|
1183
|
+
}
|
|
1152
1184
|
export async function scrollAtPosition(x, y, direction, amount = 3) {
|
|
1153
1185
|
const os = platform();
|
|
1154
1186
|
if (os === "darwin") {
|
|
@@ -1187,18 +1219,49 @@ export async function scrollAtPosition(x, y, direction, amount = 3) {
|
|
|
1187
1219
|
return true;
|
|
1188
1220
|
}
|
|
1189
1221
|
else if (os === "win32") {
|
|
1190
|
-
|
|
1222
|
+
// 0.1.96 — WM_MOUSEWHEEL via PostMessage to the window under the point.
|
|
1223
|
+
// WPF ScrollViewers ignore mouse_event-injected wheels (see
|
|
1224
|
+
// buildWindowsWheelParams); posting the message lets WPF's HwndSource
|
|
1225
|
+
// hit-test the point and scroll the right control. mouse_event remains a
|
|
1226
|
+
// fallback for the (rare) case where no HWND resolves under the point.
|
|
1227
|
+
const { msg, delta, notches } = buildWindowsWheelParams(direction, amount);
|
|
1228
|
+
// mouse_event's dwData is a uint reinterpreted as a signed wheel delta;
|
|
1229
|
+
// encode as unsigned 32-bit so PowerShell's [uint32] cast accepts the
|
|
1230
|
+
// negative (down/left) case instead of throwing.
|
|
1231
|
+
const legacyWheelU32 = (delta * notches) >>> 0;
|
|
1191
1232
|
const script = `
|
|
1192
1233
|
Add-Type @"
|
|
1193
1234
|
using System;using System.Runtime.InteropServices;
|
|
1194
1235
|
public class Win32Scroll {
|
|
1236
|
+
[StructLayout(LayoutKind.Sequential)] public struct POINT { public int X; public int Y; }
|
|
1195
1237
|
[DllImport("user32.dll")] public static extern bool SetCursorPos(int X, int Y);
|
|
1238
|
+
[DllImport("user32.dll")] public static extern IntPtr WindowFromPoint(POINT p);
|
|
1239
|
+
[DllImport("user32.dll")] public static extern IntPtr GetAncestor(IntPtr h, uint flags);
|
|
1240
|
+
[DllImport("user32.dll")] public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
|
|
1196
1241
|
[DllImport("user32.dll")] public static extern void mouse_event(uint dwFlags, int dx, int dy, uint dwData, UIntPtr dwExtraInfo);
|
|
1242
|
+
public static IntPtr RootUnder(int x, int y) {
|
|
1243
|
+
POINT p; p.X = x; p.Y = y;
|
|
1244
|
+
IntPtr h = WindowFromPoint(p);
|
|
1245
|
+
if (h == IntPtr.Zero) return IntPtr.Zero;
|
|
1246
|
+
IntPtr root = GetAncestor(h, 2u); // GA_ROOT
|
|
1247
|
+
return root == IntPtr.Zero ? h : root;
|
|
1248
|
+
}
|
|
1197
1249
|
}
|
|
1198
1250
|
"@
|
|
1199
1251
|
[Win32Scroll]::SetCursorPos(${x}, ${y})
|
|
1200
|
-
Start-Sleep -Milliseconds
|
|
1201
|
-
[Win32Scroll]::
|
|
1252
|
+
Start-Sleep -Milliseconds 40
|
|
1253
|
+
$h = [Win32Scroll]::RootUnder(${x}, ${y})
|
|
1254
|
+
$lp = [IntPtr](([int64]${y} -shl 16) -bor (${x} -band 0xFFFF))
|
|
1255
|
+
if ($h -ne [IntPtr]::Zero) {
|
|
1256
|
+
for ($i = 0; $i -lt ${notches}; $i++) {
|
|
1257
|
+
$wp = [IntPtr]([int64]${delta} -shl 16)
|
|
1258
|
+
[void][Win32Scroll]::SendMessage($h, [uint32]${msg}, $wp, $lp)
|
|
1259
|
+
Start-Sleep -Milliseconds 30
|
|
1260
|
+
}
|
|
1261
|
+
} else {
|
|
1262
|
+
[Win32Scroll]::mouse_event(0x0800, 0, 0, [uint32]${legacyWheelU32}, [UIntPtr]::Zero)
|
|
1263
|
+
}
|
|
1264
|
+
Write-Output "ok"`;
|
|
1202
1265
|
const result = await runCommand("powershell", ["-NoProfile", "-Command", script], process.cwd());
|
|
1203
1266
|
return result.exit_code === 0;
|
|
1204
1267
|
}
|