@elizaos/plugin-computeruse 2.0.3-beta.5 → 2.0.3-beta.7
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/index.js +101 -55
- package/dist/index.js.map +3 -3
- package/dist/platform/windows-list.d.ts +1 -0
- package/dist/platform/windows-list.d.ts.map +1 -1
- package/dist/register-routes.js +101 -56
- package/dist/register-routes.js.map +3 -3
- package/package.json +4 -4
|
@@ -9,6 +9,7 @@ import type { ScreenRegion, ScreenSize, WindowInfo } from "../types.js";
|
|
|
9
9
|
export declare function findWindowsByQuery(query: string, windows?: WindowInfo[]): WindowInfo[];
|
|
10
10
|
export declare function resolveWindowMatch(queryOrId: string, windows?: WindowInfo[]): WindowInfo | null;
|
|
11
11
|
export declare function listWindows(): WindowInfo[];
|
|
12
|
+
export declare function parseDarwinWindowOutput(output: string): WindowInfo[];
|
|
12
13
|
/**
|
|
13
14
|
* The currently-focused / frontmost window (#9170 M12 — cua
|
|
14
15
|
* `get_current_window_id`). Best-effort per-OS query; returns `null` when no
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windows-list.d.ts","sourceRoot":"","sources":["../../src/platform/windows-list.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA0BxE,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,UAAU,EAAkB,GACpC,UAAU,EAAE,CAUd;AAoBD,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,UAAU,EAAkB,GACpC,UAAU,GAAG,IAAI,CAEnB;
|
|
1
|
+
{"version":3,"file":"windows-list.d.ts","sourceRoot":"","sources":["../../src/platform/windows-list.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA0BxE,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,UAAU,EAAkB,GACpC,UAAU,EAAE,CAUd;AAoBD,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,UAAU,EAAkB,GACpC,UAAU,GAAG,IAAI,CAEnB;AA+DD,wBAAgB,WAAW,IAAI,UAAU,EAAE,CAa1C;AAoCD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CAOpE;AAgHD;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,UAAU,GAAG,IAAI,CA0DnD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CAQnE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAapC;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,CAiF/D;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAqClD;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAEtD;AAoFD,wBAAgB,cAAc,CAAC,WAAW,SAAS,GAAG;IACpD,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAuDA;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,CAAC,CAAC,EAAE,MAAM,EACV,CAAC,CAAC,EAAE,MAAM,GACT;IACD,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CASA;AAID,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CA0BrD;AAID,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CA8BrD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAqCpD;AAID,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAuBlD;AAED,eAAO,MAAM,YAAY,oBAAc,CAAC;AACxC,eAAO,MAAM,YAAY,oBAAc,CAAC;AACxC,eAAO,MAAM,gBAAgB,qBAAe,CAAC;AAC7C,eAAO,MAAM,eAAe,uBAAiB,CAAC;AAC9C,eAAO,MAAM,WAAW,mBAAa,CAAC;AACtC,eAAO,MAAM,eAAe,uBAAiB,CAAC;AAC9C,eAAO,MAAM,eAAe,uBAAiB,CAAC;AAC9C,eAAO,MAAM,cAAc,sBAAgB,CAAC;AAC5C,eAAO,MAAM,YAAY,oBAAc,CAAC;AAIxC;;;;;;;;GAQG;AACH,eAAO,MAAM,mCAAmC,QAEmC,CAAC;AAEpF,wBAAgB,aAAa,IAAI,UAAU,CA+H1C"}
|
package/dist/register-routes.js
CHANGED
|
@@ -8006,7 +8006,7 @@ var init_terminal = __esm(() => {
|
|
|
8006
8006
|
});
|
|
8007
8007
|
|
|
8008
8008
|
// src/platform/windows-list.ts
|
|
8009
|
-
import { execSync as execSync5 } from "node:child_process";
|
|
8009
|
+
import { execFileSync as execFileSync7, execSync as execSync5 } from "node:child_process";
|
|
8010
8010
|
function escapeAppleScriptString(value) {
|
|
8011
8011
|
return value.replace(/\\/g, "\\\\").replace(/"/g, "\\\"");
|
|
8012
8012
|
}
|
|
@@ -8051,36 +8051,41 @@ function runDarwinWindowScript(target, body) {
|
|
|
8051
8051
|
const termList = terms.length > 0 ? `{${terms.map((term) => `"${escapeAppleScriptString(term)}"`).join(", ")}}` : "{}";
|
|
8052
8052
|
const script = `
|
|
8053
8053
|
tell application "System Events"
|
|
8054
|
+
set matchedProc to missing value
|
|
8054
8055
|
repeat with proc in (every process whose visible is true)
|
|
8055
8056
|
try
|
|
8056
8057
|
set procName to name of proc
|
|
8057
|
-
set matched to false
|
|
8058
8058
|
repeat with term in ${termList}
|
|
8059
8059
|
if procName contains term then
|
|
8060
|
-
set
|
|
8060
|
+
set matchedProc to contents of proc
|
|
8061
8061
|
exit repeat
|
|
8062
8062
|
end if
|
|
8063
8063
|
end repeat
|
|
8064
|
-
|
|
8064
|
+
end try
|
|
8065
|
+
if matchedProc is not missing value then exit repeat
|
|
8066
|
+
end repeat
|
|
8067
|
+
if matchedProc is missing value then
|
|
8068
|
+
repeat with proc in (every process whose visible is true)
|
|
8069
|
+
try
|
|
8065
8070
|
repeat with w in (every window of proc)
|
|
8066
|
-
set winName to name of w
|
|
8067
8071
|
repeat with term in ${termList}
|
|
8068
|
-
if
|
|
8069
|
-
set
|
|
8072
|
+
if (name of w) contains term then
|
|
8073
|
+
set matchedProc to contents of proc
|
|
8070
8074
|
exit repeat
|
|
8071
8075
|
end if
|
|
8072
8076
|
end repeat
|
|
8073
|
-
if
|
|
8077
|
+
if matchedProc is not missing value then exit repeat
|
|
8074
8078
|
end repeat
|
|
8075
|
-
end
|
|
8076
|
-
if
|
|
8077
|
-
|
|
8078
|
-
|
|
8079
|
-
|
|
8080
|
-
|
|
8081
|
-
|
|
8079
|
+
end try
|
|
8080
|
+
if matchedProc is not missing value then exit repeat
|
|
8081
|
+
end repeat
|
|
8082
|
+
end if
|
|
8083
|
+
if matchedProc is not missing value then
|
|
8084
|
+
set proc to matchedProc
|
|
8085
|
+
${body}
|
|
8086
|
+
end if
|
|
8082
8087
|
end tell`;
|
|
8083
|
-
return runCommand("osascript", ["-e", script],
|
|
8088
|
+
return runCommand("osascript", ["-e", script], 15000);
|
|
8084
8089
|
}
|
|
8085
8090
|
function listWindows() {
|
|
8086
8091
|
const os4 = currentPlatform();
|
|
@@ -8095,37 +8100,66 @@ function listWindows() {
|
|
|
8095
8100
|
}
|
|
8096
8101
|
return [];
|
|
8097
8102
|
}
|
|
8098
|
-
function
|
|
8103
|
+
function parseDarwinWindowEntry(entry) {
|
|
8104
|
+
const [app, title] = entry.split("|||");
|
|
8105
|
+
const appName = app?.trim() ?? "";
|
|
8106
|
+
const winTitle = title?.trim() ?? "";
|
|
8107
|
+
if (!appName && !winTitle)
|
|
8108
|
+
return null;
|
|
8109
|
+
return {
|
|
8110
|
+
app: appName || "unknown",
|
|
8111
|
+
title: winTitle,
|
|
8112
|
+
id: winTitle || appName
|
|
8113
|
+
};
|
|
8114
|
+
}
|
|
8115
|
+
function parseDarwinWindowOutput(output) {
|
|
8116
|
+
return output.split("<<WIN>>").map((entry) => entry.trim()).filter(Boolean).map(parseDarwinWindowEntry).filter((win) => win !== null);
|
|
8117
|
+
}
|
|
8118
|
+
function listWindowsDarwinViaSwift() {
|
|
8119
|
+
if (!commandExists("swift"))
|
|
8120
|
+
return null;
|
|
8121
|
+
try {
|
|
8122
|
+
const output = execFileSync7("swift", ["-"], {
|
|
8123
|
+
input: DARWIN_WINDOW_LIST_SWIFT,
|
|
8124
|
+
encoding: "utf-8",
|
|
8125
|
+
timeout: 15000,
|
|
8126
|
+
stdio: ["pipe", "pipe", "ignore"]
|
|
8127
|
+
});
|
|
8128
|
+
return parseDarwinWindowOutput(output);
|
|
8129
|
+
} catch {
|
|
8130
|
+
return null;
|
|
8131
|
+
}
|
|
8132
|
+
}
|
|
8133
|
+
function listWindowsDarwinViaSystemEvents() {
|
|
8099
8134
|
try {
|
|
8100
8135
|
const script = `
|
|
8101
8136
|
tell application "System Events"
|
|
8102
|
-
set
|
|
8137
|
+
set outText to ""
|
|
8103
8138
|
repeat with proc in (every process whose visible is true)
|
|
8104
8139
|
try
|
|
8140
|
+
set procName to name of proc
|
|
8105
8141
|
repeat with w in (every window of proc)
|
|
8106
|
-
|
|
8142
|
+
try
|
|
8143
|
+
set outText to outText & procName & "|||" & (name of w) & "<<WIN>>"
|
|
8144
|
+
end try
|
|
8107
8145
|
end repeat
|
|
8108
8146
|
end try
|
|
8109
8147
|
end repeat
|
|
8110
|
-
return
|
|
8148
|
+
return outText
|
|
8111
8149
|
end tell`;
|
|
8112
8150
|
const output = execSync5(`osascript -e '${script}'`, {
|
|
8113
8151
|
encoding: "utf-8",
|
|
8114
|
-
timeout:
|
|
8152
|
+
timeout: 20000,
|
|
8115
8153
|
stdio: ["ignore", "pipe", "ignore"]
|
|
8116
8154
|
});
|
|
8117
|
-
return output
|
|
8118
|
-
const parts = entry.split("|||");
|
|
8119
|
-
return {
|
|
8120
|
-
app: parts[0] ?? "unknown",
|
|
8121
|
-
title: parts[1] ?? "unknown",
|
|
8122
|
-
id: parts[2] ?? "0"
|
|
8123
|
-
};
|
|
8124
|
-
});
|
|
8155
|
+
return parseDarwinWindowOutput(output);
|
|
8125
8156
|
} catch {
|
|
8126
8157
|
return [];
|
|
8127
8158
|
}
|
|
8128
8159
|
}
|
|
8160
|
+
function listWindowsDarwin() {
|
|
8161
|
+
return listWindowsDarwinViaSwift() ?? listWindowsDarwinViaSystemEvents();
|
|
8162
|
+
}
|
|
8129
8163
|
function listWindowsLinux() {
|
|
8130
8164
|
try {
|
|
8131
8165
|
if (commandExists("wmctrl")) {
|
|
@@ -8175,10 +8209,10 @@ function getActiveWindow() {
|
|
|
8175
8209
|
set proc to first process whose frontmost is true
|
|
8176
8210
|
set procName to name of proc
|
|
8177
8211
|
try
|
|
8178
|
-
set
|
|
8179
|
-
return procName & "|||" &
|
|
8212
|
+
set winName to name of window 1 of proc
|
|
8213
|
+
return procName & "|||" & winName & "|||" & winName
|
|
8180
8214
|
on error
|
|
8181
|
-
return procName & "|||" & "" & "|||" &
|
|
8215
|
+
return procName & "|||" & "" & "|||" & procName
|
|
8182
8216
|
end try
|
|
8183
8217
|
end tell`;
|
|
8184
8218
|
const out = execSync5(`osascript -e '${script}'`, {
|
|
@@ -8617,14 +8651,25 @@ function getScreenSize() {
|
|
|
8617
8651
|
}
|
|
8618
8652
|
return { width: 1920, height: 1080 };
|
|
8619
8653
|
}
|
|
8620
|
-
var
|
|
8654
|
+
var DARWIN_WINDOW_LIST_SWIFT = `import CoreGraphics
|
|
8655
|
+
import Foundation
|
|
8656
|
+
let opts: CGWindowListOption = [.optionOnScreenOnly, .excludeDesktopElements]
|
|
8657
|
+
guard let list = CGWindowListCopyWindowInfo(opts, kCGNullWindowID) as? [[String: Any]] else { exit(0) }
|
|
8658
|
+
var out: [String] = []
|
|
8659
|
+
for w in list {
|
|
8660
|
+
if ((w[kCGWindowLayer as String] as? Int) ?? -1) != 0 { continue }
|
|
8661
|
+
let owner = (w[kCGWindowOwnerName as String] as? String) ?? ""
|
|
8662
|
+
let name = (w[kCGWindowName as String] as? String) ?? ""
|
|
8663
|
+
out.append(owner + "|||" + name)
|
|
8664
|
+
}
|
|
8665
|
+
print(out.joined(separator: "<<WIN>>"))`, WINDOWS_PRIMARY_SCREEN_SIZE_COMMAND;
|
|
8621
8666
|
var init_windows_list = __esm(() => {
|
|
8622
8667
|
init_helpers();
|
|
8623
8668
|
WINDOWS_PRIMARY_SCREEN_SIZE_COMMAND = 'powershell -NoProfile -Command "Add-Type -AssemblyName System.Windows.Forms; ' + '[System.Windows.Forms.Screen]::PrimaryScreen.Bounds | ConvertTo-Json -Compress"';
|
|
8624
8669
|
});
|
|
8625
8670
|
|
|
8626
8671
|
// src/scene/a11y-provider.ts
|
|
8627
|
-
import { execFileSync as
|
|
8672
|
+
import { execFileSync as execFileSync8 } from "node:child_process";
|
|
8628
8673
|
|
|
8629
8674
|
class NullAccessibilityProvider {
|
|
8630
8675
|
name = "null";
|
|
@@ -8707,7 +8752,7 @@ except Exception as e:
|
|
|
8707
8752
|
print("[]")
|
|
8708
8753
|
`;
|
|
8709
8754
|
try {
|
|
8710
|
-
const text =
|
|
8755
|
+
const text = execFileSync8("python3", ["-c", py], {
|
|
8711
8756
|
timeout: 4000,
|
|
8712
8757
|
encoding: "utf8",
|
|
8713
8758
|
stdio: ["ignore", "pipe", "ignore"]
|
|
@@ -8736,7 +8781,7 @@ except Exception as e:
|
|
|
8736
8781
|
}
|
|
8737
8782
|
tryHyprland() {
|
|
8738
8783
|
try {
|
|
8739
|
-
const text =
|
|
8784
|
+
const text = execFileSync8("hyprctl", ["clients", "-j"], {
|
|
8740
8785
|
timeout: 3000,
|
|
8741
8786
|
encoding: "utf8",
|
|
8742
8787
|
stdio: ["ignore", "pipe", "ignore"]
|
|
@@ -8748,7 +8793,7 @@ except Exception as e:
|
|
|
8748
8793
|
}
|
|
8749
8794
|
trySway() {
|
|
8750
8795
|
try {
|
|
8751
|
-
const text =
|
|
8796
|
+
const text = execFileSync8("swaymsg", ["-t", "get_tree"], {
|
|
8752
8797
|
timeout: 3000,
|
|
8753
8798
|
encoding: "utf8",
|
|
8754
8799
|
stdio: ["ignore", "pipe", "ignore"]
|
|
@@ -8882,7 +8927,7 @@ class DarwinAccessibilityProvider {
|
|
|
8882
8927
|
}
|
|
8883
8928
|
JSON.stringify(out);
|
|
8884
8929
|
`;
|
|
8885
|
-
const text =
|
|
8930
|
+
const text = execFileSync8("osascript", ["-l", "JavaScript", "-e", script], {
|
|
8886
8931
|
timeout: 8000,
|
|
8887
8932
|
encoding: "utf8",
|
|
8888
8933
|
stdio: ["ignore", "pipe", "ignore"]
|
|
@@ -8941,7 +8986,7 @@ while ($child -and $count -lt 50) {
|
|
|
8941
8986
|
$out | ConvertTo-Json -Depth 4 -Compress
|
|
8942
8987
|
`;
|
|
8943
8988
|
try {
|
|
8944
|
-
const text =
|
|
8989
|
+
const text = execFileSync8("powershell", ["-NoProfile", "-Command", ps], {
|
|
8945
8990
|
timeout: 1e4,
|
|
8946
8991
|
encoding: "utf8",
|
|
8947
8992
|
stdio: ["ignore", "pipe", "ignore"]
|
|
@@ -8975,7 +9020,7 @@ var init_a11y_provider = __esm(() => {
|
|
|
8975
9020
|
});
|
|
8976
9021
|
|
|
8977
9022
|
// src/platform/process-list.ts
|
|
8978
|
-
import { execFileSync as
|
|
9023
|
+
import { execFileSync as execFileSync9, execSync as execSync6 } from "node:child_process";
|
|
8979
9024
|
import { readdirSync, readFileSync as readFileSync4 } from "node:fs";
|
|
8980
9025
|
function listProcesses() {
|
|
8981
9026
|
const os4 = currentPlatform();
|
|
@@ -9015,7 +9060,7 @@ function listLinux() {
|
|
|
9015
9060
|
}
|
|
9016
9061
|
function listDarwin() {
|
|
9017
9062
|
try {
|
|
9018
|
-
const text =
|
|
9063
|
+
const text = execFileSync9("ps", ["-axco", "pid=,comm="], {
|
|
9019
9064
|
timeout: 4000,
|
|
9020
9065
|
encoding: "utf8",
|
|
9021
9066
|
stdio: ["ignore", "pipe", "ignore"]
|
|
@@ -9023,7 +9068,7 @@ function listDarwin() {
|
|
|
9023
9068
|
return parsePsOutput(text);
|
|
9024
9069
|
} catch {
|
|
9025
9070
|
try {
|
|
9026
|
-
const text =
|
|
9071
|
+
const text = execFileSync9("ps", ["-axo", "pid=,comm="], {
|
|
9027
9072
|
timeout: 4000,
|
|
9028
9073
|
encoding: "utf8",
|
|
9029
9074
|
stdio: ["ignore", "pipe", "ignore"]
|
|
@@ -9087,7 +9132,7 @@ var init_process_list = __esm(() => {
|
|
|
9087
9132
|
});
|
|
9088
9133
|
|
|
9089
9134
|
// src/scene/apps.ts
|
|
9090
|
-
import { execFileSync as
|
|
9135
|
+
import { execFileSync as execFileSync10 } from "node:child_process";
|
|
9091
9136
|
function enumerateApps(deps = {}) {
|
|
9092
9137
|
const processFn = deps.processes ?? listProcesses;
|
|
9093
9138
|
const windowsFn = deps.windows ?? listWindows;
|
|
@@ -9181,7 +9226,7 @@ function joinAppsAndWindows(procs, windows, platform3) {
|
|
|
9181
9226
|
function linuxPidMapFromWmctrl() {
|
|
9182
9227
|
const out = new Map;
|
|
9183
9228
|
try {
|
|
9184
|
-
const text =
|
|
9229
|
+
const text = execFileSync10("wmctrl", ["-l", "-p"], {
|
|
9185
9230
|
timeout: 3000,
|
|
9186
9231
|
encoding: "utf8",
|
|
9187
9232
|
stdio: ["ignore", "pipe", "ignore"]
|
|
@@ -11940,7 +11985,7 @@ var init_computer_use_routes = __esm(() => {
|
|
|
11940
11985
|
});
|
|
11941
11986
|
|
|
11942
11987
|
// src/routes/sandbox-routes.ts
|
|
11943
|
-
import { execFileSync as
|
|
11988
|
+
import { execFileSync as execFileSync11, execSync as execSync7 } from "node:child_process";
|
|
11944
11989
|
import { readFileSync as readFileSync5, unlinkSync as unlinkSync5, writeFileSync as writeFileSync2 } from "node:fs";
|
|
11945
11990
|
import { platform as platform3, tmpdir as tmpdir6 } from "node:os";
|
|
11946
11991
|
import { join as join6 } from "node:path";
|
|
@@ -12549,7 +12594,7 @@ function resolveAudioFormat(input) {
|
|
|
12549
12594
|
return { format: normalized };
|
|
12550
12595
|
}
|
|
12551
12596
|
function runCommand2(command, args, timeout) {
|
|
12552
|
-
|
|
12597
|
+
execFileSync11(command, args, {
|
|
12553
12598
|
timeout,
|
|
12554
12599
|
stdio: ["ignore", "pipe", "pipe"]
|
|
12555
12600
|
});
|
|
@@ -13115,7 +13160,7 @@ var init_sandbox_routes = __esm(() => {
|
|
|
13115
13160
|
});
|
|
13116
13161
|
|
|
13117
13162
|
// src/services/desktop-control.ts
|
|
13118
|
-
import { execFileSync as
|
|
13163
|
+
import { execFileSync as execFileSync12 } from "node:child_process";
|
|
13119
13164
|
import { readFileSync as readFileSync6, unlinkSync as unlinkSync6 } from "node:fs";
|
|
13120
13165
|
import { platform as platform4, tmpdir as tmpdir7 } from "node:os";
|
|
13121
13166
|
import { join as join7 } from "node:path";
|
|
@@ -13132,7 +13177,7 @@ function isHeadfulGuiAvailable() {
|
|
|
13132
13177
|
function commandExists3(command) {
|
|
13133
13178
|
try {
|
|
13134
13179
|
const which = platform4() === "win32" ? "where" : "which";
|
|
13135
|
-
|
|
13180
|
+
execFileSync12(which, [command], {
|
|
13136
13181
|
stdio: "ignore",
|
|
13137
13182
|
timeout: 3000
|
|
13138
13183
|
});
|
|
@@ -13190,7 +13235,7 @@ function captureDesktopScreenshot(region) {
|
|
|
13190
13235
|
"$graphics.Dispose()",
|
|
13191
13236
|
"$bitmap.Dispose()"
|
|
13192
13237
|
].join("; ");
|
|
13193
|
-
|
|
13238
|
+
execFileSync12("powershell", ["-Command", psCommand], {
|
|
13194
13239
|
timeout: 15000,
|
|
13195
13240
|
stdio: ["ignore", "pipe", "pipe"]
|
|
13196
13241
|
});
|
|
@@ -13226,7 +13271,7 @@ function listDesktopWindows() {
|
|
|
13226
13271
|
end tell`;
|
|
13227
13272
|
let output;
|
|
13228
13273
|
try {
|
|
13229
|
-
output =
|
|
13274
|
+
output = execFileSync12("osascript", ["-e", script], {
|
|
13230
13275
|
encoding: "utf-8",
|
|
13231
13276
|
timeout: 5000,
|
|
13232
13277
|
stdio: ["ignore", "pipe", "ignore"]
|
|
@@ -13246,7 +13291,7 @@ function listDesktopWindows() {
|
|
|
13246
13291
|
}
|
|
13247
13292
|
if (os5 === "linux") {
|
|
13248
13293
|
if (commandExists3("wmctrl")) {
|
|
13249
|
-
const output =
|
|
13294
|
+
const output = execFileSync12("wmctrl", ["-l"], {
|
|
13250
13295
|
encoding: "utf-8",
|
|
13251
13296
|
timeout: 5000
|
|
13252
13297
|
});
|
|
@@ -13261,7 +13306,7 @@ function listDesktopWindows() {
|
|
|
13261
13306
|
});
|
|
13262
13307
|
}
|
|
13263
13308
|
if (commandExists3("xdotool")) {
|
|
13264
|
-
const output =
|
|
13309
|
+
const output = execFileSync12("sh", ["-c", 'xdotool search --name "" getwindowname 2>/dev/null'], {
|
|
13265
13310
|
encoding: "utf-8",
|
|
13266
13311
|
timeout: 5000
|
|
13267
13312
|
});
|
|
@@ -13274,7 +13319,7 @@ function listDesktopWindows() {
|
|
|
13274
13319
|
}
|
|
13275
13320
|
}
|
|
13276
13321
|
if (os5 === "win32") {
|
|
13277
|
-
const output =
|
|
13322
|
+
const output = execFileSync12("powershell", [
|
|
13278
13323
|
"-Command",
|
|
13279
13324
|
"Get-Process | Where-Object {$_.MainWindowTitle} | Select-Object Id, MainWindowTitle | ConvertTo-Json"
|
|
13280
13325
|
], { encoding: "utf-8", timeout: 1e4 });
|
|
@@ -13615,7 +13660,7 @@ function detectWindowListCapability(os5) {
|
|
|
13615
13660
|
return { available: false, tool: "unsupported platform" };
|
|
13616
13661
|
}
|
|
13617
13662
|
function runCommand3(command, args, timeout) {
|
|
13618
|
-
|
|
13663
|
+
execFileSync12(command, args, {
|
|
13619
13664
|
timeout,
|
|
13620
13665
|
stdio: ["ignore", "pipe", "pipe"]
|
|
13621
13666
|
});
|
|
@@ -13640,7 +13685,7 @@ function canCaptureMacScreen() {
|
|
|
13640
13685
|
}
|
|
13641
13686
|
function canUseMacSystemEvents() {
|
|
13642
13687
|
try {
|
|
13643
|
-
|
|
13688
|
+
execFileSync12("osascript", ["-e", 'tell application "System Events" to count of processes'], {
|
|
13644
13689
|
encoding: "utf-8",
|
|
13645
13690
|
timeout: 3000,
|
|
13646
13691
|
stdio: ["ignore", "pipe", "ignore"]
|
|
@@ -13897,5 +13942,5 @@ registerAppRoutePluginLoader("@elizaos/plugin-computeruse", async () => {
|
|
|
13897
13942
|
return computerUsePlugin2;
|
|
13898
13943
|
});
|
|
13899
13944
|
|
|
13900
|
-
//# debugId=
|
|
13945
|
+
//# debugId=BEDF5ED402D884BE64756E2164756E21
|
|
13901
13946
|
//# sourceMappingURL=register-routes.js.map
|