appium-ios-remotexpc 5.11.0 → 5.12.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [5.12.0](https://github.com/appium/appium-ios-remotexpc/compare/v5.11.0...v5.12.0) (2026-07-21)
2
+
3
+ ### Features
4
+
5
+ * **coredevice:** add configuration service (appearance & accessibility) ([#277](https://github.com/appium/appium-ios-remotexpc/issues/277)) ([8c178e5](https://github.com/appium/appium-ios-remotexpc/commit/8c178e52e834977e173a19b8d7d293d99618101a))
6
+
1
7
  ## [5.11.0](https://github.com/appium/appium-ios-remotexpc/compare/v5.10.1...v5.11.0) (2026-07-10)
2
8
 
3
9
  ### Features
@@ -29,6 +29,8 @@ export { CoreDeviceInfoService } from './services/ios/device-info/index.js';
29
29
  export type { CoreDeviceAttributes, CoreDeviceDisplayInfo, CoreDeviceLockState, } from './services/ios/device-info/index.js';
30
30
  export { DeviceControlService } from './services/ios/device-control/index.js';
31
31
  export type { DeviceOrientationState, RotateDirection } from './services/ios/device-control/index.js';
32
+ export { ConfigurationService } from './services/ios/configuration/index.js';
33
+ export type { ColorFilterState, ColorFilterType, DeviceTextSize, SetColorFilterOptions, UserInterfaceStyle, } from './services/ios/configuration/index.js';
32
34
  export type { SyslogEntry, SyslogLabel, SyslogLogLevel } from './services/ios/syslog-service/syslog-entry-parser.js';
33
35
  export type { CrashReportsService, CrashReportsPullOptions, DiagnosticsService, MobileImageMounterService, NotificationProxyService, MobileConfigService, PowerAssertionService, PowerAssertionOptions, SpringboardService, WebInspectorService, MisagentService, SyslogService, HouseArrestService, DVTSecureSocketProxyService, LocationSimulationService, ConditionInducerService, ScreenshotService, GraphicsService, DeviceInfoService, NetworkMonitorService, EnergyMonitorService, ProcessInfo, ConditionProfile, ConditionGroup, SocketInfo, TunnelResult, TunnelRegistry, TunnelRegistryEntry, ActivityTraceTapService, DVTInstruments, NetworkAddress, InterfaceDetectionEvent, ConnectionDetectionEvent, ConnectionUpdateEvent, NetworkEvent, ProcessControlService, ProcessLaunchOptions, OutputReceivedEvent, SendMessageOptions, TestmanagerdService, XCTestServices, SysmontapService, SysmontapOptions, SysmonSample, SysmonProcessInfo, SysmonSystemInfo, } from './lib/types.js';
34
36
  export { PowerAssertionType } from './lib/types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export { AppService } from './services/ios/app-service/index.js';
13
13
  export { PasteboardService } from './services/ios/pasteboard/index.js';
14
14
  export { CoreDeviceInfoService } from './services/ios/device-info/index.js';
15
15
  export { DeviceControlService } from './services/ios/device-control/index.js';
16
+ export { ConfigurationService } from './services/ios/configuration/index.js';
16
17
  export { PowerAssertionType } from './lib/types.js';
17
18
  export { NetworkMessageType } from './services/ios/dvt/instruments/network-monitor.js';
18
19
  export { ActivityTraceTap } from './services/ios/dvt/instruments/activity-trace-tap.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAE,qBAAqB,EAAC,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAC,2BAA2B,EAAE,8BAA8B,EAAC,MAAM,yBAAyB,CAAC;AACpG,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,oBAAoB,EAAE,yBAAyB,EAAC,MAAM,wCAAwC,CAAC;AACvG,OAAO,EAAC,MAAM,EAAE,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,uBAAuB,EAAC,MAAM,wCAAwC,CAAC;AAc/E,OAAO,EAAC,kBAAkB,EAAC,MAAM,8BAA8B,CAAC;AAQhE,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;AAO5C,OAAO,EAAC,eAAe,EAAE,iBAAiB,EAAC,MAAM,mDAAmD,CAAC;AAErG,OAAO,EAAC,UAAU,EAAC,MAAM,qCAAqC,CAAC;AAQ/D,OAAO,EAAC,iBAAiB,EAAC,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAC,qBAAqB,EAAC,MAAM,qCAAqC,CAAC;AAM1E,OAAO,EAAC,oBAAoB,EAAC,MAAM,wCAAwC,CAAC;AAoD5E,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAC,kBAAkB,EAAC,MAAM,mDAAmD,CAAC;AAErF,OAAO,EAAC,gBAAgB,EAAC,MAAM,sDAAsD,CAAC;AAEtF,OAAO,EAAC,uBAAuB,EAAE,kBAAkB,EAAC,MAAM,qCAAqC,CAAC;AAChG,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAC,0BAA0B,EAAC,MAAM,oDAAoD,CAAC;AAE9F,OAAO,EAAC,cAAc,EAAC,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAC,SAAS,EAAC,MAAM,6CAA6C,CAAC;AACtE,OAAO,EAAC,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAC,MAAM,yCAAyC,CAAC;AACrH,OAAO,EAAC,gBAAgB,EAAC,MAAM,kDAAkD,CAAC;AAClF,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,aAAa,GACd,MAAM,8CAA8C,CAAC;AAWtD,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAC,qBAAqB,EAAE,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACxF,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAMpE,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,gCAAgC,CAAC;AAElF,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,8BAA8B,EAC9B,2BAA2B,EAC3B,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,GAC1B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAE,qBAAqB,EAAC,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAC,2BAA2B,EAAE,8BAA8B,EAAC,MAAM,yBAAyB,CAAC;AACpG,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,oBAAoB,EAAE,yBAAyB,EAAC,MAAM,wCAAwC,CAAC;AACvG,OAAO,EAAC,MAAM,EAAE,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,uBAAuB,EAAC,MAAM,wCAAwC,CAAC;AAc/E,OAAO,EAAC,kBAAkB,EAAC,MAAM,8BAA8B,CAAC;AAQhE,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;AAO5C,OAAO,EAAC,eAAe,EAAE,iBAAiB,EAAC,MAAM,mDAAmD,CAAC;AAErG,OAAO,EAAC,UAAU,EAAC,MAAM,qCAAqC,CAAC;AAQ/D,OAAO,EAAC,iBAAiB,EAAC,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAC,qBAAqB,EAAC,MAAM,qCAAqC,CAAC;AAM1E,OAAO,EAAC,oBAAoB,EAAC,MAAM,wCAAwC,CAAC;AAE5E,OAAO,EAAC,oBAAoB,EAAC,MAAM,uCAAuC,CAAC;AA0D3E,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAC,kBAAkB,EAAC,MAAM,mDAAmD,CAAC;AAErF,OAAO,EAAC,gBAAgB,EAAC,MAAM,sDAAsD,CAAC;AAEtF,OAAO,EAAC,uBAAuB,EAAE,kBAAkB,EAAC,MAAM,qCAAqC,CAAC;AAChG,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAC,0BAA0B,EAAC,MAAM,oDAAoD,CAAC;AAE9F,OAAO,EAAC,cAAc,EAAC,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAC,SAAS,EAAC,MAAM,6CAA6C,CAAC;AACtE,OAAO,EAAC,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAC,MAAM,yCAAyC,CAAC;AACrH,OAAO,EAAC,gBAAgB,EAAC,MAAM,kDAAkD,CAAC;AAClF,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,aAAa,GACd,MAAM,8CAA8C,CAAC;AAWtD,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAC,qBAAqB,EAAE,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACxF,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAMpE,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,gCAAgC,CAAC;AAElF,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,8BAA8B,EAC9B,2BAA2B,EAC3B,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,GAC1B,CAAC"}
@@ -0,0 +1,135 @@
1
+ import { type CoreDeviceInvokeOptions, CoreDeviceService } from '../core-device/core-device-service.js';
2
+ /**
3
+ * Device appearance. Today the daemon only reports/accepts `'dark'` and
4
+ * `'light'`, so those are surfaced as literals for autocomplete — but the type
5
+ * stays open (`string & {}`) so a future OS that adds another style is neither
6
+ * rejected on read nor unrepresentable on write.
7
+ */
8
+ export type UserInterfaceStyle = 'dark' | 'light' | (string & {});
9
+ /**
10
+ * Dynamic Type content-size names accepted by the daemon's `setdevicetextsize`
11
+ * action. These are the seven standard sizes.
12
+ */
13
+ declare const DEVICE_TEXT_SIZES: readonly ["extraSmall", "small", "medium", "large", "extraLarge", "extraExtraLarge", "extraExtraExtraLarge"];
14
+ /** A valid Dynamic Type content-size name. See {@link DEVICE_TEXT_SIZES}. */
15
+ export type DeviceTextSize = (typeof DEVICE_TEXT_SIZES)[number];
16
+ /**
17
+ * Color-filter presets that enable from `filterType` alone.
18
+ */
19
+ declare const COLOR_FILTER_TYPES: readonly ["Grayscale", "Protanopia", "Deuteranopia", "Tritanopia"];
20
+ /** A color-filter preset that enables from a name alone. See {@link COLOR_FILTER_TYPES}. */
21
+ export type ColorFilterType = (typeof COLOR_FILTER_TYPES)[number];
22
+ /** Color-filter state returned by {@link ConfigurationService.getColorFilter}. */
23
+ export interface ColorFilterState {
24
+ /** Whether the color filter is active. */
25
+ enabled: boolean;
26
+ /** Active filter preset (e.g. `'Protanopia'`); absent when disabled. */
27
+ filterType?: {
28
+ name?: string;
29
+ [key: string]: unknown;
30
+ };
31
+ /** Filter intensity 0.0..1.0; absent when disabled or unset. */
32
+ intensity?: number;
33
+ [key: string]: unknown;
34
+ }
35
+ /** Options for {@link ConfigurationService.setColorFilter}. */
36
+ export interface SetColorFilterOptions {
37
+ /** Filter preset (e.g. `'Protanopia'`). Required when enabling. */
38
+ filterType?: ColorFilterType;
39
+ /** Filter intensity 0.0..1.0. */
40
+ intensity?: number;
41
+ }
42
+ /**
43
+ * CoreDevice configuration service (`com.apple.coredevice.configuration`).
44
+ *
45
+ * Reads and writes the appearance and accessibility knobs that Xcode toggles
46
+ * through the same service: dark/light mode, Dynamic Type text size, Reduce
47
+ * Motion / Reduce Transparency / Increase Contrast, color filters, layout-debug
48
+ * borders, and (iOS 26) liquid-glass opacity. This is the only path here that
49
+ * reaches these settings — the DVT ConditionInducer does not expose them.
50
+ *
51
+ * Every method is a thin wrapper around a single `com.apple.coredevice.action.*`
52
+ * invocation (no feature identifier, only an action identifier).
53
+ *
54
+ * @example
55
+ * ```ts
56
+ * const config = await Services.startConfigurationService(udid);
57
+ * try {
58
+ * await config.setUserInterfaceStyle('dark');
59
+ * const style = await config.getUserInterfaceStyle(); // 'dark'
60
+ * } finally {
61
+ * await config.close();
62
+ * }
63
+ * ```
64
+ */
65
+ export declare class ConfigurationService extends CoreDeviceService {
66
+ static readonly RSD_SERVICE_NAME = "com.apple.coredevice.configuration";
67
+ constructor(udid: string);
68
+ /**
69
+ * Returns the active appearance. Normally `'dark'` or `'light'`, but any
70
+ * string the device reports is passed through unchanged (so a future OS style
71
+ * is not rejected). Only a missing/non-string value — a malformed reply —
72
+ * throws a {@link CoreDeviceError}.
73
+ */
74
+ getUserInterfaceStyle(options?: CoreDeviceInvokeOptions): Promise<UserInterfaceStyle>;
75
+ /**
76
+ * Sets the device appearance. `'dark'` and `'light'` are the known values; any
77
+ * other non-empty string is forwarded to the device (which validates it), so a
78
+ * future OS style is not blocked client-side. An empty/non-string value throws
79
+ * a `TypeError`.
80
+ */
81
+ setUserInterfaceStyle(style: UserInterfaceStyle, options?: CoreDeviceInvokeOptions): Promise<void>;
82
+ /**
83
+ * Sets the system liquid-glass opacity (iOS 26). `opacity` is range-checked to
84
+ * `[0.0, 1.0]` and quantized to IEEE-754 binary32.
85
+ *
86
+ * ⚠️ Device-gated, not just OS-gated: hardware that does not support Liquid
87
+ * Glass customization rejects this with `com.apple.dt.CoreDeviceError 21035`
88
+ * ("Liquid Glass configuration customization is not supported on this
89
+ * device."), surfaced here as a {@link CoreDeviceError} — even on iOS 26.
90
+ */
91
+ setLiquidGlassOpacity(opacity: number, options?: CoreDeviceInvokeOptions): Promise<void>;
92
+ /**
93
+ * Returns the color-filter state. When the filter is disabled only `enabled`
94
+ * is present.
95
+ */
96
+ getColorFilter(options?: CoreDeviceInvokeOptions): Promise<ColorFilterState>;
97
+ /**
98
+ * Sets the color filter. `filterType` is required when `enabled` is true and
99
+ * must be one of {@link ColorFilterType} (`'Grayscale'`, `'Protanopia'`,
100
+ * `'Deuteranopia'`, `'Tritanopia'`) — the presets verified to enable from a
101
+ * name. Names are case-sensitive; an unknown value throws a `TypeError`.
102
+ *
103
+ * ⚠️ `intensity` is device-gated: on the tested device any `intensity` value is
104
+ * rejected with `com.apple.dt.CoreDeviceError 21056` ("The color filter
105
+ * intensity value is not valid."), surfaced here as a {@link CoreDeviceError}.
106
+ * Omit it unless you know the target device accepts it.
107
+ */
108
+ setColorFilter(enabled: boolean, options?: SetColorFilterOptions & CoreDeviceInvokeOptions): Promise<void>;
109
+ /** Returns the Dynamic Type size name (e.g. `'medium'`, `'large'`). */
110
+ getDeviceTextSize(options?: CoreDeviceInvokeOptions): Promise<DeviceTextSize | undefined>;
111
+ /** Sets the Dynamic Type size by name (`'medium'`, `'large'`, …). */
112
+ setDeviceTextSize(size: DeviceTextSize, options?: CoreDeviceInvokeOptions): Promise<void>;
113
+ /** Returns whether Reduce Motion is enabled. */
114
+ getReduceMotion(options?: CoreDeviceInvokeOptions): Promise<boolean>;
115
+ /** Toggles Reduce Motion. */
116
+ setReduceMotion(enabled: boolean, options?: CoreDeviceInvokeOptions): Promise<void>;
117
+ /** Returns whether Increase Contrast is enabled. */
118
+ getIncreaseContrast(options?: CoreDeviceInvokeOptions): Promise<boolean>;
119
+ /** Toggles Increase Contrast. */
120
+ setIncreaseContrast(enabled: boolean, options?: CoreDeviceInvokeOptions): Promise<void>;
121
+ /** Returns whether the layout-debug borders overlay is enabled. */
122
+ getShowBorders(options?: CoreDeviceInvokeOptions): Promise<boolean>;
123
+ /** Toggles the layout-debug borders overlay. */
124
+ setShowBorders(enabled: boolean, options?: CoreDeviceInvokeOptions): Promise<void>;
125
+ /** Returns whether Reduce Transparency is enabled. */
126
+ getReduceTransparency(options?: CoreDeviceInvokeOptions): Promise<boolean>;
127
+ /** Toggles Reduce Transparency. */
128
+ setReduceTransparency(enabled: boolean, options?: CoreDeviceInvokeOptions): Promise<void>;
129
+ /** Invokes an action identifier (no feature identifier) and returns its output dict. */
130
+ private action;
131
+ /** Reads a `{ <key>: { enabled: bool } }`-shaped boolean knob. */
132
+ private getEnabled;
133
+ }
134
+ export default ConfigurationService;
135
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/configuration/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,210 @@
1
+ import { asDictionary } from '../../../lib/remote-xpc/xpc-value.js';
2
+ import { CoreDeviceError, CoreDeviceService } from '../core-device/core-device-service.js';
3
+ const ACTION = {
4
+ GET_USER_INTERFACE_STYLE: 'com.apple.coredevice.action.getuserinterfacestyle',
5
+ SET_USER_INTERFACE_STYLE: 'com.apple.coredevice.action.setuserinterfacestyle',
6
+ SET_LIQUID_GLASS: 'com.apple.coredevice.action.setliquidglassconfiguration',
7
+ GET_COLOR_FILTER: 'com.apple.coredevice.action.getcolorfilter',
8
+ SET_COLOR_FILTER: 'com.apple.coredevice.action.setcolorfilter',
9
+ GET_DEVICE_TEXT_SIZE: 'com.apple.coredevice.action.getdevicetextsize',
10
+ SET_DEVICE_TEXT_SIZE: 'com.apple.coredevice.action.setdevicetextsize',
11
+ GET_REDUCE_MOTION: 'com.apple.coredevice.action.getreducemotion',
12
+ SET_REDUCE_MOTION: 'com.apple.coredevice.action.setreducemotion',
13
+ GET_INCREASE_CONTRAST: 'com.apple.coredevice.action.getdeviceincreasecontrast',
14
+ SET_INCREASE_CONTRAST: 'com.apple.coredevice.action.setdeviceincreasecontrast',
15
+ GET_SHOW_BORDERS: 'com.apple.coredevice.action.getshowborders',
16
+ SET_SHOW_BORDERS: 'com.apple.coredevice.action.setshowborders',
17
+ GET_REDUCE_TRANSPARENCY: 'com.apple.coredevice.action.getreducetransparency',
18
+ SET_REDUCE_TRANSPARENCY: 'com.apple.coredevice.action.setreducetransparency',
19
+ };
20
+ /**
21
+ * Dynamic Type content-size names accepted by the daemon's `setdevicetextsize`
22
+ * action. These are the seven standard sizes.
23
+ */
24
+ const DEVICE_TEXT_SIZES = [
25
+ 'extraSmall',
26
+ 'small',
27
+ 'medium',
28
+ 'large',
29
+ 'extraLarge',
30
+ 'extraExtraLarge',
31
+ 'extraExtraExtraLarge',
32
+ ];
33
+ /**
34
+ * Color-filter presets that enable from `filterType` alone.
35
+ */
36
+ const COLOR_FILTER_TYPES = ['Grayscale', 'Protanopia', 'Deuteranopia', 'Tritanopia'];
37
+ /**
38
+ * CoreDevice configuration service (`com.apple.coredevice.configuration`).
39
+ *
40
+ * Reads and writes the appearance and accessibility knobs that Xcode toggles
41
+ * through the same service: dark/light mode, Dynamic Type text size, Reduce
42
+ * Motion / Reduce Transparency / Increase Contrast, color filters, layout-debug
43
+ * borders, and (iOS 26) liquid-glass opacity. This is the only path here that
44
+ * reaches these settings — the DVT ConditionInducer does not expose them.
45
+ *
46
+ * Every method is a thin wrapper around a single `com.apple.coredevice.action.*`
47
+ * invocation (no feature identifier, only an action identifier).
48
+ *
49
+ * @example
50
+ * ```ts
51
+ * const config = await Services.startConfigurationService(udid);
52
+ * try {
53
+ * await config.setUserInterfaceStyle('dark');
54
+ * const style = await config.getUserInterfaceStyle(); // 'dark'
55
+ * } finally {
56
+ * await config.close();
57
+ * }
58
+ * ```
59
+ */
60
+ export class ConfigurationService extends CoreDeviceService {
61
+ static RSD_SERVICE_NAME = 'com.apple.coredevice.configuration';
62
+ constructor(udid) {
63
+ super(udid, ConfigurationService.RSD_SERVICE_NAME);
64
+ }
65
+ /**
66
+ * Returns the active appearance. Normally `'dark'` or `'light'`, but any
67
+ * string the device reports is passed through unchanged (so a future OS style
68
+ * is not rejected). Only a missing/non-string value — a malformed reply —
69
+ * throws a {@link CoreDeviceError}.
70
+ */
71
+ async getUserInterfaceStyle(options = {}) {
72
+ const output = await this.action(ACTION.GET_USER_INTERFACE_STYLE, {}, options);
73
+ const style = output.style;
74
+ if (typeof style !== 'string') {
75
+ throw new CoreDeviceError(`Missing user-interface style in device response: ${String(style)}`, output);
76
+ }
77
+ return style;
78
+ }
79
+ /**
80
+ * Sets the device appearance. `'dark'` and `'light'` are the known values; any
81
+ * other non-empty string is forwarded to the device (which validates it), so a
82
+ * future OS style is not blocked client-side. An empty/non-string value throws
83
+ * a `TypeError`.
84
+ */
85
+ async setUserInterfaceStyle(style, options = {}) {
86
+ if (typeof style !== 'string' || style.length === 0) {
87
+ throw new TypeError(`style must be a non-empty string, got '${String(style)}'`);
88
+ }
89
+ await this.action(ACTION.SET_USER_INTERFACE_STYLE, { style }, options);
90
+ }
91
+ /**
92
+ * Sets the system liquid-glass opacity (iOS 26). `opacity` is range-checked to
93
+ * `[0.0, 1.0]` and quantized to IEEE-754 binary32.
94
+ *
95
+ * ⚠️ Device-gated, not just OS-gated: hardware that does not support Liquid
96
+ * Glass customization rejects this with `com.apple.dt.CoreDeviceError 21035`
97
+ * ("Liquid Glass configuration customization is not supported on this
98
+ * device."), surfaced here as a {@link CoreDeviceError} — even on iOS 26.
99
+ */
100
+ async setLiquidGlassOpacity(opacity, options = {}) {
101
+ if (!(opacity >= 0 && opacity <= 1)) {
102
+ throw new RangeError(`opacity must be in [0.0, 1.0], got ${String(opacity)}`);
103
+ }
104
+ // Quantize to IEEE-754 binary32: the daemon's Swift decoders reject floats
105
+ // whose low mantissa bits don't fit in Float32.
106
+ await this.action(ACTION.SET_LIQUID_GLASS, { configuration: { opacity: Math.fround(opacity) } }, options);
107
+ }
108
+ /**
109
+ * Returns the color-filter state. When the filter is disabled only `enabled`
110
+ * is present.
111
+ */
112
+ async getColorFilter(options = {}) {
113
+ const output = await this.action(ACTION.GET_COLOR_FILTER, {}, options);
114
+ return (asDictionary(output.colorFilter) ?? { enabled: false });
115
+ }
116
+ /**
117
+ * Sets the color filter. `filterType` is required when `enabled` is true and
118
+ * must be one of {@link ColorFilterType} (`'Grayscale'`, `'Protanopia'`,
119
+ * `'Deuteranopia'`, `'Tritanopia'`) — the presets verified to enable from a
120
+ * name. Names are case-sensitive; an unknown value throws a `TypeError`.
121
+ *
122
+ * ⚠️ `intensity` is device-gated: on the tested device any `intensity` value is
123
+ * rejected with `com.apple.dt.CoreDeviceError 21056` ("The color filter
124
+ * intensity value is not valid."), surfaced here as a {@link CoreDeviceError}.
125
+ * Omit it unless you know the target device accepts it.
126
+ */
127
+ async setColorFilter(enabled, options = {}) {
128
+ const { filterType, intensity, ...invokeOptions } = options;
129
+ const colorFilter = { enabled };
130
+ // filterType/intensity only apply when enabling. When disabling we send just
131
+ // `{ enabled: false }` and intentionally drop them.
132
+ if (enabled) {
133
+ if (filterType === undefined) {
134
+ throw new TypeError('filterType is required when enabling the color filter');
135
+ }
136
+ if (!isOneOf(COLOR_FILTER_TYPES, filterType)) {
137
+ throw new TypeError(`filterType must be one of ${COLOR_FILTER_TYPES.join(', ')}, got '${String(filterType)}'`);
138
+ }
139
+ colorFilter.filterType = { name: filterType };
140
+ if (intensity !== undefined) {
141
+ colorFilter.intensity = Math.fround(intensity);
142
+ }
143
+ }
144
+ await this.action(ACTION.SET_COLOR_FILTER, { colorFilter }, invokeOptions);
145
+ }
146
+ /** Returns the Dynamic Type size name (e.g. `'medium'`, `'large'`). */
147
+ async getDeviceTextSize(options = {}) {
148
+ const output = await this.action(ACTION.GET_DEVICE_TEXT_SIZE, {}, options);
149
+ const size = asDictionary(asDictionary(output.textSize)?.size);
150
+ return size ? Object.keys(size)[0] : undefined;
151
+ }
152
+ /** Sets the Dynamic Type size by name (`'medium'`, `'large'`, …). */
153
+ async setDeviceTextSize(size, options = {}) {
154
+ if (!isOneOf(DEVICE_TEXT_SIZES, size)) {
155
+ throw new TypeError(`size must be one of ${DEVICE_TEXT_SIZES.join(', ')}, got '${String(size)}'`);
156
+ }
157
+ await this.action(ACTION.SET_DEVICE_TEXT_SIZE, { textSize: { size: { [size]: {} } } }, options);
158
+ }
159
+ /** Returns whether Reduce Motion is enabled. */
160
+ async getReduceMotion(options = {}) {
161
+ return this.getEnabled(ACTION.GET_REDUCE_MOTION, 'reduceMotion', options);
162
+ }
163
+ /** Toggles Reduce Motion. */
164
+ async setReduceMotion(enabled, options = {}) {
165
+ await this.action(ACTION.SET_REDUCE_MOTION, { reduceMotion: { enabled } }, options);
166
+ }
167
+ /** Returns whether Increase Contrast is enabled. */
168
+ async getIncreaseContrast(options = {}) {
169
+ return this.getEnabled(ACTION.GET_INCREASE_CONTRAST, 'increaseContrast', options);
170
+ }
171
+ /** Toggles Increase Contrast. */
172
+ async setIncreaseContrast(enabled, options = {}) {
173
+ await this.action(ACTION.SET_INCREASE_CONTRAST, { increaseContrast: { enabled } }, options);
174
+ }
175
+ /** Returns whether the layout-debug borders overlay is enabled. */
176
+ async getShowBorders(options = {}) {
177
+ return this.getEnabled(ACTION.GET_SHOW_BORDERS, 'showBorders', options);
178
+ }
179
+ /** Toggles the layout-debug borders overlay. */
180
+ async setShowBorders(enabled, options = {}) {
181
+ await this.action(ACTION.SET_SHOW_BORDERS, { showBorders: { enabled } }, options);
182
+ }
183
+ /** Returns whether Reduce Transparency is enabled. */
184
+ async getReduceTransparency(options = {}) {
185
+ return this.getEnabled(ACTION.GET_REDUCE_TRANSPARENCY, 'reduceTransparency', options);
186
+ }
187
+ /** Toggles Reduce Transparency. */
188
+ async setReduceTransparency(enabled, options = {}) {
189
+ await this.action(ACTION.SET_REDUCE_TRANSPARENCY, { reduceTransparency: { enabled } }, options);
190
+ }
191
+ /** Invokes an action identifier (no feature identifier) and returns its output dict. */
192
+ async action(actionIdentifier, input, options) {
193
+ return asDictionary(await this.invoke(undefined, input, { ...options, actionIdentifier })) ?? {};
194
+ }
195
+ /** Reads a `{ <key>: { enabled: bool } }`-shaped boolean knob. */
196
+ async getEnabled(actionIdentifier, key, options) {
197
+ const output = await this.action(actionIdentifier, {}, options);
198
+ return asDictionary(output[key])?.enabled === true;
199
+ }
200
+ }
201
+ /**
202
+ * Type guard for membership in an `as const` list of string literals. Lets a
203
+ * single declaration be the source of truth for both a union type
204
+ * (`(typeof list)[number]`) and its runtime validation.
205
+ */
206
+ function isOneOf(values, value) {
207
+ return values.includes(value);
208
+ }
209
+ export default ConfigurationService;
210
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/ios/configuration/index.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { DVTInstruments, SyslogService as SyslogServiceType, XCTestServices
2
2
  import AfcService from './services/ios/afc/index.js';
3
3
  import { AppService } from './services/ios/app-service/index.js';
4
4
  import { type Service } from './services/ios/base-service.js';
5
+ import { ConfigurationService } from './services/ios/configuration/index.js';
5
6
  import { CrashReportsService } from './services/ios/crash-reports/index.js';
6
7
  import { DeviceControlService } from './services/ios/device-control/index.js';
7
8
  import { CoreDeviceInfoService } from './services/ios/device-info/index.js';
@@ -74,6 +75,14 @@ export declare function startCoreDeviceInfoService(udid: string): Promise<CoreDe
74
75
  * Start the CoreDevice device-control service for the given device UDID.
75
76
  */
76
77
  export declare function startDeviceControlService(udid: string): Promise<DeviceControlService>;
78
+ /**
79
+ * Start the CoreDevice configuration service for the given device UDID.
80
+ *
81
+ * Reads and writes appearance and accessibility knobs (dark/light mode, Dynamic
82
+ * Type text size, Reduce Motion / Transparency, Increase Contrast, color
83
+ * filters, layout-debug borders, iOS 26 liquid-glass opacity) over RemoteXPC.
84
+ */
85
+ export declare function startConfigurationService(udid: string): Promise<ConfigurationService>;
77
86
  /** Options for {@link startXCTestServices}. */
78
87
  export interface StartXCTestServicesOptions {
79
88
  /** Also resolve and return an InstallationProxyService for app lookup. */
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { DEFAULT_TUNNEL_SERVICE_WAIT_MS, resolveTunnelService, resolveTunnelServicePorts, } from './lib/tunnel/tunnel-service-resolver.js';
2
2
  import AfcService from './services/ios/afc/index.js';
3
3
  import { AppService } from './services/ios/app-service/index.js';
4
+ import { ConfigurationService } from './services/ios/configuration/index.js';
4
5
  import { CrashReportsService } from './services/ios/crash-reports/index.js';
5
6
  import { DeviceControlService } from './services/ios/device-control/index.js';
6
7
  import { CoreDeviceInfoService } from './services/ios/device-info/index.js';
@@ -124,6 +125,17 @@ export async function startDeviceControlService(udid) {
124
125
  await requireCatalogService(udid, DeviceControlService.RSD_SERVICE_NAME);
125
126
  return new DeviceControlService(udid);
126
127
  }
128
+ /**
129
+ * Start the CoreDevice configuration service for the given device UDID.
130
+ *
131
+ * Reads and writes appearance and accessibility knobs (dark/light mode, Dynamic
132
+ * Type text size, Reduce Motion / Transparency, Increase Contrast, color
133
+ * filters, layout-debug borders, iOS 26 liquid-glass opacity) over RemoteXPC.
134
+ */
135
+ export async function startConfigurationService(udid) {
136
+ await requireCatalogService(udid, ConfigurationService.RSD_SERVICE_NAME);
137
+ return new ConfigurationService(udid);
138
+ }
127
139
  const RSD_SYSLOG_BINARY_SERVICE_NAME = 'com.apple.os_trace_relay.shim.remote';
128
140
  const RSD_SYSLOG_TEXT_SERVICE_NAME = 'com.apple.syslog_relay.shim.remote';
129
141
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-ios-remotexpc",
3
- "version": "5.11.0",
3
+ "version": "5.12.0",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "bugs": {
@@ -48,6 +48,7 @@
48
48
  "test:app-service": "node --test --test-timeout=60000 \"build/test/integration/app-service.spec.js\"",
49
49
  "test:coredevice-device-info": "node --test --test-timeout=60000 \"build/test/integration/device-info-coredevice.spec.js\"",
50
50
  "test:device-control": "node --test --test-timeout=60000 \"build/test/integration/device-control.spec.js\"",
51
+ "test:configuration": "node --test --test-timeout=60000 \"build/test/integration/configuration.spec.js\"",
51
52
  "test:crash-reports": "node --test --test-timeout=60000 \"build/test/integration/crash-reports.spec.js\"",
52
53
  "test:diagnostics": " node --test --test-timeout=60000 \"build/test/integration/diagnostics.spec.js\"",
53
54
  "test:dvt-service": "node --test --test-timeout=60000 \"build/test/integration/dvt-service.spec.js\"",
package/src/index.ts CHANGED
@@ -66,6 +66,14 @@ export type {
66
66
  } from './services/ios/device-info/index.js';
67
67
  export {DeviceControlService} from './services/ios/device-control/index.js';
68
68
  export type {DeviceOrientationState, RotateDirection} from './services/ios/device-control/index.js';
69
+ export {ConfigurationService} from './services/ios/configuration/index.js';
70
+ export type {
71
+ ColorFilterState,
72
+ ColorFilterType,
73
+ DeviceTextSize,
74
+ SetColorFilterOptions,
75
+ UserInterfaceStyle,
76
+ } from './services/ios/configuration/index.js';
69
77
  export type {SyslogEntry, SyslogLabel, SyslogLogLevel} from './services/ios/syslog-service/syslog-entry-parser.js';
70
78
 
71
79
  export type {
@@ -0,0 +1,271 @@
1
+ import {asDictionary} from '../../../lib/remote-xpc/xpc-value.js';
2
+ import type {XPCDictionary} from '../../../lib/types.js';
3
+ import {type CoreDeviceInvokeOptions, CoreDeviceError, CoreDeviceService} from '../core-device/core-device-service.js';
4
+
5
+ const ACTION = {
6
+ GET_USER_INTERFACE_STYLE: 'com.apple.coredevice.action.getuserinterfacestyle',
7
+ SET_USER_INTERFACE_STYLE: 'com.apple.coredevice.action.setuserinterfacestyle',
8
+ SET_LIQUID_GLASS: 'com.apple.coredevice.action.setliquidglassconfiguration',
9
+ GET_COLOR_FILTER: 'com.apple.coredevice.action.getcolorfilter',
10
+ SET_COLOR_FILTER: 'com.apple.coredevice.action.setcolorfilter',
11
+ GET_DEVICE_TEXT_SIZE: 'com.apple.coredevice.action.getdevicetextsize',
12
+ SET_DEVICE_TEXT_SIZE: 'com.apple.coredevice.action.setdevicetextsize',
13
+ GET_REDUCE_MOTION: 'com.apple.coredevice.action.getreducemotion',
14
+ SET_REDUCE_MOTION: 'com.apple.coredevice.action.setreducemotion',
15
+ GET_INCREASE_CONTRAST: 'com.apple.coredevice.action.getdeviceincreasecontrast',
16
+ SET_INCREASE_CONTRAST: 'com.apple.coredevice.action.setdeviceincreasecontrast',
17
+ GET_SHOW_BORDERS: 'com.apple.coredevice.action.getshowborders',
18
+ SET_SHOW_BORDERS: 'com.apple.coredevice.action.setshowborders',
19
+ GET_REDUCE_TRANSPARENCY: 'com.apple.coredevice.action.getreducetransparency',
20
+ SET_REDUCE_TRANSPARENCY: 'com.apple.coredevice.action.setreducetransparency',
21
+ } as const;
22
+
23
+ /**
24
+ * Device appearance. Today the daemon only reports/accepts `'dark'` and
25
+ * `'light'`, so those are surfaced as literals for autocomplete — but the type
26
+ * stays open (`string & {}`) so a future OS that adds another style is neither
27
+ * rejected on read nor unrepresentable on write.
28
+ */
29
+ export type UserInterfaceStyle = 'dark' | 'light' | (string & {});
30
+
31
+ /**
32
+ * Dynamic Type content-size names accepted by the daemon's `setdevicetextsize`
33
+ * action. These are the seven standard sizes.
34
+ */
35
+ const DEVICE_TEXT_SIZES = [
36
+ 'extraSmall',
37
+ 'small',
38
+ 'medium',
39
+ 'large',
40
+ 'extraLarge',
41
+ 'extraExtraLarge',
42
+ 'extraExtraExtraLarge',
43
+ ] as const;
44
+
45
+ /** A valid Dynamic Type content-size name. See {@link DEVICE_TEXT_SIZES}. */
46
+ export type DeviceTextSize = (typeof DEVICE_TEXT_SIZES)[number];
47
+
48
+ /**
49
+ * Color-filter presets that enable from `filterType` alone.
50
+ */
51
+ const COLOR_FILTER_TYPES = ['Grayscale', 'Protanopia', 'Deuteranopia', 'Tritanopia'] as const;
52
+
53
+ /** A color-filter preset that enables from a name alone. See {@link COLOR_FILTER_TYPES}. */
54
+ export type ColorFilterType = (typeof COLOR_FILTER_TYPES)[number];
55
+
56
+ /** Color-filter state returned by {@link ConfigurationService.getColorFilter}. */
57
+ export interface ColorFilterState {
58
+ /** Whether the color filter is active. */
59
+ enabled: boolean;
60
+ /** Active filter preset (e.g. `'Protanopia'`); absent when disabled. */
61
+ filterType?: {name?: string; [key: string]: unknown};
62
+ /** Filter intensity 0.0..1.0; absent when disabled or unset. */
63
+ intensity?: number;
64
+ [key: string]: unknown;
65
+ }
66
+
67
+ /** Options for {@link ConfigurationService.setColorFilter}. */
68
+ export interface SetColorFilterOptions {
69
+ /** Filter preset (e.g. `'Protanopia'`). Required when enabling. */
70
+ filterType?: ColorFilterType;
71
+ /** Filter intensity 0.0..1.0. */
72
+ intensity?: number;
73
+ }
74
+
75
+ /**
76
+ * CoreDevice configuration service (`com.apple.coredevice.configuration`).
77
+ *
78
+ * Reads and writes the appearance and accessibility knobs that Xcode toggles
79
+ * through the same service: dark/light mode, Dynamic Type text size, Reduce
80
+ * Motion / Reduce Transparency / Increase Contrast, color filters, layout-debug
81
+ * borders, and (iOS 26) liquid-glass opacity. This is the only path here that
82
+ * reaches these settings — the DVT ConditionInducer does not expose them.
83
+ *
84
+ * Every method is a thin wrapper around a single `com.apple.coredevice.action.*`
85
+ * invocation (no feature identifier, only an action identifier).
86
+ *
87
+ * @example
88
+ * ```ts
89
+ * const config = await Services.startConfigurationService(udid);
90
+ * try {
91
+ * await config.setUserInterfaceStyle('dark');
92
+ * const style = await config.getUserInterfaceStyle(); // 'dark'
93
+ * } finally {
94
+ * await config.close();
95
+ * }
96
+ * ```
97
+ */
98
+ export class ConfigurationService extends CoreDeviceService {
99
+ static readonly RSD_SERVICE_NAME = 'com.apple.coredevice.configuration';
100
+
101
+ constructor(udid: string) {
102
+ super(udid, ConfigurationService.RSD_SERVICE_NAME);
103
+ }
104
+
105
+ /**
106
+ * Returns the active appearance. Normally `'dark'` or `'light'`, but any
107
+ * string the device reports is passed through unchanged (so a future OS style
108
+ * is not rejected). Only a missing/non-string value — a malformed reply —
109
+ * throws a {@link CoreDeviceError}.
110
+ */
111
+ async getUserInterfaceStyle(options: CoreDeviceInvokeOptions = {}): Promise<UserInterfaceStyle> {
112
+ const output = await this.action(ACTION.GET_USER_INTERFACE_STYLE, {}, options);
113
+ const style = output.style;
114
+ if (typeof style !== 'string') {
115
+ throw new CoreDeviceError(`Missing user-interface style in device response: ${String(style)}`, output);
116
+ }
117
+ return style;
118
+ }
119
+
120
+ /**
121
+ * Sets the device appearance. `'dark'` and `'light'` are the known values; any
122
+ * other non-empty string is forwarded to the device (which validates it), so a
123
+ * future OS style is not blocked client-side. An empty/non-string value throws
124
+ * a `TypeError`.
125
+ */
126
+ async setUserInterfaceStyle(style: UserInterfaceStyle, options: CoreDeviceInvokeOptions = {}): Promise<void> {
127
+ if (typeof style !== 'string' || style.length === 0) {
128
+ throw new TypeError(`style must be a non-empty string, got '${String(style)}'`);
129
+ }
130
+ await this.action(ACTION.SET_USER_INTERFACE_STYLE, {style}, options);
131
+ }
132
+
133
+ /**
134
+ * Sets the system liquid-glass opacity (iOS 26). `opacity` is range-checked to
135
+ * `[0.0, 1.0]` and quantized to IEEE-754 binary32.
136
+ *
137
+ * ⚠️ Device-gated, not just OS-gated: hardware that does not support Liquid
138
+ * Glass customization rejects this with `com.apple.dt.CoreDeviceError 21035`
139
+ * ("Liquid Glass configuration customization is not supported on this
140
+ * device."), surfaced here as a {@link CoreDeviceError} — even on iOS 26.
141
+ */
142
+ async setLiquidGlassOpacity(opacity: number, options: CoreDeviceInvokeOptions = {}): Promise<void> {
143
+ if (!(opacity >= 0 && opacity <= 1)) {
144
+ throw new RangeError(`opacity must be in [0.0, 1.0], got ${String(opacity)}`);
145
+ }
146
+ // Quantize to IEEE-754 binary32: the daemon's Swift decoders reject floats
147
+ // whose low mantissa bits don't fit in Float32.
148
+ await this.action(ACTION.SET_LIQUID_GLASS, {configuration: {opacity: Math.fround(opacity)}}, options);
149
+ }
150
+
151
+ /**
152
+ * Returns the color-filter state. When the filter is disabled only `enabled`
153
+ * is present.
154
+ */
155
+ async getColorFilter(options: CoreDeviceInvokeOptions = {}): Promise<ColorFilterState> {
156
+ const output = await this.action(ACTION.GET_COLOR_FILTER, {}, options);
157
+ return (asDictionary(output.colorFilter) ?? {enabled: false}) as ColorFilterState;
158
+ }
159
+
160
+ /**
161
+ * Sets the color filter. `filterType` is required when `enabled` is true and
162
+ * must be one of {@link ColorFilterType} (`'Grayscale'`, `'Protanopia'`,
163
+ * `'Deuteranopia'`, `'Tritanopia'`) — the presets verified to enable from a
164
+ * name. Names are case-sensitive; an unknown value throws a `TypeError`.
165
+ *
166
+ * ⚠️ `intensity` is device-gated: on the tested device any `intensity` value is
167
+ * rejected with `com.apple.dt.CoreDeviceError 21056` ("The color filter
168
+ * intensity value is not valid."), surfaced here as a {@link CoreDeviceError}.
169
+ * Omit it unless you know the target device accepts it.
170
+ */
171
+ async setColorFilter(enabled: boolean, options: SetColorFilterOptions & CoreDeviceInvokeOptions = {}): Promise<void> {
172
+ const {filterType, intensity, ...invokeOptions} = options;
173
+ const colorFilter: XPCDictionary = {enabled};
174
+ // filterType/intensity only apply when enabling. When disabling we send just
175
+ // `{ enabled: false }` and intentionally drop them.
176
+ if (enabled) {
177
+ if (filterType === undefined) {
178
+ throw new TypeError('filterType is required when enabling the color filter');
179
+ }
180
+ if (!isOneOf(COLOR_FILTER_TYPES, filterType)) {
181
+ throw new TypeError(`filterType must be one of ${COLOR_FILTER_TYPES.join(', ')}, got '${String(filterType)}'`);
182
+ }
183
+ colorFilter.filterType = {name: filterType};
184
+ if (intensity !== undefined) {
185
+ colorFilter.intensity = Math.fround(intensity);
186
+ }
187
+ }
188
+ await this.action(ACTION.SET_COLOR_FILTER, {colorFilter}, invokeOptions);
189
+ }
190
+
191
+ /** Returns the Dynamic Type size name (e.g. `'medium'`, `'large'`). */
192
+ async getDeviceTextSize(options: CoreDeviceInvokeOptions = {}): Promise<DeviceTextSize | undefined> {
193
+ const output = await this.action(ACTION.GET_DEVICE_TEXT_SIZE, {}, options);
194
+ const size = asDictionary(asDictionary(output.textSize)?.size);
195
+ return size ? (Object.keys(size)[0] as DeviceTextSize) : undefined;
196
+ }
197
+
198
+ /** Sets the Dynamic Type size by name (`'medium'`, `'large'`, …). */
199
+ async setDeviceTextSize(size: DeviceTextSize, options: CoreDeviceInvokeOptions = {}): Promise<void> {
200
+ if (!isOneOf(DEVICE_TEXT_SIZES, size)) {
201
+ throw new TypeError(`size must be one of ${DEVICE_TEXT_SIZES.join(', ')}, got '${String(size)}'`);
202
+ }
203
+ await this.action(ACTION.SET_DEVICE_TEXT_SIZE, {textSize: {size: {[size]: {}}}}, options);
204
+ }
205
+
206
+ /** Returns whether Reduce Motion is enabled. */
207
+ async getReduceMotion(options: CoreDeviceInvokeOptions = {}): Promise<boolean> {
208
+ return this.getEnabled(ACTION.GET_REDUCE_MOTION, 'reduceMotion', options);
209
+ }
210
+
211
+ /** Toggles Reduce Motion. */
212
+ async setReduceMotion(enabled: boolean, options: CoreDeviceInvokeOptions = {}): Promise<void> {
213
+ await this.action(ACTION.SET_REDUCE_MOTION, {reduceMotion: {enabled}}, options);
214
+ }
215
+
216
+ /** Returns whether Increase Contrast is enabled. */
217
+ async getIncreaseContrast(options: CoreDeviceInvokeOptions = {}): Promise<boolean> {
218
+ return this.getEnabled(ACTION.GET_INCREASE_CONTRAST, 'increaseContrast', options);
219
+ }
220
+
221
+ /** Toggles Increase Contrast. */
222
+ async setIncreaseContrast(enabled: boolean, options: CoreDeviceInvokeOptions = {}): Promise<void> {
223
+ await this.action(ACTION.SET_INCREASE_CONTRAST, {increaseContrast: {enabled}}, options);
224
+ }
225
+
226
+ /** Returns whether the layout-debug borders overlay is enabled. */
227
+ async getShowBorders(options: CoreDeviceInvokeOptions = {}): Promise<boolean> {
228
+ return this.getEnabled(ACTION.GET_SHOW_BORDERS, 'showBorders', options);
229
+ }
230
+
231
+ /** Toggles the layout-debug borders overlay. */
232
+ async setShowBorders(enabled: boolean, options: CoreDeviceInvokeOptions = {}): Promise<void> {
233
+ await this.action(ACTION.SET_SHOW_BORDERS, {showBorders: {enabled}}, options);
234
+ }
235
+
236
+ /** Returns whether Reduce Transparency is enabled. */
237
+ async getReduceTransparency(options: CoreDeviceInvokeOptions = {}): Promise<boolean> {
238
+ return this.getEnabled(ACTION.GET_REDUCE_TRANSPARENCY, 'reduceTransparency', options);
239
+ }
240
+
241
+ /** Toggles Reduce Transparency. */
242
+ async setReduceTransparency(enabled: boolean, options: CoreDeviceInvokeOptions = {}): Promise<void> {
243
+ await this.action(ACTION.SET_REDUCE_TRANSPARENCY, {reduceTransparency: {enabled}}, options);
244
+ }
245
+
246
+ /** Invokes an action identifier (no feature identifier) and returns its output dict. */
247
+ private async action(
248
+ actionIdentifier: string,
249
+ input: XPCDictionary,
250
+ options: CoreDeviceInvokeOptions,
251
+ ): Promise<XPCDictionary> {
252
+ return asDictionary(await this.invoke(undefined, input, {...options, actionIdentifier})) ?? {};
253
+ }
254
+
255
+ /** Reads a `{ <key>: { enabled: bool } }`-shaped boolean knob. */
256
+ private async getEnabled(actionIdentifier: string, key: string, options: CoreDeviceInvokeOptions): Promise<boolean> {
257
+ const output = await this.action(actionIdentifier, {}, options);
258
+ return asDictionary(output[key])?.enabled === true;
259
+ }
260
+ }
261
+
262
+ /**
263
+ * Type guard for membership in an `as const` list of string literals. Lets a
264
+ * single declaration be the source of truth for both a union type
265
+ * (`(typeof list)[number]`) and its runtime validation.
266
+ */
267
+ function isOneOf<T extends readonly string[]>(values: T, value: string): value is T[number] {
268
+ return (values as readonly string[]).includes(value);
269
+ }
270
+
271
+ export default ConfigurationService;
package/src/services.ts CHANGED
@@ -7,6 +7,7 @@ import type {DVTInstruments, SyslogService as SyslogServiceType, XCTestServices}
7
7
  import AfcService from './services/ios/afc/index.js';
8
8
  import {AppService} from './services/ios/app-service/index.js';
9
9
  import {type Service} from './services/ios/base-service.js';
10
+ import {ConfigurationService} from './services/ios/configuration/index.js';
10
11
  import {CrashReportsService} from './services/ios/crash-reports/index.js';
11
12
  import {DeviceControlService} from './services/ios/device-control/index.js';
12
13
  import {CoreDeviceInfoService} from './services/ios/device-info/index.js';
@@ -145,6 +146,18 @@ export async function startDeviceControlService(udid: string): Promise<DeviceCon
145
146
  return new DeviceControlService(udid);
146
147
  }
147
148
 
149
+ /**
150
+ * Start the CoreDevice configuration service for the given device UDID.
151
+ *
152
+ * Reads and writes appearance and accessibility knobs (dark/light mode, Dynamic
153
+ * Type text size, Reduce Motion / Transparency, Increase Contrast, color
154
+ * filters, layout-debug borders, iOS 26 liquid-glass opacity) over RemoteXPC.
155
+ */
156
+ export async function startConfigurationService(udid: string): Promise<ConfigurationService> {
157
+ await requireCatalogService(udid, ConfigurationService.RSD_SERVICE_NAME);
158
+ return new ConfigurationService(udid);
159
+ }
160
+
148
161
  const RSD_SYSLOG_BINARY_SERVICE_NAME = 'com.apple.os_trace_relay.shim.remote';
149
162
  const RSD_SYSLOG_TEXT_SERVICE_NAME = 'com.apple.syslog_relay.shim.remote';
150
163