@swmansion/argent 0.25.2 → 0.25.3-next.1

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.
Binary file
Binary file
Binary file
Binary file
package/dist/cli-cmds.mjs CHANGED
@@ -21872,7 +21872,7 @@ var _CI_VENDOR_COUNT_FOR_TEST = vendors_default.length;
21872
21872
  var SESSION_ID2 = randomUUID5();
21873
21873
  function readCliVersion() {
21874
21874
  if (true) {
21875
- return "0.25.2";
21875
+ return "0.25.3-next.1";
21876
21876
  }
21877
21877
  return "0.0.0";
21878
21878
  }
@@ -16725,7 +16725,7 @@ var _CI_VENDOR_COUNT_FOR_TEST = vendors_default.length;
16725
16725
  var SESSION_ID = randomUUID4();
16726
16726
  function readCliVersion() {
16727
16727
  if (true) {
16728
- return "0.25.2";
16728
+ return "0.25.3-next.1";
16729
16729
  }
16730
16730
  return "0.0.0";
16731
16731
  }
@@ -94804,7 +94804,7 @@ var _CI_VENDOR_COUNT_FOR_TEST = vendors_default.length;
94804
94804
  var SESSION_ID = (0, import_node_crypto3.randomUUID)();
94805
94805
  function readCliVersion() {
94806
94806
  if (true) {
94807
- return "0.25.2";
94807
+ return "0.25.3-next.1";
94808
94808
  }
94809
94809
  return "0.0.0";
94810
94810
  }
@@ -120650,7 +120650,7 @@ var zodSchema9 = external_exports.object({
120650
120650
  "Android only: boot the emulator with audio output enabled. Defaults to false \u2014 argent boots emulators MUTED so several agent-driven devices don't all play sound on the host machine; pass `true` when the task involves playing, hearing, or testing audio. Takes effect at boot: if the emulator is already running muted, add `force: true` to reboot it with sound. A boot snapshot saved in the other audio mode can't be reused, so the first boot after toggling is a slower cold boot. The `boot-sound` argent flag flips this default to true. Ignored on iOS/Vega/Electron, which argent never mutes."
120651
120651
  ),
120652
120652
  headless: external_exports.boolean().optional().describe(
120653
- "iOS only: boot the simulator core WITHOUT opening the Simulator.app GUI window. The device still streams via simulator-server; used by Argent Lens. Set the `ARGENT_SIMULATOR_NO_WINDOW` env var (1/true/yes) to force this host-wide without passing the flag per call (the iOS analog of `ARGENT_EMULATOR_NO_WINDOW`). Ignored on Android/Vega/Electron, which have no equivalent GUI step."
120653
+ "iOS only: boot the simulator core WITHOUT opening its GUI window (Simulator.app, or Device Hub on Xcode 27+). The device still streams via simulator-server; used by Argent Lens. Set the `ARGENT_SIMULATOR_NO_WINDOW` env var (1/true/yes) to force this host-wide without passing the flag per call (the iOS analog of `ARGENT_EMULATOR_NO_WINDOW`). Ignored on Android/Vega/Electron, which have no equivalent GUI step."
120654
120654
  ),
120655
120655
  electronAppPath: external_exports.string().optional().describe(
120656
120656
  "Electron: path to the Electron app to launch. Either a packaged .app bundle / executable, or a project directory whose package.json points the Electron binary at the entry script. Mutually exclusive with udid/avdName."
@@ -120889,11 +120889,26 @@ async function bootIos(udid, registry2, force, headless) {
120889
120889
  });
120890
120890
  }
120891
120891
  if (!headless && !iosHeadlessFromEnv() && !deviceSet) {
120892
- await execFileAsync17("open", ["-a", "Simulator.app"]).catch(() => execFileAsync17("open", ["-b", "com.apple.dt.Devices"])).catch(() => {
120892
+ await openSimulatorWindow(udid).catch(() => {
120893
120893
  });
120894
120894
  }
120895
120895
  return { platform: "ios", udid, booted: true };
120896
120896
  }
120897
+ async function openSimulatorWindow(udid) {
120898
+ const timeout = 5e3;
120899
+ const { stdout } = await execFileAsync17("xcode-select", ["-p"], { timeout });
120900
+ const developerDir = (0, import_node_fs12.realpathSync)(stdout.trim());
120901
+ const simulatorApp = (0, import_node_path15.join)(developerDir, "Applications", "Simulator.app");
120902
+ if ((0, import_node_fs12.existsSync)(simulatorApp)) {
120903
+ await execFileAsync17("open", ["-a", simulatorApp], { timeout });
120904
+ return;
120905
+ }
120906
+ const deviceHubApp = (0, import_node_path15.join)(developerDir, "..", "Applications", "DeviceHub.app");
120907
+ if ((0, import_node_fs12.existsSync)(deviceHubApp)) {
120908
+ const url2 = `devices://device/open?id=${encodeURIComponent(udid)}`;
120909
+ await execFileAsync17("open", ["-a", deviceHubApp, url2], { timeout });
120910
+ }
120911
+ }
120897
120912
  async function bootIosRemote(id, registry2, force) {
120898
120913
  await ensureDep("sim-remote");
120899
120914
  const udid = stripRemotePrefix(id);
@@ -125457,7 +125472,7 @@ function windowLookup(needles) {
125457
125472
  if (needles.length === 0) {
125458
125473
  return `
125459
125474
  set win to missing value
125460
- repeat with procRef in {"Simulator", "Device Hub"}
125475
+ repeat with procRef in {"Simulator", "DeviceHub"}
125461
125476
  -- A repeat variable is a reference into the list and "process <ref>"
125462
125477
  -- will not coerce one, so without "contents of" the lookup misses.
125463
125478
  set procName to contents of procRef
@@ -125470,7 +125485,7 @@ function windowLookup(needles) {
125470
125485
  end repeat`;
125471
125486
  }
125472
125487
  return titleMatchLookup(
125473
- `name of every process whose name is "Simulator" or name is "Device Hub"`,
125488
+ `name of every process whose name is "Simulator" or name is "DeviceHub"`,
125474
125489
  needles
125475
125490
  );
125476
125491
  }
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swmansion/argent",
3
- "version": "0.25.2",
3
+ "version": "0.25.3-next.1",
4
4
  "mcpName": "io.github.software-mansion/argent",
5
5
  "description": "MCP server for iOS Simulator and Android Emulator control",
6
6
  "license": "Apache-2.0",