adhdev 0.6.58 → 0.6.60
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/cli/index.js +129 -131
- package/dist/cli/index.js.map +1 -1
- package/dist/index.js +89 -91
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -536,15 +536,15 @@ var init_ide_detector = __esm({
|
|
|
536
536
|
|
|
537
537
|
// ../daemon-core/src/detection/cli-detector.ts
|
|
538
538
|
function execAsync(cmd, timeoutMs = 5e3) {
|
|
539
|
-
return new Promise((
|
|
539
|
+
return new Promise((resolve7) => {
|
|
540
540
|
const child = (0, import_child_process2.exec)(cmd, { encoding: "utf-8", timeout: timeoutMs }, (err, stdout) => {
|
|
541
541
|
if (err || !stdout?.trim()) {
|
|
542
|
-
|
|
542
|
+
resolve7(null);
|
|
543
543
|
} else {
|
|
544
|
-
|
|
544
|
+
resolve7(stdout.trim());
|
|
545
545
|
}
|
|
546
546
|
});
|
|
547
|
-
child.on("error", () =>
|
|
547
|
+
child.on("error", () => resolve7(null));
|
|
548
548
|
});
|
|
549
549
|
}
|
|
550
550
|
async function detectCLIs(providerLoader) {
|
|
@@ -926,7 +926,7 @@ var init_manager = __esm({
|
|
|
926
926
|
* Returns multiple entries if multiple IDE windows are open on same port
|
|
927
927
|
*/
|
|
928
928
|
static listAllTargets(port) {
|
|
929
|
-
return new Promise((
|
|
929
|
+
return new Promise((resolve7) => {
|
|
930
930
|
const req = http.get(`http://127.0.0.1:${port}/json`, (res) => {
|
|
931
931
|
let data = "";
|
|
932
932
|
res.on("data", (chunk) => data += chunk.toString());
|
|
@@ -942,16 +942,16 @@ var init_manager = __esm({
|
|
|
942
942
|
(t) => !isNonMain(t.title || "") && t.url?.includes("workbench.html") && !t.url?.includes("agent")
|
|
943
943
|
);
|
|
944
944
|
const fallbackPages = pages.filter((t) => !isNonMain(t.title || ""));
|
|
945
|
-
|
|
945
|
+
resolve7(mainPages.length > 0 ? mainPages : fallbackPages);
|
|
946
946
|
} catch {
|
|
947
|
-
|
|
947
|
+
resolve7([]);
|
|
948
948
|
}
|
|
949
949
|
});
|
|
950
950
|
});
|
|
951
|
-
req.on("error", () =>
|
|
951
|
+
req.on("error", () => resolve7([]));
|
|
952
952
|
req.setTimeout(2e3, () => {
|
|
953
953
|
req.destroy();
|
|
954
|
-
|
|
954
|
+
resolve7([]);
|
|
955
955
|
});
|
|
956
956
|
});
|
|
957
957
|
}
|
|
@@ -991,7 +991,7 @@ var init_manager = __esm({
|
|
|
991
991
|
}
|
|
992
992
|
}
|
|
993
993
|
findTargetOnPort(port) {
|
|
994
|
-
return new Promise((
|
|
994
|
+
return new Promise((resolve7) => {
|
|
995
995
|
const req = http.get(`http://127.0.0.1:${port}/json`, (res) => {
|
|
996
996
|
let data = "";
|
|
997
997
|
res.on("data", (chunk) => data += chunk.toString());
|
|
@@ -1002,7 +1002,7 @@ var init_manager = __esm({
|
|
|
1002
1002
|
(t) => (t.type === "page" || t.type === "browser" || t.type === "Page") && t.webSocketDebuggerUrl
|
|
1003
1003
|
);
|
|
1004
1004
|
if (pages.length === 0) {
|
|
1005
|
-
|
|
1005
|
+
resolve7(targets.find((t) => t.webSocketDebuggerUrl) || null);
|
|
1006
1006
|
return;
|
|
1007
1007
|
}
|
|
1008
1008
|
const mainPages = pages.filter((t) => !this.isNonMainTitle(t.title || ""));
|
|
@@ -1012,24 +1012,24 @@ var init_manager = __esm({
|
|
|
1012
1012
|
const specific = list.find((t) => t.id === this._targetId);
|
|
1013
1013
|
if (specific) {
|
|
1014
1014
|
this._pageTitle = specific.title || "";
|
|
1015
|
-
|
|
1015
|
+
resolve7(specific);
|
|
1016
1016
|
} else {
|
|
1017
1017
|
this.log(`[CDP] Target ${this._targetId} not found in page list`);
|
|
1018
|
-
|
|
1018
|
+
resolve7(null);
|
|
1019
1019
|
}
|
|
1020
1020
|
return;
|
|
1021
1021
|
}
|
|
1022
1022
|
this._pageTitle = list[0]?.title || "";
|
|
1023
|
-
|
|
1023
|
+
resolve7(list[0]);
|
|
1024
1024
|
} catch {
|
|
1025
|
-
|
|
1025
|
+
resolve7(null);
|
|
1026
1026
|
}
|
|
1027
1027
|
});
|
|
1028
1028
|
});
|
|
1029
|
-
req.on("error", () =>
|
|
1029
|
+
req.on("error", () => resolve7(null));
|
|
1030
1030
|
req.setTimeout(2e3, () => {
|
|
1031
1031
|
req.destroy();
|
|
1032
|
-
|
|
1032
|
+
resolve7(null);
|
|
1033
1033
|
});
|
|
1034
1034
|
});
|
|
1035
1035
|
}
|
|
@@ -1040,7 +1040,7 @@ var init_manager = __esm({
|
|
|
1040
1040
|
this.extensionProviders = providers;
|
|
1041
1041
|
}
|
|
1042
1042
|
connectToTarget(wsUrl) {
|
|
1043
|
-
return new Promise((
|
|
1043
|
+
return new Promise((resolve7) => {
|
|
1044
1044
|
this.ws = new import_ws.default(wsUrl);
|
|
1045
1045
|
this.ws.on("open", async () => {
|
|
1046
1046
|
this._connected = true;
|
|
@@ -1050,17 +1050,17 @@ var init_manager = __esm({
|
|
|
1050
1050
|
}
|
|
1051
1051
|
this.connectBrowserWs().catch(() => {
|
|
1052
1052
|
});
|
|
1053
|
-
|
|
1053
|
+
resolve7(true);
|
|
1054
1054
|
});
|
|
1055
1055
|
this.ws.on("message", (data) => {
|
|
1056
1056
|
try {
|
|
1057
1057
|
const msg = JSON.parse(data.toString());
|
|
1058
1058
|
if (msg.id && this.pending.has(msg.id)) {
|
|
1059
|
-
const { resolve:
|
|
1059
|
+
const { resolve: resolve8, reject } = this.pending.get(msg.id);
|
|
1060
1060
|
this.pending.delete(msg.id);
|
|
1061
1061
|
this.failureCount = 0;
|
|
1062
1062
|
if (msg.error) reject(new Error(msg.error.message));
|
|
1063
|
-
else
|
|
1063
|
+
else resolve8(msg.result);
|
|
1064
1064
|
} else if (msg.method === "Runtime.executionContextCreated") {
|
|
1065
1065
|
this.contexts.add(msg.params.context.id);
|
|
1066
1066
|
} else if (msg.method === "Runtime.executionContextDestroyed") {
|
|
@@ -1083,7 +1083,7 @@ var init_manager = __esm({
|
|
|
1083
1083
|
this.ws.on("error", (err) => {
|
|
1084
1084
|
this.log(`[CDP] WebSocket error: ${err.message}`);
|
|
1085
1085
|
this._connected = false;
|
|
1086
|
-
|
|
1086
|
+
resolve7(false);
|
|
1087
1087
|
});
|
|
1088
1088
|
});
|
|
1089
1089
|
}
|
|
@@ -1097,7 +1097,7 @@ var init_manager = __esm({
|
|
|
1097
1097
|
return;
|
|
1098
1098
|
}
|
|
1099
1099
|
this.log(`[CDP] Connecting browser WS for target discovery...`);
|
|
1100
|
-
await new Promise((
|
|
1100
|
+
await new Promise((resolve7, reject) => {
|
|
1101
1101
|
this.browserWs = new import_ws.default(browserWsUrl);
|
|
1102
1102
|
this.browserWs.on("open", async () => {
|
|
1103
1103
|
this._browserConnected = true;
|
|
@@ -1107,16 +1107,16 @@ var init_manager = __esm({
|
|
|
1107
1107
|
} catch (e) {
|
|
1108
1108
|
this.log(`[CDP] setDiscoverTargets failed: ${e.message}`);
|
|
1109
1109
|
}
|
|
1110
|
-
|
|
1110
|
+
resolve7();
|
|
1111
1111
|
});
|
|
1112
1112
|
this.browserWs.on("message", (data) => {
|
|
1113
1113
|
try {
|
|
1114
1114
|
const msg = JSON.parse(data.toString());
|
|
1115
1115
|
if (msg.id && this.browserPending.has(msg.id)) {
|
|
1116
|
-
const { resolve:
|
|
1116
|
+
const { resolve: resolve8, reject: reject2 } = this.browserPending.get(msg.id);
|
|
1117
1117
|
this.browserPending.delete(msg.id);
|
|
1118
1118
|
if (msg.error) reject2(new Error(msg.error.message));
|
|
1119
|
-
else
|
|
1119
|
+
else resolve8(msg.result);
|
|
1120
1120
|
}
|
|
1121
1121
|
} catch {
|
|
1122
1122
|
}
|
|
@@ -1136,31 +1136,31 @@ var init_manager = __esm({
|
|
|
1136
1136
|
}
|
|
1137
1137
|
}
|
|
1138
1138
|
getBrowserWsUrl() {
|
|
1139
|
-
return new Promise((
|
|
1139
|
+
return new Promise((resolve7) => {
|
|
1140
1140
|
const req = http.get(`http://127.0.0.1:${this.port}/json/version`, (res) => {
|
|
1141
1141
|
let data = "";
|
|
1142
1142
|
res.on("data", (chunk) => data += chunk.toString());
|
|
1143
1143
|
res.on("end", () => {
|
|
1144
1144
|
try {
|
|
1145
1145
|
const info = JSON.parse(data);
|
|
1146
|
-
|
|
1146
|
+
resolve7(info.webSocketDebuggerUrl || null);
|
|
1147
1147
|
} catch {
|
|
1148
|
-
|
|
1148
|
+
resolve7(null);
|
|
1149
1149
|
}
|
|
1150
1150
|
});
|
|
1151
1151
|
});
|
|
1152
|
-
req.on("error", () =>
|
|
1152
|
+
req.on("error", () => resolve7(null));
|
|
1153
1153
|
req.setTimeout(3e3, () => {
|
|
1154
1154
|
req.destroy();
|
|
1155
|
-
|
|
1155
|
+
resolve7(null);
|
|
1156
1156
|
});
|
|
1157
1157
|
});
|
|
1158
1158
|
}
|
|
1159
1159
|
sendBrowser(method, params = {}, timeoutMs = 15e3) {
|
|
1160
|
-
return new Promise((
|
|
1160
|
+
return new Promise((resolve7, reject) => {
|
|
1161
1161
|
if (!this.browserWs || !this._browserConnected) return reject(new Error("Browser WS not connected"));
|
|
1162
1162
|
const id = this.browserMsgId++;
|
|
1163
|
-
this.browserPending.set(id, { resolve:
|
|
1163
|
+
this.browserPending.set(id, { resolve: resolve7, reject });
|
|
1164
1164
|
this.browserWs.send(JSON.stringify({ id, method, params }));
|
|
1165
1165
|
setTimeout(() => {
|
|
1166
1166
|
if (this.browserPending.has(id)) {
|
|
@@ -1200,11 +1200,11 @@ var init_manager = __esm({
|
|
|
1200
1200
|
}
|
|
1201
1201
|
// ─── CDP Protocol ────────────────────────────────────────
|
|
1202
1202
|
sendInternal(method, params = {}, timeoutMs = 15e3) {
|
|
1203
|
-
return new Promise((
|
|
1203
|
+
return new Promise((resolve7, reject) => {
|
|
1204
1204
|
if (!this.ws || !this._connected) return reject(new Error("CDP not connected"));
|
|
1205
1205
|
if (this.ws.readyState !== import_ws.default.OPEN) return reject(new Error("WebSocket not open"));
|
|
1206
1206
|
const id = this.msgId++;
|
|
1207
|
-
this.pending.set(id, { resolve:
|
|
1207
|
+
this.pending.set(id, { resolve: resolve7, reject });
|
|
1208
1208
|
this.ws.send(JSON.stringify({ id, method, params }));
|
|
1209
1209
|
setTimeout(() => {
|
|
1210
1210
|
if (this.pending.has(id)) {
|
|
@@ -1453,7 +1453,7 @@ var init_manager = __esm({
|
|
|
1453
1453
|
const browserWs = this.browserWs;
|
|
1454
1454
|
let msgId = this.browserMsgId;
|
|
1455
1455
|
const sendWs = (method, params = {}, sessionId) => {
|
|
1456
|
-
return new Promise((
|
|
1456
|
+
return new Promise((resolve7, reject) => {
|
|
1457
1457
|
const mid = msgId++;
|
|
1458
1458
|
this.browserMsgId = msgId;
|
|
1459
1459
|
const handler = (raw) => {
|
|
@@ -1462,7 +1462,7 @@ var init_manager = __esm({
|
|
|
1462
1462
|
if (msg.id === mid) {
|
|
1463
1463
|
browserWs.removeListener("message", handler);
|
|
1464
1464
|
if (msg.error) reject(new Error(msg.error.message || JSON.stringify(msg.error)));
|
|
1465
|
-
else
|
|
1465
|
+
else resolve7(msg.result);
|
|
1466
1466
|
}
|
|
1467
1467
|
} catch {
|
|
1468
1468
|
}
|
|
@@ -1644,14 +1644,14 @@ var init_manager = __esm({
|
|
|
1644
1644
|
if (!ws2 || ws2.readyState !== import_ws.default.OPEN) {
|
|
1645
1645
|
throw new Error("CDP not connected");
|
|
1646
1646
|
}
|
|
1647
|
-
return new Promise((
|
|
1647
|
+
return new Promise((resolve7, reject) => {
|
|
1648
1648
|
const id = getNextId();
|
|
1649
1649
|
pendingMap.set(id, {
|
|
1650
1650
|
resolve: (result) => {
|
|
1651
1651
|
if (result?.result?.subtype === "error") {
|
|
1652
1652
|
reject(new Error(result.result.description));
|
|
1653
1653
|
} else {
|
|
1654
|
-
|
|
1654
|
+
resolve7(result?.result?.value);
|
|
1655
1655
|
}
|
|
1656
1656
|
},
|
|
1657
1657
|
reject
|
|
@@ -1683,10 +1683,10 @@ var init_manager = __esm({
|
|
|
1683
1683
|
throw new Error("CDP not connected");
|
|
1684
1684
|
}
|
|
1685
1685
|
const sendViaSession = (method, params = {}) => {
|
|
1686
|
-
return new Promise((
|
|
1686
|
+
return new Promise((resolve7, reject) => {
|
|
1687
1687
|
const pendingMap = this._browserConnected ? this.browserPending : this.pending;
|
|
1688
1688
|
const id = this._browserConnected ? this.browserMsgId++ : this.msgId++;
|
|
1689
|
-
pendingMap.set(id, { resolve:
|
|
1689
|
+
pendingMap.set(id, { resolve: resolve7, reject });
|
|
1690
1690
|
ws2.send(JSON.stringify({ id, sessionId, method, params }));
|
|
1691
1691
|
setTimeout(() => {
|
|
1692
1692
|
if (pendingMap.has(id)) {
|
|
@@ -5183,7 +5183,7 @@ var init_handler = __esm({
|
|
|
5183
5183
|
try {
|
|
5184
5184
|
const http3 = await import("http");
|
|
5185
5185
|
const postData = JSON.stringify(body);
|
|
5186
|
-
const result = await new Promise((
|
|
5186
|
+
const result = await new Promise((resolve7, reject) => {
|
|
5187
5187
|
const req = http3.request({
|
|
5188
5188
|
hostname: "127.0.0.1",
|
|
5189
5189
|
port: 19280,
|
|
@@ -5195,9 +5195,9 @@ var init_handler = __esm({
|
|
|
5195
5195
|
res.on("data", (chunk) => data += chunk);
|
|
5196
5196
|
res.on("end", () => {
|
|
5197
5197
|
try {
|
|
5198
|
-
|
|
5198
|
+
resolve7(JSON.parse(data));
|
|
5199
5199
|
} catch {
|
|
5200
|
-
|
|
5200
|
+
resolve7({ raw: data });
|
|
5201
5201
|
}
|
|
5202
5202
|
});
|
|
5203
5203
|
});
|
|
@@ -5215,15 +5215,15 @@ var init_handler = __esm({
|
|
|
5215
5215
|
if (!providerType) return { success: false, error: "providerType required" };
|
|
5216
5216
|
try {
|
|
5217
5217
|
const http3 = await import("http");
|
|
5218
|
-
const result = await new Promise((
|
|
5218
|
+
const result = await new Promise((resolve7, reject) => {
|
|
5219
5219
|
http3.get(`http://127.0.0.1:19280/api/providers/${providerType}/${endpoint}`, (res) => {
|
|
5220
5220
|
let data = "";
|
|
5221
5221
|
res.on("data", (chunk) => data += chunk);
|
|
5222
5222
|
res.on("end", () => {
|
|
5223
5223
|
try {
|
|
5224
|
-
|
|
5224
|
+
resolve7(JSON.parse(data));
|
|
5225
5225
|
} catch {
|
|
5226
|
-
|
|
5226
|
+
resolve7({ raw: data });
|
|
5227
5227
|
}
|
|
5228
5228
|
});
|
|
5229
5229
|
}).on("error", reject);
|
|
@@ -5237,7 +5237,7 @@ var init_handler = __esm({
|
|
|
5237
5237
|
try {
|
|
5238
5238
|
const http3 = await import("http");
|
|
5239
5239
|
const postData = JSON.stringify(args || {});
|
|
5240
|
-
const result = await new Promise((
|
|
5240
|
+
const result = await new Promise((resolve7, reject) => {
|
|
5241
5241
|
const req = http3.request({
|
|
5242
5242
|
hostname: "127.0.0.1",
|
|
5243
5243
|
port: 19280,
|
|
@@ -5249,9 +5249,9 @@ var init_handler = __esm({
|
|
|
5249
5249
|
res.on("data", (chunk) => data += chunk);
|
|
5250
5250
|
res.on("end", () => {
|
|
5251
5251
|
try {
|
|
5252
|
-
|
|
5252
|
+
resolve7(JSON.parse(data));
|
|
5253
5253
|
} catch {
|
|
5254
|
-
|
|
5254
|
+
resolve7({ raw: data });
|
|
5255
5255
|
}
|
|
5256
5256
|
});
|
|
5257
5257
|
});
|
|
@@ -5298,9 +5298,7 @@ var init_provider_loader = __esm({
|
|
|
5298
5298
|
if (options?.builtinDir) {
|
|
5299
5299
|
this.builtinDirs = Array.isArray(options.builtinDir) ? options.builtinDir : [options.builtinDir];
|
|
5300
5300
|
} else {
|
|
5301
|
-
|
|
5302
|
-
const devDir = path6.resolve(__dirname, "../../providers/_builtin");
|
|
5303
|
-
this.builtinDirs = [fs5.existsSync(devDir) ? devDir : bundledDir];
|
|
5301
|
+
this.builtinDirs = [];
|
|
5304
5302
|
}
|
|
5305
5303
|
this.userDir = options?.userDir || path6.join(os7.homedir(), ".adhdev", "providers");
|
|
5306
5304
|
this.upstreamDir = path6.join(this.userDir, ".upstream");
|
|
@@ -5822,7 +5820,7 @@ var init_provider_loader = __esm({
|
|
|
5822
5820
|
return { updated: false };
|
|
5823
5821
|
}
|
|
5824
5822
|
try {
|
|
5825
|
-
const etag = await new Promise((
|
|
5823
|
+
const etag = await new Promise((resolve7, reject) => {
|
|
5826
5824
|
const options = {
|
|
5827
5825
|
method: "HEAD",
|
|
5828
5826
|
hostname: "github.com",
|
|
@@ -5840,7 +5838,7 @@ var init_provider_loader = __esm({
|
|
|
5840
5838
|
headers: { "User-Agent": "adhdev-launcher" },
|
|
5841
5839
|
timeout: 1e4
|
|
5842
5840
|
}, (res2) => {
|
|
5843
|
-
|
|
5841
|
+
resolve7(res2.headers.etag || res2.headers["last-modified"] || "");
|
|
5844
5842
|
});
|
|
5845
5843
|
req2.on("error", reject);
|
|
5846
5844
|
req2.on("timeout", () => {
|
|
@@ -5849,7 +5847,7 @@ var init_provider_loader = __esm({
|
|
|
5849
5847
|
});
|
|
5850
5848
|
req2.end();
|
|
5851
5849
|
} else {
|
|
5852
|
-
|
|
5850
|
+
resolve7(res.headers.etag || res.headers["last-modified"] || "");
|
|
5853
5851
|
}
|
|
5854
5852
|
});
|
|
5855
5853
|
req.on("error", reject);
|
|
@@ -5913,7 +5911,7 @@ var init_provider_loader = __esm({
|
|
|
5913
5911
|
downloadFile(url2, destPath) {
|
|
5914
5912
|
const https = require("https");
|
|
5915
5913
|
const http3 = require("http");
|
|
5916
|
-
return new Promise((
|
|
5914
|
+
return new Promise((resolve7, reject) => {
|
|
5917
5915
|
const doRequest = (reqUrl, redirectCount = 0) => {
|
|
5918
5916
|
if (redirectCount > 5) {
|
|
5919
5917
|
reject(new Error("Too many redirects"));
|
|
@@ -5933,7 +5931,7 @@ var init_provider_loader = __esm({
|
|
|
5933
5931
|
res.pipe(ws2);
|
|
5934
5932
|
ws2.on("finish", () => {
|
|
5935
5933
|
ws2.close();
|
|
5936
|
-
|
|
5934
|
+
resolve7();
|
|
5937
5935
|
});
|
|
5938
5936
|
ws2.on("error", reject);
|
|
5939
5937
|
});
|
|
@@ -6299,17 +6297,17 @@ async function findFreePort(ports) {
|
|
|
6299
6297
|
throw new Error("No free port found");
|
|
6300
6298
|
}
|
|
6301
6299
|
function checkPortFree(port) {
|
|
6302
|
-
return new Promise((
|
|
6300
|
+
return new Promise((resolve7) => {
|
|
6303
6301
|
const server = net.createServer();
|
|
6304
6302
|
server.unref();
|
|
6305
|
-
server.on("error", () =>
|
|
6303
|
+
server.on("error", () => resolve7(false));
|
|
6306
6304
|
server.listen(port, "127.0.0.1", () => {
|
|
6307
|
-
server.close(() =>
|
|
6305
|
+
server.close(() => resolve7(true));
|
|
6308
6306
|
});
|
|
6309
6307
|
});
|
|
6310
6308
|
}
|
|
6311
6309
|
async function isCdpActive(port) {
|
|
6312
|
-
return new Promise((
|
|
6310
|
+
return new Promise((resolve7) => {
|
|
6313
6311
|
const req = require("http").get(`http://127.0.0.1:${port}/json/version`, {
|
|
6314
6312
|
timeout: 2e3
|
|
6315
6313
|
}, (res) => {
|
|
@@ -6318,16 +6316,16 @@ async function isCdpActive(port) {
|
|
|
6318
6316
|
res.on("end", () => {
|
|
6319
6317
|
try {
|
|
6320
6318
|
const info = JSON.parse(data);
|
|
6321
|
-
|
|
6319
|
+
resolve7(!!info["WebKit-Version"] || !!info["Browser"]);
|
|
6322
6320
|
} catch {
|
|
6323
|
-
|
|
6321
|
+
resolve7(false);
|
|
6324
6322
|
}
|
|
6325
6323
|
});
|
|
6326
6324
|
});
|
|
6327
|
-
req.on("error", () =>
|
|
6325
|
+
req.on("error", () => resolve7(false));
|
|
6328
6326
|
req.on("timeout", () => {
|
|
6329
6327
|
req.destroy();
|
|
6330
|
-
|
|
6328
|
+
resolve7(false);
|
|
6331
6329
|
});
|
|
6332
6330
|
});
|
|
6333
6331
|
}
|
|
@@ -17202,7 +17200,7 @@ ${data.message || ""}`.trim();
|
|
|
17202
17200
|
if (this.startupParseGate) {
|
|
17203
17201
|
const deadline = Date.now() + 1e4;
|
|
17204
17202
|
while (this.startupParseGate && Date.now() < deadline) {
|
|
17205
|
-
await new Promise((
|
|
17203
|
+
await new Promise((resolve7) => setTimeout(resolve7, 50));
|
|
17206
17204
|
}
|
|
17207
17205
|
}
|
|
17208
17206
|
if (!this.ready) throw new Error(`${this.cliName} not ready (status: ${this.currentStatus})`);
|
|
@@ -33745,8 +33743,8 @@ var init_acp = __esm({
|
|
|
33745
33743
|
this.#requestHandler = requestHandler;
|
|
33746
33744
|
this.#notificationHandler = notificationHandler;
|
|
33747
33745
|
this.#stream = stream;
|
|
33748
|
-
this.#closedPromise = new Promise((
|
|
33749
|
-
this.#abortController.signal.addEventListener("abort", () =>
|
|
33746
|
+
this.#closedPromise = new Promise((resolve7) => {
|
|
33747
|
+
this.#abortController.signal.addEventListener("abort", () => resolve7());
|
|
33750
33748
|
});
|
|
33751
33749
|
this.#receive();
|
|
33752
33750
|
}
|
|
@@ -33895,8 +33893,8 @@ var init_acp = __esm({
|
|
|
33895
33893
|
}
|
|
33896
33894
|
async sendRequest(method, params) {
|
|
33897
33895
|
const id = this.#nextRequestId++;
|
|
33898
|
-
const responsePromise = new Promise((
|
|
33899
|
-
this.#pendingResponses.set(id, { resolve:
|
|
33896
|
+
const responsePromise = new Promise((resolve7, reject) => {
|
|
33897
|
+
this.#pendingResponses.set(id, { resolve: resolve7, reject });
|
|
33900
33898
|
});
|
|
33901
33899
|
await this.#sendMessage({ jsonrpc: "2.0", id, method, params });
|
|
33902
33900
|
return responsePromise;
|
|
@@ -34428,13 +34426,13 @@ var init_acp_provider_instance = __esm({
|
|
|
34428
34426
|
}
|
|
34429
34427
|
this.currentStatus = "waiting_approval";
|
|
34430
34428
|
this.detectStatusTransition();
|
|
34431
|
-
const approved = await new Promise((
|
|
34432
|
-
this.permissionResolvers.push(
|
|
34429
|
+
const approved = await new Promise((resolve7) => {
|
|
34430
|
+
this.permissionResolvers.push(resolve7);
|
|
34433
34431
|
setTimeout(() => {
|
|
34434
|
-
const idx = this.permissionResolvers.indexOf(
|
|
34432
|
+
const idx = this.permissionResolvers.indexOf(resolve7);
|
|
34435
34433
|
if (idx >= 0) {
|
|
34436
34434
|
this.permissionResolvers.splice(idx, 1);
|
|
34437
|
-
|
|
34435
|
+
resolve7(false);
|
|
34438
34436
|
}
|
|
34439
34437
|
}, 3e5);
|
|
34440
34438
|
});
|
|
@@ -36605,15 +36603,15 @@ var init_dev_server = __esm({
|
|
|
36605
36603
|
this.json(res, 500, { error: e.message });
|
|
36606
36604
|
}
|
|
36607
36605
|
});
|
|
36608
|
-
return new Promise((
|
|
36606
|
+
return new Promise((resolve7, reject) => {
|
|
36609
36607
|
this.server.listen(port, "127.0.0.1", () => {
|
|
36610
36608
|
this.log(`Dev server listening on http://127.0.0.1:${port}`);
|
|
36611
|
-
|
|
36609
|
+
resolve7();
|
|
36612
36610
|
});
|
|
36613
36611
|
this.server.on("error", (e) => {
|
|
36614
36612
|
if (e.code === "EADDRINUSE") {
|
|
36615
36613
|
this.log(`Port ${port} in use, skipping dev server`);
|
|
36616
|
-
|
|
36614
|
+
resolve7();
|
|
36617
36615
|
} else {
|
|
36618
36616
|
reject(e);
|
|
36619
36617
|
}
|
|
@@ -36696,20 +36694,20 @@ var init_dev_server = __esm({
|
|
|
36696
36694
|
child.stderr?.on("data", (d) => {
|
|
36697
36695
|
stderr += d.toString().slice(0, 2e3);
|
|
36698
36696
|
});
|
|
36699
|
-
await new Promise((
|
|
36697
|
+
await new Promise((resolve7) => {
|
|
36700
36698
|
const timer = setTimeout(() => {
|
|
36701
36699
|
child.kill();
|
|
36702
|
-
|
|
36700
|
+
resolve7();
|
|
36703
36701
|
}, 3e3);
|
|
36704
36702
|
child.on("exit", () => {
|
|
36705
36703
|
clearTimeout(timer);
|
|
36706
|
-
|
|
36704
|
+
resolve7();
|
|
36707
36705
|
});
|
|
36708
36706
|
child.stdout?.once("data", () => {
|
|
36709
36707
|
setTimeout(() => {
|
|
36710
36708
|
child.kill();
|
|
36711
36709
|
clearTimeout(timer);
|
|
36712
|
-
|
|
36710
|
+
resolve7();
|
|
36713
36711
|
}, 500);
|
|
36714
36712
|
});
|
|
36715
36713
|
});
|
|
@@ -37453,14 +37451,14 @@ var init_dev_server = __esm({
|
|
|
37453
37451
|
child.stderr?.on("data", (d) => {
|
|
37454
37452
|
stderr += d.toString();
|
|
37455
37453
|
});
|
|
37456
|
-
await new Promise((
|
|
37454
|
+
await new Promise((resolve7) => {
|
|
37457
37455
|
const timer = setTimeout(() => {
|
|
37458
37456
|
child.kill();
|
|
37459
|
-
|
|
37457
|
+
resolve7();
|
|
37460
37458
|
}, timeout);
|
|
37461
37459
|
child.on("exit", () => {
|
|
37462
37460
|
clearTimeout(timer);
|
|
37463
|
-
|
|
37461
|
+
resolve7();
|
|
37464
37462
|
});
|
|
37465
37463
|
});
|
|
37466
37464
|
const elapsed = Date.now() - start;
|
|
@@ -39162,14 +39160,14 @@ data: ${JSON.stringify(msg.data)}
|
|
|
39162
39160
|
res.end(JSON.stringify(data, null, 2));
|
|
39163
39161
|
}
|
|
39164
39162
|
async readBody(req) {
|
|
39165
|
-
return new Promise((
|
|
39163
|
+
return new Promise((resolve7) => {
|
|
39166
39164
|
let body = "";
|
|
39167
39165
|
req.on("data", (chunk) => body += chunk);
|
|
39168
39166
|
req.on("end", () => {
|
|
39169
39167
|
try {
|
|
39170
|
-
|
|
39168
|
+
resolve7(JSON.parse(body));
|
|
39171
39169
|
} catch {
|
|
39172
|
-
|
|
39170
|
+
resolve7({});
|
|
39173
39171
|
}
|
|
39174
39172
|
});
|
|
39175
39173
|
});
|
|
@@ -39474,10 +39472,10 @@ async function installExtension(ide, extension) {
|
|
|
39474
39472
|
const buffer = Buffer.from(await res.arrayBuffer());
|
|
39475
39473
|
const fs13 = await import("fs");
|
|
39476
39474
|
fs13.writeFileSync(vsixPath, buffer);
|
|
39477
|
-
return new Promise((
|
|
39475
|
+
return new Promise((resolve7) => {
|
|
39478
39476
|
const cmd = `"${ide.cliCommand}" --install-extension "${vsixPath}" --force`;
|
|
39479
39477
|
(0, import_child_process8.exec)(cmd, { timeout: 6e4 }, (error48, _stdout, stderr) => {
|
|
39480
|
-
|
|
39478
|
+
resolve7({
|
|
39481
39479
|
extensionId: extension.id,
|
|
39482
39480
|
marketplaceId: extension.marketplaceId,
|
|
39483
39481
|
success: !error48,
|
|
@@ -39490,11 +39488,11 @@ async function installExtension(ide, extension) {
|
|
|
39490
39488
|
} catch (e) {
|
|
39491
39489
|
}
|
|
39492
39490
|
}
|
|
39493
|
-
return new Promise((
|
|
39491
|
+
return new Promise((resolve7) => {
|
|
39494
39492
|
const cmd = `"${ide.cliCommand}" --install-extension ${extension.marketplaceId} --force`;
|
|
39495
39493
|
(0, import_child_process8.exec)(cmd, { timeout: 6e4 }, (error48, stdout, stderr) => {
|
|
39496
39494
|
if (error48) {
|
|
39497
|
-
|
|
39495
|
+
resolve7({
|
|
39498
39496
|
extensionId: extension.id,
|
|
39499
39497
|
marketplaceId: extension.marketplaceId,
|
|
39500
39498
|
success: false,
|
|
@@ -39502,7 +39500,7 @@ async function installExtension(ide, extension) {
|
|
|
39502
39500
|
error: stderr || error48.message
|
|
39503
39501
|
});
|
|
39504
39502
|
} else {
|
|
39505
|
-
|
|
39503
|
+
resolve7({
|
|
39506
39504
|
extensionId: extension.id,
|
|
39507
39505
|
marketplaceId: extension.marketplaceId,
|
|
39508
39506
|
success: true,
|
|
@@ -40338,13 +40336,13 @@ ${e?.stack || ""}`);
|
|
|
40338
40336
|
} catch {
|
|
40339
40337
|
}
|
|
40340
40338
|
const http3 = esmRequire("https");
|
|
40341
|
-
const data = await new Promise((
|
|
40339
|
+
const data = await new Promise((resolve7, reject) => {
|
|
40342
40340
|
const req = http3.get(`${serverUrl}/api/v1/turn/credentials`, {
|
|
40343
40341
|
headers: { "Authorization": `Bearer ${token}` }
|
|
40344
40342
|
}, (res) => {
|
|
40345
40343
|
let d = "";
|
|
40346
40344
|
res.on("data", (c) => d += c);
|
|
40347
|
-
res.on("end", () =>
|
|
40345
|
+
res.on("end", () => resolve7(d));
|
|
40348
40346
|
});
|
|
40349
40347
|
req.on("error", reject);
|
|
40350
40348
|
req.setTimeout(5e3, () => {
|
|
@@ -41200,7 +41198,7 @@ var init_adhdev_daemon = __esm({
|
|
|
41200
41198
|
fs12 = __toESM(require("fs"));
|
|
41201
41199
|
path14 = __toESM(require("path"));
|
|
41202
41200
|
import_chalk2 = __toESM(require("chalk"));
|
|
41203
|
-
pkgVersion = "0.6.
|
|
41201
|
+
pkgVersion = "0.6.60";
|
|
41204
41202
|
if (pkgVersion === "unknown") {
|
|
41205
41203
|
try {
|
|
41206
41204
|
const possiblePaths = [
|
|
@@ -41999,7 +41997,7 @@ __export(cdp_utils_exports, {
|
|
|
41999
41997
|
async function sendDaemonCommand(cmd, args = {}, port = 19222) {
|
|
42000
41998
|
const WebSocket3 = (await import("ws")).default;
|
|
42001
41999
|
const { DAEMON_WS_PATH: DAEMON_WS_PATH2 } = await Promise.resolve().then(() => (init_src(), src_exports));
|
|
42002
|
-
return new Promise((
|
|
42000
|
+
return new Promise((resolve7, reject) => {
|
|
42003
42001
|
const wsUrl = `ws://127.0.0.1:${port}${DAEMON_WS_PATH2 || "/daemon"}`;
|
|
42004
42002
|
const ws2 = new WebSocket3(wsUrl);
|
|
42005
42003
|
const timeout = setTimeout(() => {
|
|
@@ -42030,7 +42028,7 @@ async function sendDaemonCommand(cmd, args = {}, port = 19222) {
|
|
|
42030
42028
|
if (msg.type === "daemon:command_result" || msg.type === "command_result") {
|
|
42031
42029
|
clearTimeout(timeout);
|
|
42032
42030
|
ws2.close();
|
|
42033
|
-
|
|
42031
|
+
resolve7(msg.payload?.result || msg.payload || msg);
|
|
42034
42032
|
}
|
|
42035
42033
|
} catch {
|
|
42036
42034
|
}
|
|
@@ -42047,13 +42045,13 @@ Is 'adhdev daemon' running?`));
|
|
|
42047
42045
|
}
|
|
42048
42046
|
async function directCdpEval(expression, port = 9222) {
|
|
42049
42047
|
const http3 = await import("http");
|
|
42050
|
-
const targets = await new Promise((
|
|
42048
|
+
const targets = await new Promise((resolve7, reject) => {
|
|
42051
42049
|
http3.get(`http://127.0.0.1:${port}/json`, (res) => {
|
|
42052
42050
|
let data = "";
|
|
42053
42051
|
res.on("data", (c) => data += c);
|
|
42054
42052
|
res.on("end", () => {
|
|
42055
42053
|
try {
|
|
42056
|
-
|
|
42054
|
+
resolve7(JSON.parse(data));
|
|
42057
42055
|
} catch {
|
|
42058
42056
|
reject(new Error("Invalid JSON"));
|
|
42059
42057
|
}
|
|
@@ -42066,7 +42064,7 @@ async function directCdpEval(expression, port = 9222) {
|
|
|
42066
42064
|
const target = (mainPages.length > 0 ? mainPages[0] : pages[0]) || targets[0];
|
|
42067
42065
|
if (!target?.webSocketDebuggerUrl) throw new Error("No CDP target found");
|
|
42068
42066
|
const WebSocket3 = (await import("ws")).default;
|
|
42069
|
-
return new Promise((
|
|
42067
|
+
return new Promise((resolve7, reject) => {
|
|
42070
42068
|
const ws2 = new WebSocket3(target.webSocketDebuggerUrl);
|
|
42071
42069
|
const timeout = setTimeout(() => {
|
|
42072
42070
|
ws2.close();
|
|
@@ -42088,11 +42086,11 @@ async function directCdpEval(expression, port = 9222) {
|
|
|
42088
42086
|
clearTimeout(timeout);
|
|
42089
42087
|
ws2.close();
|
|
42090
42088
|
if (msg.result?.result?.value !== void 0) {
|
|
42091
|
-
|
|
42089
|
+
resolve7(msg.result.result.value);
|
|
42092
42090
|
} else if (msg.result?.exceptionDetails) {
|
|
42093
42091
|
reject(new Error(msg.result.exceptionDetails.text));
|
|
42094
42092
|
} else {
|
|
42095
|
-
|
|
42093
|
+
resolve7(msg.result);
|
|
42096
42094
|
}
|
|
42097
42095
|
}
|
|
42098
42096
|
});
|
|
@@ -42699,7 +42697,7 @@ function registerProviderCommands(program2) {
|
|
|
42699
42697
|
} catch {
|
|
42700
42698
|
try {
|
|
42701
42699
|
const http3 = await import("http");
|
|
42702
|
-
const result = await new Promise((
|
|
42700
|
+
const result = await new Promise((resolve7, reject) => {
|
|
42703
42701
|
const req = http3.request({
|
|
42704
42702
|
hostname: "127.0.0.1",
|
|
42705
42703
|
port: 19280,
|
|
@@ -42711,9 +42709,9 @@ function registerProviderCommands(program2) {
|
|
|
42711
42709
|
res.on("data", (c) => data += c);
|
|
42712
42710
|
res.on("end", () => {
|
|
42713
42711
|
try {
|
|
42714
|
-
|
|
42712
|
+
resolve7(JSON.parse(data));
|
|
42715
42713
|
} catch {
|
|
42716
|
-
|
|
42714
|
+
resolve7({ raw: data });
|
|
42717
42715
|
}
|
|
42718
42716
|
});
|
|
42719
42717
|
});
|
|
@@ -42816,12 +42814,12 @@ function registerProviderCommands(program2) {
|
|
|
42816
42814
|
console.log(import_chalk6.default.yellow("Invalid port number."));
|
|
42817
42815
|
continue;
|
|
42818
42816
|
}
|
|
42819
|
-
const isFree = await new Promise((
|
|
42817
|
+
const isFree = await new Promise((resolve7) => {
|
|
42820
42818
|
const server = net2.createServer();
|
|
42821
42819
|
server.unref();
|
|
42822
|
-
server.on("error", () =>
|
|
42820
|
+
server.on("error", () => resolve7(false));
|
|
42823
42821
|
server.listen(port, "127.0.0.1", () => {
|
|
42824
|
-
server.close(() =>
|
|
42822
|
+
server.close(() => resolve7(true));
|
|
42825
42823
|
});
|
|
42826
42824
|
});
|
|
42827
42825
|
if (!isFree) {
|
|
@@ -42836,7 +42834,7 @@ function registerProviderCommands(program2) {
|
|
|
42836
42834
|
rl.close();
|
|
42837
42835
|
const location = options.builtin ? "builtin" : "user";
|
|
42838
42836
|
const http3 = await import("http");
|
|
42839
|
-
const result = await new Promise((
|
|
42837
|
+
const result = await new Promise((resolve7, reject) => {
|
|
42840
42838
|
const postData = JSON.stringify({ type, name, category, location, cdpPorts, osPaths, processNames });
|
|
42841
42839
|
const req = http3.request({
|
|
42842
42840
|
hostname: "127.0.0.1",
|
|
@@ -42849,9 +42847,9 @@ function registerProviderCommands(program2) {
|
|
|
42849
42847
|
res.on("data", (c) => data += c);
|
|
42850
42848
|
res.on("end", () => {
|
|
42851
42849
|
try {
|
|
42852
|
-
|
|
42850
|
+
resolve7(JSON.parse(data));
|
|
42853
42851
|
} catch {
|
|
42854
|
-
|
|
42852
|
+
resolve7({ raw: data });
|
|
42855
42853
|
}
|
|
42856
42854
|
});
|
|
42857
42855
|
});
|
|
@@ -43087,7 +43085,7 @@ function registerProviderCommands(program2) {
|
|
|
43087
43085
|
...userComment ? { comment: userComment } : {},
|
|
43088
43086
|
reference
|
|
43089
43087
|
});
|
|
43090
|
-
const startResult = await new Promise((
|
|
43088
|
+
const startResult = await new Promise((resolve7, reject) => {
|
|
43091
43089
|
const req = http3.request({
|
|
43092
43090
|
hostname: "127.0.0.1",
|
|
43093
43091
|
port: 19280,
|
|
@@ -43099,9 +43097,9 @@ function registerProviderCommands(program2) {
|
|
|
43099
43097
|
res.on("data", (c) => data += c);
|
|
43100
43098
|
res.on("end", () => {
|
|
43101
43099
|
try {
|
|
43102
|
-
|
|
43100
|
+
resolve7(JSON.parse(data));
|
|
43103
43101
|
} catch {
|
|
43104
|
-
|
|
43102
|
+
resolve7({ raw: data });
|
|
43105
43103
|
}
|
|
43106
43104
|
});
|
|
43107
43105
|
});
|
|
@@ -43131,7 +43129,7 @@ function registerProviderCommands(program2) {
|
|
|
43131
43129
|
fsMock.writeFileSync(logFile2, `=== Auto-Impl Started ===
|
|
43132
43130
|
`);
|
|
43133
43131
|
console.log(import_chalk6.default.gray(` Agent logs: ${logFile2}`));
|
|
43134
|
-
await new Promise((
|
|
43132
|
+
await new Promise((resolve7, reject) => {
|
|
43135
43133
|
http3.get(`http://127.0.0.1:19280${startResult.sseUrl}`, (res) => {
|
|
43136
43134
|
let buffer = "";
|
|
43137
43135
|
res.on("data", (chunk) => {
|
|
@@ -43168,7 +43166,7 @@ function registerProviderCommands(program2) {
|
|
|
43168
43166
|
if (currentData.success === false) {
|
|
43169
43167
|
reject(new Error(`Agent failed to implement scripts properly (exit: ${currentData.exitCode})`));
|
|
43170
43168
|
} else {
|
|
43171
|
-
|
|
43169
|
+
resolve7();
|
|
43172
43170
|
}
|
|
43173
43171
|
} else if (currentEvent === "error") {
|
|
43174
43172
|
fsMock.appendFileSync(logFile2, `
|
|
@@ -43179,7 +43177,7 @@ function registerProviderCommands(program2) {
|
|
|
43179
43177
|
}
|
|
43180
43178
|
}
|
|
43181
43179
|
});
|
|
43182
|
-
res.on("end",
|
|
43180
|
+
res.on("end", resolve7);
|
|
43183
43181
|
}).on("error", reject);
|
|
43184
43182
|
});
|
|
43185
43183
|
console.log(import_chalk6.default.green(`
|
|
@@ -43238,7 +43236,7 @@ function registerProviderCommands(program2) {
|
|
|
43238
43236
|
ideType: type,
|
|
43239
43237
|
params: options.param ? { text: options.param, sessionId: options.param, buttonText: options.param } : {}
|
|
43240
43238
|
});
|
|
43241
|
-
const result = await new Promise((
|
|
43239
|
+
const result = await new Promise((resolve7, reject) => {
|
|
43242
43240
|
const req = http3.request({
|
|
43243
43241
|
hostname: "127.0.0.1",
|
|
43244
43242
|
port: 19280,
|
|
@@ -43250,9 +43248,9 @@ function registerProviderCommands(program2) {
|
|
|
43250
43248
|
res.on("data", (c) => data += c);
|
|
43251
43249
|
res.on("end", () => {
|
|
43252
43250
|
try {
|
|
43253
|
-
|
|
43251
|
+
resolve7(JSON.parse(data));
|
|
43254
43252
|
} catch {
|
|
43255
|
-
|
|
43253
|
+
resolve7({ raw: data });
|
|
43256
43254
|
}
|
|
43257
43255
|
});
|
|
43258
43256
|
});
|
|
@@ -43288,15 +43286,15 @@ function registerProviderCommands(program2) {
|
|
|
43288
43286
|
provider.command("source <type>").description("View source code of a provider").action(async (type) => {
|
|
43289
43287
|
try {
|
|
43290
43288
|
const http3 = await import("http");
|
|
43291
|
-
const result = await new Promise((
|
|
43289
|
+
const result = await new Promise((resolve7, reject) => {
|
|
43292
43290
|
http3.get(`http://127.0.0.1:19280/api/providers/${type}/source`, (res) => {
|
|
43293
43291
|
let data = "";
|
|
43294
43292
|
res.on("data", (c) => data += c);
|
|
43295
43293
|
res.on("end", () => {
|
|
43296
43294
|
try {
|
|
43297
|
-
|
|
43295
|
+
resolve7(JSON.parse(data));
|
|
43298
43296
|
} catch {
|
|
43299
|
-
|
|
43297
|
+
resolve7({ raw: data });
|
|
43300
43298
|
}
|
|
43301
43299
|
});
|
|
43302
43300
|
}).on("error", () => {
|
|
@@ -43345,7 +43343,7 @@ function registerProviderCommands(program2) {
|
|
|
43345
43343
|
try {
|
|
43346
43344
|
const http3 = await import("http");
|
|
43347
43345
|
const postData = JSON.stringify({ script: "readChat", params: {} });
|
|
43348
|
-
const result = await new Promise((
|
|
43346
|
+
const result = await new Promise((resolve7, reject) => {
|
|
43349
43347
|
const req = http3.request({
|
|
43350
43348
|
hostname: "127.0.0.1",
|
|
43351
43349
|
port: 19280,
|
|
@@ -43357,9 +43355,9 @@ function registerProviderCommands(program2) {
|
|
|
43357
43355
|
res2.on("data", (c) => data += c);
|
|
43358
43356
|
res2.on("end", () => {
|
|
43359
43357
|
try {
|
|
43360
|
-
|
|
43358
|
+
resolve7(JSON.parse(data));
|
|
43361
43359
|
} catch {
|
|
43362
|
-
|
|
43360
|
+
resolve7({ raw: data });
|
|
43363
43361
|
}
|
|
43364
43362
|
});
|
|
43365
43363
|
});
|
|
@@ -43600,13 +43598,13 @@ function registerCdpCommands(program2) {
|
|
|
43600
43598
|
cdp.command("screenshot").description("Capture IDE screenshot").option("-p, --port <port>", "CDP port", "9222").option("-o, --output <file>", "Output file path", "/tmp/cdp_screenshot.jpg").action(async (options) => {
|
|
43601
43599
|
try {
|
|
43602
43600
|
const http3 = await import("http");
|
|
43603
|
-
const targets = await new Promise((
|
|
43601
|
+
const targets = await new Promise((resolve7, reject) => {
|
|
43604
43602
|
http3.get(`http://127.0.0.1:${options.port}/json`, (res) => {
|
|
43605
43603
|
let data = "";
|
|
43606
43604
|
res.on("data", (c) => data += c);
|
|
43607
43605
|
res.on("end", () => {
|
|
43608
43606
|
try {
|
|
43609
|
-
|
|
43607
|
+
resolve7(JSON.parse(data));
|
|
43610
43608
|
} catch {
|
|
43611
43609
|
reject(new Error("Invalid JSON"));
|
|
43612
43610
|
}
|
|
@@ -43620,7 +43618,7 @@ function registerCdpCommands(program2) {
|
|
|
43620
43618
|
if (!target?.webSocketDebuggerUrl) throw new Error("No CDP target");
|
|
43621
43619
|
const WebSocket3 = (await import("ws")).default;
|
|
43622
43620
|
const ws2 = new WebSocket3(target.webSocketDebuggerUrl);
|
|
43623
|
-
await new Promise((
|
|
43621
|
+
await new Promise((resolve7, reject) => {
|
|
43624
43622
|
ws2.on("open", () => {
|
|
43625
43623
|
ws2.send(JSON.stringify({ id: 1, method: "Page.captureScreenshot", params: { format: "jpeg", quality: 50 } }));
|
|
43626
43624
|
});
|
|
@@ -43633,7 +43631,7 @@ function registerCdpCommands(program2) {
|
|
|
43633
43631
|
\u2713 Screenshot saved to ${options.output}
|
|
43634
43632
|
`));
|
|
43635
43633
|
ws2.close();
|
|
43636
|
-
|
|
43634
|
+
resolve7();
|
|
43637
43635
|
}
|
|
43638
43636
|
});
|
|
43639
43637
|
ws2.on("error", (e) => reject(e));
|