doc-detective-common 4.21.0 → 4.23.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.
@@ -180,7 +180,7 @@ export interface Context {
180
180
  */
181
181
  platforms?: ("linux" | "mac" | "windows" | "android" | "ios") | ("linux" | "mac" | "windows" | "android" | "ios")[];
182
182
  /**
183
- * Browsers to run tests on.
183
+ * Browsers to run tests on. On a mobile (`android`/`ios`) platform entry, the browser runs on the managed device: `chrome` on Android, `safari` on iOS (other combinations skip the context), and it fills in automatically when omitted. Device browsers don't take desktop display config: authored `window`/`viewport` dimensions and `headless: false` are rejected on mobile entries (the device owns its display — control it via the device descriptor's `headless`/`deviceType`); `headless: true` matches this schema's default and is ignored.
184
184
  */
185
185
  browsers?: ("chrome" | "firefox" | "safari" | "webkit") | Browser | (("chrome" | "firefox" | "safari" | "webkit") | Browser1)[];
186
186
  /**
@@ -192,7 +192,7 @@ export interface Context {
192
192
  */
193
193
  requires?: string | [string, ...string[]] | Requirements;
194
194
  /**
195
- * Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android`). Same shape as `startSurface.device`.
195
+ * Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`). Same shape as `startSurface.device`.
196
196
  */
197
197
  device?: DeviceByName | DeviceDescriptor;
198
198
  }
@@ -312,7 +312,7 @@ export interface DeviceDescriptor {
312
312
  */
313
313
  platform?: "android" | "ios";
314
314
  /**
315
- * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`).
315
+ * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`).
316
316
  */
317
317
  name?: string;
318
318
  /**
@@ -320,11 +320,11 @@ export interface DeviceDescriptor {
320
320
  */
321
321
  deviceType?: "phone" | "tablet";
322
322
  /**
323
- * Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version.
323
+ * Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version.
324
324
  */
325
325
  osVersion?: string;
326
326
  /**
327
- * Run the Android emulator without a window. Ignored where not applicable.
327
+ * Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable.
328
328
  */
329
329
  headless?: boolean;
330
330
  /**
@@ -20,7 +20,7 @@ export interface Context {
20
20
  */
21
21
  platforms?: ("linux" | "mac" | "windows" | "android" | "ios") | ("linux" | "mac" | "windows" | "android" | "ios")[];
22
22
  /**
23
- * Browsers to run tests on.
23
+ * Browsers to run tests on. On a mobile (`android`/`ios`) platform entry, the browser runs on the managed device: `chrome` on Android, `safari` on iOS (other combinations skip the context), and it fills in automatically when omitted. Device browsers don't take desktop display config: authored `window`/`viewport` dimensions and `headless: false` are rejected on mobile entries (the device owns its display — control it via the device descriptor's `headless`/`deviceType`); `headless: true` matches this schema's default and is ignored.
24
24
  */
25
25
  browsers?: ("chrome" | "firefox" | "safari" | "webkit") | Browser | (("chrome" | "firefox" | "safari" | "webkit") | Browser1)[];
26
26
  /**
@@ -32,7 +32,7 @@ export interface Context {
32
32
  */
33
33
  requires?: string | [string, ...string[]] | Requirements;
34
34
  /**
35
- * Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android`). Same shape as `startSurface.device`.
35
+ * Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`). Same shape as `startSurface.device`.
36
36
  */
37
37
  device?: DeviceByName | DeviceDescriptor;
38
38
  }
@@ -152,7 +152,7 @@ export interface DeviceDescriptor {
152
152
  */
153
153
  platform?: "android" | "ios";
154
154
  /**
155
- * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`).
155
+ * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`).
156
156
  */
157
157
  name?: string;
158
158
  /**
@@ -160,11 +160,11 @@ export interface DeviceDescriptor {
160
160
  */
161
161
  deviceType?: "phone" | "tablet";
162
162
  /**
163
- * Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version.
163
+ * Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version.
164
164
  */
165
165
  osVersion?: string;
166
166
  /**
167
- * Run the Android emulator without a window. Ignored where not applicable.
167
+ * Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable.
168
168
  */
169
169
  headless?: boolean;
170
170
  /**
@@ -104,7 +104,7 @@ export interface Context {
104
104
  */
105
105
  platforms?: ("linux" | "mac" | "windows" | "android" | "ios") | ("linux" | "mac" | "windows" | "android" | "ios")[];
106
106
  /**
107
- * Browsers to run tests on.
107
+ * Browsers to run tests on. On a mobile (`android`/`ios`) platform entry, the browser runs on the managed device: `chrome` on Android, `safari` on iOS (other combinations skip the context), and it fills in automatically when omitted. Device browsers don't take desktop display config: authored `window`/`viewport` dimensions and `headless: false` are rejected on mobile entries (the device owns its display — control it via the device descriptor's `headless`/`deviceType`); `headless: true` matches this schema's default and is ignored.
108
108
  */
109
109
  browsers?: ("chrome" | "firefox" | "safari" | "webkit") | Browser | (("chrome" | "firefox" | "safari" | "webkit") | Browser1)[];
110
110
  /**
@@ -116,7 +116,7 @@ export interface Context {
116
116
  */
117
117
  requires?: string | [string, ...string[]] | Requirements;
118
118
  /**
119
- * Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android`). Same shape as `startSurface.device`.
119
+ * Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`). Same shape as `startSurface.device`.
120
120
  */
121
121
  device?: DeviceByName | DeviceDescriptor;
122
122
  }
