appium-ios-remotexpc 0.10.2 → 0.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.
Files changed (106) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +28 -0
  3. package/build/src/index.d.ts +1 -1
  4. package/build/src/index.d.ts.map +1 -1
  5. package/build/src/lib/apple-tv/encryption/chacha20-poly1305.js +2 -2
  6. package/build/src/lib/apple-tv/encryption/ed25519.js +2 -2
  7. package/build/src/lib/apple-tv/encryption/hkdf.js +2 -2
  8. package/build/src/lib/apple-tv/srp/srp-client.js +2 -2
  9. package/build/src/lib/bonjour/bonjour-discovery.d.ts.map +1 -1
  10. package/build/src/lib/bonjour/bonjour-discovery.js +2 -2
  11. package/build/src/lib/lockdown/index.d.ts.map +1 -1
  12. package/build/src/lib/lockdown/index.js +4 -4
  13. package/build/src/lib/logger.d.ts +2 -0
  14. package/build/src/lib/logger.d.ts.map +1 -0
  15. package/build/src/lib/logger.js +7 -0
  16. package/build/src/lib/pair-record/pair-record.d.ts.map +1 -1
  17. package/build/src/lib/pair-record/pair-record.js +2 -2
  18. package/build/src/lib/plist/binary-plist-parser.d.ts.map +1 -1
  19. package/build/src/lib/plist/binary-plist-parser.js +2 -2
  20. package/build/src/lib/plist/length-based-splitter.d.ts.map +1 -1
  21. package/build/src/lib/plist/length-based-splitter.js +2 -2
  22. package/build/src/lib/plist/plist-decoder.d.ts.map +1 -1
  23. package/build/src/lib/plist/plist-decoder.js +2 -2
  24. package/build/src/lib/plist/plist-parser.js +2 -2
  25. package/build/src/lib/plist/plist-service.d.ts.map +1 -1
  26. package/build/src/lib/plist/plist-service.js +3 -3
  27. package/build/src/lib/remote-xpc/remote-xpc-connection.js +2 -2
  28. package/build/src/lib/tss/index.js +2 -2
  29. package/build/src/lib/tunnel/index.d.ts.map +1 -1
  30. package/build/src/lib/tunnel/index.js +2 -2
  31. package/build/src/lib/tunnel/packet-stream-client.d.ts.map +1 -1
  32. package/build/src/lib/tunnel/packet-stream-client.js +2 -2
  33. package/build/src/lib/tunnel/packet-stream-server.d.ts.map +1 -1
  34. package/build/src/lib/tunnel/packet-stream-server.js +2 -2
  35. package/build/src/lib/tunnel/tunnel-api-client.d.ts.map +1 -1
  36. package/build/src/lib/tunnel/tunnel-api-client.js +2 -2
  37. package/build/src/lib/tunnel/tunnel-registry-server.js +2 -2
  38. package/build/src/lib/types.d.ts +69 -0
  39. package/build/src/lib/types.d.ts.map +1 -1
  40. package/build/src/lib/types.js +1 -0
  41. package/build/src/lib/usbmux/index.d.ts.map +1 -1
  42. package/build/src/lib/usbmux/index.js +2 -2
  43. package/build/src/services/ios/afc/index.d.ts.map +1 -1
  44. package/build/src/services/ios/afc/index.js +2 -2
  45. package/build/src/services/ios/base-service.d.ts.map +1 -1
  46. package/build/src/services/ios/base-service.js +2 -2
  47. package/build/src/services/ios/diagnostic-service/index.d.ts.map +1 -1
  48. package/build/src/services/ios/diagnostic-service/index.js +2 -2
  49. package/build/src/services/ios/misagent/index.d.ts +17 -0
  50. package/build/src/services/ios/misagent/index.d.ts.map +1 -0
  51. package/build/src/services/ios/misagent/index.js +79 -0
  52. package/build/src/services/ios/misagent/provisioning-profile.d.ts +10 -0
  53. package/build/src/services/ios/misagent/provisioning-profile.d.ts.map +1 -0
  54. package/build/src/services/ios/misagent/provisioning-profile.js +33 -0
  55. package/build/src/services/ios/mobile-config/index.d.ts.map +1 -1
  56. package/build/src/services/ios/mobile-config/index.js +3 -2
  57. package/build/src/services/ios/mobile-image-mounter/index.js +2 -2
  58. package/build/src/services/ios/notification-proxy/index.d.ts.map +1 -1
  59. package/build/src/services/ios/notification-proxy/index.js +2 -2
  60. package/build/src/services/ios/power-assertion/index.d.ts.map +1 -1
  61. package/build/src/services/ios/power-assertion/index.js +2 -2
  62. package/build/src/services/ios/syslog-service/index.d.ts.map +1 -1
  63. package/build/src/services/ios/syslog-service/index.js +3 -3
  64. package/build/src/services/ios/tunnel-service/index.d.ts.map +1 -1
  65. package/build/src/services/ios/tunnel-service/index.js +2 -2
  66. package/build/src/services/ios/webinspector/index.js +2 -2
  67. package/build/src/services.d.ts +2 -1
  68. package/build/src/services.d.ts.map +1 -1
  69. package/build/src/services.js +12 -0
  70. package/package.json +2 -1
  71. package/src/index.ts +2 -0
  72. package/src/lib/apple-tv/encryption/chacha20-poly1305.ts +2 -2
  73. package/src/lib/apple-tv/encryption/ed25519.ts +2 -2
  74. package/src/lib/apple-tv/encryption/hkdf.ts +2 -2
  75. package/src/lib/apple-tv/srp/srp-client.ts +2 -2
  76. package/src/lib/bonjour/bonjour-discovery.ts +2 -2
  77. package/src/lib/lockdown/index.ts +4 -4
  78. package/src/lib/logger.ts +9 -0
  79. package/src/lib/pair-record/pair-record.ts +3 -2
  80. package/src/lib/plist/binary-plist-parser.ts +2 -3
  81. package/src/lib/plist/length-based-splitter.ts +2 -2
  82. package/src/lib/plist/plist-decoder.ts +2 -2
  83. package/src/lib/plist/plist-parser.ts +2 -2
  84. package/src/lib/plist/plist-service.ts +3 -3
  85. package/src/lib/remote-xpc/remote-xpc-connection.ts +2 -2
  86. package/src/lib/tss/index.ts +2 -2
  87. package/src/lib/tunnel/index.ts +2 -2
  88. package/src/lib/tunnel/packet-stream-client.ts +3 -2
  89. package/src/lib/tunnel/packet-stream-server.ts +3 -2
  90. package/src/lib/tunnel/tunnel-api-client.ts +2 -3
  91. package/src/lib/tunnel/tunnel-registry-server.ts +2 -2
  92. package/src/lib/types.ts +72 -0
  93. package/src/lib/usbmux/index.ts +2 -2
  94. package/src/services/ios/afc/index.ts +2 -2
  95. package/src/services/ios/base-service.ts +2 -3
  96. package/src/services/ios/diagnostic-service/index.ts +2 -3
  97. package/src/services/ios/misagent/index.ts +110 -0
  98. package/src/services/ios/misagent/provisioning-profile.ts +44 -0
  99. package/src/services/ios/mobile-config/index.ts +3 -2
  100. package/src/services/ios/mobile-image-mounter/index.ts +2 -2
  101. package/src/services/ios/notification-proxy/index.ts +2 -3
  102. package/src/services/ios/power-assertion/index.ts +2 -3
  103. package/src/services/ios/syslog-service/index.ts +3 -3
  104. package/src/services/ios/tunnel-service/index.ts +2 -2
  105. package/src/services/ios/webinspector/index.ts +2 -2
  106. package/src/services.ts +18 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/afc/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/afc/index.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
