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.
Files changed (62) hide show
  1. package/README-KR.md +98 -33
  2. package/README.md +101 -35
  3. package/bundled/baepsae-native +0 -0
  4. package/dist/backend.d.ts +26 -0
  5. package/dist/backend.d.ts.map +1 -0
  6. package/dist/backend.js +79 -0
  7. package/dist/backend.js.map +1 -0
  8. package/dist/index.js +3 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/tool-manifest.d.ts +12 -0
  11. package/dist/tool-manifest.d.ts.map +1 -0
  12. package/dist/tool-manifest.js +79 -0
  13. package/dist/tool-manifest.js.map +1 -0
  14. package/dist/tools/info.d.ts.map +1 -1
  15. package/dist/tools/info.js +104 -5
  16. package/dist/tools/info.js.map +1 -1
  17. package/dist/tools/input.js +7 -6
  18. package/dist/tools/input.js.map +1 -1
  19. package/dist/tools/media.d.ts.map +1 -1
  20. package/dist/tools/media.js +137 -11
  21. package/dist/tools/media.js.map +1 -1
  22. package/dist/tools/simulator.js +7 -7
  23. package/dist/tools/simulator.js.map +1 -1
  24. package/dist/tools/system.d.ts.map +1 -1
  25. package/dist/tools/system.js +2 -2
  26. package/dist/tools/system.js.map +1 -1
  27. package/dist/tools/ui.d.ts.map +1 -1
  28. package/dist/tools/ui.js +126 -8
  29. package/dist/tools/ui.js.map +1 -1
  30. package/dist/tools/workflow.d.ts +3 -0
  31. package/dist/tools/workflow.d.ts.map +1 -0
  32. package/dist/tools/workflow.js +434 -0
  33. package/dist/tools/workflow.js.map +1 -0
  34. package/dist/types.d.ts +15 -0
  35. package/dist/types.d.ts.map +1 -1
  36. package/dist/utils.d.ts +19 -3
  37. package/dist/utils.d.ts.map +1 -1
  38. package/dist/utils.js +110 -5
  39. package/dist/utils.js.map +1 -1
  40. package/dist/version.d.ts +1 -1
  41. package/dist/version.js +1 -1
  42. package/native/Sources/Commands/InputCommands.swift +53 -33
  43. package/native/Sources/Commands/SystemCommands.swift +86 -0
  44. package/native/Sources/Commands/UICommands.swift +254 -35
  45. package/native/Sources/Commands/WindowCommands.swift +11 -4
  46. package/native/Sources/IndigoHID/IndigoHIDClient.swift +222 -0
  47. package/native/Sources/IndigoHID/IndigoHIDCoordinates.swift +74 -0
  48. package/native/Sources/IndigoHID/IndigoHIDEvents.swift +63 -0
  49. package/native/Sources/IndigoHID/IndigoHIDLoader.swift +102 -0
  50. package/native/Sources/IndigoHID/IndigoHIDTypes.swift +41 -0
  51. package/native/Sources/Types.swift +26 -0
  52. package/native/Sources/Utils.swift +653 -13
  53. package/native/Sources/Version.swift +1 -1
  54. package/native/Sources/main.swift +55 -8
  55. package/native/Tests/BaepsaeNativeTests/BinaryInvocationTests.swift +54 -6
  56. package/package.json +12 -3
  57. package/scripts/dump-tabbar-actions.mjs +312 -0
  58. package/scripts/generate-tool-manifest.mjs +75 -0
  59. package/scripts/research-coordinate-calibration.mjs +276 -0
  60. package/scripts/research-input-channels.mjs +327 -0
  61. package/scripts/research-tap-tab-grid.mjs +271 -0
  62. package/scripts/verify-media-capture.mjs +99 -0