@@ -236,7 +236,7 @@ export interface DeviceDescriptor {
236
236
  */
237
237
  platform?: "android" | "ios";
238
238
  /**
239
- * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`).
239
+ * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`).
240
240
  */
241
241
  name?: string;
242
242
  /**
@@ -244,11 +244,11 @@ export interface DeviceDescriptor {
244
244
  */
245
245
  deviceType?: "phone" | "tablet";
246
246
  /**
247
- * Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version.
247
+ * Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version.
248
248
  */
249
249
  osVersion?: string;
250
250
  /**
251
- * Run the Android emulator without a window. Ignored where not applicable.
251
+ * Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable.
252
252
  */
253
253
  headless?: boolean;
254
254
  /**
@@ -218,7 +218,7 @@ export interface Context {
218
218
  */
219
219
  platforms?: ("linux" | "mac" | "windows" | "android" | "ios") | ("linux" | "mac" | "windows" | "android" | "ios")[];
220
220
  /**
221
- * Browsers to run tests on.
221
+ * Browsers to run tests on. On a mobile (`android`/`ios`) platform entry, the browser runs on the managed device: `chrome` on Android, `safari` on iOS (other combinations skip the context), and it fills in automatically when omitted. Device browsers don't take desktop display config: authored `window`/`viewport` dimensions and `headless: false` are rejected on mobile entries (the device owns its display — control it via the device descriptor's `headless`/`deviceType`); `headless: true` matches this schema's default and is ignored.
222
222
  */
223
223
  browsers?: ("chrome" | "firefox" | "safari" | "webkit") | Browser | (("chrome" | "firefox" | "safari" | "webkit") | Browser1)[];
224
224
  /**
@@ -230,7 +230,7 @@ export interface Context {
230
230
  */
231
231
  requires?: string | [string, ...string[]] | Requirements;
232
232
  /**
233
- * Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android`). Same shape as `startSurface.device`.
233
+ * Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`). Same shape as `startSurface.device`.
234
234
  */
235
235
  device?: DeviceByName | DeviceDescriptor;
236
236
  }
@@ -350,7 +350,7 @@ export interface DeviceDescriptor {
350
350
  */
351
351
  platform?: "android" | "ios";
352
352
  /**
353
- * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`).
353
+ * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`).
354
354
  */
355
355
  name?: string;
356
356
  /**
@@ -358,11 +358,11 @@ export interface DeviceDescriptor {
358
358
  */
359
359
  deviceType?: "phone" | "tablet";
360
360
  /**
361
- * Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version.
361
+ * Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version.
362
362
  */
363
363
  osVersion?: string;
364
364
  /**
365
- * Run the Android emulator without a window. Ignored where not applicable.
365
+ * Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable.
366
366
  */
367
367
  headless?: boolean;
368
368
  /**
@@ -657,7 +657,7 @@ export interface Context1 {
657
657
  */
658
658
  platforms?: ("linux" | "mac" | "windows" | "android" | "ios") | ("linux" | "mac" | "windows" | "android" | "ios")[];
659
659
  /**
660
- * Browsers to run tests on.
660
+ * Browsers to run tests on. On a mobile (`android`/`ios`) platform entry, the browser runs on the managed device: `chrome` on Android, `safari` on iOS (other combinations skip the context), and it fills in automatically when omitted. Device browsers don't take desktop display config: authored `window`/`viewport` dimensions and `headless: false` are rejected on mobile entries (the device owns its display — control it via the device descriptor's `headless`/`deviceType`); `headless: true` matches this schema's default and is ignored.
661
661
  */
662
662
  browsers?: ("chrome" | "firefox" | "safari" | "webkit") | Browser2 | (("chrome" | "firefox" | "safari" | "webkit") | Browser3)[];
663
663
  /**
@@ -669,7 +669,7 @@ export interface Context1 {
669
669
  */
670
670
  requires?: string | [string, ...string[]] | Requirements1;
671
671
  /**
672
- * Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android`). Same shape as `startSurface.device`.
672
+ * Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`). Same shape as `startSurface.device`.
673
673
  */
674
674
  device?: DeviceByName1 | DeviceDescriptor1;
675
675
  }
