mcp-baepsae 5.1.0 → 6.2.0
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-KR.md +98 -33
- package/README.md +101 -35
- package/bundled/baepsae-native +0 -0
- package/dist/backend.d.ts +26 -0
- package/dist/backend.d.ts.map +1 -0
- package/dist/backend.js +79 -0
- package/dist/backend.js.map +1 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/tool-manifest.d.ts +12 -0
- package/dist/tool-manifest.d.ts.map +1 -0
- package/dist/tool-manifest.js +79 -0
- package/dist/tool-manifest.js.map +1 -0
- package/dist/tools/info.d.ts.map +1 -1
- package/dist/tools/info.js +104 -5
- package/dist/tools/info.js.map +1 -1
- package/dist/tools/input.js +7 -6
- package/dist/tools/input.js.map +1 -1
- package/dist/tools/media.d.ts.map +1 -1
- package/dist/tools/media.js +137 -11
- package/dist/tools/media.js.map +1 -1
- package/dist/tools/simulator.js +7 -7
- package/dist/tools/simulator.js.map +1 -1
- package/dist/tools/system.d.ts.map +1 -1
- package/dist/tools/system.js +2 -2
- package/dist/tools/system.js.map +1 -1
- package/dist/tools/ui.d.ts.map +1 -1
- package/dist/tools/ui.js +126 -8
- package/dist/tools/ui.js.map +1 -1
- package/dist/tools/workflow.d.ts +3 -0
- package/dist/tools/workflow.d.ts.map +1 -0
- package/dist/tools/workflow.js +434 -0
- package/dist/tools/workflow.js.map +1 -0
- package/dist/types.d.ts +15 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +19 -3
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +110 -5
- package/dist/utils.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/native/Sources/Commands/InputCommands.swift +53 -33
- package/native/Sources/Commands/SystemCommands.swift +86 -0
- package/native/Sources/Commands/UICommands.swift +254 -35
- package/native/Sources/Commands/WindowCommands.swift +11 -4
- package/native/Sources/IndigoHID/IndigoHIDClient.swift +222 -0
- package/native/Sources/IndigoHID/IndigoHIDCoordinates.swift +74 -0
- package/native/Sources/IndigoHID/IndigoHIDEvents.swift +63 -0
- package/native/Sources/IndigoHID/IndigoHIDLoader.swift +102 -0
- package/native/Sources/IndigoHID/IndigoHIDTypes.swift +41 -0
- package/native/Sources/Types.swift +26 -0
- package/native/Sources/Utils.swift +653 -13
- package/native/Sources/Version.swift +1 -1
- package/native/Sources/main.swift +55 -8
- package/native/Tests/BaepsaeNativeTests/BinaryInvocationTests.swift +54 -6
- package/package.json +12 -3
- package/scripts/dump-tabbar-actions.mjs +312 -0
- package/scripts/generate-tool-manifest.mjs +75 -0
- package/scripts/research-coordinate-calibration.mjs +276 -0
- package/scripts/research-input-channels.mjs +327 -0
- package/scripts/research-tap-tab-grid.mjs +271 -0
- package/scripts/verify-media-capture.mjs +99 -0
package/dist/utils.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.unifiedTargetSchema = exports.keycodeSchema = exports.BAEPSAE_SUBCOMMANDS = exports.GESTURE_PRESETS = exports.BUTTON_TYPES = exports.NATIVE_BINARY_NAME = exports.NATIVE_BINARY_ENV = exports.DEFAULT_TIMEOUT_MS = exports.SERVER_VERSION = exports.SERVER_NAME = exports.PACKAGE_ROOT = void 0;
|
|
4
|
+
exports.makeToolError = makeToolError;
|
|
4
5
|
exports.isExecutable = isExecutable;
|
|
5
6
|
exports.resolveNativeBinary = resolveNativeBinary;
|
|
6
7
|
exports.resolveUnifiedTargetArgs = resolveUnifiedTargetArgs;
|
|
@@ -11,6 +12,7 @@ exports.executeCommand = executeCommand;
|
|
|
11
12
|
exports.toToolResult = toToolResult;
|
|
12
13
|
exports.runSimctl = runSimctl;
|
|
13
14
|
exports.runNative = runNative;
|
|
15
|
+
exports.tryResolveNativeBinaryPath = tryResolveNativeBinaryPath;
|
|
14
16
|
const node_child_process_1 = require("node:child_process");
|
|
15
17
|
const node_fs_1 = require("node:fs");
|
|
16
18
|
const promises_1 = require("node:fs/promises");
|
|
@@ -39,7 +41,9 @@ exports.BAEPSAE_SUBCOMMANDS = [
|
|
|
39
41
|
"search-ui",
|
|
40
42
|
"list-simulators",
|
|
41
43
|
"list-apps",
|
|
44
|
+
"doctor",
|
|
42
45
|
"tap",
|
|
46
|
+
"tap-tab",
|
|
43
47
|
"type",
|
|
44
48
|
"swipe",
|
|
45
49
|
"button",
|
|
@@ -62,6 +66,17 @@ exports.BAEPSAE_SUBCOMMANDS = [
|
|
|
62
66
|
"clipboard",
|
|
63
67
|
];
|
|
64
68
|
exports.keycodeSchema = zod_1.z.number().int().min(0).max(255);
|
|
69
|
+
function makeToolError(params) {
|
|
70
|
+
return {
|
|
71
|
+
code: params.code,
|
|
72
|
+
category: params.category,
|
|
73
|
+
retryable: params.retryable ?? false,
|
|
74
|
+
source: params.source ?? "mcp",
|
|
75
|
+
message: params.message,
|
|
76
|
+
nativeCode: params.nativeCode,
|
|
77
|
+
details: params.details,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
65
80
|
function isExecutable(filePath) {
|
|
66
81
|
try {
|
|
67
82
|
(0, node_fs_1.accessSync)(filePath, node_fs_1.constants.X_OK);
|
|
@@ -131,12 +146,22 @@ function resolveUnifiedTargetArgs(params) {
|
|
|
131
146
|
return {
|
|
132
147
|
content: [{ type: "text", text: "No target specified. Provide exactly one: udid (simulator), bundleId, or appName (macOS)." }],
|
|
133
148
|
isError: true,
|
|
149
|
+
error: makeToolError({
|
|
150
|
+
code: "validation.target.required",
|
|
151
|
+
category: "validation",
|
|
152
|
+
message: "No target specified. Provide exactly one: udid (simulator), bundleId, or appName (macOS).",
|
|
153
|
+
}),
|
|
134
154
|
};
|
|
135
155
|
}
|
|
136
156
|
if (modes > 1) {
|
|
137
157
|
return {
|
|
138
158
|
content: [{ type: "text", text: "Multiple targets specified. Provide exactly one: udid (simulator), bundleId, or appName (macOS)." }],
|
|
139
159
|
isError: true,
|
|
160
|
+
error: makeToolError({
|
|
161
|
+
code: "validation.target.multiple",
|
|
162
|
+
category: "validation",
|
|
163
|
+
message: "Multiple targets specified. Provide exactly one: udid (simulator), bundleId, or appName (macOS).",
|
|
164
|
+
}),
|
|
140
165
|
};
|
|
141
166
|
}
|
|
142
167
|
if (params.udid)
|
|
@@ -266,29 +291,84 @@ function toToolResult(result, options = {}) {
|
|
|
266
291
|
if (result.stdout.length > 0) {
|
|
267
292
|
lines.push("", "STDOUT:", result.stdout);
|
|
268
293
|
}
|
|
269
|
-
|
|
270
|
-
|
|
294
|
+
const parsedStructured = parseNativeStructuredError(result.stderr);
|
|
295
|
+
const humanReadableStderr = parsedStructured ? stripNativeStructuredErrorLine(result.stderr) : result.stderr;
|
|
296
|
+
if (humanReadableStderr.length > 0) {
|
|
297
|
+
lines.push("", "STDERR:", humanReadableStderr);
|
|
271
298
|
}
|
|
299
|
+
const structuredError = isError
|
|
300
|
+
? makeToolError({
|
|
301
|
+
code: expectedTimeoutSignal || result.timedOut ? "execution.timeout" : result.exitCode === 0 ? "unknown" : "execution.command_failed",
|
|
302
|
+
category: result.timedOut ? "timeout" : "execution",
|
|
303
|
+
message: humanReadableStderr || result.stdout || "Command failed.",
|
|
304
|
+
retryable: result.timedOut || (result.signal !== null && !expectedTimeoutSignal),
|
|
305
|
+
source: options.source ?? "native",
|
|
306
|
+
})
|
|
307
|
+
: undefined;
|
|
272
308
|
return {
|
|
273
309
|
content: [{ type: "text", text: lines.join("\n") }],
|
|
274
310
|
isError,
|
|
311
|
+
error: structuredError,
|
|
312
|
+
metadata: options.metadata,
|
|
275
313
|
};
|
|
276
314
|
}
|
|
277
315
|
async function runCommand(executable, args, options, responseOptions) {
|
|
278
316
|
try {
|
|
279
317
|
const result = await executeCommand(executable, args, options);
|
|
280
|
-
|
|
318
|
+
const toolResult = toToolResult(result, responseOptions);
|
|
319
|
+
const structured = parseNativeStructuredError(result.stderr);
|
|
320
|
+
if (structured) {
|
|
321
|
+
toolResult.error = structured;
|
|
322
|
+
}
|
|
323
|
+
return toolResult;
|
|
281
324
|
}
|
|
282
325
|
catch (error) {
|
|
283
326
|
const message = error instanceof Error ? error.message : String(error);
|
|
284
327
|
return {
|
|
285
328
|
content: [{ type: "text", text: `Error executing ${commandToString(executable, args)}\n${message}` }],
|
|
286
329
|
isError: true,
|
|
330
|
+
error: makeToolError({
|
|
331
|
+
code: "execution.spawn_failed",
|
|
332
|
+
category: "execution",
|
|
333
|
+
message,
|
|
334
|
+
retryable: true,
|
|
335
|
+
source: "runtime",
|
|
336
|
+
}),
|
|
287
337
|
};
|
|
288
338
|
}
|
|
289
339
|
}
|
|
340
|
+
function parseNativeStructuredError(stderr) {
|
|
341
|
+
const firstLine = stderr.split(/\r?\n/, 1)[0] ?? "";
|
|
342
|
+
if (!firstLine.startsWith("BAEPSAE_ERROR ")) {
|
|
343
|
+
return undefined;
|
|
344
|
+
}
|
|
345
|
+
try {
|
|
346
|
+
const payload = JSON.parse(firstLine.slice("BAEPSAE_ERROR ".length));
|
|
347
|
+
if (!payload.code || !payload.category || !payload.message)
|
|
348
|
+
return undefined;
|
|
349
|
+
return makeToolError({
|
|
350
|
+
code: payload.code,
|
|
351
|
+
category: payload.category,
|
|
352
|
+
message: payload.message,
|
|
353
|
+
retryable: payload.retryable,
|
|
354
|
+
source: payload.source ?? "native",
|
|
355
|
+
nativeCode: payload.nativeCode,
|
|
356
|
+
details: payload.details,
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
catch {
|
|
360
|
+
return undefined;
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
function stripNativeStructuredErrorLine(stderr) {
|
|
364
|
+
const lines = stderr.split(/\r?\n/);
|
|
365
|
+
if (lines[0]?.startsWith("BAEPSAE_ERROR ")) {
|
|
366
|
+
return lines.slice(1).join("\n").trim();
|
|
367
|
+
}
|
|
368
|
+
return stderr;
|
|
369
|
+
}
|
|
290
370
|
async function runSimctl(args, options, responseOptions) {
|
|
291
|
-
return await runCommand("xcrun", ["simctl", ...args], options, responseOptions);
|
|
371
|
+
return await runCommand("xcrun", ["simctl", ...args], options, { ...responseOptions, source: "simctl" });
|
|
292
372
|
}
|
|
293
373
|
async function runNative(args, options, responseOptions) {
|
|
294
374
|
let binary;
|
|
@@ -296,11 +376,36 @@ async function runNative(args, options, responseOptions) {
|
|
|
296
376
|
binary = resolveNativeBinary();
|
|
297
377
|
}
|
|
298
378
|
catch (error) {
|
|
379
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
299
380
|
return {
|
|
300
381
|
content: [{ type: "text", text: error instanceof Error ? error.message : String(error) }],
|
|
301
382
|
isError: true,
|
|
383
|
+
error: makeToolError({
|
|
384
|
+
code: "environment.native_binary_missing",
|
|
385
|
+
category: "environment",
|
|
386
|
+
message,
|
|
387
|
+
retryable: true,
|
|
388
|
+
source: "runtime",
|
|
389
|
+
}),
|
|
302
390
|
};
|
|
303
391
|
}
|
|
304
|
-
|
|
392
|
+
const result = await runCommand(binary, args, options, { ...responseOptions, source: "native" });
|
|
393
|
+
if (result.isError && !result.error) {
|
|
394
|
+
const text = result.content.map((item) => item.text).join("\n");
|
|
395
|
+
const stderr = text.includes("STDERR:") ? text.split("STDERR:").slice(1).join("STDERR:").trim() : text;
|
|
396
|
+
const structured = parseNativeStructuredError(stderr);
|
|
397
|
+
if (structured) {
|
|
398
|
+
result.error = structured;
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
return result;
|
|
402
|
+
}
|
|
403
|
+
function tryResolveNativeBinaryPath() {
|
|
404
|
+
try {
|
|
405
|
+
return { ok: true, path: resolveNativeBinary() };
|
|
406
|
+
}
|
|
407
|
+
catch (error) {
|
|
408
|
+
return { ok: false, error: error instanceof Error ? error.message : String(error) };
|
|
409
|
+
}
|
|
305
410
|
}
|
|
306
411
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AA0DA,oCAOC;AAED,kDAyDC;AAQD,4DAiBC;AAGD,gCAIC;AAED,4BAMC;AAED,4CAIC;AAED,wCA4FC;AAMD,oCAwCC;AAoBD,8BAEC;AAED,8BAeC;AA7VD,2DAAyD;AACzD,qCAA+E;AAC/E,+CAAyC;AACzC,yCAAuD;AACvD,6BAAwB;AAGxB,6CAA6D;AAEhD,QAAA,YAAY,GAAG,IAAA,mBAAO,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACxC,QAAA,WAAW,GAAG,yBAAY,CAAC;AAC3B,QAAA,cAAc,GAAG,4BAAe,CAAC;AAEjC,QAAA,kBAAkB,GAAG,MAAM,CAAC;AAC5B,QAAA,iBAAiB,GAAG,qBAAqB,CAAC;AAC1C,QAAA,kBAAkB,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAE5F,QAAA,YAAY,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAU,CAAC;AAC7E,QAAA,eAAe,GAAG;IAC7B,WAAW;IACX,aAAa;IACb,aAAa;IACb,cAAc;IACd,sBAAsB;IACtB,uBAAuB;IACvB,qBAAqB;IACrB,wBAAwB;CAChB,CAAC;AACE,QAAA,mBAAmB,GAAG;IACjC,aAAa;IACb,WAAW;IACX,iBAAiB;IACjB,WAAW;IACX,KAAK;IACL,MAAM;IACN,OAAO;IACP,QAAQ;IACR,KAAK;IACL,cAAc;IACd,WAAW;IACX,OAAO;IACP,SAAS;IACT,cAAc;IACd,cAAc;IACd,YAAY;IACZ,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,QAAQ;IACR,WAAW;IACX,aAAa;IACb,iBAAiB;IACjB,WAAW;CACH,CAAC;AAEE,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE9D,SAAgB,YAAY,CAAC,QAAgB;IAC3C,IAAI,CAAC;QACH,IAAA,oBAAU,EAAC,QAAQ,EAAE,mBAAS,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAgB,mBAAmB;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAiB,CAAC,CAAC;IAChD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,mBAAO,EAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,cAAc,yBAAiB,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,0CAA0C;IAC1C,mEAAmE;IACnE,uCAAuC;IACvC,wCAAwC;IACxC,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAC/B,CAAC,CAAC,CAAC,IAAA,mBAAO,EAAC,oBAAY,EAAE,SAAS,EAAE,0BAAkB,CAAC,CAAC;YACxD,CAAC,CAAC,EAAE,CAAC;QACP,IAAA,mBAAO,EAAC,oBAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,0BAAkB,CAAC;QACxE,IAAA,mBAAO,EAAC,oBAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,0BAAkB,CAAC;KACvE,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,IAAA,oBAAU,EAAC,SAAS,CAAC,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,MAAM,QAAQ,GAAa,CAAC,0BAA0B,CAAC,CAAC;IAExD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CACX,oDAAoD,OAAO,CAAC,QAAQ,GAAG,CACxE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,wCAAwC;QACxC,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC;YACH,IAAA,iCAAY,EAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC1D,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CACX,0HAA0H,CAC3H,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CACX,+CAA+C,yBAAiB,GAAG,CACpE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACtC,CAAC;AAEY,QAAA,mBAAmB,GAAG;IACjC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACrF,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAC1F,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CACrF,CAAC;AAEF,SAAgB,wBAAwB,CAAC,MAA8D;IACrG,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACpF,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2FAA2F,EAAE,CAAC;YAC9H,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kGAAkG,EAAE,CAAC;YACrI,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,IAAI;QAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7D,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,OAAQ,CAAC,CAAC;AACzC,CAAC;AAGD,SAAgB,UAAU,CAAC,IAAc,EAAE,IAAY,EAAE,KAAkC;IACzF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,SAAgB,QAAQ,CAAC,GAAW;IAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC;AAClD,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IACrD,MAAM,QAAQ,GAAG,IAAA,mBAAO,EAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,IAAA,gBAAK,EAAC,IAAA,mBAAO,EAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAEM,KAAK,UAAU,cAAc,CAClC,UAAkB,EAClB,IAAc,EACd,UAAmC,EAAE;IAErC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,IAAI,0BAAkB,CAAC,CAAC;IACvE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;IAEvE,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvG,OAAO,MAAM,IAAI,OAAO,CAAyB,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE;QACjF,MAAM,KAAK,GAAG,IAAA,0BAAK,EAAC,UAAU,EAAE,IAAI,EAAE;YACpC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG;SACpE,CAAC,CAAC;QAEH,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,eAA2C,CAAC;QAChD,IAAI,cAAyC,CAAC;QAE9C,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,IAAA,2BAAiB,EAAC,UAAU,CAAC,CAAC;YACnD,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE;gBACjE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;gBACjD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YACzB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE;gBACjD,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE;YACjD,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,aAAa,CAAC,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAElB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YAED,QAAQ,GAAG,IAAI,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAErB,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,GAAG,IAAI,CAAC;YACd,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,eAAe,EAAE,CAAC;gBACpB,YAAY,CAAC,eAAe,CAAC,CAAC;YAChC,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,cAAc,CAAC;gBACvB,CAAC;gBAED,cAAc,CAAC;oBACb,cAAc,EAAE,UAAU;oBAC1B,IAAI;oBACJ,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;oBACnF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;oBAC9D,QAAQ;oBACR,MAAM;oBACN,QAAQ;oBACR,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACnC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,aAAa,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,cAAsB,EAAE,IAAc;IAC7D,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACrF,CAAC;AAED,SAAgB,YAAY,CAAC,MAA8B,EAAE,UAA2B,EAAE;IACxF,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,KAAK,CAAC;IAC7D,MAAM,qBAAqB,GACzB,iBAAiB,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IACtG,MAAM,OAAO,GACX,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;QACnD,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,iBAAiB,CAAC;QACvC,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAErD,MAAM,KAAK,GAAa;QACtB,eAAe,MAAM,CAAC,cAAc,EAAE;QACtC,YAAY,eAAe,CAAC,IAAA,oBAAQ,EAAC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;QAC3E,cAAc,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QAC3E,aAAa,MAAM,CAAC,UAAU,IAAI;KACnC,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,cAAc,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO;KACR,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,UAAkB,EAClB,IAAc,EACd,OAAiC,EACjC,eAAiC;IAEjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,OAAO,EAAE,EAAE,CAAC;YACrG,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,SAAS,CAAC,IAAc,EAAE,OAAiC,EAAE,eAAiC;IAClH,OAAO,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;AAClF,CAAC;AAEM,KAAK,UAAU,SAAS,CAC7B,IAAc,EACd,OAAiC,EACjC,eAAiC;IAEjC,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACzF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;AAClE,CAAC"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PACKAGE_VERSION = exports.PACKAGE_NAME = void 0;
|
|
4
4
|
exports.PACKAGE_NAME = "mcp-baepsae";
|
|
5
|
-
exports.PACKAGE_VERSION = "
|
|
5
|
+
exports.PACKAGE_VERSION = "6.2.0";
|
|
6
6
|
//# sourceMappingURL=version.js.map
|
|
@@ -83,24 +83,43 @@ func handleTouch(_ parsed: ParsedOptions) throws -> Int32 {
|
|
|
83
83
|
}
|
|
84
84
|
let delay = try optionalDoubleOption("--delay", from: parsed) ?? 0
|
|
85
85
|
try activateTarget(target)
|
|
86
|
-
let point = try pointInWindow(x: x, y: y, for: target)
|
|
87
86
|
let downRequested = parsed.flags.contains("--down")
|
|
88
87
|
let upRequested = parsed.flags.contains("--up")
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
88
|
+
let backend = resolveInputBackend(for: target)
|
|
89
|
+
switch backend {
|
|
90
|
+
case .indigoHID(let client):
|
|
91
|
+
let (nx, ny) = client.coords.normalize(x: x, y: y)
|
|
92
|
+
if !downRequested && !upRequested {
|
|
93
|
+
if let msg = client.loader.createTouchMessage(phase: .began, x: nx, y: ny) {
|
|
94
|
+
_ = sendIndigoHIDMessage(msg, to: client.port)
|
|
95
|
+
}
|
|
96
|
+
if delay > 0 { Thread.sleep(forTimeInterval: delay) }
|
|
97
|
+
if let msg = client.loader.createTouchMessage(phase: .ended, x: nx, y: ny) {
|
|
98
|
+
_ = sendIndigoHIDMessage(msg, to: client.port)
|
|
99
|
+
}
|
|
100
|
+
} else {
|
|
101
|
+
if downRequested {
|
|
102
|
+
if let msg = client.loader.createTouchMessage(phase: .began, x: nx, y: ny) {
|
|
103
|
+
_ = sendIndigoHIDMessage(msg, to: client.port)
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if delay > 0 { Thread.sleep(forTimeInterval: delay) }
|
|
107
|
+
if upRequested {
|
|
108
|
+
if let msg = client.loader.createTouchMessage(phase: .ended, x: nx, y: ny) {
|
|
109
|
+
_ = sendIndigoHIDMessage(msg, to: client.port)
|
|
110
|
+
}
|
|
111
|
+
}
|
|
93
112
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
if downRequested {
|
|
113
|
+
case .cgevent:
|
|
114
|
+
let point = try pointInWindow(x: x, y: y, for: target)
|
|
115
|
+
if !downRequested && !upRequested {
|
|
97
116
|
postMouseEvent(type: .leftMouseDown, point: point)
|
|
98
|
-
|
|
99
|
-
if delay > 0 {
|
|
100
|
-
Thread.sleep(forTimeInterval: delay)
|
|
101
|
-
}
|
|
102
|
-
if upRequested {
|
|
117
|
+
if delay > 0 { Thread.sleep(forTimeInterval: delay) }
|
|
103
118
|
postMouseEvent(type: .leftMouseUp, point: point)
|
|
119
|
+
} else {
|
|
120
|
+
if downRequested { postMouseEvent(type: .leftMouseDown, point: point) }
|
|
121
|
+
if delay > 0 { Thread.sleep(forTimeInterval: delay) }
|
|
122
|
+
if upRequested { postMouseEvent(type: .leftMouseUp, point: point) }
|
|
104
123
|
}
|
|
105
124
|
}
|
|
106
125
|
return 0
|
|
@@ -119,39 +138,40 @@ func handleGesture(_ parsed: ParsedOptions) throws -> Int32 {
|
|
|
119
138
|
let screenHeight = try optionalDoubleOption("--screen-height", from: parsed)
|
|
120
139
|
try ensureAccessibilityTrusted()
|
|
121
140
|
try activateTarget(target)
|
|
122
|
-
let
|
|
123
|
-
let
|
|
124
|
-
let
|
|
141
|
+
let targetUdid = simulatorUdid(from: target)
|
|
142
|
+
let preferredBounds = simulatorContentBounds(udid: targetUdid)
|
|
143
|
+
let width = screenWidth ?? Double(preferredBounds?.width ?? 0)
|
|
144
|
+
let height = screenHeight ?? Double(preferredBounds?.height ?? 0)
|
|
125
145
|
if width <= 0 || height <= 0 {
|
|
126
|
-
throw NativeError.commandFailed("Unable to determine simulator
|
|
146
|
+
throw NativeError.commandFailed("Unable to determine simulator content size; provide screenWidth/screenHeight.")
|
|
127
147
|
}
|
|
128
148
|
let start: CGPoint
|
|
129
149
|
let end: CGPoint
|
|
130
150
|
switch preset {
|
|
131
151
|
case "scroll-up":
|
|
132
|
-
start = try
|
|
133
|
-
end = try
|
|
152
|
+
start = try pointInSimulatorContent(x: width * 0.5, y: height * 0.7, udid: targetUdid)
|
|
153
|
+
end = try pointInSimulatorContent(x: width * 0.5, y: height * 0.3, udid: targetUdid)
|
|
134
154
|
case "scroll-down":
|
|
135
|
-
start = try
|
|
136
|
-
end = try
|
|
155
|
+
start = try pointInSimulatorContent(x: width * 0.5, y: height * 0.3, udid: targetUdid)
|
|
156
|
+
end = try pointInSimulatorContent(x: width * 0.5, y: height * 0.7, udid: targetUdid)
|
|
137
157
|
case "scroll-left":
|
|
138
|
-
start = try
|
|
139
|
-
end = try
|
|
158
|
+
start = try pointInSimulatorContent(x: width * 0.7, y: height * 0.5, udid: targetUdid)
|
|
159
|
+
end = try pointInSimulatorContent(x: width * 0.3, y: height * 0.5, udid: targetUdid)
|
|
140
160
|
case "scroll-right":
|
|
141
|
-
start = try
|
|
142
|
-
end = try
|
|
161
|
+
start = try pointInSimulatorContent(x: width * 0.3, y: height * 0.5, udid: targetUdid)
|
|
162
|
+
end = try pointInSimulatorContent(x: width * 0.7, y: height * 0.5, udid: targetUdid)
|
|
143
163
|
case "swipe-from-left-edge":
|
|
144
|
-
start = try
|
|
145
|
-
end = try
|
|
164
|
+
start = try pointInSimulatorContent(x: width * 0.05, y: height * 0.5, udid: targetUdid)
|
|
165
|
+
end = try pointInSimulatorContent(x: width * 0.6, y: height * 0.5, udid: targetUdid)
|
|
146
166
|
case "swipe-from-right-edge":
|
|
147
|
-
start = try
|
|
148
|
-
end = try
|
|
167
|
+
start = try pointInSimulatorContent(x: width * 0.95, y: height * 0.5, udid: targetUdid)
|
|
168
|
+
end = try pointInSimulatorContent(x: width * 0.4, y: height * 0.5, udid: targetUdid)
|
|
149
169
|
case "swipe-from-top-edge":
|
|
150
|
-
start = try
|
|
151
|
-
end = try
|
|
170
|
+
start = try pointInSimulatorContent(x: width * 0.5, y: height * 0.05, udid: targetUdid)
|
|
171
|
+
end = try pointInSimulatorContent(x: width * 0.5, y: height * 0.6, udid: targetUdid)
|
|
152
172
|
case "swipe-from-bottom-edge":
|
|
153
|
-
start = try
|
|
154
|
-
end = try
|
|
173
|
+
start = try pointInSimulatorContent(x: width * 0.5, y: height * 0.95, udid: targetUdid)
|
|
174
|
+
end = try pointInSimulatorContent(x: width * 0.5, y: height * 0.4, udid: targetUdid)
|
|
155
175
|
default:
|
|
156
176
|
throw NativeError.invalidArguments("Unsupported gesture preset: \(preset)")
|
|
157
177
|
}
|
|
@@ -2,6 +2,37 @@ import AppKit
|
|
|
2
2
|
import CoreGraphics
|
|
3
3
|
import Foundation
|
|
4
4
|
|
|
5
|
+
private struct DoctorReport: Codable {
|
|
6
|
+
struct Check: Codable {
|
|
7
|
+
let ok: Bool
|
|
8
|
+
let detail: String
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
let host: Check
|
|
12
|
+
let parent: Check
|
|
13
|
+
let nativeBinary: Check
|
|
14
|
+
let simulator: Check
|
|
15
|
+
let accessibility: Check
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
private func shellCapture(_ command: String, _ arguments: [String]) -> String? {
|
|
19
|
+
let process = Process()
|
|
20
|
+
process.executableURL = URL(fileURLWithPath: command)
|
|
21
|
+
process.arguments = arguments
|
|
22
|
+
let pipe = Pipe()
|
|
23
|
+
process.standardOutput = pipe
|
|
24
|
+
process.standardError = FileHandle.nullDevice
|
|
25
|
+
do {
|
|
26
|
+
try process.run()
|
|
27
|
+
process.waitUntilExit()
|
|
28
|
+
guard process.terminationStatus == 0 else { return nil }
|
|
29
|
+
let data = pipe.fileHandleForReading.readDataToEndOfFile()
|
|
30
|
+
return String(data: data, encoding: .utf8)?.trimmingCharacters(in: .whitespacesAndNewlines)
|
|
31
|
+
} catch {
|
|
32
|
+
return nil
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
5
36
|
func handleListApps(_ parsed: ParsedOptions) throws -> Int32 {
|
|
6
37
|
let apps = NSWorkspace.shared.runningApplications.filter { $0.activationPolicy == .regular }
|
|
7
38
|
for app in apps {
|
|
@@ -13,6 +44,61 @@ func handleListApps(_ parsed: ParsedOptions) throws -> Int32 {
|
|
|
13
44
|
return 0
|
|
14
45
|
}
|
|
15
46
|
|
|
47
|
+
func handleDoctor(_ parsed: ParsedOptions) throws -> Int32 {
|
|
48
|
+
var systemInfo = utsname()
|
|
49
|
+
uname(&systemInfo)
|
|
50
|
+
let machine = withUnsafePointer(to: &systemInfo.machine) {
|
|
51
|
+
$0.withMemoryRebound(to: CChar.self, capacity: 1) { String(cString: $0) }
|
|
52
|
+
}
|
|
53
|
+
let hostDetail = "\(ProcessInfo.processInfo.operatingSystemVersionString); arch=\(machine)"
|
|
54
|
+
let parentPid = getppid()
|
|
55
|
+
let parentDetail = shellCapture("/bin/ps", ["-p", String(parentPid), "-o", "pid=,ppid=,comm="]) ?? "unknown"
|
|
56
|
+
|
|
57
|
+
let nativeBinaryDetail = CommandLine.arguments.first ?? "baepsae-native"
|
|
58
|
+
let nativeBinaryOk = !nativeBinaryDetail.isEmpty
|
|
59
|
+
|
|
60
|
+
let simulatorAppRunning = NSRunningApplication.runningApplications(withBundleIdentifier: "com.apple.iphonesimulator").first != nil
|
|
61
|
+
let bootedDevicesOutput = shellCapture("/usr/bin/xcrun", ["simctl", "list", "devices", "booted"])
|
|
62
|
+
let bootedSimulatorAvailable = bootedDevicesOutput?.contains("(Booted)") ?? false
|
|
63
|
+
let simulatorDetail: String
|
|
64
|
+
if bootedSimulatorAvailable {
|
|
65
|
+
simulatorDetail = simulatorAppRunning
|
|
66
|
+
? "Booted simulator available and Simulator app is running"
|
|
67
|
+
: "Booted simulator available"
|
|
68
|
+
} else if simulatorAppRunning {
|
|
69
|
+
simulatorDetail = "Simulator app is running, but no booted simulator was detected"
|
|
70
|
+
} else if bootedDevicesOutput == nil {
|
|
71
|
+
simulatorDetail = "Could not query booted simulators via simctl"
|
|
72
|
+
} else {
|
|
73
|
+
simulatorDetail = "Simulator app is not running and no booted simulator was detected"
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
let accessibilityTrusted = AXIsProcessTrusted()
|
|
77
|
+
let accessibilityDetail = accessibilityTrusted
|
|
78
|
+
? "Accessibility permission granted"
|
|
79
|
+
: "Accessibility permission missing"
|
|
80
|
+
|
|
81
|
+
let report = DoctorReport(
|
|
82
|
+
host: .init(ok: true, detail: hostDetail),
|
|
83
|
+
parent: .init(ok: !parentDetail.isEmpty, detail: parentDetail),
|
|
84
|
+
nativeBinary: .init(ok: nativeBinaryOk, detail: nativeBinaryDetail),
|
|
85
|
+
simulator: .init(ok: bootedSimulatorAvailable, detail: simulatorDetail),
|
|
86
|
+
accessibility: .init(ok: accessibilityTrusted, detail: accessibilityDetail)
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
let encoder = JSONEncoder()
|
|
90
|
+
encoder.outputFormatting = [.prettyPrinted, .sortedKeys]
|
|
91
|
+
guard let data = try? encoder.encode(report), let json = String(data: data, encoding: .utf8) else {
|
|
92
|
+
throw NativeError.commandFailed("Failed to encode doctor report.")
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
print("Doctor check completed.")
|
|
96
|
+
print("host=\(report.host.ok ? "ok" : "warn") parent=\(report.parent.ok ? "ok" : "warn") native=\(report.nativeBinary.ok ? "ok" : "warn") simulator=\(report.simulator.ok ? "ok" : "warn") accessibility=\(report.accessibility.ok ? "ok" : "warn")")
|
|
97
|
+
print("")
|
|
98
|
+
print(json)
|
|
99
|
+
return 0
|
|
100
|
+
}
|
|
101
|
+
|
|
16
102
|
func handleListWindows(_ parsed: ParsedOptions) throws -> Int32 {
|
|
17
103
|
let target = try resolveTarget(from: parsed)
|
|
18
104
|
guard let windowInfo = CGWindowListCopyWindowInfo([.optionOnScreenOnly, .excludeDesktopElements], kCGNullWindowID)
|