@@ -0,0 +1,434 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerWorkflowTools = registerWorkflowTools;
4
+ const zod_1 = require("zod");
5
+ const utils_js_1 = require("../utils.js");
6
+ const workflowStepSchema = zod_1.z.object({
7
+ tool: zod_1.z.enum(["tap", "type_text", "key", "swipe", "sleep"]),
8
+ x: zod_1.z.number().optional().describe("X coordinate"),
9
+ y: zod_1.z.number().optional().describe("Y coordinate"),
10
+ id: zod_1.z.string().optional().describe("Accessibility identifier"),
11
+ label: zod_1.z.string().optional().describe("Accessibility label"),
12
+ all: zod_1.z.boolean().optional().describe("Include Simulator chrome/system UI for selector lookup"),
13
+ double: zod_1.z.boolean().optional().describe("Send double-click instead of single click"),
14
+ preDelay: zod_1.z.number().optional().describe("Delay before tap or swipe in seconds"),
15
+ postDelay: zod_1.z.number().optional().describe("Delay after tap or swipe in seconds"),
16
+ waitTimeout: zod_1.z.number().min(0).optional().describe("Selector wait/retry window for tap steps, in milliseconds"),
17
+ pollInterval: zod_1.z.number().min(1).optional().describe("Polling interval for selector wait/retry, in milliseconds"),
18
+ text: zod_1.z.string().optional().describe("Text argument"),
19
+ stdinText: zod_1.z.string().optional().describe("Text piped to stdin mode"),
20
+ file: zod_1.z.string().optional().describe("Path for file input"),
21
+ method: zod_1.z.enum(["auto", "paste", "keyboard"]).optional().describe("Input method policy"),
22
+ keycode: zod_1.z.number().int().min(0).max(255).optional().describe("HID keycode (0-255)"),
23
+ duration: zod_1.z.number().min(0).optional().describe("Hold or wait duration in seconds"),
24
+ startX: zod_1.z.number().optional().describe("Start X"),
25
+ startY: zod_1.z.number().optional().describe("Start Y"),
26
+ endX: zod_1.z.number().optional().describe("End X"),
27
+ endY: zod_1.z.number().optional().describe("End Y"),
28
+ });
29
+ const workflowSchema = {
30
+ ...utils_js_1.unifiedTargetSchema,
31
+ continueOnError: zod_1.z.boolean().optional().describe("Continue executing later steps after a step fails"),
32
+ continue_on_error: zod_1.z.boolean().optional().describe("Alias of continueOnError"),
33
+ steps: zod_1.z.array(workflowStepSchema).min(1).describe("Ordered steps to execute"),
34
+ };
35
+ function makeValidationError(message, code) {
36
+ return {
37
+ content: [{ type: "text", text: message }],
38
+ isError: true,
39
+ error: (0, utils_js_1.makeToolError)({
40
+ code,
41
+ category: "validation",
42
+ message,
43
+ }),
44
+ };
45
+ }
46
+ function resolveOptionalWorkflowTargetArgs(params) {
47
+ const targetCount = [params.udid, params.bundleId, params.appName].filter(Boolean).length;
48
+ if (targetCount === 0) {
49
+ return null;
50
+ }
51
+ const target = (0, utils_js_1.resolveUnifiedTargetArgs)(params);
52
+ if (!Array.isArray(target))
53
+ return target;
54
+ if (params.udid) {
55
+ return { targetArgs: target, targetKind: "simulator", targetLabel: `udid=${params.udid}` };
56
+ }
57
+ if (params.bundleId) {
58
+ return { targetArgs: target, targetKind: "macOS", targetLabel: `bundleId=${params.bundleId}` };
59
+ }
60
+ return { targetArgs: target, targetKind: "macOS", targetLabel: `appName=${params.appName}` };
61
+ }
62
+ function isToolTextResult(value) {
63
+ return typeof value === "object" && value !== null && "content" in value && "isError" in value;
64
+ }
65
+ function validateTapStep(step, stepIndex) {
66
+ const hasX = step.x !== undefined;
67
+ const hasY = step.y !== undefined;
68
+ const hasSelector = step.id !== undefined || step.label !== undefined;
69
+ if (hasX !== hasY) {
70
+ return makeValidationError(`Step ${stepIndex}: both x and y must be provided together.`, "validation.workflow.tap.coordinate_pair");
71
+ }
72
+ if (hasX && hasSelector) {
73
+ return makeValidationError(`Step ${stepIndex}: provide either x/y coordinates or id/label, not both.`, "validation.workflow.tap.selector_conflict");
74
+ }
75
+ if (!hasX && !step.id && !step.label) {
76
+ return makeValidationError(`Step ${stepIndex}: provide either x/y coordinates, id, or label.`, "validation.workflow.tap.selector_required");
77
+ }
78
+ return null;
79
+ }
80
+ function validateTypeStep(step, stepIndex) {
81
+ const modes = [step.text !== undefined, step.stdinText !== undefined, step.file !== undefined].filter(Boolean).length;
82
+ if (modes !== 1) {
83
+ return makeValidationError(`Step ${stepIndex}: provide exactly one of text, stdinText, or file.`, "validation.workflow.type.source_required");
84
+ }
85
+ return null;
86
+ }
87
+ function validateKeyStep(step, stepIndex) {
88
+ if (step.keycode === undefined) {
89
+ return makeValidationError(`Step ${stepIndex}: keycode is required.`, "validation.workflow.key.keycode_required");
90
+ }
91
+ return null;
92
+ }
93
+ function validateSwipeStep(step, stepIndex) {
94
+ const requiredFields = [step.startX, step.startY, step.endX, step.endY];
95
+ if (requiredFields.some((value) => value === undefined)) {
96
+ return makeValidationError(`Step ${stepIndex}: startX, startY, endX, and endY are required.`, "validation.workflow.swipe.coordinates_required");
97
+ }
98
+ return null;
99
+ }
100
+ function buildTapArgs(targetArgs, step) {
101
+ const args = ["tap"];
102
+ (0, utils_js_1.pushOption)(args, "-x", step.x);
103
+ (0, utils_js_1.pushOption)(args, "-y", step.y);
104
+ (0, utils_js_1.pushOption)(args, "--id", step.id);
105
+ (0, utils_js_1.pushOption)(args, "--label", step.label);
106
+ if (step.all)
107
+ args.push("--all");
108
+ if (step.double)
109
+ args.push("--double");
110
+ (0, utils_js_1.pushOption)(args, "--pre-delay", step.preDelay);
111
+ (0, utils_js_1.pushOption)(args, "--post-delay", step.postDelay);
112
+ args.push(...targetArgs);
113
+ return args;
114
+ }
115
+ function buildTypeArgs(targetArgs, step) {
116
+ const args = ["type"];
117
+ if (step.text !== undefined)
118
+ args.push(step.text);
119
+ if (step.stdinText !== undefined)
120
+ args.push("--stdin");
121
+ if (step.file !== undefined)
122
+ args.push("--file", step.file);
123
+ if (step.method !== undefined)
124
+ args.push("--method", step.method);
125
+ args.push(...targetArgs);
126
+ return { args, stdinText: step.stdinText };
127
+ }
128
+ function buildKeyArgs(targetArgs, step) {
129
+ const args = ["key", String(step.keycode)];
130
+ (0, utils_js_1.pushOption)(args, "--duration", step.duration);
131
+ args.push(...targetArgs);
132
+ return args;
133
+ }
134
+ function buildSwipeArgs(targetArgs, step) {
135
+ const args = [
136
+ "swipe",
137
+ "--start-x",
138
+ String(step.startX),
139
+ "--start-y",
140
+ String(step.startY),
141
+ "--end-x",
142
+ String(step.endX),
143
+ "--end-y",
144
+ String(step.endY),
145
+ ];
146
+ (0, utils_js_1.pushOption)(args, "--duration", step.duration);
147
+ (0, utils_js_1.pushOption)(args, "--pre-delay", step.preDelay);
148
+ (0, utils_js_1.pushOption)(args, "--post-delay", step.postDelay);
149
+ args.push(...targetArgs);
150
+ return args;
151
+ }
152
+ function sleepMs(durationMs) {
153
+ return new Promise((resolve) => setTimeout(resolve, durationMs));
154
+ }
155
+ function indent(text, prefix = " ") {
156
+ return text
157
+ .split(/\r?\n/)
158
+ .map((line) => `${prefix}${line}`)
159
+ .join("\n");
160
+ }
161
+ function extractText(result) {
162
+ return result.content
163
+ .filter((item) => item.type === "text")
164
+ .map((item) => item.text)
165
+ .join("\n")
166
+ .trim();
167
+ }
168
+ function hasSelectorTap(step) {
169
+ return step.tool === "tap" && (step.id !== undefined || step.label !== undefined);
170
+ }
171
+ function isRetryableSelectorTapFailure(step, result) {
172
+ if (!hasSelectorTap(step) || !result.isError || !result.error)
173
+ return false;
174
+ const error = result.error;
175
+ if (error.source !== "native")
176
+ return false;
177
+ if (error.category === "validation" || error.category === "permission" || error.category === "unsupported" || error.category === "environment") {
178
+ return false;
179
+ }
180
+ const code = error.code.toLowerCase();
181
+ const text = `${error.message}\n${extractText(result)}`.toLowerCase();
182
+ return (code.includes("selector_not_found") ||
183
+ (error.category === "availability" && code === "availability.target_unavailable" && text.includes("no accessibility element matched")));
184
+ }
185
+ function formatAttemptMessage(baseMessage, attempts) {
186
+ if (attempts <= 1)
187
+ return baseMessage;
188
+ return `${baseMessage} after ${attempts} attempt(s)`;
189
+ }
190
+ function formatStepLabel(step) {
191
+ switch (step.tool) {
192
+ case "tap":
193
+ if (step.x !== undefined && step.y !== undefined)
194
+ return `tap (${step.x}, ${step.y})`;
195
+ if (step.id)
196
+ return `tap id=${step.id}`;
197
+ if (step.label)
198
+ return `tap label=${step.label}`;
199
+ return "tap";
200
+ case "type_text":
201
+ if (step.text !== undefined)
202
+ return `type_text text=${JSON.stringify(step.text)}`;
203
+ if (step.stdinText !== undefined)
204
+ return "type_text stdinText";
205
+ if (step.file !== undefined)
206
+ return `type_text file=${step.file}`;
207
+ return "type_text";
208
+ case "key":
209
+ return `key ${step.keycode}`;
210
+ case "swipe":
211
+ return `swipe (${step.startX}, ${step.startY}) → (${step.endX}, ${step.endY})`;
212
+ case "sleep":
213
+ return `sleep ${step.duration ?? 0}s`;
214
+ }
215
+ }
216
+ async function executeWorkflowStep(step, targetArgs, stepIndex, total) {
217
+ const startedAt = Date.now();
218
+ const stepLabel = formatStepLabel(step);
219
+ if (step.tool !== "sleep" && !targetArgs) {
220
+ return makeValidationError(`Step ${stepIndex}: a target is required for ${step.tool} steps.`, "validation.workflow.target_required");
221
+ }
222
+ switch (step.tool) {
223
+ case "tap": {
224
+ const validationError = validateTapStep(step, stepIndex);
225
+ if (validationError)
226
+ return validationError;
227
+ const waitTimeoutMs = step.waitTimeout ?? 0;
228
+ const pollIntervalMs = step.pollInterval ?? 250;
229
+ const shouldWaitForSelector = hasSelectorTap(step) && waitTimeoutMs > 0;
230
+ const deadlineMs = startedAt + waitTimeoutMs;
231
+ let attempts = 0;
232
+ while (true) {
233
+ attempts += 1;
234
+ const result = await (0, utils_js_1.runNative)(buildTapArgs(targetArgs, step));
235
+ if (!result.isError) {
236
+ return {
237
+ index: stepIndex,
238
+ total,
239
+ tool: step.tool,
240
+ status: "success",
241
+ durationMs: Date.now() - startedAt,
242
+ message: formatAttemptMessage(`${stepLabel} completed`, attempts),
243
+ attempts,
244
+ };
245
+ }
246
+ const retryableFailure = isRetryableSelectorTapFailure(step, result);
247
+ if (!shouldWaitForSelector || !retryableFailure || Date.now() >= deadlineMs) {
248
+ const text = extractText(result);
249
+ return {
250
+ index: stepIndex,
251
+ total,
252
+ tool: step.tool,
253
+ status: "failed",
254
+ durationMs: Date.now() - startedAt,
255
+ message: formatAttemptMessage(text || `${stepLabel} failed`, attempts),
256
+ nativeText: text || undefined,
257
+ attempts,
258
+ retryableFailure: result.error?.retryable ?? false,
259
+ };
260
+ }
261
+ const remainingMs = deadlineMs - Date.now();
262
+ if (remainingMs > 0) {
263
+ await sleepMs(Math.min(Math.max(1, pollIntervalMs), remainingMs));
264
+ }
265
+ }
266
+ }
267
+ case "type_text": {
268
+ const validationError = validateTypeStep(step, stepIndex);
269
+ if (validationError)
270
+ return validationError;
271
+ const built = buildTypeArgs(targetArgs, step);
272
+ const result = await (0, utils_js_1.runNative)(built.args, { stdinText: built.stdinText });
273
+ return {
274
+ index: stepIndex,
275
+ total,
276
+ tool: step.tool,
277
+ status: result.isError ? "failed" : "success",
278
+ durationMs: Date.now() - startedAt,
279
+ message: result.isError ? extractText(result) || `${stepLabel} failed` : `${stepLabel} completed`,
280
+ nativeText: result.isError ? extractText(result) : undefined,
281
+ attempts: 1,
282
+ retryableFailure: result.error?.retryable ?? false,
283
+ };
284
+ }
285
+ case "key": {
286
+ const validationError = validateKeyStep(step, stepIndex);
287
+ if (validationError)
288
+ return validationError;
289
+ const result = await (0, utils_js_1.runNative)(buildKeyArgs(targetArgs, step));
290
+ return {
291
+ index: stepIndex,
292
+ total,
293
+ tool: step.tool,
294
+ status: result.isError ? "failed" : "success",
295
+ durationMs: Date.now() - startedAt,
296
+ message: result.isError ? extractText(result) || `${stepLabel} failed` : `${stepLabel} completed`,
297
+ nativeText: result.isError ? extractText(result) : undefined,
298
+ attempts: 1,
299
+ retryableFailure: result.error?.retryable ?? false,
300
+ };
301
+ }
302
+ case "swipe": {
303
+ const validationError = validateSwipeStep(step, stepIndex);
304
+ if (validationError)
305
+ return validationError;
306
+ const result = await (0, utils_js_1.runNative)(buildSwipeArgs(targetArgs, step));
307
+ return {
308
+ index: stepIndex,
309
+ total,
310
+ tool: step.tool,
311
+ status: result.isError ? "failed" : "success",
312
+ durationMs: Date.now() - startedAt,
313
+ message: result.isError ? extractText(result) || `${stepLabel} failed` : `${stepLabel} completed`,
314
+ nativeText: result.isError ? extractText(result) : undefined,
315
+ attempts: 1,
316
+ retryableFailure: result.error?.retryable ?? false,
317
+ };
318
+ }
319
+ case "sleep": {
320
+ const durationSeconds = step.duration ?? 0;
321
+ await new Promise((resolve) => setTimeout(resolve, Math.max(0, durationSeconds) * 1000));
322
+ return {
323
+ index: stepIndex,
324
+ total,
325
+ tool: step.tool,
326
+ status: "success",
327
+ durationMs: Date.now() - startedAt,
328
+ message: `slept for ${durationSeconds}s`,
329
+ attempts: 1,
330
+ retryableFailure: false,
331
+ };
332
+ }
333
+ }
334
+ }
335
+ function buildWorkflowSummary(stepResults, continueOnError, targetLabel) {
336
+ const successCount = stepResults.filter((step) => step.status === "success").length;
337
+ const failedCount = stepResults.filter((step) => step.status === "failed").length;
338
+ const skippedCount = stepResults.filter((step) => step.status === "skipped").length;
339
+ const retryableFailureCount = stepResults.filter((step) => step.status === "failed" && step.retryableFailure).length;
340
+ const lines = [
341
+ `Workflow target: ${targetLabel}`,
342
+ `Execution policy: ${continueOnError ? "continue_on_error" : "fail-fast"}`,
343
+ "",
344
+ ];
345
+ for (const step of stepResults) {
346
+ const emoji = step.status === "success" ? "✅" : step.status === "failed" ? "❌" : "⏭️";
347
+ lines.push(`Step ${step.index}/${step.total} ${emoji} ${step.tool} — ${step.status} (${step.durationMs}ms): ${step.message}`);
348
+ if (step.nativeText) {
349
+ lines.push(indent(step.nativeText, " "));
350
+ }
351
+ }
352
+ lines.push("", `Final summary: ${successCount} succeeded, ${failedCount} failed, ${skippedCount} skipped. Status: ${failedCount > 0 ? "failure" : "success"}.`);
353
+ return { text: lines.join("\n"), failedCount, successCount, skippedCount, retryableFailureCount };
354
+ }
355
+ function registerWorkflowTools(server) {
356
+ server.tool("run_steps", "Execute ordered workflow steps using existing tap, type_text, key, swipe, and sleep behavior. Defaults to fail-fast; set continueOnError or continue_on_error to keep going after a failure.", workflowSchema, async (params) => {
357
+ const workflowParams = params;
358
+ const steps = workflowParams.steps;
359
+ const continueOnError = workflowParams.continueOnError ?? workflowParams.continue_on_error ?? false;
360
+ const targetResolution = resolveOptionalWorkflowTargetArgs(workflowParams);
361
+ if (targetResolution && isToolTextResult(targetResolution)) {
362
+ return targetResolution;
363
+ }
364
+ const targetArgs = targetResolution ? targetResolution.targetArgs : null;
365
+ const targetLabel = targetResolution ? targetResolution.targetLabel : "none (sleep-only workflow)";
366
+ const targetKind = targetResolution ? targetResolution.targetKind : null;
367
+ const stepResults = [];
368
+ let encounteredFailure = false;
369
+ for (let index = 0; index < steps.length; index += 1) {
370
+ const stepNumber = index + 1;
371
+ const step = steps[index];
372
+ if (encounteredFailure && !continueOnError) {
373
+ stepResults.push({
374
+ index: stepNumber,
375
+ total: steps.length,
376
+ tool: step.tool,
377
+ status: "skipped",
378
+ durationMs: 0,
379
+ message: "skipped because fail-fast stopped the workflow",
380
+ });
381
+ continue;
382
+ }
383
+ const outcome = await executeWorkflowStep(step, targetArgs, stepNumber, steps.length);
384
+ if (isToolTextResult(outcome)) {
385
+ return outcome;
386
+ }
387
+ stepResults.push(outcome);
388
+ if (outcome.status === "failed") {
389
+ encounteredFailure = true;
390
+ if (!continueOnError) {
391
+ for (let skippedIndex = index + 1; skippedIndex < steps.length; skippedIndex += 1) {
392
+ const skippedStep = steps[skippedIndex];
393
+ stepResults.push({
394
+ index: skippedIndex + 1,
395
+ total: steps.length,
396
+ tool: skippedStep.tool,
397
+ status: "skipped",
398
+ durationMs: 0,
399
+ message: "skipped because fail-fast stopped the workflow",
400
+ });
401
+ }
402
+ break;
403
+ }
404
+ }
405
+ }
406
+ const summary = buildWorkflowSummary(stepResults, continueOnError, targetLabel);
407
+ const isError = summary.failedCount > 0;
408
+ return {
409
+ content: [{ type: "text", text: summary.text }],
410
+ isError,
411
+ error: isError
412
+ ? (0, utils_js_1.makeToolError)({
413
+ code: summary.failedCount > 1 ? "workflow.steps_failed" : "workflow.step_failed",
414
+ category: "execution",
415
+ message: `${summary.failedCount} workflow step(s) failed.`,
416
+ retryable: summary.failedCount === summary.retryableFailureCount,
417
+ })
418
+ : undefined,
419
+ metadata: {
420
+ continueOnError,
421
+ targetLabel,
422
+ targetKind,
423
+ stepResults,
424
+ summary: {
425
+ successCount: summary.successCount,
426
+ failedCount: summary.failedCount,
427
+ skippedCount: summary.skippedCount,
428
+ total: steps.length,
429
+ },
430
+ },
431
+ };
432
+ });
433
+ }
434
+ //# sourceMappingURL=workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -9,6 +9,19 @@ export type ToolTextResult = {
9
9
  text: string;