@@ -789,7 +789,7 @@ export interface DeviceDescriptor1 {
789
789
  */
790
790
  platform?: "android" | "ios";
791
791
  /**
792
- * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`).
792
+ * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`).
793
793
  */
794
794
  name?: string;
795
795
  /**
@@ -797,11 +797,11 @@ export interface DeviceDescriptor1 {
797
797
  */
798
798
  deviceType?: "phone" | "tablet";
799
799
  /**
800
- * Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version.
800
+ * Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version.
801
801
  */
802
802
  osVersion?: string;
803
803
  /**
804
- * Run the Android emulator without a window. Ignored where not applicable.
804
+ * Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable.
805
805
  */
806
806
  headless?: boolean;
807
807
  /**
@@ -81,7 +81,7 @@ export interface Context {
81
81
  */
82
82
  platforms?: ("linux" | "mac" | "windows" | "android" | "ios") | ("linux" | "mac" | "windows" | "android" | "ios")[];
83
83
  /**
84
- * Browsers to run tests on.
84
+ * Browsers to run tests on. On a mobile (`android`/`ios`) platform entry, the browser runs on the managed device: `chrome` on Android, `safari` on iOS (other combinations skip the context), and it fills in automatically when omitted. Device browsers don't take desktop display config: authored `window`/`viewport` dimensions and `headless: false` are rejected on mobile entries (the device owns its display — control it via the device descriptor's `headless`/`deviceType`); `headless: true` matches this schema's default and is ignored.
85
85
  */
86
86
  browsers?: ("chrome" | "firefox" | "safari" | "webkit") | Browser | (("chrome" | "firefox" | "safari" | "webkit") | Browser1)[];
87
87
  /**
@@ -93,7 +93,7 @@ export interface Context {
93
93
  */
94
94
  requires?: string | [string, ...string[]] | Requirements;
95
95
  /**
96
- * Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android`). Same shape as `startSurface.device`.
96
+ * Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`). Same shape as `startSurface.device`.
97
97
  */
98
98
  device?: DeviceByName | DeviceDescriptor;
99
99
  }