- import { logger } from '@appium/support';
2
1
  import fs from 'node:fs';
3
2
  import net from 'node:net';
4
3
  import path from 'node:path';
5
4
  import { Readable, Writable } from 'node:stream';
6
5
  import { pipeline } from 'node:stream/promises';
6
+ import { getLogger } from '../../../lib/logger.js';
7
7
  import { buildClosePayload, buildFopenPayload, buildReadPayload, buildRemovePayload, buildRenamePayload, buildStatPayload, nanosecondsToMilliseconds, nextReadChunkSize, parseCStringArray, parseKeyValueNullList, readAfcResponse, rsdHandshakeForRawService, sendAfcPacket, writeUInt64LE, } from './codec.js';
8
8
  import { AFC_FOPEN_TEXTUAL_MODES, AFC_WRITE_THIS_LENGTH } from './constants.js';
9
9
  import { AfcError, AfcFileMode, AfcOpcode } from './enums.js';
10
10
  import { createAfcReadStream, createAfcWriteStream } from './stream-utils.js';
11
- const log = logger.getLogger('AfcService');
11
+ const log = getLogger('AfcService');
12
12
  const NON_LISTABLE_ENTRIES = ['', '.', '..'];
13
13
  /**
14
14
  * AFC client over RSD (Remote XPC shim).
@@ -1 +1 @@
1
- {"version":3,"file":"base-service.d.ts","sourceRoot":"","sources":["../../../../src/services/ios/base-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAIhE;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7C;;;OAGG;gBACS,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAIrC;;;;;OAKG;IACU,2BAA2B,CACtC,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAChC,OAAO,CAAC,iBAAiB,CAAC;IAM7B;;;;;OAKG;IACU,oBAAoB,CAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAChC,OAAO,CAAC,iBAAiB,CAAC;CA0B9B;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"base-service.d.ts","sourceRoot":"","sources":["../../../../src/services/ios/base-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAIhE;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7C;;;OAGG;gBACS,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAIrC;;;;;OAKG;IACU,2BAA2B,CACtC,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAChC,OAAO,CAAC,iBAAiB,CAAC;IAM7B;;;;;OAKG;IACU,oBAAoB,CAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAChC,OAAO,CAAC,iBAAiB,CAAC;CA0B9B;AAED,eAAe,WAAW,CAAC"}
@@ -1,6 +1,6 @@
1
- import { logger } from '@appium/support';
1
+ import { getLogger } from '../../lib/logger.js';
2
2
  import { ServiceConnection } from '../../service-connection.js';
3
- const log = logger.getLogger('BaseService');
3
+ const log = getLogger('BaseService');
4
4
  /**
5
5
  * Base class for iOS services that provides common functionality
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/diagnostic-service/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,IAAI,2BAA2B,EACjD,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD;;;;;GAKG;AACH,cAAM,kBACJ,SAAQ,WACR,YAAW,2BAA2B;IAEtC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,oDACmB;gBAEvC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAIrC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC;IAazC;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC;IAa1C;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,eAAe,CAAC;IAavC;;;;OAIG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE;QACzB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,eAAe,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IA4CpD,OAAO,CAAC,gBAAgB;YAOV,0BAA0B;YAK1B,WAAW;IAoBzB,OAAO,CAAC,yBAAyB;YA0CnB,iCAAiC;CA6BhD;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/diagnostic-service/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,IAAI,2BAA2B,EACjD,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD;;;;;GAKG;AACH,cAAM,kBACJ,SAAQ,WACR,YAAW,2BAA2B;IAEtC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,oDACmB;gBAEvC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAIrC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC;IAazC;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC;IAa1C;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,eAAe,CAAC;IAavC;;;;OAIG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE;QACzB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,eAAe,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IA4CpD,OAAO,CAAC,gBAAgB;YAOV,0BAA0B;YAK1B,WAAW;IAoBzB,OAAO,CAAC,yBAAyB;YA0CnB,iCAAiC;CA6BhD;AAED,eAAe,kBAAkB,CAAC"}
@@ -1,7 +1,7 @@
1
- import { logger } from '@appium/support';
1
+ import { getLogger } from '../../../lib/logger.js';
2
2
  import { PlistServiceDecoder } from '../../../lib/plist/plist-decoder.js';
3
3
  import { BaseService } from '../base-service.js';
4
- const log = logger.getLogger('DiagnosticService');
4
+ const log = getLogger('DiagnosticService');
5
5
  /**
6
6
  * DiagnosticsService provides an API to:
7
7
  * - Query MobileGestalt & IORegistry keys
@@ -0,0 +1,17 @@
1
+ import { type MisagentService as MisagentServiceInterface } from '../../../lib/types.js';
2
+ import { ServiceConnection } from '../../../service-connection.js';
3
+ import { BaseService } from '../base-service.js';
4
+ import { ProvisioningProfile } from './provisioning-profile.js';
5
+ declare class MisagentService extends BaseService implements MisagentServiceInterface {
6
+ static readonly RSD_SERVICE_NAME = "com.apple.misagent.shim.remote";
7
+ private _conn;
8
+ connectToMisagentService(): Promise<ServiceConnection>;
9
+ installProfileFromPath(filePath: string): Promise<void>;
10
+ installProfile(payload: Buffer): Promise<void>;
11
+ removeProfile(uuid: string): Promise<void>;
12
+ fetchAll(): Promise<ProvisioningProfile[]>;
13
+ private sendRequest;
14
+ private getServiceConfig;
15
+ }
16
+ export { MisagentService };
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/misagent/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,eAAe,IAAI,wBAAwB,EAEjD,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,cAAM,eAAgB,SAAQ,WAAY,YAAW,wBAAwB;IAC3E,MAAM,CAAC,QAAQ,CAAC,gBAAgB,oCAAoC;IACpE,OAAO,CAAC,KAAK,CAAkC;IAEzC,wBAAwB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAUtD,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAevD,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW1C,QAAQ,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAkBlC,WAAW;IAqBzB,OAAO,CAAC,gBAAgB;CAMzB;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { fs } from '@appium/support';
2
+ import path from 'path';
3
+ import {} from '../../../lib/types.js';
4
+ import { ServiceConnection } from '../../../service-connection.js';
5
+ import { BaseService } from '../base-service.js';
6
+ import { ProvisioningProfile } from './provisioning-profile.js';
7
+ class MisagentService extends BaseService {
8
+ static RSD_SERVICE_NAME = 'com.apple.misagent.shim.remote';
9
+ _conn = null;
10
+ async connectToMisagentService() {
11
+ if (this._conn) {
12
+ return this._conn;
13
+ }
14
+ const service = this.getServiceConfig();
15
+ this._conn = await this.startLockdownService(service);
16
+ return this._conn;
17
+ }
18
+ async installProfileFromPath(filePath) {
19
+ // Check if file exists
20
+ if (!(await fs.exists(filePath))) {
21
+ throw new Error(`Profile filepath does not exist: ${filePath}`);
22
+ }
23
+ const fileExtension = path.extname(filePath).toLowerCase();
24
+ if (fileExtension !== '.mobileprovision') {
25
+ throw new Error(`Invalid file extension: ${fileExtension}. Only .mobileprovision files are supported.`);
26
+ }
27
+ const payload = await fs.readFile(filePath);
28
+ await this.installProfile(payload);
29
+ }
30
+ async installProfile(payload) {
31
+ await this.sendRequest({
32
+ MessageType: 'Install',
33
+ Profile: payload,
34
+ ProfileType: 'Provisioning',
35
+ }, 'Failed to install profile');
36
+ }
37
+ async removeProfile(uuid) {
38
+ await this.sendRequest({
39
+ MessageType: 'Remove',
40
+ ProfileID: uuid,
41
+ ProfileType: 'Provisioning',
42
+ }, 'Failed to remove profile');
43
+ }
44
+ async fetchAll() {
45
+ const response = await this.sendRequest({
46
+ MessageType: 'CopyAll',
47
+ ProfileType: 'Provisioning',
48
+ }, 'Failed to copy all profiles');
49
+ if (!response.Payload || !Array.isArray(response.Payload)) {
50
+ return [];
51
+ }
52
+ return response.Payload.filter((profileData) => Buffer.isBuffer(profileData)).map((profileData) => new ProvisioningProfile(profileData));
53
+ }
54
+ async sendRequest(request, errorMessage) {
55
+ const conn = await this.connectToMisagentService();
56
+ try {
57
+ // Skip StartService response
58
+ await conn.sendPlistRequest(request);
59
+ const res = await conn.sendPlistRequest(request);
60
+ if (res.Status) {
61
+ throw new Error(`Invalid response: ${JSON.stringify(res)}`);
62
+ }
63
+ return res;
64
+ }
65
+ catch (error) {
66
+ if (error instanceof Error) {
67
+ throw new Error(`${errorMessage}: ${error.message}`);
68
+ }
69
+ throw error;
70
+ }
71
+ }
72
+ getServiceConfig() {
73
+ return {
74
+ serviceName: MisagentService.RSD_SERVICE_NAME,
75
+ port: this.address[1].toString(),
76
+ };
77
+ }
78
+ }
79
+ export { MisagentService };
@@ -0,0 +1,10 @@
1
+ import { type PlistDictionary } from '../../../lib/types.js';
2
+ declare class ProvisioningProfile {
3
+ buf: Buffer;
4
+ plist: PlistDictionary;
5
+ constructor(buf: Buffer);
6
+ toString(): string;
7
+ toJSON(): PlistDictionary;
8
+ }
9
+ export { ProvisioningProfile };
10
+ //# sourceMappingURL=provisioning-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provisioning-profile.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/misagent/provisioning-profile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,cAAM,mBAAmB;IACvB,GAAG,EAAE,MAAM,CAAC;IACL,KAAK,EAAE,eAAe,CAAC;gBAElB,GAAG,EAAE,MAAM;IA0BvB,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,eAAe;CAI1B;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { parsePlist } from '../../../lib/plist/index.js';
2
+ import {} from '../../../lib/types.js';
3
+ class ProvisioningProfile {
4
+ buf;
5
+ plist;
6
+ constructor(buf) {
7
+ this.buf = buf;
8
+ // Find '<?xml' marker and extract everything after it
9
+ const xmlMarker = Buffer.from('<?xml');
10
+ const xmlIndex = buf.indexOf(xmlMarker);
11
+ if (xmlIndex === -1) {
12
+ throw new Error('No XML content found in provisioning profile');
13
+ }
14
+ // Get XML content starting from '<?xml'
15
+ let xml = buf.subarray(buf.indexOf(xmlMarker));
16
+ // Find '</plist>' and extract up to and including it
17
+ const plistEnd = Buffer.from('</plist>');
18
+ const plistIndex = xml.indexOf(plistEnd);
19
+ if (plistIndex === -1) {
20
+ throw new Error('No closing </plist> tag found');
21
+ }
22
+ xml = xml.subarray(0, plistIndex + plistEnd.length);
23
+ this.plist = parsePlist(xml);
24
+ }
25
+ toString() {
26
+ return JSON.stringify(this.plist);
27
+ }
28
+ toJSON() {
29
+ // Only display the plist content
30
+ return this.plist;
31
+ }
32
+ }
33
+ export { ProvisioningProfile };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/mobile-config/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,mBAAmB,IAAI,4BAA4B,EACxD,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKjD;;;;;GAKG;AACH,cAAM,mBACJ,SAAQ,WACR,YAAW,4BAA4B;IAEvC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,4CAA4C;IAC5E,OAAO,CAAC,KAAK,CAAkC;gBAEnC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAGrC;;;OAGG;IACG,4BAA4B,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAUhE;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC;IAQhD;;;;;OAKG;IACG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB7D;;;;OAIG;IACG,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9D;;;OAGG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA0CxC,oBAAoB;IAuBlC,OAAO,CAAC,gBAAgB;CASzB;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/mobile-config/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,mBAAmB,IAAI,4BAA4B,EACxD,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKjD;;;;;GAKG;AACH,cAAM,mBACJ,SAAQ,WACR,YAAW,4BAA4B;IAEvC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,4CAA4C;IAC5E,OAAO,CAAC,KAAK,CAAkC;gBAEnC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAGrC;;;OAGG;IACG,4BAA4B,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAUhE;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC;IAQhD;;;;;OAKG;IACG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB7D;;;;OAIG;IACG,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9D;;;OAGG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA0CxC,oBAAoB;IAuBlC,OAAO,CAAC,gBAAgB;CASzB;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1,12 +1,13 @@
1
- import { fs, logger } from '@appium/support';
1
+ import { fs } from '@appium/support';
2
2
  import path from 'node:path';
3
+ import { getLogger } from '../../../lib/logger.js';
3
4
  import { SUPPORTED_EXTENSIONS } from '../../../lib/plist/constants.js';
4
5
  import { createPlist, parsePlist } from '../../../lib/plist/index.js';
5
6
  import {} from '../../../lib/types.js';
6
7
  import { ServiceConnection } from '../../../service-connection.js';
7
8
  import { BaseService } from '../base-service.js';
8
9
  const ERROR_CLOUD_CONFIGURATION_ALREADY_PRESENT = 14002;
9
- const log = logger.getLogger('MobileConfigService');
10
+ const log = getLogger('MobileConfigService');
10
11
  /**
11
12
  * MobileConfigService provides an API to:
12
13
  * - Install configuration profiles
@@ -1,13 +1,13 @@
1
- import { logger } from '@appium/support';
2
1
  import { createHash } from 'crypto';
3
2
  import { Stats, promises as fs } from 'fs';
4
3
  import { performance } from 'perf_hooks';
5
4
  import { Readable } from 'stream';
5
+ import { getLogger } from '../../../lib/logger.js';
6
6
  import { parseXmlPlist } from '../../../lib/plist/index.js';
7
7
  import { getManifestFromTSS } from '../../../lib/tss/index.js';
8
8
  import { ServiceConnection } from '../../../service-connection.js';
9
9
  import { BaseService } from '../base-service.js';
10
- const log = logger.getLogger('MobileImageMounterService');
10
+ const log = getLogger('MobileImageMounterService');
11
11
  /**
12
12
  * MobileImageMounterService provides an API to:
13
13
  * - Mount Developer Disk Images on iOS devices
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/notification-proxy/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,IAAI,iCAAiC,EAC7D,eAAe,EACf,YAAY,EACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,MAAM,WAAW,0BAA2B,SAAQ,eAAe;IACjE,OAAO,EAAE,qBAAqB,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,OAAO,EAAE,kBAAkB,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,cAAM,wBACJ,SAAQ,WACR,YAAW,iCAAiC;IAE5C,MAAM,CAAC,QAAQ,CAAC,gBAAgB,qDACoB;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,mCAAmC,CAA0B;gBAEzD,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAE,MAAc;IAK9D;;;;OAIG;IACG,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAU7D;;;;OAIG;IACG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAe1D;;;;OAIG;IACI,mBAAmB,CACxB,OAAO,GAAE,MAAe,GACvB,cAAc,CAAC,YAAY,CAAC;IAqB/B;;;;OAIG;IACG,kBAAkB,CAAC,OAAO,GAAE,MAAe,GAAG,OAAO,CAAC,YAAY,CAAC;IASzE;;;OAGG;IACG,iCAAiC,IAAI,OAAO,CAAC,iBAAiB,CAAC;IASrE,OAAO,CAAC,gCAAgC;IASxC,OAAO,CAAC,6BAA6B;IASrC,OAAO,CAAC,gBAAgB;YAWV,mBAAmB;CAelC;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/notification-proxy/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,wBAAwB,IAAI,iCAAiC,EAC7D,eAAe,EACf,YAAY,EACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,MAAM,WAAW,0BAA2B,SAAQ,eAAe;IACjE,OAAO,EAAE,qBAAqB,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,OAAO,EAAE,kBAAkB,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,cAAM,wBACJ,SAAQ,WACR,YAAW,iCAAiC;IAE5C,MAAM,CAAC,QAAQ,CAAC,gBAAgB,qDACoB;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,mCAAmC,CAA0B;gBAEzD,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAE,MAAc;IAK9D;;;;OAIG;IACG,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAU7D;;;;OAIG;IACG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAe1D;;;;OAIG;IACI,mBAAmB,CACxB,OAAO,GAAE,MAAe,GACvB,cAAc,CAAC,YAAY,CAAC;IAqB/B;;;;OAIG;IACG,kBAAkB,CAAC,OAAO,GAAE,MAAe,GAAG,OAAO,CAAC,YAAY,CAAC;IASzE;;;OAGG;IACG,iCAAiC,IAAI,OAAO,CAAC,iBAAiB,CAAC;IASrE,OAAO,CAAC,gCAAgC;IASxC,OAAO,CAAC,6BAA6B;IASrC,OAAO,CAAC,gBAAgB;YAWV,mBAAmB;CAelC;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
- import { logger } from '@appium/support';
1
+ import { getLogger } from '../../../lib/logger.js';
2
2
  import { ServiceConnection } from '../../../service-connection.js';
3
3
  import { BaseService } from '../base-service.js';
4
- const log = logger.getLogger('NotificationProxyService');
4
+ const log = getLogger('NotificationProxyService');
5
5
  /**
6
6
  * NotificationProxyService provides an API to:
7
7
  * - Observe notifications
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/power-assertion/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,qBAAqB,IAAI,8BAA8B,EACxD,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,aAAa,sCAAsC;IACnD,8BAA8B,+BAA+B;IAC7D,oBAAoB,uBAAuB;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,cAAM,qBACJ,SAAQ,WACR,YAAW,8BAA8B;IAEzC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,kDACiB;IAEjD,OAAO,CAAC,KAAK,CAAkC;IAE/C;;;;OAIG;IACG,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzE;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAQd,8BAA8B;IAW5C,OAAO,CAAC,2BAA2B;CAgBpC;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/power-assertion/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,qBAAqB,IAAI,8BAA8B,EACxD,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,aAAa,sCAAsC;IACnD,8BAA8B,+BAA+B;IAC7D,oBAAoB,uBAAuB;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,cAAM,qBACJ,SAAQ,WACR,YAAW,8BAA8B;IAEzC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,kDACiB;IAEjD,OAAO,CAAC,KAAK,CAAkC;IAE/C;;;;OAIG;IACG,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzE;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAQd,8BAA8B;IAW5C,OAAO,CAAC,2BAA2B;CAgBpC;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
- import { logger } from '@appium/support';
1
+ import { getLogger } from '../../../lib/logger.js';
2
2
  import { ServiceConnection } from '../../../service-connection.js';
3
3
  import { BaseService } from '../base-service.js';
4
- const log = logger.getLogger('PowerAssertionService');
4
+ const log = getLogger('PowerAssertionService');
5
5
  /**
6
6
  * Power assertion types that can be used to prevent system sleep
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/syslog-service/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,aAAa,IAAI,sBAAsB,EACxC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAqB/D;;;GAGG;AACH,cAAM,aAAc,SAAQ,YAAa,YAAW,sBAAsB;IACxE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,mBAAmB,CAA8B;IACzD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,oBAAoB,CAAS;IAErC;;;OAGG;gBACS,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAKrC;;;;;;OAMG;IACG,KAAK,CACT,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,GAAG,aAAa,CAAC,UAAU,CAAC,EACtD,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAgChB;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B;;;;OAIG;IACG,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAY9C,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,cAAc;YASR,mBAAmB;IAejC,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,WAAW;IAOnB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAqCpB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IASxB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CA2B1B;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/syslog-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAKtC,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,aAAa,IAAI,sBAAsB,EACxC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAqB/D;;;GAGG;AACH,cAAM,aAAc,SAAQ,YAAa,YAAW,sBAAsB;IACxE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,mBAAmB,CAA8B;IACzD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,oBAAoB,CAAS;IAErC;;;OAGG;gBACS,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAKrC;;;;;;OAMG;IACG,KAAK,CACT,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,GAAG,aAAa,CAAC,UAAU,CAAC,EACtD,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAgChB;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B;;;;OAIG;IACG,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAY9C,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,cAAc;YASR,mBAAmB;IAejC,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,WAAW;IAOnB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAqCpB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IASxB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CA2B1B;AAED,eAAe,aAAa,CAAC"}
@@ -1,11 +1,11 @@
1
- import { logger } from '@appium/support';
2
1
  import { EventEmitter } from 'events';
2
+ import { getLogger } from '../../../lib/logger.js';
3
3
  import { isBinaryPlist } from '../../../lib/plist/binary-plist-parser.js';
4
4
  import { parsePlist } from '../../../lib/plist/unified-plist-parser.js';
5
5
  import { ServiceConnection } from '../../../service-connection.js';
6
6
  import { BaseService } from '../base-service.js';
7
- const syslogLog = logger.getLogger('SyslogMessages');
8
- const log = logger.getLogger('Syslog');
7
+ const syslogLog = getLogger('SyslogMessages');
8
+ const log = getLogger('Syslog');
9
9
  const MIN_PRINTABLE_RATIO = 0.5;
10
10
  const ASCII_PRINTABLE_MIN = 32;
11
11
  const ASCII_PRINTABLE_MAX = 126;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/tunnel-service/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EACL,eAAe,EAEhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAMnE;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,cAAc,EAAE,eAAe,EAC/B,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,OAAO,CAAC,OAAO,KAAK,EAAE,iBAAiB,CAAM,GACxD,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,YAAY,EAAE,YAAY,CAAA;CAAE,CAAC,CA4D5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/tunnel-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EACL,eAAe,EAEhB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAMnE;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,cAAc,EAAE,eAAe,EAC/B,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,OAAO,CAAC,OAAO,KAAK,EAAE,iBAAiB,CAAM,GACxD,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,YAAY,EAAE,YAAY,CAAA;CAAE,CAAC,CA4D5D"}
@@ -1,9 +1,9 @@
1
- import { logger } from '@appium/support';
2
1
  import { TLSSocket } from 'tls';
3
2
  import { LockdownService, upgradeSocketToTLS, } from '../../../lib/lockdown/index.js';
3
+ import { getLogger } from '../../../lib/logger.js';
4
4
  import { PlistService } from '../../../lib/plist/plist-service.js';
5
5
  import { createUsbmux } from '../../../lib/usbmux/index.js';
6
- const log = logger.getLogger('TunnelService');
6
+ const log = getLogger('TunnelService');
7
7
  const LABEL = 'appium-internal';
8
8
  /**
9
9
  * Starts a CoreDeviceProxy session over an existing TLS-upgraded lockdown connection.
@@ -1,9 +1,9 @@
1
- import { logger } from '@appium/support';
2
1
  import { randomUUID } from 'crypto';
3
2
  import { EventEmitter } from 'events';
3
+ import { getLogger } from '../../../lib/logger.js';
4
4
  import { ServiceConnection } from '../../../service-connection.js';
5
5
  import { BaseService } from '../base-service.js';
6
- const log = logger.getLogger('WebInspectorService');
6
+ const log = getLogger('WebInspectorService');
7
7
  /**
8
8
  * WebInspectorService provides an API to:
9
9
  * - Send messages to webinspectord
@@ -1,11 +1,12 @@
1
1
  import { RemoteXpcConnection } from './lib/remote-xpc/remote-xpc-connection.js';
2
- import type { DiagnosticsServiceWithConnection, MobileConfigServiceWithConnection, MobileImageMounterServiceWithConnection, NotificationProxyServiceWithConnection, PowerAssertionServiceWithConnection, SpringboardServiceWithConnection, SyslogService as SyslogServiceType, WebInspectorServiceWithConnection } from './lib/types.js';
2
+ import type { DiagnosticsServiceWithConnection, MisagentServiceWithConnection, MobileConfigServiceWithConnection, MobileImageMounterServiceWithConnection, NotificationProxyServiceWithConnection, PowerAssertionServiceWithConnection, SpringboardServiceWithConnection, SyslogService as SyslogServiceType, WebInspectorServiceWithConnection } from './lib/types.js';
3
3
  import AfcService from './services/ios/afc/index.js';
4
4
  export declare function startDiagnosticsService(udid: string): Promise<DiagnosticsServiceWithConnection>;
5
5
  export declare function startNotificationProxyService(udid: string): Promise<NotificationProxyServiceWithConnection>;
6
6
  export declare function startMobileConfigService(udid: string): Promise<MobileConfigServiceWithConnection>;
7
7
  export declare function startMobileImageMounterService(udid: string): Promise<MobileImageMounterServiceWithConnection>;
8
8
  export declare function startSpringboardService(udid: string): Promise<SpringboardServiceWithConnection>;
9
+ export declare function startMisagentService(udid: string): Promise<MisagentServiceWithConnection>;
9
10
  export declare function startPowerAssertionService(udid: string): Promise<PowerAssertionServiceWithConnection>;
10
11
  export declare function startSyslogService(udid: string): Promise<SyslogServiceType>;
11
12
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAGhF,OAAO,KAAK,EACV,gCAAgC,EAChC,iCAAiC,EACjC,uCAAuC,EACvC,sCAAsC,EACtC,mCAAmC,EACnC,gCAAgC,EAChC,aAAa,IAAI,iBAAiB,EAClC,iCAAiC,EAClC,MAAM,gBAAgB,CAAC;AACxB,OAAO,UAAU,MAAM,6BAA6B,CAAC;AAarD,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,gCAAgC,CAAC,CAY3C;AAED,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,sCAAsC,CAAC,CAYjD;AAED,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,iCAAiC,CAAC,CAY5C;AAED,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,uCAAuC,CAAC,CAYlD;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,gCAAgC,CAAC,CAY3C;AAED,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,mCAAmC,CAAC,CAY9C;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,iBAAiB,CAAC,CAG5B;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAOvE;AAED,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,iCAAiC,CAAC,CAY5C;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM;;;;;;;;GAO3D"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAGhF,OAAO,KAAK,EACV,gCAAgC,EAChC,6BAA6B,EAC7B,iCAAiC,EACjC,uCAAuC,EACvC,sCAAsC,EACtC,mCAAmC,EACnC,gCAAgC,EAChC,aAAa,IAAI,iBAAiB,EAClC,iCAAiC,EAClC,MAAM,gBAAgB,CAAC;AACxB,OAAO,UAAU,MAAM,6BAA6B,CAAC;AAcrD,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,gCAAgC,CAAC,CAY3C;AAED,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,sCAAsC,CAAC,CAYjD;AAED,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,iCAAiC,CAAC,CAY5C;AAED,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,uCAAuC,CAAC,CAYlD;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,gCAAgC,CAAC,CAY3C;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,6BAA6B,CAAC,CAYxC;AAED,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,mCAAmC,CAAC,CAY9C;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,iBAAiB,CAAC,CAG5B;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAOvE;AAED,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,iCAAiC,CAAC,CAY5C;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM;;;;;;;;GAO3D"}
@@ -4,6 +4,7 @@ import { TunnelManager } from './lib/tunnel/index.js';
4
4
  import { TunnelApiClient } from './lib/tunnel/tunnel-api-client.js';
5
5
  import AfcService from './services/ios/afc/index.js';
6
6
  import DiagnosticsService from './services/ios/diagnostic-service/index.js';
7
+ import { MisagentService } from './services/ios/misagent/index.js';
7
8
  import { MobileConfigService } from './services/ios/mobile-config/index.js';
8
9
  import MobileImageMounterService from './services/ios/mobile-image-mounter/index.js';
9
10
  import { NotificationProxyService } from './services/ios/notification-proxy/index.js';
@@ -68,6 +69,17 @@ export async function startSpringboardService(udid) {
68
69
  ]),
69
70
  };
70
71
  }
72
+ export async function startMisagentService(udid) {
73
+ const { remoteXPC, tunnelConnection } = await createRemoteXPCConnection(udid);
74
+ const misagentService = remoteXPC.findService(MisagentService.RSD_SERVICE_NAME);
75
+ return {
76
+ remoteXPC: remoteXPC,
77
+ misagentService: new MisagentService([
78
+ tunnelConnection.host,
79
+ parseInt(misagentService.port, 10),
80
+ ]),
81
+ };
82
+ }
71
83
  export async function startPowerAssertionService(udid) {
72
84
  const { remoteXPC, tunnelConnection } = await createRemoteXPCConnection(udid);
73
85
  const powerAssertionService = remoteXPC.findService(PowerAssertionService.RSD_SERVICE_NAME);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-ios-remotexpc",
3
- "version": "0.10.2",
3
+ "version": "0.12.0",
4
4
  "main": "build/src/index.js",
5
5
  "types": "build/src/index.d.ts",
6
6
  "type": "module",
@@ -33,6 +33,7 @@
33
33
  "test:mobile-config": "mocha test/integration/mobile-config-test.ts --exit --timeout 1m",
34
34
  "test:springboard": "mocha test/integration/springboard-service-test.ts --exit --timeout 1m",
35
35
  "test:webinspector": "mocha test/integration/webinspector-test.ts --exit --timeout 1m",
36
+ "test:misagent": "mocha test/integration/misagent-service-test.ts --exit --timeout 1m",
36
37
  "test:afc": "mocha test/integration/afc-test.ts --exit --timeout 1m",
37
38
  "test:power-assertion": "mocha test/integration/power-assertion-test.ts --exit --timeout 1m",
38
39
  "test:unit": "mocha 'test/unit/**/*.ts' --exit --timeout 2m",
