execbro 2.5.0 → 2.6.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 (57) hide show
  1. package/README.md +2 -0
  2. package/build/__tests__/unit/androidPinch.test.d.ts +2 -0
  3. package/build/__tests__/unit/androidPinch.test.d.ts.map +1 -0
  4. package/build/__tests__/unit/androidPinch.test.js +119 -0
  5. package/build/__tests__/unit/androidPinch.test.js.map +1 -0
  6. package/build/__tests__/unit/emulatorBridge.test.d.ts +2 -0
  7. package/build/__tests__/unit/emulatorBridge.test.d.ts.map +1 -0
  8. package/build/__tests__/unit/emulatorBridge.test.js +76 -0
  9. package/build/__tests__/unit/emulatorBridge.test.js.map +1 -0
  10. package/build/__tests__/unit/emulatorGrpc.test.d.ts +2 -0
  11. package/build/__tests__/unit/emulatorGrpc.test.d.ts.map +1 -0
  12. package/build/__tests__/unit/emulatorGrpc.test.js +33 -0
  13. package/build/__tests__/unit/emulatorGrpc.test.js.map +1 -0
  14. package/build/__tests__/unit/pinchGeometry.test.d.ts +2 -0
  15. package/build/__tests__/unit/pinchGeometry.test.d.ts.map +1 -0
  16. package/build/__tests__/unit/pinchGeometry.test.js +139 -0
  17. package/build/__tests__/unit/pinchGeometry.test.js.map +1 -0
  18. package/build/__tests__/unit/pinchTool.test.d.ts +2 -0
  19. package/build/__tests__/unit/pinchTool.test.d.ts.map +1 -0
  20. package/build/__tests__/unit/pinchTool.test.js +39 -0
  21. package/build/__tests__/unit/pinchTool.test.js.map +1 -0
  22. package/build/core/androidPinch.d.ts +21 -0
  23. package/build/core/androidPinch.d.ts.map +1 -0
  24. package/build/core/androidPinch.js +72 -0
  25. package/build/core/androidPinch.js.map +1 -0
  26. package/build/core/androidSystemBars.d.ts +7 -0
  27. package/build/core/androidSystemBars.d.ts.map +1 -0
  28. package/build/core/androidSystemBars.js +21 -0
  29. package/build/core/androidSystemBars.js.map +1 -0
  30. package/build/core/emulatorBridge.d.ts +17 -0
  31. package/build/core/emulatorBridge.d.ts.map +1 -0
  32. package/build/core/emulatorBridge.js +78 -0
  33. package/build/core/emulatorBridge.js.map +1 -0
  34. package/build/core/emulatorGrpc.d.ts +14 -0
  35. package/build/core/emulatorGrpc.d.ts.map +1 -0
  36. package/build/core/emulatorGrpc.js +93 -0
  37. package/build/core/emulatorGrpc.js.map +1 -0
  38. package/build/core/guides.d.ts.map +1 -1
  39. package/build/core/guides.js +18 -2
  40. package/build/core/guides.js.map +1 -1
  41. package/build/core/index.d.ts +2 -0
  42. package/build/core/index.d.ts.map +1 -1
  43. package/build/core/index.js +1 -0
  44. package/build/core/index.js.map +1 -1
  45. package/build/core/pinchGeometry.d.ts +28 -0
  46. package/build/core/pinchGeometry.d.ts.map +1 -0
  47. package/build/core/pinchGeometry.js +97 -0
  48. package/build/core/pinchGeometry.js.map +1 -0
  49. package/build/core/pinchThresholds.d.ts +14 -0
  50. package/build/core/pinchThresholds.d.ts.map +1 -0
  51. package/build/core/pinchThresholds.js +9 -0
  52. package/build/core/pinchThresholds.js.map +1 -0
  53. package/build/tools/interactionTools.d.ts.map +1 -1
  54. package/build/tools/interactionTools.js +190 -2
  55. package/build/tools/interactionTools.js.map +1 -1
  56. package/package.json +1 -1
  57. package/tools.json +15 -1
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { registerToolWithTelemetry } from "../core/register.js";
3
- import { androidLongPress, androidSwipe, androidInputText, androidKeyEvent, ANDROID_KEY_EVENTS, iosButton, iosInputText, iosSwipe, IOS_BUTTON_TYPES, getDevicePixelRatio, connectedApps, } from "../core/index.js";
3
+ import { androidLongPress, androidSwipe, androidPinch, androidInputText, androidKeyEvent, ANDROID_KEY_EVENTS, iosButton, iosInputText, iosSwipe, IOS_BUTTON_TYPES, getDevicePixelRatio, connectedApps, } from "../core/index.js";
4
4
  import { tap, convertScreenshotToTapCoords, computeSwipeFromDirection } from "../pro/tap.js";