10
10
  }>;
11
11
  isError: boolean;
12
+ error?: ToolError;
13
+ metadata?: Record<string, unknown>;
14
+ };
15
+ export type ToolErrorSource = "mcp" | "native" | "runtime" | "simctl";
16
+ export type ToolErrorCategory = "validation" | "environment" | "execution" | "permission" | "availability" | "unsupported" | "timeout" | "unknown";
17
+ export type ToolError = {
18
+ code: string;
19
+ category: ToolErrorCategory;
20
+ retryable: boolean;
21
+ source: ToolErrorSource;
22
+ message: string;
23
+ nativeCode?: string;
24
+ details?: string[];
12
25
  };
13
26
  export interface CommandExecutionOptions {
14
27
  timeoutMs?: number;
@@ -30,5 +43,7 @@ export interface CommandExecutionResult {
30
43
  export interface ResponseOptions {
31
44
  timeoutIsExpected?: boolean;
32
45
  extraLines?: string[];
46
+ source?: ToolErrorSource;
47
+ metadata?: Record<string, unknown>;
33
48
  }
34
49
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AACtE,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,aAAa,GACb,WAAW,GACX,YAAY,GACZ,cAAc,GACd,aAAa,GACb,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC"}
package/dist/utils.d.ts CHANGED
@@ -1,15 +1,24 @@
1
1
  import { z } from "zod";
2
- import type { ToolTextResult, CommandExecutionOptions, CommandExecutionResult, ResponseOptions } from "./types.js";
2
+ import type { ToolTextResult, CommandExecutionOptions, CommandExecutionResult, ResponseOptions, ToolError, ToolErrorCategory, ToolErrorSource } from "./types.js";
3
3
  export declare const PACKAGE_ROOT: string;
4
4
  export declare const SERVER_NAME = "mcp-baepsae";
5
- export declare const SERVER_VERSION = "5.1.0";
5
+ export declare const SERVER_VERSION = "6.2.0";
6
6
  export declare const DEFAULT_TIMEOUT_MS = 30000;
7
7
  export declare const NATIVE_BINARY_ENV = "BAEPSAE_NATIVE_PATH";
8
8
  export declare const NATIVE_BINARY_NAME: string;
9
9
  export declare const BUTTON_TYPES: readonly ["apple-pay", "home", "lock", "side-button", "siri"];
10
10
  export declare const GESTURE_PRESETS: readonly ["scroll-up", "scroll-down", "scroll-left", "scroll-right", "swipe-from-left-edge", "swipe-from-right-edge", "swipe-from-top-edge", "swipe-from-bottom-edge"];
11
- export declare const BAEPSAE_SUBCOMMANDS: readonly ["describe-ui", "search-ui", "list-simulators", "list-apps", "tap", "type", "swipe", "button", "key", "key-sequence", "key-combo", "touch", "gesture", "stream-video", "record-video", "screenshot", "list-windows", "activate-app", "screenshot-app", "right-click", "scroll", "drag-drop", "menu-action", "get-focused-app", "clipboard"];
11
+ export declare const BAEPSAE_SUBCOMMANDS: readonly ["describe-ui", "search-ui", "list-simulators", "list-apps", "doctor", "tap", "tap-tab", "type", "swipe", "button", "key", "key-sequence", "key-combo", "touch", "gesture", "stream-video", "record-video", "screenshot", "list-windows", "activate-app", "screenshot-app", "right-click", "scroll", "drag-drop", "menu-action", "get-focused-app", "clipboard"];
12
12
  export declare const keycodeSchema: z.ZodNumber;
13
+ export declare function makeToolError(params: {
14
+ code: string;
15
+ category: ToolErrorCategory;
16
+ message: string;
17
+ retryable?: boolean;
18
+ source?: ToolErrorSource;
19
+ nativeCode?: string;
20
+ details?: string[];
21
+ }): ToolError;
13
22
  export declare function isExecutable(filePath: string): boolean;
14
23
  export declare function resolveNativeBinary(): string;
15
24
  export declare const unifiedTargetSchema: {
@@ -29,4 +38,11 @@ export declare function executeCommand(executable: string, args: string[], optio
29
38
  export declare function toToolResult(result: CommandExecutionResult, options?: ResponseOptions): ToolTextResult;
30
39
  export declare function runSimctl(args: string[], options?: CommandExecutionOptions, responseOptions?: ResponseOptions): Promise<ToolTextResult>;
31
40
  export declare function runNative(args: string[], options?: CommandExecutionOptions, responseOptions?: ResponseOptions): Promise<ToolTextResult>;
41
+ export declare function tryResolveNativeBinaryPath(): {
42
+ ok: true;
43
+ path: string;
44
+ } | {
45
+ ok: false;
46
+ error: string;
47
+ };
32
48
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGnH,eAAO,MAAM,YAAY,QAA2B,CAAC;AACrD,eAAO,MAAM,WAAW,gBAAe,CAAC;AACxC,eAAO,MAAM,cAAc,UAAkB,CAAC;AAE9C,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AACvD,eAAO,MAAM,kBAAkB,QAAyE,CAAC;AAEzG,eAAO,MAAM,YAAY,+DAAgE,CAAC;AAC1F,eAAO,MAAM,eAAe,wKASlB,CAAC;AACX,eAAO,MAAM,mBAAmB,sVA0BtB,CAAC;AAEX,eAAO,MAAM,aAAa,aAAmC,CAAC;AAE9D,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAOtD;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAyD5C;AAED,eAAO,MAAM,mBAAmB;;;;CAI/B,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,EAAE,GAAG,cAAc,CAiBlI;AAGD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAIjG;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM5C;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIxE;AAED,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,sBAAsB,CAAC,CAwFjC;AAMD,wBAAgB,YAAY,CAAC,MAAM,EAAE,sBAAsB,EAAE,OAAO,GAAE,eAAoB,GAAG,cAAc,CAwC1G;AAoBD,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,uBAAuB,EAAE,eAAe,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAE7I;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE,uBAAuB,EACjC,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,cAAc,CAAC,CAWzB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlK,eAAO,MAAM,YAAY,QAA2B,CAAC;AACrD,eAAO,MAAM,WAAW,gBAAe,CAAC;AACxC,eAAO,MAAM,cAAc,UAAkB,CAAC;AAE9C,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AACvD,eAAO,MAAM,kBAAkB,QAAyE,CAAC;AAEzG,eAAO,MAAM,YAAY,+DAAgE,CAAC;AAC1F,eAAO,MAAM,eAAe,wKASlB,CAAC;AACX,eAAO,MAAM,mBAAmB,2WA4BtB,CAAC;AAEX,eAAO,MAAM,aAAa,aAAmC,CAAC;AAE9D,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,GAAG,SAAS,CAUZ;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAOtD;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAyD5C;AAED,eAAO,MAAM,mBAAmB;;;;CAI/B,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,EAAE,GAAG,cAAc,CA2BlI;AAGD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAIjG;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM5C;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIxE;AAED,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,sBAAsB,CAAC,CAwFjC;AAMD,wBAAgB,YAAY,CAAC,MAAM,EAAE,sBAAsB,EAAE,OAAO,GAAE,eAAoB,GAAG,cAAc,CAsD1G;AAuED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,uBAAuB,EAAE,eAAe,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAE7I;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE,uBAAuB,EACjC,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,cAAc,CAAC,CA4BzB;AAED,wBAAgB,0BAA0B,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAMtG"}