@swmansion/argent 0.32.1-next.13 → 0.32.1-next.15

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 (34) hide show
  1. package/README.md +1 -1
  2. package/bin/argent-android-devtools-0.3.0.apk +0 -0
  3. package/bin/darwin/argent-macos-helper +0 -0
  4. package/bin/darwin/ax-service +0 -0
  5. package/bin/darwin/tvos-ax-service +0 -0
  6. package/bin/darwin/tvos-hid-daemon +0 -0
  7. package/bin/network-inspector/network-inspector.jar +0 -0
  8. package/bin/tcp/ax-service +0 -0
  9. package/dist/cli-cmds.mjs +36 -3
  10. package/dist/client.js +32 -0
  11. package/dist/installer.mjs +31 -2
  12. package/dist/mcp-server.mjs +54 -11
  13. package/dist/tool-args.generated.d.ts +76 -42
  14. package/dist/tool-server.cjs +12094 -8610
  15. package/dylibs/libArgentInjectionBootstrap.dylib +0 -0
  16. package/dylibs/libKeyboardPatch.dylib +0 -0
  17. package/dylibs/libNativeDevtoolsIos.dylib +0 -0
  18. package/dylibs/macos/libArgentInjectionBootstrap.dylib +0 -0
  19. package/dylibs/macos/libNativeDevtoolsMacos.dylib +0 -0
  20. package/dylibs/tcp/libArgentInjectionBootstrap.dylib +0 -0
  21. package/dylibs/tcp/libKeyboardPatch.dylib +0 -0
  22. package/dylibs/tcp/libNativeDevtoolsIos.dylib +0 -0
  23. package/dylibs/tvos/libArgentInjectionBootstrap.dylib +0 -0
  24. package/dylibs/tvos/libKeyboardPatch.dylib +0 -0
  25. package/dylibs/tvos/libNativeDevtoolsIos.dylib +0 -0
  26. package/package.json +2 -2
  27. package/rules/argent.md +1 -1
  28. package/skills/argent-create-e2e/references/e2e-yaml.md +4 -4
  29. package/skills/argent-device-interact/SKILL.md +2 -1
  30. package/skills/argent-macos-app-interact/SKILL.md +44 -0
  31. package/skills/argent-macos-app-interact/references/e2e.md +6 -0
  32. package/skills/argent-qa-e2e/SKILL.md +1 -1
  33. package/skills/argent-react-native-app-workflow/SKILL.md +2 -0
  34. package/skills/argent-react-native-profiler/SKILL.md +2 -2
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
  [![Ad](https://swm-delivery.com/www/images/zone-gh-argent-2?n=1)](https://swm-delivery.com/www/delivery/ck-slug.php?zoneid=zone-gh-argent-2&n=1)
8
8
  [![Ad](https://swm-delivery.com/www/images/zone-gh-argent-3?n=1)](https://swm-delivery.com/www/delivery/ck-slug.php?zoneid=zone-gh-argent-3&n=1)
9
9
 
10
- **[Argent](https://argent.swmansion.com)** gives your AI assistant direct control of iOS simulators, Android emulators and devices, TVs (Apple TV, Android TV, Fire TV) and Electron/Chromium apps. Tap a button, profile a screen, reproduce a bug - without leaving the CLI.
10
+ **[Argent](https://argent.swmansion.com)** gives your AI assistant direct control of iOS simulators, Android emulators and devices, TVs (Apple TV, Android TV, Fire TV), Electron/Chromium apps and native Mac apps. Tap a button, profile a screen, reproduce a bug - without leaving the CLI.
11
11
 
12
12
  ```bash
13
13
  npx @swmansion/argent@latest init # pnpm: pnpm dlx @swmansion/argent@latest init
Binary file
Binary file
Binary file
Binary file
Binary file
package/dist/cli-cmds.mjs CHANGED
@@ -9481,6 +9481,10 @@ var FLAG_REGISTRY = [
9481
9481
  name: "video-watermark",
9482
9482
  description: "Overlay the argent corner watermark on recorded screen videos. On by default; turn it off with `argent disable video-watermark`.",
9483
9483
  defaultEnabled: true
9484
+ },
9485
+ {
9486
+ name: "macos-apps",
9487
+ description: "Drive native Mac apps (AppKit, SwiftUI, react-native-macos) from inside the app. Adds the macos platform to list-devices and boot-device, and the file-panel and menu-bar tools. Off by default."
9484
9488
  }
9485
9489
  ];
9486
9490
  function getFlagDefinition(name, registry2 = FLAG_REGISTRY) {
@@ -10666,6 +10670,8 @@ var FAILURE_CODES = {
10666
10670
  REACT_PROFILER_START_FAILED: "REACT_PROFILER_START_FAILED",
10667
10671
  REACT_PROFILER_START_VERIFY_FAILED: "REACT_PROFILER_START_VERIFY_FAILED",
10668
10672
  REACT_PROFILER_SESSION_TORN_DOWN: "REACT_PROFILER_SESSION_TORN_DOWN",
10673
+ REACT_PROFILER_SESSION_TAKEN_OVER: "REACT_PROFILER_SESSION_TAKEN_OVER",
10674
+ REACT_PROFILER_STOP_IN_PROGRESS: "REACT_PROFILER_STOP_IN_PROGRESS",
10669
10675
  REACT_PROFILER_HOOK_ERROR: "REACT_PROFILER_HOOK_ERROR",
10670
10676
  REACT_PROFILER_ANALYZE_NO_DATA: "REACT_PROFILER_ANALYZE_NO_DATA",
10671
10677
  NATIVE_PROFILER_FACTORY_OPTIONS_MISSING: "NATIVE_PROFILER_FACTORY_OPTIONS_MISSING",
@@ -10744,6 +10750,32 @@ var FAILURE_CODES = {
10744
10750
  CHROMIUM_ELECTRON_SPAWN_FAILED: "CHROMIUM_ELECTRON_SPAWN_FAILED",
10745
10751
  CHROMIUM_ELECTRON_CDP_TIMEOUT: "CHROMIUM_ELECTRON_CDP_TIMEOUT",
10746
10752
  CHROMIUM_ELECTRON_EXITED_BEFORE_READY: "CHROMIUM_ELECTRON_EXITED_BEFORE_READY",
10753
+ /**
10754
+ * Native Mac apps (the `macos-apps` flag)
10755
+ * @see [macos-app.ts](../../tool-server/src/blueprints/macos-app.ts)
10756
+ */
10757
+ MACOS_APP_UNSUPPORTED_HOST: "MACOS_APP_UNSUPPORTED_HOST",
10758
+ MACOS_APP_PATH_INVALID: "MACOS_APP_PATH_INVALID",
10759
+ MACOS_APP_BUNDLE_INVALID: "MACOS_APP_BUNDLE_INVALID",
10760
+ MACOS_APP_NOT_FOUND: "MACOS_APP_NOT_FOUND",
10761
+ MACOS_APP_HARDENED_RUNTIME: "MACOS_APP_HARDENED_RUNTIME",
10762
+ MACOS_APP_LIBRARY_MISSING: "MACOS_APP_LIBRARY_MISSING",
10763
+ MACOS_APP_LIBRARY_STAGE_FAILED: "MACOS_APP_LIBRARY_STAGE_FAILED",
10764
+ MACOS_APP_ALREADY_RUNNING: "MACOS_APP_ALREADY_RUNNING",
10765
+ MACOS_APP_SPAWN_FAILED: "MACOS_APP_SPAWN_FAILED",
10766
+ MACOS_APP_EXITED_BEFORE_READY: "MACOS_APP_EXITED_BEFORE_READY",
10767
+ MACOS_APP_HANDSHAKE_TIMEOUT: "MACOS_APP_HANDSHAKE_TIMEOUT",
10768
+ MACOS_APP_HANDSHAKE_INVALID: "MACOS_APP_HANDSHAKE_INVALID",
10769
+ MACOS_APP_NOT_RUNNING: "MACOS_APP_NOT_RUNNING",
10770
+ MACOS_APP_NOT_CONNECTED: "MACOS_APP_NOT_CONNECTED",
10771
+ MACOS_APP_CONNECTION_LOST: "MACOS_APP_CONNECTION_LOST",
10772
+ MACOS_APP_CONNECTION_CLOSED: "MACOS_APP_CONNECTION_CLOSED",
10773
+ MACOS_APP_RPC_TIMEOUT: "MACOS_APP_RPC_TIMEOUT",
10774
+ MACOS_APP_RPC_ERROR: "MACOS_APP_RPC_ERROR",
10775
+ MACOS_APP_TERMINATE_FAILED: "MACOS_APP_TERMINATE_FAILED",
10776
+ MACOS_APP_BUNDLE_ID_MISMATCH: "MACOS_APP_BUNDLE_ID_MISMATCH",
10777
+ MACOS_APP_OPEN_URL_FAILED: "MACOS_APP_OPEN_URL_FAILED",
10778
+ MACOS_APP_FILE_ACCESS_FAILED: "MACOS_APP_FILE_ACCESS_FAILED",
10747
10779
  KEYBOARD_KEY_UNSUPPORTED: "KEYBOARD_KEY_UNSUPPORTED",
10748
10780
  KEYBOARD_CHARACTER_UNSUPPORTED: "KEYBOARD_CHARACTER_UNSUPPORTED",
10749
10781
  KEYBOARD_TEXT_AND_KEY_COMBINED: "KEYBOARD_TEXT_AND_KEY_COMBINED",
@@ -35083,7 +35115,8 @@ var PLATFORMS = [
35083
35115
  "vega",
35084
35116
  "harmony",
35085
35117
  "tvos",
35086
- "android-tv"
35118
+ "android-tv",
35119
+ "macos"
35087
35120
  ];
35088
35121
  var DEVICE_KINDS = [
35089
35122
  "simulator",
@@ -35838,7 +35871,7 @@ var _CI_VENDOR_COUNT_FOR_TEST = vendors_default.length;
35838
35871
  var SESSION_ID2 = randomUUID5();
35839
35872
  function readCliVersion() {
35840
35873
  if (true) {
35841
- return "0.32.1-next.13";
35874
+ return "0.32.1-next.15";
35842
35875
  }
35843
35876
  return "0.0.0";
35844
35877
  }
@@ -36944,7 +36977,7 @@ Subcommands:
36944
36977
 
36945
36978
  Options (run):
36946
36979
  --device <id> Device id to run against (auto-detected when omitted)
36947
- --platform <p> ios | android | chromium | vega | ios-remote \u2014 narrow
36980
+ --platform <p> ios | android | chromium | vega |${isFlagEnabled("macos-apps") ? " macos |" : ""} ios-remote \u2014 narrow
36948
36981
  auto-detection (ios never picks a remote simulator)
36949
36982
  --update-baselines Write/refresh screenshot baselines instead of diffing,
36950
36983
  also those of tests that tool: e2e-execute steps run,
package/dist/client.js CHANGED
@@ -7802,6 +7802,10 @@ var FLAG_REGISTRY = [
7802
7802
  name: "video-watermark",
7803
7803
  description: "Overlay the argent corner watermark on recorded screen videos. On by default; turn it off with `argent disable video-watermark`.",
7804
7804
  defaultEnabled: true
7805
+ },
7806
+ {
7807
+ name: "macos-apps",
7808
+ description: "Drive native Mac apps (AppKit, SwiftUI, react-native-macos) from inside the app. Adds the macos platform to list-devices and boot-device, and the file-panel and menu-bar tools. Off by default."
7805
7809
  }
7806
7810
  ];
7807
7811
  function getFlagDefinition(name, registry = FLAG_REGISTRY) {
@@ -9239,6 +9243,8 @@ var FAILURE_CODES = {
9239
9243
  REACT_PROFILER_START_FAILED: "REACT_PROFILER_START_FAILED",
9240
9244
  REACT_PROFILER_START_VERIFY_FAILED: "REACT_PROFILER_START_VERIFY_FAILED",
9241
9245
  REACT_PROFILER_SESSION_TORN_DOWN: "REACT_PROFILER_SESSION_TORN_DOWN",
9246
+ REACT_PROFILER_SESSION_TAKEN_OVER: "REACT_PROFILER_SESSION_TAKEN_OVER",
9247
+ REACT_PROFILER_STOP_IN_PROGRESS: "REACT_PROFILER_STOP_IN_PROGRESS",
9242
9248
  REACT_PROFILER_HOOK_ERROR: "REACT_PROFILER_HOOK_ERROR",
9243
9249
  REACT_PROFILER_ANALYZE_NO_DATA: "REACT_PROFILER_ANALYZE_NO_DATA",
9244
9250
  NATIVE_PROFILER_FACTORY_OPTIONS_MISSING: "NATIVE_PROFILER_FACTORY_OPTIONS_MISSING",
@@ -9317,6 +9323,32 @@ var FAILURE_CODES = {
9317
9323
  CHROMIUM_ELECTRON_SPAWN_FAILED: "CHROMIUM_ELECTRON_SPAWN_FAILED",
9318
9324
  CHROMIUM_ELECTRON_CDP_TIMEOUT: "CHROMIUM_ELECTRON_CDP_TIMEOUT",
9319
9325
  CHROMIUM_ELECTRON_EXITED_BEFORE_READY: "CHROMIUM_ELECTRON_EXITED_BEFORE_READY",
9326
+ /**
9327
+ * Native Mac apps (the `macos-apps` flag)
9328
+ * @see [macos-app.ts](../../tool-server/src/blueprints/macos-app.ts)
9329
+ */
9330
+ MACOS_APP_UNSUPPORTED_HOST: "MACOS_APP_UNSUPPORTED_HOST",
9331
+ MACOS_APP_PATH_INVALID: "MACOS_APP_PATH_INVALID",
9332
+ MACOS_APP_BUNDLE_INVALID: "MACOS_APP_BUNDLE_INVALID",
9333
+ MACOS_APP_NOT_FOUND: "MACOS_APP_NOT_FOUND",
9334
+ MACOS_APP_HARDENED_RUNTIME: "MACOS_APP_HARDENED_RUNTIME",
9335
+ MACOS_APP_LIBRARY_MISSING: "MACOS_APP_LIBRARY_MISSING",
9336
+ MACOS_APP_LIBRARY_STAGE_FAILED: "MACOS_APP_LIBRARY_STAGE_FAILED",
9337
+ MACOS_APP_ALREADY_RUNNING: "MACOS_APP_ALREADY_RUNNING",
9338
+ MACOS_APP_SPAWN_FAILED: "MACOS_APP_SPAWN_FAILED",
9339
+ MACOS_APP_EXITED_BEFORE_READY: "MACOS_APP_EXITED_BEFORE_READY",
9340
+ MACOS_APP_HANDSHAKE_TIMEOUT: "MACOS_APP_HANDSHAKE_TIMEOUT",
9341
+ MACOS_APP_HANDSHAKE_INVALID: "MACOS_APP_HANDSHAKE_INVALID",
9342
+ MACOS_APP_NOT_RUNNING: "MACOS_APP_NOT_RUNNING",
9343
+ MACOS_APP_NOT_CONNECTED: "MACOS_APP_NOT_CONNECTED",
9344
+ MACOS_APP_CONNECTION_LOST: "MACOS_APP_CONNECTION_LOST",
9345
+ MACOS_APP_CONNECTION_CLOSED: "MACOS_APP_CONNECTION_CLOSED",
9346
+ MACOS_APP_RPC_TIMEOUT: "MACOS_APP_RPC_TIMEOUT",
9347
+ MACOS_APP_RPC_ERROR: "MACOS_APP_RPC_ERROR",
9348
+ MACOS_APP_TERMINATE_FAILED: "MACOS_APP_TERMINATE_FAILED",
9349
+ MACOS_APP_BUNDLE_ID_MISMATCH: "MACOS_APP_BUNDLE_ID_MISMATCH",
9350
+ MACOS_APP_OPEN_URL_FAILED: "MACOS_APP_OPEN_URL_FAILED",
9351
+ MACOS_APP_FILE_ACCESS_FAILED: "MACOS_APP_FILE_ACCESS_FAILED",
9320
9352
  KEYBOARD_KEY_UNSUPPORTED: "KEYBOARD_KEY_UNSUPPORTED",
9321
9353
  KEYBOARD_CHARACTER_UNSUPPORTED: "KEYBOARD_CHARACTER_UNSUPPORTED",
9322
9354
  KEYBOARD_TEXT_AND_KEY_COMBINED: "KEYBOARD_TEXT_AND_KEY_COMBINED",
@@ -16003,6 +16003,8 @@ var FAILURE_CODES = {
16003
16003
  REACT_PROFILER_START_FAILED: "REACT_PROFILER_START_FAILED",
16004
16004
  REACT_PROFILER_START_VERIFY_FAILED: "REACT_PROFILER_START_VERIFY_FAILED",
16005
16005
  REACT_PROFILER_SESSION_TORN_DOWN: "REACT_PROFILER_SESSION_TORN_DOWN",
16006
+ REACT_PROFILER_SESSION_TAKEN_OVER: "REACT_PROFILER_SESSION_TAKEN_OVER",
16007
+ REACT_PROFILER_STOP_IN_PROGRESS: "REACT_PROFILER_STOP_IN_PROGRESS",
16006
16008
  REACT_PROFILER_HOOK_ERROR: "REACT_PROFILER_HOOK_ERROR",
16007
16009
  REACT_PROFILER_ANALYZE_NO_DATA: "REACT_PROFILER_ANALYZE_NO_DATA",
16008
16010
  NATIVE_PROFILER_FACTORY_OPTIONS_MISSING: "NATIVE_PROFILER_FACTORY_OPTIONS_MISSING",
@@ -16081,6 +16083,32 @@ var FAILURE_CODES = {
16081
16083
  CHROMIUM_ELECTRON_SPAWN_FAILED: "CHROMIUM_ELECTRON_SPAWN_FAILED",
16082
16084
  CHROMIUM_ELECTRON_CDP_TIMEOUT: "CHROMIUM_ELECTRON_CDP_TIMEOUT",
16083
16085
  CHROMIUM_ELECTRON_EXITED_BEFORE_READY: "CHROMIUM_ELECTRON_EXITED_BEFORE_READY",
16086
+ /**
16087
+ * Native Mac apps (the `macos-apps` flag)
16088
+ * @see [macos-app.ts](../../tool-server/src/blueprints/macos-app.ts)
16089
+ */
16090
+ MACOS_APP_UNSUPPORTED_HOST: "MACOS_APP_UNSUPPORTED_HOST",
16091
+ MACOS_APP_PATH_INVALID: "MACOS_APP_PATH_INVALID",
16092
+ MACOS_APP_BUNDLE_INVALID: "MACOS_APP_BUNDLE_INVALID",
16093
+ MACOS_APP_NOT_FOUND: "MACOS_APP_NOT_FOUND",
16094
+ MACOS_APP_HARDENED_RUNTIME: "MACOS_APP_HARDENED_RUNTIME",
16095
+ MACOS_APP_LIBRARY_MISSING: "MACOS_APP_LIBRARY_MISSING",
16096
+ MACOS_APP_LIBRARY_STAGE_FAILED: "MACOS_APP_LIBRARY_STAGE_FAILED",
16097
+ MACOS_APP_ALREADY_RUNNING: "MACOS_APP_ALREADY_RUNNING",
16098
+ MACOS_APP_SPAWN_FAILED: "MACOS_APP_SPAWN_FAILED",
16099
+ MACOS_APP_EXITED_BEFORE_READY: "MACOS_APP_EXITED_BEFORE_READY",
16100
+ MACOS_APP_HANDSHAKE_TIMEOUT: "MACOS_APP_HANDSHAKE_TIMEOUT",
16101
+ MACOS_APP_HANDSHAKE_INVALID: "MACOS_APP_HANDSHAKE_INVALID",
16102
+ MACOS_APP_NOT_RUNNING: "MACOS_APP_NOT_RUNNING",
16103
+ MACOS_APP_NOT_CONNECTED: "MACOS_APP_NOT_CONNECTED",
16104
+ MACOS_APP_CONNECTION_LOST: "MACOS_APP_CONNECTION_LOST",
16105
+ MACOS_APP_CONNECTION_CLOSED: "MACOS_APP_CONNECTION_CLOSED",
16106
+ MACOS_APP_RPC_TIMEOUT: "MACOS_APP_RPC_TIMEOUT",
16107
+ MACOS_APP_RPC_ERROR: "MACOS_APP_RPC_ERROR",
16108
+ MACOS_APP_TERMINATE_FAILED: "MACOS_APP_TERMINATE_FAILED",
16109
+ MACOS_APP_BUNDLE_ID_MISMATCH: "MACOS_APP_BUNDLE_ID_MISMATCH",
16110
+ MACOS_APP_OPEN_URL_FAILED: "MACOS_APP_OPEN_URL_FAILED",
16111
+ MACOS_APP_FILE_ACCESS_FAILED: "MACOS_APP_FILE_ACCESS_FAILED",
16084
16112
  KEYBOARD_KEY_UNSUPPORTED: "KEYBOARD_KEY_UNSUPPORTED",
16085
16113
  KEYBOARD_CHARACTER_UNSUPPORTED: "KEYBOARD_CHARACTER_UNSUPPORTED",
16086
16114
  KEYBOARD_TEXT_AND_KEY_COMBINED: "KEYBOARD_TEXT_AND_KEY_COMBINED",
@@ -16197,7 +16225,8 @@ var PLATFORMS = [
16197
16225
  "vega",
16198
16226
  "harmony",
16199
16227
  "tvos",
16200
- "android-tv"
16228
+ "android-tv",
16229
+ "macos"
16201
16230
  ];
16202
16231
  var DEVICE_KINDS = [
16203
16232
  "simulator",
@@ -16952,7 +16981,7 @@ var _CI_VENDOR_COUNT_FOR_TEST = vendors_default.length;
16952
16981
  var SESSION_ID = randomUUID4();
16953
16982
  function readCliVersion() {
16954
16983
  if (true) {
16955
- return "0.32.1-next.13";
16984
+ return "0.32.1-next.15";
16956
16985
  }
16957
16986
  return "0.0.0";
16958
16987
  }
@@ -24943,6 +24943,10 @@ var FLAG_REGISTRY = [
24943
24943
  name: "video-watermark",
24944
24944
  description: "Overlay the argent corner watermark on recorded screen videos. On by default; turn it off with `argent disable video-watermark`.",
24945
24945
  defaultEnabled: true
24946
+ },
24947
+ {
24948
+ name: "macos-apps",
24949
+ description: "Drive native Mac apps (AppKit, SwiftUI, react-native-macos) from inside the app. Adds the macos platform to list-devices and boot-device, and the file-panel and menu-bar tools. Off by default."
24946
24950
  }
24947
24951
  ];
24948
24952
  function getFlagDefinition(name, registry2 = FLAG_REGISTRY) {
@@ -25949,6 +25953,8 @@ var FAILURE_CODES = {
25949
25953
  REACT_PROFILER_START_FAILED: "REACT_PROFILER_START_FAILED",
25950
25954
  REACT_PROFILER_START_VERIFY_FAILED: "REACT_PROFILER_START_VERIFY_FAILED",
25951
25955
  REACT_PROFILER_SESSION_TORN_DOWN: "REACT_PROFILER_SESSION_TORN_DOWN",
25956
+ REACT_PROFILER_SESSION_TAKEN_OVER: "REACT_PROFILER_SESSION_TAKEN_OVER",
25957
+ REACT_PROFILER_STOP_IN_PROGRESS: "REACT_PROFILER_STOP_IN_PROGRESS",
25952
25958
  REACT_PROFILER_HOOK_ERROR: "REACT_PROFILER_HOOK_ERROR",
25953
25959
  REACT_PROFILER_ANALYZE_NO_DATA: "REACT_PROFILER_ANALYZE_NO_DATA",
25954
25960
  NATIVE_PROFILER_FACTORY_OPTIONS_MISSING: "NATIVE_PROFILER_FACTORY_OPTIONS_MISSING",
@@ -26027,6 +26033,32 @@ var FAILURE_CODES = {
26027
26033
  CHROMIUM_ELECTRON_SPAWN_FAILED: "CHROMIUM_ELECTRON_SPAWN_FAILED",
26028
26034
  CHROMIUM_ELECTRON_CDP_TIMEOUT: "CHROMIUM_ELECTRON_CDP_TIMEOUT",
26029
26035
  CHROMIUM_ELECTRON_EXITED_BEFORE_READY: "CHROMIUM_ELECTRON_EXITED_BEFORE_READY",
26036
+ /**
26037
+ * Native Mac apps (the `macos-apps` flag)
26038
+ * @see [macos-app.ts](../../tool-server/src/blueprints/macos-app.ts)
26039
+ */
26040
+ MACOS_APP_UNSUPPORTED_HOST: "MACOS_APP_UNSUPPORTED_HOST",
26041
+ MACOS_APP_PATH_INVALID: "MACOS_APP_PATH_INVALID",
26042
+ MACOS_APP_BUNDLE_INVALID: "MACOS_APP_BUNDLE_INVALID",
26043
+ MACOS_APP_NOT_FOUND: "MACOS_APP_NOT_FOUND",
26044
+ MACOS_APP_HARDENED_RUNTIME: "MACOS_APP_HARDENED_RUNTIME",
26045
+ MACOS_APP_LIBRARY_MISSING: "MACOS_APP_LIBRARY_MISSING",
26046
+ MACOS_APP_LIBRARY_STAGE_FAILED: "MACOS_APP_LIBRARY_STAGE_FAILED",
26047
+ MACOS_APP_ALREADY_RUNNING: "MACOS_APP_ALREADY_RUNNING",
26048
+ MACOS_APP_SPAWN_FAILED: "MACOS_APP_SPAWN_FAILED",
26049
+ MACOS_APP_EXITED_BEFORE_READY: "MACOS_APP_EXITED_BEFORE_READY",
26050
+ MACOS_APP_HANDSHAKE_TIMEOUT: "MACOS_APP_HANDSHAKE_TIMEOUT",
26051
+ MACOS_APP_HANDSHAKE_INVALID: "MACOS_APP_HANDSHAKE_INVALID",
26052
+ MACOS_APP_NOT_RUNNING: "MACOS_APP_NOT_RUNNING",
26053
+ MACOS_APP_NOT_CONNECTED: "MACOS_APP_NOT_CONNECTED",
26054
+ MACOS_APP_CONNECTION_LOST: "MACOS_APP_CONNECTION_LOST",
26055
+ MACOS_APP_CONNECTION_CLOSED: "MACOS_APP_CONNECTION_CLOSED",
26056
+ MACOS_APP_RPC_TIMEOUT: "MACOS_APP_RPC_TIMEOUT",
26057
+ MACOS_APP_RPC_ERROR: "MACOS_APP_RPC_ERROR",
26058
+ MACOS_APP_TERMINATE_FAILED: "MACOS_APP_TERMINATE_FAILED",
26059
+ MACOS_APP_BUNDLE_ID_MISMATCH: "MACOS_APP_BUNDLE_ID_MISMATCH",
26060
+ MACOS_APP_OPEN_URL_FAILED: "MACOS_APP_OPEN_URL_FAILED",
26061
+ MACOS_APP_FILE_ACCESS_FAILED: "MACOS_APP_FILE_ACCESS_FAILED",
26030
26062
  KEYBOARD_KEY_UNSUPPORTED: "KEYBOARD_KEY_UNSUPPORTED",
26031
26063
  KEYBOARD_CHARACTER_UNSUPPORTED: "KEYBOARD_CHARACTER_UNSUPPORTED",
26032
26064
  KEYBOARD_TEXT_AND_KEY_COMBINED: "KEYBOARD_TEXT_AND_KEY_COMBINED",
@@ -27812,7 +27844,8 @@ var PLATFORMS = [
27812
27844
  "vega",
27813
27845
  "harmony",
27814
27846
  "tvos",
27815
- "android-tv"
27847
+ "android-tv",
27848
+ "macos"
27816
27849
  ];
27817
27850
  var DEVICE_KINDS = [
27818
27851
  "simulator",
@@ -28873,7 +28906,9 @@ var AUTO_SCREENSHOT_TOOLS = /* @__PURE__ */ new Set([
28873
28906
  "describe",
28874
28907
  "run-sequence",
28875
28908
  // A wait is almost always followed by a look at the screen it waited for.
28876
- "await-ui-element"
28909
+ "await-ui-element",
28910
+ "file-panel",
28911
+ "menu-bar"
28877
28912
  ]);
28878
28913
  var AUTO_SCREENSHOT_DELAY_MS_BY_TOOL = {
28879
28914
  "launch-app": 3e3,
@@ -28921,15 +28956,18 @@ var AUTO_DESCRIBE_TOOLS = /* @__PURE__ */ new Set([
28921
28956
  "restart-app",
28922
28957
  "open-url",
28923
28958
  "run-sequence",
28924
- "await-ui-element"
28959
+ "await-ui-element",
28960
+ "file-panel",
28961
+ "menu-bar"
28925
28962
  ]);
28926
28963
  function autoDescribeEnabled(options) {
28927
28964
  return !isFlagEnabled("disable-auto-describe", options);
28928
28965
  }
28929
28966
  var PROFILING_CAPTURE_SKIPPED_NOTE = "Auto-screenshot and element tree skipped while a profiler is recording on this device. Call screenshot or describe if you need to see the screen.";
28930
28967
  var AUTO_DESCRIBE_HEADER = "--- Elements after action (describe) ---";
28931
- function shouldAutoDescribe(toolName) {
28932
- return AUTO_DESCRIBE_TOOLS.has(normalizeToolName(toolName));
28968
+ function shouldAutoDescribe(toolName, args) {
28969
+ const canonical = normalizeToolName(toolName);
28970
+ return AUTO_DESCRIBE_TOOLS.has(canonical) && !isListCall(canonical, args);
28933
28971
  }
28934
28972
  var SECRET_PLACEHOLDER_MARKER = "{{secret:";
28935
28973
  function containsSecretPlaceholder(args) {
@@ -28949,9 +28987,12 @@ function normalizeToolName(name) {
28949
28987
  const idx = name.lastIndexOf("__");
28950
28988
  return idx === -1 ? name : name.slice(idx + 2);
28951
28989
  }
28952
- function shouldAutoScreenshot(toolName) {
28990
+ function shouldAutoScreenshot(toolName, args) {
28953
28991
  const canonical = normalizeToolName(toolName);
28954
- return canonical !== "screenshot" && AUTO_SCREENSHOT_TOOLS.has(canonical);
28992
+ return canonical !== "screenshot" && AUTO_SCREENSHOT_TOOLS.has(canonical) && !isListCall(canonical, args);
28993
+ }
28994
+ function isListCall(canonical, args) {
28995
+ return (canonical === "menu-bar" || canonical === "file-panel") && args?.action === "list";
28955
28996
  }
28956
28997
  function getAutoScreenshotDelayMs(toolName) {
28957
28998
  const canonical = normalizeToolName(toolName);
@@ -29366,7 +29407,7 @@ async function startMcpServer(options) {
29366
29407
  const t1 = Date.now();
29367
29408
  try {
29368
29409
  const d = await callTool("describe", { udid }, { signal });
29369
- const desc = d.result?.description;
29410
+ const { description: desc, hint } = d.result ?? {};
29370
29411
  await spyLog({
29371
29412
  ts: (/* @__PURE__ */ new Date()).toISOString(),
29372
29413
  event: "auto_describe",
@@ -29375,8 +29416,10 @@ async function startMcpServer(options) {
29375
29416
  chars: typeof desc === "string" ? desc.length : 0
29376
29417
  });
29377
29418
  if (typeof desc !== "string" || desc.length === 0) return [];
29419
+ const hintLine = typeof hint === "string" && hint && !desc.includes(hint) ? `Hint: ${hint}
29420
+ ` : "";
29378
29421
  return [{ type: "text", text: `${AUTO_DESCRIBE_HEADER}
29379
- ${desc}` }];
29422
+ ${hintLine}${desc}` }];
29380
29423
  } catch (e) {
29381
29424
  await spyLog({
29382
29425
  ts: (/* @__PURE__ */ new Date()).toISOString(),
@@ -29446,8 +29489,8 @@ ${desc}` }];
29446
29489
  content = await toMcpContent(result, outputHint, ctx, params.arguments);
29447
29490
  }
29448
29491
  const udid = getUdidFromArgs(params.arguments);
29449
- const wantScreenshot = autoScreenshotOn && shouldAutoScreenshot(params.name);
29450
- const wantTree = autoDescribeOn && shouldAutoDescribe(params.name);
29492
+ const wantScreenshot = autoScreenshotOn && shouldAutoScreenshot(params.name, params.arguments);
29493
+ const wantTree = autoDescribeOn && shouldAutoDescribe(params.name, params.arguments);
29451
29494
  if (udid && (wantScreenshot || wantTree) && containsSecretPlaceholder(params.arguments)) {
29452
29495
  content = [
29453
29496
  ...content,