codeloop-mcp-server 0.1.91 → 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/README.md +30 -0
- 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/evidence/change_coverage.d.ts +41 -0
- package/dist/evidence/change_coverage.d.ts.map +1 -1
- package/dist/evidence/change_coverage.js +69 -2
- package/dist/evidence/change_coverage.js.map +1 -1
- package/dist/evidence/interaction_evidence.d.ts +38 -0
- package/dist/evidence/interaction_evidence.d.ts.map +1 -1
- package/dist/evidence/interaction_evidence.js +60 -0
- package/dist/evidence/interaction_evidence.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +80 -5
- package/dist/index.js.map +1 -1
- package/dist/runners/android_sdk.d.ts +50 -0
- package/dist/runners/android_sdk.d.ts.map +1 -0
- package/dist/runners/android_sdk.js +123 -0
- package/dist/runners/android_sdk.js.map +1 -0
- package/dist/runners/app_launcher.d.ts +22 -0
- package/dist/runners/app_launcher.d.ts.map +1 -1
- package/dist/runners/app_launcher.js +70 -18
- package/dist/runners/app_launcher.js.map +1 -1
- package/dist/runners/device_probe.d.ts.map +1 -1
- package/dist/runners/device_probe.js +5 -2
- package/dist/runners/device_probe.js.map +1 -1
- package/dist/runners/interaction_engine.js +7 -0
- package/dist/runners/interaction_engine.js.map +1 -1
- package/dist/runners/journey_to_maestro.d.ts +27 -0
- package/dist/runners/journey_to_maestro.d.ts.map +1 -1
- package/dist/runners/journey_to_maestro.js +54 -0
- package/dist/runners/journey_to_maestro.js.map +1 -1
- package/dist/runners/logging_readiness.d.ts.map +1 -1
- package/dist/runners/logging_readiness.js +38 -7
- package/dist/runners/logging_readiness.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/screenshot.d.ts.map +1 -1
- package/dist/runners/screenshot.js +10 -1
- package/dist/runners/screenshot.js.map +1 -1
- package/dist/runners/semantics_audit.d.ts +32 -0
- package/dist/runners/semantics_audit.d.ts.map +1 -0
- package/dist/runners/semantics_audit.js +140 -0
- package/dist/runners/semantics_audit.js.map +1 -0
- 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/video_recorder.d.ts.map +1 -1
- package/dist/runners/video_recorder.js +25 -6
- package/dist/runners/video_recorder.js.map +1 -1
- package/dist/runners/wayland.d.ts +32 -0
- package/dist/runners/wayland.d.ts.map +1 -0
- package/dist/runners/wayland.js +49 -0
- package/dist/runners/wayland.js.map +1 -0
- 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/dist/tools/discover_interactions.d.ts.map +1 -1
- package/dist/tools/discover_interactions.js +5 -1
- package/dist/tools/discover_interactions.js.map +1 -1
- package/dist/tools/gate_check.d.ts.map +1 -1
- package/dist/tools/gate_check.js +16 -2
- package/dist/tools/gate_check.js.map +1 -1
- package/dist/tools/plan_change_journey.d.ts.map +1 -1
- package/dist/tools/plan_change_journey.js +15 -2
- package/dist/tools/plan_change_journey.js.map +1 -1
- package/dist/tools/plan_user_journey.d.ts.map +1 -1
- package/dist/tools/plan_user_journey.js +5 -2
- package/dist/tools/plan_user_journey.js.map +1 -1
- package/dist/tools/run_journey.d.ts +64 -0
- package/dist/tools/run_journey.d.ts.map +1 -1
- package/dist/tools/run_journey.js +135 -6
- package/dist/tools/run_journey.js.map +1 -1
- package/dist/tools/verify.d.ts.map +1 -1
- package/dist/tools/verify.js +55 -11
- package/dist/tools/verify.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/runners/screenshot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/runners/screenshot.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,MAAiB,EACxB,OAAO,CAAC,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAsC3B;AAwWD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAMrD"}
|
|
@@ -2,6 +2,7 @@ import { existsSync, readdirSync, mkdirSync } from "fs";
|
|
|
2
2
|
import { join } from "path";
|
|
3
3
|
import { platform } from "os";
|
|
4
4
|
import { runCommand, checkToolAvailable } from "./base.js";
|
|
5
|
+
import { waylandDirective } from "./wayland.js";
|
|
5
6
|
import { findWindowId, bringAppToFront, restorePreviousApp, buildWindowsProcessLookup, } from "./window_manager.js";
|
|
6
7
|
/**
|
|
7
8
|
* Capture a screenshot. If appName is provided, brings the app to front,
|
|
@@ -51,7 +52,8 @@ export async function captureScreenshot(outputDir, label = "screen", appName, ta
|
|
|
51
52
|
}
|
|
52
53
|
async function captureAndroidEmulator(outputPath, device) {
|
|
53
54
|
if (!(await checkToolAvailable("adb"))) {
|
|
54
|
-
|
|
55
|
+
const { ensureAndroidToolsOnPath, describeAndroidSdkResolution } = await import("./android_sdk.js");
|
|
56
|
+
return { captured: false, paths: [], method: "adb", error: describeAndroidSdkResolution(ensureAndroidToolsOnPath()) };
|
|
55
57
|
}
|
|
56
58
|
const sel = device ? ["-s", device] : [];
|
|
57
59
|
const result = await runCommand("adb", [...sel, "exec-out", "screencap", "-p"], process.cwd());
|
|
@@ -278,6 +280,13 @@ $graphics.Dispose(); $bitmap.Dispose()
|
|
|
278
280
|
};
|
|
279
281
|
}
|
|
280
282
|
async function captureLinux(outputPath, appName, options = {}) {
|
|
283
|
+
// Wayland-only sessions: import/scrot/gnome-screenshot all target X11.
|
|
284
|
+
// Return the structured remediation directive instead of letting each
|
|
285
|
+
// tool fail with "Cannot open display".
|
|
286
|
+
const wayland = waylandDirective();
|
|
287
|
+
if (wayland) {
|
|
288
|
+
return { captured: false, paths: [], method: "wayland", error: wayland };
|
|
289
|
+
}
|
|
281
290
|
// Defend in depth: refuse the silent root-window path on Linux too
|
|
282
291
|
// when desktop-app mode is asserted and no app name is available.
|
|
283
292
|
if (!appName && options.desktopAppMode) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/runners/screenshot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/runners/screenshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 0.1.92 — P1.4 Flutter semantics audit.
|
|
3
|
+
*
|
|
4
|
+
* Maestro (and every label-based driver, and every screen reader) matches
|
|
5
|
+
* VISIBLE TEXT or accessibility labels. A Flutter UI built from icon-only
|
|
6
|
+
* buttons and bare gesture regions is invisible to all of them: journeys
|
|
7
|
+
* degrade to coordinate guessing and a11y users get nothing. This audit flags
|
|
8
|
+
* interactive widgets that carry NO label source — no child `Text(...)`, no
|
|
9
|
+
* `tooltip:`, no `semanticLabel:`, no wrapping `Semantics(`/`Tooltip(` — as a
|
|
10
|
+
* NON-BLOCKING polish note (file:line per finding) so the agent can add labels
|
|
11
|
+
* at the source. Pure regex/window heuristics like the other scanners: cheap,
|
|
12
|
+
* bounded, zero LLM tokens, and conservative (when in doubt, don't flag).
|
|
13
|
+
*/
|
|
14
|
+
export interface SemanticsFinding {
|
|
15
|
+
source_file: string;
|
|
16
|
+
line: number;
|
|
17
|
+
widget: string;
|
|
18
|
+
reason: string;
|
|
19
|
+
}
|
|
20
|
+
export interface SemanticsAuditResult {
|
|
21
|
+
/** False when the project has no Flutter source to audit. */
|
|
22
|
+
applicable: boolean;
|
|
23
|
+
scanned_files: number;
|
|
24
|
+
findings: SemanticsFinding[];
|
|
25
|
+
summary: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Audit a Flutter project's lib/ for unlabeled interactive widgets.
|
|
29
|
+
* Non-Flutter projects (no pubspec.yaml) return applicable:false.
|
|
30
|
+
*/
|
|
31
|
+
export declare function auditFlutterSemantics(cwd: string): SemanticsAuditResult;
|
|
32
|
+
//# sourceMappingURL=semantics_audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantics_audit.d.ts","sourceRoot":"","sources":["../../src/runners/semantics_audit.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB;AA0GD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAkBvE"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { existsSync, readFileSync, readdirSync, statSync } from "fs";
|
|
2
|
+
import { join, relative } from "path";
|
|
3
|
+
const SKIP_DIRS = new Set([
|
|
4
|
+
"node_modules", ".git", "build", ".dart_tool", ".codeloop", "artifacts",
|
|
5
|
+
"ios", "android", "macos", "windows", "linux", "web", "test", ".idea",
|
|
6
|
+
]);
|
|
7
|
+
const MAX_FILES = 400;
|
|
8
|
+
const WINDOW_CAP = 700;
|
|
9
|
+
const LOOKBACK = 200;
|
|
10
|
+
/**
|
|
11
|
+
* The widget's OWN argument span: from its opening paren to the balanced
|
|
12
|
+
* closing paren (capped). A fixed-width window would leak the NEXT widget's
|
|
13
|
+
* Text(...) into this widget's label check and silence real findings.
|
|
14
|
+
*/
|
|
15
|
+
function argSpan(content, openParenIdx) {
|
|
16
|
+
let depth = 0;
|
|
17
|
+
const end = Math.min(content.length, openParenIdx + WINDOW_CAP);
|
|
18
|
+
for (let i = openParenIdx; i < end; i++) {
|
|
19
|
+
const c = content[i];
|
|
20
|
+
if (c === "(")
|
|
21
|
+
depth++;
|
|
22
|
+
else if (c === ")") {
|
|
23
|
+
depth--;
|
|
24
|
+
if (depth === 0)
|
|
25
|
+
return content.substring(openParenIdx, i + 1);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return content.substring(openParenIdx, end);
|
|
29
|
+
}
|
|
30
|
+
function collectDartFiles(dir, depth, out) {
|
|
31
|
+
if (out.length >= MAX_FILES || depth > 8)
|
|
32
|
+
return;
|
|
33
|
+
let entries;
|
|
34
|
+
try {
|
|
35
|
+
entries = readdirSync(dir);
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
for (const e of entries) {
|
|
41
|
+
if (out.length >= MAX_FILES)
|
|
42
|
+
return;
|
|
43
|
+
if (SKIP_DIRS.has(e) || e.startsWith("."))
|
|
44
|
+
continue;
|
|
45
|
+
const full = join(dir, e);
|
|
46
|
+
let st;
|
|
47
|
+
try {
|
|
48
|
+
st = statSync(full);
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
if (st.isDirectory())
|
|
54
|
+
collectDartFiles(full, depth + 1, out);
|
|
55
|
+
else if (st.isFile() && e.endsWith(".dart") && !e.endsWith("_test.dart"))
|
|
56
|
+
out.push(full);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function lineOf(content, index) {
|
|
60
|
+
return content.slice(0, index).split("\n").length;
|
|
61
|
+
}
|
|
62
|
+
/** Any label source inside the widget's argument window? */
|
|
63
|
+
function hasLabelInWindow(window) {
|
|
64
|
+
return (/\bText\s*\(/.test(window) ||
|
|
65
|
+
/\btooltip\s*:/.test(window) ||
|
|
66
|
+
/\bsemanticLabel\s*:/.test(window) ||
|
|
67
|
+
/\bsemanticsLabel\s*:/.test(window) ||
|
|
68
|
+
/\blabel\s*:/.test(window) ||
|
|
69
|
+
/\bSemantics\s*\(/.test(window));
|
|
70
|
+
}
|
|
71
|
+
/** Wrapped in Semantics(/Tooltip(/MergeSemantics( just above the widget? */
|
|
72
|
+
function hasLabelWrapper(lookback) {
|
|
73
|
+
return /\b(Semantics|Tooltip|MergeSemantics)\s*\(\s*$|\b(Semantics|Tooltip|MergeSemantics)\s*\([^)]*$/.test(lookback);
|
|
74
|
+
}
|
|
75
|
+
function auditFile(file, cwd, findings) {
|
|
76
|
+
let content;
|
|
77
|
+
try {
|
|
78
|
+
content = readFileSync(file, "utf-8");
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const rel = relative(cwd, file);
|
|
84
|
+
const flag = (idx, widget, reason) => {
|
|
85
|
+
findings.push({ source_file: rel, line: lineOf(content, idx), widget, reason });
|
|
86
|
+
};
|
|
87
|
+
// Balanced span of the widget's own arguments (the regexes end on `\(`).
|
|
88
|
+
const spanFor = (m) => argSpan(content, (m.index ?? 0) + m[0].length - 1);
|
|
89
|
+
const lookbackAt = (idx) => content.substring(Math.max(0, idx - LOOKBACK), idx);
|
|
90
|
+
// Icon-only controls: IconButton / FloatingActionButton (the .extended
|
|
91
|
+
// constructor has a label: slot, which hasLabelInWindow already accepts).
|
|
92
|
+
for (const m of content.matchAll(/\b(IconButton|FloatingActionButton)\s*(?:\.\w+\s*)?\(/g)) {
|
|
93
|
+
const idx = m.index ?? 0;
|
|
94
|
+
if (hasLabelInWindow(spanFor(m)) || hasLabelWrapper(lookbackAt(idx)))
|
|
95
|
+
continue;
|
|
96
|
+
flag(idx, m[1], "icon-only control without tooltip:/semanticLabel:/Semantics wrapper");
|
|
97
|
+
}
|
|
98
|
+
// Button family: child is usually Text(...), but icon-only children slip
|
|
99
|
+
// through (e.g. TextButton(child: Icon(...))).
|
|
100
|
+
for (const m of content.matchAll(/\b(ElevatedButton|TextButton|OutlinedButton|FilledButton|CupertinoButton)\s*(?:\.\w+\s*)?\(/g)) {
|
|
101
|
+
const idx = m.index ?? 0;
|
|
102
|
+
if (hasLabelInWindow(spanFor(m)) || hasLabelWrapper(lookbackAt(idx)))
|
|
103
|
+
continue;
|
|
104
|
+
flag(idx, m[1], "button without child Text/label:/tooltip — not matchable by visible text");
|
|
105
|
+
}
|
|
106
|
+
// Bare tap regions: only flagged when they actually handle taps AND render
|
|
107
|
+
// no text in their own argument span.
|
|
108
|
+
for (const m of content.matchAll(/\b(GestureDetector|InkWell)\s*\(/g)) {
|
|
109
|
+
const idx = m.index ?? 0;
|
|
110
|
+
const span = spanFor(m);
|
|
111
|
+
if (!/\bonTap\s*:/.test(span))
|
|
112
|
+
continue;
|
|
113
|
+
if (hasLabelInWindow(span) || hasLabelWrapper(lookbackAt(idx)))
|
|
114
|
+
continue;
|
|
115
|
+
flag(idx, m[1], "tappable region with onTap: but no Text/Semantics in its subtree window");
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Audit a Flutter project's lib/ for unlabeled interactive widgets.
|
|
120
|
+
* Non-Flutter projects (no pubspec.yaml) return applicable:false.
|
|
121
|
+
*/
|
|
122
|
+
export function auditFlutterSemantics(cwd) {
|
|
123
|
+
if (!existsSync(join(cwd, "pubspec.yaml"))) {
|
|
124
|
+
return { applicable: false, scanned_files: 0, findings: [], summary: "Not a Flutter project (no pubspec.yaml)." };
|
|
125
|
+
}
|
|
126
|
+
const files = [];
|
|
127
|
+
const libDir = join(cwd, "lib");
|
|
128
|
+
if (existsSync(libDir))
|
|
129
|
+
collectDartFiles(libDir, 0, files);
|
|
130
|
+
else
|
|
131
|
+
collectDartFiles(cwd, 0, files);
|
|
132
|
+
const findings = [];
|
|
133
|
+
for (const f of files)
|
|
134
|
+
auditFile(f, cwd, findings);
|
|
135
|
+
const summary = findings.length === 0
|
|
136
|
+
? `Semantics audit clean: all interactive widgets in ${files.length} Dart file(s) carry a text/tooltip/Semantics label.`
|
|
137
|
+
: `${findings.length} interactive widget(s) across ${files.length} Dart file(s) have NO visible text, tooltip, or Semantics label — they are invisible to label-based driving (Maestro) and to screen readers.`;
|
|
138
|
+
return { applicable: true, scanned_files: files.length, findings, summary };
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=semantics_audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantics_audit.js","sourceRoot":"","sources":["../../src/runners/semantics_audit.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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video_recorder.d.ts","sourceRoot":"","sources":["../../src/runners/video_recorder.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"video_recorder.d.ts","sourceRoot":"","sources":["../../src/runners/video_recorder.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AA4GtD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;CACtB;AAeD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,eAAe,GAAE,MAAW,EAC5B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAoCpD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,kBAAkB,GAAE,MAAY,EAChC,UAAU,GAAE,UAAsB,EAClC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,yBAAyB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAgOxD;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAsFpD;AAED,6CAA6C;AAC7C,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAE/C;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,GAAG,IAAI,CAKzD;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,GAAG,IAAI,CAK5D;AAED,qEAAqE;AACrE,wBAAgB,wBAAwB,IAAI,MAAM,GAAG,IAAI,CAKxD;AAED,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAEhD;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG5E"}
|
|
@@ -5,6 +5,7 @@ import { spawn, execFile } from "child_process";
|
|
|
5
5
|
import { runCommand, checkToolAvailable } from "./base.js";
|
|
6
6
|
import { findWindowId, bringAppToFront, restorePreviousApp, getWindowBounds, checkDependency } from "./window_manager.js";
|
|
7
7
|
import { startLogCapture, stopLogCapture } from "./app_logger.js";
|
|
8
|
+
import { waylandDirective, x11Display } from "./wayland.js";
|
|
8
9
|
/**
|
|
9
10
|
* Parse all macOS avfoundation screen capture device indices.
|
|
10
11
|
* Returns a map of screen index → ffmpeg device index, e.g. { 0: "4", 1: "5" }.
|
|
@@ -250,7 +251,12 @@ export async function startBackgroundRecording(outputDir, appName, maxDurationSe
|
|
|
250
251
|
"-i", `${screenMatch.deviceIndex}:none`,
|
|
251
252
|
];
|
|
252
253
|
if (bounds && bounds.width > 0 && bounds.height > 0) {
|
|
253
|
-
|
|
254
|
+
// avfoundation captures PHYSICAL pixels while CGWindowList bounds
|
|
255
|
+
// are logical pts. Use the display's real backingScaleFactor
|
|
256
|
+
// (emitted by getWindowBoundsMacOS) instead of assuming Retina-2x —
|
|
257
|
+
// external 1x monitors and future 3x panels crop wrong otherwise.
|
|
258
|
+
const backing = bounds._backing_scale;
|
|
259
|
+
const scale = backing && backing > 0 ? backing : 2;
|
|
254
260
|
const cropW = bounds.width * scale;
|
|
255
261
|
const cropH = bounds.height * scale;
|
|
256
262
|
// Crop coordinates must be relative to the captured screen's origin,
|
|
@@ -301,15 +307,23 @@ export async function startBackgroundRecording(outputDir, appName, maxDurationSe
|
|
|
301
307
|
}
|
|
302
308
|
}
|
|
303
309
|
else {
|
|
310
|
+
// Wayland-only sessions can't be captured by x11grab — degrade with the
|
|
311
|
+
// structured remediation directive instead of a cryptic ffmpeg error.
|
|
312
|
+
const wayland = waylandDirective();
|
|
313
|
+
if (wayland) {
|
|
314
|
+
await restorePreviousApp(previousApp);
|
|
315
|
+
return { error: wayland };
|
|
316
|
+
}
|
|
304
317
|
// x11grab has the same BGRA pixel-format issue as gdigrab — encode to
|
|
305
318
|
// h264/yuv420p so downstream tools (interaction_replay, players) can
|
|
306
|
-
// decode the MP4 portably.
|
|
319
|
+
// decode the MP4 portably. Honour $DISPLAY for Xvfb / nested-X setups.
|
|
320
|
+
const display = x11Display();
|
|
307
321
|
const bounds = await getWindowBounds(appName);
|
|
308
322
|
if (bounds && bounds.width > 0 && bounds.height > 0) {
|
|
309
323
|
child = spawn("ffmpeg", [
|
|
310
324
|
"-f", "x11grab", "-framerate", "10",
|
|
311
325
|
"-video_size", `${bounds.width}x${bounds.height}`,
|
|
312
|
-
"-i",
|
|
326
|
+
"-i", `${display}+${bounds.x},${bounds.y}`,
|
|
313
327
|
"-c:v", "libx264", "-preset", "ultrafast", "-pix_fmt", "yuv420p",
|
|
314
328
|
"-t", String(maxDurationSeconds), "-y", outputPath,
|
|
315
329
|
], { cwd: process.cwd(), stdio: "pipe", detached: false });
|
|
@@ -317,7 +331,7 @@ export async function startBackgroundRecording(outputDir, appName, maxDurationSe
|
|
|
317
331
|
else {
|
|
318
332
|
child = spawn("ffmpeg", [
|
|
319
333
|
"-f", "x11grab", "-framerate", "10", "-video_size", "1920x1080",
|
|
320
|
-
"-i",
|
|
334
|
+
"-i", display,
|
|
321
335
|
"-c:v", "libx264", "-preset", "ultrafast", "-pix_fmt", "yuv420p",
|
|
322
336
|
"-t", String(maxDurationSeconds), "-y", outputPath,
|
|
323
337
|
], { cwd: process.cwd(), stdio: "pipe", detached: false });
|
|
@@ -539,14 +553,19 @@ async function recordLinux(outputDir, durationSeconds, appName) {
|
|
|
539
553
|
const depErr = await checkDependency("ffmpeg", "video recording");
|
|
540
554
|
return { recorded: false, path: "", duration_seconds: durationSeconds, method: "ffmpeg", error: depErr || "ffmpeg not found" };
|
|
541
555
|
}
|
|
556
|
+
const wayland = waylandDirective();
|
|
557
|
+
if (wayland) {
|
|
558
|
+
return { recorded: false, path: "", duration_seconds: durationSeconds, method: "wayland", error: wayland };
|
|
559
|
+
}
|
|
542
560
|
const outputPath = join(outputDir, `recording_${Date.now()}.mp4`);
|
|
561
|
+
const display = x11Display();
|
|
543
562
|
const bounds = appName ? await getWindowBounds(appName) : null;
|
|
544
563
|
const ffmpegArgs = ["-f", "x11grab", "-framerate", "10"];
|
|
545
564
|
if (bounds && bounds.width > 0 && bounds.height > 0) {
|
|
546
|
-
ffmpegArgs.push("-video_size", `${bounds.width}x${bounds.height}`, "-i",
|
|
565
|
+
ffmpegArgs.push("-video_size", `${bounds.width}x${bounds.height}`, "-i", `${display}+${bounds.x},${bounds.y}`);
|
|
547
566
|
}
|
|
548
567
|
else {
|
|
549
|
-
ffmpegArgs.push("-video_size", "1920x1080", "-i",
|
|
568
|
+
ffmpegArgs.push("-video_size", "1920x1080", "-i", display);
|
|
550
569
|
}
|
|
551
570
|
ffmpegArgs.push("-c:v", "libx264", "-preset", "ultrafast", "-pix_fmt", "yuv420p", "-t", String(durationSeconds), "-y", outputPath);
|
|
552
571
|
const result = await runCommand("ffmpeg", ffmpegArgs, process.cwd());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video_recorder.js","sourceRoot":"","sources":["../../src/runners/video_recorder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"video_recorder.js","sourceRoot":"","sources":["../../src/runners/video_recorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAgB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE1H,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE5D;;;GAGG;AACH,KAAK,UAAU,sBAAsB;IACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE;YAC5E,OAAO,EAAE,IAAI;SACd,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC1C,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBAChE,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,oBAAoB;IACjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,6EAA6E;QAC7E,oFAAoF;QACpF,kFAAkF;QAClF,MAAM,MAAM,GAAG;;;;;;;EAOjB,CAAC;QACC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACrE,MAAM,OAAO,GAAkF,EAAE,CAAC;YAClG,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7C,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACjG,CAAC;YACH,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAQD;;;;;GAKG;AACH,KAAK,UAAU,qBAAqB,CAAC,YAA6E;IAChH,MAAM,OAAO,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAgB;QAC5B,WAAW,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC,GAAG;QACxF,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,CAAC;KACjB,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxC,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY;QAAE,OAAO,QAAQ,CAAC;IAEzD,MAAM,OAAO,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAC7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE1C,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7G,CAAC;IAED,IAAI,CAAC,YAAY;QAAE,OAAO,QAAQ,CAAC;IAEnC,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,GAAG,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAE/D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IACE,aAAa,IAAI,MAAM,CAAC,CAAC;YACzB,aAAa,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK;YACvC,aAAa,IAAI,MAAM,CAAC,CAAC;YACzB,aAAa,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EACxC,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YACnF,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAoBD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAW5B,CAAC;AAEL;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,SAAiB,EACjB,kBAA0B,EAAE,EAC5B,OAAgB;IAEhB,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IAEtB,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,OAAO,EAAE,CAAC;QACZ,WAAW,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,iDAAiD;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAE/D,IAAI,MAAyB,CAAC;IAE9B,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,mBAAmB;IACnB,IAAI,OAA2B,CAAC;IAChC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,EAAE;YAAE,OAAO,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,WAAW,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;QAC3C,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAAiB,EACjB,OAAe,EACf,qBAA6B,GAAG,EAChC,aAAyB,SAAS,EAClC,MAAe;IAEf,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IAEjD,IAAI,KAAmB,CAAC;IAExB,+CAA+C;IAC/C,IAAI,UAAU,KAAK,kBAAkB,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,kCAAkC,CAAC,CAAC;QAChF,IAAI,MAAM;YAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAErC,MAAM,UAAU,GAAG,0BAA0B,CAAC;QAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE;YACnB,GAAG,GAAG;YACN,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;YAClF,UAAU;SACX,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3D,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE;YAChC,OAAO,EAAE,KAAK;YACd,UAAU;YACV,OAAO;YACP,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,UAAU;YACV,MAAM;SACP,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAsB,CAAC,CAAC,CAAC;QAE/C,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACzF,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAI,GAAG,EAAE,CAAC;gBAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;gBAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;YAAC,CAAC;QAC5E,CAAC;QAED,OAAO;YACL,YAAY,EAAE,WAAW;YACzB,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,OAAO;YACjB,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;YACtB,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,MAAM;SACpB,CAAC;IACJ,CAAC;IAED,uDAAuD;IACvD,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;QACnC,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;YACpB,OAAO,EAAE,KAAK,EAAE,qFAAqF,EAAE,CAAC;QAC1G,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;QAC/E,IAAI,MAAM;YAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAErC,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE;YACrB,QAAQ,EAAE,IAAI,EAAE,MAAM,IAAI,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU;SAC9E,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3D,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE;YAChC,OAAO,EAAE,KAAK;YACd,UAAU;YACV,OAAO;YACP,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,UAAU;YACV,MAAM;SACP,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAsB,CAAC,CAAC,CAAC;QAE/C,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACzF,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAI,GAAG,EAAE,CAAC;gBAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;gBAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;YAAC,CAAC;QAC5E,CAAC;QAED,OAAO;YACL,YAAY,EAAE,WAAW;YACzB,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,OAAO;YACjB,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;YACtB,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,MAAM;SACpB,CAAC;IACJ,CAAC;IAED,oCAAoC;IACpC,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IAEnD,yDAAyD;IACzD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACtC,OAAO,EAAE,KAAK,EAAE,6BAA6B,OAAO,kLAAkL,EAAE,CAAC;IAC3O,CAAC;IAED,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,IAAI,MAAM,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG;gBAChE,IAAI,EAAE,GAAG,WAAW,CAAC,WAAW,OAAO;aACxC,CAAC;YACF,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpD,kEAAkE;gBAClE,6DAA6D;gBAC7D,oEAAoE;gBACpE,kEAAkE;gBAClE,MAAM,OAAO,GAAI,MAAsC,CAAC,cAAc,CAAC;gBACvE,MAAM,KAAK,GAAG,OAAO,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpC,qEAAqE;gBACrE,kEAAkE;gBAClE,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;gBAC7D,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;gBAC7D,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAC/C,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YACtD,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9F,CAAC;aAAM,CAAC;YACN,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YAClE,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,4CAA4C,EAAE,CAAC;QAC3E,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,CAAC,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAClE,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,kBAAkB,EAAE,CAAC;IACjD,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,oEAAoE;QACpE,sEAAsE;QACtE,uDAAuD;QACvD,uEAAuE;QACvE,6DAA6D;QAC7D,oEAAoE;QACpE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE;gBACtB,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI;gBACnC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC5D,aAAa,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjD,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS;gBAChE,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,UAAU;aACnD,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,SAAS,OAAO,EAAE,CAAC;YACvC,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE;gBACtB,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW;gBACtD,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS;gBAChE,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,UAAU;aACnD,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,wEAAwE;QACxE,sEAAsE;QACtE,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACtC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC5B,CAAC;QACD,sEAAsE;QACtE,qEAAqE;QACrE,uEAAuE;QACvE,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE;gBACtB,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI;gBACnC,aAAa,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjD,IAAI,EAAE,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE;gBAC1C,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS;gBAChE,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,UAAU;aACnD,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE;gBACtB,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW;gBAC/D,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS;gBAChE,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,UAAU;aACnD,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE;QAChC,OAAO,EAAE,KAAK;QACd,UAAU;QACV,OAAO;QACP,WAAW;QACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,UAAU;KACX,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,4CAA4C;IAC9C,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;IACvC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,GAAG,EAAE,CAAC;YAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;YAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QAAC,CAAC;IAC5E,CAAC;IAED,OAAO;QACL,YAAY,EAAE,WAAW;QACzB,WAAW,EAAE,UAAU;QACvB,QAAQ,EAAE,OAAO;QACjB,YAAY,EAAE,WAAW;QACzB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;QACtB,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,MAAM;KACpB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,WAAmB;IAEnB,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,EAAE;YACR,gBAAgB,EAAE,CAAC;YACnB,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,sCAAsC,WAAW,EAAE;SAC3D,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC;IAE9C,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;QACtB,IAAI,EAAE,KAAK,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACxC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC5B,OAAO,EAAE,CAAC;YACZ,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC1B,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sDAAsD;IACtD,IAAI,GAAG,CAAC,UAAU,KAAK,kBAAkB,EAAE,CAAC;QAC1C,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,0BAA0B,CAAC;QAC9C,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACrF,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,6BAA6B;IAC7B,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,OAAO;YAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACrC,CAAC;IAED,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAErC,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;QACvD,MAAM,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;QAE/C,IAAI,QAAQ,GAAG,IAAI,EAAE,CAAC;YACpB,OAAO;gBACL,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,GAAG,CAAC,UAAU;gBACpB,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC/C,MAAM,EAAE,yBAAyB,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,UAAU,GAAG;gBAClE,KAAK,EAAE,qCAAqC,QAAQ,qNAAqN;gBACzQ,QAAQ,EAAE,GAAG,CAAC,OAAO;aACtB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,UAAU;YACpB,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;YAC/C,MAAM,EAAE,yBAAyB,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,UAAU,GAAG;YAClE,QAAQ,EAAE,GAAG,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,EAAE;QACR,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;QAC/C,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE,yFAAyF,GAAG,CAAC,OAAO,yVAAyV;KACrc,CAAC;AACJ,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,oBAAoB;IAClC,OAAO,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB;IACvC,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5C,IAAI,GAAG,CAAC,OAAO;YAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B;IAC1C,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5C,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC,UAAU,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,wBAAwB;IACtC,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5C,IAAI,GAAG,CAAC,MAAM;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC;IACpC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,WAAmB;IAC3D,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9C,OAAO,GAAG,EAAE,OAAO,IAAI,IAAI,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,SAAiB,EACjB,eAAuB,EACvB,OAAgB;IAEhB,IAAI,CAAC,CAAC,MAAM,kBAAkB,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;QACjD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;IACrI,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC;IAEzD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEtB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAEtE,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,UAAU;YAChB,gBAAgB,EAAE,eAAe;YACjC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,6BAA6B,OAAO,GAAG,CAAC,CAAC,CAAC,gCAAgC;SAC7F,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,EAAE;QACR,gBAAgB,EAAE,eAAe;QACjC,MAAM,EAAE,eAAe;QACvB,KAAK,EAAE,MAAM,CAAC,MAAM,IAAI,kCAAkC,MAAM,CAAC,SAAS,EAAE;KAC7E,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,SAAiB,EACjB,eAAuB,EACvB,OAAgB;IAEhB,IAAI,CAAC,CAAC,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,wDAAwD,EAAE,CAAC;IAC7J,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7D,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,QAAQ,EACR;QACE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW;QACtD,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS;QAChE,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,UAAU;KAChD,EACD,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;IAEF,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,UAAU;YAChB,gBAAgB,EAAE,eAAe;YACjC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,2BAA2B,OAAO,GAAG,CAAC,CAAC,CAAC,0BAA0B;SACrF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,EAAE;QACR,gBAAgB,EAAE,eAAe;QACjC,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,MAAM,CAAC,MAAM,IAAI,2BAA2B,MAAM,CAAC,SAAS,EAAE;KACtE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,SAAiB,EACjB,eAAuB,EACvB,OAAgB;IAEhB,IAAI,CAAC,CAAC,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAClE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,IAAI,kBAAkB,EAAE,CAAC;IACjI,CAAC;IAED,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC7G,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAElE,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,MAAM,UAAU,GAAa,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAEnE,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,UAAU,CAAC,IAAI,CACb,aAAa,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,EACjD,IAAI,EAAE,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAC3C,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,UAAU,CAAC,IAAI,CACb,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAChE,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,UAAU,CAChD,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAErE,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,UAAU;YAChB,gBAAgB,EAAE,eAAe;YACjC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,2BAA2B,OAAO,GAAG,CAAC,CAAC,CAAC,8BAA8B;SACxF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,EAAE;QACR,gBAAgB,EAAE,eAAe;QACjC,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,MAAM,CAAC,MAAM,IAAI,2BAA2B,MAAM,CAAC,SAAS,EAAE;KACtE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wayland session detection (P2.2).
|
|
3
|
+
*
|
|
4
|
+
* CodeLoop's Linux desktop capture/input backends are X11-based today:
|
|
5
|
+
* ffmpeg x11grab (video), ImageMagick `import` / scrot (screenshots) and
|
|
6
|
+
* xdotool (clicks/keys). On a Wayland-ONLY session those tools either
|
|
7
|
+
* fail with cryptic errors ("Cannot open display") or silently capture
|
|
8
|
+
* nothing. When XWayland is available ($DISPLAY is set) the X11 tools
|
|
9
|
+
* keep working against the XWayland bridge, so we only degrade when the
|
|
10
|
+
* session is Wayland *without* an X display.
|
|
11
|
+
*
|
|
12
|
+
* Every capture/input entry point calls `waylandDirective()` first and
|
|
13
|
+
* returns the structured remediation text instead of the raw tool error.
|
|
14
|
+
*/
|
|
15
|
+
/** Human-readable remediation directive for Wayland-only sessions. */
|
|
16
|
+
export declare const WAYLAND_REMEDIATION: string;
|
|
17
|
+
/**
|
|
18
|
+
* Returns the remediation directive when the current session is
|
|
19
|
+
* Wayland-only, or null when capture/input can proceed.
|
|
20
|
+
*
|
|
21
|
+
* Detection: linux + (XDG_SESSION_TYPE=wayland OR WAYLAND_DISPLAY set)
|
|
22
|
+
* + no DISPLAY. A set DISPLAY means XWayland (or plain X11) is
|
|
23
|
+
* available, so the X11 toolchain still works.
|
|
24
|
+
*/
|
|
25
|
+
export declare function waylandDirective(env?: NodeJS.ProcessEnv, os?: string): string | null;
|
|
26
|
+
/**
|
|
27
|
+
* The X11 display string ffmpeg x11grab / xdotool should target.
|
|
28
|
+
* Honours $DISPLAY (multi-display / Xvfb / nested X setups) and falls
|
|
29
|
+
* back to the historical ":0.0" default when unset.
|
|
30
|
+
*/
|
|
31
|
+
export declare function x11Display(env?: NodeJS.ProcessEnv): string;
|
|
32
|
+
//# sourceMappingURL=wayland.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wayland.d.ts","sourceRoot":"","sources":["../../src/runners/wayland.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,sEAAsE;AACtE,eAAO,MAAM,mBAAmB,QAM4F,CAAC;AAE7H;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,EAAE,GAAE,MAAmB,GACtB,MAAM,GAAG,IAAI,CAMf;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAGvE"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wayland session detection (P2.2).
|
|
3
|
+
*
|
|
4
|
+
* CodeLoop's Linux desktop capture/input backends are X11-based today:
|
|
5
|
+
* ffmpeg x11grab (video), ImageMagick `import` / scrot (screenshots) and
|
|
6
|
+
* xdotool (clicks/keys). On a Wayland-ONLY session those tools either
|
|
7
|
+
* fail with cryptic errors ("Cannot open display") or silently capture
|
|
8
|
+
* nothing. When XWayland is available ($DISPLAY is set) the X11 tools
|
|
9
|
+
* keep working against the XWayland bridge, so we only degrade when the
|
|
10
|
+
* session is Wayland *without* an X display.
|
|
11
|
+
*
|
|
12
|
+
* Every capture/input entry point calls `waylandDirective()` first and
|
|
13
|
+
* returns the structured remediation text instead of the raw tool error.
|
|
14
|
+
*/
|
|
15
|
+
import { platform } from "os";
|
|
16
|
+
/** Human-readable remediation directive for Wayland-only sessions. */
|
|
17
|
+
export const WAYLAND_REMEDIATION = "This Linux session is Wayland-only (no X11 $DISPLAY), which CodeLoop's screen capture and input tools (ffmpeg x11grab, import/scrot, xdotool) cannot drive yet. " +
|
|
18
|
+
"Fix options, in order of preference: " +
|
|
19
|
+
"(1) log out and pick the X11/Xorg session variant on the login screen (e.g. \"Ubuntu on Xorg\"); " +
|
|
20
|
+
"(2) enable XWayland so $DISPLAY exists (most distros ship it — check that `echo $DISPLAY` prints something inside your terminal); " +
|
|
21
|
+
"(3) for headless CI, run the app under Xvfb: `xvfb-run -a <command>` and set DISPLAY accordingly. " +
|
|
22
|
+
"Native Wayland backends (grim/wf-recorder for capture, ydotool for input) are on the CodeLoop roadmap but not wired yet.";
|
|
23
|
+
/**
|
|
24
|
+
* Returns the remediation directive when the current session is
|
|
25
|
+
* Wayland-only, or null when capture/input can proceed.
|
|
26
|
+
*
|
|
27
|
+
* Detection: linux + (XDG_SESSION_TYPE=wayland OR WAYLAND_DISPLAY set)
|
|
28
|
+
* + no DISPLAY. A set DISPLAY means XWayland (or plain X11) is
|
|
29
|
+
* available, so the X11 toolchain still works.
|
|
30
|
+
*/
|
|
31
|
+
export function waylandDirective(env = process.env, os = platform()) {
|
|
32
|
+
if (os !== "linux")
|
|
33
|
+
return null;
|
|
34
|
+
if (env.DISPLAY && env.DISPLAY.trim() !== "")
|
|
35
|
+
return null;
|
|
36
|
+
const sessionType = (env.XDG_SESSION_TYPE || "").toLowerCase();
|
|
37
|
+
const isWayland = sessionType === "wayland" || Boolean(env.WAYLAND_DISPLAY);
|
|
38
|
+
return isWayland ? WAYLAND_REMEDIATION : null;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The X11 display string ffmpeg x11grab / xdotool should target.
|
|
42
|
+
* Honours $DISPLAY (multi-display / Xvfb / nested X setups) and falls
|
|
43
|
+
* back to the historical ":0.0" default when unset.
|
|
44
|
+
*/
|
|
45
|
+
export function x11Display(env = process.env) {
|
|
46
|
+
const d = (env.DISPLAY || "").trim();
|
|
47
|
+
return d !== "" ? d : ":0.0";
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=wayland.js.map
|