@devicecloud.dev/dcd 5.5.0-beta.1 → 5.5.0-beta.3

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.
@@ -160,6 +160,10 @@ export declare const cloudCommand: import("citty").CommandDef<{
160
160
  readonly type: "string";
161
161
  readonly description: `[Android only] Android device to run your flow against (options: ${string})`;
162
162
  };
163
+ readonly 'render-engine': {
164
+ readonly type: "string";
165
+ readonly description: "[Android only] Software renderer the emulator boots with (options: lavapipe, swiftshader). Defaults to lavapipe; pick swiftshader if your app fails to render or the device drops out mid-run. Apps shipping the Flutter engine are detected and switched automatically, so this is only needed to override that.";
166
+ };
163
167
  readonly 'device-locale': {
164
168
  readonly type: "string";
165
169
  readonly description: "Locale that will be set to a device, ISO-639-1 code and uppercase ISO-3166-1 code e.g. \"de_DE\" for Germany";
@@ -42,6 +42,7 @@ const DOWNLOAD_OPTIONS = ['ALL', 'FAILED'];
42
42
  const REPORT_OPTIONS = ['allure', 'html', 'html-detailed', 'junit'];
43
43
  const ORIENTATION_OPTIONS = ['0', '90'];
44
44
  const RUNNER_TYPE_OPTIONS = ['default', 'm4', 'm1', 'gpu1', 'cpu1'];
45
+ const RENDER_ENGINE_OPTIONS = ['lavapipe', 'swiftshader'];
45
46
  /**
46
47
  * Primary CLI command for executing tests on DeviceCloud.
47
48
  * Orchestrates the complete test workflow:
@@ -159,6 +160,7 @@ export const cloudCommand = defineCommand({
159
160
  const report = validateEnum(args.report, REPORT_OPTIONS, 'report');
160
161
  let retry = parseIntFlag(args.retry, 'retry');
161
162
  const runnerType = validateEnum(args['runner-type'], RUNNER_TYPE_OPTIONS, 'runner-type') ?? 'default';
163
+ const renderEngine = validateEnum(args['render-engine'], RENDER_ENGINE_OPTIONS, 'render-engine');
162
164
  const showCrosshairs = Boolean(args['show-crosshairs']);
163
165
  const maestroChromeOnboarding = Boolean(args['maestro-chrome-onboarding']);
164
166
  const disableAnimations = Boolean(args['disable-animations']);
@@ -572,6 +574,7 @@ export const cloudCommand = defineCommand({
572
574
  showCrosshairs,
573
575
  maestroChromeOnboarding,
574
576
  disableAnimations,
577
+ renderEngine,
575
578
  });
576
579
  // Device-matrix cost preview: the server prices the exact fan-out (quote
577
580
  // == charge) so the user sees the cell count and estimated cost before the
@@ -114,7 +114,7 @@ const startSub = defineCommand({
114
114
  },
115
115
  'android-device': {
116
116
  type: 'string',
117
- description: '[Android] Device profile to match a cloud run (options: pixel-6, pixel-6-pro, pixel-7, pixel-7-pro)',
117
+ description: '[Android] Device profile to match a cloud run (options: pixel-6, pixel-6-pro, pixel-7, pixel-7-pro, pixel-8, pixel-10, pixel-10-pro, pixel-10-pro-xl, pixel-11)',
118
118
  },
119
119
  'android-api-level': {
120
120
  type: 'string',
@@ -10,6 +10,10 @@ export declare const deviceFlags: {
10
10
  readonly type: "string";
11
11
  readonly description: `[Android only] Android device to run your flow against (options: ${string})`;
12
12
  };
13
+ readonly 'render-engine': {
14
+ readonly type: "string";
15
+ readonly description: "[Android only] Software renderer the emulator boots with (options: lavapipe, swiftshader). Defaults to lavapipe; pick swiftshader if your app fails to render or the device drops out mid-run. Apps shipping the Flutter engine are detected and switched automatically, so this is only needed to override that.";
16
+ };
13
17
  readonly 'device-locale': {
14
18
  readonly type: "string";
15
19
  readonly description: "Locale that will be set to a device, ISO-639-1 code and uppercase ISO-3166-1 code e.g. \"de_DE\" for Germany";
@@ -15,6 +15,10 @@ export const deviceFlags = {
15
15
  type: 'string',
16
16
  description: `[Android only] Android device to run your flow against (options: ${androidDevices})`,
17
17
  },
18
+ 'render-engine': {
19
+ type: 'string',
20
+ description: '[Android only] Software renderer the emulator boots with (options: lavapipe, swiftshader). Defaults to lavapipe; pick swiftshader if your app fails to render or the device drops out mid-run. Apps shipping the Flutter engine are detected and switched automatically, so this is only needed to override that.',
21
+ },
18
22
  'device-locale': {
19
23
  type: 'string',
20
24
  description: 'Locale that will be set to a device, ISO-639-1 code and uppercase ISO-3166-1 code e.g. "de_DE" for Germany',
@@ -146,6 +146,10 @@ export declare const flags: {
146
146
  readonly type: "string";
147
147
  readonly description: `[Android only] Android device to run your flow against (options: ${string})`;
148
148
  };
149
+ readonly 'render-engine': {
150
+ readonly type: "string";
151
+ readonly description: "[Android only] Software renderer the emulator boots with (options: lavapipe, swiftshader). Defaults to lavapipe; pick swiftshader if your app fails to render or the device drops out mid-run. Apps shipping the Flutter engine are detected and switched automatically, so this is only needed to override that.";
152
+ };
149
153
  readonly 'device-locale': {
150
154
  readonly type: "string";
151
155
  readonly description: "Locale that will be set to a device, ISO-639-1 code and uppercase ISO-3166-1 code e.g. \"de_DE\" for Germany";
@@ -32,6 +32,12 @@ export interface TestSubmissionConfig {
32
32
  name?: string;
33
33
  orientation?: string;
34
34
  raw?: unknown;
35
+ /**
36
+ * Which emulator software renderer to boot with (Android only). Omitted
37
+ * means the server decides: lavapipe by default, or swiftshader when the
38
+ * binary is detected as shipping the Flutter engine.
39
+ */
40
+ renderEngine?: 'lavapipe' | 'swiftshader';
35
41
  report?: string;
36
42
  retry?: number;
37
43
  runnerType?: string;
@@ -20,7 +20,7 @@ export class TestSubmissionService {
20
20
  * @returns The flow zip buffer, its SHA-256, and the string-encoded fields
21
21
  */
22
22
  async buildTestPayload(config) {
23
- const { apiUrl, appBinaryId, encrypt = false, flowFile, executionPlan, commonRoot, cliVersion, env = [], metadata = [], googlePlay = false, androidApiLevel, androidDevice, androidNoSnapshot, iOSVersion, iOSDevice, name, runnerType, maestroVersion, deviceLocale, orientation, retry, continueOnFailure = true, report, showCrosshairs, maestroChromeOnboarding, raw, disableAnimations, deviceMatrix, debug = false, logger, } = config;
23
+ const { apiUrl, appBinaryId, encrypt = false, flowFile, executionPlan, commonRoot, cliVersion, env = [], metadata = [], googlePlay = false, androidApiLevel, androidDevice, androidNoSnapshot, iOSVersion, iOSDevice, name, runnerType, maestroVersion, deviceLocale, orientation, retry, continueOnFailure = true, renderEngine, report, showCrosshairs, maestroChromeOnboarding, raw, disableAnimations, deviceMatrix, debug = false, logger, } = config;
24
24
  const { allExcludeTags, allIncludeTags, flowMetadata, flowOverrides, flowsToRun: testFileNames, referencedFiles, sequence, workspaceConfig, } = executionPlan;
25
25
  const { flows: sequentialFlows = [] } = sequence ?? {};
26
26
  const envObject = this.parseKeyValuePairs(env);
@@ -131,6 +131,7 @@ export class TestSubmissionService {
131
131
  maestroVersion,
132
132
  orientation,
133
133
  raw: JSON.stringify(raw),
134
+ renderEngine,
134
135
  report,
135
136
  showCrosshairs,
136
137
  maestroChromeOnboarding,
@@ -18,7 +18,13 @@ export declare enum EAndroidDevices {
18
18
  'pixel-6' = "pixel-6",
19
19
  'pixel-6-pro' = "pixel-6-pro",
20
20
  'pixel-7' = "pixel-7",
21
- 'pixel-7-pro' = "pixel-7-pro"
21
+ 'pixel-7-pro' = "pixel-7-pro",
22
+ 'pixel-8' = "pixel-8",
23
+ 'pixel-10' = "pixel-10",
24
+ 'pixel-10-pro' = "pixel-10-pro",
25
+ 'pixel-10-pro-xl' = "pixel-10-pro-xl",
26
+ 'pixel-10-pro-fold' = "pixel-10-pro-fold",
27
+ 'pixel-11' = "pixel-11"
22
28
  }
23
29
  export declare enum EiOSVersions {
24
30
  'eighteen' = "18",
@@ -21,6 +21,12 @@ export var EAndroidDevices;
21
21
  EAndroidDevices["pixel-6-pro"] = "pixel-6-pro";
22
22
  EAndroidDevices["pixel-7"] = "pixel-7";
23
23
  EAndroidDevices["pixel-7-pro"] = "pixel-7-pro";
24
+ EAndroidDevices["pixel-8"] = "pixel-8";
25
+ EAndroidDevices["pixel-10"] = "pixel-10";
26
+ EAndroidDevices["pixel-10-pro"] = "pixel-10-pro";
27
+ EAndroidDevices["pixel-10-pro-xl"] = "pixel-10-pro-xl";
28
+ EAndroidDevices["pixel-10-pro-fold"] = "pixel-10-pro-fold";
29
+ EAndroidDevices["pixel-11"] = "pixel-11";
24
30
  })(EAndroidDevices || (EAndroidDevices = {}));
25
31
  export var EiOSVersions;
26
32
  (function (EiOSVersions) {
@@ -421,7 +421,7 @@ export interface paths {
421
421
  patch?: never;
422
422
  trace?: never;
423
423
  };
424
- "/org/update-gpu-retries": {
424
+ "/org/update-retry-escalation": {
425
425
  parameters: {
426
426
  query?: never;
427
427
  header?: never;
@@ -430,7 +430,7 @@ export interface paths {
430
430
  };
431
431
  get?: never;
432
432
  put?: never;
433
- post: operations["OrgController_updateGpuRetries"];
433
+ post: operations["OrgController_updateRetryEscalation"];
434
434
  delete?: never;
435
435
  options?: never;
436
436
  head?: never;
@@ -1640,7 +1640,7 @@ export interface components {
1640
1640
  /** @enum {string} */
1641
1641
  androidApiLevel?: "29" | "30" | "31" | "32" | "33" | "34" | "35" | "36" | "37";
1642
1642
  /** @enum {string} */
1643
- androidDevice?: "pixel-6" | "pixel-6-pro" | "pixel-7" | "pixel-7-pro" | "generic-tablet";
1643
+ androidDevice?: "pixel-6" | "pixel-6-pro" | "pixel-7" | "pixel-7-pro" | "pixel-8" | "pixel-10" | "pixel-10-pro" | "pixel-10-pro-xl" | "pixel-10-pro-fold" | "pixel-11" | "generic-tablet";
1644
1644
  apiKey?: string;
1645
1645
  apiUrl?: string;
1646
1646
  appBinaryId: string;
@@ -1680,7 +1680,7 @@ export interface components {
1680
1680
  /** @enum {string} */
1681
1681
  androidApiLevel?: "29" | "30" | "31" | "32" | "33" | "34" | "35" | "36" | "37";
1682
1682
  /** @enum {string} */
1683
- androidDevice?: "pixel-6" | "pixel-6-pro" | "pixel-7" | "pixel-7-pro" | "generic-tablet";
1683
+ androidDevice?: "pixel-6" | "pixel-6-pro" | "pixel-7" | "pixel-7-pro" | "pixel-8" | "pixel-10" | "pixel-10-pro" | "pixel-10-pro-xl" | "pixel-10-pro-fold" | "pixel-11" | "generic-tablet";
1684
1684
  apiKey?: string;
1685
1685
  apiUrl?: string;
1686
1686
  appBinaryId: string;
@@ -1731,7 +1731,7 @@ export interface components {
1731
1731
  /** @enum {string} */
1732
1732
  androidApiLevel?: "29" | "30" | "31" | "32" | "33" | "34" | "35" | "36" | "37";
1733
1733
  /** @enum {string} */
1734
- androidDevice?: "pixel-6" | "pixel-6-pro" | "pixel-7" | "pixel-7-pro" | "generic-tablet";
1734
+ androidDevice?: "pixel-6" | "pixel-6-pro" | "pixel-7" | "pixel-7-pro" | "pixel-8" | "pixel-10" | "pixel-10-pro" | "pixel-10-pro-xl" | "pixel-10-pro-fold" | "pixel-11" | "generic-tablet";
1735
1735
  apiKey?: string;
1736
1736
  apiUrl?: string;
1737
1737
  appBinaryId: string;
@@ -2629,7 +2629,7 @@ export interface operations {
2629
2629
  };
2630
2630
  };
2631
2631
  };
2632
- OrgController_updateGpuRetries: {
2632
+ OrgController_updateRetryEscalation: {
2633
2633
  parameters: {
2634
2634
  query?: never;
2635
2635
  header?: never;
@@ -2640,12 +2640,12 @@ export interface operations {
2640
2640
  content: {
2641
2641
  "application/json": {
2642
2642
  orgId: number;
2643
- gpuRetries: boolean;
2643
+ enabled: boolean;
2644
2644
  };
2645
2645
  };
2646
2646
  };
2647
2647
  responses: {
2648
- /** @description GPU retries setting updated successfully. */
2648
+ /** @description Retry escalation setting updated successfully. */
2649
2649
  201: {
2650
2650
  headers: {
2651
2651
  [name: string]: unknown;
@@ -3015,7 +3015,8 @@ export interface operations {
3015
3015
  * "33",
3016
3016
  * "34",
3017
3017
  * "35",
3018
- * "36"
3018
+ * "36",
3019
+ * "37"
3019
3020
  * ],
3020
3021
  * "deprecated": false
3021
3022
  * },
@@ -3033,7 +3034,8 @@ export interface operations {
3033
3034
  * "33",
3034
3035
  * "34",
3035
3036
  * "35",
3036
- * "36"
3037
+ * "36",
3038
+ * "37"
3037
3039
  * ],
3038
3040
  * "deprecated": false
3039
3041
  * },
@@ -3043,14 +3045,66 @@ export interface operations {
3043
3045
  * "33",
3044
3046
  * "34",
3045
3047
  * "35",
3046
- * "36"
3048
+ * "36",
3049
+ * "37"
3050
+ * ],
3051
+ * "deprecated": false
3052
+ * },
3053
+ * "pixel-8": {
3054
+ * "name": "Pixel 8",
3055
+ * "apiLevels": [
3056
+ * "34",
3057
+ * "35",
3058
+ * "36",
3059
+ * "37"
3060
+ * ],
3061
+ * "deprecated": false
3062
+ * },
3063
+ * "pixel-10": {
3064
+ * "name": "Pixel 10",
3065
+ * "apiLevels": [
3066
+ * "36",
3067
+ * "37"
3068
+ * ],
3069
+ * "deprecated": false
3070
+ * },
3071
+ * "pixel-10-pro": {
3072
+ * "name": "Pixel 10 Pro",
3073
+ * "apiLevels": [
3074
+ * "36",
3075
+ * "37"
3076
+ * ],
3077
+ * "deprecated": false
3078
+ * },
3079
+ * "pixel-10-pro-xl": {
3080
+ * "name": "Pixel 10 Pro XL",
3081
+ * "apiLevels": [
3082
+ * "36",
3083
+ * "37"
3084
+ * ],
3085
+ * "deprecated": false
3086
+ * },
3087
+ * "pixel-10-pro-fold": {
3088
+ * "name": "Pixel 10 Pro Fold",
3089
+ * "apiLevels": [
3090
+ * "36",
3091
+ * "37"
3092
+ * ],
3093
+ * "deprecated": false
3094
+ * },
3095
+ * "pixel-11": {
3096
+ * "name": "Pixel 11",
3097
+ * "apiLevels": [
3098
+ * "37"
3047
3099
  * ],
3048
3100
  * "deprecated": false
3049
3101
  * },
3050
3102
  * "generic-tablet": {
3051
3103
  * "name": "Generic Tablet",
3052
3104
  * "apiLevels": [
3053
- * "33"
3105
+ * "33",
3106
+ * "36",
3107
+ * "37"
3054
3108
  * ],
3055
3109
  * "deprecated": false
3056
3110
  * }
@@ -3076,10 +3130,11 @@ export interface operations {
3076
3130
  * "2.6.1",
3077
3131
  * "2.7.0",
3078
3132
  * "2.8.0",
3079
- * "2.9.0"
3133
+ * "2.9.0",
3134
+ * "2.10.0"
3080
3135
  * ],
3081
3136
  * "defaultVersion": "2.2.0",
3082
- * "latestVersion": "2.9.0"
3137
+ * "latestVersion": "2.10.0"
3083
3138
  * }
3084
3139
  * }
3085
3140
  * }
package/package.json CHANGED
@@ -59,7 +59,7 @@
59
59
  "type": "git",
60
60
  "url": "https://devicecloud.dev"
61
61
  },
62
- "version": "5.5.0-beta.1",
62
+ "version": "5.5.0-beta.3",
63
63
  "bugs": {
64
64
  "url": "https://discord.gg/gm3mJwcNw8"
65
65
  },