@@ -213,7 +213,7 @@ export interface DeviceDescriptor {
213
213
  */
214
214
  platform?: "android" | "ios";
215
215
  /**
216
- * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`).
216
+ * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`).
217
217
  */
218
218
  name?: string;
219
219
  /**
@@ -221,11 +221,11 @@ export interface DeviceDescriptor {
221
221
  */
222
222
  deviceType?: "phone" | "tablet";
223
223
  /**
224
- * Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version.
224
+ * Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version.
225
225
  */
226
226
  osVersion?: string;
227
227
  /**
228
- * Run the Android emulator without a window. Ignored where not applicable.
228
+ * Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable.
229
229
  */
230
230
  headless?: boolean;
231
231
  /**
@@ -10,7 +10,7 @@ export type ElementCriteria = {
10
10
  [k: string]: unknown;
11
11
  };
12
12
  /**
13
- * Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1–A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings → Privacy & Security → Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator via the `device`, `install`, and `activity` fields (iOS lands in A4). Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.
13
+ * Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1–A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings → Privacy & Security → Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator, and phase A4 adds iOS app surfaces on macOS via XCUITest/simctl. Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.
14
14
  */
15
15
  export interface StartSurface {
16
16
  /**
@@ -36,15 +36,15 @@ export interface StartSurface {
36
36
  [k: string]: string;
37
37
  };
38
38
  /**
39
- * Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored.
39
+ * Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces.
40
40
  */
41
41
  install?: string;
42
42
  /**
43
- * Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3).
43
+ * Android main activity override (defaults to the package's launcher activity). Android-only.
44
44
  */
45
45
  activity?: string;
46
46
  /**
47
- * Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).
47
+ * Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.
48
48
  */
49
49
  device?: DeviceByName | (DeviceDescriptor & {
50
50
  [k: string]: unknown;
@@ -67,7 +67,7 @@ export interface DeviceDescriptor {
67
67
  */
68
68
  platform?: "android" | "ios";
69
69
  /**
70
- * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`).
70
+ * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`).
71
71
  */
72
72
  name?: string;
73
73
  /**
@@ -75,11 +75,11 @@ export interface DeviceDescriptor {
75
75
  */
76
76
  deviceType?: "phone" | "tablet";
77
77
  /**
78
- * Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version.
78
+ * Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version.
79
79
  */
80
80
  osVersion?: string;
81
81
  /**
82
- * Run the Android emulator without a window. Ignored where not applicable.
82
+ * Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable.
83
83
  */
84
84
  headless?: boolean;
85
85
  /**
@@ -4099,7 +4099,7 @@ export interface StartSurface {
4099
4099
  [k: string]: unknown;
4100
4100
  }
4101
4101
  /**
4102
- * Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1–A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings → Privacy & Security → Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator via the `device`, `install`, and `activity` fields (iOS lands in A4). Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.
4102
+ * Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1–A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings → Privacy & Security → Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator, and phase A4 adds iOS app surfaces on macOS via XCUITest/simctl. Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.
4103
4103
  */
4104
4104
  export interface StartSurface1 {
4105
4105
  /**
@@ -4125,15 +4125,15 @@ export interface StartSurface1 {
4125
4125
  [k: string]: string;
4126
4126
  };
4127
4127
  /**
4128
- * Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored.
4128
+ * Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces.
4129
4129
  */
4130
4130
  install?: string;
4131
4131
  /**
4132
- * Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3).
4132
+ * Android main activity override (defaults to the package's launcher activity). Android-only.
4133
4133
  */
4134
4134
  activity?: string;
4135
4135
  /**
4136
- * Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).
4136
+ * Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.
4137
4137
  */
4138
4138
  device?: DeviceByName | (DeviceDescriptor & {
4139
4139
  [k: string]: unknown;
@@ -4156,7 +4156,7 @@ export interface DeviceDescriptor {
4156
4156
  */
4157
4157
  platform?: "android" | "ios";
4158
4158
  /**
4159
- * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`).
4159
+ * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`).
4160
4160
  */
4161
4161
  name?: string;
4162
4162
  /**
@@ -4164,11 +4164,11 @@ export interface DeviceDescriptor {
4164
4164
  */
4165
4165
  deviceType?: "phone" | "tablet";
4166
4166
  /**
4167
- * Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version.
4167
+ * Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version.
4168
4168
  */
4169
4169
  osVersion?: string;
4170
4170
  /**
4171
- * Run the Android emulator without a window. Ignored where not applicable.
4171
+ * Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable.
4172
4172
  */
4173
4173
  headless?: boolean;
4174
4174
  /**
@@ -4022,7 +4022,7 @@ export interface Context {
4022
4022
  */
4023
4023
  platforms?: ("linux" | "mac" | "windows" | "android" | "ios") | ("linux" | "mac" | "windows" | "android" | "ios")[];
4024
4024
  /**
4025
- * Browsers to run tests on.
4025
+ * Browsers to run tests on. On a mobile (`android`/`ios`) platform entry, the browser runs on the managed device: `chrome` on Android, `safari` on iOS (other combinations skip the context), and it fills in automatically when omitted. Device browsers don't take desktop display config: authored `window`/`viewport` dimensions and `headless: false` are rejected on mobile entries (the device owns its display — control it via the device descriptor's `headless`/`deviceType`); `headless: true` matches this schema's default and is ignored.
4026
4026
  */
4027
4027
  browsers?: ("chrome" | "firefox" | "safari" | "webkit") | Browser | (("chrome" | "firefox" | "safari" | "webkit") | Browser1)[];
4028
4028
  /**
@@ -4034,7 +4034,7 @@ export interface Context {
4034
4034
  */
4035
4035
  requires?: string | [string, ...string[]] | Requirements;
4036
4036
  /**
4037
- * Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android`). Same shape as `startSurface.device`.
4037
+ * Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`). Same shape as `startSurface.device`.
4038
4038
  */
4039
4039
  device?: DeviceByName | DeviceDescriptor;
4040
4040
  }
@@ -4154,7 +4154,7 @@ export interface DeviceDescriptor {
4154
4154
  */
4155
4155
  platform?: "android" | "ios";
4156
4156
  /**
4157
- * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`).
4157
+ * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`).
4158
4158
  */
4159
4159
  name?: string;
4160
4160
  /**
@@ -4162,11 +4162,11 @@ export interface DeviceDescriptor {
4162
4162
  */
4163
4163
  deviceType?: "phone" | "tablet";
4164
4164
  /**
4165
- * Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version.
4165
+ * Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version.
4166
4166
  */
4167
4167
  osVersion?: string;
4168
4168
  /**
4169
- * Run the Android emulator without a window. Ignored where not applicable.
4169
+ * Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable.
4170
4170
  */
4171
4171
  headless?: boolean;
4172
4172
  /**
@@ -7061,7 +7061,7 @@ export interface StartSurface {
7061
7061
  [k: string]: unknown;
7062
7062
  }
7063
7063
  /**
7064
- * Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1–A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings → Privacy & Security → Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator via the `device`, `install`, and `activity` fields (iOS lands in A4). Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.
7064
+ * Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1–A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings → Privacy & Security → Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator, and phase A4 adds iOS app surfaces on macOS via XCUITest/simctl. Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.
7065
7065
  */
7066
7066
  export interface StartSurface1 {
7067
7067
  /**
@@ -7087,15 +7087,15 @@ export interface StartSurface1 {
7087
7087
  [k: string]: string;
7088
7088
  };
7089
7089
  /**
7090
- * Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored.
7090
+ * Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces.
7091
7091
  */
7092
7092
  install?: string;
7093
7093
  /**
7094
- * Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3).
7094
+ * Android main activity override (defaults to the package's launcher activity). Android-only.
7095
7095
  */
7096
7096
  activity?: string;
7097
7097
  /**
7098
- * Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).
7098
+ * Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.
7099
7099
  */
7100
7100
  device?: DeviceByName1 | (DeviceDescriptor1 & {
7101
7101
  [k: string]: unknown;
@@ -7118,7 +7118,7 @@ export interface DeviceDescriptor1 {
7118
7118
  */
7119
7119
  platform?: "android" | "ios";
7120
7120
  /**
7121
- * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`).
7121
+ * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`).
7122
7122
  */
7123
7123
  name?: string;
7124
7124
  /**
@@ -7126,11 +7126,11 @@ export interface DeviceDescriptor1 {
7126
7126
  */
7127
7127
  deviceType?: "phone" | "tablet";
7128
7128
  /**
7129
- * Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version.
7129
+ * Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version.
7130
7130
  */
7131
7131
  osVersion?: string;
7132
7132
  /**
7133
- * Run the Android emulator without a window. Ignored where not applicable.
7133
+ * Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable.
7134
7134
  */
7135
7135
  headless?: boolean;
7136
7136
  /**
@@ -10713,7 +10713,7 @@ export interface StartSurface2 {
10713
10713
  [k: string]: unknown;
10714
10714
  }
10715
10715
  /**
10716
- * Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1–A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings → Privacy & Security → Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator via the `device`, `install`, and `activity` fields (iOS lands in A4). Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.
10716
+ * Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1–A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings → Privacy & Security → Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator, and phase A4 adds iOS app surfaces on macOS via XCUITest/simctl. Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.
10717
10717
  */
10718
10718
  export interface StartSurface3 {
10719
10719
  /**
@@ -10739,15 +10739,15 @@ export interface StartSurface3 {
10739
10739
  [k: string]: string;
10740
10740
  };
10741
10741
  /**
10742
- * Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored.
10742
+ * Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces.
10743
10743
  */
10744
10744
  install?: string;
10745
10745
  /**
10746
- * Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3).
10746
+ * Android main activity override (defaults to the package's launcher activity). Android-only.
10747
10747
  */
10748
10748
  activity?: string;
10749
10749
  /**
10750
- * Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).
10750
+ * Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.
10751
10751
  */
10752
10752
  device?: DeviceByName2 | (DeviceDescriptor2 & {
10753
10753
  [k: string]: unknown;
@@ -10770,7 +10770,7 @@ export interface DeviceDescriptor2 {
10770
10770
  */
10771
10771
  platform?: "android" | "ios";
10772
10772
  /**
10773
- * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`).
10773
+ * Device name and registry identity — the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`).
10774
10774
  */
10775
10775
  name?: string;
10776
10776
  /**
@@ -10778,11 +10778,11 @@ export interface DeviceDescriptor2 {
10778
10778
  */
10779
10779
  deviceType?: "phone" | "tablet";
10780
10780
  /**
10781
- * Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version.
10781
+ * Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version.
10782
10782
  */
10783
10783
  osVersion?: string;
10784
10784
  /**
10785
- * Run the Android emulator without a window. Ignored where not applicable.
10785
+ * Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable.
10786
10786
  */
10787
10787
  headless?: boolean;
10788
10788
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "doc-detective-common",
3
- "version": "4.21.0",
3
+ "version": "4.23.0",
4
4
  "description": "Shared components for Doc Detective projects.",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",