@swmansion/argent 0.30.2-next.1 → 0.30.2-next.2
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/dist/cli-cmds.mjs +29 -1
- package/dist/client.js +25 -0
- package/dist/installer.mjs +25 -1
- package/dist/mcp-server.mjs +24 -0
- package/dist/tool-args.generated.d.ts +40 -38
- package/dist/tool-server.cjs +3528 -1285
- package/package.json +1 -1
- package/skills/argent-create-e2e/references/e2e-yaml.md +1 -0
- package/skills/argent-device-interact/SKILL.md +1 -1
- package/skills/argent-device-interact/references/harmonyos.md +79 -0
package/dist/cli-cmds.mjs
CHANGED
|
@@ -9696,6 +9696,21 @@ var FAILURE_CODES = {
|
|
|
9696
9696
|
VEGA_ALREADY_RUNNING: "VEGA_ALREADY_RUNNING",
|
|
9697
9697
|
VEGA_SCREENSHOT_FAILED: "VEGA_SCREENSHOT_FAILED",
|
|
9698
9698
|
VEGA_TEXT_INVALID: "VEGA_TEXT_INVALID",
|
|
9699
|
+
HARMONY_DISABLED: "HARMONY_DISABLED",
|
|
9700
|
+
HARMONY_HDC_NOT_FOUND: "HARMONY_HDC_NOT_FOUND",
|
|
9701
|
+
HARMONY_EMULATOR_NOT_FOUND: "HARMONY_EMULATOR_NOT_FOUND",
|
|
9702
|
+
HARMONY_EMULATOR_COMMAND_FAILED: "HARMONY_EMULATOR_COMMAND_FAILED",
|
|
9703
|
+
HARMONY_HDC_COMMAND_FAILED: "HARMONY_HDC_COMMAND_FAILED",
|
|
9704
|
+
HARMONY_DEVICE_ID_INVALID: "HARMONY_DEVICE_ID_INVALID",
|
|
9705
|
+
HARMONY_DEVICE_UNREACHABLE: "HARMONY_DEVICE_UNREACHABLE",
|
|
9706
|
+
HARMONY_SHELL_NO_STATUS: "HARMONY_SHELL_NO_STATUS",
|
|
9707
|
+
HARMONY_FILE_TRANSFER_FAILED: "HARMONY_FILE_TRANSFER_FAILED",
|
|
9708
|
+
HARMONY_UITEST_FAILED: "HARMONY_UITEST_FAILED",
|
|
9709
|
+
HARMONY_DISPLAY_UNREADABLE: "HARMONY_DISPLAY_UNREADABLE",
|
|
9710
|
+
HARMONY_SCREEN_OFF: "HARMONY_SCREEN_OFF",
|
|
9711
|
+
HARMONY_ABILITY_START_FAILED: "HARMONY_ABILITY_START_FAILED",
|
|
9712
|
+
HARMONY_ABILITY_STOP_FAILED: "HARMONY_ABILITY_STOP_FAILED",
|
|
9713
|
+
HARMONY_REINSTALL_FAILED: "HARMONY_REINSTALL_FAILED",
|
|
9699
9714
|
ANDROID_ADB_NOT_FOUND: "ANDROID_ADB_NOT_FOUND",
|
|
9700
9715
|
ANDROID_EMULATOR_NOT_FOUND: "ANDROID_EMULATOR_NOT_FOUND",
|
|
9701
9716
|
ANDROID_ADB_COMMAND_FAILED: "ANDROID_ADB_COMMAND_FAILED",
|
|
@@ -9933,6 +9948,12 @@ var FAILURE_CODES = {
|
|
|
9933
9948
|
BOOT_ANDROID_FIRST_FRAME_TIMEOUT: "BOOT_ANDROID_FIRST_FRAME_TIMEOUT",
|
|
9934
9949
|
BOOT_ANDROID_PACKAGE_MANAGER_UNAVAILABLE: "BOOT_ANDROID_PACKAGE_MANAGER_UNAVAILABLE",
|
|
9935
9950
|
BOOT_ANDROID_COLD_BOOT_FAILED: "BOOT_ANDROID_COLD_BOOT_FAILED",
|
|
9951
|
+
BOOT_HARMONY_INSTANCE_NOT_FOUND: "BOOT_HARMONY_INSTANCE_NOT_FOUND",
|
|
9952
|
+
BOOT_HARMONY_TARGET_LIST_FAILED: "BOOT_HARMONY_TARGET_LIST_FAILED",
|
|
9953
|
+
BOOT_HARMONY_STOP_FAILED: "BOOT_HARMONY_STOP_FAILED",
|
|
9954
|
+
BOOT_HARMONY_STOP_TIMEOUT: "BOOT_HARMONY_STOP_TIMEOUT",
|
|
9955
|
+
BOOT_HARMONY_MANAGER_EXITED: "BOOT_HARMONY_MANAGER_EXITED",
|
|
9956
|
+
BOOT_HARMONY_START_FAILED: "BOOT_HARMONY_START_FAILED",
|
|
9936
9957
|
/**
|
|
9937
9958
|
* External device providers
|
|
9938
9959
|
* @see [external-devices.ts](../../tool-server/src/utils/external-devices.ts)
|
|
@@ -9962,6 +9983,8 @@ var FAILURE_COMMANDS = [
|
|
|
9962
9983
|
"adb",
|
|
9963
9984
|
"emulator",
|
|
9964
9985
|
"vega",
|
|
9986
|
+
"hdc",
|
|
9987
|
+
"deveco_emulator",
|
|
9965
9988
|
"xcrun_simctl",
|
|
9966
9989
|
"xctrace",
|
|
9967
9990
|
"native_devtools",
|
|
@@ -31077,6 +31100,10 @@ var FLAG_REGISTRY = [
|
|
|
31077
31100
|
name: "microinteractions",
|
|
31078
31101
|
description: "Amplify device actions with matching animations of the host window, so what happens on the guest is also visible on the desktop. Purely cosmetic, macOS only, and never affects whether the underlying action succeeds. Off by default."
|
|
31079
31102
|
},
|
|
31103
|
+
{
|
|
31104
|
+
name: "harmonyos",
|
|
31105
|
+
description: "HarmonyOS support: list, boot and drive HarmonyOS phones and DevEco Studio emulators over `hdc`. Off by default while the platform is experimental."
|
|
31106
|
+
},
|
|
31080
31107
|
{
|
|
31081
31108
|
name: "video-watermark",
|
|
31082
31109
|
description: "Overlay the argent corner watermark on recorded screen videos. On by default; turn it off with `argent disable video-watermark`.",
|
|
@@ -34796,6 +34823,7 @@ var PLATFORMS = [
|
|
|
34796
34823
|
"android",
|
|
34797
34824
|
"chromium",
|
|
34798
34825
|
"vega",
|
|
34826
|
+
"harmony",
|
|
34799
34827
|
"tvos",
|
|
34800
34828
|
"android-tv"
|
|
34801
34829
|
];
|
|
@@ -35549,7 +35577,7 @@ var _CI_VENDOR_COUNT_FOR_TEST = vendors_default.length;
|
|
|
35549
35577
|
var SESSION_ID2 = randomUUID5();
|
|
35550
35578
|
function readCliVersion() {
|
|
35551
35579
|
if (true) {
|
|
35552
|
-
return "0.30.2-next.
|
|
35580
|
+
return "0.30.2-next.2";
|
|
35553
35581
|
}
|
|
35554
35582
|
return "0.0.0";
|
|
35555
35583
|
}
|
package/dist/client.js
CHANGED
|
@@ -7790,6 +7790,10 @@ var FLAG_REGISTRY = [
|
|
|
7790
7790
|
name: "microinteractions",
|
|
7791
7791
|
description: "Amplify device actions with matching animations of the host window, so what happens on the guest is also visible on the desktop. Purely cosmetic, macOS only, and never affects whether the underlying action succeeds. Off by default."
|
|
7792
7792
|
},
|
|
7793
|
+
{
|
|
7794
|
+
name: "harmonyos",
|
|
7795
|
+
description: "HarmonyOS support: list, boot and drive HarmonyOS phones and DevEco Studio emulators over `hdc`. Off by default while the platform is experimental."
|
|
7796
|
+
},
|
|
7793
7797
|
{
|
|
7794
7798
|
name: "video-watermark",
|
|
7795
7799
|
description: "Overlay the argent corner watermark on recorded screen videos. On by default; turn it off with `argent disable video-watermark`.",
|
|
@@ -8896,6 +8900,21 @@ var FAILURE_CODES = {
|
|
|
8896
8900
|
VEGA_ALREADY_RUNNING: "VEGA_ALREADY_RUNNING",
|
|
8897
8901
|
VEGA_SCREENSHOT_FAILED: "VEGA_SCREENSHOT_FAILED",
|
|
8898
8902
|
VEGA_TEXT_INVALID: "VEGA_TEXT_INVALID",
|
|
8903
|
+
HARMONY_DISABLED: "HARMONY_DISABLED",
|
|
8904
|
+
HARMONY_HDC_NOT_FOUND: "HARMONY_HDC_NOT_FOUND",
|
|
8905
|
+
HARMONY_EMULATOR_NOT_FOUND: "HARMONY_EMULATOR_NOT_FOUND",
|
|
8906
|
+
HARMONY_EMULATOR_COMMAND_FAILED: "HARMONY_EMULATOR_COMMAND_FAILED",
|
|
8907
|
+
HARMONY_HDC_COMMAND_FAILED: "HARMONY_HDC_COMMAND_FAILED",
|
|
8908
|
+
HARMONY_DEVICE_ID_INVALID: "HARMONY_DEVICE_ID_INVALID",
|
|
8909
|
+
HARMONY_DEVICE_UNREACHABLE: "HARMONY_DEVICE_UNREACHABLE",
|
|
8910
|
+
HARMONY_SHELL_NO_STATUS: "HARMONY_SHELL_NO_STATUS",
|
|
8911
|
+
HARMONY_FILE_TRANSFER_FAILED: "HARMONY_FILE_TRANSFER_FAILED",
|
|
8912
|
+
HARMONY_UITEST_FAILED: "HARMONY_UITEST_FAILED",
|
|
8913
|
+
HARMONY_DISPLAY_UNREADABLE: "HARMONY_DISPLAY_UNREADABLE",
|
|
8914
|
+
HARMONY_SCREEN_OFF: "HARMONY_SCREEN_OFF",
|
|
8915
|
+
HARMONY_ABILITY_START_FAILED: "HARMONY_ABILITY_START_FAILED",
|
|
8916
|
+
HARMONY_ABILITY_STOP_FAILED: "HARMONY_ABILITY_STOP_FAILED",
|
|
8917
|
+
HARMONY_REINSTALL_FAILED: "HARMONY_REINSTALL_FAILED",
|
|
8899
8918
|
ANDROID_ADB_NOT_FOUND: "ANDROID_ADB_NOT_FOUND",
|
|
8900
8919
|
ANDROID_EMULATOR_NOT_FOUND: "ANDROID_EMULATOR_NOT_FOUND",
|
|
8901
8920
|
ANDROID_ADB_COMMAND_FAILED: "ANDROID_ADB_COMMAND_FAILED",
|
|
@@ -9133,6 +9152,12 @@ var FAILURE_CODES = {
|
|
|
9133
9152
|
BOOT_ANDROID_FIRST_FRAME_TIMEOUT: "BOOT_ANDROID_FIRST_FRAME_TIMEOUT",
|
|
9134
9153
|
BOOT_ANDROID_PACKAGE_MANAGER_UNAVAILABLE: "BOOT_ANDROID_PACKAGE_MANAGER_UNAVAILABLE",
|
|
9135
9154
|
BOOT_ANDROID_COLD_BOOT_FAILED: "BOOT_ANDROID_COLD_BOOT_FAILED",
|
|
9155
|
+
BOOT_HARMONY_INSTANCE_NOT_FOUND: "BOOT_HARMONY_INSTANCE_NOT_FOUND",
|
|
9156
|
+
BOOT_HARMONY_TARGET_LIST_FAILED: "BOOT_HARMONY_TARGET_LIST_FAILED",
|
|
9157
|
+
BOOT_HARMONY_STOP_FAILED: "BOOT_HARMONY_STOP_FAILED",
|
|
9158
|
+
BOOT_HARMONY_STOP_TIMEOUT: "BOOT_HARMONY_STOP_TIMEOUT",
|
|
9159
|
+
BOOT_HARMONY_MANAGER_EXITED: "BOOT_HARMONY_MANAGER_EXITED",
|
|
9160
|
+
BOOT_HARMONY_START_FAILED: "BOOT_HARMONY_START_FAILED",
|
|
9136
9161
|
/**
|
|
9137
9162
|
* External device providers
|
|
9138
9163
|
* @see [external-devices.ts](../../tool-server/src/utils/external-devices.ts)
|
package/dist/installer.mjs
CHANGED
|
@@ -15804,6 +15804,21 @@ var FAILURE_CODES = {
|
|
|
15804
15804
|
VEGA_ALREADY_RUNNING: "VEGA_ALREADY_RUNNING",
|
|
15805
15805
|
VEGA_SCREENSHOT_FAILED: "VEGA_SCREENSHOT_FAILED",
|
|
15806
15806
|
VEGA_TEXT_INVALID: "VEGA_TEXT_INVALID",
|
|
15807
|
+
HARMONY_DISABLED: "HARMONY_DISABLED",
|
|
15808
|
+
HARMONY_HDC_NOT_FOUND: "HARMONY_HDC_NOT_FOUND",
|
|
15809
|
+
HARMONY_EMULATOR_NOT_FOUND: "HARMONY_EMULATOR_NOT_FOUND",
|
|
15810
|
+
HARMONY_EMULATOR_COMMAND_FAILED: "HARMONY_EMULATOR_COMMAND_FAILED",
|
|
15811
|
+
HARMONY_HDC_COMMAND_FAILED: "HARMONY_HDC_COMMAND_FAILED",
|
|
15812
|
+
HARMONY_DEVICE_ID_INVALID: "HARMONY_DEVICE_ID_INVALID",
|
|
15813
|
+
HARMONY_DEVICE_UNREACHABLE: "HARMONY_DEVICE_UNREACHABLE",
|
|
15814
|
+
HARMONY_SHELL_NO_STATUS: "HARMONY_SHELL_NO_STATUS",
|
|
15815
|
+
HARMONY_FILE_TRANSFER_FAILED: "HARMONY_FILE_TRANSFER_FAILED",
|
|
15816
|
+
HARMONY_UITEST_FAILED: "HARMONY_UITEST_FAILED",
|
|
15817
|
+
HARMONY_DISPLAY_UNREADABLE: "HARMONY_DISPLAY_UNREADABLE",
|
|
15818
|
+
HARMONY_SCREEN_OFF: "HARMONY_SCREEN_OFF",
|
|
15819
|
+
HARMONY_ABILITY_START_FAILED: "HARMONY_ABILITY_START_FAILED",
|
|
15820
|
+
HARMONY_ABILITY_STOP_FAILED: "HARMONY_ABILITY_STOP_FAILED",
|
|
15821
|
+
HARMONY_REINSTALL_FAILED: "HARMONY_REINSTALL_FAILED",
|
|
15807
15822
|
ANDROID_ADB_NOT_FOUND: "ANDROID_ADB_NOT_FOUND",
|
|
15808
15823
|
ANDROID_EMULATOR_NOT_FOUND: "ANDROID_EMULATOR_NOT_FOUND",
|
|
15809
15824
|
ANDROID_ADB_COMMAND_FAILED: "ANDROID_ADB_COMMAND_FAILED",
|
|
@@ -16041,6 +16056,12 @@ var FAILURE_CODES = {
|
|
|
16041
16056
|
BOOT_ANDROID_FIRST_FRAME_TIMEOUT: "BOOT_ANDROID_FIRST_FRAME_TIMEOUT",
|
|
16042
16057
|
BOOT_ANDROID_PACKAGE_MANAGER_UNAVAILABLE: "BOOT_ANDROID_PACKAGE_MANAGER_UNAVAILABLE",
|
|
16043
16058
|
BOOT_ANDROID_COLD_BOOT_FAILED: "BOOT_ANDROID_COLD_BOOT_FAILED",
|
|
16059
|
+
BOOT_HARMONY_INSTANCE_NOT_FOUND: "BOOT_HARMONY_INSTANCE_NOT_FOUND",
|
|
16060
|
+
BOOT_HARMONY_TARGET_LIST_FAILED: "BOOT_HARMONY_TARGET_LIST_FAILED",
|
|
16061
|
+
BOOT_HARMONY_STOP_FAILED: "BOOT_HARMONY_STOP_FAILED",
|
|
16062
|
+
BOOT_HARMONY_STOP_TIMEOUT: "BOOT_HARMONY_STOP_TIMEOUT",
|
|
16063
|
+
BOOT_HARMONY_MANAGER_EXITED: "BOOT_HARMONY_MANAGER_EXITED",
|
|
16064
|
+
BOOT_HARMONY_START_FAILED: "BOOT_HARMONY_START_FAILED",
|
|
16044
16065
|
/**
|
|
16045
16066
|
* External device providers
|
|
16046
16067
|
* @see [external-devices.ts](../../tool-server/src/utils/external-devices.ts)
|
|
@@ -16070,6 +16091,8 @@ var FAILURE_COMMANDS = [
|
|
|
16070
16091
|
"adb",
|
|
16071
16092
|
"emulator",
|
|
16072
16093
|
"vega",
|
|
16094
|
+
"hdc",
|
|
16095
|
+
"deveco_emulator",
|
|
16073
16096
|
"xcrun_simctl",
|
|
16074
16097
|
"xctrace",
|
|
16075
16098
|
"native_devtools",
|
|
@@ -16122,6 +16145,7 @@ var PLATFORMS = [
|
|
|
16122
16145
|
"android",
|
|
16123
16146
|
"chromium",
|
|
16124
16147
|
"vega",
|
|
16148
|
+
"harmony",
|
|
16125
16149
|
"tvos",
|
|
16126
16150
|
"android-tv"
|
|
16127
16151
|
];
|
|
@@ -16875,7 +16899,7 @@ var _CI_VENDOR_COUNT_FOR_TEST = vendors_default.length;
|
|
|
16875
16899
|
var SESSION_ID = randomUUID4();
|
|
16876
16900
|
function readCliVersion() {
|
|
16877
16901
|
if (true) {
|
|
16878
|
-
return "0.30.2-next.
|
|
16902
|
+
return "0.30.2-next.2";
|
|
16879
16903
|
}
|
|
16880
16904
|
return "0.0.0";
|
|
16881
16905
|
}
|
package/dist/mcp-server.mjs
CHANGED
|
@@ -25155,6 +25155,21 @@ var FAILURE_CODES = {
|
|
|
25155
25155
|
VEGA_ALREADY_RUNNING: "VEGA_ALREADY_RUNNING",
|
|
25156
25156
|
VEGA_SCREENSHOT_FAILED: "VEGA_SCREENSHOT_FAILED",
|
|
25157
25157
|
VEGA_TEXT_INVALID: "VEGA_TEXT_INVALID",
|
|
25158
|
+
HARMONY_DISABLED: "HARMONY_DISABLED",
|
|
25159
|
+
HARMONY_HDC_NOT_FOUND: "HARMONY_HDC_NOT_FOUND",
|
|
25160
|
+
HARMONY_EMULATOR_NOT_FOUND: "HARMONY_EMULATOR_NOT_FOUND",
|
|
25161
|
+
HARMONY_EMULATOR_COMMAND_FAILED: "HARMONY_EMULATOR_COMMAND_FAILED",
|
|
25162
|
+
HARMONY_HDC_COMMAND_FAILED: "HARMONY_HDC_COMMAND_FAILED",
|
|
25163
|
+
HARMONY_DEVICE_ID_INVALID: "HARMONY_DEVICE_ID_INVALID",
|
|
25164
|
+
HARMONY_DEVICE_UNREACHABLE: "HARMONY_DEVICE_UNREACHABLE",
|
|
25165
|
+
HARMONY_SHELL_NO_STATUS: "HARMONY_SHELL_NO_STATUS",
|
|
25166
|
+
HARMONY_FILE_TRANSFER_FAILED: "HARMONY_FILE_TRANSFER_FAILED",
|
|
25167
|
+
HARMONY_UITEST_FAILED: "HARMONY_UITEST_FAILED",
|
|
25168
|
+
HARMONY_DISPLAY_UNREADABLE: "HARMONY_DISPLAY_UNREADABLE",
|
|
25169
|
+
HARMONY_SCREEN_OFF: "HARMONY_SCREEN_OFF",
|
|
25170
|
+
HARMONY_ABILITY_START_FAILED: "HARMONY_ABILITY_START_FAILED",
|
|
25171
|
+
HARMONY_ABILITY_STOP_FAILED: "HARMONY_ABILITY_STOP_FAILED",
|
|
25172
|
+
HARMONY_REINSTALL_FAILED: "HARMONY_REINSTALL_FAILED",
|
|
25158
25173
|
ANDROID_ADB_NOT_FOUND: "ANDROID_ADB_NOT_FOUND",
|
|
25159
25174
|
ANDROID_EMULATOR_NOT_FOUND: "ANDROID_EMULATOR_NOT_FOUND",
|
|
25160
25175
|
ANDROID_ADB_COMMAND_FAILED: "ANDROID_ADB_COMMAND_FAILED",
|
|
@@ -25392,6 +25407,12 @@ var FAILURE_CODES = {
|
|
|
25392
25407
|
BOOT_ANDROID_FIRST_FRAME_TIMEOUT: "BOOT_ANDROID_FIRST_FRAME_TIMEOUT",
|
|
25393
25408
|
BOOT_ANDROID_PACKAGE_MANAGER_UNAVAILABLE: "BOOT_ANDROID_PACKAGE_MANAGER_UNAVAILABLE",
|
|
25394
25409
|
BOOT_ANDROID_COLD_BOOT_FAILED: "BOOT_ANDROID_COLD_BOOT_FAILED",
|
|
25410
|
+
BOOT_HARMONY_INSTANCE_NOT_FOUND: "BOOT_HARMONY_INSTANCE_NOT_FOUND",
|
|
25411
|
+
BOOT_HARMONY_TARGET_LIST_FAILED: "BOOT_HARMONY_TARGET_LIST_FAILED",
|
|
25412
|
+
BOOT_HARMONY_STOP_FAILED: "BOOT_HARMONY_STOP_FAILED",
|
|
25413
|
+
BOOT_HARMONY_STOP_TIMEOUT: "BOOT_HARMONY_STOP_TIMEOUT",
|
|
25414
|
+
BOOT_HARMONY_MANAGER_EXITED: "BOOT_HARMONY_MANAGER_EXITED",
|
|
25415
|
+
BOOT_HARMONY_START_FAILED: "BOOT_HARMONY_START_FAILED",
|
|
25395
25416
|
/**
|
|
25396
25417
|
* External device providers
|
|
25397
25418
|
* @see [external-devices.ts](../../tool-server/src/utils/external-devices.ts)
|
|
@@ -25421,6 +25442,8 @@ var FAILURE_COMMANDS = [
|
|
|
25421
25442
|
"adb",
|
|
25422
25443
|
"emulator",
|
|
25423
25444
|
"vega",
|
|
25445
|
+
"hdc",
|
|
25446
|
+
"deveco_emulator",
|
|
25424
25447
|
"xcrun_simctl",
|
|
25425
25448
|
"xctrace",
|
|
25426
25449
|
"native_devtools",
|
|
@@ -27406,6 +27429,7 @@ var PLATFORMS = [
|
|
|
27406
27429
|
"android",
|
|
27407
27430
|
"chromium",
|
|
27408
27431
|
"vega",
|
|
27432
|
+
"harmony",
|
|
27409
27433
|
"tvos",
|
|
27410
27434
|
"android-tv"
|
|
27411
27435
|
];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export interface ArgentToolArgs {
|
|
2
2
|
"await-screen-idle": {
|
|
3
|
-
/** Target device id from `list-devices` (iOS UDID, Android serial, or Chromium id). */
|
|
3
|
+
/** Target device id from `list-devices` (iOS UDID, Android serial, HarmonyOS id, or Chromium id). */
|
|
4
4
|
udid: string;
|
|
5
5
|
/** Max time to wait for the screen to settle before giving up (default 3000). */
|
|
6
6
|
timeoutMs?: number;
|
|
@@ -10,7 +10,7 @@ export interface ArgentToolArgs {
|
|
|
10
10
|
minStableMs?: number;
|
|
11
11
|
};
|
|
12
12
|
"await-ui-element": {
|
|
13
|
-
/** Target device id from `list-devices` (iOS UDID, Android serial, or Chromium id). */
|
|
13
|
+
/** Target device id from `list-devices` (iOS UDID, Android serial, HarmonyOS id, or Chromium id). */
|
|
14
14
|
udid: string;
|
|
15
15
|
/** What to wait for. `exists`: selector is anywhere in the tree. `visible`: selector is present with a non-zero on-screen frame. `hidden`: selector is absent or zero-area. `text`: the first visible match in reading order (topmost), falling back to the first match overall if none is visible, contains (or, with textMatch `equals`, exactly matches) expectedText. If a loose selector hits several elements, only that one is checked, so narrow it to target the intended element. */
|
|
16
16
|
condition: "exists" | "visible" | "hidden" | "text";
|
|
@@ -27,7 +27,7 @@ export interface ArgentToolArgs {
|
|
|
27
27
|
expectedText?: string;
|
|
28
28
|
/** For condition `text`: how expectedText is compared. `contains` (default) is a case-insensitive substring; `equals` is a case-insensitive full-string match. */
|
|
29
29
|
textMatch?: "contains" | "equals";
|
|
30
|
-
/** Optional iOS app bundle id, passed to the describe fallback (see `describe`). Ignored on
|
|
30
|
+
/** Optional iOS app bundle id, passed to the describe fallback (see `describe`). Ignored on every other platform, including physical iOS. */
|
|
31
31
|
bundleId?: string;
|
|
32
32
|
/** Max time to wait for the condition before giving up (default 5000). */
|
|
33
33
|
timeoutMs?: number;
|
|
@@ -39,21 +39,23 @@ export interface ArgentToolArgs {
|
|
|
39
39
|
timeoutSeconds?: number;
|
|
40
40
|
};
|
|
41
41
|
"boot-device": {
|
|
42
|
-
/** iOS: simulator UDID to boot (from `list-devices`). Provide exactly one of `udid`, `avdName`, `vvdImage`, or `electronAppPath`. */
|
|
42
|
+
/** iOS: simulator UDID to boot (from `list-devices`). Provide exactly one of `udid`, `avdName`, `vvdImage`, `harmonyInstance`, or `electronAppPath`. */
|
|
43
43
|
udid?: string;
|
|
44
|
-
/** Android: AVD name to launch a new emulator from (from `list-devices` → `avds[].name`). Provide exactly one of `udid`, `avdName`, `vvdImage`, or `electronAppPath`. */
|
|
44
|
+
/** Android: AVD name to launch a new emulator from (from `list-devices` → `avds[].name`). Provide exactly one of `udid`, `avdName`, `vvdImage`, `harmonyInstance`, or `electronAppPath`. */
|
|
45
45
|
avdName?: string;
|
|
46
|
-
/** Vega (Fire TV): VVD image to boot: the `vvdImage` of a Vega device from `list-devices` (e.g. `tv`). Starts the single SDK-managed Vega Virtual Device. Provide exactly one of `udid`, `avdName`, `vvdImage`, or `electronAppPath`. */
|
|
46
|
+
/** Vega (Fire TV): VVD image to boot: the `vvdImage` of a Vega device from `list-devices` (e.g. `tv`). Starts the single SDK-managed Vega Virtual Device. Provide exactly one of `udid`, `avdName`, `vvdImage`, `harmonyInstance`, or `electronAppPath`. */
|
|
47
47
|
vvdImage?: string;
|
|
48
|
-
/**
|
|
48
|
+
/** HarmonyOS: emulator instance to start: the `name` of a `kind: "emulator"` device from `list-devices` (e.g. `Phone_1`); the `harmony-emulator-<name>` id that entry reports as its `udid` is accepted too. Provide exactly one of `udid`, `avdName`, `vvdImage`, `harmonyInstance`, or `electronAppPath`. */
|
|
49
|
+
harmonyInstance?: string;
|
|
50
|
+
/** Android/Vega/HarmonyOS: overall budget for the boot sequence. Default 480000 (8 min) on Android, 120000 (2 min) on Vega, 180000 (3 min) on HarmonyOS, where with `force` it spans the shutdown as well as the boot. Clamped to [30s, 15min]. Ignored on iOS. */
|
|
49
51
|
bootTimeoutMs?: number;
|
|
50
|
-
/** Shut down and re-boot the device even if already running. */
|
|
52
|
+
/** Shut down and re-boot the device even if already running. On HarmonyOS it is also what ties an already-running instance to the `hdc` connect key it registered under, since the emulator manager never reports one: without it the instance is left alone and the payload names the instance rather than a key (`list-devices` lists the keys, but not which instance each belongs to). Ignored for Electron, which always spawns a fresh process. */
|
|
51
53
|
force?: boolean;
|
|
52
|
-
/** Android only: boot the emulator with audio output enabled. Defaults to false: 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. */
|
|
54
|
+
/** Android only: boot the emulator with audio output enabled. Defaults to false: 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/HarmonyOS/Electron, which argent never mutes. */
|
|
53
55
|
sound?: boolean;
|
|
54
|
-
/** 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. */
|
|
56
|
+
/** 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/HarmonyOS/Electron, which have no equivalent GUI step. */
|
|
55
57
|
headless?: boolean;
|
|
56
|
-
/** 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.
|
|
58
|
+
/** 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. Provide exactly one of `udid`, `avdName`, `vvdImage`, `harmonyInstance`, or `electronAppPath`. */
|
|
57
59
|
electronAppPath?: string;
|
|
58
60
|
/** Electron-only: CDP remote-debugging port to expose. Defaults to a free port; the resulting device id is `chromium-cdp-<port>`. */
|
|
59
61
|
electronPort?: number;
|
|
@@ -61,7 +63,7 @@ export interface ArgentToolArgs {
|
|
|
61
63
|
electronArgs?: Array<string>;
|
|
62
64
|
};
|
|
63
65
|
button: {
|
|
64
|
-
/** Target device id from `list-devices` (iOS UDID or Android serial). */
|
|
66
|
+
/** Target device id from `list-devices` (iOS UDID, HarmonyOS id, or Android serial). */
|
|
65
67
|
udid: string;
|
|
66
68
|
/** Hardware button to press */
|
|
67
69
|
button: "home" | "back" | "power" | "volumeUp" | "volumeDown" | "appSwitch" | "actionButton";
|
|
@@ -179,9 +181,9 @@ export interface ArgentToolArgs {
|
|
|
179
181
|
device_id: string;
|
|
180
182
|
};
|
|
181
183
|
describe: {
|
|
182
|
-
/** Target device id from `list-devices` (iOS UDID, Android serial, Vega serial, or Chromium id). */
|
|
184
|
+
/** Target device id from `list-devices` (iOS UDID, Android serial, Vega serial, HarmonyOS id, or Chromium id). */
|
|
183
185
|
udid: string;
|
|
184
|
-
/** Optional app bundle ID. Used as a target hint on iOS when the AX-service returns no elements and the describe tool falls back to native-devtools inspection. If omitted, the fallback auto-detects the frontmost connected app. Ignored on
|
|
186
|
+
/** Optional app bundle ID. Used as a target hint on iOS when the AX-service returns no elements and the describe tool falls back to native-devtools inspection. If omitted, the fallback auto-detects the frontmost connected app. Ignored on every other platform, including a physical iOS device. */
|
|
185
187
|
bundleId?: string;
|
|
186
188
|
};
|
|
187
189
|
"dismiss-update": {
|
|
@@ -320,7 +322,7 @@ export interface ArgentToolArgs {
|
|
|
320
322
|
momentum?: boolean;
|
|
321
323
|
};
|
|
322
324
|
"gesture-pinch": {
|
|
323
|
-
/** Target device id from `list-devices` (iOS UDID or Android serial). */
|
|
325
|
+
/** Target device id from `list-devices` (iOS UDID, HarmonyOS id, or Android serial). */
|
|
324
326
|
udid: string;
|
|
325
327
|
/** Center of pinch, horizontal: normalized 0.0–1.0 (fraction of screen width, not pixels) */
|
|
326
328
|
centerX: number;
|
|
@@ -336,7 +338,7 @@ export interface ArgentToolArgs {
|
|
|
336
338
|
endCenterY?: number;
|
|
337
339
|
/** Axis angle in degrees along which the fingers are placed (default 0 = horizontal). */
|
|
338
340
|
angle?: number;
|
|
339
|
-
/** Total gesture duration in milliseconds (default 300) */
|
|
341
|
+
/** Total gesture duration in milliseconds (default 300). On HarmonyOS the device runs the whole move itself and takes this as wall-clock time, clamped to the 1–15000ms range `uinput` accepts. */
|
|
340
342
|
durationMs?: number;
|
|
341
343
|
};
|
|
342
344
|
"gesture-rotate": {
|
|
@@ -374,7 +376,7 @@ export interface ArgentToolArgs {
|
|
|
374
376
|
durationMs?: number;
|
|
375
377
|
};
|
|
376
378
|
"gesture-swipe": {
|
|
377
|
-
/** Target device id from `list-devices` (iOS UDID or Android serial). */
|
|
379
|
+
/** Target device id from `list-devices` (iOS UDID, HarmonyOS id, or Android serial). */
|
|
378
380
|
udid: string;
|
|
379
381
|
/** Start x: normalized 0.0–1.0 (not pixels; same as tap) */
|
|
380
382
|
fromX: number;
|
|
@@ -390,31 +392,31 @@ export interface ArgentToolArgs {
|
|
|
390
392
|
momentum?: boolean;
|
|
391
393
|
};
|
|
392
394
|
"gesture-tap": {
|
|
393
|
-
/** Target device id from `list-devices` (iOS UDID, Android serial, or Chromium id). */
|
|
395
|
+
/** Target device id from `list-devices` (iOS UDID, Android serial, HarmonyOS id, or Chromium id). */
|
|
394
396
|
udid: string;
|
|
395
397
|
/** Normalized horizontal position 0.0–1.0 (left=0, right=1), not pixels */
|
|
396
398
|
x: number;
|
|
397
399
|
/** Normalized vertical position 0.0–1.0 (top=0, bottom=1), not pixels */
|
|
398
400
|
y: number;
|
|
399
|
-
/** Number of taps/clicks dispatched as ONE multi-tap gesture (2 = double-tap / double-click). The taps land inside the OS double-tap window; on Chromium each click carries an escalating CDP clickCount so dblclick actually fires; on physical iOS 2 is the native double-tap and higher counts land as separate taps. Default 1. */
|
|
401
|
+
/** Number of taps/clicks dispatched as ONE multi-tap gesture (2 = double-tap / double-click). The taps land inside the OS double-tap window; on Chromium each click carries an escalating CDP clickCount so dblclick actually fires; on physical iOS 2 is the native double-tap and higher counts land as separate taps. On HarmonyOS only 2 is one gesture; 3 or more are separate injections a device round trip apart, which the OS reads as single taps. Default 1. */
|
|
400
402
|
clickCount?: number;
|
|
401
403
|
};
|
|
402
404
|
keyboard: {
|
|
403
|
-
/** Target device id from `list-devices` (iOS UDID, Android serial, Vega serial, or Chromium id). */
|
|
405
|
+
/** Target device id from `list-devices` (iOS UDID, Android serial, Vega serial, HarmonyOS id, or Chromium id). */
|
|
404
406
|
udid: string;
|
|
405
407
|
/** Text to type character by character. Cannot be combined with `key` in one call (one call per action); to type and then press a key, put two `keyboard` steps in one `run-sequence`. Handles uppercase and common punctuation. To type a credential without its plaintext ever entering your context, use a secret placeholder: `{{secret:<NAME>}}`, e.g. text: "{{secret:APP_PASSWORD}}". The value is resolved on the machine running the tool-server, from the first source that defines the name: the `ARGENT_SECRET_<NAME>` environment variable, `.argent/secrets.env` in the project, the project's `.env.local` / `.env` (only their `ARGENT_SECRET_`-prefixed keys), then `~/.argent/secrets.env`. Nothing else on the host is reachable. Placeholders can be embedded in longer text and are never echoed back resolved. If the secret you need is not set, the failure lists the available names and every source it looked in; ask the user to add it to one of them (a secrets file applies immediately; an env var needs a restart), NEVER ask the user to paste the secret value into the conversation. */
|
|
406
408
|
text?: string;
|
|
407
|
-
/** Named key to press: enter, escape, backspace, tab, space, arrow-up, arrow-down, arrow-left, arrow-right, f1-f12. Cannot be combined with `text` in one call: one call per action; to type and then press a key, put two `keyboard` steps in one `run-sequence`. Not supported on TV targets; move focus with `tv-remote` (up/down/left/right) instead. Physical iOS: only `enter` and `backspace`. */
|
|
409
|
+
/** Named key to press: enter, escape, backspace, tab, space, arrow-up, arrow-down, arrow-left, arrow-right, f1-f12. Cannot be combined with `text` in one call: one call per action; to type and then press a key, put two `keyboard` steps in one `run-sequence`. Not supported on TV targets; move focus with `tv-remote` (up/down/left/right) instead. Physical iOS: only `enter` and `backspace`. HarmonyOS: only enter (return), backspace (delete), space, arrow-left and arrow-right; any other key fails with 400 KEYBOARD_KEY_UNSUPPORTED. */
|
|
408
410
|
key?: string;
|
|
409
|
-
/** Delay in ms between key presses (default 50). Ignored on Android phones/tablets (typed via `adb input text`, which has no per-key cadence), on Vega (text/keys injected in a single shot), on TV targets (Apple TV / Android TV type the whole string at the daemon's own cadence), and on physical iOS. */
|
|
411
|
+
/** Delay in ms between key presses (default 50). Ignored on Android phones/tablets (typed via `adb input text`, which has no per-key cadence), on HarmonyOS (`uitest uiInput text` types the whole string in one shot), on Vega (text/keys injected in a single shot), on TV targets (Apple TV / Android TV type the whole string at the daemon's own cadence), and on physical iOS. */
|
|
410
412
|
delayMs?: number;
|
|
411
413
|
};
|
|
412
414
|
"launch-app": {
|
|
413
|
-
/** Target device id from `list-devices` (iOS UDID, Android serial, or Chromium id). */
|
|
415
|
+
/** Target device id from `list-devices` (iOS UDID, Android serial, HarmonyOS id, or Chromium id). */
|
|
414
416
|
udid: string;
|
|
415
|
-
/** App identifier. iOS: bundle id (e.g. com.apple.MobileSMS). Android: package name from build.gradle `applicationId` (e.g. com.android.settings). Chromium: any tag matching the same alphabet (letters, digits, '.', '_' and '-'); the call is a no-op since the renderer is already running. */
|
|
417
|
+
/** App identifier. iOS: bundle id (e.g. com.apple.MobileSMS). Android: package name from build.gradle `applicationId` (e.g. com.android.settings). HarmonyOS: bundle name as listed by `bm dump -a` (e.g. com.huawei.hmos.calculator). Chromium: any tag matching the same alphabet (letters, digits, '.', '_' and '-'); the call is a no-op since the renderer is already running. */
|
|
416
418
|
bundleId: string;
|
|
417
|
-
/** Android-only: fully-qualified Activity name (e.g. `.MainActivity` or `com.example/com.example.MainActivity`). If omitted on Android, the app's default launcher activity is used. Ignored on iOS / Chromium. */
|
|
419
|
+
/** Android-only: fully-qualified Activity name (e.g. `.MainActivity` or `com.example/com.example.MainActivity`). If omitted on Android, the app's default launcher activity is used. Ignored on iOS / Chromium / HarmonyOS (a HarmonyOS ability is resolved from the bundle's own `abilityInfos`). */
|
|
418
420
|
activity?: string;
|
|
419
421
|
/** Apple simulators and physical iPhones: arguments passed to the app process at launch, e.g. `["-FeatureFlag", "YES"]` to override UserDefaults. A running app is relaunched to apply them. Ignored on other targets. */
|
|
420
422
|
launchArgs?: Array<string>;
|
|
@@ -545,7 +547,7 @@ export interface ArgentToolArgs {
|
|
|
545
547
|
maxDepth?: number;
|
|
546
548
|
};
|
|
547
549
|
"open-url": {
|
|
548
|
-
/** Target device id from `list-devices` (iOS UDID, Android serial, or Chromium id). */
|
|
550
|
+
/** Target device id from `list-devices` (iOS UDID, Android serial, HarmonyOS id, or Chromium id). */
|
|
549
551
|
udid: string;
|
|
550
552
|
/** URL or scheme to open (e.g. https://example.com, messages://, tel:555, geo:37.0,-122.0). For Chromium this navigates the renderer. */
|
|
551
553
|
url: string;
|
|
@@ -745,19 +747,19 @@ export interface ArgentToolArgs {
|
|
|
745
747
|
device_id: string;
|
|
746
748
|
};
|
|
747
749
|
"reinstall-app": {
|
|
748
|
-
/** Target device id from `list-devices` (iOS UDID or Android serial). */
|
|
750
|
+
/** Target device id from `list-devices` (iOS UDID, HarmonyOS id, or Android serial). */
|
|
749
751
|
udid: string;
|
|
750
|
-
/** App identifier that matches the bundle at `appPath`. iOS: bundle id (used to uninstall first). Android: package name (used to uninstall first; the install itself identifies the app from the APK). Vega: interactive component app id (e.g. com.example.app.main), used to uninstall first. */
|
|
752
|
+
/** App identifier that matches the bundle at `appPath`. iOS: bundle id (used to uninstall first). Android: package name (used to uninstall first; the install itself identifies the app from the APK). Vega: interactive component app id (e.g. com.example.app.main), used to uninstall first. HarmonyOS: bundle name, which must match `app.bundleName` in the `.hap`. */
|
|
751
753
|
bundleId: string;
|
|
752
|
-
/** Path to the app bundle. iOS: `.app` directory (e.g. ./build/.../MyApp.app). Android: `.apk` file (e.g. android/app/build/outputs/apk/debug/app-debug.apk). Vega: `.vpkg` file. Relative paths are resolved from the current working directory. */
|
|
754
|
+
/** Path to the app bundle. iOS: `.app` directory (e.g. ./build/.../MyApp.app). Android: `.apk` file (e.g. android/app/build/outputs/apk/debug/app-debug.apk). Vega: `.vpkg` file. HarmonyOS: `.hap` file. Relative paths are resolved from the current working directory. */
|
|
753
755
|
appPath: string;
|
|
754
756
|
};
|
|
755
757
|
"restart-app": {
|
|
756
|
-
/** Target device id from `list-devices` (iOS UDID or Android serial). */
|
|
758
|
+
/** Target device id from `list-devices` (iOS UDID, HarmonyOS id, or Android serial). */
|
|
757
759
|
udid: string;
|
|
758
|
-
/** App identifier. iOS: bundle id. Android: package name. */
|
|
760
|
+
/** App identifier. iOS: bundle id. Android: package name. HarmonyOS: bundle name. */
|
|
759
761
|
bundleId: string;
|
|
760
|
-
/** Android-only: relaunch a non-launcher Activity (e.g. `.SettingsActivity` or `com.example/com.example.SettingsActivity`). If omitted, the app's default launcher activity is used. Ignored on iOS. */
|
|
762
|
+
/** Android-only: relaunch a non-launcher Activity (e.g. `.SettingsActivity` or `com.example/com.example.SettingsActivity`). If omitted, the app's default launcher activity is used. Ignored on iOS / HarmonyOS. */
|
|
761
763
|
activity?: string;
|
|
762
764
|
/** Apple simulators and physical iPhones: arguments passed to the app process at launch, e.g. `["-FeatureFlag", "YES"]` to override UserDefaults. Ignored on other targets. */
|
|
763
765
|
launchArgs?: Array<string>;
|
|
@@ -769,7 +771,7 @@ export interface ArgentToolArgs {
|
|
|
769
771
|
orientation: "Portrait" | "LandscapeLeft" | "LandscapeRight" | "PortraitUpsideDown";
|
|
770
772
|
};
|
|
771
773
|
"run-sequence": {
|
|
772
|
-
/** Target device id from `list-devices` (iOS UDID, Android serial, Vega serial, or Chromium id), shared across all steps. */
|
|
774
|
+
/** Target device id from `list-devices` (iOS UDID, Android serial, Vega serial, HarmonyOS id, or Chromium id), shared across all steps. */
|
|
773
775
|
udid: string;
|
|
774
776
|
/** Ordered list of interaction steps to execute sequentially */
|
|
775
777
|
steps: Array<{
|
|
@@ -798,11 +800,11 @@ export interface ArgentToolArgs {
|
|
|
798
800
|
udid: string;
|
|
799
801
|
};
|
|
800
802
|
screenshot: {
|
|
801
|
-
/** Target device id from `list-devices` (iOS UDID, Android serial, Apple TV UDID, Vega serial, or Chromium id). */
|
|
803
|
+
/** Target device id from `list-devices` (iOS UDID, Android serial, Apple TV UDID, Vega serial, HarmonyOS id, or Chromium id). */
|
|
802
804
|
udid: string;
|
|
803
|
-
/** Orientation override for the screenshot (rotates the captured image after Page.captureScreenshot on Chromium). On Android the capture already follows the device's rotation. Ignored on physical iPhones. */
|
|
805
|
+
/** Orientation override for the screenshot (rotates the captured image after Page.captureScreenshot on Chromium). On Android the capture already follows the device's rotation. Rejected on HarmonyOS, which captures the display in its current orientation and has no override. Ignored on physical iPhones. */
|
|
804
806
|
rotation?: "Portrait" | "LandscapeLeft" | "LandscapeRight" | "PortraitUpsideDown";
|
|
805
|
-
/** Scale factor (0.01-1.0). Defaults to ARGENT_SCREENSHOT_SCALE env var, or 0.25 if unset for iOS/Android. On a local Apple TV simulator, an Android TV or Vega, with neither set, the capture is downscaled to a 576 px long side (0.15 of a 4K capture); an Android TV whose form factor or display size cannot be read in time keeps 0.25. On Chromium the default is 1.0 (no downscale); pass <1 to opt in. Downscaling on Chromium requires the optional `sharp` dependency. */
|
|
807
|
+
/** Scale factor (0.01-1.0). Defaults to ARGENT_SCREENSHOT_SCALE env var, or 0.25 if unset for iOS/Android/HarmonyOS. On a local Apple TV simulator, an Android TV or Vega, with neither set, the capture is downscaled to a 576 px long side (0.15 of a 4K capture); an Android TV whose form factor or display size cannot be read in time keeps 0.25. On Chromium the default is 1.0 (no downscale); pass <1 to opt in. Downscaling on Chromium requires the optional `sharp` dependency. */
|
|
806
808
|
scale?: number;
|
|
807
809
|
/** Default true. Set false only when capturing a full-resolution PNG (scale: 1.0) to save as a baseline/current for screenshot-diff. The file is still written, but the image bytes are not attached to the agent context. */
|
|
808
810
|
includeImageInContext?: boolean;
|
|
@@ -814,13 +816,13 @@ export interface ArgentToolArgs {
|
|
|
814
816
|
baselinePath?: string;
|
|
815
817
|
/** Path to the current PNG file. Required unless captureCurrent is true. */
|
|
816
818
|
currentPath?: string;
|
|
817
|
-
/** Target device id from `list-devices` (iOS UDID or Android serial). */
|
|
819
|
+
/** Target device id from `list-devices` (iOS UDID, HarmonyOS id, or Android serial). */
|
|
818
820
|
udid: string;
|
|
819
821
|
/** Capture the baseline screenshot live at full resolution before diffing. Cannot be combined with captureCurrent. */
|
|
820
822
|
captureBaseline?: boolean;
|
|
821
823
|
/** Capture the current screenshot live at full resolution before diffing. Cannot be combined with captureBaseline. */
|
|
822
824
|
captureCurrent?: boolean;
|
|
823
|
-
/** Orientation override for live baseline/current captures. Ignored on physical iPhones. */
|
|
825
|
+
/** Orientation override for live baseline/current captures. Rejected on HarmonyOS, which captures the display in its current orientation and has no override. Ignored on physical iPhones. */
|
|
824
826
|
rotation?: "Portrait" | "LandscapeLeft" | "LandscapeRight" | "PortraitUpsideDown";
|
|
825
827
|
/** Directory where diff artifacts should be written. Optional: defaults to a temp directory; the diff images are returned in the result either way. */
|
|
826
828
|
outputDir?: string;
|