5
5
  import { captureScreenshot, verifyAndCapture, burstCaptureAndVerify, } from "../pro/verifyAction.js";
6
6
  import { clearFocusedInput, dismissKeyboard, inputTextWithReplace } from "../core/focusedInputTools.js";
@@ -288,7 +288,8 @@ export function registerInteractionTools(server) {
288
288
  isError: true,
289
289
  };
290
290
  }
291
- const computed = computeSwipeFromDirection((direction ?? "up"), distance, dims.width, dims.height);
291
+ const shotScale = dims.scaleFactor || 1;
292
+ const computed = computeSwipeFromDirection((direction ?? "up"), distance, dims.width / shotScale, dims.height / shotScale);
292
293
  startX = computed.startX;
293
294
  startY = computed.startY;
294
295
  endX = computed.endX;
@@ -369,6 +370,193 @@ export function registerInteractionTools(server) {
369
370
  _changeRate: verification && !verification.skipped ? verification.changeRate : undefined,
370
371
  };
371
372
  });
373
+ registerToolWithTelemetry(server, "pinch", {
374
+ description: "Pinch-to-zoom using REAL two-finger touch events, with pixel-diff verification. ANDROID EMULATOR ONLY (iOS in progress)." +
375
+ primaryInteractionBanner() + "\n" +
376
+ "PURPOSE: Zoom a map, image gallery, photo viewer, or any zoomable surface. pinch({ direction: \"out\" }) zooms in at screen centre; \"in\" zooms out. Pass x/y to zoom around a specific point.\n" +
377
+ "HOW IT WORKS: Two independent contacts sent through the emulator's multi-touch bridge as real kernel touch events. It works below the app, so it drives React Native, native views, WebViews — anything on screen.\n" +
378
+ "VERIFICATION: verify=true (default) returns `verification.meaningful` — false means nothing zoomed (not zoomable, already at a zoom limit, or the focal point missed).\n" +
379
+ "WORKFLOW: pinch({ direction: \"out\" }) -> read verification.meaningful. Take x/y from get_screen_state or a screenshot; no conversion needed.\n" +
380
+ "IF direction=\"in\" DOES NOTHING: lower `span` (try 0.5). A pinch-in starts with the fingers far apart, so at span 1 they land at the screen extremes where a top bar or bottom sheet can take the gesture.\n" +
381
+ "LIMITATIONS: Physical Android devices and iOS have no multi-touch channel and return an explicit error, never a partial result. Success means real fingers moved — this never fakes zoom by calling app code.\n",
382
+ inputSchema: {
383
+ direction: z
384
+ .enum(["in", "out"])
385
+ .optional()
386
+ .default("out")
387
+ .describe("\"out\" spreads the fingers apart and zooms IN (default). " +
388
+ "\"in\" brings them together and zooms OUT."),
389
+ scale: z.coerce
390
+ .number()
391
+ .positive()
392
+ .optional()
393
+ .default(3)
394
+ .describe("How far the fingers travel, as a ratio between their start and end separation. " +
395
+ "Default 3. Large values are split automatically into several chained gestures."),
396
+ x: z.coerce
397
+ .number()
398
+ .optional()
399
+ .describe("Focal point X in screenshot pixels — the point the zoom centres on. Default: screen centre."),
400
+ y: z.coerce
401
+ .number()
402
+ .optional()
403
+ .describe("Focal point Y in screenshot pixels — the point the zoom centres on. Default: screen centre."),
404
+ angle: z.coerce
405
+ .number()
406
+ .optional()
407
+ .default(0)
408
+ .describe("Axis the two fingers sit on, in degrees. 0 = horizontal (default), 90 = vertical."),
409
+ span: z.coerce
410
+ .number()
411
+ .min(0.05)
412
+ .max(1)
413
+ .optional()
414
+ .default(1)
415
+ .describe("How much of the screen the gesture occupies, as a fraction 0-1 (default 1 = as wide as fits). " +
416
+ "Lower it when direction=\"in\" fails: a pinch-in STARTS with the fingers far apart, so at span 1 " +
417
+ "they land at the screen extremes and a top bar or bottom sheet can take the gesture instead of " +
418
+ "the zoomable surface. span 0.5 keeps both contacts near the focal point. Does not change the " +
419
+ "zoom ratio — that is `scale`."),
420
+ durationMs: z.coerce
421
+ .number()
422
+ .optional()
423
+ .describe(`Gesture duration in milliseconds (default: ${SWIPE_DEFAULT_DURATION_MS}).`),
424
+ device: z
425
+ .string()
426
+ .optional()
427
+ .describe("Target device. Accepts (a) an Android adb serial like 'emulator-5554', " +
428
+ "(b) the emulator name (substring match), or " +
429
+ "(c) a connected RN app's deviceName (substring match against get_apps output). " +
430
+ "Omit when exactly one device is available. Call list_devices to enumerate."),
431
+ verify: z
432
+ .boolean()
433
+ .optional()
434
+ .default(true)
435
+ .describe("Compare before/after screenshots to detect whether the pinch produced a visual change. " +
436
+ "Set false to skip. When skipped, the response contains `verification: { skipped: true, skippedReason }`."),
437
+ screenshot: z
438
+ .boolean()
439
+ .optional()
440
+ .default(true)
441
+ .describe("Return the post-pinch image bytes in the response. Default true. Set to false to drop the PNG bytes — " +
442
+ "verification still runs (set verify=false to skip that too)."),
443
+ burst: z
444
+ .boolean()
445
+ .optional()
446
+ .default(false)
447
+ .describe("Capture rapid sequential frames after the pinch to catch transient feedback (rubber-band " +
448
+ "snap-back at a zoom limit) even when the final state is unchanged. Frames land in the image " +
449
+ "buffer; retrieve with get_images(groupId=verification.burstGroupId)."),
450
+ }
451
+ }, async ({ direction, scale, x, y, angle, span, durationMs, device, verify, screenshot, burst }) => {
452
+ const resolved = await resolveDeviceTarget(device);
453
+ if (!resolved.ok) {
454
+ return {
455
+ content: [{ type: "text", text: `Error: ${formatResolverError(resolved.error)}` }],
456
+ isError: true
457
+ };
458
+ }
459
+ if (resolved.target.platform !== "android") {
460
+ return {
461
+ content: [{
462
+ type: "text",
463
+ text: "Error: pinch is not available on iOS yet. Multi-touch on the iOS simulator needs an " +
464
+ "Indigo HID helper that does not ship in any released idb build; it is planned as a " +
465
+ "follow-up. Android emulators are supported today.",
466
+ }],
467
+ isError: true,
468
+ };
469
+ }
470
+ const shouldVerify = verify !== false;
471
+ const shouldScreenshot = screenshot !== false;
472
+ const shouldBurst = burst === true;
473
+ const wantBefore = shouldVerify || shouldBurst || x === undefined || y === undefined;
474
+ const beforeCapture = wantBefore
475
+ ? await captureScreenshot("android", undefined)
476
+ : null;
477
+ if ((x === undefined || y === undefined) && (!beforeCapture || !beforeCapture.width || !beforeCapture.height)) {
478
+ return {
479
+ content: [{
480
+ type: "text",
481
+ text: "Error: could not read screen dimensions to place the pinch. Pass explicit x and y instead.",
482
+ }],
483
+ isError: true,
484
+ };
485
+ }
486
+ const pinchScaleFactor = beforeCapture?.scaleFactor
487
+ ?? connectedApps.values().next().value?.lastScreenshot?.scaleFactor
488
+ ?? 1;
489
+ const focalScreenshotX = x ?? beforeCapture.width / pinchScaleFactor / 2;
490
+ const focalScreenshotY = y ?? beforeCapture.height / pinchScaleFactor / 2;
491
+ const focal = convertScreenshotToTapCoords(focalScreenshotX, focalScreenshotY, "android", 1, pinchScaleFactor);
492
+ const driverResult = await androidPinch({
493
+ focalX: focal.x,
494
+ focalY: focal.y,
495
+ direction: (direction ?? "out"),
496
+ scale: scale ?? 3,
497
+ angleDeg: angle ?? 0,
498
+ durationMs: durationMs ?? SWIPE_DEFAULT_DURATION_MS,
499
+ span: span ?? 1,
500
+ serial: resolved.target.androidSerial,
501
+ });
502
+ if (!driverResult.success) {
503
+ return {
504
+ content: [{ type: "text", text: `Error: ${driverResult.error}` }],
505
+ isError: true
506
+ };
507
+ }
508
+ const verifyResult = shouldBurst
509
+ ? await burstCaptureAndVerify({
510
+ platform: "android",
511
+ beforeBuffer: beforeCapture?.buffer ?? null,
512
+ udid: undefined,
513
+ beforeScaleFactor: beforeCapture?.scaleFactor,
514
+ source: "pinch-burst",
515
+ })
516
+ : await verifyAndCapture({
517
+ platform: "android",
518
+ shouldVerify,
519
+ shouldScreenshot,
520
+ beforeBuffer: beforeCapture?.buffer ?? null,
521
+ udid: undefined,
522
+ beforeScaleFactor: beforeCapture?.scaleFactor,
523
+ source: "pinch-verify",
524
+ });
525
+ const { screenshot: screenshotData, verification } = verifyResult;
526
+ const warning = verification && !verification.skipped && verification.meaningful === false
527
+ ? "Pinch executed but no visual change detected — the surface may not be zoomable, may already be at its zoom limit, or the focal point may have missed the zoomable view. Inspect the screenshot and retry with a different focal point if needed."
528
+ : undefined;
529
+ const responseBody = {
530
+ success: true,
531
+ platform: "android",
532
+ direction: direction ?? "out",
533
+ focal: { x: focalScreenshotX, y: focalScreenshotY },
534
+ span: span ?? 1,
535
+ separation: { start: driverResult.startHalf, end: driverResult.endHalf },
536
+ gestureCount: driverResult.gestureCount,
537
+ frameCount: driverResult.frameCount,
538
+ driverMessage: driverResult.result,
539
+ ...(verification && { verification }),
540
+ ...(warning && { warning }),
541
+ deviceNote: resolved.note,
542
+ };
543
+ const content = [
544
+ { type: "text", text: JSON.stringify(responseBody, null, 2) },
545
+ ];
546
+ if (shouldScreenshot && screenshotData) {
547
+ content.push({
548
+ type: "image",
549
+ data: screenshotData.image,
550
+ mimeType: "image/jpeg",
551
+ });
552
+ }
553
+ return {
554
+ content,
555
+ isError: false,
556
+ _meaningful: verification && !verification.skipped ? verification.meaningful : undefined,
557
+ _changeRate: verification && !verification.skipped ? verification.changeRate : undefined,
558
+ };
559
+ });
372
560
  registerToolWithTelemetry(server, "android_input_text", {
373
561
  description: "Type text on an Android device/emulator." +
374
562
  platformFallbackBanner("`input_text` — it targets, focuses, writes and verifies in one call") +
@@ -1 +1 @@
1
- {"version":3,"file":"interactionTools.js","sourceRoot":"","sources":["../../src/tools/interactionTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactionTools.js","sourceRoot":"","sources":["../../src/tools/interactionTools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "execbro",
3
- "version": "2.5.0",
3
+ "version": "2.6.0",
4
4
  "mcpName": "com.execbro/execbro",
5
5
  "description": "ExecBro — MCP server giving AI agents eyes and hands into React Native apps. Logs, REPL, state inspection, tap, screenshot.",
6
6
  "type": "module",
package/tools.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "generatedFrom": "toolRegistry",
3
- "count": 58,
3
+ "count": 59,
4
4
  "tools": [
5
5
  "activate_license",
6
6
  "android_input_text",
@@ -51,6 +51,7 @@
51
51
  "measure",
52
52
  "navigate",
53
53
  "ocr_screenshot",
54
+ "pinch",
54
55
  "redux_dispatch",
55
56
  "redux_get_state",
56
57
  "reload_app",
@@ -329,6 +330,19 @@
329
330
  "deviceId",
330
331
  "platform"
331
332
  ],
333
+ "pinch": [
334
+ "angle",
335
+ "burst",
336
+ "device",
337
+ "direction",
338
+ "durationMs",
339
+ "scale",
340
+ "screenshot",
341
+ "span",
342
+ "verify",
343
+ "x",
344
+ "y"
345
+ ],
332
346
  "redux_dispatch": [
333
347
  "action",
334
348
  "device",