codeloop-mcp-server 0.1.8 → 0.1.10

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.
@@ -32,11 +32,16 @@ async function listMacOSScreenDevices() {
32
32
  */
33
33
  async function getMacOSScreenBounds() {
34
34
  return new Promise((resolve) => {
35
+ // NSScreen uses Cocoa coordinates (Y=0 at bottom of primary, increasing up).
36
+ // CGWindowListCopyWindowInfo uses Quartz coordinates (Y=0 at top, increasing down).
37
+ // Convert to Quartz so screen origins match window bounds from getWindowBounds().
35
38
  const script = `
36
39
  import AppKit
40
+ let primaryHeight = NSScreen.screens.first?.frame.height ?? 0
37
41
  for (i, screen) in NSScreen.screens.enumerated() {
38
42
  let f = screen.frame
39
- print("\\(i),\\(Int(f.origin.x)),\\(Int(f.origin.y)),\\(Int(f.width)),\\(Int(f.height))")
43
+ let quartzY = Int(primaryHeight - f.origin.y - f.height)
44
+ print("\\(i),\\(Int(f.origin.x)),\\(quartzY),\\(Int(f.width)),\\(Int(f.height))")
40
45
  }`;
41
46
  execFile("swift", ["-e", script], { timeout: 10000 }, (_err, stdout) => {
42
47
  const screens = [];
@@ -52,17 +57,30 @@ for (i, screen) in NSScreen.screens.enumerated() {
52
57
  }
53
58
  /**
54
59
  * Find the correct macOS avfoundation device index for the screen
55
- * that contains the given window bounds. Falls back to screen 0.
60
+ * that contains the given window bounds. Also returns the screen's
61
+ * origin so callers can compute crop coordinates relative to the screen
62
+ * (avfoundation captures a single screen, not the virtual desktop).
56
63
  */
57
64
  async function findMacOSScreenDevice(windowBounds) {
58
65
  const devices = await listMacOSScreenDevices();
66
+ const fallback = {
67
+ deviceIndex: devices.size > 0 ? (devices.get(0) ?? devices.values().next().value) : "1",
68
+ screenOriginX: 0,
69
+ screenOriginY: 0,
70
+ };
59
71
  if (devices.size === 0)
60
- return "1";
61
- if (devices.size === 1 || !windowBounds)
62
- return devices.values().next().value;
72
+ return fallback;
73
+ if (devices.size === 1 && !windowBounds)
74
+ return fallback;
63
75
  const screens = await getMacOSScreenBounds();
64
76
  if (screens.length === 0)
65
- return devices.get(0) ?? devices.values().next().value;
77
+ return fallback;
78
+ if (devices.size === 1 && windowBounds) {
79
+ const s = screens[0];
80
+ return { deviceIndex: devices.values().next().value, screenOriginX: s?.x ?? 0, screenOriginY: s?.y ?? 0 };
81
+ }
82
+ if (!windowBounds)
83
+ return fallback;
66
84
  const windowCenterX = windowBounds.x + windowBounds.width / 2;
67
85
  const windowCenterY = windowBounds.y + windowBounds.height / 2;
68
86
  for (const screen of screens) {
@@ -71,11 +89,12 @@ async function findMacOSScreenDevice(windowBounds) {
71
89
  windowCenterY >= screen.y &&
72
90
  windowCenterY < screen.y + screen.height) {
73
91
  const device = devices.get(screen.index);
74
- if (device)
75
- return device;
92
+ if (device) {
93
+ return { deviceIndex: device, screenOriginX: screen.x, screenOriginY: screen.y };
94
+ }
76
95
  }
77
96
  }
78
- return devices.get(0) ?? devices.values().next().value;
97
+ return fallback;
79
98
  }
80
99
  const activeRecordings = new Map();
81
100
  /**
@@ -221,17 +240,19 @@ export async function startBackgroundRecording(outputDir, appName, maxDurationSe
221
240
  if (os === "darwin") {
222
241
  if (await checkToolAvailable("ffmpeg")) {
223
242
  const bounds = await getWindowBounds(appName);
224
- const screenDevice = await findMacOSScreenDevice(bounds);
243
+ const screenMatch = await findMacOSScreenDevice(bounds);
225
244
  const ffmpegArgs = [
226
245
  "-f", "avfoundation", "-framerate", "30", "-capture_cursor", "1",
227
- "-i", `${screenDevice}:none`,
246
+ "-i", `${screenMatch.deviceIndex}:none`,
228
247
  ];
229
248
  if (bounds && bounds.width > 0 && bounds.height > 0) {
230
249
  const scale = 2;
231
250
  const cropW = bounds.width * scale;
232
251
  const cropH = bounds.height * scale;
233
- const cropX = bounds.x * scale;
234
- const cropY = bounds.y * scale;
252
+ // Crop coordinates must be relative to the captured screen's origin,
253
+ // not the virtual desktop. avfoundation captures a single screen.
254
+ const cropX = (bounds.x - screenMatch.screenOriginX) * scale;
255
+ const cropY = (bounds.y - screenMatch.screenOriginY) * scale;
235
256
  ffmpegArgs.push("-vf", `crop=${cropW}:${cropH}:${cropX}:${cropY}`);
236
257
  }
237
258
  ffmpegArgs.push("-r", "10", "-pix_fmt", "yuv420p", "-t", String(maxDurationSeconds), "-y", outputPath);
@@ -422,6 +443,13 @@ export function getActiveRecordingTargetType() {
422
443
  }
423
444
  return null;
424
445
  }
446
+ export function getActiveRecordingIds() {
447
+ return Array.from(activeRecordings.keys());
448
+ }
449
+ export function getActiveRecordingLogPath(recordingId) {
450
+ const rec = activeRecordings.get(recordingId);
451
+ return rec?.logPath || null;
452
+ }
425
453
  async function recordMacOS(outputDir, durationSeconds, appName) {
426
454
  if (!(await checkToolAvailable("screencapture"))) {
427
455
  return { recorded: false, path: "", duration_seconds: durationSeconds, method: "screencapture", error: "screencapture not found" };
@@ -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":"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"}
@@ -56,6 +56,8 @@ export declare function simctlTap(x: number, y: number): Promise<boolean>;
56
56
  export declare function simctlType(text: string): Promise<boolean>;
57
57
  export declare function simctlOpenUrl(url: string): Promise<boolean>;
58
58
  export declare function simctlBiometric(accept: boolean): Promise<boolean>;
59
+ export declare function simctlSwipe(x1: number, y1: number, x2: number, y2: number, durationMs?: number): Promise<boolean>;
60
+ export declare function simctlKey(keyName: string): Promise<boolean>;
59
61
  export declare function adbDeepLink(url: string): Promise<boolean>;
60
62
  export declare function adbPermission(packageId: string, permission: string, grant: boolean): Promise<boolean>;
61
63
  export declare function adbHomeButton(): Promise<boolean>;
@@ -81,6 +83,20 @@ export declare function checkDependency(tool: string, action: string): Promise<s
81
83
  * Linux: xdg-open
82
84
  */
83
85
  export declare function navigateDesktopBrowser(url: string): Promise<boolean>;
86
+ /**
87
+ * Execute JavaScript in the active tab of Chrome (macOS only).
88
+ * Returns the JS result as a string, or null on failure.
89
+ */
90
+ export declare function executeJSInChrome(js: string): Promise<string | null>;
91
+ /**
92
+ * Focus and fill a form field in Chrome by CSS selector.
93
+ * This uses Chrome JS execution so the typing is visible on screen.
94
+ */
95
+ export declare function fillFieldInBrowser(selector: string, value: string): Promise<boolean>;
96
+ /**
97
+ * Click an element in Chrome by CSS selector via JS execution.
98
+ */
99
+ export declare function clickElementInBrowser(selector: string): Promise<boolean>;
84
100
  /**
85
101
  * Restore the previously frontmost app/window after capture is complete.
86
102
  */
@@ -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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"}
@@ -12,10 +12,20 @@ export async function findWindowId(appName) {
12
12
  const os = platform();
13
13
  if (os === "darwin")
14
14
  return findMacOSWindowId(appName);
15
+ if (os === "win32")
16
+ return findWindowsWindowId(appName);
15
17
  if (os === "linux")
16
18
  return findLinuxWindowId(appName);
17
19
  return null;
18
20
  }
21
+ async function findWindowsWindowId(appName) {
22
+ const script = `$proc = Get-Process | Where-Object { $_.MainWindowTitle -match '${appName}' -and $_.MainWindowHandle -ne 0 } | Select-Object -First 1; if ($proc) { Write-Output $proc.MainWindowHandle }`;
23
+ const result = await runCommand("powershell", ["-NoProfile", "-Command", script], process.cwd());
24
+ if (result.exit_code === 0 && result.stdout.trim()) {
25
+ return result.stdout.trim();
26
+ }
27
+ return null;
28
+ }
19
29
  async function findMacOSWindowId(appName) {
20
30
  const tmpFile = join(tmpdir(), `codeloop_findwindow_${Date.now()}.swift`);
21
31
  const swiftCode = [
@@ -76,16 +86,18 @@ async function bringToFrontMacOS(appName) {
76
86
  if (!previousApp || previousApp.toLowerCase().includes(appName.toLowerCase())) {
77
87
  previousApp = await detectRunningIDE();
78
88
  }
79
- const activateScript = `
80
- tell application "System Events"
81
- try
82
- set targetProc to first process whose name contains "${appName}"
83
- set visible of targetProc to true
84
- end try
85
- end tell
86
- tell application "${appName}" to activate
87
- `;
88
- await runCommand("osascript", ["-e", activateScript], process.cwd());
89
+ const activateScript = `tell application "System Events"\ntry\nset targetProc to first process whose name contains "${appName}"\nset visible of targetProc to true\nend try\nend tell\ntell application "${appName}" to activate`;
90
+ const tmpActivate = join(tmpdir(), `codeloop_activate_${Date.now()}.scpt`);
91
+ writeFileSync(tmpActivate, activateScript);
92
+ try {
93
+ await runCommand("osascript", [tmpActivate], process.cwd());
94
+ }
95
+ finally {
96
+ try {
97
+ unlinkSync(tmpActivate);
98
+ }
99
+ catch { /* ignore */ }
100
+ }
89
101
  await new Promise((r) => setTimeout(r, 800));
90
102
  return previousApp;
91
103
  }
@@ -446,8 +458,19 @@ export async function typeText(text) {
446
458
  const os = platform();
447
459
  if (os === "darwin") {
448
460
  const escaped = text.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
449
- const result = await runCommand("osascript", ["-e", `tell application "System Events" to keystroke "${escaped}"`], process.cwd());
450
- return result.exit_code === 0;
461
+ const tmpFile = join(tmpdir(), `codeloop_type_${Date.now()}.scpt`);
462
+ const script = `tell application "System Events" to keystroke "${escaped}"`;
463
+ writeFileSync(tmpFile, script);
464
+ try {
465
+ const result = await runCommand("osascript", [tmpFile], process.cwd());
466
+ return result.exit_code === 0;
467
+ }
468
+ finally {
469
+ try {
470
+ unlinkSync(tmpFile);
471
+ }
472
+ catch { /* ignore */ }
473
+ }
451
474
  }
452
475
  else if (os === "win32") {
453
476
  const escaped = text.replace(/[+^%~(){}[\]]/g, "{$&}");
@@ -887,6 +910,19 @@ export async function simctlBiometric(accept) {
887
910
  const result = await runCommand("xcrun", ["simctl", "biometric", "booted", action], process.cwd());
888
911
  return result.exit_code === 0;
889
912
  }
913
+ export async function simctlSwipe(x1, y1, x2, y2, durationMs = 300) {
914
+ const result = await runCommand("xcrun", [
915
+ "simctl", "io", "booted", "swipe",
916
+ String(Math.round(x1)), String(Math.round(y1)),
917
+ String(Math.round(x2)), String(Math.round(y2)),
918
+ "--duration", String(durationMs / 1000),
919
+ ], process.cwd());
920
+ return result.exit_code === 0;
921
+ }
922
+ export async function simctlKey(keyName) {
923
+ const result = await runCommand("xcrun", ["simctl", "io", "booted", "sendkey", keyName], process.cwd());
924
+ return result.exit_code === 0;
925
+ }
890
926
  // ── Extended Android (adb) Helpers ──────────────────────────────
891
927
  export async function adbDeepLink(url) {
892
928
  const result = await runCommand("adb", ["shell", "am", "start", "-a", "android.intent.action.VIEW", "-d", url], process.cwd());
@@ -990,25 +1026,34 @@ export async function checkDependency(tool, action) {
990
1026
  export async function navigateDesktopBrowser(url) {
991
1027
  const os = platform();
992
1028
  if (os === "darwin") {
993
- // Try Chrome first, then Safari
994
- const script = `
995
- tell application "System Events"
996
- set chromeRunning to (exists process "Google Chrome")
997
- end tell
998
- if chromeRunning then
999
- tell application "Google Chrome"
1000
- set URL of active tab of front window to "${url}"
1001
- activate
1002
- end tell
1003
- else
1004
- tell application "Safari"
1005
- set URL of current tab of front window to "${url}"
1006
- activate
1007
- end tell
1008
- end if
1009
- `;
1010
- const result = await runCommand("osascript", ["-e", script], process.cwd());
1011
- return result.exit_code === 0;
1029
+ const safeUrl = url.replace(/"/g, '\\"');
1030
+ const script = `tell application "Google Chrome"\nset URL of active tab of front window to "${safeUrl}"\nactivate\nend tell`;
1031
+ const tmpFile = join(tmpdir(), `codeloop_nav_${Date.now()}.scpt`);
1032
+ writeFileSync(tmpFile, script);
1033
+ try {
1034
+ const result = await runCommand("osascript", [tmpFile], process.cwd());
1035
+ if (result.exit_code === 0)
1036
+ return true;
1037
+ }
1038
+ finally {
1039
+ try {
1040
+ unlinkSync(tmpFile);
1041
+ }
1042
+ catch { /* ignore */ }
1043
+ }
1044
+ // Fallback to Safari
1045
+ const safariScript = `tell application "Safari"\nset URL of current tab of front window to "${safeUrl}"\nactivate\nend tell`;
1046
+ writeFileSync(tmpFile, safariScript);
1047
+ try {
1048
+ const r2 = await runCommand("osascript", [tmpFile], process.cwd());
1049
+ return r2.exit_code === 0;
1050
+ }
1051
+ finally {
1052
+ try {
1053
+ unlinkSync(tmpFile);
1054
+ }
1055
+ catch { /* ignore */ }
1056
+ }
1012
1057
  }
1013
1058
  else if (os === "win32") {
1014
1059
  const result = await runCommand("powershell", ["-NoProfile", "-Command", `Start-Process "${url}"`], process.cwd());
@@ -1022,6 +1067,54 @@ export async function navigateDesktopBrowser(url) {
1022
1067
  }
1023
1068
  return false;
1024
1069
  }
1070
+ /**
1071
+ * Execute JavaScript in the active tab of Chrome (macOS only).
1072
+ * Returns the JS result as a string, or null on failure.
1073
+ */
1074
+ export async function executeJSInChrome(js) {
1075
+ if (platform() !== "darwin")
1076
+ return null;
1077
+ const safeJs = js.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
1078
+ const script = `tell application "Google Chrome"\nset r to execute active tab of front window javascript "${safeJs}"\nreturn r\nend tell`;
1079
+ const tmpFile = join(tmpdir(), `codeloop_js_${Date.now()}.scpt`);
1080
+ writeFileSync(tmpFile, script);
1081
+ try {
1082
+ const result = await runCommand("osascript", [tmpFile], process.cwd());
1083
+ if (result.exit_code === 0)
1084
+ return result.stdout.trim();
1085
+ }
1086
+ finally {
1087
+ try {
1088
+ unlinkSync(tmpFile);
1089
+ }
1090
+ catch { /* ignore */ }
1091
+ }
1092
+ return null;
1093
+ }
1094
+ /**
1095
+ * Focus and fill a form field in Chrome by CSS selector.
1096
+ * This uses Chrome JS execution so the typing is visible on screen.
1097
+ */
1098
+ export async function fillFieldInBrowser(selector, value) {
1099
+ if (platform() !== "darwin")
1100
+ return false;
1101
+ const safeSelector = selector.replace(/'/g, "\\'");
1102
+ const safeValue = value.replace(/'/g, "\\'");
1103
+ const js = `(function(){ var el = document.querySelector('${safeSelector}'); if(!el) return 'not_found'; el.focus(); el.value=''; var nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set; nativeInputValueSetter.call(el, '${safeValue}'); el.dispatchEvent(new Event('input', {bubbles:true})); el.dispatchEvent(new Event('change', {bubbles:true})); return 'ok'; })()`;
1104
+ const result = await executeJSInChrome(js);
1105
+ return result === "ok";
1106
+ }
1107
+ /**
1108
+ * Click an element in Chrome by CSS selector via JS execution.
1109
+ */
1110
+ export async function clickElementInBrowser(selector) {
1111
+ if (platform() !== "darwin")
1112
+ return false;
1113
+ const safeSelector = selector.replace(/'/g, "\\'");
1114
+ const js = `(function(){ var el = document.querySelector('${safeSelector}'); if(!el) return 'not_found'; el.scrollIntoView({behavior:'smooth',block:'center'}); setTimeout(function(){ el.click(); }, 300); return 'ok'; })()`;
1115
+ const result = await executeJSInChrome(js);
1116
+ return result === "ok";
1117
+ }
1025
1118
  /**
1026
1119
  * Restore the previously frontmost app/window after capture is complete.
1027
1120
  */