package/src/index.ts CHANGED
@@ -21,6 +21,7 @@ export type {
21
21
  PowerAssertionOptions,
22
22
  SpringboardService,
23
23
  WebInspectorService,
24
+ MisagentService,
24
25
  SyslogService,
25
26
  SocketInfo,
26
27
  TunnelResult,
@@ -33,6 +34,7 @@ export type {
33
34
  PowerAssertionServiceWithConnection,
34
35
  SpringboardServiceWithConnection,
35
36
  WebInspectorServiceWithConnection,
37
+ MisagentServiceWithConnection,
36
38
  } from './lib/types.js';
37
39
  export { PowerAssertionType } from './lib/types.js';
38
40
  export {
@@ -1,9 +1,9 @@
1
- import { logger } from '@appium/support';
2
1
  import { createCipheriv, createDecipheriv } from 'node:crypto';
3
2
 
3
+ import { getLogger } from '../../logger.js';
4
4
  import { CryptographyError } from '../errors.js';
5
5
 
6
- const log = logger.getLogger('ChaCha20Poly1305');
6
+ const log = getLogger('ChaCha20Poly1305');
7
7
 
8
8
  export interface ChaCha20Poly1305Params {
9
9
  plaintext?: Buffer;
@@ -1,14 +1,14 @@
1
- import { logger } from '@appium/support';
2
1
  import {
3
2
  type KeyPairKeyObjectResult,
4
3
  generateKeyPairSync,
5
4
  sign,
6
5
  } from 'node:crypto';
7
6
 
7
+ import { getLogger } from '../../logger.js';
8
8
  import { CryptographyError } from '../errors.js';
9
9
  import type { PairingKeys } from '../types.js';
10
10
 
11
- const log = logger.getLogger('Ed25519');
11
+ const log = getLogger('Ed25519');
12
12
 
13
13
  const ED25519_PUBLIC_KEY_LENGTH = 32;
14
14
  const ED25519_PRIVATE_KEY_LENGTH = 32;
@@ -1,10 +1,10 @@
1
- import { logger } from '@appium/support';
2
1
  import { createHmac } from 'node:crypto';
3
2
 
3
+ import { getLogger } from '../../logger.js';
4
4
  import { HKDF_HASH_ALGORITHM, HKDF_HASH_LENGTH } from '../constants.js';
5
5
  import { CryptographyError } from '../errors.js';
6
6
 
7
- const log = logger.getLogger('HKDF');
7
+ const log = getLogger('HKDF');
8
8
 
9
9
  export interface HKDFParams {
10
10
  ikm: Buffer;
@@ -1,6 +1,6 @@
1
- import { logger } from '@appium/support';
2
1
  import { randomBytes } from 'node:crypto';
3
2
 
3
+ import { getLogger } from '../../logger.js';
4
4
  import {
5
5
  SRP_GENERATOR,
6
6
  SRP_KEY_LENGTH_BYTES,
@@ -22,7 +22,7 @@ import {
22
22
  hash,
23
23
  } from './crypto-utils.js';
24
24
 
25
- const log = logger.getLogger('SRPClient');
25
+ const log = getLogger('SRPClient');
26
26
 
27
27
  /**
28
28
  * SRP (Secure Remote Password) client implementation following RFC 5054.
@@ -1,10 +1,10 @@
1
- import { logger } from '@appium/support';
2
1
  import { type ChildProcess, spawn } from 'node:child_process';
3
2
  import { lookup } from 'node:dns/promises';
4
3
  import { EventEmitter } from 'node:events';
5
4
  import { clearTimeout, setTimeout } from 'node:timers';
6
5
  import { setTimeout as delay } from 'node:timers/promises';
7
6
 
7
+ import { getLogger } from '../logger.js';
8
8
  import {
9
9
  BONJOUR_DEFAULT_DOMAIN,
10
10
  BONJOUR_SERVICE_TYPES,
@@ -14,7 +14,7 @@ import {
14
14
  DNS_SD_PATTERNS,
15
15
  } from './constants.js';
16
16
 
17
- const log = logger.getLogger('BonjourDiscovery');
17
+ const log = getLogger('BonjourDiscovery');
18
18
 
19
19
  const DNS_SD_COMMAND = 'dns-sd';
20
20
 
@@ -1,14 +1,14 @@
1
- import { logger } from '@appium/support';
2
1
  import { Socket } from 'node:net';
3
2
  import tls, { type ConnectionOptions, TLSSocket } from 'tls';
4
3
 
5
4
  import { BasePlistService } from '../../base-plist-service.js';
5
+ import { getLogger } from '../logger.js';
6
6
  import { type PairRecord } from '../pair-record/index.js';
7
7
  import { PlistService } from '../plist/plist-service.js';
8
8
  import type { PlistMessage, PlistValue } from '../types.js';
9
9
  import { RelayService, createUsbmux } from '../usbmux/index.js';
10
10
 
11
- const log = logger.getLogger('Lockdown');
11
+ const log = getLogger('Lockdown');
12
12
 
13
13
  // Constants
14
14
  const LABEL = 'appium-internal';
@@ -86,7 +86,7 @@ class DeviceNotFoundError extends Error {
86
86
 
87
87
  // TLS Manager for handling TLS operations
88
88
  class TLSManager {
89
- private readonly log = logger.getLogger('TLSManager');
89
+ private readonly log = getLogger('TLSManager');
90
90
 
91
91
  /**
92
92
  * Upgrades a socket to TLS
@@ -127,7 +127,7 @@ class TLSManager {
127
127
 
128
128
  // Device Manager for handling device operations
129
129
  class DeviceManager {
130
- private readonly log = logger.getLogger('DeviceManager');
130
+ private readonly log = getLogger('DeviceManager');
131
131
 
132
132
  /**
133
133
  * Lists all connected devices
@@ -0,0 +1,9 @@
1
+ import { logger } from '@appium/support';
2
+
3
+ const LOG_LEVEL = (process.env.APPIUM_IOS_REMOTEXPC_LOG_LEVEL || 'info') as any;
4
+
5
+ export function getLogger(name: string) {
6
+ const log = logger.getLogger(name);
7
+ log.level = LOG_LEVEL;
8
+ return log;
9
+ }
@@ -1,8 +1,9 @@
1
- import { logger } from '@appium/support';
2
1
  import fs from 'fs';
3
2
  import path from 'path';
4
3
 
5
- const log = logger.getLogger('PairRecord');
4
+ import { getLogger } from '../logger.js';
5
+
6
+ const log = getLogger('PairRecord');
6
7
 
7
8
  /**
8
9
  * Interface defining the structure of a pair record.
@@ -4,8 +4,7 @@
4
4
  * This module provides functionality to parse binary property lists (bplists)
5
5
  * commonly used in Apple's iOS and macOS systems.
6
6
  */
7
- import { logger } from '@appium/support';
8
-
7
+ import { getLogger } from '../logger.js';
9
8
  import type { PlistArray, PlistDictionary, PlistValue } from '../types.js';
10
9
  import {
11
10
  APPLE_EPOCH_OFFSET,
@@ -14,7 +13,7 @@ import {
14
13
  BPLIST_TYPE,
15
14
  } from './constants.js';
16
15
 
17
- const log = logger.getLogger('Plist');
16
+ const log = getLogger('Plist');
18
17
 
19
18
  /**
20
19
  * Represents a temporary object during binary plist parsing
@@ -1,6 +1,6 @@
1
- import { logger } from '@appium/support';
2
1
  import { Transform, type TransformCallback } from 'stream';
3
2
 
3
+ import { getLogger } from '../logger.js';
4
4
  import {
5
5
  BINARY_PLIST_HEADER_LENGTH,
6
6
  BINARY_PLIST_MAGIC,
@@ -16,7 +16,7 @@ import {
16
16
  } from './constants.js';
17
17
  import { isXmlPlistContent } from './utils.js';
18
18
 
19
- const log = logger.getLogger('Plist');
19
+ const log = getLogger('Plist');
20
20
 
21
21
  // Constants
22
22
  const DEFAULT_MAX_FRAME_LENGTH = 100 * 1024 * 1024; // 100MB default for large IORegistry responses